")).appendTo(r.documentElement), r = (ft[0].contentWindow || ft[0].contentDocument).document, r.write(), r.close(), t = vr(n, r), ft.detach()), ci[n] = t), t } function yr(n, t) { return { get: function () { var i = n(); if (i != null) { if (i) { delete this.get; return } return (this.get = t).apply(this, arguments) } } } } function pr(n, t) { if (t in n) return t; for (var r = t.charAt(0).toUpperCase() + t.slice(1), u = t, i = lf.length; i--;)if (t = lf[i] + r, t in n) return t; return u } function wr(n, t) { for (var f, r, o, e = [], u = 0, s = n.length; u < s; u++)(r = n[u], r.style) && (e[u] = i._data(r, "olddisplay"), f = r.style.display, t ? (e[u] || f !== "none" || (r.style.display = ""), r.style.display === "" && ot(r) && (e[u] = i._data(r, "olddisplay", lt(r.nodeName)))) : (o = ot(r), (f && f !== "none" || !o) && i._data(r, "olddisplay", o ? f : i.css(r, "display")))); for (u = 0; u < s; u++)(r = n[u], r.style) && (t && r.style.display !== "none" && r.style.display !== "" || (r.style.display = t ? e[u] || "" : "none")); return n } function br(n, t, i) { var r = fo.exec(t); return r ? Math.max(0, r[1] - (i || 0)) + (r[2] || "px") : t } function kr(n, t, r, u, f) { for (var e = r === (u ? "border" : "content") ? 4 : t === "width" ? 1 : 0, o = 0; e < 4; e += 2)r === "margin" && (o += i.css(n, r + w[e], !0, f)), u ? (r === "content" && (o -= i.css(n, "padding" + w[e], !0, f)), r !== "margin" && (o -= i.css(n, "border" + w[e] + "Width", !0, f))) : (o += i.css(n, "padding" + w[e], !0, f), r !== "padding" && (o += i.css(n, "border" + w[e] + "Width", !0, f))); return o } function dr(n, t, u) { var o = !0, f = t === "width" ? n.offsetWidth : n.offsetHeight, e = k(n), s = r.boxSizing && i.css(n, "boxSizing", !1, e) === "border-box"; if (f <= 0 || f == null) { if (f = d(n, t, e), (f < 0 || f == null) && (f = n.style[t]), kt.test(f)) return f; o = s && (r.boxSizingReliable() || f === n.style[t]); f = parseFloat(f) || 0 } return f + kr(n, t, u || (s ? "border" : "content"), o, e) + "px" } function e(n, t, i, r, u) { return new e.prototype.init(n, t, i, r, u) } function gr() { return setTimeout(function () { rt = undefined }), rt = i.now() } function at(n, t) { var r, i = { height: n }, u = 0; for (t = t ? 1 : 0; u < 4; u += 2 - t)r = w[u], i["margin" + r] = i["padding" + r] = n; return t && (i.opacity = i.width = n), i } function nu(n, t, i) { for (var u, f = (st[t] || []).concat(st["*"]), r = 0, e = f.length; r < e; r++)if (u = f[r].call(i, t, n)) return u } function te(n, t, u) { var f, a, p, v, s, w, h, b, l = this, y = {}, o = n.style, c = n.nodeType && ot(n), e = i._data(n, "fxshow"); u.queue || (s = i._queueHooks(n, "fx"), s.unqueued == null && (s.unqueued = 0, w = s.empty.fire, s.empty.fire = function () { s.unqueued || w() }), s.unqueued++, l.always(function () { l.always(function () { s.unqueued--; i.queue(n, "fx").length || s.empty.fire() }) })); n.nodeType === 1 && ("height" in t || "width" in t) && (u.overflow = [o.overflow, o.overflowX, o.overflowY], h = i.css(n, "display"), b = h === "none" ? i._data(n, "olddisplay") || lt(n.nodeName) : h, b === "inline" && i.css(n, "float") === "none" && (r.inlineBlockNeedsLayout && lt(n.nodeName) !== "inline" ? o.zoom = 1 : o.display = "inline-block")); u.overflow && (o.overflow = "hidden", r.shrinkWrapBlocks() || l.always(function () { o.overflow = u.overflow[0]; o.overflowX = u.overflow[1]; o.overflowY = u.overflow[2] })); for (f in t) if (a = t[f], so.exec(a)) { if (delete t[f], p = p || a === "toggle", a === (c ? "hide" : "show")) if (a === "show" && e && e[f] !== undefined) c = !0; else continue; y[f] = e && e[f] || i.style(n, f) } else h = undefined; if (i.isEmptyObject(y)) (h === "none" ? lt(n.nodeName) : h) === "inline" && (o.display = h); else { e ? "hidden" in e && (c = e.hidden) : e = i._data(n, "fxshow", {}); p && (e.hidden = !c); c ? i(n).show() : l.done(function () { i(n).hide() }); l.done(function () { var t; i._removeData(n, "fxshow"); for (t in y) i.style(n, t, y[t]) }); for (f in y) v = nu(c ? e[f] : 0, f, l), f in e || (e[f] = v.start, c && (v.end = v.start, v.start = f === "width" || f === "height" ? 1 : 0)) } } function ie(n, t) { var r, f, e, u, o; for (r in n) if (f = i.camelCase(r), e = t[f], u = n[r], i.isArray(u) && (e = u[1], u = n[r] = u[0]), r !== f && (n[f] = u, delete n[r]), o = i.cssHooks[f], o && "expand" in o) { u = o.expand(u); delete n[f]; for (r in u) r in n || (n[r] = u[r], t[r] = e) } else t[f] = e } function tu(n, t, r) { var e, o, s = 0, l = gt.length, f = i.Deferred().always(function () { delete c.elem }), c = function () { if (o) return !1; for (var s = rt || gr(), t = Math.max(0, u.startTime + u.duration - s), h = t / u.duration || 0, i = 1 - h, r = 0, e = u.tweens.length; r < e; r++)u.tweens[r].run(i); return f.notifyWith(n, [u, i, t]), i < 1 && e ? t : (f.resolveWith(n, [u]), !1) }, u = f.promise({ elem: n, props: i.extend({}, t), opts: i.extend(!0, { specialEasing: {} }, r), originalProperties: t, originalOptions: r, startTime: rt || gr(), duration: r.duration, tweens: [], createTween: function (t, r) { var f = i.Tween(n, u.opts, t, r, u.opts.specialEasing[t] || u.opts.easing); return u.tweens.push(f), f }, stop: function (t) { var i = 0, r = t ? u.tweens.length : 0; if (o) return this; for (o = !0; i < r; i++)u.tweens[i].run(1); return t ? f.resolveWith(n, [u, t]) : f.rejectWith(n, [u, t]), this } }), h = u.props; for (ie(h, u.opts.specialEasing); s < l; s++)if (e = gt[s].call(u, n, h, u.opts), e) return e; return i.map(h, nu, u), i.isFunction(u.opts.start) && u.opts.start.call(n, u), i.fx.timer(i.extend(c, { elem: n, anim: u, queue: u.opts.queue })), u.progress(u.opts.progress).done(u.opts.done, u.opts.complete).fail(u.opts.fail).always(u.opts.always) } function iu(n) { return function (t, r) { typeof t != "string" && (r = t, t = "*"); var u, f = 0, e = t.toLowerCase().match(h) || []; if (i.isFunction(r)) while (u = e[f++]) u.charAt(0) === "+" ? (u = u.slice(1) || "*", (n[u] = n[u] || []).unshift(r)) : (n[u] = n[u] || []).push(r) } } function ru(n, t, r, u) { function f(s) { var h; return e[s] = !0, i.each(n[s] || [], function (n, i) { var s = i(t, r, u); if (typeof s != "string" || o || e[s]) { if (o) return !(h = s) } else return t.dataTypes.unshift(s), f(s), !1 }), h } var e = {}, o = n === tr; return f(t.dataTypes[0]) || !e["*"] && f("*") } function ei(n, t) { var u, r, f = i.ajaxSettings.flatOptions || {}; for (r in t) t[r] !== undefined && ((f[r] ? n : u || (u = {}))[r] = t[r]); return u && i.extend(!0, n, u), n } function re(n, t, i) { for (var o, e, u, f, s = n.contents, r = n.dataTypes; r[0] === "*";)r.shift(), e === undefined && (e = n.mimeType || t.getResponseHeader("Content-Type")); if (e) for (f in s) if (s[f] && s[f].test(e)) { r.unshift(f); break } if (r[0] in i) u = r[0]; else { for (f in i) { if (!r[0] || n.converters[f + " " + r[0]]) { u = f; break } o || (o = f) } u = u || o } if (u) return u !== r[0] && r.unshift(u), i[u] } function ue(n, t, i, r) { var h, u, f, s, e, o = {}, c = n.dataTypes.slice(); if (c[1]) for (f in n.converters) o[f.toLowerCase()] = n.converters[f]; for (u = c.shift(); u;)if (n.responseFields[u] && (i[n.responseFields[u]] = t), !e && r && n.dataFilter && (t = n.dataFilter(t, n.dataType)), e = u, u = c.shift(), u) if (u === "*") u = e; else if (e !== "*" && e !== u) { if (f = o[e + " " + u] || o["* " + u], !f) for (h in o) if (s = h.split(" "), s[1] === u && (f = o[e + " " + s[0]] || o["* " + s[0]], f)) { f === !0 ? f = o[h] : o[h] !== !0 && (u = s[0], c.unshift(s[1])); break } if (f !== !0) if (f && n.throws) t = f(t); else try { t = f(t) } catch (l) { return { state: "parsererror", error: f ? l : "No conversion from " + e + " to " + u } } } return { state: "success", data: t } } function oi(n, t, r, u) { var f; if (i.isArray(t)) i.each(t, function (t, i) { r || wo.test(n) ? u(n, i) : oi(n + "[" + (typeof i == "object" ? t : "") + "]", i, r, u) }); else if (r || i.type(t) !== "object") u(n, t); else for (f in t) oi(n + "[" + f + "]", t[f], r, u) } function uu() { try { return new n.XMLHttpRequest } catch (t) { } } function fe() { try { return new n.ActiveXObject("Microsoft.XMLHTTP") } catch (t) { } } function fu(n) { return i.isWindow(n) ? n : n.nodeType === 9 ? n.defaultView || n.parentWindow : !1 } var l = [], a = l.slice, eu = l.concat, si = l.push, ou = l.indexOf, vt = {}, ee = vt.toString, it = vt.hasOwnProperty, r = {}, su = "1.11.1", i = function (n, t) { return new i.fn.init(n, t) }, oe = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, se = /^-ms-/, he = /-([\da-z])/gi, ce = function (n, t) { return t.toUpperCase() }, p, hu, cu, h, hi, yt, o, lu, au, vu, ft, ci, yu, pu, wu, pt, li, wt, ai, vi, bu, ku; i.fn = i.prototype = { jquery: su, constructor: i, selector: "", length: 0, toArray: function () { return a.call(this) }, get: function (n) { return n != null ? n < 0 ? this[n + this.length] : this[n] : a.call(this) }, pushStack: function (n) { var t = i.merge(this.constructor(), n); return t.prevObject = this, t.context = this.context, t }, each: function (n, t) { return i.each(this, n, t) }, map: function (n) { return this.pushStack(i.map(this, function (t, i) { return n.call(t, i, t) })) }, slice: function () { return this.pushStack(a.apply(this, arguments)) }, first: function () { return this.eq(0) }, last: function () { return this.eq(-1) }, eq: function (n) { var i = this.length, t = +n + (n < 0 ? i : 0); return this.pushStack(t >= 0 && t < i ? [this[t]] : []) }, end: function () { return this.prevObject || this.constructor(null) }, push: si, sort: l.sort, splice: l.splice }; i.extend = i.fn.extend = function () { var r, e, t, f, o, s, n = arguments[0] || {}, u = 1, c = arguments.length, h = !1; for (typeof n == "boolean" && (h = n, n = arguments[u] || {}, u++), typeof n == "object" || i.isFunction(n) || (n = {}), u === c && (n = this, u--); u < c; u++)if ((o = arguments[u]) != null) for (f in o) (r = n[f], t = o[f], n !== t) && (h && t && (i.isPlainObject(t) || (e = i.isArray(t))) ? (e ? (e = !1, s = r && i.isArray(r) ? r : []) : s = r && i.isPlainObject(r) ? r : {}, n[f] = i.extend(h, s, t)) : t !== undefined && (n[f] = t)); return n }; i.extend({ expando: "jQuery" + (su + Math.random()).replace(/\D/g, ""), isReady: !0, error: function (n) { throw new Error(n); }, noop: function () { }, isFunction: function (n) { return i.type(n) === "function" }, isArray: Array.isArray || function (n) { return i.type(n) === "array" }, isWindow: function (n) { return n != null && n == n.window }, isNumeric: function (n) { return !i.isArray(n) && n - parseFloat(n) >= 0 }, isEmptyObject: function (n) { var t; for (t in n) return !1; return !0 }, isPlainObject: function (n) { var t; if (!n || i.type(n) !== "object" || n.nodeType || i.isWindow(n)) return !1; try { if (n.constructor && !it.call(n, "constructor") && !it.call(n.constructor.prototype, "isPrototypeOf")) return !1 } catch (u) { return !1 } if (r.ownLast) for (t in n) return it.call(n, t); for (t in n); return t === undefined || it.call(n, t) }, type: function (n) { return n == null ? n + "" : typeof n == "object" || typeof n == "function" ? vt[ee.call(n)] || "object" : typeof n }, globalEval: function (t) { t && i.trim(t) && (n.execScript || function (t) { n.eval.call(n, t) })(t) }, camelCase: function (n) { return n.replace(se, "ms-").replace(he, ce) }, nodeName: function (n, t) { return n.nodeName && n.nodeName.toLowerCase() === t.toLowerCase() }, each: function (n, t, i) { var u, r = 0, f = n.length, e = ii(n); if (i) { if (e) { for (; r < f; r++)if (u = t.apply(n[r], i), u === !1) break } else for (r in n) if (u = t.apply(n[r], i), u === !1) break } else if (e) { for (; r < f; r++)if (u = t.call(n[r], r, n[r]), u === !1) break } else for (r in n) if (u = t.call(n[r], r, n[r]), u === !1) break; return n }, trim: function (n) { return n == null ? "" : (n + "").replace(oe, "") }, makeArray: function (n, t) { var r = t || []; return n != null && (ii(Object(n)) ? i.merge(r, typeof n == "string" ? [n] : n) : si.call(r, n)), r }, inArray: function (n, t, i) { var r; if (t) { if (ou) return ou.call(t, n, i); for (r = t.length, i = i ? i < 0 ? Math.max(0, r + i) : i : 0; i < r; i++)if (i in t && t[i] === n) return i } return -1 }, merge: function (n, t) { for (var r = +t.length, i = 0, u = n.length; i < r;)n[u++] = t[i++]; if (r !== r) while (t[i] !== undefined) n[u++] = t[i++]; return n.length = u, n }, grep: function (n, t, i) { for (var u, f = [], r = 0, e = n.length, o = !i; r < e; r++)u = !t(n[r], r), u !== o && f.push(n[r]); return f }, map: function (n, t, i) { var u, r = 0, e = n.length, o = ii(n), f = []; if (o) for (; r < e; r++)u = t(n[r], r, i), u != null && f.push(u); else for (r in n) u = t(n[r], r, i), u != null && f.push(u); return eu.apply([], f) }, guid: 1, proxy: function (n, t) { var u, r, f; return (typeof t == "string" && (f = n[t], t = n, n = f), !i.isFunction(n)) ? undefined : (u = a.call(arguments, 2), r = function () { return n.apply(t || this, u.concat(a.call(arguments))) }, r.guid = n.guid = n.guid || i.guid++, r) }, now: function () { return +new Date }, support: r }); i.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function (n, t) { vt["[object " + t + "]"] = t.toLowerCase() }); p = function (n) { function r(n, t, i, r) { var w, s, h, v, k, y, d, l, nt, g; if ((t ? t.ownerDocument || t : c) !== e && p(t), t = t || e, i = i || [], !n || typeof n != "string") return i; if ((v = t.nodeType) !== 1 && v !== 9) return []; if (a && !r) { if (w = ar.exec(n)) if (h = w[1]) { if (v === 9) if (s = t.getElementById(h), s && s.parentNode) { if (s.id === h) return i.push(s), i } else return i; else if (t.ownerDocument && (s = t.ownerDocument.getElementById(h)) && ot(t, s) && s.id === h) return i.push(s), i } else { if (w[2]) return b.apply(i, t.getElementsByTagName(n)), i; if ((h = w[3]) && u.getElementsByClassName && t.getElementsByClassName) return b.apply(i, t.getElementsByClassName(h)), i } if (u.qsa && (!o || !o.test(n))) { if (l = d = f, nt = t, g = v === 9 && n, v === 1 && t.nodeName.toLowerCase() !== "object") { for (y = et(n), (d = t.getAttribute("id")) ? l = d.replace(vr, "\\$&") : t.setAttribute("id", l), l = "[id='" + l + "'] ", k = y.length; k--;)y[k] = l + ht(y[k]); nt = ei.test(n) && kt(t.parentNode) || t; g = y.join(",") } if (g) try { return b.apply(i, nt.querySelectorAll(g)), i } catch (tt) { } finally { d || t.removeAttribute("id") } } } return ci(n.replace(yt, "$1"), t, i, r) } function wt() { function n(r, u) { return i.push(r + " ") > t.cacheLength && delete n[i.shift()], n[r + " "] = u } var i = []; return n } function s(n) { return n[f] = !0, n } function h(n) { var t = e.createElement("div"); try { return !!n(t) } catch (i) { return !1 } finally { t.parentNode && t.parentNode.removeChild(t); t = null } } function bt(n, i) { for (var u = n.split("|"), r = n.length; r--;)t.attrHandle[u[r]] = i } function oi(n, t) { var i = t && n, r = i && n.nodeType === 1 && t.nodeType === 1 && (~t.sourceIndex || yi) - (~n.sourceIndex || yi); if (r) return r; if (i) while (i = i.nextSibling) if (i === t) return -1; return n ? 1 : -1 } function ki(n) { return function (t) { var i = t.nodeName.toLowerCase(); return i === "input" && t.type === n } } function di(n) { return function (t) { var i = t.nodeName.toLowerCase(); return (i === "input" || i === "button") && t.type === n } } function g(n) { return s(function (t) { return t = +t, s(function (i, r) { for (var u, f = n([], i.length, t), e = f.length; e--;)i[u = f[e]] && (i[u] = !(r[u] = i[u])) }) }) } function kt(n) { return n && typeof n.getElementsByTagName !== ut && n } function si() { } function ht(n) { for (var t = 0, r = n.length, i = ""; t < r; t++)i += n[t].value; return i } function dt(n, t, i) { var r = t.dir, u = i && r === "parentNode", e = tr++; return t.first ? function (t, i, f) { while (t = t[r]) if (t.nodeType === 1 || u) return n(t, i, f) } : function (t, i, o) { var s, h, c = [v, e]; if (o) { while (t = t[r]) if ((t.nodeType === 1 || u) && n(t, i, o)) return !0 } else while (t = t[r]) if (t.nodeType === 1 || u) { if (h = t[f] || (t[f] = {}), (s = h[r]) && s[0] === v && s[1] === e) return c[2] = s[2]; if (h[r] = c, c[2] = n(t, i, o)) return !0 } } } function gt(n) { return n.length > 1 ? function (t, i, r) { for (var u = n.length; u--;)if (!n[u](t, i, r)) return !1; return !0 } : n[0] } function gi(n, t, i) { for (var u = 0, f = t.length; u < f; u++)r(n, t[u], i); return i } function ct(n, t, i, r, u) { for (var e, o = [], f = 0, s = n.length, h = t != null; f < s; f++)(e = n[f]) && (!i || i(e, r, u)) && (o.push(e), h && t.push(f)); return o } function ni(n, t, i, r, u, e) { return r && !r[f] && (r = ni(r)), u && !u[f] && (u = ni(u, e)), s(function (f, e, o, s) { var l, c, a, p = [], y = [], w = e.length, k = f || gi(t || "*", o.nodeType ? [o] : o, []), v = n && (f || !t) ? ct(k, p, n, o, s) : k, h = i ? u || (f ? n : w || r) ? [] : e : v; if (i && i(v, h, o, s), r) for (l = ct(h, y), r(l, [], o, s), c = l.length; c--;)(a = l[c]) && (h[y[c]] = !(v[y[c]] = a)); if (f) { if (u || n) { if (u) { for (l = [], c = h.length; c--;)(a = h[c]) && l.push(v[c] = a); u(null, h = [], l, s) } for (c = h.length; c--;)(a = h[c]) && (l = u ? tt.call(f, a) : p[c]) > -1 && (f[l] = !(e[l] = a)) } } else h = ct(h === e ? h.splice(w, h.length) : h), u ? u(null, e, h, s) : b.apply(e, h) }) } function ti(n) { for (var s, u, r, o = n.length, h = t.relative[n[0].type], c = h || t.relative[" "], i = h ? 1 : 0, l = dt(function (n) { return n === s }, c, !0), a = dt(function (n) { return tt.call(s, n) > -1 }, c, !0), e = [function (n, t, i) { return !h && (i || t !== at) || ((s = t).nodeType ? l(n, t, i) : a(n, t, i)) }]; i < o; i++)if (u = t.relative[n[i].type]) e = [dt(gt(e), u)]; else { if (u = t.filter[n[i].type].apply(null, n[i].matches), u[f]) { for (r = ++i; r < o; r++)if (t.relative[n[r].type]) break; return ni(i > 1 && gt(e), i > 1 && ht(n.slice(0, i - 1).concat({ value: n[i - 2].type === " " ? "*" : "" })).replace(yt, "$1"), u, i < r && ti(n.slice(i, r)), r < o && ti(n = n.slice(r)), r < o && ht(n)) } e.push(u) } return gt(e) } function nr(n, i) { var u = i.length > 0, f = n.length > 0, o = function (o, s, h, c, l) { var y, d, w, k = 0, a = "0", g = o && [], p = [], nt = at, tt = o || f && t.find.TAG("*", l), it = v += nt == null ? 1 : Math.random() || .1, rt = tt.length; for (l && (at = s !== e && s); a !== rt && (y = tt[a]) != null; a++){ if (f && y) { for (d = 0; w = n[d++];)if (w(y, s, h)) { c.push(y); break } l && (v = it) } u && ((y = !w && y) && k--, o && g.push(y)) } if (k += a, u && a !== k) { for (d = 0; w = i[d++];)w(g, p, s, h); if (o) { if (k > 0) while (a--) g[a] || p[a] || (p[a] = rr.call(c)); p = ct(p) } b.apply(c, p); l && !o && p.length > 0 && k + i.length > 1 && r.uniqueSort(c) } return l && (v = it, at = nt), g }; return u ? s(o) : o } var it, u, t, lt, hi, et, ii, ci, at, y, rt, p, e, l, a, o, nt, vt, ot, f = "sizzle" + -new Date, c = n.document, v = 0, tr = 0, li = wt(), ai = wt(), vi = wt(), ri = function (n, t) { return n === t && (rt = !0), 0 }, ut = typeof undefined, yi = -2147483648, ir = {}.hasOwnProperty, w = [], rr = w.pop, ur = w.push, b = w.push, pi = w.slice, tt = w.indexOf || function (n) { for (var t = 0, i = this.length; t < i; t++)if (this[t] === n) return t; return -1 }, ui = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", i = "[\\x20\\t\\r\\n\\f]", ft = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", wi = ft.replace("w", "w#"), bi = "\\[" + i + "*(" + ft + ")(?:" + i + "*([*^$|!~]?=)" + i + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + wi + "))|)" + i + "*\\]", fi = ":(" + ft + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + bi + ")*)|.*)\\)|)", yt = new RegExp("^" + i + "+|((?:^|[^\\\\])(?:\\\\.)*)" + i + "+$", "g"), fr = new RegExp("^" + i + "*," + i + "*"), er = new RegExp("^" + i + "*([>+~]|" + i + ")" + i + "*"), or = new RegExp("=" + i + "*([^\\]'\"]*?)" + i + "*\\]", "g"), sr = new RegExp(fi), hr = new RegExp("^" + wi + "$"), pt = { ID: new RegExp("^#(" + ft + ")"), CLASS: new RegExp("^\\.(" + ft + ")"), TAG: new RegExp("^(" + ft.replace("w", "w*") + ")"), ATTR: new RegExp("^" + bi), PSEUDO: new RegExp("^" + fi), CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + i + "*(even|odd|(([+-]|)(\\d*)n|)" + i + "*(?:([+-]|)" + i + "*(\\d+)|))" + i + "*\\)|)", "i"), bool: new RegExp("^(?:" + ui + ")$", "i"), needsContext: new RegExp("^" + i + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + i + "*((?:-\\d)?\\d*)" + i + "*\\)|)(?=[^-]|$)", "i") }, cr = /^(?:input|select|textarea|button)$/i, lr = /^h\d$/i, st = /^[^{]+\{\s*\[native \w/, ar = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, ei = /[+~]/, vr = /'|\\/g, k = new RegExp("\\\\([\\da-f]{1,6}" + i + "?|(" + i + ")|.)", "ig"), d = function (n, t, i) { var r = "0x" + t - 65536; return r !== r || i ? t : r < 0 ? String.fromCharCode(r + 65536) : String.fromCharCode(r >> 10 | 55296, r & 1023 | 56320) }; try { b.apply(w = pi.call(c.childNodes), c.childNodes); w[c.childNodes.length].nodeType } catch (yr) { b = { apply: w.length ? function (n, t) { ur.apply(n, pi.call(t)) } : function (n, t) { for (var i = n.length, r = 0; n[i++] = t[r++];); n.length = i - 1 } } } u = r.support = {}; hi = r.isXML = function (n) { var t = n && (n.ownerDocument || n).documentElement; return t ? t.nodeName !== "HTML" : !1 }; p = r.setDocument = function (n) { var v, r = n ? n.ownerDocument || n : c, s = r.defaultView; return r === e || r.nodeType !== 9 || !r.documentElement ? e : (e = r, l = r.documentElement, a = !hi(r), s && s !== s.top && (s.addEventListener ? s.addEventListener("unload", function () { p() }, !1) : s.attachEvent && s.attachEvent("onunload", function () { p() })), u.attributes = h(function (n) { return n.className = "i", !n.getAttribute("className") }), u.getElementsByTagName = h(function (n) { return n.appendChild(r.createComment("")), !n.getElementsByTagName("*").length }), u.getElementsByClassName = st.test(r.getElementsByClassName) && h(function (n) { return n.innerHTML = "