PageSourceSearch

https://siticard.ru/local/templates/citicard/libs/jQuery/jquery-3.3.1.js

js siticard.ru collected 2026-09-25 04:59:36 UTC 146,411 bytes, 3,244 lines download raw bytes

vendor: 146,411 bytes, lines 1-3244
1/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */ ! function (e, t) {
2    "use strict";
3    "object" == typeof module && "object" == typeof module.exports ? module.exports = e.document ? t(e, !0) : function (e) {
4        if (!e.document) throw new Error("jQuery requires a window with a document");
5        return t(e)
6    } : t(e)
7}("undefined" != typeof window ? window : this, function (e, t) {
8    "use strict";
9    var n = [],
10        r = e.document,
11        i = Object.getPrototypeOf,
12        o = n.slice,
13        a = n.concat,
14        s = n.push,
15        u = n.indexOf,
16        l = {},
17        c = l.toString,
18        f = l.hasOwnProperty,
19        p = f.toString,
20        d = p.call(Object),
21        h = {},
22        g = function e(t) {
23            return "function" == typeof t && "number" != typeof t.nodeType
24        },
25        y = function e(t) {
26            return null != t && t === t.window
27        },
28        v = {
29            type: !0,
30            src: !0,
31            noModule: !0
32        };
33
34    function m(e, t, n) {
35        var i, o = (t = t || r).createElement("script");
36        if (o.text = e, n)
37            for (i in v) n[i] && (o[i] = n[i]);
38        t.head.appendChild(o).parentNode.removeChild(o)
39    }
40
41    function x(e) {
42        return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? l[c.call(e)] || "object" : typeof e
43    }
44    var b = "3.3.1",
45        w = function (e, t) {
46            return new w.fn.init(e, t)
47        },
48        T = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
49    w.fn = w.prototype = {
50        jquery: "3.3.1",
51        constructor: w,
52        length: 0,
53        toArray: function () {
54            return o.call(this)
55        },
56        get: function (e) {
57            return null == e ? o.call(this) : e < 0 ? this[e + this.length] : this[e]
58        },
59        pushStack: function (e) {
60            var t = w.merge(this.constructor(), e);
61            return t.prevObject = this, t
62        },
63        each: function (e) {
64            return w.each(this, e)
65        },
66        map: function (e) {
67            return this.pushStack(w.map(this, function (t, n) {
68                return e.call(t, n, t)
69            }))
70        },
71        slice: function () {
72            return this.pushStack(o.apply(this, arguments))
73        },
74        first: function () {
75            return this.eq(0)
76        },
77        last: function () {
78            return this.eq(-1)
79        },
80        eq: function (e) {
81            var t = this.length,
82                n = +e + (e < 0 ? t : 0);
83            return this.pushStack(n >= 0 && n < t ? [this[n]] : [])
84        },
85        end: function () {
86            return this.prevObject || this.constructor()
87        },
88        push: s,
89        sort: n.sort,
90        splice: n.splice
91    }, w.extend = w.fn.extend = function () {
92        var e, t, n, r, i, o, a = arguments[0] || {},
93            s = 1,
94            u = arguments.length,
95            l = !1;
96        for ("boolean" == typeof a && (l = a, a = arguments[s] || {}, s++), "object" == typeof a || g(a) || (a = {}), s === u && (a = this, s--); s < u; s++)
97            if (null != (e = arguments[s]))
98                for (t in e) n = a[t], a !== (r = e[t]) && (l && r && (w.isPlainObject(r) || (i = Array.isArray(r))) ? (i ? (i = !1, o = n && Array.isArray(n) ? n : []) : o = n && w.isPlainObject(n) ? n : {}, a[t] = w.extend(l, o, r)) : void 0 !== r && (a[t] = r));
99        return a
100    }, w.extend({
101        expando: "jQuery" + ("3.3.1" + Math.random()).replace(/\D/g, ""),
102        isReady: !0,
103        error: function (e) {
104            throw new Error(e)
105        },
106        noop: function () {},
107        isPlainObject: function (e) {
108            var t, n;
109            return !(!e || "[object Object]" !== c.call(e)) && (!(t = i(e)) || "function" == typeof (n = f.call(t, "constructor") && t.constructor) && p.call(n) === d)
110        },
111        isEmptyObject: function (e) {
112            var t;
113            for (t in e) return !1;
114            return !0
115        },
116        globalEval: function (e) {
117            m(e)
118        },
119        each: function (e, t) {
120            var n, r = 0;
121            if (C(e)) {
122                for (n = e.length; r < n; r++)
123                    if (!1 === t.call(e[r], r, e[r])) break
124            } else
125                for (r in e)
126                    if (!1 === t.call(e[r], r, e[r])) break;
127            return e
128        },
129        trim: function (e) {
130            return null == e ? "" : (e + "").replace(T, "")
131        },
132        makeArray: function (e, t) {
133            var n = t || [];
134            return null != e && (C(Object(e)) ? w.merge(n, "string" == typeof e ? [e] : e) : s.call(n, e)), n
135        },
136        inArray: function (e, t, n) {
137            return null == t ? -1 : u.call(t, e, n)
138        },
139        merge: function (e, t) {
140            for (var n = +t.length, r = 0, i = e.length; r < n; r++) e[i++] = t[r];
141            return e.length = i, e
142        },
143        grep: function (e, t, n) {
144            for (var r, i = [], o = 0, a = e.length, s = !n; o < a; o++)(r = !t(e[o], o)) !== s && i.push(e[o]);
145            return i
146        },
147        map: function (e, t, n) {
148            var r, i, o = 0,
149                s = [];
150            if (C(e))
151                for (r = e.length; o < r; o++) null != (i = t(e[o], o, n)) && s.push(i);
152            else
153                for (o in e) null != (i = t(e[o], o, n)) && s.push(i);
154            return a.apply([], s)
155        },
156        guid: 1,
157        support: h
158    }), "function" == typeof Symbol && (w.fn[Symbol.iterator] = n[Symbol.iterator]), w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (e, t) {
159        l["[object " + t + "]"] = t.toLowerCase()
160    });
161
162    function C(e) {
163        var t = !!e && "length" in e && e.length,
164            n = x(e);
165        return !g(e) && !y(e) && ("array" === n || 0 === t || "number" == typeof t && t > 0 && t - 1 in e)
166    }
167    var E = function (e) {
168        var t, n, r, i, o, a, s, u, l, c, f, p, d, h, g, y, v, m, x, b = "sizzle" + 1 * new Date,
169            w = e.document,
170            T = 0,
171            C = 0,
172            E = ae(),
173            k = ae(),
174            S = ae(),
175            D = function (e, t) {
176                return e === t && (f = !0), 0
177            },
178            N = {}.hasOwnProperty,
179            A = [],
180            j = A.pop,
181            q = A.push,
182            L = A.push,
183            H = A.slice,
184            O = function (e, t) {
185                for (var n = 0, r = e.length; n < r; n++)
186                    if (e[n] === t) return n;
187                return -1
188            },
189            P = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
190            M = "[\\x20\\t\\r\\n\\f]",
191            R = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
192            I = "\\[" + M + "*(" + R + ")(?:" + M + "*([*^$|!~]?=)" + M + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + R + "))|)" + M + "*\\]",
193            W = ":(" + R + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + I + ")*)|.*)\\)|)",
194            $ = new RegExp(M + "+", "g"),
195            B = new RegExp("^" + M + "+|((?:^|[^\\\\])(?:\\\\.)*)" + M + "+$", "g"),
196            F = new RegExp("^" + M + "*," + M + "*"),
197            _ = new RegExp("^" + M + "*([>+~]|" + M + ")" + M + "*"),
198            z = new RegExp("=" + M + "*([^\\]'\"]*?)" + M + "*\\]", "g"),
199            X = new RegExp(W),
200            U = new RegExp("^" + R + "$"),
201            V = {
202                ID: new RegExp("^#(" + R + ")"),
203                CLASS: new RegExp("^\\.(" + R + ")"),
204                TAG: new RegExp("^(" + R + "|[*])"),
205                ATTR: new RegExp("^" + I),
206                PSEUDO: new RegExp("^" + W),
207                CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + M + "*(even|odd|(([+-]|)(\\d*)n|)" + M + "*(?:([+-]|)" + M + "*(\\d+)|))" + M + "*\\)|)", "i"),
208                bool: new RegExp("^(?:" + P + ")$", "i"),
209                needsContext: new RegExp("^" + M + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + M + "*((?:-\\d)?\\d*)" + M + "*\\)|)(?=[^-]|$)", "i")
210            },
211            G = /^(?:input|select|textarea|button)$/i,
212            Y = /^h\d$/i,
213            Q = /^[^{]+\{\s*\[native \w/,
214            J = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
215            K = /[+~]/,
216            Z = new RegExp("\\\\([\\da-f]{1,6}" + M + "?|(" + M + ")|.)", "ig"),
217            ee = function (e, t, n) {
218                var r = "0x" + t - 65536;
219                return r !== r || n ? t : r < 0 ? String.fromCharCode(r + 65536) : String.fromCharCode(r >> 10 | 55296, 1023 & r | 56320)
220            },
221            te = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
222            ne = function (e, t) {
223                return t ? "\0" === e ? "\ufffd" : e.slice(0, -1) + "\\" + e.charCodeAt(e.length - 1).toString(16) + " " : "\\" + e
224            },
225            re = function () {
226                p()
227            },
228            ie = me(function (e) {
229                return !0 === e.disabled && ("form" in e || "label" in e)
230            }, {
231                dir: "parentNode",
232                next: "legend"
233            });
234        try {
235            L.apply(A = H.call(w.childNodes), w.childNodes), A[w.childNodes.length].nodeType
236        } catch (e) {
237            L = {
238                apply: A.length ? function (e, t) {
239                    q.apply(e, H.call(t))
240                } : function (e, t) {
241                    var n = e.length,
242                        r = 0;
243                    while (e[n++] = t[r++]);
244                    e.length = n - 1
245                }
246            }
247        }
248
249        function oe(e, t, r, i) {
250            var o, s, l, c, f, h, v, m = t && t.ownerDocument,
251                T = t ? t.nodeType : 9;
252            if (r = r || [], "string" != typeof e || !e || 1 !== T && 9 !== T && 11 !== T) return r;
253            if (!i && ((t ? t.ownerDocument || t : w) !== d && p(t), t = t || d, g)) {
254                if (11 !== T && (f = J.exec(e)))
255                    if (o = f[1]) {
256                        if (9 === T) {
257                            if (!(l = t.getElementById(o))) return r;
258                            if (l.id === o) return r.push(l), r
259                        } else if (m && (l = m.getElementById(o)) && x(t, l) && l.id === o) return r.push(l), r
260                    } else {
261                        if (f[2]) return L.apply(r, t.getElementsByTagName(e)), r;
262                        if ((o = f[3]) && n.getElementsByClassName && t.getElementsByClassName) return L.apply(r, t.getElementsByClassName(o)), r
263                    } if (n.qsa && !S[e + " "] && (!y || !y.test(e))) {
264                    if (1 !== T) m = t, v = e;
265                    else if ("object" !== t.nodeName.toLowerCase()) {
266                        (c = t.getAttribute("id")) ? c = c.replace(te, ne): t.setAttribute("id", c = b), s = (h = a(e)).length;
267                        while (s--) h[s] = "#" + c + " " + ve(h[s]);
268                        v = h.join(","), m = K.test(e) && ge(t.parentNode) || t
269                    }
270                    if (v) try {
271                        return L.apply(r, m.querySelectorAll(v)), r
272                    } catch (e) {} finally {
273                        c === b && t.removeAttribute("id")
274                    }
275                }
276            }
277            return u(e.replace(B, "$1"), t, r, i)
278        }
279
280        function ae() {
281            var e = [];
282
283            function t(n, i) {
284                return e.push(n + " ") > r.cacheLength && delete t[e.shift()], t[n + " "] = i
285            }
286            return t
287        }
288
289        function se(e) {
290            return e[b] = !0, e
291        }
292
293        function ue(e) {
294            var t = d.createElement("fieldset");
295            try {
296                return !!e(t)
297            } catch (e) {
298                return !1
299            } finally {
300                t.parentNode && t.parentNode.removeChild(t), t = null
301            }
302        }
303
304        function le(e, t) {
305            var n = e.split("|"),
306                i = n.length;
307            while (i--) r.attrHandle[n[i]] = t
308        }
309
310        function ce(e, t) {
311            var n = t && e,
312                r = n && 1 === e.nodeType && 1 === t.nodeType && e.sourceIndex - t.sourceIndex;
313            if (r) return r;
314            if (n)
315                while (n = n.nextSibling)
316                    if (n === t) return -1;
317            return e ? 1 : -1
318        }
319
320        function fe(e) {
321            return function (t) {
322                return "input" === t.nodeName.toLowerCase() && t.type === e
323            }
324        }
325
326        function pe(e) {
327            return function (t) {
328                var n = t.nodeName.toLowerCase();
329                return ("input" === n || "button" === n) && t.type === e
330            }
331        }
332
333        function de(e) {
334            return function (t) {
335                return "form" in t ? t.parentNode && !1 === t.disabled ? "label" in t ? "label" in t.parentNode ? t.parentNode.disabled === e : t.disabled === e : t.isDisabled === e || t.isDisabled !== !e && ie(t) === e : t.disabled === e : "label" in t && t.disabled === e
336            }
337        }
338
339        function he(e) {
340            return se(function (t) {
341                return t = +t, se(function (n, r) {
342                    var i, o = e([], n.length, t),
343                        a = o.length;
344                    while (a--) n[i = o[a]] && (n[i] = !(r[i] = n[i]))
345                })
346            })
347        }
348
349        function ge(e) {
350            return e && "undefined" != typeof e.getElementsByTagName && e
351        }
352        n = oe.support = {}, o = oe.isXML = function (e) {
353            var t = e && (e.ownerDocument || e).documentElement;
354            return !!t && "HTML" !== t.nodeName
355        }, p = oe.setDocument = function (e) {
356            var t, i, a = e ? e.ownerDocument || e : w;
357            return a !== d && 9 === a.nodeType && a.documentElement ? (d = a, h = d.documentElement, g = !o(d), w !== d && (i = d.defaultView) && i.top !== i && (i.addEventListener ? i.addEventListener("unload", re, !1) : i.attachEvent && i.attachEvent("onunload", re)), n.attributes = ue(function (e) {
358                return e.className = "i", !e.getAttribute("className")
359            }), n.getElementsByTagName = ue(function (e) {
360                return e.appendChild(d.createComment("")), !e.getElementsByTagName("*").length
361            }), n.getElementsByClassName = Q.test(d.getElementsByClassName), n.getById = ue(function (e) {
362                return h.appendChild(e).id = b, !d.getElementsByName || !d.getElementsByName(b).length
363            }), n.getById ? (r.filter.ID = function (e) {
364                var t = e.replace(Z, ee);
365                return function (e) {
366                    return e.getAttribute("id") === t
367                }
368            }, r.find.ID = function (e, t) {
369                if ("undefined" != typeof t.getElementById && g) {
370                    var n = t.getElementById(e);
371                    return n ? [n] : []
372                }
373            }) : (r.filter.ID = function (e) {
374                var t = e.replace(Z, ee);
375                return function (e) {
376                    var n = "undefined" != typeof e.getAttributeNode && e.getAttributeNode("id");
377                    return n && n.value === t
378                }
379            }, r.find.ID = function (e, t) {
380                if ("undefined" != typeof t.getElementById && g) {
381                    var n, r, i, o = t.getElementById(e);
382                    if (o) {
383                        if ((n = o.getAttributeNode("id")) && n.value === e) return [o];
384                        i = t.getElementsByName(e), r = 0;
385                        while (o = i[r++])
386                            if ((n = o.getAttributeNode("id")) && n.value === e) return [o]
387                    }
388                    return []
389                }
390            }), r.find.TAG = n.getElementsByTagName ? function (e, t) {
391                return "undefined" != typeof t.getElementsByTagName ? t.getElementsByTagName(e) : n.qsa ? t.querySelectorAll(e) : void 0
392            } : function (e, t) {
393                var n, r = [],
394                    i = 0,
395                    o = t.getElementsByTagName(e);
396                if ("*" === e) {
397                    while (n = o[i++]) 1 === n.nodeType && r.push(n);
398                    return r
399                }
400                return o
401            }, r.find.CLASS = n.getElementsByClassName && function (e, t) {
402                if ("undefined" != typeof t.getElementsByClassName && g) return t.getElementsByClassName(e)
403            }, v = [], y = [], (n.qsa = Q.test(d.querySelectorAll)) && (ue(function (e) {
404                h.appendChild(e).innerHTML = "<a id='" + b + "'></a><select id='" + b + "-\r\\' msallowcapture=''><option selected=''></option></select>", e.querySelectorAll("[msallowcapture^='']").length && y.push("[*^$]=" + M + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || y.push("\\[" + M + "*(?:value|" + P + ")"), e.querySelectorAll("[id~=" + b + "-]").length || y.push("~="), e.querySelectorAll(":checked").length || y.push(":checked"), e.querySelectorAll("a#" + b + "+*").length || y.push(".#.+[+~]")
405            }), ue(function (e) {
406                e.innerHTML = "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";
407                var t = d.createElement("input");
408                t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && y.push("name" + M + "*[*^$|!~]?="), 2 !== e.querySelectorAll(":enabled").length && y.push(":enabled", ":disabled"), h.appendChild(e).disabled = !0, 2 !== e.querySelectorAll(":disabled").length && y.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), y.push(",.*:")
409            })), (n.matchesSelector = Q.test(m = h.matches || h.webkitMatchesSelector || h.mozMatchesSelector || h.oMatchesSelector || h.msMatchesSelector)) && ue(function (e) {
410                n.disconnectedMatch = m.call(e, "*"), m.call(e, "[s!='']:x"), v.push("!=", W)
411            }), y = y.length && new RegExp(y.join("|")), v = v.length && new RegExp(v.join("|")), t = Q.test(h.compareDocumentPosition), x = t || Q.test(h.contains) ? function (e, t) {
412                var n = 9 === e.nodeType ? e.documentElement : e,
413                    r = t && t.parentNode;
414                return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r)))
415            } : function (e, t) {
416                if (t)
417                    while (t = t.parentNode)
418                        if (t === e) return !0;
419                return !1
420            }, D = t ? function (e, t) {
421                if (e === t) return f = !0, 0;
422                var r = !e.compareDocumentPosition - !t.compareDocumentPosition;
423                return r || (1 & (r = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !n.sortDetached && t.compareDocumentPosition(e) === r ? e === d || e.ownerDocument === w && x(w, e) ? -1 : t === d || t.ownerDocument === w && x(w, t) ? 1 : c ? O(c, e) - O(c, t) : 0 : 4 & r ? -1 : 1)
424            } : function (e, t) {
425                if (e === t) return f = !0, 0;
426                var n, r = 0,
427                    i = e.parentNode,
428                    o = t.parentNode,
429                    a = [e],
430                    s = [t];
431                if (!i || !o) return e === d ? -1 : t === d ? 1 : i ? -1 : o ? 1 : c ? O(c, e) - O(c, t) : 0;
432                if (i === o) return ce(e, t);
433                n = e;
434                while (n = n.parentNode) a.unshift(n);
435                n = t;
436                while (n = n.parentNode) s.unshift(n);
437                while (a[r] === s[r]) r++;
438                return r ? ce(a[r], s[r]) : a[r] === w ? -1 : s[r] === w ? 1 : 0
439            }, d) : d
440        }, oe.matches = function (e, t) {
441            return oe(e, null, null, t)
442        }, oe.matchesSelector = function (e, t) {
443            if ((e.ownerDocument || e) !== d && p(e), t = t.replace(z, "='$1']"), n.matchesSelector && g && !S[t + " "] && (!v || !v.test(t)) && (!y || !y.test(t))) try {
444                var r = m.call(e, t);
445                if (r || n.disconnectedMatch || e.document && 11 !== e.document.nodeType) return r
446            } catch (e) {}
447            return oe(t, d, null, [e]).length > 0
448        }, oe.contains = function (e, t) {
449            return (e.ownerDocument || e) !== d && p(e), x(e, t)
450        }, oe.attr = function (e, t) {
451            (e.ownerDocument || e) !== d && p(e);
452            var i = r.attrHandle[t.toLowerCase()],
453                o = i && N.call(r.attrHandle, t.toLowerCase()) ? i(e, t, !g) : void 0;
454            return void 0 !== o ? o : n.attributes || !g ? e.getAttribute(t) : (o = e.getAttributeNode(t)) && o.specified ? o.value : null
455        }, oe.escape = function (e) {
456            return (e + "").replace(te, ne)
457        }, oe.error = function (e) {
458            throw new Error("Syntax error, unrecognized expression: " + e)
459        }, oe.uniqueSort = function (e) {
460            var t, r = [],
461                i = 0,
462                o = 0;
463            if (f = !n.detectDuplicates, c = !n.sortStable && e.slice(0), e.sort(D), f) {
464                while (t = e[o++]) t === e[o] && (i = r.push(o));
465                while (i--) e.splice(r[i], 1)
466            }
467            return c = null, e
468        }, i = oe.getText = function (e) {
469            var t, n = "",
470                r = 0,
471                o = e.nodeType;
472            if (o) {
473                if (1 === o || 9 === o || 11 === o) {
474                    if ("string" == typeof e.textContent) return e.textContent;
475                    for (e = e.firstChild; e; e = e.nextSibling) n += i(e)
476                } else if (3 === o || 4 === o) return e.nodeValue
477            } else
478                while (t = e[r++]) n += i(t);
479            return n
480        }, (r = oe.selectors = {
481            cacheLength: 50,
482            createPseudo: se,
483            match: V,
484            attrHandle: {},
485            find: {},
486            relative: {
487                ">": {
488                    dir: "parentNode",
489                    first: !0
490                },
491                " ": {
492                    dir: "parentNode"
493                },
494                "+": {
495                    dir: "previousSibling",
496                    first: !0
497                },
498                "~": {
499                    dir: "previousSibling"
500                }
501            },
502            preFilter: {
503                ATTR: function (e) {
504                    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)
505                },
506                CHILD: function (e) {
507                    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
508                },
509                PSEUDO: function (e) {
510                    var t, n = !e[6] && e[2];
511                    return V.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && X.test(n) && (t = a(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))
512                }
513            },
514            filter: {
515                TAG: function (e) {
516                    var t = e.replace(Z, ee).toLowerCase();
517                    return "*" === e ? function () {
518                        return !0
519                    } : function (e) {
520                        return e.nodeName && e.nodeName.toLowerCase() === t
521                    }
522                },
523                CLASS: function (e) {
524                    var t = E[e + " "];
525                    return t || (t = new RegExp("(^|" + M + ")" + e + "(" + M + "|$)")) && E(e, function (e) {
526                        return t.test("string" == typeof e.className && e.className || "undefined" != typeof e.getAttribute && e.getAttribute("class") || "")
527                    })
528                },
529                ATTR: function (e, t, n) {
530                    return function (r) {
531                        var i = oe.attr(r, e);
532                        return null == i ? "!=" === t : !t || (i += "", "=" === t ? i === n : "!=" === t ? i !== n : "^=" === t ? n && 0 === i.indexOf(n) : "*=" === t ? n && i.indexOf(n) > -1 : "$=" === t ? n && i.slice(-n.length) === n : "~=" === t ? (" " + i.replace($, " ") + " ").indexOf(n) > -1 : "|=" === t && (i === n || i.slice(0, n.length + 1) === n + "-"))
533                    }
534                },
535                CHILD: function (e, t, n, r, i) {
536                    var o = "nth" !== e.slice(0, 3),
537                        a = "last" !== e.slice(-4),
538                        s = "of-type" === t;
539                    return 1 === r && 0 === i ? function (e) {
540                        return !!e.parentNode
541                    } : function (t, n, u) {
542                        var l, c, f, p, d, h, g = o !== a ? "nextSibling" : "previousSibling",
543                            y = t.parentNode,
544                            v = s && t.nodeName.toLowerCase(),
545                            m = !u && !s,
546                            x = !1;
547                        if (y) {
548                            if (o) {
549                                while (g) {
550                                    p = t;
551                                    while (p = p[g])
552                                        if (s ? p.nodeName.toLowerCase() === v : 1 === p.nodeType) return !1;
553                                    h = g = "only" === e && !h && "nextSibling"
554                                }
555                                return !0
556                            }
557                            if (h = [a ? y.firstChild : y.lastChild], a && m) {
558                                x = (d = (l = (c = (f = (p = y)[b] || (p[b] = {}))[p.uniqueID] || (f[p.uniqueID] = {}))[e] || [])[0] === T && l[1]) && l[2], p = d && y.childNodes[d];
559                                while (p = ++d && p && p[g] || (x = d = 0) || h.pop())
560                                    if (1 === p.nodeType && ++x && p === t) {
561                                        c[e] = [T, d, x];
562                                        break
563                                    }
564                            } else if (m && (x = d = (l = (c = (f = (p = t)[b] || (p[b] = {}))[p.uniqueID] || (f[p.uniqueID] = {}))[e] || [])[0] === T && l[1]), !1 === x)
565                                while (p = ++d && p && p[g] || (x = d = 0) || h.pop())
566                                    if ((s ? p.nodeName.toLowerCase() === v : 1 === p.nodeType) && ++x && (m && ((c = (f = p[b] || (p[b] = {}))[p.uniqueID] || (f[p.uniqueID] = {}))[e] = [T, x]), p === t)) break;
567                            return (x -= i) === r || x % r == 0 && x / r >= 0
568                        }
569                    }
570                },
571                PSEUDO: function (e, t) {
572                    var n, i = r.pseudos[e] || r.setFilters[e.toLowerCase()] || oe.error("unsupported pseudo: " + e);
573                    return i[b] ? i(t) : i.length > 1 ? (n = [e, e, "", t], r.setFilters.hasOwnProperty(e.toLowerCase()) ? se(function (e, n) {
574                        var r, o = i(e, t),
575                            a = o.length;
576                        while (a--) e[r = O(e, o[a])] = !(n[r] = o[a])
577                    }) : function (e) {
578                        return i(e, 0, n)
579                    }) : i
580                }
581            },
582            pseudos: {
583                not: se(function (e) {
584                    var t = [],
585                        n = [],
586                        r = s(e.replace(B, "$1"));
587                    return r[b] ? se(function (e, t, n, i) {
588                        var o, a = r(e, null, i, []),
589                            s = e.length;
590                        while (s--)(o = a[s]) && (e[s] = !(t[s] = o))
591                    }) : function (e, i, o) {
592                        return t[0] = e, r(t, null, o, n), t[0] = null, !n.pop()
593                    }
594                }),
595                has: se(function (e) {
596                    return function (t) {
597                        return oe(e, t).length > 0
598                    }
599                }),
600                contains: se(function (e) {
601                    return e = e.replace(Z, ee),
602                        function (t) {
603                            return (t.textContent || t.innerText || i(t)).indexOf(e) > -1
604                        }
605                }),
606                lang: se(function (e) {
607                    return U.test(e || "") || oe.error("unsupported lang: " + e), e = e.replace(Z, ee).toLowerCase(),
608                        function (t) {
609                            var n;
610                            do {
611                                if (n = g ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang")) return (n = n.toLowerCase()) === e || 0 === n.indexOf(e + "-")
612                            } while ((t = t.parentNode) && 1 === t.nodeType);
613                            return !1
614                        }
615                }),
616                target: function (t) {
617                    var n = e.location && e.location.hash;
618                    return n && n.slice(1) === t.id
619                },
620                root: function (e) {
621                    return e === h
622                },
623                focus: function (e) {
624                    return e === d.activeElement && (!d.hasFocus || d.hasFocus()) && !!(e.type || e.href || ~e.tabIndex)
625                },
626                enabled: de(!1),
627                disabled: de(!0),
628                checked: function (e) {
629                    var t = e.nodeName.toLowerCase();
630                    return "input" === t && !!e.checked || "option" === t && !!e.selected
631                },
632                selected: function (e) {
633                    return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected
634                },
635                empty: function (e) {
636                    for (e = e.firstChild; e; e = e.nextSibling)
637                        if (e.nodeType < 6) return !1;
638                    return !0
639                },
640                parent: function (e) {
641                    return !r.pseudos.empty(e)
642                },
643                header: function (e) {
644                    return Y.test(e.nodeName)
645                },
646                input: function (e) {
647                    return G.test(e.nodeName)
648                },
649                button: function (e) {
650                    var t = e.nodeName.toLowerCase();
651                    return "input" === t && "button" === e.type || "button" === t
652                },
653                text: function (e) {
654                    var t;
655                    return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase())
656                },
657                first: he(function () {
658                    return [0]
659                }),
660                last: he(function (e, t) {
661                    return [t - 1]
662                }),
663                eq: he(function (e, t, n) {
664                    return [n < 0 ? n + t : n]
665                }),
666                even: he(function (e, t) {
667                    for (var n = 0; n < t; n += 2) e.push(n);
668                    return e
669                }),
670                odd: he(function (e, t) {
671                    for (var n = 1; n < t; n += 2) e.push(n);
672                    return e
673                }),
674                lt: he(function (e, t, n) {
675                    for (var r = n < 0 ? n + t : n; --r >= 0;) e.push(r);
676                    return e
677                }),
678                gt: he(function (e, t, n) {
679                    for (var r = n < 0 ? n + t : n; ++r < t;) e.push(r);
680                    return e
681                })
682            }
683        }).pseudos.nth = r.pseudos.eq;
684        for (t in {
685                radio: !0,
686                checkbox: !0,
687                file: !0,
688                password: !0,
689                image: !0
690            }) r.pseudos[t] = fe(t);
691        for (t in {
692                submit: !0,
693                reset: !0
694            }) r.pseudos[t] = pe(t);
695
696        function ye() {}
697        ye.prototype = r.filters = r.pseudos, r.setFilters = new ye, a = oe.tokenize = function (e, t) {
698            var n, i, o, a, s, u, l, c = k[e + " "];
699            if (c) return t ? 0 : c.slice(0);
700            s = e, u = [], l = r.preFilter;
701            while (s) {
702                n && !(i = F.exec(s)) || (i && (s = s.slice(i[0].length) || s), u.push(o = [])), n = !1, (i = _.exec(s)) && (n = i.shift(), o.push({
703                    value: n,
704                    type: i[0].replace(B, " ")
705                }), s = s.slice(n.length));
706                for (a in r.filter) !(i = V[a].exec(s)) || l[a] && !(i = l[a](i)) || (n = i.shift(), o.push({
707                    value: n,
708                    type: a,
709                    matches: i
710                }), s = s.slice(n.length));
711                if (!n) break
712            }
713            return t ? s.length : s ? oe.error(e) : k(e, u).slice(0)
714        };
715
716        function ve(e) {
717            for (var t = 0, n = e.length, r = ""; t < n; t++) r += e[t].value;
718            return r
719        }
720
721        function me(e, t, n) {
722            var r = t.dir,
723                i = t.next,
724                o = i || r,
725                a = n && "parentNode" === o,
726                s = C++;
727            return t.first ? function (t, n, i) {
728                while (t = t[r])
729                    if (1 === t.nodeType || a) return e(t, n, i);
730                return !1
731            } : function (t, n, u) {
732                var l, c, f, p = [T, s];
733                if (u) {
734                    while (t = t[r])
735                        if ((1 === t.nodeType || a) && e(t, n, u)) return !0
736                } else
737                    while (t = t[r])
738                        if (1 === t.nodeType || a)
739                            if (f = t[b] || (t[b] = {}), c = f[t.uniqueID] || (f[t.uniqueID] = {}), i && i === t.nodeName.toLowerCase()) t = t[r] || t;
740                            else {
741                                if ((l = c[o]) && l[0] === T && l[1] === s) return p[2] = l[2];
742                                if (c[o] = p, p[2] = e(t, n, u)) return !0
743                            } return !1
744            }
745        }
746
747        function xe(e) {
748            return e.length > 1 ? function (t, n, r) {
749                var i = e.length;
750                while (i--)
751                    if (!e[i](t, n, r)) return !1;
752                return !0
753            } : e[0]
754        }
755
756        function be(e, t, n) {
757            for (var r = 0, i = t.length; r < i; r++) oe(e, t[r], n);
758            return n
759        }
760
761        function we(e, t, n, r, i) {
762            for (var o, a = [], s = 0, u = e.length, l = null != t; s < u; s++)(o = e[s]) && (n && !n(o, r, i) || (a.push(o), l && t.push(s)));
763            return a
764        }
765
766        function Te(e, t, n, r, i, o) {
767            return r && !r[b] && (r = Te(r)), i && !i[b] && (i = Te(i, o)), se(function (o, a, s, u) {
768                var l, c, f, p = [],
769                    d = [],
770                    h = a.length,
771                    g = o || be(t || "*", s.nodeType ? [s] : s, []),
772                    y = !e || !o && t ? g : we(g, p, e, s, u),
773                    v = n ? i || (o ? e : h || r) ? [] : a : y;
774                if (n && n(y, v, s, u), r) {
775                    l = we(v, d), r(l, [], s, u), c = l.length;
776                    while (c--)(f = l[c]) && (v[d[c]] = !(y[d[c]] = f))
777                }
778                if (o) {
779                    if (i || e) {
780                        if (i) {
781                            l = [], c = v.length;
782                            while (c--)(f = v[c]) && l.push(y[c] = f);
783                            i(null, v = [], l, u)
784                        }
785                        c = v.length;
786                        while (c--)(f = v[c]) && (l = i ? O(o, f) : p[c]) > -1 && (o[l] = !(a[l] = f))
787                    }
788                } else v = we(v === a ? v.splice(h, v.length) : v), i ? i(null, a, v, u) : L.apply(a, v)
789            })
790        }
791
792        function Ce(e) {
793            for (var t, n, i, o = e.length, a = r.relative[e[0].type], s = a || r.relative[" "], u = a ? 1 : 0, c = me(function (e) {
794                    return e === t
795                }, s, !0), f = me(function (e) {
796                    return O(t, e) > -1
797                }, s, !0), p = [function (e, n, r) {
798                    var i = !a && (r || n !== l) || ((t = n).nodeType ? c(e, n, r) : f(e, n, r));
799                    return t = null, i
800                }]; u < o; u++)
801                if (n = r.relative[e[u].type]) p = [me(xe(p), n)];
802                else {
803                    if ((n = r.filter[e[u].type].apply(null, e[u].matches))[b]) {
804                        for (i = ++u; i < o; i++)
805                            if (r.relative[e[i].type]) break;
806                        return Te(u > 1 && xe(p), u > 1 && ve(e.slice(0, u - 1).concat({
807                            value: " " === e[u - 2].type ? "*" : ""
808                        })).replace(B, "$1"), n, u < i && Ce(e.slice(u, i)), i < o && Ce(e = e.slice(i)), i < o && ve(e))
809                    }
810                    p.push(n)
811                } return xe(p)
812        }
813
814        function Ee(e, t) {
815            var n = t.length > 0,
816                i = e.length > 0,
817                o = function (o, a, s, u, c) {
818                    var f, h, y, v = 0,
819                        m = "0",
820                        x = o && [],
821                        b = [],
822                        w = l,
823                        C = o || i && r.find.TAG("*", c),
824                        E = T += null == w ? 1 : Math.random() || .1,
825                        k = C.length;
826                    for (c && (l = a === d || a || c); m !== k && null != (f = C[m]); m++) {
827                        if (i && f) {
828                            h = 0, a || f.ownerDocument === d || (p(f), s = !g);
829                            while (y = e[h++])
830                                if (y(f, a || d, s)) {
831                                    u.push(f);
832                                    break
833                                } c && (T = E)
834                        }
835                        n && ((f = !y && f) && v--, o && x.push(f))
836                    }
837                    if (v += m, n && m !== v) {
838                        h = 0;
839                        while (y = t[h++]) y(x, b, a, s);
840                        if (o) {
841                            if (v > 0)
842                                while (m--) x[m] || b[m] || (b[m] = j.call(u));
843                            b = we(b)
844                        }
845                        L.apply(u, b), c && !o && b.length > 0 && v + t.length > 1 && oe.uniqueSort(u)
846                    }
847                    return c && (T = E, l = w), x
848                };
849            return n ? se(o) : o
850        }
851        return s = oe.compile = function (e, t) {
852            var n, r = [],
853                i = [],
854                o = S[e + " "];
855            if (!o) {
856                t || (t = a(e)), n = t.length;
857                while (n--)(o = Ce(t[n]))[b] ? r.push(o) : i.push(o);
858                (o = S(e, Ee(i, r))).selector = e
859            }
860            return o
861        }, u = oe.select = function (e, t, n, i) {
862            var o, u, l, c, f, p = "function" == typeof e && e,
863                d = !i && a(e = p.selector || e);
864            if (n = n || [], 1 === d.length) {
865                if ((u = d[0] = d[0].slice(0)).length > 2 && "ID" === (l = u[0]).type && 9 === t.nodeType && g && r.relative[u[1].type]) {
866                    if (!(t = (r.find.ID(l.matches[0].replace(Z, ee), t) || [])[0])) return n;
867                    p && (t = t.parentNode), e = e.slice(u.shift().value.length)
868                }
869                o = V.needsContext.test(e) ? 0 : u.length;
870                while (o--) {
871                    if (l = u[o], r.relative[c = l.type]) break;
872                    if ((f = r.find[c]) && (i = f(l.matches[0].replace(Z, ee), K.test(u[0].type) && ge(t.parentNode) || t))) {
873                        if (u.splice(o, 1), !(e = i.length && ve(u))) return L.apply(n, i), n;
874                        break
875                    }
876                }
877            }
878            return (p || s(e, d))(i, t, !g, n, !t || K.test(e) && ge(t.parentNode) || t), n
879        }, n.sortStable = b.split("").sort(D).join("") === b, n.detectDuplicates = !!f, p(), n.sortDetached = ue(function (e) {
880            return 1 & e.compareDocumentPosition(d.createElement("fieldset"))
881        }), ue(function (e) {
882            return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild.getAttribute("href")
883        }) || le("type|href|height|width", function (e, t, n) {
884            if (!n) return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2)
885        }), n.attributes && ue(function (e) {
886            return e.innerHTML = "<input/>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value")
887        }) || le("value", function (e, t, n) {
888            if (!n && "input" === e.nodeName.toLowerCase()) return e.defaultValue
889        }), ue(function (e) {
890            return null == e.getAttribute("disabled")
891        }) || le(P, function (e, t, n) {
892            var r;
893            if (!n) return !0 === e[t] ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value : null
894        }), oe
895    }(e);
896    w.find = E, w.expr = E.selectors, w.expr[":"] = w.expr.pseudos, w.uniqueSort = w.unique = E.uniqueSort, w.text = E.getText, w.isXMLDoc = E.isXML, w.contains = E.contains, w.escapeSelector = E.escape;
897    var k = function (e, t, n) {
898            var r = [],
899                i = void 0 !== n;
900            while ((e = e[t]) && 9 !== e.nodeType)
901                if (1 === e.nodeType) {
902                    if (i && w(e).is(n)) break;
903                    r.push(e)
904                } return r
905        },
906        S = function (e, t) {
907            for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e);
908            return n
909        },
910        D = w.expr.match.needsContext;
911
912    function N(e, t) {
913        return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
914    }
915    var A = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;
916
917    function j(e, t, n) {
918        return g(t) ? w.grep(e, function (e, r) {
919            return !!t.call(e, r, e) !== n
920        }) : t.nodeType ? w.grep(e, function (e) {
921            return e === t !== n
922        }) : "string" != typeof t ? w.grep(e, function (e) {
923            return u.call(t, e) > -1 !== n
924        }) : w.filter(t, e, n)
925    }
926    w.filter = function (e, t, n) {
927        var r = t[0];
928        return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ? w.find.matchesSelector(r, e) ? [r] : [] : w.find.matches(e, w.grep(t, function (e) {
929            return 1 === e.nodeType
930        }))
931    }, w.fn.extend({
932        find: function (e) {
933            var t, n, r = this.length,
934                i = this;
935            if ("string" != typeof e) return this.pushStack(w(e).filter(function () {
936                for (t = 0; t < r; t++)
937                    if (w.contains(i[t], this)) return !0
938            }));
939            for (n = this.pushStack([]), t = 0; t < r; t++) w.find(e, i[t], n);
940            return r > 1 ? w.uniqueSort(n) : n
941        },
942        filter: function (e) {
943            return this.pushStack(j(this, e || [], !1))
944        },
945        not: function (e) {
946            return this.pushStack(j(this, e || [], !0))
947        },
948        is: function (e) {
949            return !!j(this, "string" == typeof e && D.test(e) ? w(e) : e || [], !1).length
950        }
951    });
952    var q, L = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;
953    (w.fn.init = function (e, t, n) {
954        var i, o;
955        if (!e) return this;
956        if (n = n || q, "string" == typeof e) {
957            if (!(i = "<" === e[0] && ">" === e[e.length - 1] && e.length >= 3 ? [null, e, null] : L.exec(e)) || !i[1] && t) return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e);
958            if (i[1]) {
959                if (t = t instanceof w ? t[0] : t, w.merge(this, w.parseHTML(i[1], t && t.nodeType ? t.ownerDocument || t : r, !0)), A.test(i[1]) && w.isPlainObject(t))
960                    for (i in t) g(this[i]) ? this[i](t[i]) : this.attr(i, t[i]);
961                return this
962            }
963            return (o = r.getElementById(i[2])) && (this[0] = o, this.length = 1), this
964        }
965        return e.nodeType ? (this[0] = e, this.length = 1, this) : g(e) ? void 0 !== n.ready ? n.ready(e) : e(w) : w.makeArray(e, this)
966    }).prototype = w.fn, q = w(r);
967    var H = /^(?:parents|prev(?:Until|All))/,
968        O = {
969            children: !0,
970            contents: !0,
971            next: !0,
972            prev: !0
973        };
974    w.fn.extend({
975        has: function (e) {
976            var t = w(e, this),
977                n = t.length;
978            return this.filter(function () {
979                for (var e = 0; e < n; e++)
980                    if (w.contains(this, t[e])) return !0
981            })
982        },
983        closest: function (e, t) {
984            var n, r = 0,
985                i = this.length,
986                o = [],
987                a = "string" != typeof e && w(e);
988            if (!D.test(e))
989                for (; r < i; r++)
990                    for (n = this[r]; n && n !== t; n = n.parentNode)
991                        if (n.nodeType < 11 && (a ? a.index(n) > -1 : 1 === n.nodeType && w.find.matchesSelector(n, e))) {
992                            o.push(n);
993                            break
994                        } return this.pushStack(o.length > 1 ? w.uniqueSort(o) : o)
995        },
996        index: function (e) {
997            return e ? "string" == typeof e ? u.call(w(e), this[0]) : u.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
998        },
999        add: function (e, t) {
1000            return this.pushStack(w.uniqueSort(w.merge(this.get(), w(e, t))))
1001        },
1002        addBack: function (e) {
1003            return this.add(null == e ? this.prevObject : this.prevObject.filter(e))
1004        }
1005    });
1006
1007    function P(e, t) {
1008        while ((e = e[t]) && 1 !== e.nodeType);
1009        return e
1010    }
1011    w.each({
1012        parent: function (e) {
1013            var t = e.parentNode;
1014            return t && 11 !== t.nodeType ? t : null
1015        },
1016        parents: function (e) {
1017            return k(e, "parentNode")
1018        },
1019        parentsUntil: function (e, t, n) {
1020            return k(e, "parentNode", n)
1021        },
1022        next: function (e) {
1023            return P(e, "nextSibling")
1024        },
1025        prev: function (e) {
1026            return P(e, "previousSibling")
1027        },
1028        nextAll: function (e) {
1029            return k(e, "nextSibling")
1030        },
1031        prevAll: function (e) {
1032            return k(e, "previousSibling")
1033        },
1034        nextUntil: function (e, t, n) {
1035            return k(e, "nextSibling", n)
1036        },
1037        prevUntil: function (e, t, n) {
1038            return k(e, "previousSibling", n)
1039        },
1040        siblings: function (e) {
1041            return S((e.parentNode || {}).firstChild, e)
1042        },
1043        children: function (e) {
1044            return S(e.firstChild)
1045        },
1046        contents: function (e) {
1047            return N(e, "iframe") ? e.contentDocument : (N(e, "template") && (e = e.content || e), w.merge([], e.childNodes))
1048        }
1049    }, function (e, t) {
1050        w.fn[e] = function (n, r) {
1051            var i = w.map(this, t, n);
1052            return "Until" !== e.slice(-5) && (r = n), r && "string" == typeof r && (i = w.filter(r, i)), this.length > 1 && (O[e] || w.uniqueSort(i), H.test(e) && i.reverse()), this.pushStack(i)
1053        }
1054    });
1055    var M = /[^\x20\t\r\n\f]+/g;
1056
1057    function R(e) {
1058        var t = {};
1059        return w.each(e.match(M) || [], function (e, n) {
1060            t[n] = !0
1061        }), t
1062    }
1063    w.Callbacks = function (e) {
1064        e = "string" == typeof e ? R(e) : w.extend({}, e);
1065        var t, n, r, i, o = [],
1066            a = [],
1067            s = -1,
1068            u = function () {
1069                for (i = i || e.once, r = t = !0; a.length; s = -1) {
1070                    n = a.shift();
1071                    while (++s < o.length) !1 === o[s].apply(n[0], n[1]) && e.stopOnFalse && (s = o.length, n = !1)
1072                }
1073                e.memory || (n = !1), t = !1, i && (o = n ? [] : "")
1074            },
1075            l = {
1076                add: function () {
1077                    return o && (n && !t && (s = o.length - 1, a.push(n)), function t(n) {
1078                        w.each(n, function (n, r) {
1079                            g(r) ? e.unique && l.has(r) || o.push(r) : r && r.length && "string" !== x(r) && t(r)
1080                        })
1081                    }(arguments), n && !t && u()), this
1082                },
1083                remove: function () {
1084                    return w.each(arguments, function (e, t) {
1085                        var n;
1086                        while ((n = w.inArray(t, o, n)) > -1) o.splice(n, 1), n <= s && s--
1087                    }), this
1088                },
1089                has: function (e) {
1090                    return e ? w.inArray(e, o) > -1 : o.length > 0
1091                },
1092                empty: function () {
1093                    return o && (o = []), this
1094                },
1095                disable: function () {
1096                    return i = a = [], o = n = "", this
1097                },
1098                disabled: function () {
1099                    return !o
1100                },
1101                lock: function () {
1102                    return i = a = [], n || t || (o = n = ""), this
1103                },
1104                locked: function () {
1105                    return !!i
1106                },
1107                fireWith: function (e, n) {
1108                    return i || (n = [e, (n = n || []).slice ? n.slice() : n], a.push(n), t || u()), this
1109                },
1110                fire: function () {
1111                    return l.fireWith(this, arguments), this
1112                },
1113                fired: function () {
1114                    return !!r
1115                }
1116            };
1117        return l
1118    };
1119
1120    function I(e) {
1121        return e
1122    }
1123
1124    function W(e) {
1125        throw e
1126    }
1127
1128    function $(e, t, n, r) {
1129        var i;
1130        try {
1131            e && g(i = e.promise) ? i.call(e).done(t).fail(n) : e && g(i = e.then) ? i.call(e, t, n) : t.apply(void 0, [e].slice(r))
1132        } catch (e) {
1133            n.apply(void 0, [e])
1134        }
1135    }
1136    w.extend({
1137        Deferred: function (t) {
1138            var n = [
1139                    ["notify", "progress", w.Callbacks("memory"), w.Callbacks("memory"), 2],
1140                    ["resolve", "done", w.Callbacks("once memory"), w.Callbacks("once memory"), 0, "resolved"],
1141                    ["reject", "fail", w.Callbacks("once memory"), w.Callbacks("once memory"), 1, "rejected"]
1142                ],
1143                r = "pending",
1144                i = {
1145                    state: function () {
1146                        return r
1147                    },
1148                    always: function () {
1149                        return o.done(arguments).fail(arguments), this
1150                    },
1151                    "catch": function (e) {
1152                        return i.then(null, e)
1153                    },
1154                    pipe: function () {
1155                        var e = arguments;
1156                        return w.Deferred(function (t) {
1157                            w.each(n, function (n, r) {
1158                                var i = g(e[r[4]]) && e[r[4]];
1159                                o[r[1]](function () {
1160                                    var e = i && i.apply(this, arguments);
1161                                    e && g(e.promise) ? e.promise().progress(t.notify).done(t.resolve).fail(t.reject) : t[r[0] + "With"](this, i ? [e] : arguments)
1162                                })
1163                            }), e = null
1164                        }).promise()
1165                    },
1166                    then: function (t, r, i) {
1167                        var o = 0;
1168
1169                        function a(t, n, r, i) {
1170                            return function () {
1171                                var s = this,
1172                                    u = arguments,
1173                                    l = function () {
1174                                        var e, l;
1175                                        if (!(t < o)) {
1176                                            if ((e = r.apply(s, u)) === n.promise()) throw new TypeError("Thenable self-resolution");
1177                                            l = e && ("object" == typeof e || "function" == typeof e) && e.then, g(l) ? i ? l.call(e, a(o, n, I, i), a(o, n, W, i)) : (o++, l.call(e, a(o, n, I, i), a(o, n, W, i), a(o, n, I, n.notifyWith))) : (r !== I && (s = void 0, u = [e]), (i || n.resolveWith)(s, u))
1178                                        }
1179                                    },
1180                                    c = i ? l : function () {
1181                                        try {
1182                                            l()
1183                                        } catch (e) {
1184                                            w.Deferred.exceptionHook && w.Deferred.exceptionHook(e, c.stackTrace), t + 1 >= o && (r !== W && (s = void 0, u = [e]), n.rejectWith(s, u))
1185                                        }
1186                                    };
1187                                t ? c() : (w.Deferred.getStackHook && (c.stackTrace = w.Deferred.getStackHook()), e.setTimeout(c))
1188                            }
1189                        }
1190                        return w.Deferred(function (e) {
1191                            n[0][3].add(a(0, e, g(i) ? i : I, e.notifyWith)), n[1][3].add(a(0, e, g(t) ? t : I)), n[2][3].add(a(0, e, g(r) ? r : W))
1192                        }).promise()
1193                    },
1194                    promise: function (e) {
1195                        return null != e ? w.extend(e, i) : i
1196                    }
1197                },
1198                o = {};
1199            return w.each(n, function (e, t) {
1200                var a = t[2],
1201                    s = t[5];
1202                i[t[1]] = a.add, s && a.add(function () {
1203                    r = s
1204                }, n[3 - e][2].disable, n[3 - e][3].disable, n[0][2].lock, n[0][3].lock), a.add(t[3].fire), o[t[0]] = function () {
1205                    return o[t[0] + "With"](this === o ? void 0 : this, arguments), this
1206                }, o[t[0] + "With"] = a.fireWith
1207            }), i.promise(o), t && t.call(o, o), o
1208        },
1209        when: function (e) {
1210            var t = arguments.length,
1211                n = t,
1212                r = Array(n),
1213                i = o.call(arguments),
1214                a = w.Deferred(),
1215                s = function (e) {
1216                    return function (n) {
1217                        r[e] = this, i[e] = arguments.length > 1 ? o.call(arguments) : n, --t || a.resolveWith(r, i)
1218                    }
1219                };
1220            if (t <= 1 && ($(e, a.done(s(n)).resolve, a.reject, !t), "pending" === a.state() || g(i[n] && i[n].then))) return a.then();
1221            while (n--) $(i[n], s(n), a.reject);
1222            return a.promise()
1223        }
1224    });
1225    var B = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
1226    w.Deferred.exceptionHook = function (t, n) {
1227        e.console && e.console.warn && t && B.test(t.name) && e.console.warn("jQuery.Deferred exception: " + t.message, t.stack, n)
1228    }, w.readyException = function (t) {
1229        e.setTimeout(function () {
1230            throw t
1231        })
1232    };
1233    var F = w.Deferred();
1234    w.fn.ready = function (e) {
1235        return F.then(e)["catch"](function (e) {
1236            w.readyException(e)
1237        }), this
1238    }, w.extend({
1239        isReady: !1,
1240        readyWait: 1,
1241        ready: function (e) {
1242            (!0 === e ? --w.readyWait : w.isReady) || (w.isReady = !0, !0 !== e && --w.readyWait > 0 || F.resolveWith(r, [w]))
1243        }
1244    }), w.ready.then = F.then;
1245
1246    function _() {
1247        r.removeEventListener("DOMContentLoaded", _), e.removeEventListener("load", _), w.ready()
1248    }
1249    "complete" === r.readyState || "loading" !== r.readyState && !r.documentElement.doScroll ? e.setTimeout(w.ready) : (r.addEventListener("DOMContentLoaded", _), e.addEventListener("load", _));
1250    var z = function (e, t, n, r, i, o, a) {
1251            var s = 0,
1252                u = e.length,
1253                l = null == n;
1254            if ("object" === x(n)) {
1255                i = !0;
1256                for (s in n) z(e, t, s, n[s], !0, o, a)
1257            } else if (void 0 !== r && (i = !0, g(r) || (a = !0), l && (a ? (t.call(e, r), t = null) : (l = t, t = function (e, t, n) {
1258                    return l.call(w(e), n)
1259                })), t))
1260                for (; s < u; s++) t(e[s], n, a ? r : r.call(e[s], s, t(e[s], n)));
1261            return i ? e : l ? t.call(e) : u ? t(e[0], n) : o
1262        },
1263        X = /^-ms-/,
1264        U = /-([a-z])/g;
1265
1266    function V(e, t) {
1267        return t.toUpperCase()
1268    }
1269
1270    function G(e) {
1271        return e.replace(X, "ms-").replace(U, V)
1272    }
1273    var Y = function (e) {
1274        return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType
1275    };
1276
1277    function Q() {
1278        this.expando = w.expando + Q.uid++
1279    }
1280    Q.uid = 1, Q.prototype = {
1281        cache: function (e) {
1282            var t = e[this.expando];
1283            return t || (t = {}, Y(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, {
1284                value: t,
1285                configurable: !0
1286            }))), t
1287        },
1288        set: function (e, t, n) {
1289            var r, i = this.cache(e);
1290            if ("string" == typeof t) i[G(t)] = n;
1291            else
1292                for (r in t) i[G(r)] = t[r];
1293            return i
1294        },
1295        get: function (e, t) {
1296            return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][G(t)]
1297        },
1298        access: function (e, t, n) {
1299            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)
1300        },
1301        remove: function (e, t) {
1302            var n, r = e[this.expando];
1303            if (void 0 !== r) {
1304                if (void 0 !== t) {
1305                    n = (t = Array.isArray(t) ? t.map(G) : (t = G(t)) in r ? [t] : t.match(M) || []).length;
1306                    while (n--) delete r[t[n]]
1307                }(void 0 === t || w.isEmptyObject(r)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando])
1308            }
1309        },
1310        hasData: function (e) {
1311            var t = e[this.expando];
1312            return void 0 !== t && !w.isEmptyObject(t)
1313        }
1314    };
1315    var J = new Q,
1316        K = new Q,
1317        Z = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
1318        ee = /[A-Z]/g;
1319
1320    function te(e) {
1321        return "true" === e || "false" !== e && ("null" === e ? null : e === +e + "" ? +e : Z.test(e) ? JSON.parse(e) : e)
1322    }
1323
1324    function ne(e, t, n) {
1325        var r;
1326        if (void 0 === n && 1 === e.nodeType)
1327            if (r = "data-" + t.replace(ee, "-$&").toLowerCase(), "string" == typeof (n = e.getAttribute(r))) {
1328                try {
1329                    n = te(n)
1330                } catch (e) {}
1331                K.set(e, t, n)
1332            } else n = void 0;
1333        return n
1334    }
1335    w.extend({
1336        hasData: function (e) {
1337            return K.hasData(e) || J.hasData(e)
1338        },
1339        data: function (e, t, n) {
1340            return K.access(e, t, n)
1341        },
1342        removeData: function (e, t) {
1343            K.remove(e, t)
1344        },
1345        _data: function (e, t, n) {
1346            return J.access(e, t, n)
1347        },
1348        _removeData: function (e, t) {
1349            J.remove(e, t)
1350        }
1351    }), w.fn.extend({
1352        data: function (e, t) {
1353            var n, r, i, o = this[0],
1354                a = o && o.attributes;
1355            if (void 0 === e) {
1356                if (this.length && (i = K.get(o), 1 === o.nodeType && !J.get(o, "hasDataAttrs"))) {
1357                    n = a.length;
1358                    while (n--) a[n] && 0 === (r = a[n].name).indexOf("data-") && (r = G(r.slice(5)), ne(o, r, i[r]));
1359                    J.set(o, "hasDataAttrs", !0)
1360                }
1361                return i
1362            }
1363            return "object" == typeof e ? this.each(function () {
1364                K.set(this, e)
1365            }) : z(this, function (t) {
1366                var n;
1367                if (o && void 0 === t) {
1368                    if (void 0 !== (n = K.get(o, e))) return n;
1369                    if (void 0 !== (n = ne(o, e))) return n
1370                } else this.each(function () {
1371                    K.set(this, e, t)
1372                })
1373            }, null, t, arguments.length > 1, null, !0)
1374        },
1375        removeData: function (e) {
1376            return this.each(function () {
1377                K.remove(this, e)
1378            })
1379        }
1380    }), w.extend({
1381        queue: function (e, t, n) {
1382            var r;
1383            if (e) return t = (t || "fx") + "queue", r = J.get(e, t), n && (!r || Array.isArray(n) ? r = J.access(e, t, w.makeArray(n)) : r.push(n)), r || []
1384        },
1385        dequeue: function (e, t) {
1386            t = t || "fx";
1387            var n = w.queue(e, t),
1388                r = n.length,
1389                i = n.shift(),
1390                o = w._queueHooks(e, t),
1391                a = function () {
1392                    w.dequeue(e, t)
1393                };
1394            "inprogress" === i && (i = n.shift(), r--), i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, a, o)), !r && o && o.empty.fire()
1395        },
1396        _queueHooks: function (e, t) {
1397            var n = t + "queueHooks";
1398            return J.get(e, n) || J.access(e, n, {
1399                empty: w.Callbacks("once memory").add(function () {
1400                    J.remove(e, [t + "queue", n])
1401                })
1402            })
1403        }
1404    }), w.fn.extend({
1405        queue: function (e, t) {
1406            var n = 2;
1407            return "string" != typeof e && (t = e, e = "fx", n--), arguments.length < n ? w.queue(this[0], e) : void 0 === t ? this : this.each(function () {
1408                var n = w.queue(this, e, t);
1409                w._queueHooks(this, e), "fx" === e && "inprogress" !== n[0] && w.dequeue(this, e)
1410            })
1411        },
1412        dequeue: function (e) {
1413            return this.each(function () {
1414                w.dequeue(this, e)
1415            })
1416        },
1417        clearQueue: function (e) {
1418            return this.queue(e || "fx", [])
1419        },
1420        promise: function (e, t) {
1421            var n, r = 1,
1422                i = w.Deferred(),
1423                o = this,
1424                a = this.length,
1425                s = function () {
1426                    --r || i.resolveWith(o, [o])
1427                };
1428            "string" != typeof e && (t = e, e = void 0), e = e || "fx";
1429            while (a--)(n = J.get(o[a], e + "queueHooks")) && n.empty && (r++, n.empty.add(s));
1430            return s(), i.promise(t)
1431        }
1432    });
1433    var re = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
1434        ie = new RegExp("^(?:([+-])=|)(" + re + ")([a-z%]*)$", "i"),
1435        oe = ["Top", "Right", "Bottom", "Left"],
1436        ae = function (e, t) {
1437            return "none" === (e = t || e).style.display || "" === e.style.display && w.contains(e.ownerDocument, e) && "none" === w.css(e, "display")
1438        },
1439        se = function (e, t, n, r) {
1440            var i, o, a = {};
1441            for (o in t) a[o] = e.style[o], e.style[o] = t[o];
1442            i = n.apply(e, r || []);
1443            for (o in t) e.style[o] = a[o];
1444            return i
1445        };
1446
1447    function ue(e, t, n, r) {
1448        var i, o, a = 20,
1449            s = r ? function () {
1450                return r.cur()
1451            } : function () {
1452                return w.css(e, t, "")
1453            },
1454            u = s(),
1455            l = n && n[3] || (w.cssNumber[t] ? "" : "px"),
1456            c = (w.cssNumber[t] || "px" !== l && +u) && ie.exec(w.css(e, t));
1457        if (c && c[3] !== l) {
1458            u /= 2, l = l || c[3], c = +u || 1;
1459            while (a--) w.style(e, t, c + l), (1 - o) * (1 - (o = s() / u || .5)) <= 0 && (a = 0), c /= o;
1460            c *= 2, w.style(e, t, c + l), n = n || []
1461        }
1462        return n && (c = +c || +u || 0, i = n[1] ? c + (n[1] + 1) * n[2] : +n[2], r && (r.unit = l, r.start = c, r.end = i)), i
1463    }
1464    var le = {};
1465
1466    function ce(e) {
1467        var t, n = e.ownerDocument,
1468            r = e.nodeName,
1469            i = le[r];
1470        return i || (t = n.body.appendChild(n.createElement(r)), i = w.css(t, "display"), t.parentNode.removeChild(t), "none" === i && (i = "block"), le[r] = i, i)
1471    }
1472
1473    function fe(e, t) {
1474        for (var n, r, i = [], o = 0, a = e.length; o < a; o++)(r = e[o]).style && (n = r.style.display, t ? ("none" === n && (i[o] = J.get(r, "display") || null, i[o] || (r.style.display = "")), "" === r.style.display && ae(r) && (i[o] = ce(r))) : "none" !== n && (i[o] = "none", J.set(r, "display", n)));
1475        for (o = 0; o < a; o++) null != i[o] && (e[o].style.display = i[o]);
1476        return e
1477    }
1478    w.fn.extend({
1479        show: function () {
1480            return fe(this, !0)
1481        },
1482        hide: function () {
1483            return fe(this)
1484        },
1485        toggle: function (e) {
1486            return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function () {
1487                ae(this) ? w(this).show() : w(this).hide()
1488            })
1489        }
1490    });
1491    var pe = /^(?:checkbox|radio)$/i,
1492        de = /<([a-z][^\/\0>\x20\t\r\n\f]+)/i,
1493        he = /^$|^module$|\/(?:java|ecma)script/i,
1494        ge = {
1495            option: [1, "<select multiple='multiple'>", "</select>"],
1496            thead: [1, "<table>", "</table>"],
1497            col: [2, "<table><colgroup>", "</colgroup></table>"],
1498            tr: [2, "<table><tbody>", "</tbody></table>"],
1499            td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
1500            _default: [0, "", ""]
1501        };
1502    ge.optgroup = ge.option, ge.tbody = ge.tfoot = ge.colgroup = ge.caption = ge.thead, ge.th = ge.td;
1503
1504    function ye(e, t) {
1505        var n;
1506        return n = "undefined" != typeof e.getElementsByTagName ? e.getElementsByTagName(t || "*") : "undefined" != typeof e.querySelectorAll ? e.querySelectorAll(t || "*") : [], void 0 === t || t && N(e, t) ? w.merge([e], n) : n
1507    }
1508
1509    function ve(e, t) {
1510        for (var n = 0, r = e.length; n < r; n++) J.set(e[n], "globalEval", !t || J.get(t[n], "globalEval"))
1511    }
1512    var me = /<|&#?\w+;/;
1513
1514    function xe(e, t, n, r, i) {
1515        for (var o, a, s, u, l, c, f = t.createDocumentFragment(), p = [], d = 0, h = e.length; d < h; d++)
1516            if ((o = e[d]) || 0 === o)
1517                if ("object" === x(o)) w.merge(p, o.nodeType ? [o] : o);
1518                else if (me.test(o)) {
1519            a = a || f.appendChild(t.createElement("div")), s = (de.exec(o) || ["", ""])[1].toLowerCase(), u = ge[s] || ge._default, a.innerHTML = u[1] + w.htmlPrefilter(o) + u[2], c = u[0];
1520            while (c--) a = a.lastChild;
1521            w.merge(p, a.childNodes), (a = f.firstChild).textContent = ""
1522        } else p.push(t.createTextNode(o));
1523        f.textContent = "", d = 0;
1524        while (o = p[d++])
1525            if (r && w.inArray(o, r) > -1) i && i.push(o);
1526            else if (l = w.contains(o.ownerDocument, o), a = ye(f.appendChild(o), "script"), l && ve(a), n) {
1527            c = 0;
1528            while (o = a[c++]) he.test(o.type || "") && n.push(o)
1529        }
1530        return f
1531    }! function () {
1532        var e = r.createDocumentFragment().appendChild(r.createElement("div")),
1533            t = r.createElement("input");
1534        t.setAttribute("type", "radio"), t.setAttribute("checked", "checked"), t.setAttribute("name", "t"), e.appendChild(t), h.checkClone = e.cloneNode(!0).cloneNode(!0).lastChild.checked, e.innerHTML = "<textarea>x</textarea>", h.noCloneChecked = !!e.cloneNode(!0).lastChild.defaultValue
1535    }();
1536    var be = r.documentElement,
1537        we = /^key/,
1538        Te = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
1539        Ce = /^([^.]*)(?:\.(.+)|)/;
1540
1541    function Ee() {
1542        return !0
1543    }
1544
1545    function ke() {
1546        return !1
1547    }
1548
1549    function Se() {
1550        try {
1551            return r.activeElement
1552        } catch (e) {}
1553    }
1554
1555    function De(e, t, n, r, i, o) {
1556        var a, s;
1557        if ("object" == typeof t) {
1558            "string" != typeof n && (r = r || n, n = void 0);
1559            for (s in t) De(e, s, n, r, t[s], o);
1560            return e
1561        }
1562        if (null == r && null == i ? (i = n, r = n = void 0) : null == i && ("string" == typeof n ? (i = r, r = void 0) : (i = r, r = n, n = void 0)), !1 === i) i = ke;
1563        else if (!i) return e;
1564        return 1 === o && (a = i, (i = function (e) {
1565            return w().off(e), a.apply(this, arguments)
1566        }).guid = a.guid || (a.guid = w.guid++)), e.each(function () {
1567            w.event.add(this, t, i, r, n)
1568        })
1569    }
1570    w.event = {
1571        global: {},
1572        add: function (e, t, n, r, i) {
1573            var o, a, s, u, l, c, f, p, d, h, g, y = J.get(e);
1574            if (y) {
1575                n.handler && (n = (o = n).handler, i = o.selector), i && w.find.matchesSelector(be, i), n.guid || (n.guid = w.guid++), (u = y.events) || (u = y.events = {}), (a = y.handle) || (a = y.handle = function (t) {
1576                    return "undefined" != typeof w && w.event.triggered !== t.type ? w.event.dispatch.apply(e, arguments) : void 0
1577                }), l = (t = (t || "").match(M) || [""]).length;
1578                while (l--) d = g = (s = Ce.exec(t[l]) || [])[1], h = (s[2] || "").split(".").sort(), d && (f = w.event.special[d] || {}, d = (i ? f.delegateType : f.bindType) || d, f = w.event.special[d] || {}, c = w.extend({
1579                    type: d,
1580                    origType: g,
1581                    data: r,
1582                    handler: n,
1583                    guid: n.guid,
1584                    selector: i,
1585                    needsContext: i && w.expr.match.needsContext.test(i),
1586                    namespace: h.join(".")
1587                }, o), (p = u[d]) || ((p = u[d] = []).delegateCount = 0, f.setup && !1 !== f.setup.call(e, r, h, a) || e.addEventListener && e.addEventListener(d, a)), f.add && (f.add.call(e, c), c.handler.guid || (c.handler.guid = n.guid)), i ? p.splice(p.delegateCount++, 0, c) : p.push(c), w.event.global[d] = !0)
1588            }
1589        },
1590        remove: function (e, t, n, r, i) {
1591            var o, a, s, u, l, c, f, p, d, h, g, y = J.hasData(e) && J.get(e);
1592            if (y && (u = y.events)) {
1593                l = (t = (t || "").match(M) || [""]).length;
1594                while (l--)
1595                    if (s = Ce.exec(t[l]) || [], d = g = s[1], h = (s[2] || "").split(".").sort(), d) {
1596                        f = w.event.special[d] || {}, p = u[d = (r ? f.delegateType : f.bindType) || d] || [], s = s[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), a = o = p.length;
1597                        while (o--) c = p[o], !i && g !== c.origType || n && n.guid !== c.guid || s && !s.test(c.namespace) || r && r !== c.selector && ("**" !== r || !c.selector) || (p.splice(o, 1), c.selector && p.delegateCount--, f.remove && f.remove.call(e, c));
1598                        a && !p.length && (f.teardown && !1 !== f.teardown.call(e, h, y.handle) || w.removeEvent(e, d, y.handle), delete u[d])
1599                    } else
1600                        for (d in u) w.event.remove(e, d + t[l], n, r, !0);
1601                w.isEmptyObject(u) && J.remove(e, "handle events")
1602            }
1603        },
1604        dispatch: function (e) {
1605            var t = w.event.fix(e),
1606                n, r, i, o, a, s, u = new Array(arguments.length),
1607                l = (J.get(this, "events") || {})[t.type] || [],
1608                c = w.event.special[t.type] || {};
1609            for (u[0] = t, n = 1; n < arguments.length; n++) u[n] = arguments[n];
1610            if (t.delegateTarget = this, !c.preDispatch || !1 !== c.preDispatch.call(this, t)) {
1611                s = w.event.handlers.call(this, t, l), n = 0;
1612                while ((o = s[n++]) && !t.isPropagationStopped()) {
1613                    t.currentTarget = o.elem, r = 0;
1614                    while ((a = o.handlers[r++]) && !t.isImmediatePropagationStopped()) t.rnamespace && !t.rnamespace.test(a.namespace) || (t.handleObj = a, t.data = a.data, void 0 !== (i = ((w.event.special[a.origType] || {}).handle || a.handler).apply(o.elem, u)) && !1 === (t.result = i) && (t.preventDefault(), t.stopPropagation()))
1615                }
1616                return c.postDispatch && c.postDispatch.call(this, t), t.result
1617            }
1618        },
1619        handlers: function (e, t) {
1620            var n, r, i, o, a, s = [],
1621                u = t.delegateCount,
1622                l = e.target;
1623            if (u && l.nodeType && !("click" === e.type && e.button >= 1))
1624                for (; l !== this; l = l.parentNode || this)
1625                    if (1 === l.nodeType && ("click" !== e.type || !0 !== l.disabled)) {
1626                        for (o = [], a = {}, n = 0; n < u; n++) void 0 === a[i = (r = t[n]).selector + " "] && (a[i] = r.needsContext ? w(i, this).index(l) > -1 : w.find(i, this, null, [l]).length), a[i] && o.push(r);
1627                        o.length && s.push({
1628                            elem: l,
1629                            handlers: o
1630                        })
1631                    } return l = this, u < t.length && s.push({
1632                elem: l,
1633                handlers: t.slice(u)
1634            }), s
1635        },
1636        addProp: function (e, t) {
1637            Object.defineProperty(w.Event.prototype, e, {
1638                enumerable: !0,
1639                configurable: !0,
1640                get: g(t) ? function () {
1641                    if (this.originalEvent) return t(this.originalEvent)
1642                } : function () {
1643                    if (this.originalEvent) return this.originalEvent[e]
1644                },
1645                set: function (t) {
1646                    Object.defineProperty(this, e, {
1647                        enumerable: !0,
1648                        configurable: !0,
1649                        writable: !0,
1650                        value: t
1651                    })
1652                }
1653            })
1654        },
1655        fix: function (e) {
1656            return e[w.expando] ? e : new w.Event(e)
1657        },
1658        special: {
1659            load: {
1660                noBubble: !0
1661            },
1662            focus: {
1663                trigger: function () {
1664                    if (this !== Se() && this.focus) return this.focus(), !1
1665                },
1666                delegateType: "focusin"
1667            },
1668            blur: {
1669                trigger: function () {
1670                    if (this === Se() && this.blur) return this.blur(), !1
1671                },
1672                delegateType: "focusout"
1673            },
1674            click: {
1675                trigger: function () {
1676                    if ("checkbox" === this.type && this.click && N(this, "input")) return this.click(), !1
1677                },
1678                _default: function (e) {
1679                    return N(e.target, "a")
1680                }
1681            },
1682            beforeunload: {
1683                postDispatch: function (e) {
1684                    void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result)
1685                }
1686            }
1687        }
1688    }, w.removeEvent = function (e, t, n) {
1689        e.removeEventListener && e.removeEventListener(t, n)
1690    }, w.Event = function (e, t) {
1691        if (!(this instanceof w.Event)) return new w.Event(e, t);
1692        e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? Ee : ke, 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 && w.extend(this, t), this.timeStamp = e && e.timeStamp || Date.now(), this[w.expando] = !0
1693    }, w.Event.prototype = {
1694        constructor: w.Event,
1695        isDefaultPrevented: ke,
1696        isPropagationStopped: ke,
1697        isImmediatePropagationStopped: ke,
1698        isSimulated: !1,
1699        preventDefault: function () {
1700            var e = this.originalEvent;
1701            this.isDefaultPrevented = Ee, e && !this.isSimulated && e.preventDefault()
1702        },
1703        stopPropagation: function () {
1704            var e = this.originalEvent;
1705            this.isPropagationStopped = Ee, e && !this.isSimulated && e.stopPropagation()
1706        },
1707        stopImmediatePropagation: function () {
1708            var e = this.originalEvent;
1709            this.isImmediatePropagationStopped = Ee, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation()
1710        }
1711    }, w.each({
1712        altKey: !0,
1713        bubbles: !0,
1714        cancelable: !0,
1715        changedTouches: !0,
1716        ctrlKey: !0,
1717        detail: !0,
1718        eventPhase: !0,
1719        metaKey: !0,
1720        pageX: !0,
1721        pageY: !0,
1722        shiftKey: !0,
1723        view: !0,
1724        "char": !0,
1725        charCode: !0,
1726        key: !0,
1727        keyCode: !0,
1728        button: !0,
1729        buttons: !0,
1730        clientX: !0,
1731        clientY: !0,
1732        offsetX: !0,
1733        offsetY: !0,
1734        pointerId: !0,
1735        pointerType: !0,
1736        screenX: !0,
1737        screenY: !0,
1738        targetTouches: !0,
1739        toElement: !0,
1740        touches: !0,
1741        which: function (e) {
1742            var t = e.button;
1743            return null == e.which && we.test(e.type) ? null != e.charCode ? e.charCode : e.keyCode : !e.which && void 0 !== t && Te.test(e.type) ? 1 & t ? 1 : 2 & t ? 3 : 4 & t ? 2 : 0 : e.which
1744        }
1745    }, w.event.addProp), w.each({
1746        mouseenter: "mouseover",
1747        mouseleave: "mouseout",
1748        pointerenter: "pointerover",
1749        pointerleave: "pointerout"
1750    }, function (e, t) {
1751        w.event.special[e] = {
1752            delegateType: t,
1753            bindType: t,
1754            handle: function (e) {
1755                var n, r = this,
1756                    i = e.relatedTarget,
1757                    o = e.handleObj;
1758                return i && (i === r || w.contains(r, i)) || (e.type = o.origType, n = o.handler.apply(this, arguments), e.type = t), n
1759            }
1760        }
1761    }), w.fn.extend({
1762        on: function (e, t, n, r) {
1763            return De(this, e, t, n, r)
1764        },
1765        one: function (e, t, n, r) {
1766            return De(this, e, t, n, r, 1)
1767        },
1768        off: function (e, t, n) {
1769            var r, i;
1770            if (e && e.preventDefault && e.handleObj) return r = e.handleObj, w(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this;
1771            if ("object" == typeof e) {
1772                for (i in e) this.off(i, t, e[i]);
1773                return this
1774            }
1775            return !1 !== t && "function" != typeof t || (n = t, t = void 0), !1 === n && (n = ke), this.each(function () {
1776                w.event.remove(this, e, n, t)
1777            })
1778        }
1779    });
1780    var Ne = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
1781        Ae = /<script|<style|<link/i,
1782        je = /checked\s*(?:[^=]|=\s*.checked.)/i,
1783        qe = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
1784
1785    function Le(e, t) {
1786        return N(e, "table") && N(11 !== t.nodeType ? t : t.firstChild, "tr") ? w(e).children("tbody")[0] || e : e
1787    }
1788
1789    function He(e) {
1790        return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e
1791    }
1792
1793    function Oe(e) {
1794        return "true/" === (e.type || "").slice(0, 5) ? e.type = e.type.slice(5) : e.removeAttribute("type"), e
1795    }
1796
1797    function Pe(e, t) {
1798        var n, r, i, o, a, s, u, l;
1799        if (1 === t.nodeType) {
1800            if (J.hasData(e) && (o = J.access(e), a = J.set(t, o), l = o.events)) {
1801                delete a.handle, a.events = {};
1802                for (i in l)
1803                    for (n = 0, r = l[i].length; n < r; n++) w.event.add(t, i, l[i][n])
1804            }
1805            K.hasData(e) && (s = K.access(e), u = w.extend({}, s), K.set(t, u))
1806        }
1807    }
1808
1809    function Me(e, t) {
1810        var n = t.nodeName.toLowerCase();
1811        "input" === n && pe.test(e.type) ? t.checked = e.checked : "input" !== n && "textarea" !== n || (t.defaultValue = e.defaultValue)
1812    }
1813
1814    function Re(e, t, n, r) {
1815        t = a.apply([], t);
1816        var i, o, s, u, l, c, f = 0,
1817            p = e.length,
1818            d = p - 1,
1819            y = t[0],
1820            v = g(y);
1821        if (v || p > 1 && "string" == typeof y && !h.checkClone && je.test(y)) return e.each(function (i) {
1822            var o = e.eq(i);
1823            v && (t[0] = y.call(this, i, o.html())), Re(o, t, n, r)
1824        });
1825        if (p && (i = xe(t, e[0].ownerDocument, !1, e, r), o = i.firstChild, 1 === i.childNodes.length && (i = o), o || r)) {
1826            for (u = (s = w.map(ye(i, "script"), He)).length; f < p; f++) l = i, f !== d && (l = w.clone(l, !0, !0), u && w.merge(s, ye(l, "script"))), n.call(e[f], l, f);
1827            if (u)
1828                for (c = s[s.length - 1].ownerDocument, w.map(s, Oe), f = 0; f < u; f++) l = s[f], he.test(l.type || "") && !J.access(l, "globalEval") && w.contains(c, l) && (l.src && "module" !== (l.type || "").toLowerCase() ? w._evalUrl && w._evalUrl(l.src) : m(l.textContent.replace(qe, ""), c, l))
1829        }
1830        return e
1831    }
1832
1833    function Ie(e, t, n) {
1834        for (var r, i = t ? w.filter(t, e) : e, o = 0; null != (r = i[o]); o++) n || 1 !== r.nodeType || w.cleanData(ye(r)), r.parentNode && (n && w.contains(r.ownerDocument, r) && ve(ye(r, "script")), r.parentNode.removeChild(r));
1835        return e
1836    }
1837    w.extend({
1838        htmlPrefilter: function (e) {
1839            return e.replace(Ne, "<$1></$2>")
1840        },
1841        clone: function (e, t, n) {
1842            var r, i, o, a, s = e.cloneNode(!0),
1843                u = w.contains(e.ownerDocument, e);
1844            if (!(h.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || w.isXMLDoc(e)))
1845                for (a = ye(s), r = 0, i = (o = ye(e)).length; r < i; r++) Me(o[r], a[r]);
1846            if (t)
1847                if (n)
1848                    for (o = o || ye(e), a = a || ye(s), r = 0, i = o.length; r < i; r++) Pe(o[r], a[r]);
1849                else Pe(e, s);
1850            return (a = ye(s, "script")).length > 0 && ve(a, !u && ye(e, "script")), s
1851        },
1852        cleanData: function (e) {
1853            for (var t, n, r, i = w.event.special, o = 0; void 0 !== (n = e[o]); o++)
1854                if (Y(n)) {
1855                    if (t = n[J.expando]) {
1856                        if (t.events)
1857                            for (r in t.events) i[r] ? w.event.remove(n, r) : w.removeEvent(n, r, t.handle);
1858                        n[J.expando] = void 0
1859                    }
1860                    n[K.expando] && (n[K.expando] = void 0)
1861                }
1862        }
1863    }), w.fn.extend({
1864        detach: function (e) {
1865            return Ie(this, e, !0)
1866        },
1867        remove: function (e) {
1868            return Ie(this, e)
1869        },
1870        text: function (e) {
1871            return z(this, function (e) {
1872                return void 0 === e ? w.text(this) : this.empty().each(function () {
1873                    1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e)
1874                })
1875            }, null, e, arguments.length)
1876        },
1877        append: function () {
1878            return Re(this, arguments, function (e) {
1879                1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || Le(this, e).appendChild(e)
1880            })
1881        },
1882        prepend: function () {
1883            return Re(this, arguments, function (e) {
1884                if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
1885                    var t = Le(this, e);
1886                    t.insertBefore(e, t.firstChild)
1887                }
1888            })
1889        },
1890        before: function () {
1891            return Re(this, arguments, function (e) {
1892                this.parentNode && this.parentNode.insertBefore(e, this)
1893            })
1894        },
1895        after: function () {
1896            return Re(this, arguments, function (e) {
1897                this.parentNode && this.parentNode.insertBefore(e, this.nextSibling)
1898            })
1899        },
1900        empty: function () {
1901            for (var e, t = 0; null != (e = this[t]); t++) 1 === e.nodeType && (w.cleanData(ye(e, !1)), e.textContent = "");
1902            return this
1903        },
1904        clone: function (e, t) {
1905            return e = null != e && e, t = null == t ? e : t, this.map(function () {
1906                return w.clone(this, e, t)
1907            })
1908        },
1909        html: function (e) {
1910            return z(this, function (e) {
1911                var t = this[0] || {},
1912                    n = 0,
1913                    r = this.length;
1914                if (void 0 === e && 1 === t.nodeType) return t.innerHTML;
1915                if ("string" == typeof e && !Ae.test(e) && !ge[(de.exec(e) || ["", ""])[1].toLowerCase()]) {
1916                    e = w.htmlPrefilter(e);
1917                    try {
1918                        for (; n < r; n++) 1 === (t = this[n] || {}).nodeType && (w.cleanData(ye(t, !1)), t.innerHTML = e);
1919                        t = 0
1920                    } catch (e) {}
1921                }
1922                t && this.empty().append(e)
1923            }, null, e, arguments.length)
1924        },
1925        replaceWith: function () {
1926            var e = [];
1927            return Re(this, arguments, function (t) {
1928                var n = this.parentNode;
1929                w.inArray(this, e) < 0 && (w.cleanData(ye(this)), n && n.replaceChild(t, this))
1930            }, e)
1931        }
1932    }), w.each({
1933        appendTo: "append",
1934        prependTo: "prepend",
1935        insertBefore: "before",
1936        insertAfter: "after",
1937        replaceAll: "replaceWith"
1938    }, function (e, t) {
1939        w.fn[e] = function (e) {
1940            for (var n, r = [], i = w(e), o = i.length - 1, a = 0; a <= o; a++) n = a === o ? this : this.clone(!0), w(i[a])[t](n), s.apply(r, n.get());
1941            return this.pushStack(r)
1942        }
1943    });
1944    var We = new RegExp("^(" + re + ")(?!px)[a-z%]+$", "i"),
1945        $e = function (t) {
1946            var n = t.ownerDocument.defaultView;
1947            return n && n.opener || (n = e), n.getComputedStyle(t)
1948        },
1949        Be = new RegExp(oe.join("|"), "i");
1950    ! function () {
1951        function t() {
1952            if (c) {
1953                l.style.cssText = "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0", c.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%", be.appendChild(l).appendChild(c);
1954                var t = e.getComputedStyle(c);
1955                i = "1%" !== t.top, u = 12 === n(t.marginLeft), c.style.right = "60%", s = 36 === n(t.right), o = 36 === n(t.width), c.style.position = "absolute", a = 36 === c.offsetWidth || "absolute", be.removeChild(l), c = null
1956            }
1957        }
1958
1959        function n(e) {
1960            return Math.round(parseFloat(e))
1961        }
1962        var i, o, a, s, u, l = r.createElement("div"),
1963            c = r.createElement("div");
1964        c.style && (c.style.backgroundClip = "content-box", c.cloneNode(!0).style.backgroundClip = "", h.clearCloneStyle = "content-box" === c.style.backgroundClip, w.extend(h, {
1965            boxSizingReliable: function () {
1966                return t(), o
1967            },
1968            pixelBoxStyles: function () {
1969                return t(), s
1970            },
1971            pixelPosition: function () {
1972                return t(), i
1973            },
1974            reliableMarginLeft: function () {
1975                return t(), u
1976            },
1977            scrollboxSize: function () {
1978                return t(), a
1979            }
1980        }))
1981    }();
1982
1983    function Fe(e, t, n) {
1984        var r, i, o, a, s = e.style;
1985        return (n = n || $e(e)) && ("" !== (a = n.getPropertyValue(t) || n[t]) || w.contains(e.ownerDocument, e) || (a = w.style(e, t)), !h.pixelBoxStyles() && We.test(a) && Be.test(t) && (r = s.width, i = s.minWidth, o = s.maxWidth, s.minWidth = s.maxWidth = s.width = a, a = n.width, s.width = r, s.minWidth = i, s.maxWidth = o)), void 0 !== a ? a + "" : a
1986    }
1987
1988    function _e(e, t) {
1989        return {
1990            get: function () {
1991                if (!e()) return (this.get = t).apply(this, arguments);
1992                delete this.get
1993            }
1994        }
1995    }
1996    var ze = /^(none|table(?!-c[ea]).+)/,
1997        Xe = /^--/,
1998        Ue = {
1999            position: "absolute",
2000            visibility: "hidden",
2001            display: "block"
2002        },
2003        Ve = {
2004            letterSpacing: "0",
2005            fontWeight: "400"
2006        },
2007        Ge = ["Webkit", "Moz", "ms"],
2008        Ye = r.createElement("div").style;
2009
2010    function Qe(e) {
2011        if (e in Ye) return e;
2012        var t = e[0].toUpperCase() + e.slice(1),
2013            n = Ge.length;
2014        while (n--)
2015            if ((e = Ge[n] + t) in Ye) return e
2016    }
2017
2018    function Je(e) {
2019        var t = w.cssProps[e];
2020        return t || (t = w.cssProps[e] = Qe(e) || e), t
2021    }
2022
2023    function Ke(e, t, n) {
2024        var r = ie.exec(t);
2025        return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t
2026    }
2027
2028    function Ze(e, t, n, r, i, o) {
2029        var a = "width" === t ? 1 : 0,
2030            s = 0,
2031            u = 0;
2032        if (n === (r ? "border" : "content")) return 0;
2033        for (; a < 4; a += 2) "margin" === n && (u += w.css(e, n + oe[a], !0, i)), r ? ("content" === n && (u -= w.css(e, "padding" + oe[a], !0, i)), "margin" !== n && (u -= w.css(e, "border" + oe[a] + "Width", !0, i))) : (u += w.css(e, "padding" + oe[a], !0, i), "padding" !== n ? u += w.css(e, "border" + oe[a] + "Width", !0, i) : s += w.css(e, "border" + oe[a] + "Width", !0, i));
2034        return !r && o >= 0 && (u += Math.max(0, Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - o - u - s - .5))), u
2035    }
2036
2037    function et(e, t, n) {
2038        var r = $e(e),
2039            i = Fe(e, t, r),
2040            o = "border-box" === w.css(e, "boxSizing", !1, r),
2041            a = o;
2042        if (We.test(i)) {
2043            if (!n) return i;
2044            i = "auto"
2045        }
2046        return a = a && (h.boxSizingReliable() || i === e.style[t]), ("auto" === i || !parseFloat(i) && "inline" === w.css(e, "display", !1, r)) && (i = e["offset" + t[0].toUpperCase() + t.slice(1)], a = !0), (i = parseFloat(i) || 0) + Ze(e, t, n || (o ? "border" : "content"), a, r, i) + "px"
2047    }
2048    w.extend({
2049        cssHooks: {
2050            opacity: {
2051                get: function (e, t) {
2052                    if (t) {
2053                        var n = Fe(e, "opacity");
2054                        return "" === n ? "1" : n
2055                    }
2056                }
2057            }
2058        },
2059        cssNumber: {
2060            animationIterationCount: !0,
2061            columnCount: !0,
2062            fillOpacity: !0,
2063            flexGrow: !0,
2064            flexShrink: !0,
2065            fontWeight: !0,
2066            lineHeight: !0,
2067            opacity: !0,
2068            order: !0,
2069            orphans: !0,
2070            widows: !0,
2071            zIndex: !0,
2072            zoom: !0
2073        },
2074        cssProps: {},
2075        style: function (e, t, n, r) {
2076            if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) {
2077                var i, o, a, s = G(t),
2078                    u = Xe.test(t),
2079                    l = e.style;
2080                if (u || (t = Je(s)), a = w.cssHooks[t] || w.cssHooks[s], void 0 === n) return a && "get" in a && void 0 !== (i = a.get(e, !1, r)) ? i : l[t];
2081                "string" == (o = typeof n) && (i = ie.exec(n)) && i[1] && (n = ue(e, t, i), o = "number"), null != n && n === n && ("number" === o && (n += i && i[3] || (w.cssNumber[s] ? "" : "px")), h.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (l[t] = "inherit"), a && "set" in a && void 0 === (n = a.set(e, n, r)) || (u ? l.setProperty(t, n) : l[t] = n))
2082            }
2083        },
2084        css: function (e, t, n, r) {
2085            var i, o, a, s = G(t);
2086            return Xe.test(t) || (t = Je(s)), (a = w.cssHooks[t] || w.cssHooks[s]) && "get" in a && (i = a.get(e, !0, n)), void 0 === i && (i = Fe(e, t, r)), "normal" === i && t in Ve && (i = Ve[t]), "" === n || n ? (o = parseFloat(i), !0 === n || isFinite(o) ? o || 0 : i) : i
2087        }
2088    }), w.each(["height", "width"], function (e, t) {
2089        w.cssHooks[t] = {
2090            get: function (e, n, r) {
2091                if (n) return !ze.test(w.css(e, "display")) || e.getClientRects().length && e.getBoundingClientRect().width ? et(e, t, r) : se(e, Ue, function () {
2092                    return et(e, t, r)
2093                })
2094            },
2095            set: function (e, n, r) {
2096                var i, o = $e(e),
2097                    a = "border-box" === w.css(e, "boxSizing", !1, o),
2098                    s = r && Ze(e, t, r, a, o);
2099                return a && h.scrollboxSize() === o.position && (s -= Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - parseFloat(o[t]) - Ze(e, t, "border", !1, o) - .5)), s && (i = ie.exec(n)) && "px" !== (i[3] || "px") && (e.style[t] = n, n = w.css(e, t)), Ke(e, n, s)
2100            }
2101        }
2102    }), w.cssHooks.marginLeft = _e(h.reliableMarginLeft, function (e, t) {
2103        if (t) return (parseFloat(Fe(e, "marginLeft")) || e.getBoundingClientRect().left - se(e, {
2104            marginLeft: 0
2105        }, function () {
2106            return e.getBoundingClientRect().left
2107        })) + "px"
2108    }), w.each({
2109        margin: "",
2110        padding: "",
2111        border: "Width"
2112    }, function (e, t) {
2113        w.cssHooks[e + t] = {
2114            expand: function (n) {
2115                for (var r = 0, i = {}, o = "string" == typeof n ? n.split(" ") : [n]; r < 4; r++) i[e + oe[r] + t] = o[r] || o[r - 2] || o[0];
2116                return i
2117            }
2118        }, "margin" !== e && (w.cssHooks[e + t].set = Ke)
2119    }), w.fn.extend({
2120        css: function (e, t) {
2121            return z(this, function (e, t, n) {
2122                var r, i, o = {},
2123                    a = 0;
2124                if (Array.isArray(t)) {
2125                    for (r = $e(e), i = t.length; a < i; a++) o[t[a]] = w.css(e, t[a], !1, r);
2126                    return o
2127                }
2128                return void 0 !== n ? w.style(e, t, n) : w.css(e, t)
2129            }, e, t, arguments.length > 1)
2130        }
2131    });
2132
2133    function tt(e, t, n, r, i) {
2134        return new tt.prototype.init(e, t, n, r, i)
2135    }
2136    w.Tween = tt, tt.prototype = {
2137        constructor: tt,
2138        init: function (e, t, n, r, i, o) {
2139            this.elem = e, this.prop = n, this.easing = i || w.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = o || (w.cssNumber[n] ? "" : "px")
2140        },
2141        cur: function () {
2142            var e = tt.propHooks[this.prop];
2143            return e && e.get ? e.get(this) : tt.propHooks._default.get(this)
2144        },
2145        run: function (e) {
2146            var t, n = tt.propHooks[this.prop];
2147            return this.options.duration ? this.pos = t = w.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) : tt.propHooks._default.set(this), this
2148        }
2149    }, tt.prototype.init.prototype = tt.prototype, tt.propHooks = {
2150        _default: {
2151            get: function (e) {
2152                var t;
2153                return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (t = w.css(e.elem, e.prop, "")) && "auto" !== t ? t : 0
2154            },
2155            set: function (e) {
2156                w.fx.step[e.prop] ? w.fx.step[e.prop](e) : 1 !== e.elem.nodeType || null == e.elem.style[w.cssProps[e.prop]] && !w.cssHooks[e.prop] ? e.elem[e.prop] = e.now : w.style(e.elem, e.prop, e.now + e.unit)
2157            }
2158        }
2159    }, tt.propHooks.scrollTop = tt.propHooks.scrollLeft = {
2160        set: function (e) {
2161            e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now)
2162        }
2163    }, w.easing = {
2164        linear: function (e) {
2165            return e
2166        },
2167        swing: function (e) {
2168            return .5 - Math.cos(e * Math.PI) / 2
2169        },
2170        _default: "swing"
2171    }, w.fx = tt.prototype.init, w.fx.step = {};
2172    var nt, rt, it = /^(?:toggle|show|hide)$/,
2173        ot = /queueHooks$/;
2174
2175    function at() {
2176        rt && (!1 === r.hidden && e.requestAnimationFrame ? e.requestAnimationFrame(at) : e.setTimeout(at, w.fx.interval), w.fx.tick())
2177    }
2178
2179    function st() {
2180        return e.setTimeout(function () {
2181            nt = void 0
2182        }), nt = Date.now()
2183    }
2184
2185    function ut(e, t) {
2186        var n, r = 0,
2187            i = {
2188                height: e
2189            };
2190        for (t = t ? 1 : 0; r < 4; r += 2 - t) i["margin" + (n = oe[r])] = i["padding" + n] = e;
2191        return t && (i.opacity = i.width = e), i
2192    }
2193
2194    function lt(e, t, n) {
2195        for (var r, i = (pt.tweeners[t] || []).concat(pt.tweeners["*"]), o = 0, a = i.length; o < a; o++)
2196            if (r = i[o].call(n, t, e)) return r
2197    }
2198
2199    function ct(e, t, n) {
2200        var r, i, o, a, s, u, l, c, f = "width" in t || "height" in t,
2201            p = this,
2202            d = {},
2203            h = e.style,
2204            g = e.nodeType && ae(e),
2205            y = J.get(e, "fxshow");
2206        n.queue || (null == (a = w._queueHooks(e, "fx")).unqueued && (a.unqueued = 0, s = a.empty.fire, a.empty.fire = function () {
2207            a.unqueued || s()
2208        }), a.unqueued++, p.always(function () {
2209            p.always(function () {
2210                a.unqueued--, w.queue(e, "fx").length || a.empty.fire()
2211            })
2212        }));
2213        for (r in t)
2214            if (i = t[r], it.test(i)) {
2215                if (delete t[r], o = o || "toggle" === i, i === (g ? "hide" : "show")) {
2216                    if ("show" !== i || !y || void 0 === y[r]) continue;
2217                    g = !0
2218                }
2219                d[r] = y && y[r] || w.style(e, r)
2220            } if ((u = !w.isEmptyObject(t)) || !w.isEmptyObject(d)) {
2221            f && 1 === e.nodeType && (n.overflow = [h.overflow, h.overflowX, h.overflowY], null == (l = y && y.display) && (l = J.get(e, "display")), "none" === (c = w.css(e, "display")) && (l ? c = l : (fe([e], !0), l = e.style.display || l, c = w.css(e, "display"), fe([e]))), ("inline" === c || "inline-block" === c && null != l) && "none" === w.css(e, "float") && (u || (p.done(function () {
2222                h.display = l
2223            }), null == l && (c = h.display, l = "none" === c ? "" : c)), h.display = "inline-block")), n.overflow && (h.overflow = "hidden", p.always(function () {
2224                h.overflow = n.overflow[0], h.overflowX = n.overflow[1], h.overflowY = n.overflow[2]
2225            })), u = !1;
2226            for (r in d) u || (y ? "hidden" in y && (g = y.hidden) : y = J.access(e, "fxshow", {
2227                display: l
2228            }), o && (y.hidden = !g), g && fe([e], !0), p.done(function () {
2229                g || fe([e]), J.remove(e, "fxshow");
2230                for (r in d) w.style(e, r, d[r])
2231            })), u = lt(g ? y[r] : 0, r, p), r in y || (y[r] = u.start, g && (u.end = u.start, u.start = 0))
2232        }
2233    }
2234
2235    function ft(e, t) {
2236        var n, r, i, o, a;
2237        for (n in e)
2238            if (r = G(n), i = t[r], o = e[n], Array.isArray(o) && (i = o[1], o = e[n] = o[0]), n !== r && (e[r] = o, delete e[n]), (a = w.cssHooks[r]) && "expand" in a) {
2239                o = a.expand(o), delete e[r];
2240                for (n in o) n in e || (e[n] = o[n], t[n] = i)
2241            } else t[r] = i
2242    }
2243
2244    function pt(e, t, n) {
2245        var r, i, o = 0,
2246            a = pt.prefilters.length,
2247            s = w.Deferred().always(function () {
2248                delete u.elem
2249            }),
2250            u = function () {
2251                if (i) return !1;
2252                for (var t = nt || st(), n = Math.max(0, l.startTime + l.duration - t), r = 1 - (n / l.duration || 0), o = 0, a = l.tweens.length; o < a; o++) l.tweens[o].run(r);
2253                return s.notifyWith(e, [l, r, n]), r < 1 && a ? n : (a || s.notifyWith(e, [l, 1, 0]), s.resolveWith(e, [l]), !1)
2254            },
2255            l = s.promise({
2256                elem: e,
2257                props: w.extend({}, t),
2258                opts: w.extend(!0, {
2259                    specialEasing: {},
2260                    easing: w.easing._default
2261                }, n),
2262                originalProperties: t,
2263                originalOptions: n,
2264                startTime: nt || st(),
2265                duration: n.duration,
2266                tweens: [],
2267                createTween: function (t, n) {
2268                    var r = w.Tween(e, l.opts, t, n, l.opts.specialEasing[t] || l.opts.easing);
2269                    return l.tweens.push(r), r
2270                },
2271                stop: function (t) {
2272                    var n = 0,
2273                        r = t ? l.tweens.length : 0;
2274                    if (i) return this;
2275                    for (i = !0; n < r; n++) l.tweens[n].run(1);
2276                    return t ? (s.notifyWith(e, [l, 1, 0]), s.resolveWith(e, [l, t])) : s.rejectWith(e, [l, t]), this
2277                }
2278            }),
2279            c = l.props;
2280        for (ft(c, l.opts.specialEasing); o < a; o++)
2281            if (r = pt.prefilters[o].call(l, e, c, l.opts)) return g(r.stop) && (w._queueHooks(l.elem, l.opts.queue).stop = r.stop.bind(r)), r;
2282        return w.map(c, lt, l), g(l.opts.start) && l.opts.start.call(e, l), l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always), w.fx.timer(w.extend(u, {
2283            elem: e,
2284            anim: l,
2285            queue: l.opts.queue
2286        })), l
2287    }
2288    w.Animation = w.extend(pt, {
2289            tweeners: {
2290                "*": [function (e, t) {
2291                    var n = this.createTween(e, t);
2292                    return ue(n.elem, e, ie.exec(t), n), n
2293                }]
2294            },
2295            tweener: function (e, t) {
2296                g(e) ? (t = e, e = ["*"]) : e = e.match(M);
2297                for (var n, r = 0, i = e.length; r < i; r++) n = e[r], pt.tweeners[n] = pt.tweeners[n] || [], pt.tweeners[n].unshift(t)
2298            },
2299            prefilters: [ct],
2300            prefilter: function (e, t) {
2301                t ? pt.prefilters.unshift(e) : pt.prefilters.push(e)
2302            }
2303        }), w.speed = function (e, t, n) {
2304            var r = e && "object" == typeof e ? w.extend({}, e) : {
2305                complete: n || !n && t || g(e) && e,
2306                duration: e,
2307                easing: n && t || t && !g(t) && t
2308            };
2309            return w.fx.off ? r.duration = 0 : "number" != typeof r.duration && (r.duration in w.fx.speeds ? r.duration = w.fx.speeds[r.duration] : r.duration = w.fx.speeds._default), null != r.queue && !0 !== r.queue || (r.queue = "fx"), r.old = r.complete, r.complete = function () {
2310                g(r.old) && r.old.call(this), r.queue && w.dequeue(this, r.queue)
2311            }, r
2312        }, w.fn.extend({
2313            fadeTo: function (e, t, n, r) {
2314                return this.filter(ae).css("opacity", 0).show().end().animate({
2315                    opacity: t
2316                }, e, n, r)
2317            },
2318            animate: function (e, t, n, r) {
2319                var i = w.isEmptyObject(e),
2320                    o = w.speed(t, n, r),
2321                    a = function () {
2322                        var t = pt(this, w.extend({}, e), o);
2323                        (i || J.get(this, "finish")) && t.stop(!0)
2324                    };
2325                return a.finish = a, i || !1 === o.queue ? this.each(a) : this.queue(o.queue, a)
2326            },
2327            stop: function (e, t, n) {
2328                var r = function (e) {
2329                    var t = e.stop;
2330                    delete e.stop, t(n)
2331                };
2332                return "string" != typeof e && (n = t, t = e, e = void 0), t && !1 !== e && this.queue(e || "fx", []), this.each(function () {
2333                    var t = !0,
2334                        i = null != e && e + "queueHooks",
2335                        o = w.timers,
2336                        a = J.get(this);
2337                    if (i) a[i] && a[i].stop && r(a[i]);
2338                    else
2339                        for (i in a) a[i] && a[i].stop && ot.test(i) && r(a[i]);
2340                    for (i = o.length; i--;) o[i].elem !== this || null != e && o[i].queue !== e || (o[i].anim.stop(n), t = !1, o.splice(i, 1));
2341                    !t && n || w.dequeue(this, e)
2342                })
2343            },
2344            finish: function (e) {
2345                return !1 !== e && (e = e || "fx"), this.each(function () {
2346                    var t, n = J.get(this),
2347                        r = n[e + "queue"],
2348                        i = n[e + "queueHooks"],
2349                        o = w.timers,
2350                        a = r ? r.length : 0;
2351                    for (n.finish = !0, w.queue(this, e, []), i && i.stop && i.stop.call(this, !0), t = o.length; t--;) o[t].elem === this && o[t].queue === e && (o[t].anim.stop(!0), o.splice(t, 1));
2352                    for (t = 0; t < a; t++) r[t] && r[t].finish && r[t].finish.call(this);
2353                    delete n.finish
2354                })
2355            }
2356        }), w.each(["toggle", "show", "hide"], function (e, t) {
2357            var n = w.fn[t];
2358            w.fn[t] = function (e, r, i) {
2359                return null == e || "boolean" == typeof e ? n.apply(this, arguments) : this.animate(ut(t, !0), e, r, i)
2360            }
2361        }), w.each({
2362            slideDown: ut("show"),
2363            slideUp: ut("hide"),
2364            slideToggle: ut("toggle"),
2365            fadeIn: {
2366                opacity: "show"
2367            },
2368            fadeOut: {
2369                opacity: "hide"
2370            },
2371            fadeToggle: {
2372                opacity: "toggle"
2373            }
2374        }, function (e, t) {
2375            w.fn[e] = function (e, n, r) {
2376                return this.animate(t, e, n, r)
2377            }
2378        }), w.timers = [], w.fx.tick = function () {
2379            var e, t = 0,
2380                n = w.timers;
2381            for (nt = Date.now(); t < n.length; t++)(e = n[t])() || n[t] !== e || n.splice(t--, 1);
2382            n.length || w.fx.stop(), nt = void 0
2383        }, w.fx.timer = function (e) {
2384            w.timers.push(e), w.fx.start()
2385        }, w.fx.interval = 13, w.fx.start = function () {
2386            rt || (rt = !0, at())
2387        }, w.fx.stop = function () {
2388            rt = null
2389        }, w.fx.speeds = {
2390            slow: 600,
2391            fast: 200,
2392            _default: 400
2393        }, w.fn.delay = function (t, n) {
2394            return t = w.fx ? w.fx.speeds[t] || t : t, n = n || "fx", this.queue(n, function (n, r) {
2395                var i = e.setTimeout(n, t);
2396                r.stop = function () {
2397                    e.clearTimeout(i)
2398                }
2399            })
2400        },
2401        function () {
2402            var e = r.createElement("input"),
2403                t = r.createElement("select").appendChild(r.createElement("option"));
2404            e.type = "checkbox", h.checkOn = "" !== e.value, h.optSelected = t.selected, (e = r.createElement("input")).value = "t", e.type = "radio", h.radioValue = "t" === e.value
2405        }();
2406    var dt, ht = w.expr.attrHandle;
2407    w.fn.extend({
2408        attr: function (e, t) {
2409            return z(this, w.attr, e, t, arguments.length > 1)
2410        },
2411        removeAttr: function (e) {
2412            return this.each(function () {
2413                w.removeAttr(this, e)
2414            })
2415        }
2416    }), w.extend({
2417        attr: function (e, t, n) {
2418            var r, i, o = e.nodeType;
2419            if (3 !== o && 8 !== o && 2 !== o) return "undefined" == typeof e.getAttribute ? w.prop(e, t, n) : (1 === o && w.isXMLDoc(e) || (i = w.attrHooks[t.toLowerCase()] || (w.expr.match.bool.test(t) ? dt : void 0)), void 0 !== n ? null === n ? void w.removeAttr(e, t) : i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : (e.setAttribute(t, n + ""), n) : i && "get" in i && null !== (r = i.get(e, t)) ? r : null == (r = w.find.attr(e, t)) ? void 0 : r)
2420        },
2421        attrHooks: {
2422            type: {
2423                set: function (e, t) {
2424                    if (!h.radioValue && "radio" === t && N(e, "input")) {
2425                        var n = e.value;
2426                        return e.setAttribute("type", t), n && (e.value = n), t
2427                    }
2428                }
2429            }
2430        },
2431        removeAttr: function (e, t) {
2432            var n, r = 0,
2433                i = t && t.match(M);
2434            if (i && 1 === e.nodeType)
2435                while (n = i[r++]) e.removeAttribute(n)
2436        }
2437    }), dt = {
2438        set: function (e, t, n) {
2439            return !1 === t ? w.removeAttr(e, n) : e.setAttribute(n, n), n
2440        }
2441    }, w.each(w.expr.match.bool.source.match(/\w+/g), function (e, t) {
2442        var n = ht[t] || w.find.attr;
2443        ht[t] = function (e, t, r) {
2444            var i, o, a = t.toLowerCase();
2445            return r || (o = ht[a], ht[a] = i, i = null != n(e, t, r) ? a : null, ht[a] = o), i
2446        }
2447    });
2448    var gt = /^(?:input|select|textarea|button)$/i,
2449        yt = /^(?:a|area)$/i;
2450    w.fn.extend({
2451        prop: function (e, t) {
2452            return z(this, w.prop, e, t, arguments.length > 1)
2453        },
2454        removeProp: function (e) {
2455            return this.each(function () {
2456                delete this[w.propFix[e] || e]
2457            })
2458        }
2459    }), w.extend({
2460        prop: function (e, t, n) {
2461            var r, i, o = e.nodeType;
2462            if (3 !== o && 8 !== o && 2 !== o) return 1 === o && w.isXMLDoc(e) || (t = w.propFix[t] || t, i = w.propHooks[t]), void 0 !== n ? i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : e[t] = n : i && "get" in i && null !== (r = i.get(e, t)) ? r : e[t]
2463        },
2464        propHooks: {
2465            tabIndex: {
2466                get: function (e) {
2467                    var t = w.find.attr(e, "tabindex");
2468                    return t ? parseInt(t, 10) : gt.test(e.nodeName) || yt.test(e.nodeName) && e.href ? 0 : -1
2469                }
2470            }
2471        },
2472        propFix: {
2473            "for": "htmlFor",
2474            "class": "className"
2475        }
2476    }), h.optSelected || (w.propHooks.selected = {
2477        get: function (e) {
2478            var t = e.parentNode;
2479            return t && t.parentNode && t.parentNode.selectedIndex, null
2480        },
2481        set: function (e) {
2482            var t = e.parentNode;
2483            t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex)
2484        }
2485    }), w.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () {
2486        w.propFix[this.toLowerCase()] = this
2487    });
2488
2489    function vt(e) {
2490        return (e.match(M) || []).join(" ")
2491    }
2492
2493    function mt(e) {
2494        return e.getAttribute && e.getAttribute("class") || ""
2495    }
2496
2497    function xt(e) {
2498        return Array.isArray(e) ? e : "string" == typeof e ? e.match(M) || [] : []
2499    }
2500    w.fn.extend({
2501        addClass: function (e) {
2502            var t, n, r, i, o, a, s, u = 0;
2503            if (g(e)) return this.each(function (t) {
2504                w(this).addClass(e.call(this, t, mt(this)))
2505            });
2506            if ((t = xt(e)).length)
2507                while (n = this[u++])
2508                    if (i = mt(n), r = 1 === n.nodeType && " " + vt(i) + " ") {
2509                        a = 0;
2510                        while (o = t[a++]) r.indexOf(" " + o + " ") < 0 && (r += o + " ");
2511                        i !== (s = vt(r)) && n.setAttribute("class", s)
2512                    } return this
2513        },
2514        removeClass: function (e) {
2515            var t, n, r, i, o, a, s, u = 0;
2516            if (g(e)) return this.each(function (t) {
2517                w(this).removeClass(e.call(this, t, mt(this)))
2518            });
2519            if (!arguments.length) return this.attr("class", "");
2520            if ((t = xt(e)).length)
2521                while (n = this[u++])
2522                    if (i = mt(n), r = 1 === n.nodeType && " " + vt(i) + " ") {
2523                        a = 0;
2524                        while (o = t[a++])
2525                            while (r.indexOf(" " + o + " ") > -1) r = r.replace(" " + o + " ", " ");
2526                        i !== (s = vt(r)) && n.setAttribute("class", s)
2527                    } return this
2528        },
2529        toggleClass: function (e, t) {
2530            var n = typeof e,
2531                r = "string" === n || Array.isArray(e);
2532            return "boolean" == typeof t && r ? t ? this.addClass(e) : this.removeClass(e) : g(e) ? this.each(function (n) {
2533                w(this).toggleClass(e.call(this, n, mt(this), t), t)
2534            }) : this.each(function () {
2535                var t, i, o, a;
2536                if (r) {
2537                    i = 0, o = w(this), a = xt(e);
2538                    while (t = a[i++]) o.hasClass(t) ? o.removeClass(t) : o.addClass(t)
2539                } else void 0 !== e && "boolean" !== n || ((t = mt(this)) && J.set(this, "__className__", t), this.setAttribute && this.setAttribute("class", t || !1 === e ? "" : J.get(this, "__className__") || ""))
2540            })
2541        },
2542        hasClass: function (e) {
2543            var t, n, r = 0;
2544            t = " " + e + " ";
2545            while (n = this[r++])
2546                if (1 === n.nodeType && (" " + vt(mt(n)) + " ").indexOf(t) > -1) return !0;
2547            return !1
2548        }
2549    });
2550    var bt = /\r/g;
2551    w.fn.extend({
2552        val: function (e) {
2553            var t, n, r, i = this[0]; {
2554                if (arguments.length) return r = g(e), this.each(function (n) {
2555                    var i;
2556                    1 === this.nodeType && (null == (i = r ? e.call(this, n, w(this).val()) : e) ? i = "" : "number" == typeof i ? i += "" : Array.isArray(i) && (i = w.map(i, function (e) {
2557                        return null == e ? "" : e + ""
2558                    })), (t = w.valHooks[this.type] || w.valHooks[this.nodeName.toLowerCase()]) && "set" in t && void 0 !== t.set(this, i, "value") || (this.value = i))
2559                });
2560                if (i) return (t = w.valHooks[i.type] || w.valHooks[i.nodeName.toLowerCase()]) && "get" in t && void 0 !== (n = t.get(i, "value")) ? n : "string" == typeof (n = i.value) ? n.replace(bt, "") : null == n ? "" : n
2561            }
2562        }
2563    }), w.extend({
2564        valHooks: {
2565            option: {
2566                get: function (e) {
2567                    var t = w.find.attr(e, "value");
2568                    return null != t ? t : vt(w.text(e))
2569                }
2570            },
2571            select: {
2572                get: function (e) {
2573                    var t, n, r, i = e.options,
2574                        o = e.selectedIndex,
2575                        a = "select-one" === e.type,
2576                        s = a ? null : [],
2577                        u = a ? o + 1 : i.length;
2578                    for (r = o < 0 ? u : a ? o : 0; r < u; r++)
2579                        if (((n = i[r]).selected || r === o) && !n.disabled && (!n.parentNode.disabled || !N(n.parentNode, "optgroup"))) {
2580                            if (t = w(n).val(), a) return t;
2581                            s.push(t)
2582                        } return s
2583                },
2584                set: function (e, t) {
2585                    var n, r, i = e.options,
2586                        o = w.makeArray(t),
2587                        a = i.length;
2588                    while (a--)((r = i[a]).selected = w.inArray(w.valHooks.option.get(r), o) > -1) && (n = !0);
2589                    return n || (e.selectedIndex = -1), o
2590                }
2591            }
2592        }
2593    }), w.each(["radio", "checkbox"], function () {
2594        w.valHooks[this] = {
2595            set: function (e, t) {
2596                if (Array.isArray(t)) return e.checked = w.inArray(w(e).val(), t) > -1
2597            }
2598        }, h.checkOn || (w.valHooks[this].get = function (e) {
2599            return null === e.getAttribute("value") ? "on" : e.value
2600        })
2601    }), h.focusin = "onfocusin" in e;
2602    var wt = /^(?:focusinfocus|focusoutblur)$/,
2603        Tt = function (e) {
2604            e.stopPropagation()
2605        };
2606    w.extend(w.event, {
2607        trigger: function (t, n, i, o) {
2608            var a, s, u, l, c, p, d, h, v = [i || r],
2609                m = f.call(t, "type") ? t.type : t,
2610                x = f.call(t, "namespace") ? t.namespace.split(".") : [];
2611            if (s = h = u = i = i || r, 3 !== i.nodeType && 8 !== i.nodeType && !wt.test(m + w.event.triggered) && (m.indexOf(".") > -1 && (m = (x = m.split(".")).shift(), x.sort()), c = m.indexOf(":") < 0 && "on" + m, t = t[w.expando] ? t : new w.Event(m, "object" == typeof t && t), t.isTrigger = o ? 2 : 3, t.namespace = x.join("."), t.rnamespace = t.namespace ? new RegExp("(^|\\.)" + x.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, t.result = void 0, t.target || (t.target = i), n = null == n ? [t] : w.makeArray(n, [t]), d = w.event.special[m] || {}, o || !d.trigger || !1 !== d.trigger.apply(i, n))) {
2612                if (!o && !d.noBubble && !y(i)) {
2613                    for (l = d.delegateType || m, wt.test(l + m) || (s = s.parentNode); s; s = s.parentNode) v.push(s), u = s;
2614                    u === (i.ownerDocument || r) && v.push(u.defaultView || u.parentWindow || e)
2615                }
2616                a = 0;
2617                while ((s = v[a++]) && !t.isPropagationStopped()) h = s, t.type = a > 1 ? l : d.bindType || m, (p = (J.get(s, "events") || {})[t.type] && J.get(s, "handle")) && p.apply(s, n), (p = c && s[c]) && p.apply && Y(s) && (t.result = p.apply(s, n), !1 === t.result && t.preventDefault());
2618                return t.type = m, o || t.isDefaultPrevented() || d._default && !1 !== d._default.apply(v.pop(), n) || !Y(i) || c && g(i[m]) && !y(i) && ((u = i[c]) && (i[c] = null), w.event.triggered = m, t.isPropagationStopped() && h.addEventListener(m, Tt), i[m](), t.isPropagationStopped() && h.removeEventListener(m, Tt), w.event.triggered = void 0, u && (i[c] = u)), t.result
2619            }
2620        },
2621        simulate: function (e, t, n) {
2622            var r = w.extend(new w.Event, n, {
2623                type: e,
2624                isSimulated: !0
2625            });
2626            w.event.trigger(r, null, t)
2627        }
2628    }), w.fn.extend({
2629        trigger: function (e, t) {
2630            return this.each(function () {
2631                w.event.trigger(e, t, this)
2632            })
2633        },
2634        triggerHandler: function (e, t) {
2635            var n = this[0];
2636            if (n) return w.event.trigger(e, t, n, !0)
2637        }
2638    }), h.focusin || w.each({
2639        focus: "focusin",
2640        blur: "focusout"
2641    }, function (e, t) {
2642        var n = function (e) {
2643            w.event.simulate(t, e.target, w.event.fix(e))
2644        };
2645        w.event.special[t] = {
2646            setup: function () {
2647                var r = this.ownerDocument || this,
2648                    i = J.access(r, t);
2649                i || r.addEventListener(e, n, !0), J.access(r, t, (i || 0) + 1)
2650            },
2651            teardown: function () {
2652                var r = this.ownerDocument || this,
2653                    i = J.access(r, t) - 1;
2654                i ? J.access(r, t, i) : (r.removeEventListener(e, n, !0), J.remove(r, t))
2655            }
2656        }
2657    });
2658    var Ct = e.location,
2659        Et = Date.now(),
2660        kt = /\?/;
2661    w.parseXML = function (t) {
2662        var n;
2663        if (!t || "string" != typeof t) return null;
2664        try {
2665            n = (new e.DOMParser).parseFromString(t, "text/xml")
2666        } catch (e) {
2667            n = void 0
2668        }
2669        return n && !n.getElementsByTagName("parsererror").length || w.error("Invalid XML: " + t), n
2670    };
2671    var St = /\[\]$/,
2672        Dt = /\r?\n/g,
2673        Nt = /^(?:submit|button|image|reset|file)$/i,
2674        At = /^(?:input|select|textarea|keygen)/i;
2675
2676    function jt(e, t, n, r) {
2677        var i;
2678        if (Array.isArray(t)) w.each(t, function (t, i) {
2679            n || St.test(e) ? r(e, i) : jt(e + "[" + ("object" == typeof i && null != i ? t : "") + "]", i, n, r)
2680        });
2681        else if (n || "object" !== x(t)) r(e, t);
2682        else
2683            for (i in t) jt(e + "[" + i + "]", t[i], n, r)
2684    }
2685    w.param = function (e, t) {
2686        var n, r = [],
2687            i = function (e, t) {
2688                var n = g(t) ? t() : t;
2689                r[r.length] = encodeURIComponent(e) + "=" + encodeURIComponent(null == n ? "" : n)
2690            };
2691        if (Array.isArray(e) || e.jquery && !w.isPlainObject(e)) w.each(e, function () {
2692            i(this.name, this.value)
2693        });
2694        else
2695            for (n in e) jt(n, e[n], t, i);
2696        return r.join("&")
2697    }, w.fn.extend({
2698        serialize: function () {
2699            return w.param(this.serializeArray())
2700        },
2701        serializeArray: function () {
2702            return this.map(function () {
2703                var e = w.prop(this, "elements");
2704                return e ? w.makeArray(e) : this
2705            }).filter(function () {
2706                var e = this.type;
2707                return this.name && !w(this).is(":disabled") && At.test(this.nodeName) && !Nt.test(e) && (this.checked || !pe.test(e))
2708            }).map(function (e, t) {
2709                var n = w(this).val();
2710                return null == n ? null : Array.isArray(n) ? w.map(n, function (e) {
2711                    return {
2712                        name: t.name,
2713                        value: e.replace(Dt, "\r\n")
2714                    }
2715                }) : {
2716                    name: t.name,
2717                    value: n.replace(Dt, "\r\n")
2718                }
2719            }).get()
2720        }
2721    });
2722    var qt = /%20/g,
2723        Lt = /#.*$/,
2724        Ht = /([?&])_=[^&]*/,
2725        Ot = /^(.*?):[ \t]*([^\r\n]*)$/gm,
2726        Pt = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
2727        Mt = /^(?:GET|HEAD)$/,
2728        Rt = /^\/\//,
2729        It = {},
2730        Wt = {},
2731        $t = "*/".concat("*"),
2732        Bt = r.createElement("a");
2733    Bt.href = Ct.href;
2734
2735    function Ft(e) {
2736        return function (t, n) {
2737            "string" != typeof t && (n = t, t = "*");
2738            var r, i = 0,
2739                o = t.toLowerCase().match(M) || [];
2740            if (g(n))
2741                while (r = o[i++]) "+" === r[0] ? (r = r.slice(1) || "*", (e[r] = e[r] || []).unshift(n)) : (e[r] = e[r] || []).push(n)
2742        }
2743    }
2744
2745    function _t(e, t, n, r) {
2746        var i = {},
2747            o = e === Wt;
2748
2749        function a(s) {
2750            var u;
2751            return i[s] = !0, w.each(e[s] || [], function (e, s) {
2752                var l = s(t, n, r);
2753                return "string" != typeof l || o || i[l] ? o ? !(u = l) : void 0 : (t.dataTypes.unshift(l), a(l), !1)
2754            }), u
2755        }
2756        return a(t.dataTypes[0]) || !i["*"] && a("*")
2757    }
2758
2759    function zt(e, t) {
2760        var n, r, i = w.ajaxSettings.flatOptions || {};
2761        for (n in t) void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]);
2762        return r && w.extend(!0, e, r), e
2763    }
2764
2765    function Xt(e, t, n) {
2766        var r, i, o, a, s = e.contents,
2767            u = e.dataTypes;
2768        while ("*" === u[0]) u.shift(), void 0 === r && (r = e.mimeType || t.getResponseHeader("Content-Type"));
2769        if (r)
2770            for (i in s)
2771                if (s[i] && s[i].test(r)) {
2772                    u.unshift(i);
2773                    break
2774                } if (u[0] in n) o = u[0];
2775        else {
2776            for (i in n) {
2777                if (!u[0] || e.converters[i + " " + u[0]]) {
2778                    o = i;
2779                    break
2780                }
2781                a || (a = i)
2782            }
2783            o = o || a
2784        }
2785        if (o) return o !== u[0] && u.unshift(o), n[o]
2786    }
2787
2788    function Ut(e, t, n, r) {
2789        var i, o, a, s, u, l = {},
2790            c = e.dataTypes.slice();
2791        if (c[1])
2792            for (a in e.converters) l[a.toLowerCase()] = e.converters[a];
2793        o = c.shift();
2794        while (o)
2795            if (e.responseFields[o] && (n[e.responseFields[o]] = t), !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = o, o = c.shift())
2796                if ("*" === o) o = u;
2797                else if ("*" !== u && u !== o) {
2798            if (!(a = l[u + " " + o] || l["* " + o]))
2799                for (i in l)
2800                    if ((s = i.split(" "))[1] === o && (a = l[u + " " + s[0]] || l["* " + s[0]])) {
2801                        !0 === a ? a = l[i] : !0 !== l[i] && (o = s[0], c.unshift(s[1]));
2802                        break
2803                    } if (!0 !== a)
2804                if (a && e["throws"]) t = a(t);
2805                else try {
2806                    t = a(t)
2807                } catch (e) {
2808                    return {
2809                        state: "parsererror",
2810                        error: a ? e : "No conversion from " + u + " to " + o
2811                    }
2812                }
2813        }
2814        return {
2815            state: "success",
2816            data: t
2817        }
2818    }
2819    w.extend({
2820        active: 0,
2821        lastModified: {},
2822        etag: {},
2823        ajaxSettings: {
2824            url: Ct.href,
2825            type: "GET",
2826            isLocal: Pt.test(Ct.protocol),
2827            global: !0,
2828            processData: !0,
2829            async: !0,
2830            contentType: "application/x-www-form-urlencoded; charset=UTF-8",
2831            accepts: {
2832                "*": $t,
2833                text: "text/plain",
2834                html: "text/html",
2835                xml: "application/xml, text/xml",
2836                json: "application/json, text/javascript"
2837            },
2838            contents: {
2839                xml: /\bxml\b/,
2840                html: /\bhtml/,
2841                json: /\bjson\b/
2842            },
2843            responseFields: {
2844                xml: "responseXML",
2845                text: "responseText",
2846                json: "responseJSON"
2847            },
2848            converters: {
2849                "* text": String,
2850                "text html": !0,
2851                "text json": JSON.parse,
2852                "text xml": w.parseXML
2853            },
2854            flatOptions: {
2855                url: !0,
2856                context: !0
2857            }
2858        },
2859        ajaxSetup: function (e, t) {
2860            return t ? zt(zt(e, w.ajaxSettings), t) : zt(w.ajaxSettings, e)
2861        },
2862        ajaxPrefilter: Ft(It),
2863        ajaxTransport: Ft(Wt),
2864        ajax: function (t, n) {
2865            "object" == typeof t && (n = t, t = void 0), n = n || {};
2866            var i, o, a, s, u, l, c, f, p, d, h = w.ajaxSetup({}, n),
2867                g = h.context || h,
2868                y = h.context && (g.nodeType || g.jquery) ? w(g) : w.event,
2869                v = w.Deferred(),
2870                m = w.Callbacks("once memory"),
2871                x = h.statusCode || {},
2872                b = {},
2873                T = {},
2874                C = "canceled",
2875                E = {
2876                    readyState: 0,
2877                    getResponseHeader: function (e) {
2878                        var t;
2879                        if (c) {
2880                            if (!s) {
2881                                s = {};
2882                                while (t = Ot.exec(a)) s[t[1].toLowerCase()] = t[2]
2883                            }
2884                            t = s[e.toLowerCase()]
2885                        }
2886                        return null == t ? null : t
2887                    },
2888                    getAllResponseHeaders: function () {
2889                        return c ? a : null
2890                    },
2891                    setRequestHeader: function (e, t) {
2892                        return null == c && (e = T[e.toLowerCase()] = T[e.toLowerCase()] || e, b[e] = t), this
2893                    },
2894                    overrideMimeType: function (e) {
2895                        return null == c && (h.mimeType = e), this
2896                    },
2897                    statusCode: function (e) {
2898                        var t;
2899                        if (e)
2900                            if (c) E.always(e[E.status]);
2901                            else
2902                                for (t in e) x[t] = [x[t], e[t]];
2903                        return this
2904                    },
2905                    abort: function (e) {
2906                        var t = e || C;
2907                        return i && i.abort(t), k(0, t), this
2908                    }
2909                };
2910            if (v.promise(E), h.url = ((t || h.url || Ct.href) + "").replace(Rt, Ct.protocol + "//"), h.type = n.method || n.type || h.method || h.type, h.dataTypes = (h.dataType || "*").toLowerCase().match(M) || [""], null == h.crossDomain) {
2911                l = r.createElement("a");
2912                try {
2913                    l.href = h.url, l.href = l.href, h.crossDomain = Bt.protocol + "//" + Bt.host != l.protocol + "//" + l.host
2914                } catch (e) {
2915                    h.crossDomain = !0
2916                }
2917            }
2918            if (h.data && h.processData && "string" != typeof h.data && (h.data = w.param(h.data, h.traditional)), _t(It, h, n, E), c) return E;
2919            (f = w.event && h.global) && 0 == w.active++ && w.event.trigger("ajaxStart"), h.type = h.type.toUpperCase(), h.hasContent = !Mt.test(h.type), o = h.url.replace(Lt, ""), h.hasContent ? h.data && h.processData && 0 === (h.contentType || "").indexOf("application/x-www-form-urlencoded") && (h.data = h.data.replace(qt, "+")) : (d = h.url.slice(o.length), h.data && (h.processData || "string" == typeof h.data) && (o += (kt.test(o) ? "&" : "?") + h.data, delete h.data), !1 === h.cache && (o = o.replace(Ht, "$1"), d = (kt.test(o) ? "&" : "?") + "_=" + Et++ + d), h.url = o + d), h.ifModified && (w.lastModified[o] && E.setRequestHeader("If-Modified-Since", w.lastModified[o]), w.etag[o] && E.setRequestHeader("If-None-Match", w.etag[o])), (h.data && h.hasContent && !1 !== h.contentType || n.contentType) && E.setRequestHeader("Content-Type", h.contentType), E.setRequestHeader("Accept", h.dataTypes[0] && h.accepts[h.dataTypes[0]] ? h.accepts[h.dataTypes[0]] + ("*" !== h.dataTypes[0] ? ", " + $t + "; q=0.01" : "") : h.accepts["*"]);
2920            for (p in h.headers) E.setRequestHeader(p, h.headers[p]);
2921            if (h.beforeSend && (!1 === h.beforeSend.call(g, E, h) || c)) return E.abort();
2922            if (C = "abort", m.add(h.complete), E.done(h.success), E.fail(h.error), i = _t(Wt, h, n, E)) {
2923                if (E.readyState = 1, f && y.trigger("ajaxSend", [E, h]), c) return E;
2924                h.async && h.timeout > 0 && (u = e.setTimeout(function () {
2925                    E.abort("timeout")
2926                }, h.timeout));
2927                try {
2928                    c = !1, i.send(b, k)
2929                } catch (e) {
2930                    if (c) throw e;
2931                    k(-1, e)
2932                }
2933            } else k(-1, "No Transport");
2934
2935            function k(t, n, r, s) {
2936                var l, p, d, b, T, C = n;
2937                c || (c = !0, u && e.clearTimeout(u), i = void 0, a = s || "", E.readyState = t > 0 ? 4 : 0, l = t >= 200 && t < 300 || 304 === t, r && (b = Xt(h, E, r)), b = Ut(h, b, E, l), l ? (h.ifModified && ((T = E.getResponseHeader("Last-Modified")) && (w.lastModified[o] = T), (T = E.getResponseHeader("etag")) && (w.etag[o] = T)), 204 === t || "HEAD" === h.type ? C = "nocontent" : 304 === t ? C = "notmodified" : (C = b.state, p = b.data, l = !(d = b.error))) : (d = C, !t && C || (C = "error", t < 0 && (t = 0))), E.status = t, E.statusText = (n || C) + "", l ? v.resolveWith(g, [p, C, E]) : v.rejectWith(g, [E, C, d]), E.statusCode(x), x = void 0, f && y.trigger(l ? "ajaxSuccess" : "ajaxError", [E, h, l ? p : d]), m.fireWith(g, [E, C]), f && (y.trigger("ajaxComplete", [E, h]), --w.active || w.event.trigger("ajaxStop")))
2938            }
2939            return E
2940        },
2941        getJSON: function (e, t, n) {
2942            return w.get(e, t, n, "json")
2943        },
2944        getScript: function (e, t) {
2945            return w.get(e, void 0, t, "script")
2946        }
2947    }), w.each(["get", "post"], function (e, t) {
2948        w[t] = function (e, n, r, i) {
2949            return g(n) && (i = i || r, r = n, n = void 0), w.ajax(w.extend({
2950                url: e,
2951                type: t,
2952                dataType: i,
2953                data: n,
2954                success: r
2955            }, w.isPlainObject(e) && e))
2956        }
2957    }), w._evalUrl = function (e) {
2958        return w.ajax({
2959            url: e,
2960            type: "GET",
2961            dataType: "script",
2962            cache: !0,
2963            async: !1,
2964            global: !1,
2965            "throws": !0
2966        })
2967    }, w.fn.extend({
2968        wrapAll: function (e) {
2969            var t;
2970            return this[0] && (g(e) && (e = e.call(this[0])), t = w(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function () {
2971                var e = this;
2972                while (e.firstElementChild) e = e.firstElementChild;
2973                return e
2974            }).append(this)), this
2975        },
2976        wrapInner: function (e) {
2977            return g(e) ? this.each(function (t) {
2978                w(this).wrapInner(e.call(this, t))
2979            }) : this.each(function () {
2980                var t = w(this),
2981                    n = t.contents();
2982                n.length ? n.wrapAll(e) : t.append(e)
2983            })
2984        },
2985        wrap: function (e) {
2986            var t = g(e);
2987            return this.each(function (n) {
2988                w(this).wrapAll(t ? e.call(this, n) : e)
2989            })
2990        },
2991        unwrap: function (e) {
2992            return this.parent(e).not("body").each(function () {
2993                w(this).replaceWith(this.childNodes)
2994            }), this
2995        }
2996    }), w.expr.pseudos.hidden = function (e) {
2997        return !w.expr.pseudos.visible(e)
2998    }, w.expr.pseudos.visible = function (e) {
2999        return !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length)
3000    }, w.ajaxSettings.xhr = function () {
3001        try {
3002            return new e.XMLHttpRequest
3003        } catch (e) {}
3004    };
3005    var Vt = {
3006            0: 200,
3007            1223: 204
3008        },
3009        Gt = w.ajaxSettings.xhr();
3010    h.cors = !!Gt && "withCredentials" in Gt, h.ajax = Gt = !!Gt, w.ajaxTransport(function (t) {
3011        var n, r;
3012        if (h.cors || Gt && !t.crossDomain) return {
3013            send: function (i, o) {
3014                var a, s = t.xhr();
3015                if (s.open(t.type, t.url, t.async, t.username, t.password), t.xhrFields)
3016                    for (a in t.xhrFields) s[a] = t.xhrFields[a];
3017                t.mimeType && s.overrideMimeType && s.overrideMimeType(t.mimeType), t.crossDomain || i["X-Requested-With"] || (i["X-Requested-With"] = "XMLHttpRequest");
3018                for (a in i) s.setRequestHeader(a, i[a]);
3019                n = function (e) {
3020                    return function () {
3021                        n && (n = r = s.onload = s.onerror = s.onabort = s.ontimeout = s.onreadystatechange = null, "abort" === e ? s.abort() : "error" === e ? "number" != typeof s.status ? o(0, "error") : o(s.status, s.statusText) : o(Vt[s.status] || s.status, s.statusText, "text" !== (s.responseType || "text") || "string" != typeof s.responseText ? {
3022                            binary: s.response
3023                        } : {
3024                            text: s.responseText
3025                        }, s.getAllResponseHeaders()))
3026                    }
3027                }, s.onload = n(), r = s.onerror = s.ontimeout = n("error"), void 0 !== s.onabort ? s.onabort = r : s.onreadystatechange = function () {
3028                    4 === s.readyState && e.setTimeout(function () {
3029                        n && r()
3030                    })
3031                }, n = n("abort");
3032                try {
3033                    s.send(t.hasContent && t.data || null)
3034                } catch (e) {
3035                    if (n) throw e
3036                }
3037            },
3038            abort: function () {
3039                n && n()
3040            }
3041        }
3042    }), w.ajaxPrefilter(function (e) {
3043        e.crossDomain && (e.contents.script = !1)
3044    }), w.ajaxSetup({
3045        accepts: {
3046            script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
3047        },
3048        contents: {
3049            script: /\b(?:java|ecma)script\b/
3050        },
3051        converters: {
3052            "text script": function (e) {
3053                return w.globalEval(e), e
3054            }
3055        }
3056    }), w.ajaxPrefilter("script", function (e) {
3057        void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET")
3058    }), w.ajaxTransport("script", function (e) {
3059        if (e.crossDomain) {
3060            var t, n;
3061            return {
3062                send: function (i, o) {
3063                    t = w("<script>").prop({
3064                        charset: e.scriptCharset,
3065                        src: e.url
3066                    }).on("load error", n = function (e) {
3067                        t.remove(), n = null, e && o("error" === e.type ? 404 : 200, e.type)
3068                    }), r.head.appendChild(t[0])
3069                },
3070                abort: function () {
3071                    n && n()
3072                }
3073            }
3074        }
3075    });
3076    var Yt = [],
3077        Qt = /(=)\?(?=&|$)|\?\?/;
3078    w.ajaxSetup({
3079        jsonp: "callback",
3080        jsonpCallback: function () {
3081            var e = Yt.pop() || w.expando + "_" + Et++;
3082            return this[e] = !0, e
3083        }
3084    }), w.ajaxPrefilter("json jsonp", function (t, n, r) {
3085        var i, o, a, s = !1 !== t.jsonp && (Qt.test(t.url) ? "url" : "string" == typeof t.data && 0 === (t.contentType || "").indexOf("application/x-www-form-urlencoded") && Qt.test(t.data) && "data");
3086        if (s || "jsonp" === t.dataTypes[0]) return i = t.jsonpCallback = g(t.jsonpCallback) ? t.jsonpCallback() : t.jsonpCallback, s ? t[s] = t[s].replace(Qt, "$1" + i) : !1 !== t.jsonp && (t.url += (kt.test(t.url) ? "&" : "?") + t.jsonp + "=" + i), t.converters["script json"] = function () {
3087            return a || w.error(i + " was not called"), a[0]
3088        }, t.dataTypes[0] = "json", o = e[i], e[i] = function () {
3089            a = arguments
3090        }, r.always(function () {
3091            void 0 === o ? w(e).removeProp(i) : e[i] = o, t[i] && (t.jsonpCallback = n.jsonpCallback, Yt.push(i)), a && g(o) && o(a[0]), a = o = void 0
3092        }), "script"
3093    }), h.createHTMLDocument = function () {
3094        var e = r.implementation.createHTMLDocument("").body;
3095        return e.innerHTML = "<form></form><form></form>", 2 === e.childNodes.length
3096    }(), w.parseHTML = function (e, t, n) {
3097        if ("string" != typeof e) return [];
3098        "boolean" == typeof t && (n = t, t = !1);
3099        var i, o, a;
3100        return t || (h.createHTMLDocument ? ((i = (t = r.implementation.createHTMLDocument("")).createElement("base")).href = r.location.href, t.head.appendChild(i)) : t = r), o = A.exec(e), a = !n && [], o ? [t.createElement(o[1])] : (o = xe([e], t, a), a && a.length && w(a).remove(), w.merge([], o.childNodes))
3101    }, w.fn.load = function (e, t, n) {
3102        var r, i, o, a = this,
3103            s = e.indexOf(" ");
3104        return s > -1 && (r = vt(e.slice(s)), e = e.slice(0, s)), g(t) ? (n = t, t = void 0) : t && "object" == typeof t && (i = "POST"), a.length > 0 && w.ajax({
3105            url: e,
3106            type: i || "GET",
3107            dataType: "html",
3108            data: t
3109        }).done(function (e) {
3110            o = arguments, a.html(r ? w("<div>").append(w.parseHTML(e)).find(r) : e)
3111        }).always(n && function (e, t) {
3112            a.each(function () {
3113                n.apply(this, o || [e.responseText, t, e])
3114            })
3115        }), this
3116    }, w.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (e, t) {
3117        w.fn[t] = function (e) {
3118            return this.on(t, e)
3119        }
3120    }), w.expr.pseudos.animated = function (e) {
3121        return w.grep(w.timers, function (t) {
3122            return e === t.elem
3123        }).length
3124    }, w.offset = {
3125        setOffset: function (e, t, n) {
3126            var r, i, o, a, s, u, l, c = w.css(e, "position"),
3127                f = w(e),
3128                p = {};
3129            "static" === c && (e.style.position = "relative"), s = f.offset(), o = w.css(e, "top"), u = w.css(e, "left"), (l = ("absolute" === c || "fixed" === c) && (o + u).indexOf("auto") > -1) ? (a = (r = f.position()).top, i = r.left) : (a = parseFloat(o) || 0, i = parseFloat(u) || 0), g(t) && (t = t.call(e, n, w.extend({}, s))), null != t.top && (p.top = t.top - s.top + a), null != t.left && (p.left = t.left - s.left + i), "using" in t ? t.using.call(e, p) : f.css(p)
3130        }
3131    }, w.fn.extend({
3132        offset: function (e) {
3133            if (arguments.length) return void 0 === e ? this : this.each(function (t) {
3134                w.offset.setOffset(this, e, t)
3135            });
3136            var t, n, r = this[0];
3137            if (r) return r.getClientRects().length ? (t = r.getBoundingClientRect(), n = r.ownerDocument.defaultView, {
3138                top: t.top + n.pageYOffset,
3139                left: t.left + n.pageXOffset
3140            }) : {
3141                top: 0,
3142                left: 0
3143            }
3144        },
3145        position: function () {
3146            if (this[0]) {
3147                var e, t, n, r = this[0],
3148                    i = {
3149                        top: 0,
3150                        left: 0
3151                    };
3152                if ("fixed" === w.css(r, "position")) t = r.getBoundingClientRect();
3153                else {
3154                    t = this.offset(), n = r.ownerDocument, e = r.offsetParent || n.documentElement;
3155                    while (e && (e === n.body || e === n.documentElement) && "static" === w.css(e, "position")) e = e.parentNode;
3156                    e && e !== r && 1 === e.nodeType && ((i = w(e).offset()).top += w.css(e, "borderTopWidth", !0), i.left += w.css(e, "borderLeftWidth", !0))
3157                }
3158                return {
3159                    top: t.top - i.top - w.css(r, "marginTop", !0),
3160                    left: t.left - i.left - w.css(r, "marginLeft", !0)
3161                }
3162            }
3163        },
3164        offsetParent: function () {
3165            return this.map(function () {
3166                var e = this.offsetParent;
3167                while (e && "static" === w.css(e, "position")) e = e.offsetParent;
3168                return e || be
3169            })
3170        }
3171    }), w.each({
3172        scrollLeft: "pageXOffset",
3173        scrollTop: "pageYOffset"
3174    }, function (e, t) {
3175        var n = "pageYOffset" === t;
3176        w.fn[e] = function (r) {
3177            return z(this, function (e, r, i) {
3178                var o;
3179                if (y(e) ? o = e : 9 === e.nodeType && (o = e.defaultView), void 0 === i) return o ? o[t] : e[r];
3180                o ? o.scrollTo(n ? o.pageXOffset : i, n ? i : o.pageYOffset) : e[r] = i
3181            }, e, r, arguments.length)
3182        }
3183    }), w.each(["top", "left"], function (e, t) {
3184        w.cssHooks[t] = _e(h.pixelPosition, function (e, n) {
3185            if (n) return n = Fe(e, t), We.test(n) ? w(e).position()[t] + "px" : n
3186        })
3187    }), w.each({
3188        Height: "height",
3189        Width: "width"
3190    }, function (e, t) {
3191        w.each({
3192            padding: "inner" + e,
3193            content: t,
3194            "": "outer" + e
3195        }, function (n, r) {
3196            w.fn[r] = function (i, o) {
3197                var a = arguments.length && (n || "boolean" != typeof i),
3198                    s = n || (!0 === i || !0 === o ? "margin" : "border");
3199                return z(this, function (t, n, i) {
3200                    var o;
3201                    return y(t) ? 0 === r.indexOf("outer") ? t["inner" + e] : t.document.documentElement["client" + e] : 9 === t.nodeType ? (o = t.documentElement, Math.max(t.body["scroll" + e], o["scroll" + e], t.body["offset" + e], o["offset" + e], o["client" + e])) : void 0 === i ? w.css(t, n, s) : w.style(t, n, i, s)
3202                }, t, a ? i : void 0, a)
3203            }
3204        })
3205    }), w.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, t) {
3206        w.fn[t] = function (e, n) {
3207            return arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t)
3208        }
3209    }), w.fn.extend({
3210        hover: function (e, t) {
3211            return this.mouseenter(e).mouseleave(t || e)
3212        }
3213    }), w.fn.extend({
3214        bind: function (e, t, n) {
3215            return this.on(e, null, t, n)
3216        },
3217        unbind: function (e, t) {
3218            return this.off(e, null, t)
3219        },
3220        delegate: function (e, t, n, r) {
3221            return this.on(t, e, n, r)
3222        },
3223        undelegate: function (e, t, n) {
3224            return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n)
3225        }
3226    }), w.proxy = function (e, t) {
3227        var n, r, i;
3228        if ("string" == typeof t && (n = e[t], t = e, e = n), g(e)) return r = o.call(arguments, 2), i = function () {
3229            return e.apply(t || this, r.concat(o.call(arguments)))
3230        }, i.guid = e.guid = e.guid || w.guid++, i
3231    }, w.holdReady = function (e) {
3232        e ? w.readyWait++ : w.ready(!0)
3233    }, w.isArray = Array.isArray, w.parseJSON = JSON.parse, w.nodeName = N, w.isFunction = g, w.isWindow = y, w.camelCase = G, w.type = x, w.now = Date.now, w.isNumeric = function (e) {
3234        var t = w.type(e);
3235        return ("number" === t || "string" === t) && !isNaN(e - parseFloat(e))
3236    }, "function" == typeof define && define.amd && define("jquery", [], function () {
3237        return w
3238    });
3239    var Jt = e.jQuery,
3240        Kt = e.$;
3241    return w.noConflict = function (t) {
3242        return e.$ === w && (e.$ = Kt), t && e.jQuery === w && (e.jQuery = Jt), w
3243    }, t || (e.jQuery = e.$ = w), w
3244});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.