!function (e, t) { function n(e) { var t = e.length, n = ce.type(e); return ce.isWindow(e) ? !1 : 1 === e.nodeType && t ? !0 : "array" === n || "function" !== n && (0 === t || "number" == typeof t && t > 0 && t - 1 in e) } function r(e) { var t = ke[e] = {}; return ce.each(e.match(pe) || [], function (e, n) { t[n] = !0 }), t } function i(e, n, r, i) { if (ce.acceptData(e)) { var o, a, s = ce.expando, u = e.nodeType, l = u ? ce.cache : e, c = u ? e[s] : e[s] && s; if (c && l[c] && (i || l[c].data) || r !== t || "string" != typeof n) return c || (c = u ? e[s] = te.pop() || ce.guid++ : s), l[c] || (l[c] = u ? {} : { toJSON: ce.noop }), ("object" == typeof n || "function" == typeof n) && (i ? l[c] = ce.extend(l[c], n) : l[c].data = ce.extend(l[c].data, n)), a = l[c], i || (a.data || (a.data = {}), a = a.data), r !== t && (a[ce.camelCase(n)] = r), "string" == typeof n ? (o = a[n], null == o && (o = a[ce.camelCase(n)])) : o = a, o } } function o(e, t, n) { if (ce.acceptData(e)) { var r, i, o = e.nodeType, a = o ? ce.cache : e, u = o ? e[ce.expando] : ce.expando; if (a[u]) { if (t && (r = n ? a[u] : a[u].data)) { ce.isArray(t) ? t = t.concat(ce.map(t, ce.camelCase)) : t in r ? t = [t] : (t = ce.camelCase(t), t = t in r ? [t] : t.split(" ")), i = t.length; for (; i--;) delete r[t[i]]; if (n ? !s(r) : !ce.isEmptyObject(r)) return } (n || (delete a[u].data, s(a[u]))) && (o ? ce.cleanData([e], !0) : ce.support.deleteExpando || a != a.window ? delete a[u] : a[u] = null) } } } function a(e, n, r) { if (r === t && 1 === e.nodeType) { var i = "data-" + n.replace(Se, "-$1").toLowerCase(); if (r = e.getAttribute(i), "string" == typeof r) { try { r = "true" === r ? !0 : "false" === r ? !1 : "null" === r ? null : +r + "" === r ? +r : Ee.test(r) ? ce.parseJSON(r) : r } catch (o) { } ce.data(e, n, r) } else r = t } return r } function s(e) { var t; for (t in e) if (("data" !== t || !ce.isEmptyObject(e[t])) && "toJSON" !== t) return !1; return !0 } function u() { return !0 } function l() { return !1 } function c() { try { return G.activeElement } catch (e) { } } function f(e, t) { do e = e[t]; while (e && 1 !== e.nodeType); return e } function p(e, t, n) { if (ce.isFunction(t)) return ce.grep(e, function (e, r) { return !!t.call(e, r, e) !== n }); if (t.nodeType) return ce.grep(e, function (e) { return e === t !== n }); if ("string" == typeof t) { if ($e.test(t)) return ce.filter(t, e, n); t = ce.filter(t, e) } return ce.grep(e, function (e) { return ce.inArray(e, t) >= 0 !== n }) } function d(e) { var t = Ue.split("|"), n = e.createDocumentFragment(); if (n.createElement) for (; t.length;) n.createElement(t.pop()); return n } function h(e, t) { return ce.nodeName(e, "table") && ce.nodeName(1 === t.nodeType ? t : t.firstChild, "tr") ? e.getElementsByTagName("tbody")[0] || e.appendChild(e.ownerDocument.createElement("tbody")) : e } function g(e) { return e.type = (null !== ce.find.attr(e, "type")) + "/" + e.type, e } function m(e) { var t = it.exec(e.type); return t ? e.type = t[1] : e.removeAttribute("type"), e } function y(e, t) { for (var n, r = 0; null != (n = e[r]) ; r++) ce._data(n, "globalEval", !t || ce._data(t[r], "globalEval")) } function v(e, t) { if (1 === t.nodeType && ce.hasData(e)) { var n, r, i, o = ce._data(e), a = ce._data(t, o), s = o.events; if (s) { delete a.handle, a.events = {}; for (n in s) for (r = 0, i = s[n].length; i > r; r++) ce.event.add(t, n, s[n][r]) } a.data && (a.data = ce.extend({}, a.data)) } } function b(e, t) { var n, r, i; if (1 === t.nodeType) { if (n = t.nodeName.toLowerCase(), !ce.support.noCloneEvent && t[ce.expando]) { i = ce._data(t); for (r in i.events) ce.removeEvent(t, r, i.handle); t.removeAttribute(ce.expando) } "script" === n && t.text !== e.text ? (g(t).text = e.text, m(t)) : "object" === n ? (t.parentNode && (t.outerHTML = e.outerHTML), ce.support.html5Clone && e.innerHTML && !ce.trim(t.innerHTML) && (t.innerHTML = e.innerHTML)) : "input" === n && tt.test(e.type) ? (t.defaultChecked = t.checked = e.checked, t.value !== e.value && (t.value = e.value)) : "option" === n ? t.defaultSelected = t.selected = e.defaultSelected : ("input" === n || "textarea" === n) && (t.defaultValue = e.defaultValue) } } function x(e, n) { var r, i, o = 0, a = typeof e.getElementsByTagName !== Y ? e.getElementsByTagName(n || "*") : typeof e.querySelectorAll !== Y ? e.querySelectorAll(n || "*") : t; if (!a) for (a = [], r = e.childNodes || e; null != (i = r[o]) ; o++) !n || ce.nodeName(i, n) ? a.push(i) : ce.merge(a, x(i, n)); return n === t || n && ce.nodeName(e, n) ? ce.merge([e], a) : a } function w(e) { tt.test(e.type) && (e.defaultChecked = e.checked) } function T(e, t) { if (t in e) return t; for (var n = t.charAt(0).toUpperCase() + t.slice(1), r = t, i = Nt.length; i--;) if (t = Nt[i] + n, t in e) return t; return r } function C(e, t) { return e = t || e, "none" === ce.css(e, "display") || !ce.contains(e.ownerDocument, e) } function N(e, t) { for (var n, r, i, o = [], a = 0, s = e.length; s > a; a++) r = e[a], r.style && (o[a] = ce._data(r, "olddisplay"), n = r.style.display, t ? (o[a] || "none" !== n || (r.style.display = ""), "" === r.style.display && C(r) && (o[a] = ce._data(r, "olddisplay", A(r.nodeName)))) : o[a] || (i = C(r), (n && "none" !== n || !i) && ce._data(r, "olddisplay", i ? n : ce.css(r, "display")))); for (a = 0; s > a; a++) r = e[a], r.style && (t && "none" !== r.style.display && "" !== r.style.display || (r.style.display = t ? o[a] || "" : "none")); return e } function k(e, t, n) { var r = yt.exec(t); return r ? Math.max(0, r[1] - (n || 0)) + (r[2] || "px") : t } function E(e, t, n, r, i) { for (var o = n === (r ? "border" : "content") ? 4 : "width" === t ? 1 : 0, a = 0; 4 > o; o += 2) "margin" === n && (a += ce.css(e, n + Ct[o], !0, i)), r ? ("content" === n && (a -= ce.css(e, "padding" + Ct[o], !0, i)), "margin" !== n && (a -= ce.css(e, "border" + Ct[o] + "Width", !0, i))) : (a += ce.css(e, "padding" + Ct[o], !0, i), "padding" !== n && (a += ce.css(e, "border" + Ct[o] + "Width", !0, i))); return a } function S(e, t, n) { var r = !0, i = "width" === t ? e.offsetWidth : e.offsetHeight, o = ct(e), a = ce.support.boxSizing && "border-box" === ce.css(e, "boxSizing", !1, o); if (0 >= i || null == i) { if (i = ft(e, t, o), (0 > i || null == i) && (i = e.style[t]), vt.test(i)) return i; r = a && (ce.support.boxSizingReliable || i === e.style[t]), i = parseFloat(i) || 0 } return i + E(e, t, n || (a ? "border" : "content"), r, o) + "px" } function A(e) { var t = G, n = xt[e]; return n || (n = j(e, t), "none" !== n && n || (lt = (lt || ce("