PageSourceSearch

https://www.ntum.ai/js/wzwg/cmm/jquery-latest.min.js

js ntum.ai collected 2026-10-05 12:19:21 UTC 163,829 bytes, 4,236 lines download raw bytes

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

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.