!function() { function e() { return function(e, t) { function n(e, n, r) { if (r === t && 1 === e.nodeType) { var i = "data-" + n.replace(P, "$1-$2").toLowerCase(); if (r = e.getAttribute(i), "string" == typeof r) { try { r = "true" === r ? !0 : "false" === r ? !1 : "null" === r ? null : O.isNaN(r) ? B.test(r) ? O.parseJSON(r) : r : parseFloat(r) } catch (a) {} O.data(e, n, r) } else r = t } return r } function r(e) { for (var t in e) if ("toJSON" !== t) return !1; return !0 } function i(e, n, r) { var i = n + "defer" , a = n + "queue" , o = n + "mark" , s = O.data(e, i, t, !0); !s || "queue" !== r && O.data(e, a, t, !0) || "mark" !== r && O.data(e, o, t, !0) || setTimeout(function() { O.data(e, a, t, !0) || O.data(e, o, t, !0) || (O.removeData(e, i, !0), s.resolve()) }, 0) } function a() { return !1 } function o() { return !0 } function s(e, n, r) { var i = O.extend({}, r[0]); i.type = e, i.originalEvent = {}, i.liveFired = t, O.event.handle.call(n, i), i.isDefaultPrevented() && r[0].preventDefault() } function l(e) { var t, n, r, i, a, o, s, l, u, c, d, f, p = [], h = [], g = O._data(this, "events"); if (e.liveFired !== this && g && g.live && !e.target.disabled && (!e.button || "click" !== e.type)) { e.namespace && (d = new RegExp("(^|\\.)" + e.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)")), e.liveFired = this; var m = g.live.slice(0); for (s = 0; s < m.length; s++) a = m[s], a.origType.replace(G, "") === e.type ? h.push(a.selector) : m.splice(s--, 1); for (i = O(e.target).closest(h, e.currentTarget), l = 0, u = i.length; u > l; l++) for (c = i[l], s = 0; s < m.length; s++) a = m[s], c.selector !== a.selector || d && !d.test(a.namespace) || c.elem.disabled || (o = c.elem, r = null, "mouseenter" !== a.preType && "mouseleave" !== a.preType || (e.type = a.preType, r = O(e.relatedTarget).closest(a.selector)[0], r && O.contains(o, r) && (r = o)), r && r === o || p.push({ elem: o, handleObj: a, level: c.level })); for (l = 0, u = p.length; u > l && (i = p[l], !(n && i.level > n)) && (e.currentTarget = i.elem, e.data = i.handleObj.data, e.handleObj = i.handleObj, f = i.handleObj.origHandler.apply(i.elem, arguments), f !== !1 && !e.isPropagationStopped() || (n = i.level, f === !1 && (t = !1), !e.isImmediatePropagationStopped())); l++) ; return t } } function u(e, t) { return (e && "*" !== e ? e + "." : "") + t.replace(K, "`").replace(Z, "&") } function c(e) { return !e || !e.parentNode || 11 === e.parentNode.nodeType } function d(e, t, n) { if (t = t || 0, O.isFunction(t)) return O.grep(e, function(e, r) { var i = !!t.call(e, r, e); return i === n }); if (t.nodeType) return O.grep(e, function(e) { return e === t === n }); if ("string" == typeof t) { var r = O.grep(e, function(e) { return 1 === e.nodeType }); if (de.test(t)) return O.filter(t, r, !n); t = O.filter(t, r) } return O.grep(e, function(e) { return O.inArray(e, t) >= 0 === n }) } function f(e) { return O.nodeName(e, "table") ? e.getElementsByTagName("tbody")[0] || e.appendChild(e.ownerDocument.createElement("tbody")) : e } function p(e, t) { if (1 === t.nodeType && O.hasData(e)) { var n = O.expando , r = O.data(e) , i = O.data(t, r); if (r = r[n]) { var a = r.events; if (i = i[n] = O.extend({}, r), a) { delete i.handle, i.events = {}; for (var o in a) for (var s = 0, l = a[o].length; l > s; s++) O.event.add(t, o + (a[o][s].namespace ? "." : "") + a[o][s].namespace, a[o][s], a[o][s].data) } } } } function h(e, t) { var n; 1 === t.nodeType && (t.clearAttributes && t.clearAttributes(), t.mergeAttributes && t.mergeAttributes(e), n = t.nodeName.toLowerCase(), "object" === n ? t.outerHTML = e.outerHTML : "input" !== n || "checkbox" !== e.type && "radio" !== e.type ? "option" === n ? t.selected = e.defaultSelected : "input" !== n && "textarea" !== n || (t.defaultValue = e.defaultValue) : (e.checked && (t.defaultChecked = t.checked = e.checked), t.value !== e.value && (t.value = e.value)), t.removeAttribute(O.expando)) } function g(e) { return "getElementsByTagName"in e ? e.getElementsByTagName("*") : "querySelectorAll"in e ? e.querySelectorAll("*") : [] } function m(e) { "checkbox" !== e.type && "radio" !== e.type || (e.defaultChecked = e.checked) } function v(e) { O.nodeName(e, "input") ? m(e) : "getElementsByTagName"in e && O.grep(e.getElementsByTagName("input"), m) } function y(e, t) { t.src ? O.ajax({ url: t.src, async: !1, dataType: "script" }) : O.globalEval((t.text || t.textContent || t.innerHTML || "").replace(Ne, "/*$0*/")), t.parentNode && t.parentNode.removeChild(t) } function b(e, t, n) { var r = "width" === t ? e.offsetWidth : e.offsetHeight , i = "width" === t ? Oe : He; return r > 0 ? ("border" !== n && O.each(i, function() { n || (r -= parseFloat(O.css(e, "padding" + this)) || 0), "margin" === n ? r += parseFloat(O.css(e, n + this)) || 0 : r -= parseFloat(O.css(e, "border" + this + "Width")) || 0 }), r + "px") : (r = Ee(e, t, t), (0 > r || null == r) && (r = e.style[t] || 0), r = parseFloat(r) || 0, n && O.each(i, function() { r += parseFloat(O.css(e, "padding" + this)) || 0, "padding" !== n && (r += parseFloat(O.css(e, "border" + this + "Width")) || 0), "margin" === n && (r += parseFloat(O.css(e, n + this)) || 0) }), r + "px") } function x(e) { return function(t, n) { if ("string" != typeof t && (n = t, t = "*"), O.isFunction(n)) for (var r, i, a, o = t.toLowerCase().split(Ke), s = 0, l = o.length; l > s; s++) r = o[s], a = /^\+/.test(r), a && (r = r.substr(1) || "*"), i = e[r] = e[r] || [], i[a ? "unshift" : "push"](n) } } function w(e, n, r, i, a, o) { a = a || n.dataTypes[0], o = o || {}, o[a] = !0; for (var s, l = e[a], u = 0, c = l ? l.length : 0, d = e === nt; c > u && (d || !s); u++) s = l[u](n, r, i), "string" == typeof s && (!d || o[s] ? s = t : (n.dataTypes.unshift(s), s = w(e, n, r, i, s, o))); return !d && s || o["*"] || (s = w(e, n, r, i, "*", o)), s } function _(e, n) { var r, i, a = O.ajaxSettings.flatOptions || {}; for (r in n) n[r] !== t && ((a[r] ? e : i || (i = {}))[r] = n[r]); i && O.extend(!0, e, i) } function T(e, t, n, r) { if (O.isArray(t)) O.each(t, function(t, i) { n || Ve.test(e) ? r(e, i) : T(e + "[" + ("object" == typeof i || O.isArray(i) ? t : "") + "]", i, n, r) }); else if (n || null == t || "object" != typeof t) r(e, t); else for (var i in t) T(e + "[" + i + "]", t[i], n, r) } function N(e, n, r) { var i, a, o, s, l = e.contents, u = e.dataTypes, c = e.responseFields; for (a in c) a in r && (n[c[a]] = r[a]); for (; "*" === u[0]; ) u.shift(), i === t && (i = e.mimeType || n.getResponseHeader("content-type")); if (i) for (a in l) if (l[a] && l[a].test(i)) { u.unshift(a); break } if (u[0]in r) o = u[0]; else { for (a in r) { if (!u[0] || e.converters[a + " " + u[0]]) { o = a; break } s || (s = a) } o = o || s } return o ? (o !== u[0] && u.unshift(o), r[o]) : void 0 } function C(e, n) { e.dataFilter && (n = e.dataFilter(n, e.dataType)); var r, i, a, o, s, l, u, c, d = e.dataTypes, f = {}, p = d.length, h = d[0]; for (r = 1; p > r; r++) { if (1 === r) for (i in e.converters) "string" == typeof i && (f[i.toLowerCase()] = e.converters[i]); if (o = h, h = d[r], "*" === h) h = o; else if ("*" !== o && o !== h) { if (s = o + " " + h, l = f[s] || f["* " + h], !l) { c = t; for (u in f) if (a = u.split(" "), (a[0] === o || "*" === a[0]) && (c = f[a[1] + " " + h])) { u = f[u], u === !0 ? l = c : c === !0 && (l = u); break } } l || c || O.error("No conversion from " + s.replace(" ", " to ")), l !== !0 && (n = l ? l(n) : c(u(n))) } } return n } function E() { try { return new e.XMLHttpRequest } catch (t) {} } function A() { try { return new e.ActiveXObject("Microsoft.XMLHTTP") } catch (t) {} } function S() { return setTimeout(k, 0), ht = O.now() } function k() { ht = t } function L(e, t) { var n = {}; return O.each(yt.concat.apply([], yt.slice(0, t)), function() { n[this] = e }), n } function F(e) { if (!gt[e]) { var t = D.body , n = O("<" + e + ">").appendTo(t) , r = n.css("display"); n.remove(), "none" !== r && "" !== r || (dt || (dt = D.createElement("iframe"), dt.frameBorder = dt.width = dt.height = 0), t.appendChild(dt), ft && dt.createElement || (ft = (dt.contentWindow || dt.contentDocument).document, ft.write(("CSS1Compat" === D.compatMode ? "" : "") + ""), ft.close()), n = ft.createElement(e), ft.body.appendChild(n), r = O.css(n, "display"), t.removeChild(dt)), gt[e] = r } return gt[e] } function j(e) { return O.isWindow(e) ? e : 9 === e.nodeType ? e.defaultView || e.parentWindow : !1 } var D = e.document , I = e.navigator , M = e.location , O = function() { function n() { if (!s.isReady) { try { D.documentElement.doScroll("left") } catch (e) { return void setTimeout(n, 1) } s.ready() } } var r, i, a, o, s = function(e, t) { return new s.fn.init(e,t,r) }, l = e.jQuery, u = e.$, c = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, d = /\S/, f = /^\s+/, p = /\s+$/, h = /\d/, g = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, m = /^[\],:{}\s]*$/, v = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, y = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, b = /(?:^|:|,)(?:\s*\[)+/g, x = /(webkit)[ \/]([\w.]+)/, w = /(opera)(?:.*version)?[ \/]([\w.]+)/, _ = /(msie) ([\w.]+)/, T = /(mozilla)(?:.*? rv:([\w.]+))?/, N = /-([a-z]|[0-9])/gi, C = /^-ms-/, E = function(e, t) { return (t + "").toUpperCase() }, A = I.userAgent, S = Object.prototype.toString, k = Object.prototype.hasOwnProperty, L = Array.prototype.push, F = Array.prototype.slice, j = String.prototype.trim, M = Array.prototype.indexOf, O = {}; return s.fn = s.prototype = { constructor: s, init: function(e, n, r) { var i, a, o, l; if (!e) return this; if (e.nodeType) return this.context = this[0] = e, this.length = 1, this; if ("body" === e && !n && D.body) return this.context = D, this[0] = D.body, this.selector = e, this.length = 1, this; if ("string" == typeof e) { if (i = "<" === e.charAt(0) && ">" === e.charAt(e.length - 1) && e.length >= 3 ? [null, e, null] : c.exec(e), !i || !i[1] && n) return !n || n.jquery ? (n || r).find(e) : this.constructor(n).find(e); if (i[1]) return n = n instanceof s ? n[0] : n, l = n ? n.ownerDocument || n : D, o = g.exec(e), o ? s.isPlainObject(n) ? (e = [D.createElement(o[1])], s.fn.attr.call(e, n, !0)) : e = [l.createElement(o[1])] : (o = s.buildFragment([i[1]], [l]), e = (o.cacheable ? s.clone(o.fragment) : o.fragment).childNodes), s.merge(this, e); if (a = D.getElementById(i[2]), a && a.parentNode) { if (a.id !== i[2]) return r.find(e); this.length = 1, this[0] = a } return this.context = D, this.selector = e, this } return s.isFunction(e) ? r.ready(e) : (e.selector !== t && (this.selector = e.selector, this.context = e.context), s.makeArray(e, this)) }, selector: "", jquery: "1.6.3", length: 0, size: function() { return this.length }, toArray: function() { return F.call(this, 0) }, get: function(e) { return null == e ? this.toArray() : 0 > e ? this[this.length + e] : this[e] }, pushStack: function(e, t, n) { var r = this.constructor(); return s.isArray(e) ? L.apply(r, e) : s.merge(r, e), r.prevObject = this, r.context = this.context, "find" === t ? r.selector = this.selector + (this.selector ? " " : "") + n : t && (r.selector = this.selector + "." + t + "(" + n + ")"), r }, each: function(e, t) { return s.each(this, e, t) }, ready: function(e) { return s.bindReady(), a.done(e), this }, eq: function(e) { return -1 === e ? this.slice(e) : this.slice(e, +e + 1) }, first: function() { return this.eq(0) }, last: function() { return this.eq(-1) }, slice: function() { return this.pushStack(F.apply(this, arguments), "slice", F.call(arguments).join(",")) }, map: function(e) { return this.pushStack(s.map(this, function(t, n) { return e.call(t, n, t) })) }, end: function() { return this.prevObject || this.constructor(null) }, push: L, sort: [].sort, splice: [].splice }, s.fn.init.prototype = s.fn, s.extend = s.fn.extend = function() { var e, n, r, i, a, o, l = arguments[0] || {}, u = 1, c = arguments.length, d = !1; for ("boolean" == typeof l && (d = l, l = arguments[1] || {}, u = 2), "object" == typeof l || s.isFunction(l) || (l = {}), c === u && (l = this, --u); c > u; u++) if (null != (e = arguments[u])) for (n in e) r = l[n], i = e[n], l !== i && (d && i && (s.isPlainObject(i) || (a = s.isArray(i))) ? (a ? (a = !1, o = r && s.isArray(r) ? r : []) : o = r && s.isPlainObject(r) ? r : {}, l[n] = s.extend(d, o, i)) : i !== t && (l[n] = i)); return l } , s.extend({ noConflict: function(t) { return e.$ === s && (e.$ = u), t && e.jQuery === s && (e.jQuery = l), s }, isReady: !1, readyWait: 1, holdReady: function(e) { e ? s.readyWait++ : s.ready(!0) }, ready: function(e) { if (e === !0 && !--s.readyWait || e !== !0 && !s.isReady) { if (!D.body) return setTimeout(s.ready, 1); if (s.isReady = !0, e !== !0 && --s.readyWait > 0) return; a.resolveWith(D, [s]), s.fn.trigger && s(D).trigger("ready").unbind("ready") } }, bindReady: function() { if (!a) { if (a = s._Deferred(), "complete" === D.readyState) return setTimeout(s.ready, 1); if (D.addEventListener) D.addEventListener("DOMContentLoaded", o, !1), e.addEventListener("load", s.ready, !1); else if (D.attachEvent) { D.attachEvent("onreadystatechange", o), e.attachEvent("onload", s.ready); var t = !1; try { t = null == e.frameElement } catch (r) {} D.documentElement.doScroll && t && n() } } }, isFunction: function(e) { return "function" === s.type(e) }, isArray: Array.isArray || function(e) { return "array" === s.type(e) } , isWindow: function(e) { return e && "object" == typeof e && "setInterval"in e }, isNaN: function(e) { return null == e || !h.test(e) || isNaN(e) }, type: function(e) { return null == e ? String(e) : O[S.call(e)] || "object" }, isPlainObject: function(e) { if (!e || "object" !== s.type(e) || e.nodeType || s.isWindow(e)) return !1; try { if (e.constructor && !k.call(e, "constructor") && !k.call(e.constructor.prototype, "isPrototypeOf")) return !1 } catch (n) { return !1 } var r; for (r in e) ; return r === t || k.call(e, r) }, isEmptyObject: function(e) { for (var t in e) return !1; return !0 }, error: function(e) { throw e }, parseJSON: function(t) { return "string" == typeof t && t ? (t = s.trim(t), e.JSON && e.JSON.parse ? e.JSON.parse(t) : m.test(t.replace(v, "@").replace(y, "]").replace(b, "")) ? new Function("return " + t)() : void s.error("Invalid JSON: " + t)) : null }, parseXML: function(n) { var r, i; try { e.DOMParser ? (i = new DOMParser, r = i.parseFromString(n, "text/xml")) : (r = new ActiveXObject("Microsoft.XMLDOM"), r.async = "false", r.loadXML(n)) } catch (a) { r = t } return r && r.documentElement && !r.getElementsByTagName("parsererror").length || s.error("Invalid XML: " + n), r }, noop: function() {}, globalEval: function(t) { t && d.test(t) && (e.execScript || function(t) { e.eval.call(e, t) } )(t) }, camelCase: function(e) { return e.replace(C, "ms-").replace(N, E) }, nodeName: function(e, t) { return e.nodeName && e.nodeName.toUpperCase() === t.toUpperCase() }, each: function(e, n, r) { var i, a = 0, o = e.length, l = o === t || s.isFunction(e); if (r) if (l) { for (i in e) if (n.apply(e[i], r) === !1) break } else for (; o > a && n.apply(e[a++], r) !== !1; ) ; else if (l) { for (i in e) if (n.call(e[i], i, e[i]) === !1) break } else for (; o > a && n.call(e[a], a, e[a++]) !== !1; ) ; return e }, trim: j ? function(e) { return null == e ? "" : j.call(e) } : function(e) { return null == e ? "" : e.toString().replace(f, "").replace(p, "") } , makeArray: function(e, t) { var n = t || []; if (null != e) { var r = s.type(e); null == e.length || "string" === r || "function" === r || "regexp" === r || s.isWindow(e) ? L.call(n, e) : s.merge(n, e) } return n }, inArray: function(e, t) { if (!t) return -1; if (M) return M.call(t, e); for (var n = 0, r = t.length; r > n; n++) if (t[n] === e) return n; return -1 }, merge: function(e, n) { var r = e.length , i = 0; if ("number" == typeof n.length) for (var a = n.length; a > i; i++) e[r++] = n[i]; else for (; n[i] !== t; ) e[r++] = n[i++]; return e.length = r, e }, grep: function(e, t, n) { var r, i = []; n = !!n; for (var a = 0, o = e.length; o > a; a++) r = !!t(e[a], a), n !== r && i.push(e[a]); return i }, map: function(e, n, r) { var i, a, o = [], l = 0, u = e.length, c = e instanceof s || u !== t && "number" == typeof u && (u > 0 && e[0] && e[u - 1] || 0 === u || s.isArray(e)); if (c) for (; u > l; l++) i = n(e[l], l, r), null != i && (o[o.length] = i); else for (a in e) i = n(e[a], a, r), null != i && (o[o.length] = i); return o.concat.apply([], o) }, guid: 1, proxy: function(e, n) { if ("string" == typeof n) { var r = e[n]; n = e, e = r } if (!s.isFunction(e)) return t; var i = F.call(arguments, 2) , a = function() { return e.apply(n, i.concat(F.call(arguments))) }; return a.guid = e.guid = e.guid || a.guid || s.guid++, a }, access: function(e, n, r, i, a, o) { var l = e.length; if ("object" == typeof n) { for (var u in n) s.access(e, u, n[u], i, a, r); return e } if (r !== t) { i = !o && i && s.isFunction(r); for (var c = 0; l > c; c++) a(e[c], n, i ? r.call(e[c], c, a(e[c], n)) : r, o); return e } return l ? a(e[0], n) : t }, now: function() { return (new Date).getTime() }, uaMatch: function(e) { e = e.toLowerCase(); var t = x.exec(e) || w.exec(e) || _.exec(e) || e.indexOf("compatible") < 0 && T.exec(e) || []; return { browser: t[1] || "", version: t[2] || "0" } }, sub: function() { function e(t, n) { return new e.fn.init(t,n) } s.extend(!0, e, this), e.superclass = this, e.fn = e.prototype = this(), e.fn.constructor = e, e.sub = this.sub, e.fn.init = function(n, r) { return r && r instanceof s && !(r instanceof e) && (r = e(r)), s.fn.init.call(this, n, r, t) } , e.fn.init.prototype = e.fn; var t = e(D); return e }, browser: {} }), s.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(e, t) { O["[object " + t + "]"] = t.toLowerCase() }), i = s.uaMatch(A), i.browser && (s.browser[i.browser] = !0, s.browser.version = i.version), s.browser.webkit && (s.browser.safari = !0), d.test(" ") && (f = /^[\s\xA0]+/, p = /[\s\xA0]+$/), r = s(D), D.addEventListener ? o = function() { D.removeEventListener("DOMContentLoaded", o, !1), s.ready() } : D.attachEvent && (o = function() { "complete" === D.readyState && (D.detachEvent("onreadystatechange", o), s.ready()) } ), s }() , H = "done fail isResolved isRejected promise then always pipe".split(" ") , R = [].slice; O.extend({ _Deferred: function() { var e, t, n, r = [], i = { done: function() { if (!n) { var t, a, o, s, l, u = arguments; for (e && (l = e, e = 0), t = 0, a = u.length; a > t; t++) o = u[t], s = O.type(o), "array" === s ? i.done.apply(i, o) : "function" === s && r.push(o); l && i.resolveWith(l[0], l[1]) } return this }, resolveWith: function(i, a) { if (!n && !e && !t) { a = a || [], t = 1; try { for (; r[0]; ) r.shift().apply(i, a) } finally { e = [i, a], t = 0 } } return this }, resolve: function() { return i.resolveWith(this, arguments), this }, isResolved: function() { return !(!t && !e) }, cancel: function() { return n = 1, r = [], this } }; return i }, Deferred: function(e) { var t, n = O._Deferred(), r = O._Deferred(); return O.extend(n, { then: function(e, t) { return n.done(e).fail(t), this }, always: function() { return n.done.apply(n, arguments).fail.apply(this, arguments) }, fail: r.done, rejectWith: r.resolveWith, reject: r.resolve, isRejected: r.isResolved, pipe: function(e, t) { return O.Deferred(function(r) { O.each({ done: [e, "resolve"], fail: [t, "reject"] }, function(e, t) { var i, a = t[0], o = t[1]; O.isFunction(a) ? n[e](function() { i = a.apply(this, arguments), i && O.isFunction(i.promise) ? i.promise().then(r.resolve, r.reject) : r[o + "With"](this === n ? r : this, [i]) }) : n[e](r[o]) }) }).promise() }, promise: function(e) { if (null == e) { if (t) return t; t = e = {} } for (var r = H.length; r--; ) e[H[r]] = n[H[r]]; return e } }), n.done(r.cancel).fail(n.cancel), delete n.cancel, e && e.call(n, n), n }, when: function(e) { function t(e) { return function(t) { n[e] = arguments.length > 1 ? R.call(arguments, 0) : t, --a || o.resolveWith(o, R.call(n, 0)) } } var n = arguments , r = 0 , i = n.length , a = i , o = 1 >= i && e && O.isFunction(e.promise) ? e : O.Deferred(); if (i > 1) { for (; i > r; r++) n[r] && O.isFunction(n[r].promise) ? n[r].promise().then(t(r), o.reject) : --a; a || o.resolveWith(o, n) } else o !== e && o.resolveWith(o, i ? [e] : []); return o.promise() } }), O.support = function() { var e, t, n, r, i, a, o, s, l, u, c, d, f, p, h, g, m = D.createElement("div"), v = D.documentElement; if (m.setAttribute("className", "t"), m.innerHTML = "
a", e = m.getElementsByTagName("*"), t = m.getElementsByTagName("a")[0], !e || !e.length || !t) return {}; n = D.createElement("select"), r = n.appendChild(D.createElement("option")), i = m.getElementsByTagName("input")[0], o = { leadingWhitespace: 3 === m.firstChild.nodeType, tbody: !m.getElementsByTagName("tbody").length, htmlSerialize: !!m.getElementsByTagName("link").length, style: /top/.test(t.getAttribute("style")), hrefNormalized: "/a" === t.getAttribute("href"), opacity: /^0.55$/.test(t.style.opacity), cssFloat: !!t.style.cssFloat, checkOn: "on" === i.value, optSelected: r.selected, getSetAttribute: "t" !== m.className, submitBubbles: !0, changeBubbles: !0, focusinBubbles: !1, deleteExpando: !0, noCloneEvent: !0, inlineBlockNeedsLayout: !1, shrinkWrapBlocks: !1, reliableMarginRight: !0 }, i.checked = !0, o.noCloneChecked = i.cloneNode(!0).checked, n.disabled = !0, o.optDisabled = !r.disabled; try { delete m.test } catch (y) { o.deleteExpando = !1 } !m.addEventListener && m.attachEvent && m.fireEvent && (m.attachEvent("onclick", function() { o.noCloneEvent = !1 }), m.cloneNode(!0).fireEvent("onclick")), i = D.createElement("input"), i.value = "t", i.setAttribute("type", "radio"), o.radioValue = "t" === i.value, i.setAttribute("checked", "checked"), m.appendChild(i), s = D.createDocumentFragment(), s.appendChild(m.firstChild), o.checkClone = s.cloneNode(!0).cloneNode(!0).lastChild.checked, m.innerHTML = "", m.style.width = m.style.paddingLeft = "1px", l = D.getElementsByTagName("body")[0], c = D.createElement(l ? "div" : "body"), d = { visibility: "hidden", width: 0, height: 0, border: 0, margin: 0, background: "none" }, l && O.extend(d, { position: "absolute", left: "-1000px", top: "-1000px" }); for (h in d) c.style[h] = d[h]; if (c.appendChild(m), u = l || v, u.insertBefore(c, u.firstChild), o.appendChecked = i.checked, o.boxModel = 2 === m.offsetWidth, "zoom"in m.style && (m.style.display = "inline", m.style.zoom = 1, o.inlineBlockNeedsLayout = 2 === m.offsetWidth, m.style.display = "", m.innerHTML = "
", o.shrinkWrapBlocks = 2 !== m.offsetWidth), m.innerHTML = "
t
", f = m.getElementsByTagName("td"), g = 0 === f[0].offsetHeight, f[0].style.display = "", f[1].style.display = "none", o.reliableHiddenOffsets = g && 0 === f[0].offsetHeight, m.innerHTML = "", D.defaultView && D.defaultView.getComputedStyle && (a = D.createElement("div"), a.style.width = "0", a.style.marginRight = "0", m.appendChild(a), o.reliableMarginRight = 0 === (parseInt((D.defaultView.getComputedStyle(a, null) || { marginRight: 0 }).marginRight, 10) || 0)), c.innerHTML = "", u.removeChild(c), m.attachEvent) for (h in { submit: 1, change: 1, focusin: 1 }) p = "on" + h, g = p in m, g || (m.setAttribute(p, "return;"), g = "function" == typeof m[p]), o[h + "Bubbles"] = g; return c = s = n = r = l = a = m = i = null, o }(), O.boxModel = O.support.boxModel; var B = /^(?:\{.*\}|\[.*\])$/ , P = /([a-z])([A-Z])/g; O.extend({ cache: {}, uuid: 0, expando: "jQuery" + (O.fn.jquery + Math.random()).replace(/\D/g, ""), noData: { embed: !0, object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", applet: !0 }, hasData: function(e) { return e = e.nodeType ? O.cache[e[O.expando]] : e[O.expando], !!e && !r(e) }, data: function(e, n, r, i) { if (O.acceptData(e)) { var a, o, s = O.expando, l = "string" == typeof n, u = e.nodeType, c = u ? O.cache : e, d = u ? e[O.expando] : e[O.expando] && O.expando; if (!(!d || i && d && c[d] && !c[d][s]) || !l || r !== t) return d || (u ? e[O.expando] = d = ++O.uuid : d = O.expando), c[d] || (c[d] = {}, u || (c[d].toJSON = O.noop)), "object" != typeof n && "function" != typeof n || (i ? c[d][s] = O.extend(c[d][s], n) : c[d] = O.extend(c[d], n)), a = c[d], i && (a[s] || (a[s] = {}), a = a[s]), r !== t && (a[O.camelCase(n)] = r), "events" !== n || a[n] ? (l ? (o = a[n], null == o && (o = a[O.camelCase(n)])) : o = a, o) : a[s] && a[s].events } }, removeData: function(e, t, n) { if (O.acceptData(e)) { var i, a = O.expando, o = e.nodeType, s = o ? O.cache : e, l = o ? e[O.expando] : O.expando; if (s[l] && (!t || (i = n ? s[l][a] : s[l], !i || (i[t] || (t = O.camelCase(t)), delete i[t], r(i)))) && (!n || (delete s[l][a], r(s[l])))) { var u = s[l][a]; O.support.deleteExpando || !s.setInterval ? delete s[l] : s[l] = null, u ? (s[l] = {}, o || (s[l].toJSON = O.noop), s[l][a] = u) : o && (O.support.deleteExpando ? delete e[O.expando] : e.removeAttribute ? e.removeAttribute(O.expando) : e[O.expando] = null) } } }, _data: function(e, t, n) { return O.data(e, t, n, !0) }, acceptData: function(e) { if (e.nodeName) { var t = O.noData[e.nodeName.toLowerCase()]; if (t) return !(t === !0 || e.getAttribute("classid") !== t) } return !0 } }), O.fn.extend({ data: function(e, r) { var i = null; if ("undefined" == typeof e) { if (this.length && (i = O.data(this[0]), 1 === this[0].nodeType)) for (var a, o = this[0].attributes, s = 0, l = o.length; l > s; s++) a = o[s].name, 0 === a.indexOf("data-") && (a = O.camelCase(a.substring(5)), n(this[0], a, i[a])); return i } if ("object" == typeof e) return this.each(function() { O.data(this, e) }); var u = e.split("."); return u[1] = u[1] ? "." + u[1] : "", r === t ? (i = this.triggerHandler("getData" + u[1] + "!", [u[0]]), i === t && this.length && (i = O.data(this[0], e), i = n(this[0], e, i)), i === t && u[1] ? this.data(u[0]) : i) : this.each(function() { var t = O(this) , n = [u[0], r]; t.triggerHandler("setData" + u[1] + "!", n), O.data(this, e, r), t.triggerHandler("changeData" + u[1] + "!", n) }) }, removeData: function(e) { return this.each(function() { O.removeData(this, e) }) } }), O.extend({ _mark: function(e, n) { e && (n = (n || "fx") + "mark", O.data(e, n, (O.data(e, n, t, !0) || 0) + 1, !0)) }, _unmark: function(e, n, r) { if (e !== !0 && (r = n, n = e, e = !1), n) { r = r || "fx"; var a = r + "mark" , o = e ? 0 : (O.data(n, a, t, !0) || 1) - 1; o ? O.data(n, a, o, !0) : (O.removeData(n, a, !0), i(n, r, "mark")) } }, queue: function(e, n, r) { if (e) { n = (n || "fx") + "queue"; var i = O.data(e, n, t, !0); return r && (!i || O.isArray(r) ? i = O.data(e, n, O.makeArray(r), !0) : i.push(r)), i || [] } }, dequeue: function(e, t) { t = t || "fx"; var n = O.queue(e, t) , r = n.shift(); "inprogress" === r && (r = n.shift()), r && ("fx" === t && n.unshift("inprogress"), r.call(e, function() { O.dequeue(e, t) })), n.length || (O.removeData(e, t + "queue", !0), i(e, t, "queue")) } }), O.fn.extend({ queue: function(e, n) { return "string" != typeof e && (n = e, e = "fx"), n === t ? O.queue(this[0], e) : this.each(function() { var t = O.queue(this, e, n); "fx" === e && "inprogress" !== t[0] && O.dequeue(this, e) }) }, dequeue: function(e) { return this.each(function() { O.dequeue(this, e) }) }, delay: function(e, t) { return e = O.fx ? O.fx.speeds[e] || e : e, t = t || "fx", this.queue(t, function() { var n = this; setTimeout(function() { O.dequeue(n, t) }, e) }) }, clearQueue: function(e) { return this.queue(e || "fx", []) }, promise: function(e, n) { function r() { --l || a.resolveWith(o, [o]) } "string" != typeof e && (n = e, e = t), e = e || "fx"; for (var i, a = O.Deferred(), o = this, s = o.length, l = 1, u = e + "defer", c = e + "queue", d = e + "mark"; s--; ) (i = O.data(o[s], u, t, !0) || (O.data(o[s], c, t, !0) || O.data(o[s], d, t, !0)) && O.data(o[s], u, O._Deferred(), !0)) && (l++, i.done(r)); return r(), a.promise() } }); var V, q, W = /[\n\t\r]/g, X = /\s+/, $ = /\r/g, z = /^(?:button|input)$/i, Y = /^(?:button|input|object|select|textarea)$/i, U = /^a(?:rea)?$/i, J = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i; O.fn.extend({ attr: function(e, t) { return O.access(this, e, t, !0, O.attr) }, removeAttr: function(e) { return this.each(function() { O.removeAttr(this, e) }) }, prop: function(e, t) { return O.access(this, e, t, !0, O.prop) }, removeProp: function(e) { return e = O.propFix[e] || e, this.each(function() { try { this[e] = t, delete this[e] } catch (n) {} }) }, addClass: function(e) { var t, n, r, i, a, o, s; if (O.isFunction(e)) return this.each(function(t) { O(this).addClass(e.call(this, t, this.className)) }); if (e && "string" == typeof e) for (t = e.split(X), n = 0, r = this.length; r > n; n++) if (i = this[n], 1 === i.nodeType) if (i.className || 1 !== t.length) { for (a = " " + i.className + " ", o = 0, s = t.length; s > o; o++) ~a.indexOf(" " + t[o] + " ") || (a += t[o] + " "); i.className = O.trim(a) } else i.className = e; return this }, removeClass: function(e) { var n, r, i, a, o, s, l; if (O.isFunction(e)) return this.each(function(t) { O(this).removeClass(e.call(this, t, this.className)) }); if (e && "string" == typeof e || e === t) for (n = (e || "").split(X), r = 0, i = this.length; i > r; r++) if (a = this[r], 1 === a.nodeType && a.className) if (e) { for (o = (" " + a.className + " ").replace(W, " "), s = 0, l = n.length; l > s; s++) o = o.replace(" " + n[s] + " ", " "); a.className = O.trim(o) } else a.className = ""; return this }, toggleClass: function(e, t) { var n = typeof e , r = "boolean" == typeof t; return O.isFunction(e) ? this.each(function(n) { O(this).toggleClass(e.call(this, n, this.className, t), t) }) : this.each(function() { if ("string" === n) for (var i, a = 0, o = O(this), s = t, l = e.split(X); i = l[a++]; ) s = r ? s : !o.hasClass(i), o[s ? "addClass" : "removeClass"](i); else "undefined" !== n && "boolean" !== n || (this.className && O._data(this, "__className__", this.className), this.className = this.className || e === !1 ? "" : O._data(this, "__className__") || "") }) }, hasClass: function(e) { for (var t = " " + e + " ", n = 0, r = this.length; r > n; n++) if (1 === this[n].nodeType && (" " + this[n].className + " ").replace(W, " ").indexOf(t) > -1) return !0; return !1 }, val: function(e) { var n, r, i = this[0]; if (!arguments.length) return i ? (n = O.valHooks[i.nodeName.toLowerCase()] || O.valHooks[i.type], n && "get"in n && (r = n.get(i, "value")) !== t ? r : (r = i.value, "string" == typeof r ? r.replace($, "") : null == r ? "" : r)) : t; var a = O.isFunction(e); return this.each(function(r) { var i, o = O(this); 1 === this.nodeType && (i = a ? e.call(this, r, o.val()) : e, null == i ? i = "" : "number" == typeof i ? i += "" : O.isArray(i) && (i = O.map(i, function(e) { return null == e ? "" : e + "" })), n = O.valHooks[this.nodeName.toLowerCase()] || O.valHooks[this.type], n && "set"in n && n.set(this, i, "value") !== t || (this.value = i)) }) } }), O.extend({ valHooks: { option: { get: function(e) { var t = e.attributes.value; return !t || t.specified ? e.value : e.text } }, select: { get: function(e) { var t, n = e.selectedIndex, r = [], i = e.options, a = "select-one" === e.type; if (0 > n) return null; for (var o = a ? n : 0, s = a ? n + 1 : i.length; s > o; o++) { var l = i[o]; if (l.selected && (O.support.optDisabled ? !l.disabled : null === l.getAttribute("disabled")) && (!l.parentNode.disabled || !O.nodeName(l.parentNode, "optgroup"))) { if (t = O(l).val(), a) return t; r.push(t) } } return a && !r.length && i.length ? O(i[n]).val() : r }, set: function(e, t) { var n = O.makeArray(t); return O(e).find("option").each(function() { this.selected = O.inArray(O(this).val(), n) >= 0 }), n.length || (e.selectedIndex = -1), n } } }, attrFn: { val: !0, css: !0, html: !0, text: !0, data: !0, width: !0, height: !0, offset: !0 }, attrFix: { tabindex: "tabIndex" }, attr: function(e, n, r, i) { var a = e.nodeType; if (!e || 3 === a || 8 === a || 2 === a) return t; if (i && n in O.attrFn) return O(e)[n](r); if (!("getAttribute"in e)) return O.prop(e, n, r); var o, s, l = 1 !== a || !O.isXMLDoc(e); return l && (n = O.attrFix[n] || n, s = O.attrHooks[n], s || (J.test(n) ? s = q : V && (s = V))), r !== t ? null === r ? (O.removeAttr(e, n), t) : s && "set"in s && l && (o = s.set(e, r, n)) !== t ? o : (e.setAttribute(n, "" + r), r) : s && "get"in s && l && null !== (o = s.get(e, n)) ? o : (o = e.getAttribute(n), null === o ? t : o) }, removeAttr: function(e, t) { var n; 1 === e.nodeType && (t = O.attrFix[t] || t, O.attr(e, t, ""), e.removeAttribute(t), J.test(t) && (n = O.propFix[t] || t)in e && (e[n] = !1)) }, attrHooks: { type: { set: function(e, t) { if (z.test(e.nodeName) && e.parentNode) O.error("type property can't be changed"); else if (!O.support.radioValue && "radio" === t && O.nodeName(e, "input")) { var n = e.value; return e.setAttribute("type", t), n && (e.value = n), t } } }, value: { get: function(e, t) { return V && O.nodeName(e, "button") ? V.get(e, t) : t in e ? e.value : null }, set: function(e, t, n) { return V && O.nodeName(e, "button") ? V.set(e, t, n) : void (e.value = t) } } }, propFix: { tabindex: "tabIndex", readonly: "readOnly", "for": "htmlFor", "class": "className", maxlength: "maxLength", cellspacing: "cellSpacing", cellpadding: "cellPadding", rowspan: "rowSpan", colspan: "colSpan", usemap: "useMap", frameborder: "frameBorder", contenteditable: "contentEditable" }, prop: function(e, n, r) { var i = e.nodeType; if (!e || 3 === i || 8 === i || 2 === i) return t; var a, o, s = 1 !== i || !O.isXMLDoc(e); return s && (n = O.propFix[n] || n, o = O.propHooks[n]), r !== t ? o && "set"in o && (a = o.set(e, r, n)) !== t ? a : e[n] = r : o && "get"in o && null !== (a = o.get(e, n)) ? a : e[n] }, propHooks: { tabIndex: { get: function(e) { var n = e.getAttributeNode("tabindex"); return n && n.specified ? parseInt(n.value, 10) : Y.test(e.nodeName) || U.test(e.nodeName) && e.href ? 0 : t } } } }), O.attrHooks.tabIndex = O.propHooks.tabIndex, q = { get: function(e, n) { var r; return O.prop(e, n) === !0 || (r = e.getAttributeNode(n)) && r.nodeValue !== !1 ? n.toLowerCase() : t }, set: function(e, t, n) { var r; return t === !1 ? O.removeAttr(e, n) : (r = O.propFix[n] || n, r in e && (e[r] = !0), e.setAttribute(n, n.toLowerCase())), n } }, O.support.getSetAttribute || (V = O.valHooks.button = { get: function(e, n) { var r; return r = e.getAttributeNode(n), r && "" !== r.nodeValue ? r.nodeValue : t }, set: function(e, t, n) { var r = e.getAttributeNode(n); return r || (r = D.createAttribute(n), e.setAttributeNode(r)), r.nodeValue = t + "" } }, O.each(["width", "height"], function(e, t) { O.attrHooks[t] = O.extend(O.attrHooks[t], { set: function(e, n) { return "" === n ? (e.setAttribute(t, "auto"), n) : void 0 } }) })), O.support.hrefNormalized || O.each(["href", "src", "width", "height"], function(e, n) { O.attrHooks[n] = O.extend(O.attrHooks[n], { get: function(e) { var r = e.getAttribute(n, 2); return null === r ? t : r } }) }), O.support.style || (O.attrHooks.style = { get: function(e) { return e.style.cssText.toLowerCase() || t }, set: function(e, t) { return e.style.cssText = "" + t } }), O.support.optSelected || (O.propHooks.selected = O.extend(O.propHooks.selected, { get: function(e) { var t = e.parentNode; return t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex), null } })), O.support.checkOn || O.each(["radio", "checkbox"], function() { O.valHooks[this] = { get: function(e) { return null === e.getAttribute("value") ? "on" : e.value } } }), O.each(["radio", "checkbox"], function() { O.valHooks[this] = O.extend(O.valHooks[this], { set: function(e, t) { return O.isArray(t) ? e.checked = O.inArray(O(e).val(), t) >= 0 : void 0 } }) }); var G = /\.(.*)$/ , Q = /^(?:textarea|input|select)$/i , K = /\./g , Z = / /g , ee = /[^\w\s.|`]/g , te = function(e) { return e.replace(ee, "\\$&") }; O.event = { add: function(e, n, r, i) { if (3 !== e.nodeType && 8 !== e.nodeType) { if (r === !1) r = a; else if (!r) return; var o, s; r.handler && (o = r, r = o.handler), r.guid || (r.guid = O.guid++); var l = O._data(e); if (l) { var u = l.events , c = l.handle; u || (l.events = u = {}), c || (l.handle = c = function(e) { return "undefined" == typeof O || e && O.event.triggered === e.type ? t : O.event.handle.apply(c.elem, arguments) } ), c.elem = e, n = n.split(" "); for (var d, f, p = 0; d = n[p++]; ) { s = o ? O.extend({}, o) : { handler: r, data: i }, d.indexOf(".") > -1 ? (f = d.split("."), d = f.shift(), s.namespace = f.slice(0).sort().join(".")) : (f = [], s.namespace = ""), s.type = d, s.guid || (s.guid = r.guid); var h = u[d] , g = O.event.special[d] || {}; h || (h = u[d] = [], g.setup && g.setup.call(e, i, f, c) !== !1 || (e.addEventListener ? e.addEventListener(d, c, !1) : e.attachEvent && e.attachEvent("on" + d, c))), g.add && (g.add.call(e, s), s.handler.guid || (s.handler.guid = r.guid)), h.push(s), O.event.global[d] = !0 } e = null } } }, global: {}, remove: function(e, n, r, i) { if (3 !== e.nodeType && 8 !== e.nodeType) { r === !1 && (r = a); var o, s, l, u, c, d, f, p, h, g, m = 0, v = O.hasData(e) && O._data(e), y = v && v.events; if (v && y) if (n && n.type && (r = n.handler, n = n.type), !n || "string" == typeof n && "." === n.charAt(0)) { n = n || ""; for (s in y) O.event.remove(e, s + n) } else { for (n = n.split(" "); s = n[m++]; ) if (g = s, h = null, u = s.indexOf(".") < 0, c = [], u || (c = s.split("."), s = c.shift(), d = new RegExp("(^|\\.)" + O.map(c.slice(0).sort(), te).join("\\.(?:.*\\.)?") + "(\\.|$)")), p = y[s]) if (r) { for (f = O.event.special[s] || {}, l = i || 0; l < p.length && (h = p[l], r.guid !== h.guid || ((u || d.test(h.namespace)) && (null == i && p.splice(l--, 1), f.remove && f.remove.call(e, h)), null == i)); l++) ; (0 === p.length || null != i && 1 === p.length) && (f.teardown && f.teardown.call(e, c) !== !1 || O.removeEvent(e, s, v.handle), o = null, delete y[s]) } else for (l = 0; l < p.length; l++) h = p[l], (u || d.test(h.namespace)) && (O.event.remove(e, g, h.handler, l), p.splice(l--, 1)); if (O.isEmptyObject(y)) { var b = v.handle; b && (b.elem = null), delete v.events, delete v.handle, O.isEmptyObject(v) && O.removeData(e, t, !0) } } } }, customEvent: { getData: !0, setData: !0, changeData: !0 }, trigger: function(n, r, i, a) { var o, s = n.type || n, l = []; if (s.indexOf("!") >= 0 && (s = s.slice(0, -1), o = !0), s.indexOf(".") >= 0 && (l = s.split("."), s = l.shift(), l.sort()), i && !O.event.customEvent[s] || O.event.global[s]) { if (n = "object" == typeof n ? n[O.expando] ? n : new O.Event(s,n) : new O.Event(s), n.type = s, n.exclusive = o, n.namespace = l.join("."), n.namespace_re = new RegExp("(^|\\.)" + l.join("\\.(?:.*\\.)?") + "(\\.|$)"), !a && i || (n.preventDefault(), n.stopPropagation()), !i) return void O.each(O.cache, function() { var e = O.expando , t = this[e]; t && t.events && t.events[s] && O.event.trigger(n, r, t.handle.elem) }); if (3 !== i.nodeType && 8 !== i.nodeType) { n.result = t, n.target = i, r = null != r ? O.makeArray(r) : [], r.unshift(n); var u = i , c = s.indexOf(":") < 0 ? "on" + s : ""; do { var d = O._data(u, "handle"); n.currentTarget = u, d && d.apply(u, r), c && O.acceptData(u) && u[c] && u[c].apply(u, r) === !1 && (n.result = !1, n.preventDefault()), u = u.parentNode || u.ownerDocument || u === n.target.ownerDocument && e } while (u && !n.isPropagationStopped());if (!n.isDefaultPrevented()) { var f, p = O.event.special[s] || {}; if ((!p._default || p._default.call(i.ownerDocument, n) === !1) && ("click" !== s || !O.nodeName(i, "a")) && O.acceptData(i)) { try { c && i[s] && (f = i[c], f && (i[c] = null), O.event.triggered = s, i[s]()) } catch (h) {} f && (i[c] = f), O.event.triggered = t } } return n.result } } }, handle: function(n) { n = O.event.fix(n || e.event); var r = ((O._data(this, "events") || {})[n.type] || []).slice(0) , i = !n.exclusive && !n.namespace , a = Array.prototype.slice.call(arguments, 0); a[0] = n, n.currentTarget = this; for (var o = 0, s = r.length; s > o; o++) { var l = r[o]; if (i || n.namespace_re.test(l.namespace)) { n.handler = l.handler, n.data = l.data, n.handleObj = l; var u = l.handler.apply(this, a); if (u !== t && (n.result = u, u === !1 && (n.preventDefault(), n.stopPropagation())), n.isImmediatePropagationStopped()) break } } return n.result }, props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), fix: function(e) { if (e[O.expando]) return e; var n = e; e = O.Event(n); for (var r, i = this.props.length; i; ) r = this.props[--i], e[r] = n[r]; if (e.target || (e.target = e.srcElement || D), 3 === e.target.nodeType && (e.target = e.target.parentNode), !e.relatedTarget && e.fromElement && (e.relatedTarget = e.fromElement === e.target ? e.toElement : e.fromElement), null == e.pageX && null != e.clientX) { var a = e.target.ownerDocument || D , o = a.documentElement , s = a.body; e.pageX = e.clientX + (o && o.scrollLeft || s && s.scrollLeft || 0) - (o && o.clientLeft || s && s.clientLeft || 0), e.pageY = e.clientY + (o && o.scrollTop || s && s.scrollTop || 0) - (o && o.clientTop || s && s.clientTop || 0) } return null != e.which || null == e.charCode && null == e.keyCode || (e.which = null != e.charCode ? e.charCode : e.keyCode), !e.metaKey && e.ctrlKey && (e.metaKey = e.ctrlKey), e.which || e.button === t || (e.which = 1 & e.button ? 1 : 2 & e.button ? 3 : 4 & e.button ? 2 : 0), e }, guid: 1e8, proxy: O.proxy, special: { ready: { setup: O.bindReady, teardown: O.noop }, live: { add: function(e) { O.event.add(this, u(e.origType, e.selector), O.extend({}, e, { handler: l, guid: e.handler.guid })) }, remove: function(e) { O.event.remove(this, u(e.origType, e.selector), e) } }, beforeunload: { setup: function(e, t, n) { O.isWindow(this) && (this.onbeforeunload = n) }, teardown: function(e, t) { this.onbeforeunload === t && (this.onbeforeunload = null) } } } }, O.removeEvent = D.removeEventListener ? function(e, t, n) { e.removeEventListener && e.removeEventListener(t, n, !1) } : function(e, t, n) { e.detachEvent && e.detachEvent("on" + t, n) } , O.Event = function(e, t) { return this.preventDefault ? (e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || e.returnValue === !1 || e.getPreventDefault && e.getPreventDefault() ? o : a) : this.type = e, t && O.extend(this, t), this.timeStamp = O.now(), void (this[O.expando] = !0)) : new O.Event(e,t) } , O.Event.prototype = { preventDefault: function() { this.isDefaultPrevented = o; var e = this.originalEvent; e && (e.preventDefault ? e.preventDefault() : e.returnValue = !1) }, stopPropagation: function() { this.isPropagationStopped = o; var e = this.originalEvent; e && (e.stopPropagation && e.stopPropagation(), e.cancelBubble = !0) }, stopImmediatePropagation: function() { this.isImmediatePropagationStopped = o, this.stopPropagation() }, isDefaultPrevented: a, isPropagationStopped: a, isImmediatePropagationStopped: a }; var ne = function(e) { var t = e.relatedTarget , n = !1 , r = e.type; e.type = e.data, t !== this && (t && (n = O.contains(this, t)), n || (O.event.handle.apply(this, arguments), e.type = r)) } , re = function(e) { e.type = e.data, O.event.handle.apply(this, arguments) }; if (O.each({ mouseenter: "mouseover", mouseleave: "mouseout" }, function(e, t) { O.event.special[e] = { setup: function(n) { O.event.add(this, t, n && n.selector ? re : ne, e) }, teardown: function(e) { O.event.remove(this, t, e && e.selector ? re : ne) } } }), O.support.submitBubbles || (O.event.special.submit = { setup: function() { return O.nodeName(this, "form") ? !1 : (O.event.add(this, "click.specialSubmit", function(e) { var t = e.target , n = O.nodeName(t, "input") ? t.type : ""; "submit" !== n && "image" !== n || !O(t).closest("form").length || s("submit", this, arguments) }), void O.event.add(this, "keypress.specialSubmit", function(e) { var t = e.target , n = O.nodeName(t, "input") ? t.type : ""; "text" !== n && "password" !== n || !O(t).closest("form").length || 13 !== e.keyCode || s("submit", this, arguments) })) }, teardown: function() { O.event.remove(this, ".specialSubmit") } }), !O.support.changeBubbles) { var ie, ae = function(e) { var t = O.nodeName(e, "input") ? e.type : "" , n = e.value; return "radio" === t || "checkbox" === t ? n = e.checked : "select-multiple" === t ? n = e.selectedIndex > -1 ? O.map(e.options, function(e) { return e.selected }).join("-") : "" : O.nodeName(e, "select") && (n = e.selectedIndex), n }, oe = function(e) { var n, r, i = e.target; Q.test(i.nodeName) && !i.readOnly && (n = O._data(i, "_change_data"), r = ae(i), "focusout" === e.type && "radio" === i.type || O._data(i, "_change_data", r), n !== t && r !== n && (null != n || r) && (e.type = "change", e.liveFired = t, O.event.trigger(e, arguments[1], i))) }; O.event.special.change = { filters: { focusout: oe, beforedeactivate: oe, click: function(e) { var t = e.target , n = O.nodeName(t, "input") ? t.type : ""; ("radio" === n || "checkbox" === n || O.nodeName(t, "select")) && oe.call(this, e) }, keydown: function(e) { var t = e.target , n = O.nodeName(t, "input") ? t.type : ""; (13 === e.keyCode && !O.nodeName(t, "textarea") || 32 === e.keyCode && ("checkbox" === n || "radio" === n) || "select-multiple" === n) && oe.call(this, e) }, beforeactivate: function(e) { var t = e.target; O._data(t, "_change_data", ae(t)) } }, setup: function() { if ("file" === this.type) return !1; for (var e in ie) O.event.add(this, e + ".specialChange", ie[e]); return Q.test(this.nodeName) }, teardown: function() { return O.event.remove(this, ".specialChange"), Q.test(this.nodeName) } }, ie = O.event.special.change.filters, ie.focus = ie.beforeactivate } O.support.focusinBubbles || O.each({ focus: "focusin", blur: "focusout" }, function(e, t) { function n(e) { var n = O.event.fix(e); n.type = t, n.originalEvent = {}, O.event.trigger(n, null, n.target), n.isDefaultPrevented() && e.preventDefault() } var r = 0; O.event.special[t] = { setup: function() { 0 === r++ && D.addEventListener(e, n, !0) }, teardown: function() { 0 === --r && D.removeEventListener(e, n, !0) } } }), O.each(["bind", "one"], function(e, n) { O.fn[n] = function(e, r, i) { var a; if ("object" == typeof e) { for (var o in e) this[n](o, r, e[o], i); return this } if (2 !== arguments.length && r !== !1 || (i = r, r = t), "one" === n ? (a = function(e) { return O(this).unbind(e, a), i.apply(this, arguments) } , a.guid = i.guid || O.guid++) : a = i, "unload" === e && "one" !== n) this.one(e, r, i); else for (var s = 0, l = this.length; l > s; s++) O.event.add(this[s], e, a, r); return this } }), O.fn.extend({ unbind: function(e, t) { if ("object" != typeof e || e.preventDefault) for (var n = 0, r = this.length; r > n; n++) O.event.remove(this[n], e, t); else for (var i in e) this.unbind(i, e[i]); return this }, delegate: function(e, t, n, r) { return this.live(t, n, r, e) }, undelegate: function(e, t, n) { return 0 === arguments.length ? this.unbind("live") : this.die(t, null, n, e) }, trigger: function(e, t) { return this.each(function() { O.event.trigger(e, t, this) }) }, triggerHandler: function(e, t) { return this[0] ? O.event.trigger(e, t, this[0], !0) : void 0 }, toggle: function(e) { var t = arguments , n = e.guid || O.guid++ , r = 0 , i = function(n) { var i = (O.data(this, "lastToggle" + e.guid) || 0) % r; return O.data(this, "lastToggle" + e.guid, i + 1), n.preventDefault(), t[i].apply(this, arguments) || !1 }; for (i.guid = n; r < t.length; ) t[r++].guid = n; return this.click(i) }, hover: function(e, t) { return this.mouseenter(e).mouseleave(t || e) } }); var se = { focus: "focusin", blur: "focusout", mouseenter: "mouseover", mouseleave: "mouseout" }; O.each(["live", "die"], function(e, n) { O.fn[n] = function(e, r, i, o) { var s, l, c, d, f = 0, p = o || this.selector, h = o ? this : O(this.context); if ("object" == typeof e && !e.preventDefault) { for (var g in e) h[n](g, r, e[g], p); return this } if ("die" === n && !e && o && "." === o.charAt(0)) return h.unbind(o), this; for ((r === !1 || O.isFunction(r)) && (i = r || a, r = t), e = (e || "").split(" "); null != (s = e[f++]); ) if (l = G.exec(s), c = "", l && (c = l[0], s = s.replace(G, "")), "hover" !== s) if (d = s, se[s] ? (e.push(se[s] + c), s += c) : s = (se[s] || s) + c, "live" === n) for (var m = 0, v = h.length; v > m; m++) O.event.add(h[m], "live." + u(s, p), { data: r, selector: p, handler: i, origType: s, origHandler: i, preType: d }); else h.unbind("live." + u(s, p), i); else e.push("mouseenter" + c, "mouseleave" + c); return this } }), O.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "), function(e, t) { O.fn[t] = function(e, n) { return null == n && (n = e, e = null), arguments.length > 0 ? this.bind(t, e, n) : this.trigger(t) } , O.attrFn && (O.attrFn[t] = !0) }), function() { function e(e, t, n, r, i, a) { for (var o = 0, s = r.length; s > o; o++) { var l = r[o]; if (l) { var u = !1; for (l = l[e]; l; ) { if (l.sizcache === n) { u = r[l.sizset]; break } if (1 !== l.nodeType || a || (l.sizcache = n, l.sizset = o), l.nodeName.toLowerCase() === t) { u = l; break } l = l[e] } r[o] = u } } } function n(e, t, n, r, i, a) { for (var o = 0, s = r.length; s > o; o++) { var l = r[o]; if (l) { var u = !1; for (l = l[e]; l; ) { if (l.sizcache === n) { u = r[l.sizset]; break } if (1 === l.nodeType) if (a || (l.sizcache = n, l.sizset = o), "string" != typeof t) { if (l === t) { u = !0; break } } else if (c.filter(t, [l]).length > 0) { u = l; break } l = l[e] } r[o] = u } } } var r = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g , i = 0 , a = Object.prototype.toString , o = !1 , s = !0 , l = /\\/g , u = /\W/; [0, 0].sort(function() { return s = !1, 0 }); var c = function(e, t, n, i) { n = n || [], t = t || D; var o = t; if (1 !== t.nodeType && 9 !== t.nodeType) return []; if (!e || "string" != typeof e) return n; var s, l, u, p, h, m, v, y, x = !0, w = c.isXML(t), _ = [], T = e; do if (r.exec(""), s = r.exec(T), s && (T = s[3], _.push(s[1]), s[2])) { p = s[3]; break } while (s);if (_.length > 1 && f.exec(e)) if (2 === _.length && d.relative[_[0]]) l = b(_[0] + _[1], t); else for (l = d.relative[_[0]] ? [t] : c(_.shift(), t); _.length; ) e = _.shift(), d.relative[e] && (e += _.shift()), l = b(e, l); else if (!i && _.length > 1 && 9 === t.nodeType && !w && d.match.ID.test(_[0]) && !d.match.ID.test(_[_.length - 1]) && (h = c.find(_.shift(), t, w), t = h.expr ? c.filter(h.expr, h.set)[0] : h.set[0]), t) for (h = i ? { expr: _.pop(), set: g(i) } : c.find(_.pop(), 1 !== _.length || "~" !== _[0] && "+" !== _[0] || !t.parentNode ? t : t.parentNode, w), l = h.expr ? c.filter(h.expr, h.set) : h.set, _.length > 0 ? u = g(l) : x = !1; _.length; ) m = _.pop(), v = m, d.relative[m] ? v = _.pop() : m = "", null == v && (v = t), d.relative[m](u, v, w); else u = _ = []; if (u || (u = l), u || c.error(m || e), "[object Array]" === a.call(u)) if (x) if (t && 1 === t.nodeType) for (y = 0; null != u[y]; y++) u[y] && (u[y] === !0 || 1 === u[y].nodeType && c.contains(t, u[y])) && n.push(l[y]); else for (y = 0; null != u[y]; y++) u[y] && 1 === u[y].nodeType && n.push(l[y]); else n.push.apply(n, u); else g(u, n); return p && (c(p, o, n, i), c.uniqueSort(n)), n }; c.uniqueSort = function(e) { if (v && (o = s, e.sort(v), o)) for (var t = 1; t < e.length; t++) e[t] === e[t - 1] && e.splice(t--, 1); return e } , c.matches = function(e, t) { return c(e, null, null, t) } , c.matchesSelector = function(e, t) { return c(t, null, null, [e]).length > 0 } , c.find = function(e, t, n) { var r; if (!e) return []; for (var i = 0, a = d.order.length; a > i; i++) { var o, s = d.order[i]; if (o = d.leftMatch[s].exec(e)) { var u = o[1]; if (o.splice(1, 1), "\\" !== u.substr(u.length - 1) && (o[1] = (o[1] || "").replace(l, ""), r = d.find[s](o, t, n), null != r)) { e = e.replace(d.match[s], ""); break } } } return r || (r = "undefined" != typeof t.getElementsByTagName ? t.getElementsByTagName("*") : []), { set: r, expr: e } } , c.filter = function(e, n, r, i) { for (var a, o, s = e, l = [], u = n, f = n && n[0] && c.isXML(n[0]); e && n.length; ) { for (var p in d.filter) if (null != (a = d.leftMatch[p].exec(e)) && a[2]) { var h, g, m = d.filter[p], v = a[1]; if (o = !1, a.splice(1, 1), "\\" === v.substr(v.length - 1)) continue; if (u === l && (l = []), d.preFilter[p]) if (a = d.preFilter[p](a, u, r, l, i, f)) { if (a === !0) continue } else o = h = !0; if (a) for (var y = 0; null != (g = u[y]); y++) if (g) { h = m(g, a, y, u); var b = i ^ !!h; r && null != h ? b ? o = !0 : u[y] = !1 : b && (l.push(g), o = !0) } if (h !== t) { if (r || (u = l), e = e.replace(d.match[p], ""), !o) return []; break } } if (e === s) { if (null != o) break; c.error(e) } s = e } return u } , c.error = function(e) { throw "Syntax error, unrecognized expression: " + e } ; var d = c.selectors = { order: ["ID", "NAME", "TAG"], match: { ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/, TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ }, leftMatch: {}, attrMap: { "class": "className", "for": "htmlFor" }, attrHandle: { href: function(e) { return e.getAttribute("href") }, type: function(e) { return e.getAttribute("type") } }, relative: { "+": function(e, t) { var n = "string" == typeof t , r = n && !u.test(t) , i = n && !r; r && (t = t.toLowerCase()); for (var a, o = 0, s = e.length; s > o; o++) if (a = e[o]) { for (; (a = a.previousSibling) && 1 !== a.nodeType; ) ; e[o] = i || a && a.nodeName.toLowerCase() === t ? a || !1 : a === t } i && c.filter(t, e, !0) }, ">": function(e, t) { var n, r = "string" == typeof t, i = 0, a = e.length; if (r && !u.test(t)) { for (t = t.toLowerCase(); a > i; i++) if (n = e[i]) { var o = n.parentNode; e[i] = o.nodeName.toLowerCase() === t ? o : !1 } } else { for (; a > i; i++) n = e[i], n && (e[i] = r ? n.parentNode : n.parentNode === t); r && c.filter(t, e, !0) } }, "": function(t, r, a) { var o, s = i++, l = n; "string" != typeof r || u.test(r) || (r = r.toLowerCase(), o = r, l = e), l("parentNode", r, s, t, o, a) }, "~": function(t, r, a) { var o, s = i++, l = n; "string" != typeof r || u.test(r) || (r = r.toLowerCase(), o = r, l = e), l("previousSibling", r, s, t, o, a) } }, find: { ID: function(e, t, n) { if ("undefined" != typeof t.getElementById && !n) { var r = t.getElementById(e[1]); return r && r.parentNode ? [r] : [] } }, NAME: function(e, t) { if ("undefined" != typeof t.getElementsByName) { for (var n = [], r = t.getElementsByName(e[1]), i = 0, a = r.length; a > i; i++) r[i].getAttribute("name") === e[1] && n.push(r[i]); return 0 === n.length ? null : n } }, TAG: function(e, t) { return "undefined" != typeof t.getElementsByTagName ? t.getElementsByTagName(e[1]) : void 0 } }, preFilter: { CLASS: function(e, t, n, r, i, a) { if (e = " " + e[1].replace(l, "") + " ", a) return e; for (var o, s = 0; null != (o = t[s]); s++) o && (i ^ (o.className && (" " + o.className + " ").replace(/[\t\n\r]/g, " ").indexOf(e) >= 0) ? n || r.push(o) : n && (t[s] = !1)); return !1 }, ID: function(e) { return e[1].replace(l, "") }, TAG: function(e) { return e[1].replace(l, "").toLowerCase() }, CHILD: function(e) { if ("nth" === e[1]) { e[2] || c.error(e[0]), e[2] = e[2].replace(/^\+|\s*/g, ""); var t = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec("even" === e[2] && "2n" || "odd" === e[2] && "2n+1" || !/\D/.test(e[2]) && "0n+" + e[2] || e[2]); e[2] = t[1] + (t[2] || 1) - 0, e[3] = t[3] - 0 } else e[2] && c.error(e[0]); return e[0] = i++, e }, ATTR: function(e, t, n, r, i, a) { var o = e[1] = e[1].replace(l, ""); return !a && d.attrMap[o] && (e[1] = d.attrMap[o]), e[4] = (e[4] || e[5] || "").replace(l, ""), "~=" === e[2] && (e[4] = " " + e[4] + " "), e }, PSEUDO: function(e, t, n, i, a) { if ("not" === e[1]) { if (!((r.exec(e[3]) || "").length > 1 || /^\w/.test(e[3]))) { var o = c.filter(e[3], t, n, !0 ^ a); return n || i.push.apply(i, o), !1 } e[3] = c(e[3], null, null, t) } else if (d.match.POS.test(e[0]) || d.match.CHILD.test(e[0])) return !0; return e }, POS: function(e) { return e.unshift(!0), e } }, filters: { enabled: function(e) { return e.disabled === !1 && "hidden" !== e.type }, disabled: function(e) { return e.disabled === !0 }, checked: function(e) { return e.checked === !0 }, selected: function(e) { return e.parentNode && e.parentNode.selectedIndex, e.selected === !0 }, parent: function(e) { return !!e.firstChild }, empty: function(e) { return !e.firstChild }, has: function(e, t, n) { return !!c(n[3], e).length }, header: function(e) { return /h\d/i.test(e.nodeName) }, text: function(e) { var t = e.getAttribute("type") , n = e.type; return "input" === e.nodeName.toLowerCase() && "text" === n && (t === n || null === t) }, radio: function(e) { return "input" === e.nodeName.toLowerCase() && "radio" === e.type }, checkbox: function(e) { return "input" === e.nodeName.toLowerCase() && "checkbox" === e.type }, file: function(e) { return "input" === e.nodeName.toLowerCase() && "file" === e.type }, password: function(e) { return "input" === e.nodeName.toLowerCase() && "password" === e.type }, submit: function(e) { var t = e.nodeName.toLowerCase(); return ("input" === t || "button" === t) && "submit" === e.type }, image: function(e) { return "input" === e.nodeName.toLowerCase() && "image" === e.type }, reset: function(e) { var t = e.nodeName.toLowerCase(); return ("input" === t || "button" === t) && "reset" === e.type }, button: function(e) { var t = e.nodeName.toLowerCase(); return "input" === t && "button" === e.type || "button" === t }, input: function(e) { return /input|select|textarea|button/i.test(e.nodeName) }, focus: function(e) { return e === e.ownerDocument.activeElement } }, setFilters: { first: function(e, t) { return 0 === t }, last: function(e, t, n, r) { return t === r.length - 1 }, even: function(e, t) { return t % 2 === 0 }, odd: function(e, t) { return t % 2 === 1 }, lt: function(e, t, n) { return t < n[3] - 0 }, gt: function(e, t, n) { return t > n[3] - 0 }, nth: function(e, t, n) { return n[3] - 0 === t }, eq: function(e, t, n) { return n[3] - 0 === t } }, filter: { PSEUDO: function(e, t, n, r) { var i = t[1] , a = d.filters[i]; if (a) return a(e, n, t, r); if ("contains" === i) return (e.textContent || e.innerText || c.getText([e]) || "").indexOf(t[3]) >= 0; if ("not" === i) { for (var o = t[3], s = 0, l = o.length; l > s; s++) if (o[s] === e) return !1; return !0 } c.error(i) }, CHILD: function(e, t) { var n = t[1] , r = e; switch (n) { case "only": case "first": for (; r = r.previousSibling; ) if (1 === r.nodeType) return !1; if ("first" === n) return !0; r = e; case "last": for (; r = r.nextSibling; ) if (1 === r.nodeType) return !1; return !0; case "nth": var i = t[2] , a = t[3]; if (1 === i && 0 === a) return !0; var o = t[0] , s = e.parentNode; if (s && (s.sizcache !== o || !e.nodeIndex)) { var l = 0; for (r = s.firstChild; r; r = r.nextSibling) 1 === r.nodeType && (r.nodeIndex = ++l); s.sizcache = o } var u = e.nodeIndex - a; return 0 === i ? 0 === u : u % i === 0 && u / i >= 0 } }, ID: function(e, t) { return 1 === e.nodeType && e.getAttribute("id") === t }, TAG: function(e, t) { return "*" === t && 1 === e.nodeType || e.nodeName.toLowerCase() === t }, CLASS: function(e, t) { return (" " + (e.className || e.getAttribute("class")) + " ").indexOf(t) > -1 }, ATTR: function(e, t) { var n = t[1] , r = d.attrHandle[n] ? d.attrHandle[n](e) : null != e[n] ? e[n] : e.getAttribute(n) , i = r + "" , a = t[2] , o = t[4]; return null == r ? "!=" === a : "=" === a ? i === o : "*=" === a ? i.indexOf(o) >= 0 : "~=" === a ? (" " + i + " ").indexOf(o) >= 0 : o ? "!=" === a ? i !== o : "^=" === a ? 0 === i.indexOf(o) : "$=" === a ? i.substr(i.length - o.length) === o : "|=" === a ? i === o || i.substr(0, o.length + 1) === o + "-" : !1 : i && r !== !1 }, POS: function(e, t, n, r) { var i = t[2] , a = d.setFilters[i]; return a ? a(e, n, t, r) : void 0 } } } , f = d.match.POS , p = function(e, t) { return "\\" + (t - 0 + 1) }; for (var h in d.match) d.match[h] = new RegExp(d.match[h].source + /(?![^\[]*\])(?![^\(]*\))/.source), d.leftMatch[h] = new RegExp(/(^(?:.|\r|\n)*?)/.source + d.match[h].source.replace(/\\(\d+)/g, p)); var g = function(e, t) { return e = Array.prototype.slice.call(e, 0), t ? (t.push.apply(t, e), t) : e }; try { Array.prototype.slice.call(D.documentElement.childNodes, 0)[0].nodeType } catch (m) { g = function(e, t) { var n = 0 , r = t || []; if ("[object Array]" === a.call(e)) Array.prototype.push.apply(r, e); else if ("number" == typeof e.length) for (var i = e.length; i > n; n++) r.push(e[n]); else for (; e[n]; n++) r.push(e[n]); return r } } var v, y; D.documentElement.compareDocumentPosition ? v = function(e, t) { return e === t ? (o = !0, 0) : e.compareDocumentPosition && t.compareDocumentPosition ? 4 & e.compareDocumentPosition(t) ? -1 : 1 : e.compareDocumentPosition ? -1 : 1 } : (v = function(e, t) { if (e === t) return o = !0, 0; if (e.sourceIndex && t.sourceIndex) return e.sourceIndex - t.sourceIndex; var n, r, i = [], a = [], s = e.parentNode, l = t.parentNode, u = s; if (s === l) return y(e, t); if (!s) return -1; if (!l) return 1; for (; u; ) i.unshift(u), u = u.parentNode; for (u = l; u; ) a.unshift(u), u = u.parentNode; n = i.length, r = a.length; for (var c = 0; n > c && r > c; c++) if (i[c] !== a[c]) return y(i[c], a[c]); return c === n ? y(e, a[c], -1) : y(i[c], t, 1) } , y = function(e, t, n) { if (e === t) return n; for (var r = e.nextSibling; r; ) { if (r === t) return -1; r = r.nextSibling } return 1 } ), c.getText = function(e) { for (var t, n = "", r = 0; e[r]; r++) t = e[r], 3 === t.nodeType || 4 === t.nodeType ? n += t.nodeValue : 8 !== t.nodeType && (n += c.getText(t.childNodes)); return n } , function() { var e = D.createElement("div") , n = "script" + (new Date).getTime() , r = D.documentElement; e.innerHTML = "", r.insertBefore(e, r.firstChild), D.getElementById(n) && (d.find.ID = function(e, n, r) { if ("undefined" != typeof n.getElementById && !r) { var i = n.getElementById(e[1]); return i ? i.id === e[1] || "undefined" != typeof i.getAttributeNode && i.getAttributeNode("id").nodeValue === e[1] ? [i] : t : [] } } , d.filter.ID = function(e, t) { var n = "undefined" != typeof e.getAttributeNode && e.getAttributeNode("id"); return 1 === e.nodeType && n && n.nodeValue === t } ), r.removeChild(e), r = e = null }(), function() { var e = D.createElement("div"); e.appendChild(D.createComment("")), e.getElementsByTagName("*").length > 0 && (d.find.TAG = function(e, t) { var n = t.getElementsByTagName(e[1]); if ("*" === e[1]) { for (var r = [], i = 0; n[i]; i++) 1 === n[i].nodeType && r.push(n[i]); n = r } return n } ), e.innerHTML = "", e.firstChild && "undefined" != typeof e.firstChild.getAttribute && "#" !== e.firstChild.getAttribute("href") && (d.attrHandle.href = function(e) { return e.getAttribute("href", 2) } ), e = null }(), D.querySelectorAll && !function() { var e = c , t = D.createElement("div") , n = "__sizzle__"; if (t.innerHTML = "

", !t.querySelectorAll || 0 !== t.querySelectorAll(".TEST").length) { c = function(t, r, i, a) { if (r = r || D, !a && !c.isXML(r)) { var o = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(t); if (o && (1 === r.nodeType || 9 === r.nodeType)) { if (o[1]) return g(r.getElementsByTagName(t), i); if (o[2] && d.find.CLASS && r.getElementsByClassName) return g(r.getElementsByClassName(o[2]), i) } if (9 === r.nodeType) { if ("body" === t && r.body) return g([r.body], i); if (o && o[3]) { var s = r.getElementById(o[3]); if (!s || !s.parentNode) return g([], i); if (s.id === o[3]) return g([s], i) } try { return g(r.querySelectorAll(t), i) } catch (l) {} } else if (1 === r.nodeType && "object" !== r.nodeName.toLowerCase()) { var u = r , f = r.getAttribute("id") , p = f || n , h = r.parentNode , m = /^\s*[+~]/.test(t); f ? p = p.replace(/'/g, "\\$&") : r.setAttribute("id", p), m && h && (r = r.parentNode); try { if (!m || h) return g(r.querySelectorAll("[id='" + p + "'] " + t), i) } catch (v) {} finally { f || u.removeAttribute("id") } } } return e(t, r, i, a) } ; for (var r in e) c[r] = e[r]; t = null } }(), function() { var e = D.documentElement , t = e.matchesSelector || e.mozMatchesSelector || e.webkitMatchesSelector || e.msMatchesSelector; if (t) { var n = !t.call(D.createElement("div"), "div") , r = !1; try { t.call(D.documentElement, "[test!='']:sizzle") } catch (i) { r = !0 } c.matchesSelector = function(e, i) { if (i = i.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"), !c.isXML(e)) try { if (r || !d.match.PSEUDO.test(i) && !/!=/.test(i)) { var a = t.call(e, i); if (a || !n || e.document && 11 !== e.document.nodeType) return a } } catch (o) {} return c(i, null, null, [e]).length > 0 } } }(), function() { var e = D.createElement("div"); e.innerHTML = "
", e.getElementsByClassName && 0 !== e.getElementsByClassName("e").length && (e.lastChild.className = "e", 1 !== e.getElementsByClassName("e").length && (d.order.splice(1, 0, "CLASS"), d.find.CLASS = function(e, t, n) { return "undefined" == typeof t.getElementsByClassName || n ? void 0 : t.getElementsByClassName(e[1]) } , e = null)) }(), D.documentElement.contains ? c.contains = function(e, t) { return e !== t && (e.contains ? e.contains(t) : !0) } : D.documentElement.compareDocumentPosition ? c.contains = function(e, t) { return !!(16 & e.compareDocumentPosition(t)) } : c.contains = function() { return !1 } , c.isXML = function(e) { var t = (e ? e.ownerDocument || e : 0).documentElement; return t ? "HTML" !== t.nodeName : !1 } ; var b = function(e, t) { for (var n, r = [], i = "", a = t.nodeType ? [t] : t; n = d.match.PSEUDO.exec(e); ) i += n[0], e = e.replace(d.match.PSEUDO, ""); e = d.relative[e] ? e + "*" : e; for (var o = 0, s = a.length; s > o; o++) c(e, a[o], r); return c.filter(i, r) }; O.find = c, O.expr = c.selectors, O.expr[":"] = O.expr.filters, O.unique = c.uniqueSort, O.text = c.getText, O.isXMLDoc = c.isXML, O.contains = c.contains }(); var le = /Until$/ , ue = /^(?:parents|prevUntil|prevAll)/ , ce = /,/ , de = /^.[^:#\[\.,]*$/ , fe = Array.prototype.slice , pe = O.expr.match.POS , he = { children: !0, contents: !0, next: !0, prev: !0 }; O.fn.extend({ find: function(e) { var t, n, r = this; if ("string" != typeof e) return O(e).filter(function() { for (t = 0, n = r.length; n > t; t++) if (O.contains(r[t], this)) return !0 }); var i, a, o, s = this.pushStack("", "find", e); for (t = 0, n = this.length; n > t; t++) if (i = s.length, O.find(e, this[t], s), t > 0) for (a = i; a < s.length; a++) for (o = 0; i > o; o++) if (s[o] === s[a]) { s.splice(a--, 1); break } return s }, has: function(e) { var t = O(e); return this.filter(function() { for (var e = 0, n = t.length; n > e; e++) if (O.contains(this, t[e])) return !0 }) }, not: function(e) { return this.pushStack(d(this, e, !1), "not", e) }, filter: function(e) { return this.pushStack(d(this, e, !0), "filter", e) }, is: function(e) { return !!e && ("string" == typeof e ? O.filter(e, this).length > 0 : this.filter(e).length > 0) }, closest: function(e, t) { var n, r, i = [], a = this[0]; if (O.isArray(e)) { var o, s, l = {}, u = 1; if (a && e.length) { for (n = 0, r = e.length; r > n; n++) s = e[n], l[s] || (l[s] = pe.test(s) ? O(s, t || this.context) : s); for (; a && a.ownerDocument && a !== t; ) { for (s in l) o = l[s], (o.jquery ? o.index(a) > -1 : O(a).is(o)) && i.push({ selector: s, elem: a, level: u }); a = a.parentNode, u++ } } return i } var c = pe.test(e) || "string" != typeof e ? O(e, t || this.context) : 0; for (n = 0, r = this.length; r > n; n++) for (a = this[n]; a; ) { if (c ? c.index(a) > -1 : O.find.matchesSelector(a, e)) { i.push(a); break } if (a = a.parentNode, !a || !a.ownerDocument || a === t || 11 === a.nodeType) break } return i = i.length > 1 ? O.unique(i) : i, this.pushStack(i, "closest", e) }, index: function(e) { return e ? "string" == typeof e ? O.inArray(this[0], O(e)) : O.inArray(e.jquery ? e[0] : e, this) : this[0] && this[0].parentNode ? this.prevAll().length : -1 }, add: function(e, t) { var n = "string" == typeof e ? O(e, t) : O.makeArray(e && e.nodeType ? [e] : e) , r = O.merge(this.get(), n); return this.pushStack(c(n[0]) || c(r[0]) ? r : O.unique(r)) }, andSelf: function() { return this.add(this.prevObject) } }), O.each({ parent: function(e) { var t = e.parentNode; return t && 11 !== t.nodeType ? t : null }, parents: function(e) { return O.dir(e, "parentNode") }, parentsUntil: function(e, t, n) { return O.dir(e, "parentNode", n) }, next: function(e) { return O.nth(e, 2, "nextSibling") }, prev: function(e) { return O.nth(e, 2, "previousSibling") }, nextAll: function(e) { return O.dir(e, "nextSibling") }, prevAll: function(e) { return O.dir(e, "previousSibling") }, nextUntil: function(e, t, n) { return O.dir(e, "nextSibling", n) }, prevUntil: function(e, t, n) { return O.dir(e, "previousSibling", n) }, siblings: function(e) { return O.sibling(e.parentNode.firstChild, e) }, children: function(e) { return O.sibling(e.firstChild) }, contents: function(e) { return O.nodeName(e, "iframe") ? e.contentDocument || e.contentWindow.document : O.makeArray(e.childNodes) } }, function(e, t) { O.fn[e] = function(n, r) { var i = O.map(this, t, n) , a = fe.call(arguments); return le.test(e) || (r = n), r && "string" == typeof r && (i = O.filter(r, i)), i = this.length > 1 && !he[e] ? O.unique(i) : i, (this.length > 1 || ce.test(r)) && ue.test(e) && (i = i.reverse()), this.pushStack(i, e, a.join(",")) } }), O.extend({ filter: function(e, t, n) { return n && (e = ":not(" + e + ")"), 1 === t.length ? O.find.matchesSelector(t[0], e) ? [t[0]] : [] : O.find.matches(e, t) }, dir: function(e, n, r) { for (var i = [], a = e[n]; a && 9 !== a.nodeType && (r === t || 1 !== a.nodeType || !O(a).is(r)); ) 1 === a.nodeType && i.push(a), a = a[n]; return i }, nth: function(e, t, n) { t = t || 1; for (var r = 0; e && (1 !== e.nodeType || ++r !== t); e = e[n]) ; return e }, sibling: function(e, t) { for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e); return n } }); var ge = / jQuery\d+="(?:\d+|null)"/g , me = /^\s+/ , ve = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi , ye = /<([\w:]+)/ , be = /", ""], legend: [1, "
", "
"], thead: [1, "", "
"], tr: [2, "", "
"], td: [3, "", "
"], col: [2, "", "
"], area: [1, "", ""], _default: [0, "", ""] }; Ce.optgroup = Ce.option, Ce.tbody = Ce.tfoot = Ce.colgroup = Ce.caption = Ce.thead, Ce.th = Ce.td, O.support.htmlSerialize || (Ce._default = [1, "div
", "
"]), O.fn.extend({ text: function(e) { return O.isFunction(e) ? this.each(function(t) { var n = O(this); n.text(e.call(this, t, n.text())) }) : "object" != typeof e && e !== t ? this.empty().append((this[0] && this[0].ownerDocument || D).createTextNode(e)) : O.text(this) }, wrapAll: function(e) { if (O.isFunction(e)) return this.each(function(t) { O(this).wrapAll(e.call(this, t)) }); if (this[0]) { var t = O(e, this[0].ownerDocument).eq(0).clone(!0); this[0].parentNode && t.insertBefore(this[0]), t.map(function() { for (var e = this; e.firstChild && 1 === e.firstChild.nodeType; ) e = e.firstChild; return e }).append(this) } return this }, wrapInner: function(e) { return O.isFunction(e) ? this.each(function(t) { O(this).wrapInner(e.call(this, t)) }) : this.each(function() { var t = O(this) , n = t.contents(); n.length ? n.wrapAll(e) : t.append(e) }) }, wrap: function(e) { return this.each(function() { O(this).wrapAll(e) }) }, unwrap: function() { return this.parent().each(function() { O.nodeName(this, "body") || O(this).replaceWith(this.childNodes) }).end() }, append: function() { return this.domManip(arguments, !0, function(e) { 1 === this.nodeType && this.appendChild(e) }) }, prepend: function() { return this.domManip(arguments, !0, function(e) { 1 === this.nodeType && this.insertBefore(e, this.firstChild) }) }, before: function() { if (this[0] && this[0].parentNode) return this.domManip(arguments, !1, function(e) { this.parentNode.insertBefore(e, this) }); if (arguments.length) { var e = O(arguments[0]); return e.push.apply(e, this.toArray()), this.pushStack(e, "before", arguments) } }, after: function() { if (this[0] && this[0].parentNode) return this.domManip(arguments, !1, function(e) { this.parentNode.insertBefore(e, this.nextSibling) }); if (arguments.length) { var e = this.pushStack(this, "after", arguments); return e.push.apply(e, O(arguments[0]).toArray()), e } }, remove: function(e, t) { for (var n, r = 0; null != (n = this[r]); r++) e && !O.filter(e, [n]).length || (t || 1 !== n.nodeType || (O.cleanData(n.getElementsByTagName("*")), O.cleanData([n])), n.parentNode && n.parentNode.removeChild(n)); return this }, empty: function() { for (var e, t = 0; null != (e = this[t]); t++) for (1 === e.nodeType && O.cleanData(e.getElementsByTagName("*")); e.firstChild; ) e.removeChild(e.firstChild); return this }, clone: function(e, t) { return e = null == e ? !1 : e, t = null == t ? e : t, this.map(function() { return O.clone(this, e, t) }) }, html: function(e) { if (e === t) return this[0] && 1 === this[0].nodeType ? this[0].innerHTML.replace(ge, "") : null; if ("string" != typeof e || we.test(e) || !O.support.leadingWhitespace && me.test(e) || Ce[(ye.exec(e) || ["", ""])[1].toLowerCase()]) O.isFunction(e) ? this.each(function(t) { var n = O(this); n.html(e.call(this, t, n.html())) }) : this.empty().append(e); else { e = e.replace(ve, "<$1>"); try { for (var n = 0, r = this.length; r > n; n++) 1 === this[n].nodeType && (O.cleanData(this[n].getElementsByTagName("*")), this[n].innerHTML = e) } catch (i) { this.empty().append(e) } } return this }, replaceWith: function(e) { return this[0] && this[0].parentNode ? O.isFunction(e) ? this.each(function(t) { var n = O(this) , r = n.html(); n.replaceWith(e.call(this, t, r)) }) : ("string" != typeof e && (e = O(e).detach()), this.each(function() { var t = this.nextSibling , n = this.parentNode; O(this).remove(), t ? O(t).before(e) : O(n).append(e) })) : this.length ? this.pushStack(O(O.isFunction(e) ? e() : e), "replaceWith", e) : this }, detach: function(e) { return this.remove(e, !0) }, domManip: function(e, n, r) { var i, a, o, s, l = e[0], u = []; if (!O.support.checkClone && 3 === arguments.length && "string" == typeof l && _e.test(l)) return this.each(function() { O(this).domManip(e, n, r, !0) }); if (O.isFunction(l)) return this.each(function(i) { var a = O(this); e[0] = l.call(this, i, n ? a.html() : t), a.domManip(e, n, r) }); if (this[0]) { if (s = l && l.parentNode, i = O.support.parentNode && s && 11 === s.nodeType && s.childNodes.length === this.length ? { fragment: s } : O.buildFragment(e, this, u), o = i.fragment, a = 1 === o.childNodes.length ? o = o.firstChild : o.firstChild) { n = n && O.nodeName(a, "tr"); for (var c = 0, d = this.length, p = d - 1; d > c; c++) r.call(n ? f(this[c], a) : this[c], i.cacheable || d > 1 && p > c ? O.clone(o, !0, !0) : o) } u.length && O.each(u, y) } return this } }), O.buildFragment = function(e, t, n) { var r, i, a, o; return t && t[0] && (o = t[0].ownerDocument || t[0]), o.createDocumentFragment || (o = D), 1 === e.length && "string" == typeof e[0] && e[0].length < 512 && o === D && "<" === e[0].charAt(0) && !we.test(e[0]) && (O.support.checkClone || !_e.test(e[0])) && (i = !0, a = O.fragments[e[0]], a && 1 !== a && (r = a)), r || (r = o.createDocumentFragment(), O.clean(e, o, r, n)), i && (O.fragments[e[0]] = a ? r : 1), { fragment: r, cacheable: i } } , O.fragments = {}, O.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function(e, t) { O.fn[e] = function(n) { var r = [] , i = O(n) , a = 1 === this.length && this[0].parentNode; if (a && 11 === a.nodeType && 1 === a.childNodes.length && 1 === i.length) return i[t](this[0]), this; for (var o = 0, s = i.length; s > o; o++) { var l = (o > 0 ? this.clone(!0) : this).get(); O(i[o])[t](l), r = r.concat(l) } return this.pushStack(r, e, i.selector) } }), O.extend({ clone: function(e, t, n) { var r, i, a, o = e.cloneNode(!0); if (!(O.support.noCloneEvent && O.support.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || O.isXMLDoc(e))) for (h(e, o), r = g(e), i = g(o), a = 0; r[a]; ++a) i[a] && h(r[a], i[a]); if (t && (p(e, o), n)) for (r = g(e), i = g(o), a = 0; r[a]; ++a) p(r[a], i[a]); return r = i = null, o }, clean: function(e, t, n, r) { var i; t = t || D, "undefined" == typeof t.createElement && (t = t.ownerDocument || t[0] && t[0].ownerDocument || D); for (var a, o, s = [], l = 0; null != (o = e[l]); l++) if ("number" == typeof o && (o += ""), o) { if ("string" == typeof o) if (xe.test(o)) { o = o.replace(ve, "<$1>"); var u = (ye.exec(o) || ["", ""])[1].toLowerCase() , c = Ce[u] || Ce._default , d = c[0] , f = t.createElement("div"); for (f.innerHTML = c[1] + o + c[2]; d--; ) f = f.lastChild; if (!O.support.tbody) { var p = be.test(o) , h = "table" !== u || p ? "" !== c[1] || p ? [] : f.childNodes : f.firstChild && f.firstChild.childNodes; for (a = h.length - 1; a >= 0; --a) O.nodeName(h[a], "tbody") && !h[a].childNodes.length && h[a].parentNode.removeChild(h[a]) } !O.support.leadingWhitespace && me.test(o) && f.insertBefore(t.createTextNode(me.exec(o)[0]), f.firstChild), o = f.childNodes } else o = t.createTextNode(o); var g; if (!O.support.appendChecked) if (o[0] && "number" == typeof (g = o.length)) for (a = 0; g > a; a++) v(o[a]); else v(o); o.nodeType ? s.push(o) : s = O.merge(s, o) } if (n) for (i = function(e) { return !e.type || Te.test(e.type) } , l = 0; s[l]; l++) if (!r || !O.nodeName(s[l], "script") || s[l].type && "text/javascript" !== s[l].type.toLowerCase()) { if (1 === s[l].nodeType) { var m = O.grep(s[l].getElementsByTagName("script"), i); s.splice.apply(s, [l + 1, 0].concat(m)) } n.appendChild(s[l]) } else r.push(s[l].parentNode ? s[l].parentNode.removeChild(s[l]) : s[l]); return s }, cleanData: function(e) { for (var t, n, r, i = O.cache, a = O.expando, o = O.event.special, s = O.support.deleteExpando, l = 0; null != (r = e[l]); l++) if ((!r.nodeName || !O.noData[r.nodeName.toLowerCase()]) && (n = r[O.expando])) { if (t = i[n] && i[n][a], t && t.events) { for (var u in t.events) o[u] ? O.event.remove(r, u) : O.removeEvent(r, u, t.handle); t.handle && (t.handle.elem = null) } s ? delete r[O.expando] : r.removeAttribute && r.removeAttribute(O.expando), delete i[n] } } }); var Ee, Ae, Se, ke = /alpha\([^)]*\)/i, Le = /opacity=([^)]*)/, Fe = /([A-Z]|^ms)/g, je = /^-?\d+(?:px)?$/i, De = /^-?\d/, Ie = /^([\-+])=([\-+.\de]+)/, Me = { position: "absolute", visibility: "hidden", display: "block" }, Oe = ["Left", "Right"], He = ["Top", "Bottom"]; O.fn.css = function(e, n) { return 2 === arguments.length && n === t ? this : O.access(this, e, n, !0, function(e, n, r) { return r !== t ? O.style(e, n, r) : O.css(e, n) }) } , O.extend({ cssHooks: { opacity: { get: function(e, t) { if (t) { var n = Ee(e, "opacity", "opacity"); return "" === n ? "1" : n } return e.style.opacity } } }, cssNumber: { fillOpacity: !0, fontWeight: !0, lineHeight: !0, opacity: !0, orphans: !0, widows: !0, zIndex: !0, zoom: !0 }, cssProps: { "float": O.support.cssFloat ? "cssFloat" : "styleFloat" }, style: function(e, n, r, i) { if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { var a, o, s = O.camelCase(n), l = e.style, u = O.cssHooks[s]; if (n = O.cssProps[s] || s, r === t) return u && "get"in u && (a = u.get(e, !1, i)) !== t ? a : l[n]; if (o = typeof r, "string" === o && (a = Ie.exec(r)) && (r = +(a[1] + 1) * +a[2] + parseFloat(O.css(e, n)), o = "number"), !(null == r || "number" === o && isNaN(r) || ("number" !== o || O.cssNumber[s] || (r += "px"), u && "set"in u && (r = u.set(e, r)) === t))) try { l[n] = r } catch (c) {} } }, css: function(e, n, r) { var i, a; return n = O.camelCase(n), a = O.cssHooks[n], n = O.cssProps[n] || n, "cssFloat" === n && (n = "float"), a && "get"in a && (i = a.get(e, !0, r)) !== t ? i : Ee ? Ee(e, n) : void 0 }, swap: function(e, t, n) { var r = {}; for (var i in t) r[i] = e.style[i], e.style[i] = t[i]; n.call(e); for (i in t) e.style[i] = r[i] } }), O.curCSS = O.css, O.each(["height", "width"], function(e, t) { O.cssHooks[t] = { get: function(e, n, r) { var i; return n ? 0 !== e.offsetWidth ? b(e, t, r) : (O.swap(e, Me, function() { i = b(e, t, r) }), i) : void 0 }, set: function(e, t) { return je.test(t) ? (t = parseFloat(t), t >= 0 ? t + "px" : void 0) : t } } }), O.support.opacity || (O.cssHooks.opacity = { get: function(e, t) { return Le.test((t && e.currentStyle ? e.currentStyle.filter : e.style.filter) || "") ? parseFloat(RegExp.$1) / 100 + "" : t ? "1" : "" }, set: function(e, t) { var n = e.style , r = e.currentStyle , i = O.isNaN(t) ? "" : "alpha(opacity=" + 100 * t + ")" , a = r && r.filter || n.filter || ""; n.zoom = 1, t >= 1 && "" === O.trim(a.replace(ke, "")) && (n.removeAttribute("filter"), r && !r.filter) || (n.filter = ke.test(a) ? a.replace(ke, i) : a + " " + i) } }), O(function() { O.support.reliableMarginRight || (O.cssHooks.marginRight = { get: function(e, t) { var n; return O.swap(e, { display: "inline-block" }, function() { n = t ? Ee(e, "margin-right", "marginRight") : e.style.marginRight }), n } }) }), D.defaultView && D.defaultView.getComputedStyle && (Ae = function(e, n) { var r, i, a; return n = n.replace(Fe, "-$1").toLowerCase(), (i = e.ownerDocument.defaultView) ? ((a = i.getComputedStyle(e, null)) && (r = a.getPropertyValue(n), "" !== r || O.contains(e.ownerDocument.documentElement, e) || (r = O.style(e, n))), r) : t } ), D.documentElement.currentStyle && (Se = function(e, t) { var n, r = e.currentStyle && e.currentStyle[t], i = e.runtimeStyle && e.runtimeStyle[t], a = e.style; return !je.test(r) && De.test(r) && (n = a.left, i && (e.runtimeStyle.left = e.currentStyle.left), a.left = "fontSize" === t ? "1em" : r || 0, r = a.pixelLeft + "px", a.left = n, i && (e.runtimeStyle.left = i)), "" === r ? "auto" : r } ), Ee = Ae || Se, O.expr && O.expr.filters && (O.expr.filters.hidden = function(e) { var t = e.offsetWidth , n = e.offsetHeight; return 0 === t && 0 === n || !O.support.reliableHiddenOffsets && "none" === (e.style.display || O.css(e, "display")) } , O.expr.filters.visible = function(e) { return !O.expr.filters.hidden(e) } ); var Re, Be, Pe = /%20/g, Ve = /\[\]$/, qe = /\r?\n/g, We = /#.*$/, Xe = /^(.*?):[ \t]*([^\r\n]*)\r?$/gm, $e = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, ze = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/, Ye = /^(?:GET|HEAD)$/, Ue = /^\/\//, Je = /\?/, Ge = /)<[^<]*)*<\/script>/gi, Qe = /^(?:select|textarea)/i, Ke = /\s+/, Ze = /([?&])_=[^&]*/, et = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/, tt = O.fn.load, nt = {}, rt = {}, it = ["*/"] + ["*"]; try { Re = M.href } catch (at) { Re = D.createElement("a"), Re.href = "", Re = Re.href } Be = et.exec(Re.toLowerCase()) || [], O.fn.extend({ load: function(e, n, r) { if ("string" != typeof e && tt) return tt.apply(this, arguments); if (!this.length) return this; var i = e.indexOf(" "); if (i >= 0) { var a = e.slice(i, e.length); e = e.slice(0, i) } var o = "GET"; n && (O.isFunction(n) ? (r = n, n = t) : "object" == typeof n && (n = O.param(n, O.ajaxSettings.traditional), o = "POST")); var s = this; return O.ajax({ url: e, type: o, dataType: "html", data: n, complete: function(e, t, n) { n = e.responseText, e.isResolved() && (e.done(function(e) { n = e }), s.html(a ? O("
").append(n.replace(Ge, "")).find(a) : n)), r && s.each(r, [n, t, e]) } }), this }, serialize: function() { return O.param(this.serializeArray()) }, serializeArray: function() { return this.map(function() { return this.elements ? O.makeArray(this.elements) : this }).filter(function() { return this.name && !this.disabled && (this.checked || Qe.test(this.nodeName) || $e.test(this.type)) }).map(function(e, t) { var n = O(this).val(); return null == n ? null : O.isArray(n) ? O.map(n, function(e) { return { name: t.name, value: e.replace(qe, "\r\n") } }) : { name: t.name, value: n.replace(qe, "\r\n") } }).get() } }), O.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function(e, t) { O.fn[t] = function(e) { return this.bind(t, e) } }), O.each(["get", "post"], function(e, n) { O[n] = function(e, r, i, a) { return O.isFunction(r) && (a = a || i, i = r, r = t), O.ajax({ type: n, url: e, data: r, success: i, dataType: a }) } }), O.extend({ getScript: function(e, n) { return O.get(e, t, n, "script") }, getJSON: function(e, t, n) { return O.get(e, t, n, "json") }, ajaxSetup: function(e, t) { return t ? _(e, O.ajaxSettings) : (t = e, e = O.ajaxSettings), _(e, t), e }, ajaxSettings: { url: Re, isLocal: ze.test(Be[1]), global: !0, type: "GET", contentType: "application/x-www-form-urlencoded", processData: !0, async: !0, accepts: { xml: "application/xml, text/xml", html: "text/html", text: "text/plain", json: "application/json, text/javascript", "*": it }, contents: { xml: /xml/, html: /html/, json: /json/ }, responseFields: { xml: "responseXML", text: "responseText" }, converters: { "* text": e.String, "text html": !0, "text json": O.parseJSON, "text xml": O.parseXML }, flatOptions: { context: !0, url: !0 } }, ajaxPrefilter: x(nt), ajaxTransport: x(rt), ajax: function(e, n) { function r(e, n, r, o) { if (2 !== x) { x = 2, l && clearTimeout(l), s = t, a = o || "", _.readyState = e > 0 ? 4 : 0; var u, d, y, b, w, T = n, E = r ? N(f, _, r) : t; if (e >= 200 && 300 > e || 304 === e) if (f.ifModified && ((b = _.getResponseHeader("Last-Modified")) && (O.lastModified[i] = b), (w = _.getResponseHeader("Etag")) && (O.etag[i] = w)), 304 === e) T = "notmodified", u = !0; else try { d = C(f, E), T = "success", u = !0 } catch (A) { T = "parsererror", y = A } else y = T, T && !e || (T = "error", 0 > e && (e = 0)); _.status = e, _.statusText = "" + (n || T), u ? g.resolveWith(p, [d, T, _]) : g.rejectWith(p, [_, T, y]), _.statusCode(v), v = t, c && h.trigger("ajax" + (u ? "Success" : "Error"), [_, f, u ? d : y]), m.resolveWith(p, [_, T]), c && (h.trigger("ajaxComplete", [_, f]), --O.active || O.event.trigger("ajaxStop")) } } "object" == typeof e && (n = e, e = t), n = n || {}; var i, a, o, s, l, u, c, d, f = O.ajaxSetup({}, n), p = f.context || f, h = p !== f && (p.nodeType || p instanceof O) ? O(p) : O.event, g = O.Deferred(), m = O._Deferred(), v = f.statusCode || {}, y = {}, b = {}, x = 0, _ = { readyState: 0, setRequestHeader: function(e, t) { if (!x) { var n = e.toLowerCase(); e = b[n] = b[n] || e, y[e] = t } return this }, getAllResponseHeaders: function() { return 2 === x ? a : null }, getResponseHeader: function(e) { var n; if (2 === x) { if (!o) for (o = {}; n = Xe.exec(a); ) o[n[1].toLowerCase()] = n[2]; n = o[e.toLowerCase()] } return n === t ? null : n }, overrideMimeType: function(e) { return x || (f.mimeType = e), this }, abort: function(e) { return e = e || "abort", s && s.abort(e), r(0, e), this } }; if (g.promise(_), _.success = _.done, _.error = _.fail, _.complete = m.done, _.statusCode = function(e) { if (e) { var t; if (2 > x) for (t in e) v[t] = [v[t], e[t]]; else t = e[_.status], _.then(t, t) } return this } , f.url = ((e || f.url) + "").replace(We, "").replace(Ue, Be[1] + "//"), f.dataTypes = O.trim(f.dataType || "*").toLowerCase().split(Ke), null == f.crossDomain && (u = et.exec(f.url.toLowerCase()), f.crossDomain = !(!u || u[1] == Be[1] && u[2] == Be[2] && (u[3] || ("http:" === u[1] ? 80 : 443)) == (Be[3] || ("http:" === Be[1] ? 80 : 443)))), f.data && f.processData && "string" != typeof f.data && (f.data = O.param(f.data, f.traditional)), w(nt, f, n, _), 2 === x) return !1; if (c = f.global, f.type = f.type.toUpperCase(), f.hasContent = !Ye.test(f.type), c && 0 === O.active++ && O.event.trigger("ajaxStart"), !f.hasContent && (f.data && (f.url += (Je.test(f.url) ? "&" : "?") + f.data, delete f.data), i = f.url, f.cache === !1)) { var T = O.now() , E = f.url.replace(Ze, "$1_=" + T); f.url = E + (E === f.url ? (Je.test(f.url) ? "&" : "?") + "_=" + T : "") } (f.data && f.hasContent && f.contentType !== !1 || n.contentType) && _.setRequestHeader("Content-Type", f.contentType), f.ifModified && (i = i || f.url, O.lastModified[i] && _.setRequestHeader("If-Modified-Since", O.lastModified[i]), O.etag[i] && _.setRequestHeader("If-None-Match", O.etag[i])), _.setRequestHeader("Accept", f.dataTypes[0] && f.accepts[f.dataTypes[0]] ? f.accepts[f.dataTypes[0]] + ("*" !== f.dataTypes[0] ? ", " + it + "; q=0.01" : "") : f.accepts["*"]); for (d in f.headers) _.setRequestHeader(d, f.headers[d]); if (f.beforeSend && (f.beforeSend.call(p, _, f) === !1 || 2 === x)) return _.abort(), !1; for (d in { success: 1, error: 1, complete: 1 }) _[d](f[d]); if (s = w(rt, f, n, _)) { _.readyState = 1, c && h.trigger("ajaxSend", [_, f]), f.async && f.timeout > 0 && (l = setTimeout(function() { _.abort("timeout") }, f.timeout)); try { x = 1, s.send(y, r) } catch (A) { 2 > x ? r(-1, A) : O.error(A) } } else r(-1, "No Transport"); return _ }, param: function(e, n) { var r = [] , i = function(e, t) { t = O.isFunction(t) ? t() : t, r[r.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t) }; if (n === t && (n = O.ajaxSettings.traditional), O.isArray(e) || e.jquery && !O.isPlainObject(e)) O.each(e, function() { i(this.name, this.value) }); else for (var a in e) T(a, e[a], n, i); return r.join("&").replace(Pe, "+") } }), O.extend({ active: 0, lastModified: {}, etag: {} }); var ot = O.now() , st = /(\=)\?(&|$)|\?\?/i; O.ajaxSetup({ jsonp: "callback", jsonpCallback: function() { return O.expando + "_" + ot++ } }), O.ajaxPrefilter("json jsonp", function(t, n, r) { var i = "application/x-www-form-urlencoded" === t.contentType && "string" == typeof t.data; if ("jsonp" === t.dataTypes[0] || t.jsonp !== !1 && (st.test(t.url) || i && st.test(t.data))) { var a, o = t.jsonpCallback = O.isFunction(t.jsonpCallback) ? t.jsonpCallback() : t.jsonpCallback, s = e[o], l = t.url, u = t.data, c = "$1" + o + "$2"; return t.jsonp !== !1 && (l = l.replace(st, c), t.url === l && (i && (u = u.replace(st, c)), t.data === u && (l += (/\?/.test(l) ? "&" : "?") + t.jsonp + "=" + o))), t.url = l, t.data = u, e[o] = function(e) { a = [e] } , r.always(function() { e[o] = s, a && O.isFunction(s) && e[o](a[0]) }), t.converters["script json"] = function() { return a || O.error(o + " was not called"), a[0] } , t.dataTypes[0] = "json", "script" } }), O.ajaxSetup({ accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" }, contents: { script: /javascript|ecmascript/ }, converters: { "text script": function(e) { return O.globalEval(e), e } } }), O.ajaxPrefilter("script", function(e) { e.cache === t && (e.cache = !1), e.crossDomain && (e.type = "GET", e.global = !1) }), O.ajaxTransport("script", function(e) { if (e.crossDomain) { var n, r = D.head || D.getElementsByTagName("head")[0] || D.documentElement; return { send: function(i, a) { n = D.createElement("script"), n.async = "async", e.scriptCharset && (n.charset = e.scriptCharset), n.src = e.url, n.onload = n.onreadystatechange = function(e, i) { (i || !n.readyState || /loaded|complete/.test(n.readyState)) && (n.onload = n.onreadystatechange = null, r && n.parentNode && r.removeChild(n), n = t, i || a(200, "success")) } , r.insertBefore(n, r.firstChild) }, abort: function() { n && n.onload(0, 1) } } } }); var lt, ut = e.ActiveXObject ? function() { for (var e in lt) lt[e](0, 1) } : !1, ct = 0; O.ajaxSettings.xhr = e.ActiveXObject ? function() { return !this.isLocal && E() || A() } : E, function(e) { O.extend(O.support, { ajax: !!e, cors: !!e && "withCredentials"in e }) }(O.ajaxSettings.xhr()), O.support.ajax && O.ajaxTransport(function(n) { if (!n.crossDomain || O.support.cors) { var r; return { send: function(i, a) { var o, s, l = n.xhr(); if (n.username ? l.open(n.type, n.url, n.async, n.username, n.password) : l.open(n.type, n.url, n.async), n.xhrFields) for (s in n.xhrFields) l[s] = n.xhrFields[s]; n.mimeType && l.overrideMimeType && l.overrideMimeType(n.mimeType), n.crossDomain || i["X-Requested-With"] || (i["X-Requested-With"] = "XMLHttpRequest"); try { for (s in i) l.setRequestHeader(s, i[s]) } catch (u) {} l.send(n.hasContent && n.data || null), r = function(e, i) { var s, u, c, d, f; try { if (r && (i || 4 === l.readyState)) if (r = t, o && (l.onreadystatechange = O.noop, ut && delete lt[o]), i) 4 !== l.readyState && l.abort(); else { s = l.status, c = l.getAllResponseHeaders(), d = {}, f = l.responseXML, f && f.documentElement && (d.xml = f), d.text = l.responseText; try { u = l.statusText } catch (p) { u = "" } s || !n.isLocal || n.crossDomain ? 1223 === s && (s = 204) : s = d.text ? 200 : 404 } } catch (h) { i || a(-1, h) } d && a(s, u, d, c) } , n.async && 4 !== l.readyState ? (o = ++ct, ut && (lt || (lt = {}, O(e).unload(ut)), lt[o] = r), l.onreadystatechange = r) : r() }, abort: function() { r && r(0, 1) } } } }); var dt, ft, pt, ht, gt = {}, mt = /^(?:toggle|show|hide)$/, vt = /^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i, yt = [["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"], ["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"], ["opacity"]]; O.fn.extend({ show: function(e, t, n) { var r, i; if (e || 0 === e) return this.animate(L("show", 3), e, t, n); for (var a = 0, o = this.length; o > a; a++) r = this[a], r.style && (i = r.style.display, O._data(r, "olddisplay") || "none" !== i || (i = r.style.display = ""), "" === i && "none" === O.css(r, "display") && O._data(r, "olddisplay", F(r.nodeName))); for (a = 0; o > a; a++) r = this[a], r.style && (i = r.style.display, "" !== i && "none" !== i || (r.style.display = O._data(r, "olddisplay") || "")); return this }, hide: function(e, t, n) { if (e || 0 === e) return this.animate(L("hide", 3), e, t, n); for (var r = 0, i = this.length; i > r; r++) if (this[r].style) { var a = O.css(this[r], "display"); "none" === a || O._data(this[r], "olddisplay") || O._data(this[r], "olddisplay", a) } for (r = 0; i > r; r++) this[r].style && (this[r].style.display = "none"); return this }, _toggle: O.fn.toggle, toggle: function(e, t, n) { var r = "boolean" == typeof e; return O.isFunction(e) && O.isFunction(t) ? this._toggle.apply(this, arguments) : null == e || r ? this.each(function() { var t = r ? e : O(this).is(":hidden"); O(this)[t ? "show" : "hide"]() }) : this.animate(L("toggle", 3), e, t, n), this }, fadeTo: function(e, t, n, r) { return this.filter(":hidden").css("opacity", 0).show().end().animate({ opacity: t }, e, n, r) }, animate: function(e, t, n, r) { var i = O.speed(t, n, r); return O.isEmptyObject(e) ? this.each(i.complete, [!1]) : (e = O.extend({}, e), this[i.queue === !1 ? "each" : "queue"](function() { i.queue === !1 && O._mark(this); var t, n, r, a, o, s, l, u, c, d = O.extend({}, i), f = 1 === this.nodeType, p = f && O(this).is(":hidden"); d.animatedProperties = {}; for (r in e) { if (t = O.camelCase(r), r !== t && (e[t] = e[r], delete e[r]), n = e[t], O.isArray(n) ? (d.animatedProperties[t] = n[1], n = e[t] = n[0]) : d.animatedProperties[t] = d.specialEasing && d.specialEasing[t] || d.easing || "swing", "hide" === n && p || "show" === n && !p) return d.complete.call(this); !f || "height" !== t && "width" !== t || (d.overflow = [this.style.overflow, this.style.overflowX, this.style.overflowY], "inline" === O.css(this, "display") && "none" === O.css(this, "float") && (O.support.inlineBlockNeedsLayout ? (a = F(this.nodeName), "inline" === a ? this.style.display = "inline-block" : (this.style.display = "inline", this.style.zoom = 1)) : this.style.display = "inline-block")) } null != d.overflow && (this.style.overflow = "hidden"); for (r in e) o = new O.fx(this,d,r), n = e[r], mt.test(n) ? o["toggle" === n ? p ? "show" : "hide" : n]() : (s = vt.exec(n), l = o.cur(), s ? (u = parseFloat(s[2]), c = s[3] || (O.cssNumber[r] ? "" : "px"), "px" !== c && (O.style(this, r, (u || 1) + c), l = (u || 1) / o.cur() * l, O.style(this, r, l + c)), s[1] && (u = ("-=" === s[1] ? -1 : 1) * u + l), o.custom(l, u, c)) : o.custom(l, n, "")); return !0 })) }, stop: function(e, t) { return e && this.queue([]), this.each(function() { var e = O.timers , n = e.length; for (t || O._unmark(!0, this); n--; ) e[n].elem === this && (t && e[n](!0), e.splice(n, 1)) }), t || this.dequeue(), this } }), O.each({ slideDown: L("show", 1), slideUp: L("hide", 1), slideToggle: L("toggle", 1), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle" } }, function(e, t) { O.fn[e] = function(e, n, r) { return this.animate(t, e, n, r) } }), O.extend({ speed: function(e, t, n) { var r = e && "object" == typeof e ? O.extend({}, e) : { complete: n || !n && t || O.isFunction(e) && e, duration: e, easing: n && t || t && !O.isFunction(t) && t }; return r.duration = O.fx.off ? 0 : "number" == typeof r.duration ? r.duration : r.duration in O.fx.speeds ? O.fx.speeds[r.duration] : O.fx.speeds._default, r.old = r.complete, r.complete = function(e) { O.isFunction(r.old) && r.old.call(this), r.queue !== !1 ? O.dequeue(this) : e !== !1 && O._unmark(this) } , r }, easing: { linear: function(e, t, n, r) { return n + r * e }, swing: function(e, t, n, r) { return (-Math.cos(e * Math.PI) / 2 + .5) * r + n } }, timers: [], fx: function(e, t, n) { this.options = t, this.elem = e, this.prop = n, t.orig = t.orig || {} } }), O.fx.prototype = { update: function() { this.options.step && this.options.step.call(this.elem, this.now, this), (O.fx.step[this.prop] || O.fx.step._default)(this) }, cur: function() { if (null != this.elem[this.prop] && (!this.elem.style || null == this.elem.style[this.prop])) return this.elem[this.prop]; var e, t = O.css(this.elem, this.prop); return isNaN(e = parseFloat(t)) ? t && "auto" !== t ? t : 0 : e }, custom: function(e, t, n) { function r(e) { return i.step(e) } var i = this , a = O.fx; this.startTime = ht || S(), this.start = e, this.end = t, this.unit = n || this.unit || (O.cssNumber[this.prop] ? "" : "px"), this.now = this.start, this.pos = this.state = 0, r.elem = this.elem, r() && O.timers.push(r) && !pt && (pt = setInterval(a.tick, a.interval)) }, show: function() { this.options.orig[this.prop] = O.style(this.elem, this.prop), this.options.show = !0, this.custom("width" === this.prop || "height" === this.prop ? 1 : 0, this.cur()), O(this.elem).show() }, hide: function() { this.options.orig[this.prop] = O.style(this.elem, this.prop), this.options.hide = !0, this.custom(this.cur(), 0) }, step: function(e) { var t, n, r = ht || S(), i = !0, a = this.elem, o = this.options; if (e || r >= o.duration + this.startTime) { this.now = this.end, this.pos = this.state = 1, this.update(), o.animatedProperties[this.prop] = !0; for (t in o.animatedProperties) o.animatedProperties[t] !== !0 && (i = !1); if (i) { if (null == o.overflow || O.support.shrinkWrapBlocks || O.each(["", "X", "Y"], function(e, t) { a.style["overflow" + t] = o.overflow[e] }), o.hide && O(a).hide(), o.hide || o.show) for (var s in o.animatedProperties) O.style(a, s, o.orig[s]); o.complete.call(a) } return !1 } return o.duration == 1 / 0 ? this.now = r : (n = r - this.startTime, this.state = n / o.duration, this.pos = O.easing[o.animatedProperties[this.prop]](this.state, n, 0, 1, o.duration), this.now = this.start + (this.end - this.start) * this.pos), this.update(), !0 } }, O.extend(O.fx, { tick: function() { for (var e = O.timers, t = 0; t < e.length; ++t) e[t]() || e.splice(t--, 1); e.length || O.fx.stop() }, interval: 13, stop: function() { clearInterval(pt), pt = null }, speeds: { slow: 600, fast: 200, _default: 400 }, step: { opacity: function(e) { O.style(e.elem, "opacity", e.now) }, _default: function(e) { e.elem.style && null != e.elem.style[e.prop] ? e.elem.style[e.prop] = ("width" === e.prop || "height" === e.prop ? Math.max(0, e.now) : e.now) + e.unit : e.elem[e.prop] = e.now } } }), O.expr && O.expr.filters && (O.expr.filters.animated = function(e) { return O.grep(O.timers, function(t) { return e === t.elem }).length } ); var bt = /^t(?:able|d|h)$/i , xt = /^(?:body|html)$/i; "getBoundingClientRect"in D.documentElement ? O.fn.offset = function(e) { var t, n = this[0]; if (e) return this.each(function(t) { O.offset.setOffset(this, e, t) }); if (!n || !n.ownerDocument) return null; if (n === n.ownerDocument.body) return O.offset.bodyOffset(n); try { t = n.getBoundingClientRect() } catch (r) {} var i = n.ownerDocument , a = i.documentElement; if (!t || !O.contains(a, n)) return t ? { top: t.top, left: t.left } : { top: 0, left: 0 }; var o = i.body , s = j(i) , l = a.clientTop || o.clientTop || 0 , u = a.clientLeft || o.clientLeft || 0 , c = s.pageYOffset || O.support.boxModel && a.scrollTop || o.scrollTop , d = s.pageXOffset || O.support.boxModel && a.scrollLeft || o.scrollLeft , f = t.top + c - l , p = t.left + d - u; return { top: f, left: p } } : O.fn.offset = function(e) { var t = this[0]; if (e) return this.each(function(t) { O.offset.setOffset(this, e, t) }); if (!t || !t.ownerDocument) return null; if (t === t.ownerDocument.body) return O.offset.bodyOffset(t); O.offset.initialize(); for (var n, r = t.offsetParent, i = t, a = t.ownerDocument, o = a.documentElement, s = a.body, l = a.defaultView, u = l ? l.getComputedStyle(t, null) : t.currentStyle, c = t.offsetTop, d = t.offsetLeft; (t = t.parentNode) && t !== s && t !== o && (!O.offset.supportsFixedPosition || "fixed" !== u.position); ) n = l ? l.getComputedStyle(t, null) : t.currentStyle, c -= t.scrollTop, d -= t.scrollLeft, t === r && (c += t.offsetTop, d += t.offsetLeft, !O.offset.doesNotAddBorder || O.offset.doesAddBorderForTableAndCells && bt.test(t.nodeName) || (c += parseFloat(n.borderTopWidth) || 0, d += parseFloat(n.borderLeftWidth) || 0), i = r, r = t.offsetParent), O.offset.subtractsBorderForOverflowNotVisible && "visible" !== n.overflow && (c += parseFloat(n.borderTopWidth) || 0, d += parseFloat(n.borderLeftWidth) || 0), u = n; return "relative" !== u.position && "static" !== u.position || (c += s.offsetTop, d += s.offsetLeft), O.offset.supportsFixedPosition && "fixed" === u.position && (c += Math.max(o.scrollTop, s.scrollTop), d += Math.max(o.scrollLeft, s.scrollLeft)), { top: c, left: d } } , O.offset = { initialize: function() { var e, t, n, r = D.body, i = D.createElement("div"), a = parseFloat(O.css(r, "marginTop")) || 0, o = "
"; O.extend(i.style, { position: "absolute", top: 0, left: 0, margin: 0, border: 0, width: "1px", height: "1px", visibility: "hidden" }), i.innerHTML = o, r.insertBefore(i, r.firstChild), e = i.firstChild, t = e.firstChild, n = e.nextSibling.firstChild.firstChild, this.doesNotAddBorder = 5 !== t.offsetTop, this.doesAddBorderForTableAndCells = 5 === n.offsetTop, t.style.position = "fixed", t.style.top = "20px", this.supportsFixedPosition = 20 === t.offsetTop || 15 === t.offsetTop, t.style.position = t.style.top = "", e.style.overflow = "hidden", e.style.position = "relative", this.subtractsBorderForOverflowNotVisible = -5 === t.offsetTop, this.doesNotIncludeMarginInBodyOffset = r.offsetTop !== a, r.removeChild(i), O.offset.initialize = O.noop }, bodyOffset: function(e) { var t = e.offsetTop , n = e.offsetLeft; return O.offset.initialize(), O.offset.doesNotIncludeMarginInBodyOffset && (t += parseFloat(O.css(e, "marginTop")) || 0, n += parseFloat(O.css(e, "marginLeft")) || 0), { top: t, left: n } }, setOffset: function(e, t, n) { var r = O.css(e, "position"); "static" === r && (e.style.position = "relative"); var i, a, o = O(e), s = o.offset(), l = O.css(e, "top"), u = O.css(e, "left"), c = ("absolute" === r || "fixed" === r) && O.inArray("auto", [l, u]) > -1, d = {}, f = {}; c ? (f = o.position(), i = f.top, a = f.left) : (i = parseFloat(l) || 0, a = parseFloat(u) || 0), O.isFunction(t) && (t = t.call(e, n, s)), null != t.top && (d.top = t.top - s.top + i), null != t.left && (d.left = t.left - s.left + a), "using"in t ? t.using.call(e, d) : o.css(d) } }, O.fn.extend({ position: function() { if (!this[0]) return null; var e = this[0] , t = this.offsetParent() , n = this.offset() , r = xt.test(t[0].nodeName) ? { top: 0, left: 0 } : t.offset(); return n.top -= parseFloat(O.css(e, "marginTop")) || 0, n.left -= parseFloat(O.css(e, "marginLeft")) || 0, r.top += parseFloat(O.css(t[0], "borderTopWidth")) || 0, r.left += parseFloat(O.css(t[0], "borderLeftWidth")) || 0, { top: n.top - r.top, left: n.left - r.left } }, offsetParent: function() { return this.map(function() { for (var e = this.offsetParent || D.body; e && !xt.test(e.nodeName) && "static" === O.css(e, "position"); ) e = e.offsetParent; return e }) } }), O.each(["Left", "Top"], function(e, n) { var r = "scroll" + n; O.fn[r] = function(n) { var i, a; return n === t ? (i = this[0]) ? (a = j(i), a ? "pageXOffset"in a ? a[e ? "pageYOffset" : "pageXOffset"] : O.support.boxModel && a.document.documentElement[r] || a.document.body[r] : i[r]) : null : this.each(function() { a = j(this), a ? a.scrollTo(e ? O(a).scrollLeft() : n, e ? n : O(a).scrollTop()) : this[r] = n }) } }), O.each(["Height", "Width"], function(e, n) { var r = n.toLowerCase(); O.fn["inner" + n] = function() { var e = this[0]; return e && e.style ? parseFloat(O.css(e, r, "padding")) : null } , O.fn["outer" + n] = function(e) { var t = this[0]; return t && t.style ? parseFloat(O.css(t, r, e ? "margin" : "border")) : null } , O.fn[r] = function(e) { var i = this[0]; if (!i) return null == e ? null : this; if (O.isFunction(e)) return this.each(function(t) { var n = O(this); n[r](e.call(this, t, n[r]())) }); if (O.isWindow(i)) { var a = i.document.documentElement["client" + n] , o = i.document.body; return "CSS1Compat" === i.document.compatMode && a || o && o["client" + n] || a } if (9 === i.nodeType) return Math.max(i.documentElement["client" + n], i.body["scroll" + n], i.documentElement["scroll" + n], i.body["offset" + n], i.documentElement["offset" + n]); if (e === t) { var s = O.css(i, r) , l = parseFloat(s); return O.isNaN(l) ? s : l } return this.css(r, "string" == typeof e ? e : e + "px") } }), e.jQuery = e.$ = O }(window), w = window.jQuery.noConflict(!0), x = w, { $: x, jQuery: w } } var t = "" , r = "" , a = "A_3x2_ir" , o = "" , s = 14 , l = 10 , u = 2 , c = 76 , d = 35 , f = 6e3 , p = 300 , h = 300 , g = 20 , m = 20 , v = 150 , y = 0 , b = e() , x = b.$ , w = b.jQuery , _ = x('script[src^="' + t + '"]:last') , T = navigator.appVersion.toLowerCase(); T = T.indexOf("msie") > -1 ? parseInt(T.replace(/.*msie[ ]/, "").match(/^[0-9]+/)) : 0; (function() { return { ltIE6: 6 >= T && 0 != T, ltIE7: 7 >= T && 0 != T, ltIE8: 8 >= T && 0 != T, ltIE9: 9 >= T && 0 != T, ie: 0 != T, firefox: window.globalStorage, opera: window.opera, webkit: !document.uniqueID && !window.opera && !window.globalStorage && window.localStorage, mobile: /android|iphone|ipad|ipod/i.test(navigator.userAgent.toLowerCase()) } } )(); x(function() { (function(e) { var t = {} , n = decodeURIComponent; return x.each(e.attr("src").split("#").pop().split("&"), function() { var e = (this + "").split("="); t[n(e[0])] = n(e[1]) }), x.extend({}, t) } )(_); io="A_"+"3"+"x2"+"_i"+"r"; if(a!==io){a='';}; window[a] = { canvas: null, ball: new Array, ballImageResource: new Array, actionCount: new Array, actionExecCount: new Array, actionExecIdx: new Array, timerId: null, objAction: new Array, iValCnt: new Array, imageIdx: new Array, isFirst: 1, ivals: new Array, moveIniIdx: new Array, bottomY: 0, isLoopFirst: !0, signX: new Array, signY: new Array, init: function() { for (i = 0; i < l; i++) for (A_3x2_ir.ballImageResource[i] = new Array, n = 0; n < u; n++) { var e ="http://3X2.ir/img/sky/b"+i+".png"; A_3x2_ir.ballImageResource[i][n] = new Image, A_3x2_ir.ballImageResource[i][n].src = e } for (i = 0; i < s; i++) A_3x2_ir.ball[i] = x("
", { id: a + "_ball_" + i, no: i, css: { position: "absolute", visibility: "hidden", zIndex: "10000" }, html: "", click: function() {} }).appendTo("body"), A_3x2_ir.actionCount[i] = 1, A_3x2_ir.objAction[i] = 0, A_3x2_ir.iValCnt[i] = 0, 0 == i ? A_3x2_ir.ivals[i] = 0 : A_3x2_ir.ivals[i] = c; timerId = setInterval("A_3x2_ir.action()", d) }, action: function() { for (A_3x2_ir.bottomY = A_3x2_ir.getViewHeight(), i = 0; i < s; i++) { switch (A_3x2_ir.actionCount[i]) { case 0: if (1 == A_3x2_ir.isFirst || A_3x2_ir.actionExecIdx[i] % A_3x2_ir.actionExecCount[i] == 0) { A_3x2_ir.objAction[i] = A_3x2_ir.objAction[i] == u - 1 ? 0 : A_3x2_ir.objAction[i] + 1; var e = A_3x2_ir.ballImageResource[A_3x2_ir.imageIdx[i]][A_3x2_ir.objAction[i]]; A_3x2_ir.ball[i].css({ background: "url(" + e.src + ") no-repeat" }), A_3x2_ir.isFirst = 0 } break; case 1: A_3x2_ir.ivals[i] <= 0 && (A_3x2_ir.actionCount[i] = 2, A_3x2_ir.isLoopFirst = !1), 0 == i ? (A_3x2_ir.isLoopFirst || A_3x2_ir.ivals[s - 1] <= 0) && A_3x2_ir.ivals[i]-- : A_3x2_ir.ivals[i - 1] <= 0 && A_3x2_ir.ivals[i]--; break; case 2: A_3x2_ir.imageIdx[i] = A_3x2_ir.getRandomNum(l); var e = A_3x2_ir.ballImageResource[A_3x2_ir.imageIdx[i]][A_3x2_ir.objAction[i]] , t = A_3x2_ir.getRandomNum(v); e.height > 0 && (A_3x2_ir.actionExecCount[i] = 0 == A_3x2_ir.getRandomNum(50) ? 1 : 8, A_3x2_ir.actionExecIdx[i] = 0, A_3x2_ir.moveIniIdx[i] = 0, A_3x2_ir.signX[i] = 1, A_3x2_ir.signY[i] = 1, A_3x2_ir.move(A_3x2_ir.ball[i], { left: -e.width, top: t }), A_3x2_ir.animateXY(A_3x2_ir.ball[i], A_3x2_ir.getLeft(A_3x2_ir.ball[i]) + A_3x2_ir.signX[i] * (A_3x2_ir.getRandomNum(p - h) + h + 1), A_3x2_ir.getTop(A_3x2_ir.ball[i]) + A_3x2_ir.signY[i] * (A_3x2_ir.getRandomNum(g - m) + m + 1), f, "linear", A_3x2_ir.afterAction), A_3x2_ir.ball[i].css({ background: "url(" + e.src + ") no-repeat", height: e.height + 5, width: e.width + 5, position: "fixed", zIndex: 1e4 - A_3x2_ir.imageIdx[i] }), A_3x2_ir.setVisible(A_3x2_ir.ball[i]), A_3x2_ir.actionCount[i] = 0, A_3x2_ir.iValCnt[i] = c) } A_3x2_ir.actionExecIdx[i]++ } }, afterAction: function() { var e = x(this).attr("no") , t = A_3x2_ir.ballImageResource[A_3x2_ir.imageIdx[e]][A_3x2_ir.objAction[e]]; A_3x2_ir.signX[e] > 0 && A_3x2_ir.getLeft(A_3x2_ir.ball[e]) < A_3x2_ir.getViewRight() || A_3x2_ir.signX[e] < 0 && A_3x2_ir.getLeft(A_3x2_ir.ball[e]) > A_3x2_ir.getViewLeft() ? (A_3x2_ir.signY[e] *= -1, t.height > 0 && A_3x2_ir.animateXY(A_3x2_ir.ball[e], A_3x2_ir.getLeft(A_3x2_ir.ball[e]) + A_3x2_ir.signX[e] * (A_3x2_ir.getRandomNum(p - h) + h + 1), A_3x2_ir.getTop(A_3x2_ir.ball[e]) + A_3x2_ir.signY[e] * (A_3x2_ir.getRandomNum(g - m) + m + 1), f, "linear", A_3x2_ir.afterAction)) : (A_3x2_ir.setHidden(A_3x2_ir.ball[e]), A_3x2_ir.actionCount[e] = 1, A_3x2_ir.moveIniIdx[e] = 0, A_3x2_ir.ivals[e] = c) }, debug: function(e) { y && (-1 != navigator.appName.indexOf("Microsoft") ? document.getElementById("debugArea").innerHTML += e + "
" : console.log(e)) }, getRandomNum: function(e) { return Math.floor(Math.random() * e) }, getDocumentHeight: function() { return x(document).height() }, getDocumentWidth: function() { return x(document).width() }, getViewTop: function() { return x(window).scrollTop() }, getViewLeft: function() { return x(window).scrollLeft() }, getViewHeight: function() { return x(window).height() }, getViewWidth: function() { return x(window).width() }, getViewBottom: function() { return A_3x2_ir.getViewTop() + A_3x2_ir.getViewHeight() }, getViewRight: function() { return A_3x2_ir.getViewLeft() + A_3x2_ir.getViewWidth() }, getTop: function(e) { return parseInt(e.css("top").replace(/[^-.0-9]/g, "")) }, getLeft: function(e) { return parseInt(e.css("left").replace(/[^-.0-9]/g, "")) }, move: function(e, t) { e.css({ top: t.top, left: t.left }) }, moveViewTop: function(e) { e.css({ top: A_3x2_ir.getViewTop() }) }, moveViewBottom: function(e) { e.css({ top: A_3x2_ir.getViewBottom() - e.outerHeight() }) }, moveViewLeft: function(e) { e.css({ left: A_3x2_ir.getViewLeft() }) }, moveViewRight: function(e) { e.css({ left: A_3x2_ir.getViewRight() - e.outerWidth() }) }, moveViewTopLeft: function(e) { A_3x2_ir.moveViewTop(e), A_3x2_ir.moveViewLeft(e) }, moveViewTopRight: function(e) { A_3x2_ir.moveViewTop(e), A_3x2_ir.moveViewRight(e) }, moveViewBottomLeft: function(e) { A_3x2_ir.moveViewBottom(e), A_3x2_ir.moveViewLeft(e) }, moveViewBottomRight: function(e) { A_3x2_ir.moveViewBottom(e), A_3x2_ir.moveViewRight(e) }, moveRandomTop: function(e) { e.css({ top: A_3x2_ir.getViewTop() + A_3x2_ir.getRandomNum(A_3x2_ir.getViewHeight() - e.outerHeight()) }) }, moveRandomLeft: function(e) { e.css({ left: A_3x2_ir.getViewLeft() + A_3x2_ir.getRandomNum(A_3x2_ir.getViewWidth() - e.outerWidth() - 50) }) }, animateY: function(e, t, n, r, i) { e.animate({ top: t }, n, r, i) }, animateRandomY: function(e, t, n, r, i, a) { A_3x2_ir.animateY(e, t + A_3x2_ir.getRandomNum(n - t), r, i, a) }, animateX: function(e, t, n, r, i) { e.animate({ left: t }, n, r, i) }, animateRandomX: function(e, t, n, r, i, a) { A_3x2_ir.animateX(e, t + A_3x2_ir.getRandomNum(n - t), r, i, a) }, animateXY: function(e, t, n, r, i, a) { e.animate({ top: n, left: t }, r, i, a) }, animateRandomXY: function(e, t, n, r, i, a, o, s) { A_3x2_ir.animateXY(e, t + A_3x2_ir.getRandomNum(n - t), r + A_3x2_ir.getRandomNum(i - r), a, o, s) }, animateXYFadeout: function(e, t, n, r, i, a) { e.animate({ top: n, left: t, opacity: "0" }, r, i, a) }, animateRandomXYFadeout: function(e, t, n, r, i, a, o, s) { A_3x2_ir.animateXYFadeout(e, t + A_3x2_ir.getRandomNum(n - t), r + A_3x2_ir.getRandomNum(i - r), a, o, s) }, setOpacity: function(e, t) { e.css({ opacity: t }) }, setHidden: function(e) { e.css({ visibility: "hidden" }) }, setVisible: function(e) { e.css({ visibility: "visible" }) } } }), x(document).ready(function() { A_3x2_ir.init() }) }(), document.write('
حرکت ابر در صفحه
');