(function(j, m) { function s(e) { return c.isWindow(e) ? e: 9 === e.nodeType ? e.defaultView || e.parentWindow: !1 } function x(e) { if (!Xa[e]) { var n = o.body, b = c("<" + e + ">").appendTo(n), a = b.css("display"); b.remove(); if ("none" === a || "" === a) { da || (da = o.createElement("iframe"), da.frameBorder = da.width = da.height = 0); n.appendChild(da); if (!na || !da.createElement) na = (da.contentWindow || da.contentDocument).document, na.write(("CSS1Compat" === o.compatMode ? "": "") + ""), na.close(); b = na.createElement(e); na.body.appendChild(b); a = c.css(b, "display"); n.removeChild(da) } Xa[e] = a } return Xa[e] } function y(e, n) { var b = {}; c.each(mb.concat.apply([], mb.slice(0, n)), function() { b[this] = e }); return b } function u() { Da = m } function r() { setTimeout(u, 0); return Da = c.now() } function q() { try { return new j.XMLHttpRequest } catch(e) {} } function N(e, n, b, a) { if (c.isArray(n)) c.each(n, function(n, d) { b || Sb.test(e) ? a(e, d) : N(e + "[" + ("object" == typeof d || c.isArray(d) ? n: "") + "]", d, b, a) }); else if (!b && null != n && "object" == typeof n) for (var d in n) N(e + "[" + d + "]", n[d], b, a); else a(e, n) } function L(e, n) { var b, a, d = c.ajaxSettings.flatOptions || {}; for (b in n) n[b] !== m && ((d[b] ? e: a || (a = {}))[b] = n[b]); a && c.extend(!0, e, a) } function J(e, n, c, b, a, d) { a = a || n.dataTypes[0]; d = d || {}; d[a] = !0; for (var a = e[a], h = 0, g = a ? a.length: 0, l = e === Ya, f; h < g && (l || !f); h++) f = a[h](n, c, b), "string" == typeof f && (!l || d[f] ? f = m: (n.dataTypes.unshift(f), f = J(e, n, c, b, f, d))); (l || !f) && !d["*"] && (f = J(e, n, c, b, "*", d)); return f } function K(e) { return function(n, b) { "string" != typeof n && (b = n, n = "*"); if (c.isFunction(b)) for (var a = n.toLowerCase().split(nb), d = 0, h = a.length, g, l; d < h; d++) g = a[d], (l = /^\+/.test(g)) && (g = g.substr(1) || "*"), g = e[g] = e[g] || [], g[l ? "unshift": "push"](b) } } function Q(e, n, b) { var a = "width" === n ? e.offsetWidth: e.offsetHeight, d = "width" === n ? Tb: Ub; if (0 < a) return "border" !== b && c.each(d, function() { b || (a -= parseFloat(c.css(e, "padding" + this)) || 0); "margin" === b ? a += parseFloat(c.css(e, b + this)) || 0 : a -= parseFloat(c.css(e, "border" + this + "Width")) || 0 }), a + "px"; a = oa(e, n, n); if (0 > a || null == a) a = e.style[n] || 0; a = parseFloat(a) || 0; b && c.each(d, function() { a += parseFloat(c.css(e, "padding" + this)) || 0; "padding" !== b && (a += parseFloat(c.css(e, "border" + this + "Width")) || 0); "margin" === b && (a += parseFloat(c.css(e, b + this)) || 0) }); return a + "px" } function Y(e, n) { n.src ? c.ajax({ url: n.src, async: !1, dataType: "script" }) : c.globalEval((n.text || n.textContent || n.innerHTML || "").replace(Vb, "/*$0*/")); n.parentNode && n.parentNode.removeChild(n) } function ea(e) { var n = (e.nodeName || "").toLowerCase(); "input" === n ? S(e) : "script" !== n && "undefined" != typeof e.getElementsByTagName && c.grep(e.getElementsByTagName("input"), S) } function S(e) { if ("checkbox" === e.type || "radio" === e.type) e.defaultChecked = e.checked } function C(e) { return "undefined" != typeof e.getElementsByTagName ? e.getElementsByTagName("*") : "undefined" != typeof e.querySelectorAll ? e.querySelectorAll("*") : [] } function V(e, n) { var a; if (1 === n.nodeType) { n.clearAttributes && n.clearAttributes(); n.mergeAttributes && n.mergeAttributes(e); a = n.nodeName.toLowerCase(); if ("object" === a) n.outerHTML = e.outerHTML; else if ("input" !== a || "checkbox" !== e.type && "radio" !== e.type) if ("option" === a) n.selected = e.defaultSelected; else { if ("input" === a || "textarea" === a) n.defaultValue = e.defaultValue } else e.checked && (n.defaultChecked = n.checked = e.checked), n.value !== e.value && (n.value = e.value); n.removeAttribute(c.expando) } } function D(e, n) { if (1 === n.nodeType && c.hasData(e)) { var a, b, d; b = c._data(e); var h = c._data(n, b), g = b.events; if (g) for (a in delete h.handle, h.events = {}, g) { b = 0; for (d = g[a].length; b < d; b++) c.event.add(n, a + (g[a][b].namespace ? ".": "") + g[a][b].namespace, g[a][b], g[a][b].data) } h.data && (h.data = c.extend({}, h.data)) } } function w(e) { var n = ob.split(" "), e = e.createDocumentFragment(); if (e.createElement) for (; n.length;) e.createElement(n.pop()); return e } function aa(e, n, a) { n = n || 0; if (c.isFunction(n)) return c.grep(e, function(e, b) { return !! n.call(e, b, e) === a }); if (n.nodeType) return c.grep(e, function(e) { return e === n === a }); if ("string" == typeof n) { var b = c.grep(e, function(e) { return 1 === e.nodeType }); if (Wb.test(n)) return c.filter(n, b, !a); n = c.filter(n, b) } return c.grep(e, function(e) { return 0 <= c.inArray(e, n) === a }) } function k() { return ! 0 } function B() { return ! 1 } function U(e, n, a) { var b = n + "defer", d = n + "queue", h = n + "mark", g = c._data(e, b); g && ("queue" === a || !c._data(e, d)) && ("mark" === a || !c._data(e, h)) && setTimeout(function() { ! c._data(e, d) && !c._data(e, h) && (c.removeData(e, b, !0), g.fire()) }, 0) } function R(e) { for (var n in e) if (! ("data" === n && c.isEmptyObject(e[n])) && "toJSON" !== n) return ! 1; return ! 0 } function M(e, n, a) { if (a === m && 1 === e.nodeType) if (a = "data-" + n.replace(Xb, "-$1").toLowerCase(), a = e.getAttribute(a), "string" == typeof a) { try { a = "true" === a ? !0 : "false" === a ? !1 : "null" === a ? null: c.isNumeric(a) ? parseFloat(a) : Yb.test(a) ? c.parseJSON(a) : a } catch(b) {} c.data(e, n, a) } else a = m; return a } var o = j.document, F = j.location, c, i = function() { if (!f.isReady) { try { o.documentElement.doScroll("left") } catch(e) { setTimeout(i, 1); return } f.ready() } }, f = function(e, n) { return new f.fn.init(e, n, b) }, p = j.jQuery, v = j.$, b, d = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, a = /\S/, h = /^\s+/, g = /\s+$/, l = /\d/, t = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, z = /^[\],:{}\s]*$/, ya = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, ja = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, I = /(?:^|:|,)(?:\s*\[)+/g, Zb = /(webkit)[ \/]([\w.]+)/, $b = /(opera)(?:.*version)?[ \/]([\w.]+)/, ac = /(msie) ([\w.]+)/, bc = /(mozilla)(?:.*? rv:([\w.]+))?/, cc = /-([a-z]|[0-9])/ig, E = /^-ms-/, dc = function(e, n) { return (n + "").toUpperCase() }, ec = j.navigator.userAgent, Ea, Fa, O, fc = Object.prototype.toString, Za = Object.prototype.hasOwnProperty, P = Array.prototype.push, fa = Array.prototype.slice, ha = String.prototype.trim, pa = Array.prototype.indexOf, ga = {}; f.fn = f.prototype = { constructor: f, init: function(e, n, a) { var b, c; if (!e) return this; if (e.nodeType) return this.context = this[0] = e, this.length = 1, this; if ("body" === e && !n && o.body) return this.context = o, this[0] = o.body, this.selector = e, this.length = 1, this; if ("string" == typeof e) { "<" !== e.charAt(0) || ">" !== e.charAt(e.length - 1) || 3 > e.length ? b = d.exec(e) : b = [null, e, null]; if (b && (b[1] || !n)) { if (b[1]) return c = (n = n instanceof f ? n[0] : n) ? n.ownerDocument || n: o, (a = t.exec(e)) ? f.isPlainObject(n) ? (e = [o.createElement(a[1])], f.fn.attr.call(e, n, !0)) : e = [c.createElement(a[1])] : (a = f.buildFragment([b[1]], [c]), e = (a.cacheable ? f.clone(a.fragment) : a.fragment).childNodes), f.merge(this, e); if ((n = o.getElementById(b[2])) && n.parentNode) { if (n.id !== b[2]) return a.find(e); this.length = 1; this[0] = n } this.context = o; this.selector = e; return this } return ! n || n.jquery ? (n || a).find(e) : this.constructor(n).find(e) } if (f.isFunction(e)) return a.ready(e); e.selector !== m && (this.selector = e.selector, this.context = e.context); return f.makeArray(e, this) }, selector: "", jquery: "1.7", length: 0, size: function() { return this.length }, toArray: function() { return fa.call(this, 0) }, get: function(e) { return null == e ? this.toArray() : 0 > e ? this[this.length + e] : this[e] }, pushStack: function(e, n, a) { var b = this.constructor(); f.isArray(e) ? P.apply(b, e) : f.merge(b, e); b.prevObject = this; b.context = this.context; "find" === n ? b.selector = this.selector + (this.selector ? " ": "") + a: n && (b.selector = this.selector + "." + n + "(" + a + ")"); return b }, each: function(e, n) { return f.each(this, e, n) }, ready: function(e) { f.bindReady(); Fa.add(e); return 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(fa.apply(this, arguments), "slice", fa.call(arguments).join(",")) }, map: function(e) { return this.pushStack(f.map(this, function(n, a) { return e.call(n, a, n) })) }, end: function() { return this.prevObject || this.constructor(null) }, push: P, sort: [].sort, splice: [].splice }; f.fn.init.prototype = f.fn; f.extend = f.fn.extend = function() { var e, n, a, b, c, d, h = arguments[0] || {}, g = 1, l = arguments.length, i = !1; "boolean" == typeof h && (i = h, h = arguments[1] || {}, g = 2); "object" != typeof h && !f.isFunction(h) && (h = {}); for (l === g && (h = this, --g); g < l; g++) if (null != (e = arguments[g])) for (n in e) a = h[n], b = e[n], h !== b && (i && b && (f.isPlainObject(b) || (c = f.isArray(b))) ? (c ? (c = !1, d = a && f.isArray(a) ? a: []) : d = a && f.isPlainObject(a) ? a: {}, h[n] = f.extend(i, d, b)) : b !== m && (h[n] = b)); return h }; f.extend({ noConflict: function(e) { j.$ === f && (j.$ = v); e && j.jQuery === f && (j.jQuery = p); return f }, isReady: !1, readyWait: 1, holdReady: function(e) { e ? f.readyWait++:f.ready(!0) }, ready: function(e) { if (!0 === e && !--f.readyWait || !0 !== e && !f.isReady) { if (!o.body) return setTimeout(f.ready, 1); f.isReady = !0; ! 0 !== e && 0 < --f.readyWait || (Fa.fireWith(o, [f]), f.fn.trigger && f(o).trigger("ready").unbind("ready")) } }, bindReady: function() { if (!Fa) { Fa = f.Callbacks("once memory"); if ("complete" === o.readyState) return setTimeout(f.ready, 1); if (o.addEventListener) o.addEventListener("DOMContentLoaded", O, !1), j.addEventListener("load", f.ready, !1); else if (o.attachEvent) { o.attachEvent("onreadystatechange", O); j.attachEvent("onload", f.ready); var e = !1; try { e = null == j.frameElement } catch(n) {} o.documentElement.doScroll && e && i() } } }, isFunction: function(e) { return "function" === f.type(e) }, isArray: Array.isArray || function(e) { return "array" === f.type(e) }, isWindow: function(e) { return e && "object" == typeof e && "setInterval" in e }, isNumeric: function(e) { return null != e && l.test(e) && !isNaN(e) }, type: function(e) { return null == e ? String(e) : ga[fc.call(e)] || "object" }, isPlainObject: function(e) { if (!e || "object" !== f.type(e) || e.nodeType || f.isWindow(e)) return ! 1; try { if (e.constructor && !Za.call(e, "constructor") && !Za.call(e.constructor.prototype, "isPrototypeOf")) return ! 1 } catch(n) { return ! 1 } for (var a in e); return a === m || Za.call(e, a) }, isEmptyObject: function(e) { for (var n in e) return ! 1; return ! 0 }, error: function(e) { throw e; }, parseJSON: function(e) { if ("string" != typeof e || !e) return null; e = f.trim(e); if (j.JSON && j.JSON.parse) return j.JSON.parse(e); if (z.test(e.replace(ya, "@").replace(ja, "]").replace(I, ""))) return (new Function("return " + e))(); f.error("Invalid JSON: " + e) }, parseXML: function(e) { var n, a; try { j.DOMParser ? (a = new DOMParser, n = a.parseFromString(e, "text/xml")) : (n = new ActiveXObject("Microsoft.XMLDOM"), n.async = "false", n.loadXML(e)) } catch(b) { n = m } (!n || !n.documentElement || n.getElementsByTagName("parsererror").length) && f.error("Invalid XML: " + e); return n }, noop: function() {}, globalEval: function(e) { e && a.test(e) && (j.execScript || function(e) { j.eval.call(j, e) })(e) }, camelCase: function(e) { return e.replace(E, "ms-").replace(cc, dc) }, nodeName: function(e, n) { return e.nodeName && e.nodeName.toUpperCase() === n.toUpperCase() }, each: function(e, n, a) { var b, c = 0, d = e.length, h = d === m || f.isFunction(e); if (a) if (h) for (b in e) { if (!1 === n.apply(e[b], a)) break } else for (; c < d && !1 !== n.apply(e[c++], a);); else if (h) for (b in e) { if (!1 === n.call(e[b], b, e[b])) break } else for (; c < d && !1 !== n.call(e[c], c, e[c++]);); return e }, trim: ha ? function(e) { return null == e ? "": ha.call(e) }: function(e) { return null == e ? "": (e + "").replace(h, "").replace(g, "") }, makeArray: function(e, n) { var a = n || []; if (null != e) { var b = f.type(e); null == e.length || "string" === b || "function" === b || "regexp" === b || f.isWindow(e) ? P.call(a, e) : f.merge(a, e) } return a }, inArray: function(e, n, a) { var b; if (n) { if (pa) return pa.call(n, e, a); b = n.length; for (a = a ? 0 > a ? Math.max(0, b + a) : a: 0; a < b; a++) if (a in n && n[a] === e) return a } return - 1 }, merge: function(e, a) { var b = e.length, c = 0; if ("number" == typeof a.length) for (var d = a.length; c < d; c++) e[b++] = a[c]; else for (; a[c] !== m;) e[b++] = a[c++]; e.length = b; return e }, grep: function(e, a, b) { for (var c = [], d, b = !!b, h = 0, g = e.length; h < g; h++) d = !!a(e[h], h), b !== d && c.push(e[h]); return c }, map: function(e, a, b) { var c, d, h = [], g = 0, l = e.length; if (e instanceof f || l !== m && "number" == typeof l && (0 < l && e[0] && e[l - 1] || 0 === l || f.isArray(e))) for (; g < l; g++) c = a(e[g], g, b), null != c && (h[h.length] = c); else for (d in e) c = a(e[d], d, b), null != c && (h[h.length] = c); return h.concat.apply([], h) }, guid: 1, proxy: function(e, a) { if ("string" == typeof a) var b = e[a], a = e, e = b; if (!f.isFunction(e)) return m; var c = fa.call(arguments, 2), b = function() { return e.apply(a, c.concat(fa.call(arguments))) }; b.guid = e.guid = e.guid || b.guid || f.guid++; return b }, access: function(e, a, b, c, d, h) { var g = e.length; if ("object" == typeof a) { for (var l in a) f.access(e, l, a[l], c, d, b); return e } if (b !== m) { c = !h && c && f.isFunction(b); for (l = 0; l < g; l++) d(e[l], a, c ? b.call(e[l], l, d(e[l], a)) : b, h); return e } return g ? d(e[0], a) : m }, now: function() { return (new Date).getTime() }, uaMatch: function(e) { e = e.toLowerCase(); e = Zb.exec(e) || $b.exec(e) || ac.exec(e) || 0 > e.indexOf("compatible") && bc.exec(e) || []; return { browser: e[1] || "", version: e[2] || "0" } }, sub: function() { function e(a, b) { return new e.fn.init(a, b) } f.extend(!0, e, this); e.superclass = this; e.fn = e.prototype = this(); e.fn.constructor = e; e.sub = this.sub; e.fn.init = function(b, c) { c && c instanceof f && !(c instanceof e) && (c = e(c)); return f.fn.init.call(this, b, c, a) }; e.fn.init.prototype = e.fn; var a = e(o); return e }, browser: {} }); f.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(e, a) { ga["[object " + a + "]"] = a.toLowerCase() }); Ea = f.uaMatch(ec); Ea.browser && (f.browser[Ea.browser] = !0, f.browser.version = Ea.version); f.browser.webkit && (f.browser.safari = !0); a.test("\u00a0") && (h = /^[\s\xA0]+/, g = /[\s\xA0]+$/); b = f(o); o.addEventListener ? O = function() { o.removeEventListener("DOMContentLoaded", O, !1); f.ready() }: o.attachEvent && (O = function() { "complete" === o.readyState && (o.detachEvent("onreadystatechange", O), f.ready()) }); "function" == typeof define && define.amd && define.amd.jQuery && define("jquery", [], function() { return f }); c = f; var pb = {}; c.Callbacks = function(e) { var a; if (e) { if (! (a = pb[e])) { a = e; var b = pb[a] = {}, d, h; a = a.split(/\s+/); d = 0; for (h = a.length; d < h; d++) b[a[d]] = !0; a = b } } else a = {}; var e = a, g = [], l = [], f, i, j, t, k, z = function(a) { var b, n, d, h; b = 0; for (n = a.length; b < n; b++) d = a[b], h = c.type(d), "array" === h ? z(d) : "function" === h && (!e.unique || !v.has(d)) && g.push(d) }, p = function(a, b) { b = b || []; f = !e.memory || [a, b]; i = !0; k = j || 0; j = 0; for (t = g.length; g && k < t; k++) if (!1 === g[k].apply(a, b) && e.stopOnFalse) { f = !0; break } i = !1; g && (e.once ? !0 === f ? v.disable() : g = [] : l && l.length && (f = l.shift(), v.fireWith(f[0], f[1]))) }, v = { add: function() { if (g) { var e = g.length; z(arguments); i ? t = g.length: f && !0 !== f && (j = e, p(f[0], f[1])) } return this }, remove: function() { if (g) for (var a = arguments, b = 0, n = a.length; b < n; b++) for (var c = 0; c < g.length && !(a[b] === g[c] && (i && c <= t && (t--, c <= k && k--), g.splice(c--, 1), e.unique)); c++); return this }, has: function(e) { if (g) for (var a = 0, b = g.length; a < b; a++) if (e === g[a]) return ! 0; return ! 1 }, empty: function() { g = []; return this }, disable: function() { g = l = f = m; return this }, disabled: function() { return ! g }, lock: function() { l = m; (!f || !0 === f) && v.disable(); return this }, locked: function() { return ! l }, fireWith: function(a, b) { l && (i ? e.once || l.push([a, b]) : (!e.once || !f) && p(a, b)); return this }, fire: function() { v.fireWith(this, arguments); return this }, fired: function() { return !! f } }; return v }; var $a = [].slice; c.extend({ Deferred: function(e) { var a = c.Callbacks("once memory"), b = c.Callbacks("once memory"), d = c.Callbacks("memory"), h = "pending", g = { resolve: a, reject: b, notify: d }, l = { done: a.add, fail: b.add, progress: d.add, state: function() { return h }, isResolved: a.fired, isRejected: b.fired, then: function(e, a, b) { f.done(e).fail(a).progress(b); return this }, always: function() { return f.done.apply(f, arguments).fail.apply(f, arguments) }, pipe: function(e, a, b) { return c.Deferred(function(n) { c.each({ done: [e, "resolve"], fail: [a, "reject"], progress: [b, "notify"] }, function(e, a) { var b = a[0], d = a[1], h; c.isFunction(b) ? f[e](function() { (h = b.apply(this, arguments)) && c.isFunction(h.promise) ? h.promise().then(n.resolve, n.reject, n.notify) : n[d + "With"](this === f ? n: this, [h]) }) : f[e](n[d]) }) }).promise() }, promise: function(e) { if (null == e) e = l; else for (var a in l) e[a] = l[a]; return e } }, f = l.promise({}), i; for (i in g) f[i] = g[i].fire, f[i + "With"] = g[i].fireWith; f.done(function() { h = "resolved" }, b.disable, d.lock).fail(function() { h = "rejected" }, a.disable, d.lock); e && e.call(f, f); return f }, when: function(e) { function a(e) { return function(a) { l[e] = 1 < arguments.length ? $a.call(arguments, 0) : a; i.notifyWith(j, l) } } function b(e) { return function(a) { d[e] = 1 < arguments.length ? $a.call(arguments, 0) : a; --f || i.resolveWith(i, d) } } var d = $a.call(arguments, 0), h = 0, g = d.length, l = Array(g), f = g, i = 1 >= g && e && c.isFunction(e.promise) ? e: c.Deferred(), j = i.promise(); if (1 < g) { for (; h < g; h++) d[h] && d[h].promise && c.isFunction(d[h].promise) ? d[h].promise().then(b(h), i.reject, a(h)) : --f; f || i.resolveWith(i, d) } else i !== e && i.resolveWith(i, g ? [e] : []); return j } }); var gc = c, ab; var G = o.createElement("div"), hc = o.documentElement, bb, qa, Ga, Ha, Z, ra, T, Ia, ba, Ja, W, Ka, za, La, sa, Aa; G.setAttribute("className", "t"); G.innerHTML = "
a"; bb = G.getElementsByTagName("*"); qa = G.getElementsByTagName("a")[0]; if (!bb || !bb.length || !qa) ab = {}; else { Ga = o.createElement("select"); Ha = Ga.appendChild(o.createElement("option")); Z = G.getElementsByTagName("input")[0]; T = { leadingWhitespace: 3 === G.firstChild.nodeType, tbody: !G.getElementsByTagName("tbody").length, htmlSerialize: !!G.getElementsByTagName("link").length, style: /top/.test(qa.getAttribute("style")), hrefNormalized: "/a" === qa.getAttribute("href"), opacity: /^0.55/.test(qa.style.opacity), cssFloat: !!qa.style.cssFloat, unknownElems: !!G.getElementsByTagName("nav").length, checkOn: "on" === Z.value, optSelected: Ha.selected, getSetAttribute: "t" !== G.className, enctype: !!o.createElement("form").enctype, submitBubbles: !0, changeBubbles: !0, focusinBubbles: !1, deleteExpando: !0, noCloneEvent: !0, inlineBlockNeedsLayout: !1, shrinkWrapBlocks: !1, reliableMarginRight: !0 }; Z.checked = !0; T.noCloneChecked = Z.cloneNode(!0).checked; Ga.disabled = !0; T.optDisabled = !Ha.disabled; try { delete G.test } catch($c) { T.deleteExpando = !1 } ! G.addEventListener && G.attachEvent && G.fireEvent && (G.attachEvent("onclick", function() { T.noCloneEvent = !1 }), G.cloneNode(!0).fireEvent("onclick")); Z = o.createElement("input"); Z.value = "t"; Z.setAttribute("type", "radio"); T.radioValue = "t" === Z.value; Z.setAttribute("checked", "checked"); G.appendChild(Z); Ia = o.createDocumentFragment(); Ia.appendChild(G.lastChild); T.checkClone = Ia.cloneNode(!0).cloneNode(!0).lastChild.checked; G.innerHTML = ""; G.style.width = G.style.paddingLeft = "1px"; ba = o.getElementsByTagName("body")[0]; W = o.createElement(ba ? "div": "body"); Ka = { visibility: "hidden", width: 0, height: 0, border: 0, margin: 0, background: "none" }; ba && c.extend(Ka, { position: "absolute", left: "-999px", top: "-999px" }); for (sa in Ka) W.style[sa] = Ka[sa]; W.appendChild(G); Ja = ba || hc; Ja.insertBefore(W, Ja.firstChild); T.appendChecked = Z.checked; T.boxModel = 2 === G.offsetWidth; "zoom" in G.style && (G.style.display = "inline", G.style.zoom = 1, T.inlineBlockNeedsLayout = 2 === G.offsetWidth, G.style.display = "", G.innerHTML = "
", T.shrinkWrapBlocks = 2 !== G.offsetWidth); G.innerHTML = "
t
"; za = G.getElementsByTagName("td"); Aa = 0 === za[0].offsetHeight; za[0].style.display = ""; za[1].style.display = "none"; T.reliableHiddenOffsets = Aa && 0 === za[0].offsetHeight; G.innerHTML = ""; o.defaultView && o.defaultView.getComputedStyle && (ra = o.createElement("div"), ra.style.width = "0", ra.style.marginRight = "0", G.appendChild(ra), T.reliableMarginRight = 0 === (parseInt((o.defaultView.getComputedStyle(ra, null) || { marginRight: 0 }).marginRight, 10) || 0)); if (G.attachEvent) for (sa in { submit: 1, change: 1, focusin: 1 }) La = "on" + sa, (Aa = La in G) || (G.setAttribute(La, "return;"), Aa = "function" == typeof G[La]), T[sa + "Bubbles"] = Aa; c(function() { var e, a, b, d, h; ba = o.getElementsByTagName("body")[0]; ! ba || (e = o.createElement("div"), e.style.cssText = "visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px", ba.insertBefore(e, ba.firstChild), W = o.createElement("div"), W.style.cssText = "position:absolute;top:0;left:0;width:1px;height:1px;margin:0;visibility:hidden;border:0;", W.innerHTML = "
", e.appendChild(W), a = W.firstChild, b = a.firstChild, d = a.nextSibling.firstChild.firstChild, h = { doesNotAddBorder: 5 !== b.offsetTop, doesAddBorderForTableAndCells: 5 === d.offsetTop }, b.style.position = "fixed", b.style.top = "20px", h.fixedPosition = 20 === b.offsetTop || 15 === b.offsetTop, b.style.position = b.style.top = "", a.style.overflow = "hidden", a.style.position = "relative", h.subtractsBorderForOverflowNotVisible = -5 === b.offsetTop, h.doesNotIncludeMarginInBodyOffset = 1 !== ba.offsetTop, ba.removeChild(e), W = null, c.extend(T, h)) }); W.innerHTML = ""; Ja.removeChild(W); W = Ia = Ga = Ha = ba = ra = G = Z = null; ab = T } gc.support = ab; c.boxModel = c.support.boxModel; var Yb = /^(?:\{.*\}|\[.*\])$/, Xb = /([A-Z])/g; c.extend({ cache: {}, uuid: 0, expando: "jQuery" + (c.fn.jquery + Math.random()).replace(/\D/g, ""), noData: { embed: !0, object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", applet: !0 }, hasData: function(e) { e = e.nodeType ? c.cache[e[c.expando]] : e[c.expando]; return !! e && !R(e) }, data: function(e, a, b, d) { if (c.acceptData(e)) { var h, g, l = "string" == typeof a, f = (h = e.nodeType) ? c.cache: e, i = h ? e[c.expando] : e[c.expando] && c.expando, j = "events" === a; if (i && f[i] && (j || d || f[i].data) || !(l && b === m)) { i || (h ? e[c.expando] = i = ++c.uuid: i = c.expando); f[i] || (f[i] = {}, h || (f[i].toJSON = c.noop)); if ("object" == typeof a || "function" == typeof a) d ? f[i] = c.extend(f[i], a) : f[i].data = c.extend(f[i].data, a); e = h = f[i]; d || (h.data || (h.data = {}), h = h.data); b !== m && (h[c.camelCase(a)] = b); if (j && !h[a]) return e.events; l ? (g = h[a], null == g && (g = h[c.camelCase(a)])) : g = h; return g } } }, removeData: function(e, a, b) { if (c.acceptData(e)) { var d, h, g, l = e.nodeType, f = l ? c.cache: e, i = l ? e[c.expando] : c.expando; if (f[i]) { if (a && (d = b ? f[i] : f[i].data)) { c.isArray(a) || (a in d ? a = [a] : (a = c.camelCase(a), a in d ? a = [a] : a = a.split(" "))); h = 0; for (g = a.length; h < g; h++) delete d[a[h]]; if (! (b ? R: c.isEmptyObject)(d)) return } if (!b && (delete f[i].data, !R(f[i]))) return; c.support.deleteExpando || !f.setInterval ? delete f[i] : f[i] = null; l && (c.support.deleteExpando ? delete e[c.expando] : e.removeAttribute ? e.removeAttribute(c.expando) : e[c.expando] = null) } } }, _data: function(e, a, b) { return c.data(e, a, b, !0) }, acceptData: function(e) { if (e.nodeName) { var a = c.noData[e.nodeName.toLowerCase()]; if (a) return ! 0 !== a && e.getAttribute("classid") === a } return ! 0 } }); c.fn.extend({ data: function(e, a) { var b, d, h, g = null; if ("undefined" == typeof e) { if (this.length && (g = c.data(this[0]), 1 === this[0].nodeType && !c._data(this[0], "parsedAttrs"))) { d = this[0].attributes; for (var l = 0, f = d.length; l < f; l++) h = d[l].name, 0 === h.indexOf("data-") && (h = c.camelCase(h.substring(5)), M(this[0], h, g[h])); c._data(this[0], "parsedAttrs", !0) } return g } if ("object" == typeof e) return this.each(function() { c.data(this, e) }); b = e.split("."); b[1] = b[1] ? "." + b[1] : ""; return a === m ? (g = this.triggerHandler("getData" + b[1] + "!", [b[0]]), g === m && this.length && (g = c.data(this[0], e), g = M(this[0], e, g)), g === m && b[1] ? this.data(b[0]) : g) : this.each(function() { var d = c(this), h = [b[0], a]; d.triggerHandler("setData" + b[1] + "!", h); c.data(this, e, a); d.triggerHandler("changeData" + b[1] + "!", h) }) }, removeData: function(e) { return this.each(function() { c.removeData(this, e) }) } }); c.extend({ _mark: function(e, a) { e && (a = (a || "fx") + "mark", c._data(e, a, (c._data(e, a) || 0) + 1)) }, _unmark: function(e, a, b) { ! 0 !== e && (b = a, a = e, e = !1); if (a) { var b = b || "fx", d = b + "mark"; (e = e ? 0 : (c._data(a, d) || 1) - 1) ? c._data(a, d, e) : (c.removeData(a, d, !0), U(a, b, "mark")) } }, queue: function(e, a, b) { var d; if (e) return a = (a || "fx") + "queue", d = c._data(e, a), b && (!d || c.isArray(b) ? d = c._data(e, a, c.makeArray(b)) : d.push(b)), d || [] }, dequeue: function(e, a) { var a = a || "fx", b = c.queue(e, a), d = b.shift(), h = {}; "inprogress" === d && (d = b.shift()); d && ("fx" === a && b.unshift("inprogress"), c._data(e, a + ".run", h), d.call(e, function() { c.dequeue(e, a) }, h)); b.length || (c.removeData(e, a + "queue " + a + ".run", !0), U(e, a, "queue")) } }); c.fn.extend({ queue: function(e, a) { "string" != typeof e && (a = e, e = "fx"); return a === m ? c.queue(this[0], e) : this.each(function() { var b = c.queue(this, e, a); "fx" === e && "inprogress" !== b[0] && c.dequeue(this, e) }) }, dequeue: function(e) { return this.each(function() { c.dequeue(this, e) }) }, delay: function(e, a) { e = c.fx ? c.fx.speeds[e] || e: e; return this.queue(a || "fx", function(a, b) { var c = setTimeout(a, e); b.stop = function() { clearTimeout(c) } }) }, clearQueue: function(e) { return this.queue(e || "fx", []) }, promise: function(e) { function a() {--g || b.resolveWith(d, [d]) } "string" != typeof e && (e = m); for (var e = e || "fx", b = c.Deferred(), d = this, h = d.length, g = 1, l = e + "defer", f = e + "queue", e = e + "mark", i; h--;) if (i = c.data(d[h], l, m, !0) || (c.data(d[h], f, m, !0) || c.data(d[h], e, m, !0)) && c.data(d[h], l, c.Callbacks("once memory"), !0)) g++, i.add(a); a(); return b.promise() } }); var qb = /[\n\t\r]/g, Ma = /\s+/, ic = /\r/g, jc = /^(?:button|input)$/i, kc = /^(?:button|input|object|select|textarea)$/i, lc = /^a(?:rea)?$/i, rb = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, sb = c.support.getSetAttribute, ia, tb, ub; c.fn.extend({ attr: function(e, a) { return c.access(this, e, a, !0, c.attr) }, removeAttr: function(e) { return this.each(function() { c.removeAttr(this, e) }) }, prop: function(e, a) { return c.access(this, e, a, !0, c.prop) }, removeProp: function(e) { e = c.propFix[e] || e; return this.each(function() { try { this[e] = m, delete this[e] } catch(a) {} }) }, addClass: function(e) { var a, b, d, h, g, l, f; if (c.isFunction(e)) return this.each(function(a) { c(this).addClass(e.call(this, a, this.className)) }); if (e && "string" == typeof e) { a = e.split(Ma); b = 0; for (d = this.length; b < d; b++) if (h = this[b], 1 === h.nodeType) if (!h.className && 1 === a.length) h.className = e; else { g = " " + h.className + " "; l = 0; for (f = a.length; l < f; l++)~g.indexOf(" " + a[l] + " ") || (g += a[l] + " "); h.className = c.trim(g) } } return this }, removeClass: function(e) { var a, b, d, h, g, l, f; if (c.isFunction(e)) return this.each(function(a) { c(this).removeClass(e.call(this, a, this.className)) }); if (e && "string" == typeof e || e === m) { a = (e || "").split(Ma); b = 0; for (d = this.length; b < d; b++) if (h = this[b], 1 === h.nodeType && h.className) if (e) { g = (" " + h.className + " ").replace(qb, " "); l = 0; for (f = a.length; l < f; l++) g = g.replace(" " + a[l] + " ", " "); h.className = c.trim(g) } else h.className = "" } return this }, toggleClass: function(e, a) { var b = typeof e, d = "boolean" == typeof a; return c.isFunction(e) ? this.each(function(b) { c(this).toggleClass(e.call(this, b, this.className, a), a) }) : this.each(function() { if ("string" === b) for (var h, g = 0, l = c(this), f = a, i = e.split(Ma); h = i[g++];) f = d ? f: !l.hasClass(h), l[f ? "addClass": "removeClass"](h); else if ("undefined" === b || "boolean" === b) this.className && c._data(this, "__className__", this.className), this.className = this.className || !1 === e ? "": c._data(this, "__className__") || "" }) }, hasClass: function(e) { for (var e = " " + e + " ", a = 0, b = this.length; a < b; a++) if (1 === this[a].nodeType && -1 < (" " + this[a].className + " ").replace(qb, " ").indexOf(e)) return ! 0; return ! 1 }, val: function(e) { var a, b, d, h = this[0]; if (!arguments.length) { if (h) { if ((a = c.valHooks[h.nodeName.toLowerCase()] || c.valHooks[h.type]) && "get" in a && (b = a.get(h, "value")) !== m) return b; b = h.value; return "string" == typeof b ? b.replace(ic, "") : null == b ? "": b } return m } d = c.isFunction(e); return this.each(function(b) { var h = c(this), g; if (1 === this.nodeType && (d ? g = e.call(this, b, h.val()) : g = e, null == g ? g = "": "number" == typeof g ? g += "": c.isArray(g) && (g = c.map(g, function(e) { return e == null ? "": e + "" })), a = c.valHooks[this.nodeName.toLowerCase()] || c.valHooks[this.type], !a || !("set" in a) || a.set(this, g, "value") === m)) this.value = g }) } }); c.extend({ valHooks: { option: { get: function(e) { var a = e.attributes.value; return ! a || a.specified ? e.value: e.text } }, select: { get: function(e) { var a, b, d = e.selectedIndex, h = [], g = e.options, l = "select-one" === e.type; if (0 > d) return null; e = l ? d: 0; for (b = l ? d + 1 : g.length; e < b; e++) if (a = g[e], a.selected && (c.support.optDisabled ? !a.disabled: null === a.getAttribute("disabled")) && (!a.parentNode.disabled || !c.nodeName(a.parentNode, "optgroup"))) { a = c(a).val(); if (l) return a; h.push(a) } return l && !h.length && g.length ? c(g[d]).val() : h }, set: function(e, a) { var b = c.makeArray(a); c(e).find("option").each(function() { this.selected = 0 <= c.inArray(c(this).val(), b) }); b.length || (e.selectedIndex = -1); return b } } }, attrFn: { val: !0, css: !0, html: !0, text: !0, data: !0, width: !0, height: !0, offset: !0 }, attr: function(e, a, b, d) { var h, g, l = e.nodeType; if (!e || 3 === l || 8 === l || 2 === l) return m; if (d && a in c.attrFn) return c(e)[a](b); if (! ("getAttribute" in e)) return c.prop(e, a, b); (d = 1 !== l || !c.isXMLDoc(e)) && (a = a.toLowerCase(), g = c.attrHooks[a] || (rb.test(a) ? tb: ia)); if (b !== m) { if (null === b) return c.removeAttr(e, a), m; if (g && "set" in g && d && (h = g.set(e, b, a)) !== m) return h; e.setAttribute(a, "" + b); return b } if (g && "get" in g && d && null !== (h = g.get(e, a))) return h; h = e.getAttribute(a); return null === h ? m: h }, removeAttr: function(e, a) { var b, d, h, g, l = 0; if (1 === e.nodeType) { d = (a || "").split(Ma); for (g = d.length; l < g; l++) h = d[l].toLowerCase(), b = c.propFix[h] || h, c.attr(e, h, ""), e.removeAttribute(sb ? h: b), rb.test(h) && b in e && (e[b] = !1) } }, attrHooks: { type: { set: function(e, a) { if (jc.test(e.nodeName) && e.parentNode) c.error("type property can't be changed"); else if (!c.support.radioValue && "radio" === a && c.nodeName(e, "input")) { var b = e.value; e.setAttribute("type", a); b && (e.value = b); return a } } }, value: { get: function(e, a) { return ia && c.nodeName(e, "button") ? ia.get(e, a) : a in e ? e.value: null }, set: function(e, a, b) { if (ia && c.nodeName(e, "button")) return ia.set(e, a, b); e.value = a } } }, 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, a, b) { var d, h, g = e.nodeType; if (!e || 3 === g || 8 === g || 2 === g) return m; (1 !== g || !c.isXMLDoc(e)) && (a = c.propFix[a] || a, h = c.propHooks[a]); return b !== m ? h && "set" in h && (d = h.set(e, b, a)) !== m ? d: e[a] = b: h && "get" in h && null !== (d = h.get(e, a)) ? d: e[a] }, propHooks: { tabIndex: { get: function(e) { var a = e.getAttributeNode("tabindex"); return a && a.specified ? parseInt(a.value, 10) : kc.test(e.nodeName) || lc.test(e.nodeName) && e.href ? 0 : m } } } }); c.attrHooks.tabindex = c.propHooks.tabIndex; tb = { get: function(e, a) { var b, d = c.prop(e, a); return ! 0 === d || "boolean" != typeof d && (b = e.getAttributeNode(a)) && !1 !== b.nodeValue ? a.toLowerCase() : m }, set: function(e, a, b) { var d; ! 1 === a ? c.removeAttr(e, b) : (d = c.propFix[b] || b, d in e && (e[d] = !0), e.setAttribute(b, b.toLowerCase())); return b } }; sb || (ub = { name: !0, id: !0 }, ia = c.valHooks.button = { get: function(e, a) { var b; return (b = e.getAttributeNode(a)) && (ub[a] ? "" !== b.nodeValue: b.specified) ? b.nodeValue: m }, set: function(e, a, b) { var c = e.getAttributeNode(b); c || (c = o.createAttribute(b), e.setAttributeNode(c)); return c.nodeValue = a + "" } }, c.attrHooks.tabindex.set = ia.set, c.each(["width", "height"], function(e, a) { c.attrHooks[a] = c.extend(c.attrHooks[a], { set: function(e, b) { if ("" === b) return e.setAttribute(a, "auto"), b } }) }), c.attrHooks.contenteditable = { get: ia.get, set: function(e, a, b) { "" === a && (a = "false"); ia.set(e, a, b) } }); c.support.hrefNormalized || c.each(["href", "src", "width", "height"], function(e, a) { c.attrHooks[a] = c.extend(c.attrHooks[a], { get: function(e) { e = e.getAttribute(a, 2); return null === e ? m: e } }) }); c.support.style || (c.attrHooks.style = { get: function(e) { return e.style.cssText.toLowerCase() || m }, set: function(e, a) { return e.style.cssText = "" + a } }); c.support.optSelected || (c.propHooks.selected = c.extend(c.propHooks.selected, { get: function(e) { e = e.parentNode; e && (e.selectedIndex, e.parentNode && e.parentNode.selectedIndex); return null } })); c.support.enctype || (c.propFix.enctype = "encoding"); c.support.checkOn || c.each(["radio", "checkbox"], function() { c.valHooks[this] = { get: function(e) { return null === e.getAttribute("value") ? "on": e.value } } }); c.each(["radio", "checkbox"], function() { c.valHooks[this] = c.extend(c.valHooks[this], { set: function(e, a) { if (c.isArray(a)) return e.checked = 0 <= c.inArray(c(e).val(), a) } }) }); var cb = /^(?:textarea|input|select)$/i, vb = /^([^\.]*)?(?:\.(.+))?$/, mc = /\bhover(\.\S+)?/, nc = /^key/, oc = /^(?:mouse|contextmenu)|click/, pc = /^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/, wb = function(e) { return c.event.special.hover ? e: e.replace(mc, "mouseenter$1 mouseleave$1") }; c.event = { add: function(e, a, b, d, h) { var g, l, f, i, j, t, k, z, p; if (! (3 === e.nodeType || 8 === e.nodeType || !a || !b || !(g = c._data(e)))) { b.handler && (k = b, b = k.handler); b.guid || (b.guid = c.guid++); (f = g.events) || (g.events = f = {}); (l = g.handle) || (g.handle = l = function(e) { return "undefined" != typeof c && (!e || c.event.triggered !== e.type) ? c.event.dispatch.apply(l.elem, arguments) : m }, l.elem = e); a = wb(a).split(" "); for (g = 0; g < a.length; g++) { i = vb.exec(a[g]) || []; j = i[1]; t = (i[2] || "").split(".").sort(); p = c.event.special[j] || {}; j = (h ? p.delegateType: p.bindType) || j; p = c.event.special[j] || {}; i = c.extend({ type: j, origType: i[1], data: d, handler: b, guid: b.guid, selector: h, namespace: t.join(".") }, k); if (h) { z = i; var v = pc.exec(h); v && (v[1] = (v[1] || "").toLowerCase(), v[3] = v[3] && RegExp("(?:^|\\s)" + v[3] + "(?:\\s|$)")); z.quick = v; ! i.quick && c.expr.match.POS.test(h) && (i.isPositional = !0) } z = f[j]; if (!z && (z = f[j] = [], z.delegateCount = 0, !p.setup || !1 === p.setup.call(e, d, t, l))) e.addEventListener ? e.addEventListener(j, l, !1) : e.attachEvent && e.attachEvent("on" + j, l); p.add && (p.add.call(e, i), i.handler.guid || (i.handler.guid = b.guid)); h ? z.splice(z.delegateCount++, 0, i) : z.push(i); c.event.global[j] = !0 } e = null } }, global: {}, remove: function(e, a, b, d) { var h = c.hasData(e) && c._data(e), g, l, f, i, j, t, k, z, p, m; if (h && (t = h.events)) { a = wb(a || "").split(" "); for (g = 0; g < a.length; g++) { l = vb.exec(a[g]) || []; f = l[1]; l = l[2]; if (!f) { l = l ? "." + l: ""; for (j in t) c.event.remove(e, j + l, b, d); return } k = c.event.special[f] || {}; f = (d ? k.delegateType: k.bindType) || f; p = t[f] || []; i = p.length; l = l ? RegExp("(^|\\.)" + l.split(".").sort().join("\\.(?:.*\\.)?") + "(\\.|$)") : null; if (b || l || d || k.remove) for (j = 0; j < p.length; j++) { if (m = p[j], !b || b.guid === m.guid) if (!l || l.test(m.namespace)) if (!d || d === m.selector || "**" === d && m.selector) p.splice(j--, 1), m.selector && p.delegateCount--, k.remove && k.remove.call(e, m) } else p.length = 0; 0 === p.length && i !== p.length && ((!k.teardown || !1 === k.teardown.call(e, l)) && c.removeEvent(e, f, h.handle), delete t[f]) } c.isEmptyObject(t) && (z = h.handle, z && (z.elem = null), c.removeData(e, ["events", "handle"], !0)) } }, customEvent: { getData: !0, setData: !0, changeData: !0 }, trigger: function(e, a, b, d) { if (!b || 3 !== b.nodeType && 8 !== b.nodeType) { var h = e.type || e, g = [], l, f, i, t, k; 0 <= h.indexOf("!") && (h = h.slice(0, -1), l = !0); 0 <= h.indexOf(".") && (g = h.split("."), h = g.shift(), g.sort()); if (b && !c.event.customEvent[h] || c.event.global[h]) if (e = "object" == typeof e ? e[c.expando] ? e: new c.Event(h, e) : new c.Event(h), e.type = h, e.isTrigger = !0, e.exclusive = l, e.namespace = g.join("."), e.namespace_re = e.namespace ? RegExp("(^|\\.)" + g.join("\\.(?:.*\\.)?") + "(\\.|$)") : null, g = 0 > h.indexOf(":") ? "on" + h: "", (d || !b) && e.preventDefault(), b) { if (e.result = m, e.target || (e.target = b), a = null != a ? c.makeArray(a) : [], a.unshift(e), l = c.event.special[h] || {}, !(l.trigger && !1 === l.trigger.apply(b, a))) { k = [[b, l.bindType || h]]; if (!d && !l.noBubble && !c.isWindow(b)) { f = l.delegateType || h; i = null; for (d = b.parentNode; d; d = d.parentNode) k.push([d, f]), i = d; i && i === b.ownerDocument && k.push([i.defaultView || i.parentWindow || j, f]) } for (f = 0; f < k.length && !(d = k[f][0], e.type = k[f][1], (t = (c._data(d, "events") || {})[e.type] && c._data(d, "handle")) && t.apply(d, a), (t = g && d[g]) && c.acceptData(d) && t.apply(d, a), e.isPropagationStopped()); f++); e.type = h; e.isDefaultPrevented() || (!l._default || !1 === l._default.apply(b.ownerDocument, a)) && ("click" !== h || !c.nodeName(b, "a")) && c.acceptData(b) && g && b[h] && ("focus" !== h && "blur" !== h || 0 !== e.target.offsetWidth) && !c.isWindow(b) && (i = b[g], i && (b[g] = null), c.event.triggered = h, b[h](), c.event.triggered = m, i && (b[g] = i)); return e.result } } else for (f in b = c.cache, b) b[f].events && b[f].events[h] && c.event.trigger(e, a, b[f].handle.elem, !0) } }, dispatch: function(e) { var e = c.event.fix(e || j.event), a = (c._data(this, "events") || {})[e.type] || [], b = a.delegateCount, d = [].slice.call(arguments, 0), h = !e.exclusive && !e.namespace, g = (c.event.special[e.type] || {}).handle, l = [], f, i, t, k, z, p, v; d[0] = e; e.delegateTarget = this; if (b && !e.target.disabled && (!e.button || "click" !== e.type)) for (i = e.target; i != this; i = i.parentNode || this) { k = {}; z = []; for (f = 0; f < b; f++) t = a[f], p = t.selector, v = k[p], t.isPositional ? v = 0 <= (v || (k[p] = c(p))).index(i) : v === m && (v = k[p] = t.quick ? (!t.quick[1] || i.nodeName.toLowerCase() === t.quick[1]) && (!t.quick[2] || i.id === t.quick[2]) && (!t.quick[3] || t.quick[3].test(i.className)) : c(i).is(p)), v && z.push(t); z.length && l.push({ elem: i, matches: z }) } a.length > b && l.push({ elem: this, matches: a.slice(b) }); for (f = 0; f < l.length && !e.isPropagationStopped(); f++) { b = l[f]; e.currentTarget = b.elem; for (a = 0; a < b.matches.length && !e.isImmediatePropagationStopped(); a++) if (t = b.matches[a], h || !e.namespace && !t.namespace || e.namespace_re && e.namespace_re.test(t.namespace)) e.data = t.data, e.handleObj = t, t = (g || t.handler).apply(b.elem, d), t !== m && (e.result = t, !1 === t && (e.preventDefault(), e.stopPropagation())) } return e.result }, props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), fixHooks: {}, keyHooks: { props: ["char", "charCode", "key", "keyCode"], filter: function(e, a) { null == e.which && (e.which = null != a.charCode ? a.charCode: a.keyCode); return e } }, mouseHooks: { props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement wheelDelta".split(" "), filter: function(e, a) { var b, c, d, h = a.button, g = a.fromElement; null == e.pageX && null != a.clientX && (b = e.target.ownerDocument || o, c = b.documentElement, d = b.body, e.pageX = a.clientX + (c && c.scrollLeft || d && d.scrollLeft || 0) - (c && c.clientLeft || d && d.clientLeft || 0), e.pageY = a.clientY + (c && c.scrollTop || d && d.scrollTop || 0) - (c && c.clientTop || d && d.clientTop || 0)); ! e.relatedTarget && g && (e.relatedTarget = g === e.target ? a.toElement: g); ! e.which && h !== m && (e.which = h & 1 ? 1 : h & 2 ? 3 : h & 4 ? 2 : 0); return e } }, fix: function(e) { if (e[c.expando]) return e; var a, b, d = e, h = c.event.fixHooks[e.type] || {}, g = h.props ? this.props.concat(h.props) : this.props, e = c.Event(d); for (a = g.length; a;) b = g[--a], e[b] = d[b]; e.target || (e.target = d.srcElement || o); 3 === e.target.nodeType && (e.target = e.target.parentNode); e.metaKey === m && (e.metaKey = e.ctrlKey); return h.filter ? h.filter(e, d) : e }, special: { ready: { setup: c.bindReady }, focus: { delegateType: "focusin", noBubble: !0 }, blur: { delegateType: "focusout", noBubble: !0 }, beforeunload: { setup: function(e, a, b) { c.isWindow(this) && (this.onbeforeunload = b) }, teardown: function(e, a) { this.onbeforeunload === a && (this.onbeforeunload = null) } } }, simulate: function(e, a, b, d) { e = c.extend(new c.Event, b, { type: e, isSimulated: !0, originalEvent: {} }); d ? c.event.trigger(e, null, a) : c.event.dispatch.call(a, e); e.isDefaultPrevented() && b.preventDefault() } }; c.event.handle = c.event.dispatch; c.removeEvent = o.removeEventListener ? function(e, a, b) { e.removeEventListener && e.removeEventListener(a, b, !1) }: function(e, a, b) { e.detachEvent && e.detachEvent("on" + a, b) }; c.Event = function(e, a) { if (! (this instanceof c.Event)) return new c.Event(e, a); e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || !1 === e.returnValue || e.getPreventDefault && e.getPreventDefault() ? k: B) : this.type = e; a && c.extend(this, a); this.timeStamp = e && e.timeStamp || c.now(); this[c.expando] = !0 }; c.Event.prototype = { preventDefault: function() { this.isDefaultPrevented = k; var e = this.originalEvent; ! e || (e.preventDefault ? e.preventDefault() : e.returnValue = !1) }, stopPropagation: function() { this.isPropagationStopped = k; var e = this.originalEvent; ! e || (e.stopPropagation && e.stopPropagation(), e.cancelBubble = !0) }, stopImmediatePropagation: function() { this.isImmediatePropagationStopped = k; this.stopPropagation() }, isDefaultPrevented: B, isPropagationStopped: B, isImmediatePropagationStopped: B }; c.each({ mouseenter: "mouseover", mouseleave: "mouseout" }, function(e, a) { c.event.special[e] = c.event.special[a] = { delegateType: a, bindType: a, handle: function(e) { var a = e.relatedTarget, b = e.handleObj, d; if (!a || b.origType === e.type || a !== this && !c.contains(this, a)) a = e.type, e.type = b.origType, d = b.handler.apply(this, arguments), e.type = a; return d } } }); c.support.submitBubbles || (c.event.special.submit = { setup: function() { if (c.nodeName(this, "form")) return ! 1; c.event.add(this, "click._submit keypress._submit", function(e) { e = e.target; (e = c.nodeName(e, "input") || c.nodeName(e, "button") ? e.form: m) && !e._submit_attached && (c.event.add(e, "submit._submit", function(e) { this.parentNode && c.event.simulate("submit", this.parentNode, e, !0) }), e._submit_attached = !0) }) }, teardown: function() { if (c.nodeName(this, "form")) return ! 1; c.event.remove(this, "._submit") } }); c.support.changeBubbles || (c.event.special.change = { setup: function() { if (cb.test(this.nodeName)) { if ("checkbox" === this.type || "radio" === this.type) c.event.add(this, "propertychange._change", function(e) { "checked" === e.originalEvent.propertyName && (this._just_changed = !0) }), c.event.add(this, "click._change", function(e) { this._just_changed && (this._just_changed = !1, c.event.simulate("change", this, e, !0)) }); return ! 1 } c.event.add(this, "beforeactivate._change", function(e) { e = e.target; cb.test(e.nodeName) && !e._change_attached && (c.event.add(e, "change._change", function(e) { this.parentNode && !e.isSimulated && c.event.simulate("change", this.parentNode, e, !0) }), e._change_attached = !0) }) }, handle: function(e) { var a = e.target; if (this !== a || e.isSimulated || e.isTrigger || "radio" !== a.type && "checkbox" !== a.type) return e.handleObj.handler.apply(this, arguments) }, teardown: function() { c.event.remove(this, "._change"); return cb.test(this.nodeName) } }); c.support.focusinBubbles || c.each({ focus: "focusin", blur: "focusout" }, function(e, a) { var b = 0, d = function(e) { c.event.simulate(a, e.target, c.event.fix(e), !0) }; c.event.special[a] = { setup: function() { 0 === b++&&o.addEventListener(e, d, !0) }, teardown: function() { 0 === --b && o.removeEventListener(e, d, !0) } } }); c.fn.extend({ on: function(e, a, b, d, h) { var g, l; if ("object" == typeof e) { "string" != typeof a && (b = a, a = m); for (l in e) this.on(l, a, b, e[l], h); return this } null == b && null == d ? (d = a, b = a = m) : null == d && ("string" == typeof a ? (d = b, b = m) : (d = b, b = a, a = m)); if (!1 === d) d = B; else if (!d) return this; 1 === h && (g = d, d = function(e) { c().off(e); return g.apply(this, arguments) }, d.guid = g.guid || (g.guid = c.guid++)); return this.each(function() { c.event.add(this, e, d, b, a) }) }, one: function(e, a, b, d) { return this.on.call(this, e, a, b, d, 1) }, off: function(e, a, b) { if (e && e.preventDefault && e.handleObj) { var d = e.handleObj; c(e.delegateTarget).off(d.namespace ? d.type + "." + d.namespace: d.type, d.selector, d.handler); return this } if ("object" == typeof e) { for (d in e) this.off(d, a, e[d]); return this } if (!1 === a || "function" == typeof a) b = a, a = m; ! 1 === b && (b = B); return this.each(function() { c.event.remove(this, e, b, a) }) }, bind: function(e, a, b) { return this.on(e, null, a, b) }, unbind: function(e, a) { return this.off(e, null, a) }, live: function(e, a, b) { c(this.context).on(e, this.selector, a, b); return this }, die: function(e, a) { c(this.context).off(e, this.selector || "**", a); return this }, delegate: function(e, a, b, d) { return this.on(a, e, b, d) }, undelegate: function(e, a, b) { return 1 == arguments.length ? this.off(e, "**") : this.off(a, e, b) }, trigger: function(e, a) { return this.each(function() { c.event.trigger(e, a, this) }) }, triggerHandler: function(e, a) { if (this[0]) return c.event.trigger(e, a, this[0], !0) }, toggle: function(e) { var a = arguments, b = e.guid || c.guid++, d = 0, h = function(b) { var h = (c._data(this, "lastToggle" + e.guid) || 0) % d; c._data(this, "lastToggle" + e.guid, h + 1); b.preventDefault(); return a[h].apply(this, arguments) || !1 }; for (h.guid = b; d < a.length;) a[d++].guid = b; return this.click(h) }, hover: function(e, a) { return this.mouseenter(e).mouseleave(a || e) } }); c.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 contextmenu".split(" "), function(e, a) { c.fn[a] = function(e, b) { b == null && (b = e, e = null); return arguments.length > 0 ? this.bind(a, e, b) : this.trigger(a) }; c.attrFn && (c.attrFn[a] = true); nc.test(a) && (c.event.fixHooks[a] = c.event.keyHooks); oc.test(a) && (c.event.fixHooks[a] = c.event.mouseHooks) }); var xb = function(e, a, b, d, c, h) { for (var c = 0, g = d.length; c < g; c++) { var l = d[c]; if (l) { for (var f = !1, l = l[e]; l;) { if (l[ta] === b) { f = d[l.sizset]; break } if (1 === l.nodeType) if (h || (l[ta] = b, l.sizset = c), "string" != typeof a) { if (l === a) { f = !0; break } } else if (0 < A.filter(a, [l]).length) { f = l; break } l = l[e] } d[c] = f } } }, yb = function(e, a, b, d, c, h) { for (var c = 0, g = d.length; c < g; c++) { var l = d[c]; if (l) { for (var f = !1, l = l[e]; l;) { if (l[ta] === b) { f = d[l.sizset]; break } 1 === l.nodeType && !h && (l[ta] = b, l.sizset = c); if (l.nodeName.toLowerCase() === a) { f = l; break } l = l[e] } d[c] = f } } }, db = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, ta = "sizcache" + (Math.random() + "").replace(".", ""), eb = 0, zb = Object.prototype.toString, Na = !1, Ab = !0, ua = /\\/g, qc = /\r\n/g, Oa = /\W/; [0, 0].sort(function() { Ab = !1; return 0 }); var A = function(e, a, b, d) { var b = b || [], c = a = a || o; if (1 !== a.nodeType && 9 !== a.nodeType) return []; if (!e || "string" != typeof e) return b; var h, g, l, f, i, t, j = !0, k = A.isXML(a), z = [], p = e; do if (db.exec(""), h = db.exec(p)) if (p = h[3], z.push(h[1]), h[2]) { f = h[3]; break } while (h); if (1 < z.length && rc.exec(e)) if (2 === z.length && H.relative[z[0]]) g = Bb(z[0] + z[1], a, d); else for (g = H.relative[z[0]] ? [a] : A(z.shift(), a); z.length;) e = z.shift(), H.relative[e] && (e += z.shift()), g = Bb(e, g, d); else if (!d && 1 < z.length && 9 === a.nodeType && !k && H.match.ID.test(z[0]) && !H.match.ID.test(z[z.length - 1]) && (i = A.find(z.shift(), a, k), a = i.expr ? A.filter(i.expr, i.set)[0] : i.set[0]), a) { i = d ? { expr: z.pop(), set: ca(d) }: A.find(z.pop(), 1 === z.length && ("~" === z[0] || "+" === z[0]) && a.parentNode ? a.parentNode: a, k); g = i.expr ? A.filter(i.expr, i.set) : i.set; for (0 < z.length ? l = ca(g) : j = !1; z.length;) h = t = z.pop(), H.relative[t] ? h = z.pop() : t = "", null == h && (h = a), H.relative[t](l, h, k) } else l = []; l || (l = g); l || A.error(t || e); if ("[object Array]" === zb.call(l)) if (j) if (a && 1 === a.nodeType) for (e = 0; null != l[e]; e++) l[e] && (!0 === l[e] || 1 === l[e].nodeType && A.contains(a, l[e])) && b.push(g[e]); else for (e = 0; null != l[e]; e++) l[e] && 1 === l[e].nodeType && b.push(g[e]); else b.push.apply(b, l); else ca(l, b); f && (A(f, c, b, d), A.uniqueSort(b)); return b }; A.uniqueSort = function(e) { if (Pa && (Na = Ab, e.sort(Pa), Na)) for (var a = 1; a < e.length; a++) e[a] === e[a - 1] && e.splice(a--, 1); return e }; A.matches = function(e, a) { return A(e, null, null, a) }; A.matchesSelector = function(e, a) { return 0 < A(a, null, null, [e]).length }; A.find = function(e, a, b) { var d, c, h, g, l, f; if (!e) return []; c = 0; for (h = H.order.length; c < h; c++) if (l = H.order[c], g = H.leftMatch[l].exec(e)) if (f = g[1], g.splice(1, 1), "\\" !== f.substr(f.length - 1) && (g[1] = (g[1] || "").replace(ua, ""), d = H.find[l](g, a, b), null != d)) { e = e.replace(H.match[l], ""); break } d || (d = "undefined" != typeof a.getElementsByTagName ? a.getElementsByTagName("*") : []); return { set: d, expr: e } }; A.filter = function(e, a, b, d) { for (var c, h, g, l, f, i, t, j, k = e, z = [], p = a, v = a && a[0] && A.isXML(a[0]); e && a.length;) { for (g in H.filter) if (null != (c = H.leftMatch[g].exec(e)) && c[2]) if (i = H.filter[g], f = c[1], h = !1, c.splice(1, 1), "\\" !== f.substr(f.length - 1)) { p === z && (z = []); if (H.preFilter[g]) if (c = H.preFilter[g](c, p, b, z, d, v)) { if (!0 === c) continue } else h = l = !0; if (c) for (t = 0; null != (f = p[t]); t++) f && (l = i(f, c, t, p), j = d ^ l, b && null != l ? j ? h = !0 : p[t] = !1 : j && (z.push(f), h = !0)); if (l !== m) { b || (p = z); e = e.replace(H.match[g], ""); if (!h) return []; break } } if (e === k) if (null == h) A.error(e); else break; k = e } return p }; A.error = function(e) { throw "Syntax error, unrecognized expression: " + e; }; var fb = A.getText = function(e) { var a, b; a = e.nodeType; var d = ""; if (a) if (1 === a) { if ("string" == typeof e.textContent) return e.textContent; if ("string" == typeof e.innerText) return e.innerText.replace(qc, ""); for (e = e.firstChild; e; e = e.nextSibling) d += fb(e) } else { if (3 === a || 4 === a) return e.nodeValue } else for (a = 0; b = e[a]; a++) 8 !== b.nodeType && (d += fb(b)); return d }, H = A.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, a) { var b = "string" == typeof a, d = b && !Oa.test(a), b = b && !d; d && (a = a.toLowerCase()); for (var d = 0, c = e.length, h; d < c; d++) if (h = e[d]) { for (; (h = h.previousSibling) && 1 !== h.nodeType;); e[d] = b || h && h.nodeName.toLowerCase() === a ? h || !1 : h === a } b && A.filter(a, e, !0) }, ">": function(e, a) { var b, d = "string" == typeof a, c = 0, h = e.length; if (d && !Oa.test(a)) for (a = a.toLowerCase(); c < h; c++) { if (b = e[c]) b = b.parentNode, e[c] = b.nodeName.toLowerCase() === a ? b: !1 } else { for (; c < h; c++)(b = e[c]) && (e[c] = d ? b.parentNode: b.parentNode === a); d && A.filter(a, e, !0) } }, "": function(e, a, b) { var d, c = eb++, h = xb; "string" == typeof a && !Oa.test(a) && (a = a.toLowerCase(), d = a, h = yb); h("parentNode", a, c, e, d, b) }, "~": function(e, a, b) { var d, c = eb++, h = xb; "string" == typeof a && !Oa.test(a) && (a = a.toLowerCase(), d = a, h = yb); h("previousSibling", a, c, e, d, b) } }, find: { ID: function(e, a, b) { if ("undefined" != typeof a.getElementById && !b) return (e = a.getElementById(e[1])) && e.parentNode ? [e] : [] }, NAME: function(e, a) { if ("undefined" != typeof a.getElementsByName) { for (var b = [], d = a.getElementsByName(e[1]), c = 0, h = d.length; c < h; c++) d[c].getAttribute("name") === e[1] && b.push(d[c]); return 0 === b.length ? null: b } }, TAG: function(e, a) { if ("undefined" != typeof a.getElementsByTagName) return a.getElementsByTagName(e[1]) } }, preFilter: { CLASS: function(e, a, b, d, c, h) { e = " " + e[1].replace(ua, "") + " "; if (h) return e; for (var h = 0, g; null != (g = a[h]); h++) g && (c ^ (g.className && 0 <= (" " + g.className + " ").replace(/[\t\n\r]/g, " ").indexOf(e)) ? b || d.push(g) : b && (a[h] = !1)); return ! 1 }, ID: function(e) { return e[1].replace(ua, "") }, TAG: function(e) { return e[1].replace(ua, "").toLowerCase() }, CHILD: function(e) { if ("nth" === e[1]) { e[2] || A.error(e[0]); e[2] = e[2].replace(/^\+|\s*/g, ""); var a = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec("even" === e[2] && "2n" || "odd" === e[2] && "2n+1" || !/\D/.test(e[2]) && "0n+" + e[2] || e[2]); e[2] = a[1] + (a[2] || 1) - 0; e[3] = a[3] - 0 } else e[2] && A.error(e[0]); e[0] = eb++; return e }, ATTR: function(e, a, b, d, c, h) { a = e[1] = e[1].replace(ua, ""); ! h && H.attrMap[a] && (e[1] = H.attrMap[a]); e[4] = (e[4] || e[5] || "").replace(ua, ""); "~=" === e[2] && (e[4] = " " + e[4] + " "); return e }, PSEUDO: function(e, a, b, d, c) { if ("not" === e[1]) if (1 < (db.exec(e[3]) || "").length || /^\w/.test(e[3])) e[3] = A(e[3], null, null, a); else return e = A.filter(e[3], a, b, 1 ^ c), b || d.push.apply(d, e), !1; else if (H.match.POS.test(e[0]) || H.match.CHILD.test(e[0])) return ! 0; return e }, POS: function(e) { e.unshift(!0); return e } }, filters: { enabled: function(e) { return ! 1 === e.disabled && "hidden" !== e.type }, disabled: function(e) { return ! 0 === e.disabled }, checked: function(e) { return ! 0 === e.checked }, selected: function(e) { e.parentNode && e.parentNode.selectedIndex; return ! 0 === e.selected }, parent: function(e) { return !! e.firstChild }, empty: function(e) { return ! e.firstChild }, has: function(e, a, b) { return !! A(b[3], e).length }, header: function(e) { return /h\d/i.test(e.nodeName) }, text: function(e) { var a = e.getAttribute("type"), b = e.type; return "input" === e.nodeName.toLowerCase() && "text" === b && (a === b || null === a) }, 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 a = e.nodeName.toLowerCase(); return ("input" === a || "button" === a) && "submit" === e.type }, image: function(e) { return "input" === e.nodeName.toLowerCase() && "image" === e.type }, reset: function(e) { var a = e.nodeName.toLowerCase(); return ("input" === a || "button" === a) && "reset" === e.type }, button: function(e) { var a = e.nodeName.toLowerCase(); return "input" === a && "button" === e.type || "button" === a }, input: function(e) { return /input|select|textarea|button/i.test(e.nodeName) }, focus: function(e) { return e === e.ownerDocument.activeElement } }, setFilters: { first: function(e, a) { return 0 === a }, last: function(a, b, d, c) { return b === c.length - 1 }, even: function(a, b) { return 0 === b % 2 }, odd: function(a, b) { return 1 === b % 2 }, lt: function(a, b, d) { return b < d[3] - 0 }, gt: function(a, b, d) { return b > d[3] - 0 }, nth: function(a, b, d) { return d[3] - 0 === b }, eq: function(a, b, d) { return d[3] - 0 === b } }, filter: { PSEUDO: function(a, b, d, c) { var h = b[1], g = H.filters[h]; if (g) return g(a, d, b, c); if ("contains" === h) return 0 <= (a.textContent || a.innerText || fb([a]) || "").indexOf(b[3]); if ("not" === h) { b = b[3]; d = 0; for (c = b.length; d < c; d++) if (b[d] === a) return ! 1; return ! 0 } A.error(h) }, CHILD: function(a, b) { var d, c, h, g, l, f; d = b[1]; f = a; switch (d) { case "only": case "first": for (; f = f.previousSibling;) if (1 === f.nodeType) return ! 1; if ("first" === d) return ! 0; f = a; case "last": for (; f = f.nextSibling;) if (1 === f.nodeType) return ! 1; return ! 0; case "nth": d = b[2]; c = b[3]; if (1 === d && 0 === c) return ! 0; h = b[0]; if ((g = a.parentNode) && (g[ta] !== h || !a.nodeIndex)) { l = 0; for (f = g.firstChild; f; f = f.nextSibling) 1 === f.nodeType && (f.nodeIndex = ++l); g[ta] = h } f = a.nodeIndex - c; return 0 === d ? 0 === f: 0 === f % d && 0 <= f / d } }, ID: function(a, b) { return 1 === a.nodeType && a.getAttribute("id") === b }, TAG: function(a, b) { return "*" === b && 1 === a.nodeType || !!a.nodeName && a.nodeName.toLowerCase() === b }, CLASS: function(a, b) { return - 1 < (" " + (a.className || a.getAttribute("class")) + " ").indexOf(b) }, ATTR: function(a, b) { var d = b[1], d = A.attr ? A.attr(a, d) : H.attrHandle[d] ? H.attrHandle[d](a) : null != a[d] ? a[d] : a.getAttribute(d), c = d + "", h = b[2], g = b[4]; return null == d ? "!=" === h: !h && A.attr ? null != d: "=" === h ? c === g: "*=" === h ? 0 <= c.indexOf(g) : "~=" === h ? 0 <= (" " + c + " ").indexOf(g) : g ? "!=" === h ? c !== g: "^=" === h ? 0 === c.indexOf(g) : "$=" === h ? c.substr(c.length - g.length) === g: "|=" === h ? c === g || c.substr(0, g.length + 1) === g + "-": !1 : c && !1 !== d }, POS: function(a, b, d, c) { var h = H.setFilters[b[2]]; if (h) return h(a, d, b, c) } } }, rc = H.match.POS, sc = function(a, b) { return "\\" + (b - 0 + 1) }, Ba; for (Ba in H.match) H.match[Ba] = RegExp(H.match[Ba].source + /(?![^\[]*\])(?![^\(]*\))/.source), H.leftMatch[Ba] = RegExp(/(^(?:.|\r|\n)*?)/.source + H.match[Ba].source.replace(/\\(\d+)/g, sc)); var ca = function(a, b) { a = Array.prototype.slice.call(a, 0); return b ? (b.push.apply(b, a), b) : a }; try { Array.prototype.slice.call(o.documentElement.childNodes, 0)[0].nodeType } catch(ad) { ca = function(a, b) { var d = 0, c = b || []; if ("[object Array]" === zb.call(a)) Array.prototype.push.apply(c, a); else if ("number" == typeof a.length) for (var h = a.length; d < h; d++) c.push(a[d]); else for (; a[d]; d++) c.push(a[d]); return c } } var Pa, Ca; o.documentElement.compareDocumentPosition ? Pa = function(a, b) { return a === b ? (Na = !0, 0) : !a.compareDocumentPosition || !b.compareDocumentPosition ? a.compareDocumentPosition ? -1 : 1 : a.compareDocumentPosition(b) & 4 ? -1 : 1 }: (Pa = function(a, b) { if (a === b) return Na = !0, 0; if (a.sourceIndex && b.sourceIndex) return a.sourceIndex - b.sourceIndex; var d, c, h = [], g = []; d = a.parentNode; c = b.parentNode; var l = d; if (d === c) return Ca(a, b); if (!d) return - 1; if (!c) return 1; for (; l;) h.unshift(l), l = l.parentNode; for (l = c; l;) g.unshift(l), l = l.parentNode; d = h.length; c = g.length; for (l = 0; l < d && l < c; l++) if (h[l] !== g[l]) return Ca(h[l], g[l]); return l === d ? Ca(a, g[l], -1) : Ca(h[l], b, 1) }, Ca = function(a, b, d) { if (a === b) return d; for (a = a.nextSibling; a;) { if (a === b) return - 1; a = a.nextSibling } return 1 }); var Qa = o.createElement("div"), Cb = "script" + (new Date).getTime(), Ra = o.documentElement; Qa.innerHTML = ""; Ra.insertBefore(Qa, Ra.firstChild); o.getElementById(Cb) && (H.find.ID = function(a, b, d) { if ("undefined" != typeof b.getElementById && !d) return (b = b.getElementById(a[1])) ? b.id === a[1] || "undefined" != typeof b.getAttributeNode && b.getAttributeNode("id").nodeValue === a[1] ? [b] : m: [] }, H.filter.ID = function(a, b) { var d = "undefined" != typeof a.getAttributeNode && a.getAttributeNode("id"); return 1 === a.nodeType && d && d.nodeValue === b }); Ra.removeChild(Qa); var Ra = Qa = null, ka = o.createElement("div"); ka.appendChild(o.createComment("")); 0 < ka.getElementsByTagName("*").length && (H.find.TAG = function(a, b) { var d = b.getElementsByTagName(a[1]); if ("*" === a[1]) { for (var c = [], h = 0; d[h]; h++) 1 === d[h].nodeType && c.push(d[h]); d = c } return d }); ka.innerHTML = ""; ka.firstChild && "undefined" != typeof ka.firstChild.getAttribute && "#" !== ka.firstChild.getAttribute("href") && (H.attrHandle.href = function(a) { return a.getAttribute("href", 2) }); ka = null; if (o.querySelectorAll) { var gb = A, Sa = o.createElement("div"); Sa.innerHTML = "

"; if (!Sa.querySelectorAll || 0 !== Sa.querySelectorAll(".TEST").length) { var A = function(a, b, d, c) { b = b || o; if (!c && !A.isXML(b)) { var h = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(a); if (h && (1 === b.nodeType || 9 === b.nodeType)) { if (h[1]) return ca(b.getElementsByTagName(a), d); if (h[2] && H.find.CLASS && b.getElementsByClassName) return ca(b.getElementsByClassName(h[2]), d) } if (9 === b.nodeType) { if ("body" === a && b.body) return ca([b.body], d); if (h && h[3]) { var g = b.getElementById(h[3]); if (!g || !g.parentNode) return ca([], d); if (g.id === h[3]) return ca([g], d) } try { return ca(b.querySelectorAll(a), d) } catch(l) {} } else if (1 === b.nodeType && "object" !== b.nodeName.toLowerCase()) { var h = b, f = (g = b.getAttribute("id")) || "__sizzle__", i = b.parentNode, t = /^\s*[+~]/.test(a); g ? f = f.replace(/'/g, "\\$&") : b.setAttribute("id", f); t && i && (b = b.parentNode); try { if (!t || i) return ca(b.querySelectorAll("[id='" + f + "'] " + a), d) } catch(j) {} finally { g || h.removeAttribute("id") } } } return gb(a, b, d, c) }, hb; for (hb in gb) A[hb] = gb[hb]; Sa = null } } var Ta = o.documentElement, Ua = Ta.matchesSelector || Ta.mozMatchesSelector || Ta.webkitMatchesSelector || Ta.msMatchesSelector; if (Ua) { var tc = !Ua.call(o.createElement("div"), "div"), Db = !1; try { Ua.call(o.documentElement, "[test!='']:sizzle") } catch(bd) { Db = !0 } A.matchesSelector = function(a, b) { b = b.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); if (!A.isXML(a)) try { if (Db || !H.match.PSEUDO.test(b) && !/!=/.test(b)) { var d = Ua.call(a, b); if (d || !tc || a.document && 11 !== a.document.nodeType) return d } } catch(c) {} return 0 < A(b, null, null, [a]).length } } var va = o.createElement("div"); va.innerHTML = "
"; va.getElementsByClassName && 0 !== va.getElementsByClassName("e").length && (va.lastChild.className = "e", 1 !== va.getElementsByClassName("e").length && (H.order.splice(1, 0, "CLASS"), H.find.CLASS = function(a, b, d) { if ("undefined" != typeof b.getElementsByClassName && !d) return b.getElementsByClassName(a[1]) }, va = null)); o.documentElement.contains ? A.contains = function(a, b) { return a !== b && (a.contains ? a.contains(b) : true) }: o.documentElement.compareDocumentPosition ? A.contains = function(a, b) { return !! (a.compareDocumentPosition(b) & 16) }: A.contains = function() { return false }; A.isXML = function(a) { return (a = (a ? a.ownerDocument || a: 0).documentElement) ? a.nodeName !== "HTML": false }; var Bb = function(a, b, d) { for (var c, h = [], g = "", b = b.nodeType ? [b] : b; c = H.match.PSEUDO.exec(a);) { g = g + c[0]; a = a.replace(H.match.PSEUDO, "") } a = H.relative[a] ? a + "*": a; c = 0; for (var l = b.length; c < l; c++) A(a, b[c], h, d); return A.filter(g, h) }; A.attr = c.attr; A.selectors.attrMap = {}; c.find = A; c.expr = A.selectors; c.expr[":"] = c.expr.filters; c.unique = A.uniqueSort; c.text = A.getText; c.isXMLDoc = A.isXML; c.contains = A.contains; var uc = /Until$/, vc = /^(?:parents|prevUntil|prevAll)/, wc = /,/, Wb = /^.[^:#\[\.,]*$/, xc = Array.prototype.slice, Eb = c.expr.match.POS, yc = { children: !0, contents: !0, next: !0, prev: !0 }; c.fn.extend({ find: function(a) { var b = this, d, h; if (typeof a != "string") return c(a).filter(function() { d = 0; for (h = b.length; d < h; d++) if (c.contains(b[d], this)) return true }); var g = this.pushStack("", "find", a), l, f, i; d = 0; for (h = this.length; d < h; d++) { l = g.length; c.find(a, this[d], g); if (d > 0) for (f = l; f < g.length; f++) for (i = 0; i < l; i++) if (g[i] === g[f]) { g.splice(f--, 1); break } } return g }, has: function(a) { var b = c(a); return this.filter(function() { for (var a = 0, e = b.length; a < e; a++) if (c.contains(this, b[a])) return true }) }, not: function(a) { return this.pushStack(aa(this, a, false), "not", a) }, filter: function(a) { return this.pushStack(aa(this, a, true), "filter", a) }, is: function(a) { return !! a && (typeof a == "string" ? Eb.test(a) ? c(a, this.context).index(this[0]) >= 0 : c.filter(a, this).length > 0 : this.filter(a).length > 0) }, closest: function(a, b) { var d = [], h, g, l = this[0]; if (c.isArray(a)) { for (g = 1; l && l.ownerDocument && l !== b;) { for (h = 0; h < a.length; h++) c(l).is(a[h]) && d.push({ selector: a[h], elem: l, level: g }); l = l.parentNode; g++ } return d } var f = Eb.test(a) || typeof a != "string" ? c(a, b || this.context) : 0; h = 0; for (g = this.length; h < g; h++) for (l = this[h]; l;) { if (f ? f.index(l) > -1 : c.find.matchesSelector(l, a)) { d.push(l); break } l = l.parentNode; if (!l || !l.ownerDocument || l === b || l.nodeType === 11) break } d = d.length > 1 ? c.unique(d) : d; return this.pushStack(d, "closest", a) }, index: function(a) { return ! a ? this[0] && this[0].parentNode ? this.prevAll().length: -1 : typeof a == "string" ? c.inArray(this[0], c(a)) : c.inArray(a.jquery ? a[0] : a, this) }, add: function(a, b) { var d = typeof a == "string" ? c(a, b) : c.makeArray(a && a.nodeType ? [a] : a), h = c.merge(this.get(), d); return this.pushStack(!d[0] || !d[0].parentNode || d[0].parentNode.nodeType === 11 || !h[0] || !h[0].parentNode || h[0].parentNode.nodeType === 11 ? h: c.unique(h)) }, andSelf: function() { return this.add(this.prevObject) } }); c.each({ parent: function(a) { return (a = a.parentNode) && a.nodeType !== 11 ? a: null }, parents: function(a) { return c.dir(a, "parentNode") }, parentsUntil: function(a, b, d) { return c.dir(a, "parentNode", d) }, next: function(a) { return c.nth(a, 2, "nextSibling") }, prev: function(a) { return c.nth(a, 2, "previousSibling") }, nextAll: function(a) { return c.dir(a, "nextSibling") }, prevAll: function(a) { return c.dir(a, "previousSibling") }, nextUntil: function(a, b, d) { return c.dir(a, "nextSibling", d) }, prevUntil: function(a, b, d) { return c.dir(a, "previousSibling", d) }, siblings: function(a) { return c.sibling(a.parentNode.firstChild, a) }, children: function(a) { return c.sibling(a.firstChild) }, contents: function(a) { return c.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document: c.makeArray(a.childNodes) } }, function(a, b) { c.fn[a] = function(d, h) { var g = c.map(this, b, d), l = xc.call(arguments); uc.test(a) || (h = d); h && typeof h == "string" && (g = c.filter(h, g)); g = this.length > 1 && !yc[a] ? c.unique(g) : g; (this.length > 1 || wc.test(h)) && vc.test(a) && (g = g.reverse()); return this.pushStack(g, a, l.join(",")) } }); c.extend({ filter: function(a, b, d) { d && (a = ":not(" + a + ")"); return b.length === 1 ? c.find.matchesSelector(b[0], a) ? [b[0]] : [] : c.find.matches(a, b) }, dir: function(a, b, d) { for (var h = [], a = a[b]; a && a.nodeType !== 9 && (d === m || a.nodeType !== 1 || !c(a).is(d));) { a.nodeType === 1 && h.push(a); a = a[b] } return h }, nth: function(a, b, d) { for (var b = b || 1, c = 0; a; a = a[d]) if (a.nodeType === 1 && ++c === b) break; return a }, sibling: function(a, b) { for (var d = []; a; a = a.nextSibling) a.nodeType === 1 && a !== b && d.push(a); return d } }); var ob = "abbr article aside audio canvas datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video", zc = / jQuery\d+="(?:\d+|null)"/g, ib = /^\s+/, Fb = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, Gb = /<([\w:]+)/, Ac = /", ""], legend: [1, "
", "
"], thead: [1, "", "
"], tr: [2, "", "
"], td: [3, "", "
"], col: [2, "", "
"], area: [1, "", ""], _default: [0, "", ""] }, Gc = w(o); X.optgroup = X.option; X.tbody = X.tfoot = X.colgroup = X.caption = X.thead; X.th = X.td; c.support.htmlSerialize || (X._default = [1, "div
", "
"]); c.fn.extend({ text: function(a) { return c.isFunction(a) ? this.each(function(b) { var d = c(this); d.text(a.call(this, b, d.text())) }) : typeof a != "object" && a !== m ? this.empty().append((this[0] && this[0].ownerDocument || o).createTextNode(a)) : c.text(this) }, wrapAll: function(a) { if (c.isFunction(a)) return this.each(function(b) { c(this).wrapAll(a.call(this, b)) }); if (this[0]) { var b = c(a, this[0].ownerDocument).eq(0).clone(true); this[0].parentNode && b.insertBefore(this[0]); b.map(function() { for (var a = this; a.firstChild && a.firstChild.nodeType === 1;) a = a.firstChild; return a }).append(this) } return this }, wrapInner: function(a) { return c.isFunction(a) ? this.each(function(b) { c(this).wrapInner(a.call(this, b)) }) : this.each(function() { var b = c(this), d = b.contents(); d.length ? d.wrapAll(a) : b.append(a) }) }, wrap: function(a) { return this.each(function() { c(this).wrapAll(a) }) }, unwrap: function() { return this.parent().each(function() { c.nodeName(this, "body") || c(this).replaceWith(this.childNodes) }).end() }, append: function() { return this.domManip(arguments, true, function(a) { this.nodeType === 1 && this.appendChild(a) }) }, prepend: function() { return this.domManip(arguments, true, function(a) { this.nodeType === 1 && this.insertBefore(a, this.firstChild) }) }, before: function() { if (this[0] && this[0].parentNode) return this.domManip(arguments, false, function(a) { this.parentNode.insertBefore(a, this) }); if (arguments.length) { var a = c(arguments[0]); a.push.apply(a, this.toArray()); return this.pushStack(a, "before", arguments) } }, after: function() { if (this[0] && this[0].parentNode) return this.domManip(arguments, false, function(a) { this.parentNode.insertBefore(a, this.nextSibling) }); if (arguments.length) { var a = this.pushStack(this, "after", arguments); a.push.apply(a, c(arguments[0]).toArray()); return a } }, remove: function(a, b) { for (var d = 0, h; (h = this[d]) != null; d++) if (!a || c.filter(a, [h]).length) { ! b && h.nodeType === 1 && (c.cleanData(h.getElementsByTagName("*")), c.cleanData([h])); h.parentNode && h.parentNode.removeChild(h) } return this }, empty: function() { for (var a = 0, b; (b = this[a]) != null; a++) for (b.nodeType === 1 && c.cleanData(b.getElementsByTagName("*")); b.firstChild;) b.removeChild(b.firstChild); return this }, clone: function(a, b) { a = a == null ? false: a; b = b == null ? a: b; return this.map(function() { return c.clone(this, a, b) }) }, html: function(a) { if (a === m) return this[0] && this[0].nodeType === 1 ? this[0].innerHTML.replace(zc, "") : null; if (typeof a == "string" && !Cc.test(a) && (c.support.leadingWhitespace || !ib.test(a)) && !X[(Gb.exec(a) || ["", ""])[1].toLowerCase()]) { a = a.replace(Fb, "<$1>"); try { for (var b = 0, d = this.length; b < d; b++) this[b].nodeType === 1 && (c.cleanData(this[b].getElementsByTagName("*")), this[b].innerHTML = a) } catch(h) { this.empty().append(a) } } else c.isFunction(a) ? this.each(function(b) { var d = c(this); d.html(a.call(this, b, d.html())) }) : this.empty().append(a); return this }, replaceWith: function(a) { if (this[0] && this[0].parentNode) { if (c.isFunction(a)) return this.each(function(b) { var d = c(this), h = d.html(); d.replaceWith(a.call(this, b, h)) }); typeof a != "string" && (a = c(a).detach()); return this.each(function() { var b = this.nextSibling, d = this.parentNode; c(this).remove(); b ? c(b).before(a) : c(d).append(a) }) } return this.length ? this.pushStack(c(c.isFunction(a) ? a() : a), "replaceWith", a) : this }, detach: function(a) { return this.remove(a, true) }, domManip: function(a, b, d) { var h, g, l, f = a[0], i = []; if (!c.support.checkClone && arguments.length === 3 && typeof f == "string" && Hb.test(f)) return this.each(function() { c(this).domManip(a, b, d, true) }); if (c.isFunction(f)) return this.each(function(h) { var g = c(this); a[0] = f.call(this, h, b ? g.html() : m); g.domManip(a, b, d) }); if (this[0]) { l = f && f.parentNode; c.support.parentNode && l && l.nodeType === 11 && l.childNodes.length === this.length ? h = { fragment: l }: h = c.buildFragment(a, this, i); l = h.fragment; l.childNodes.length === 1 ? g = l = l.firstChild: g = l.firstChild; if (g) { b = b && c.nodeName(g, "tr"); g = 0; for (var t = this.length, j = t - 1; g < t; g++) d.call(b ? c.nodeName(this[g], "table") ? this[g].getElementsByTagName("tbody")[0] || this[g].appendChild(this[g].ownerDocument.createElement("tbody")) : this[g] : this[g], h.cacheable || t > 1 && g < j ? c.clone(l, true, true) : l) } i.length && c.each(i, Y) } return this } }); c.buildFragment = function(a, b, d) { var h, g, l, f, i = a[0]; b && b[0] && (f = b[0].ownerDocument || b[0]); f.createDocumentFragment || (f = o); a.length === 1 && typeof i == "string" && i.length < 512 && f === o && i.charAt(0) === "<" && !Dc.test(i) && (c.support.checkClone || !Hb.test(i)) && !c.support.unknownElems && Ec.test(i) && (g = true, l = c.fragments[i], l && l !== 1 && (h = l)); h || (h = f.createDocumentFragment(), c.clean(a, f, h, d)); g && (c.fragments[i] = l ? h: 1); return { fragment: h, cacheable: g } }; c.fragments = {}; c.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function(a, b) { c.fn[a] = function(d) { var h = [], d = c(d), g = this.length === 1 && this[0].parentNode; if (g && g.nodeType === 11 && g.childNodes.length === 1 && d.length === 1) { d[b](this[0]); return this } for (var g = 0, l = d.length; g < l; g++) { var f = (g > 0 ? this.clone(true) : this).get(); c(d[g])[b](f); h = h.concat(f) } return this.pushStack(h, a, d.selector) } }); c.extend({ clone: function(a, b, d) { var h = a.cloneNode(true), g, l, f; if ((!c.support.noCloneEvent || !c.support.noCloneChecked) && (a.nodeType === 1 || a.nodeType === 11) && !c.isXMLDoc(a)) { V(a, h); g = C(a); l = C(h); for (f = 0; g[f]; ++f) l[f] && V(g[f], l[f]) } if (b) { D(a, h); if (d) { g = C(a); l = C(h); for (f = 0; g[f]; ++f) D(g[f], l[f]) } } return h }, clean: function(a, b, d, h) { b = b || o; typeof b.createElement == "undefined" && (b = b.ownerDocument || b[0] && b[0].ownerDocument || o); for (var g = [], l, f = 0, i; (i = a[f]) != null; f++) { typeof i == "number" && (i = i + ""); if (i) { if (typeof i == "string") if (Bc.test(i)) { i = i.replace(Fb, "<$1>"); l = (Gb.exec(i) || ["", ""])[1].toLowerCase(); var t = X[l] || X._default, j = t[0], k = b.createElement("div"); b === o ? Gc.appendChild(k) : w(b).appendChild(k); for (k.innerHTML = t[1] + i + t[2]; j--;) k = k.lastChild; if (!c.support.tbody) { j = Ac.test(i); t = l === "table" && !j ? k.firstChild && k.firstChild.childNodes: t[1] === "" && !j ? k.childNodes: []; for (l = t.length - 1; l >= 0; --l) c.nodeName(t[l], "tbody") && !t[l].childNodes.length && t[l].parentNode.removeChild(t[l]) } ! c.support.leadingWhitespace && ib.test(i) && k.insertBefore(b.createTextNode(ib.exec(i)[0]), k.firstChild); i = k.childNodes } else i = b.createTextNode(i); var z; if (!c.support.appendChecked) if (i[0] && typeof(z = i.length) == "number") for (l = 0; l < z; l++) ea(i[l]); else ea(i); i.nodeType ? g.push(i) : g = c.merge(g, i) } } if (d) { a = function(a) { return ! a.type || Fc.test(a.type) }; for (f = 0; g[f]; f++) if (h && c.nodeName(g[f], "script") && (!g[f].type || g[f].type.toLowerCase() === "text/javascript")) h.push(g[f].parentNode ? g[f].parentNode.removeChild(g[f]) : g[f]); else { if (g[f].nodeType === 1) { b = c.grep(g[f].getElementsByTagName("script"), a); g.splice.apply(g, [f + 1, 0].concat(b)) } d.appendChild(g[f]) } } return g }, cleanData: function(a) { for (var b, d, h = c.cache, g = c.event.special, l = c.support.deleteExpando, f = 0, i; (i = a[f]) != null; f++) if (!i.nodeName || !c.noData[i.nodeName.toLowerCase()]) if (d = i[c.expando]) { if ((b = h[d]) && b.events) { for (var t in b.events) g[t] ? c.event.remove(i, t) : c.removeEvent(i, t, b.handle); b.handle && (b.handle.elem = null) } l ? delete i[c.expando] : i.removeAttribute && i.removeAttribute(c.expando); delete h[d] } } }); var jb = /alpha\([^)]*\)/i, Hc = /opacity=([^)]*)/, Ic = /([A-Z]|^ms)/g, Ib = /^-?\d+(?:px)?$/i, Jc = /^-?\d/, Kc = /^([\-+])=([\-+.\de]+)/, Lc = { position: "absolute", visibility: "hidden", display: "block" }, Tb = ["Left", "Right"], Ub = ["Top", "Bottom"], oa, Jb, Kb; c.fn.css = function(a, b) { return arguments.length === 2 && b === m ? this: c.access(this, a, b, true, function(a, b, d) { return d !== m ? c.style(a, b, d) : c.css(a, b) }) }; c.extend({ cssHooks: { opacity: { get: function(a, b) { if (b) { var d = oa(a, "opacity", "opacity"); return d === "" ? "1": d } return a.style.opacity } } }, cssNumber: { fillOpacity: !0, fontWeight: !0, lineHeight: !0, opacity: !0, orphans: !0, widows: !0, zIndex: !0, zoom: !0 }, cssProps: { "float": c.support.cssFloat ? "cssFloat": "styleFloat" }, style: function(a, b, d, h) { if (a && a.nodeType !== 3 && a.nodeType !== 8 && a.style) { var g, l = c.camelCase(b), f = a.style, i = c.cssHooks[l], b = c.cssProps[l] || l; if (d === m) return i && "get" in i && (g = i.get(a, false, h)) !== m ? g: f[b]; h = typeof d; h === "string" && (g = Kc.exec(d)) && (d = +(g[1] + 1) * +g[2] + parseFloat(c.css(a, b)), h = "number"); if (! (d == null || h === "number" && isNaN(d))) { h === "number" && !c.cssNumber[l] && (d = d + "px"); if (!i || !("set" in i) || (d = i.set(a, d)) !== m) try { f[b] = d } catch(t) {} } } }, css: function(a, b, d) { var h, g, b = c.camelCase(b); g = c.cssHooks[b]; b = c.cssProps[b] || b; b === "cssFloat" && (b = "float"); if (g && "get" in g && (h = g.get(a, true, d)) !== m) return h; if (oa) return oa(a, b) }, swap: function(a, b, d) { var c = {}, h; for (h in b) { c[h] = a.style[h]; a.style[h] = b[h] } d.call(a); for (h in b) a.style[h] = c[h] } }); c.curCSS = c.css; c.each(["height", "width"], function(a, b) { c.cssHooks[b] = { get: function(a, d, e) { var h; if (d) { if (a.offsetWidth !== 0) return Q(a, b, e); c.swap(a, Lc, function() { h = Q(a, b, e) }); return h } }, set: function(a, b) { if (!Ib.test(b)) return b; b = parseFloat(b); if (b >= 0) return b + "px" } } }); c.support.opacity || (c.cssHooks.opacity = { get: function(a, b) { return Hc.test((b && a.currentStyle ? a.currentStyle.filter: a.style.filter) || "") ? parseFloat(RegExp.$1) / 100 + "": b ? "1": "" }, set: function(a, b) { var d = a.style, h = a.currentStyle, g = c.isNumeric(b) ? "alpha(opacity=" + b * 100 + ")": "", l = h && h.filter || d.filter || ""; d.zoom = 1; if (b >= 1 && c.trim(l.replace(jb, "")) === "") { d.removeAttribute("filter"); if (h && !h.filter) return } d.filter = jb.test(l) ? l.replace(jb, g) : l + " " + g } }); c(function() { c.support.reliableMarginRight || (c.cssHooks.marginRight = { get: function(a, b) { var d; c.swap(a, { display: "inline-block" }, function() { b ? d = oa(a, "margin-right", "marginRight") : d = a.style.marginRight }); return d } }) }); o.defaultView && o.defaultView.getComputedStyle && (Jb = function(a, b) { var d, h, b = b.replace(Ic, "-$1").toLowerCase(); if (! (h = a.ownerDocument.defaultView)) return m; if (h = h.getComputedStyle(a, null)) { d = h.getPropertyValue(b); d === "" && !c.contains(a.ownerDocument.documentElement, a) && (d = c.style(a, b)) } return d }); o.documentElement.currentStyle && (Kb = function(a, b) { var d, c, h, g = a.currentStyle && a.currentStyle[b], l = a.style; g === null && l && (h = l[b]) && (g = h); ! Ib.test(g) && Jc.test(g) && (d = l.left, c = a.runtimeStyle && a.runtimeStyle.left, c && (a.runtimeStyle.left = a.currentStyle.left), l.left = b === "fontSize" ? "1em": g || 0, g = l.pixelLeft + "px", l.left = d, c && (a.runtimeStyle.left = c)); return g === "" ? "auto": g }); oa = Jb || Kb; c.expr && c.expr.filters && (c.expr.filters.hidden = function(a) { var b = a.offsetHeight; return a.offsetWidth === 0 && b === 0 || !c.support.reliableHiddenOffsets && (a.style && a.style.display || c.css(a, "display")) === "none" }, c.expr.filters.visible = function(a) { return ! c.expr.filters.hidden(a) }); var Mc = /%20/g, Sb = /\[\]$/, Lb = /\r?\n/g, Nc = /#.*$/, Oc = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, Pc = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, Qc = /^(?:GET|HEAD)$/, Rc = /^\/\//, Mb = /\?/, Sc = /)<[^<]*)*<\/script>/gi, Tc = /^(?:select|textarea)/i, nb = /\s+/, Uc = /([?&])_=[^&]*/, Nb = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/, Ob = c.fn.load, Ya = {}, Pb = {}, la, ma, Qb = ["*/"] + ["*"]; try { la = F.href } catch(cd) { la = o.createElement("a"), la.href = "", la = la.href } ma = Nb.exec(la.toLowerCase()) || []; c.fn.extend({ load: function(a, b, d) { if (typeof a != "string" && Ob) return Ob.apply(this, arguments); if (!this.length) return this; var h = a.indexOf(" "); if (h >= 0) var g = a.slice(h, a.length), a = a.slice(0, h); h = "GET"; b && (c.isFunction(b) ? (d = b, b = m) : typeof b == "object" && (b = c.param(b, c.ajaxSettings.traditional), h = "POST")); var l = this; c.ajax({ url: a, type: h, dataType: "html", data: b, complete: function(a, b, e) { e = a.responseText; a.isResolved() && (a.done(function(a) { e = a }), l.html(g ? c("
").append(e.replace(Sc, "")).find(g) : e)); d && l.each(d, [e, b, a]) } }); return this }, serialize: function() { return c.param(this.serializeArray()) }, serializeArray: function() { return this.map(function() { return this.elements ? c.makeArray(this.elements) : this }).filter(function() { return this.name && !this.disabled && (this.checked || Tc.test(this.nodeName) || Pc.test(this.type)) }).map(function(a, b) { var d = c(this).val(); return d == null ? null: c.isArray(d) ? c.map(d, function(a) { return { name: b.name, value: a.replace(Lb, "\r\n") } }) : { name: b.name, value: d.replace(Lb, "\r\n") } }).get() } }); c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function(a, b) { c.fn[b] = function(a) { return this.bind(b, a) } }); c.each(["get", "post"], function(a, b) { c[b] = function(a, d, e, h) { c.isFunction(d) && (h = h || e, e = d, d = m); return c.ajax({ type: b, url: a, data: d, success: e, dataType: h }) } }); c.extend({ getScript: function(a, b) { return c.get(a, m, b, "script") }, getJSON: function(a, b, d) { return c.get(a, b, d, "json") }, ajaxSetup: function(a, b) { b ? L(a, c.ajaxSettings) : (b = a, a = c.ajaxSettings); L(a, b); return a }, ajaxSettings: { url: la, isLocal: /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/.test(ma[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", "*": Qb }, contents: { xml: /xml/, html: /html/, json: /json/ }, responseFields: { xml: "responseXML", text: "responseText" }, converters: { "* text": j.String, "text html": !0, "text json": c.parseJSON, "text xml": c.parseXML }, flatOptions: { context: !0, url: !0 } }, ajaxPrefilter: K(Ya), ajaxTransport: K(Pb), ajax: function(a, b) { function d(a, b, e, n) { if (r !== 2) { r = 2; ya && clearTimeout(ya); o = m; p = n || ""; I.readyState = a > 0 ? 4 : 0; var k, z, v, n = b; if (e) { var xa = h, q = I, s = xa.contents, u = xa.dataTypes, K = xa.responseFields, A, w, x, Q; for (w in K) w in e && (q[K[w]] = e[w]); for (; u[0] === "*";) { u.shift(); A === m && (A = xa.mimeType || q.getResponseHeader("content-type")) } if (A) for (w in s) if (s[w] && s[w].test(A)) { u.unshift(w); break } if (u[0] in e) x = u[0]; else { for (w in e) { if (!u[0] || xa.converters[w + " " + u[0]]) { x = w; break } Q || (Q = w) } x = x || Q } if (x) { x !== u[0] && u.unshift(x); e = e[x] } else e = void 0 } else e = m; if (a >= 200 && a < 300 || a === 304) { if (h.ifModified) { if (A = I.getResponseHeader("Last-Modified")) c.lastModified[j] = A; if (A = I.getResponseHeader("Etag")) c.etag[j] = A } if (a === 304) { n = "notmodified"; k = true } else try { A = h; A.dataFilter && (e = A.dataFilter(e, A.dataType)); var C = A.dataTypes; w = {}; var G, fa, H = C.length, B, E = C[0], y, pa, D, ga, ha; for (G = 1; G < H; G++) { if (G === 1) for (fa in A.converters) typeof fa == "string" && (w[fa.toLowerCase()] = A.converters[fa]); y = E; E = C[G]; if (E === "*") E = y; else if (y !== "*" && y !== E) { pa = y + " " + E; D = w[pa] || w["* " + E]; if (!D) { ha = m; for (ga in w) { B = ga.split(" "); if (B[0] === y || B[0] === "*") if (ha = w[B[1] + " " + E]) { ga = w[ga]; ga === true ? D = ha: ha === true && (D = ga); break } } } ! D && !ha && c.error("No conversion from " + pa.replace(" ", " to ")); D !== true && (e = D ? D(e) : ha(ga(e))) } } z = e; n = "success"; k = true } catch(Y) { n = "parsererror"; v = Y } } else { v = n; if (!n || a) { n = "error"; a < 0 && (a = 0) } } I.status = a; I.statusText = "" + (b || n); k ? f.resolveWith(g, [z, n, I]) : f.rejectWith(g, [I, n, v]); I.statusCode(t); t = m; ja && l.trigger("ajax" + (k ? "Success": "Error"), [I, h, k ? z: v]); i.fireWith(g, [I, n]); ja && (l.trigger("ajaxComplete", [I, h]), --c.active || c.event.trigger("ajaxStop")) } } typeof a == "object" && (b = a, a = m); var b = b || {}, h = c.ajaxSetup({}, b), g = h.context || h, l = g !== h && (g.nodeType || g instanceof c) ? c(g) : c.event, f = c.Deferred(), i = c.Callbacks("once memory"), t = h.statusCode || {}, j, k = {}, z = {}, p, v, o, ya, q, r = 0, ja, s, I = { readyState: 0, setRequestHeader: function(a, b) { if (!r) { var d = a.toLowerCase(), a = z[d] = z[d] || a; k[a] = b } return this }, getAllResponseHeaders: function() { return r === 2 ? p: null }, getResponseHeader: function(a) { var b; if (r === 2) { if (!v) for (v = {}; b = Oc.exec(p);) v[b[1].toLowerCase()] = b[2]; b = v[a.toLowerCase()] } return b === m ? null: b }, overrideMimeType: function(a) { r || (h.mimeType = a); return this }, abort: function(a) { a = a || "abort"; o && o.abort(a); d(0, a); return this } }; f.promise(I); I.success = I.done; I.error = I.fail; I.complete = i.add; I.statusCode = function(a) { if (a) { var b; if (r < 2) for (b in a) t[b] = [t[b], a[b]]; else { b = a[I.status]; I.then(b, b) } } return this }; h.url = ((a || h.url) + "").replace(Nc, "").replace(Rc, ma[1] + "//"); h.dataTypes = c.trim(h.dataType || "*").toLowerCase().split(nb); h.crossDomain == null && (q = Nb.exec(h.url.toLowerCase()), h.crossDomain = !(!q || q[1] == ma[1] && q[2] == ma[2] && (q[3] || (q[1] === "http:" ? 80 : 443)) == (ma[3] || (ma[1] === "http:" ? 80 : 443)))); h.data && h.processData && typeof h.data != "string" && (h.data = c.param(h.data, h.traditional)); J(Ya, h, b, I); if (r === 2) return false; ja = h.global; h.type = h.type.toUpperCase(); h.hasContent = !Qc.test(h.type); ja && c.active++===0 && c.event.trigger("ajaxStart"); if (!h.hasContent) { h.data && (h.url = h.url + ((Mb.test(h.url) ? "&": "?") + h.data), delete h.data); j = h.url; if (h.cache === false) { q = c.now(); var u = h.url.replace(Uc, "$1_=" + q); h.url = u + (u === h.url ? (Mb.test(h.url) ? "&": "?") + "_=" + q: "") } } (h.data && h.hasContent && h.contentType !== false || b.contentType) && I.setRequestHeader("Content-Type", h.contentType); h.ifModified && (j = j || h.url, c.lastModified[j] && I.setRequestHeader("If-Modified-Since", c.lastModified[j]), c.etag[j] && I.setRequestHeader("If-None-Match", c.etag[j])); I.setRequestHeader("Accept", h.dataTypes[0] && h.accepts[h.dataTypes[0]] ? h.accepts[h.dataTypes[0]] + (h.dataTypes[0] !== "*" ? ", " + Qb + "; q=0.01": "") : h.accepts["*"]); for (s in h.headers) I.setRequestHeader(s, h.headers[s]); if (h.beforeSend && (h.beforeSend.call(g, I, h) === false || r === 2)) { I.abort(); return false } for (s in { success: 1, error: 1, complete: 1 }) I[s](h[s]); if (o = J(Pb, h, b, I)) { I.readyState = 1; ja && l.trigger("ajaxSend", [I, h]); h.async && h.timeout > 0 && (ya = setTimeout(function() { I.abort("timeout") }, h.timeout)); try { r = 1; o.send(k, d) } catch(K) { r < 2 ? d( - 1, K) : c.error(K) } } else d( - 1, "No Transport"); return I }, param: function(a, b) { var d = [], h = function(a, b) { b = c.isFunction(b) ? b() : b; d[d.length] = encodeURIComponent(a) + "=" + encodeURIComponent(b) }; b === m && (b = c.ajaxSettings.traditional); if (c.isArray(a) || a.jquery && !c.isPlainObject(a)) c.each(a, function() { h(this.name, this.value) }); else for (var g in a) N(g, a[g], b, h); return d.join("&").replace(Mc, "+") } }); c.extend({ active: 0, lastModified: {}, etag: {} }); var Vc = c.now(), Va = /(\=)\?(&|$)|\?\?/i; c.ajaxSetup({ jsonp: "callback", jsonpCallback: function() { return c.expando + "_" + Vc++ } }); c.ajaxPrefilter("json jsonp", function(a, b, d) { b = a.contentType === "application/x-www-form-urlencoded" && typeof a.data == "string"; if (a.dataTypes[0] === "jsonp" || a.jsonp !== false && (Va.test(a.url) || b && Va.test(a.data))) { var h, g = a.jsonpCallback = c.isFunction(a.jsonpCallback) ? a.jsonpCallback() : a.jsonpCallback, l = j[g], f = a.url, i = a.data, t = "$1" + g + "$2"; a.jsonp !== false && (f = f.replace(Va, t), a.url === f && (b && (i = i.replace(Va, t)), a.data === i && (f = f + ((/\?/.test(f) ? "&": "?") + a.jsonp + "=" + g)))); a.url = f; a.data = i; j[g] = function(a) { h = [a] }; d.always(function() { j[g] = l; h && c.isFunction(l) && j[g](h[0]) }); a.converters["script json"] = function() { h || c.error(g + " was not called"); return h[0] }; a.dataTypes[0] = "json"; return "script" } }); c.ajaxSetup({ accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" }, contents: { script: /javascript|ecmascript/ }, converters: { "text script": function(a) { c.globalEval(a); return a } } }); c.ajaxPrefilter("script", function(a) { a.cache === m && (a.cache = false); a.crossDomain && (a.type = "GET", a.global = false) }); c.ajaxTransport("script", function(a) { if (a.crossDomain) { var b, d = o.head || o.getElementsByTagName("head")[0] || o.documentElement; return { send: function(h, c) { b = o.createElement("script"); b.async = "async"; a.scriptCharset && (b.charset = a.scriptCharset); b.src = a.url; b.onload = b.onreadystatechange = function(a, h) { if (h || !b.readyState || /loaded|complete/.test(b.readyState)) { b.onload = b.onreadystatechange = null; d && b.parentNode && d.removeChild(b); b = m; h || c(200, "success") } }; d.insertBefore(b, d.firstChild) }, abort: function() { b && b.onload(0, 1) } } } }); var kb = j.ActiveXObject ? function() { for (var a in wa) wa[a](0, 1) }: !1, Wc = 0, wa; c.ajaxSettings.xhr = j.ActiveXObject ? function() { var a; if (! (a = !this.isLocal && q())) a: { try { a = new j.ActiveXObject("Microsoft.XMLHTTP"); break a } catch(b) {} a = void 0 } return a }: q; var lb = c.ajaxSettings.xhr(); c.extend(c.support, { ajax: !!lb, cors: !!lb && "withCredentials" in lb }); c.support.ajax && c.ajaxTransport(function(a) { if (!a.crossDomain || c.support.cors) { var b; return { send: function(d, h) { var g = a.xhr(), l, f; a.username ? g.open(a.type, a.url, a.async, a.username, a.password) : g.open(a.type, a.url, a.async); if (a.xhrFields) for (f in a.xhrFields) g[f] = a.xhrFields[f]; a.mimeType && g.overrideMimeType && g.overrideMimeType(a.mimeType); ! a.crossDomain && !d["X-Requested-With"] && (d["X-Requested-With"] = "XMLHttpRequest"); try { for (f in d) g.setRequestHeader(f, d[f]) } catch(i) {} g.send(a.hasContent && a.data || null); b = function(d, f) { var i, t, j, k, z; try { if (b && (f || g.readyState === 4)) { b = m; l && (g.onreadystatechange = c.noop, kb && delete wa[l]); if (f) g.readyState !== 4 && g.abort(); else { i = g.status; j = g.getAllResponseHeaders(); k = {}; (z = g.responseXML) && z.documentElement && (k.xml = z); k.text = g.responseText; try { t = g.statusText } catch(p) { t = "" } ! i && a.isLocal && !a.crossDomain ? i = k.text ? 200 : 404 : i === 1223 && (i = 204) } } } catch(v) { f || h( - 1, v) } k && h(i, t, k, j) }; ! a.async || g.readyState === 4 ? b() : (l = ++Wc, kb && (wa || (wa = {}, c(j).unload(kb)), wa[l] = b), g.onreadystatechange = b) }, abort: function() { b && b(0, 1) } } } }); var Xa = {}, da, na, Xc = /^(?:toggle|show|hide)$/, Yc = /^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i, Wa, mb = [["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"], ["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"], ["opacity"]], Da; c.fn.extend({ show: function(a, b, d) { var h; if (a || a === 0) return this.animate(y("show", 3), a, b, d); b = 0; for (d = this.length; b < d; b++) { a = this[b]; a.style && (h = a.style.display, !c._data(a, "olddisplay") && h === "none" && (h = a.style.display = ""), h === "" && c.css(a, "display") === "none" && c._data(a, "olddisplay", x(a.nodeName))) } for (b = 0; b < d; b++) { a = this[b]; if (a.style) { h = a.style.display; if (h === "" || h === "none") a.style.display = c._data(a, "olddisplay") || "" } } return this }, hide: function(a, b, d) { if (a || a === 0) return this.animate(y("hide", 3), a, b, d); for (var h, b = 0, d = this.length; b < d; b++) { a = this[b]; a.style && (h = c.css(a, "display"), h !== "none" && !c._data(a, "olddisplay") && c._data(a, "olddisplay", h)) } for (b = 0; b < d; b++) this[b].style && (this[b].style.display = "none"); return this }, _toggle: c.fn.toggle, toggle: function(a, b, d) { var h = typeof a == "boolean"; c.isFunction(a) && c.isFunction(b) ? this._toggle.apply(this, arguments) : a == null || h ? this.each(function() { var b = h ? a: c(this).is(":hidden"); c(this)[b ? "show": "hide"]() }) : this.animate(y("toggle", 3), a, b, d); return this }, fadeTo: function(a, b, d, h) { return this.filter(":hidden").css("opacity", 0).show().end().animate({ opacity: b }, a, d, h) }, animate: function(a, b, d, h) { function g() { l.queue === false && c._mark(this); var b = c.extend({}, l), d = this.nodeType === 1, h = d && c(this).is(":hidden"), f, i, t, j, k, n, z, p; b.animatedProperties = {}; for (t in a) { f = c.camelCase(t); t !== f && (a[f] = a[t], delete a[t]); i = a[f]; c.isArray(i) ? (b.animatedProperties[f] = i[1], i = a[f] = i[0]) : b.animatedProperties[f] = b.specialEasing && b.specialEasing[f] || b.easing || "swing"; if (i === "hide" && h || i === "show" && !h) return b.complete.call(this); d && (f === "height" || f === "width") && (b.overflow = [this.style.overflow, this.style.overflowX, this.style.overflowY], c.css(this, "display") === "inline" && c.css(this, "float") === "none" && (!c.support.inlineBlockNeedsLayout || x(this.nodeName) === "inline" ? this.style.display = "inline-block": this.style.zoom = 1)) } b.overflow != null && (this.style.overflow = "hidden"); for (t in a) { d = new c.fx(this, b, t); i = a[t]; Xc.test(i) ? (p = c._data(this, "toggle" + t) || (i === "toggle" ? h ? "show": "hide": 0), p ? (c._data(this, "toggle" + t, p === "show" ? "hide": "show"), d[p]()) : d[i]()) : (j = Yc.exec(i), k = d.cur(), j ? (n = parseFloat(j[2]), z = j[3] || (c.cssNumber[t] ? "": "px"), z !== "px" && (c.style(this, t, (n || 1) + z), k = (n || 1) / d.cur() * k, c.style(this, t, k + z)), j[1] && (n = (j[1] === "-=" ? -1 : 1) * n + k), d.custom(k, n, z)) : d.custom(k, i, "")) } return true } var l = c.speed(b, d, h); if (c.isEmptyObject(a)) return this.each(l.complete, [false]); a = c.extend({}, a); return l.queue === false ? this.each(g) : this.queue(l.queue, g) }, stop: function(a, b, d) { typeof a != "string" && (d = b, b = a, a = m); b && a !== false && this.queue(a || "fx", []); return this.each(function() { var b, h = false, g = c.timers, l = c._data(this); d || c._unmark(true, this); if (a == null) for (b in l) { if (l[b].stop && b.indexOf(".run") === b.length - 4) { var f = l[b]; c.removeData(this, b, true); f.stop(d) } } else if (l[b = a + ".run"] && l[b].stop) { l = l[b]; c.removeData(this, b, true); l.stop(d) } for (b = g.length; b--;) g[b].elem === this && (a == null || g[b].queue === a) && (d ? g[b](true) : g[b].saveState(), h = true, g.splice(b, 1)); (!d || !h) && c.dequeue(this, a) }) } }); c.each({ slideDown: y("show", 1), slideUp: y("hide", 1), slideToggle: y("toggle", 1), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle" } }, function(a, b) { c.fn[a] = function(a, d, h) { return this.animate(b, a, d, h) } }); c.extend({ speed: function(a, b, d) { var h = a && typeof a == "object" ? c.extend({}, a) : { complete: d || !d && b || c.isFunction(a) && a, duration: a, easing: d && b || b && !c.isFunction(b) && b }; h.duration = c.fx.off ? 0 : typeof h.duration == "number" ? h.duration: h.duration in c.fx.speeds ? c.fx.speeds[h.duration] : c.fx.speeds._default; if (h.queue == null || h.queue === true) h.queue = "fx"; h.old = h.complete; h.complete = function(a) { c.isFunction(h.old) && h.old.call(this); h.queue ? c.dequeue(this, h.queue) : a !== false && c._unmark(this) }; return h }, easing: { linear: function(a, b, d, h) { return d + h * a }, swing: function(a, b, d, h) { return ( - Math.cos(a * Math.PI) / 2 + 0.5) * h + d } }, timers: [], fx: function(a, b, d) { this.options = b; this.elem = a; this.prop = d; b.orig = b.orig || {} } }); c.fx.prototype = { update: function() { this.options.step && this.options.step.call(this.elem, this.now, this); (c.fx.step[this.prop] || c.fx.step._default)(this) }, cur: function() { if (this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null)) return this.elem[this.prop]; var a, b = c.css(this.elem, this.prop); return isNaN(a = parseFloat(b)) ? !b || b === "auto" ? 0 : b: a }, custom: function(a, b, d) { function h(a) { return g.step(a) } var g = this, l = c.fx; this.startTime = Da || r(); this.end = b; this.now = this.start = a; this.pos = this.state = 0; this.unit = d || this.unit || (c.cssNumber[this.prop] ? "": "px"); h.queue = this.options.queue; h.elem = this.elem; h.saveState = function() { g.options.hide && c._data(g.elem, "fxshow" + g.prop) === m && c._data(g.elem, "fxshow" + g.prop, g.start) }; h() && c.timers.push(h) && !Wa && (Wa = setInterval(l.tick, l.interval)) }, show: function() { var a = c._data(this.elem, "fxshow" + this.prop); this.options.orig[this.prop] = a || c.style(this.elem, this.prop); this.options.show = true; a !== m ? this.custom(this.cur(), a) : this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur()); c(this.elem).show() }, hide: function() { this.options.orig[this.prop] = c._data(this.elem, "fxshow" + this.prop) || c.style(this.elem, this.prop); this.options.hide = true; this.custom(this.cur(), 0) }, step: function(a) { var b, d, h = Da || r(), g = true, l = this.elem, f = this.options; if (a || h >= f.duration + this.startTime) { this.now = this.end; this.pos = this.state = 1; this.update(); f.animatedProperties[this.prop] = true; for (b in f.animatedProperties) f.animatedProperties[b] !== true && (g = false); if (g) { f.overflow != null && !c.support.shrinkWrapBlocks && c.each(["", "X", "Y"], function(a, b) { l.style["overflow" + b] = f.overflow[a] }); f.hide && c(l).hide(); if (f.hide || f.show) for (b in f.animatedProperties) { c.style(l, b, f.orig[b]); c.removeData(l, "fxshow" + b, true); c.removeData(l, "toggle" + b, true) } (a = f.complete) && (f.complete = false, a.call(l)) } return false } f.duration == Infinity ? this.now = h: (d = h - this.startTime, this.state = d / f.duration, this.pos = c.easing[f.animatedProperties[this.prop]](this.state, d, 0, 1, f.duration), this.now = this.start + (this.end - this.start) * this.pos); this.update(); return true } }; c.extend(c.fx, { tick: function() { for (var a, b = c.timers, d = 0; d < b.length; d++) { a = b[d]; ! a() && b[d] === a && b.splice(d--, 1) } b.length || c.fx.stop() }, interval: 13, stop: function() { clearInterval(Wa); Wa = null }, speeds: { slow: 600, fast: 200, _default: 400 }, step: { opacity: function(a) { c.style(a.elem, "opacity", a.now) }, _default: function(a) { a.elem.style && a.elem.style[a.prop] != null ? a.elem.style[a.prop] = a.now + a.unit: a.elem[a.prop] = a.now } } }); c.each(["width", "height"], function(a, b) { c.fx.step[b] = function(a) { c.style(a.elem, b, Math.max(0, a.now)) } }); c.expr && c.expr.filters && (c.expr.filters.animated = function(a) { return c.grep(c.timers, function(b) { return a === b.elem }).length }); var Zc = /^t(?:able|d|h)$/i, Rb = /^(?:body|html)$/i; "getBoundingClientRect" in o.documentElement ? c.fn.offset = function(a) { var b = this[0], d; if (a) return this.each(function(b) { c.offset.setOffset(this, a, b) }); if (!b || !b.ownerDocument) return null; if (b === b.ownerDocument.body) return c.offset.bodyOffset(b); try { d = b.getBoundingClientRect() } catch(h) {} var g = b.ownerDocument, l = g.documentElement; if (!d || !c.contains(l, b)) return d ? { top: d.top, left: d.left }: { top: 0, left: 0 }; b = g.body; g = s(g); return { top: d.top + (g.pageYOffset || c.support.boxModel && l.scrollTop || b.scrollTop) - (l.clientTop || b.clientTop || 0), left: d.left + (g.pageXOffset || c.support.boxModel && l.scrollLeft || b.scrollLeft) - (l.clientLeft || b.clientLeft || 0) } }: c.fn.offset = function(a) { var b = this[0]; if (a) return this.each(function(b) { c.offset.setOffset(this, a, b) }); if (!b || !b.ownerDocument) return null; if (b === b.ownerDocument.body) return c.offset.bodyOffset(b); var d, h = b.offsetParent, g = b.ownerDocument, l = g.documentElement, f = g.body; d = (g = g.defaultView) ? g.getComputedStyle(b, null) : b.currentStyle; for (var i = b.offsetTop, t = b.offsetLeft; (b = b.parentNode) && b !== f && b !== l;) { if (c.support.fixedPosition && d.position === "fixed") break; d = g ? g.getComputedStyle(b, null) : b.currentStyle; i = i - b.scrollTop; t = t - b.scrollLeft; b === h && (i = i + b.offsetTop, t = t + b.offsetLeft, c.support.doesNotAddBorder && (!c.support.doesAddBorderForTableAndCells || !Zc.test(b.nodeName)) && (i = i + (parseFloat(d.borderTopWidth) || 0), t = t + (parseFloat(d.borderLeftWidth) || 0)), h = b.offsetParent); c.support.subtractsBorderForOverflowNotVisible && d.overflow !== "visible" && (i = i + (parseFloat(d.borderTopWidth) || 0), t = t + (parseFloat(d.borderLeftWidth) || 0)) } if (d.position === "relative" || d.position === "static") { i = i + f.offsetTop; t = t + f.offsetLeft } c.support.fixedPosition && d.position === "fixed" && (i = i + Math.max(l.scrollTop, f.scrollTop), t = t + Math.max(l.scrollLeft, f.scrollLeft)); return { top: i, left: t } }; c.offset = { bodyOffset: function(a) { var b = a.offsetTop, d = a.offsetLeft; c.support.doesNotIncludeMarginInBodyOffset && (b = b + (parseFloat(c.css(a, "marginTop")) || 0), d = d + (parseFloat(c.css(a, "marginLeft")) || 0)); return { top: b, left: d } }, setOffset: function(a, b, d) { var h = c.css(a, "position"); h === "static" && (a.style.position = "relative"); var g = c(a), l = g.offset(), f = c.css(a, "top"), i = c.css(a, "left"), t = {}, j = {}, k, z; (h === "absolute" || h === "fixed") && c.inArray("auto", [f, i]) > -1 ? (j = g.position(), k = j.top, z = j.left) : (k = parseFloat(f) || 0, z = parseFloat(i) || 0); c.isFunction(b) && (b = b.call(a, d, l)); b.top != null && (t.top = b.top - l.top + k); b.left != null && (t.left = b.left - l.left + z); "using" in b ? b.using.call(a, t) : g.css(t) } }; c.fn.extend({ position: function() { if (!this[0]) return null; var a = this[0], b = this.offsetParent(), d = this.offset(), h = Rb.test(b[0].nodeName) ? { top: 0, left: 0 }: b.offset(); d.top = d.top - (parseFloat(c.css(a, "marginTop")) || 0); d.left = d.left - (parseFloat(c.css(a, "marginLeft")) || 0); h.top = h.top + (parseFloat(c.css(b[0], "borderTopWidth")) || 0); h.left = h.left + (parseFloat(c.css(b[0], "borderLeftWidth")) || 0); return { top: d.top - h.top, left: d.left - h.left } }, offsetParent: function() { return this.map(function() { for (var a = this.offsetParent || o.body; a && !Rb.test(a.nodeName) && c.css(a, "position") === "static";) a = a.offsetParent; return a }) } }); c.each(["Left", "Top"], function(a, b) { var d = "scroll" + b; c.fn[d] = function(b) { var h, g; if (b === m) { h = this[0]; if (!h) return null; return (g = s(h)) ? "pageXOffset" in g ? g[a ? "pageYOffset": "pageXOffset"] : c.support.boxModel && g.document.documentElement[d] || g.document.body[d] : h[d] } return this.each(function() { (g = s(this)) ? g.scrollTo(a ? c(g).scrollLeft() : b, a ? b: c(g).scrollTop()) : this[d] = b }) } }); c.each(["Height", "Width"], function(a, b) { var d = b.toLowerCase(); c.fn["inner" + b] = function() { var a = this[0]; return a ? a.style ? parseFloat(c.css(a, d, "padding")) : this[d]() : null }; c.fn["outer" + b] = function(a) { var b = this[0]; return b ? b.style ? parseFloat(c.css(b, d, a ? "margin": "border")) : this[d]() : null }; c.fn[d] = function(a) { var h = this[0]; if (!h) return a == null ? null: this; if (c.isFunction(a)) return this.each(function(b) { var h = c(this); h[d](a.call(this, b, h[d]())) }); if (c.isWindow(h)) { var e = h.document.documentElement["client" + b], g = h.document.body; return h.document.compatMode === "CSS1Compat" && e || g && g["client" + b] || e } if (h.nodeType === 9) return Math.max(h.documentElement["client" + b], h.body["scroll" + b], h.documentElement["scroll" + b], h.body["offset" + b], h.documentElement["offset" + b]); if (a === m) { h = c.css(h, d); e = parseFloat(h); return c.isNumeric(e) ? e: h } return this.css(d, typeof a == "string" ? a: a + "px") } }); j.jQuery = j.$ = c })(window); (function(j) { function m(j) { var m = this.data("tEvents"); m || (m = { dispatch: {} }, Object.defineProperty(this.data(), "tEvents", { value: m, enumerable: !1, writable: !0, configurable: !0 })); m.events = m.events || 0; m.dispatch[j] = !0; 0 === m.events && (N ? (this.bind("touchstart", x), this.bind("touchmove", y)) : (this.bind("mousedown", x), this.bind("mousemove", y))); m.events += 1 } function s() { var m = this.data("tEvents"); m && (m.events = Math.max(0, m.events - 1), 0 === m.events && (N ? (this.unbind("touchstart", x), this.unbind("touchmove", y), m.eventUpHandler && j("body").unbind("touchend", m.eventUpHandler)) : (this.unbind("mousedown", x), this.unbind("mousemove", y), m.eventUpHandler && j("body").unbind("mouseup", m.eventUpHandler)))) } function x(m) { var r = j(this), s = r.data("tEvents"), u = q(m), x = r.offset(), C = !1; x && (C = (C = (C = (C = u.x > x.left) && u.y > x.top) && u.x < x.left + r.width()) && u.y < x.top + r.height()); if (C || this == document) s.currentEvent = u, s.initialEvent = u, -1 == L.indexOf(this) && L.push(this), s.dispatch.press && (r = j.event.fix(m), r.type = "press", j(m.target).trigger(r)) } function y(m) { var r = j(this), s = r.data("tEvents"), u; if (s.currentEvent) { u = j(s.currentEvent.target || r); var x = j.extend({}, s.currentEvent); s.currentEvent = q(m); s.prevEvent = x; if (s.dispatch.pinching && N) { var C = m.originalEvent.touches; if (2 == C.length) { var x = C[1].pageX / 2 + C[0].pageX / 2, y = C[1].pageY / 2 + C[0].pageY / 2, D = j.Event("pinching"), w = C[1].pageX - C[0].pageX, C = C[1].pageY - C[0].pageY, w = Math.sqrt(w * w + C * C); s.fingerDistance || (s.fingerDistance = w); D.pageX = x; D.pageY = y; D.target = m.target; D.factor = w / s.fingerDistance; u.trigger(D) } } } s.dispatch.moving && (m = j.event.fix(m), m.type = "moving", r.trigger(m)) } function u(m) { for (var q = !0, r = !0, s = !0, u = !0, x = 0; x < L.length; x++) { var y = L[x], D = j(y), w = D.data("tEvents"); if (w.currentEvent) { var J = !1, k = (D = j(w.currentEvent.target || D)) ? D.offset() : null; if (w.prevEvent && w.dispatch.swipe) { var B = (w.currentEvent.x - w.prevEvent.x) / (w.currentEvent.time - w.prevEvent.time); if (q && ( - 1 > B || 1 < B)) { var U = j.Event("swipe"), q = !1; D.trigger(U, [B]) } } w.dispatch.unpress && u && (B = j.event.fix(m), B.type = "unpress", u = !1, j(w.initialEvent.target).trigger(B)); k && (J = (J = (J = (J = w.currentEvent.x >= k.left) && w.currentEvent.y >= k.top) && w.currentEvent.x <= k.left + D.width()) && w.currentEvent.y <= k.top + D.height()); if (!w.prevEvent && (J || y == document)) if (w.dispatch.tap && s && (y = j.event.fix(m), y.type = "tap", s = !1, y.pageX = w.currentEvent.x, y.pageY = w.currentEvent.y, D.trigger(y)), w.dispatch.doubleTap && r) if (w.taps || (w.taps = [0, 0]), w.taps.splice(0, 1), w.taps.push((new Date).getTime()), 300 > w.taps[1] - w.taps[0]) y = j.event.fix(m), y.type = "doubleTap", r = !1, y.pageX = w.currentEvent.x, y.pageY = w.currentEvent.y, D.trigger(y); N ? j("body").unbind("touchend", w.eventUpHandler) : j("body").unbind("mouseup", w.eventUpHandler); delete w.eventUpHandler; delete w.currentEvent; delete w.prevEvent; delete w.initialEvent; delete w.fingerDistance } L.slice(x, 1) } } function r(q) { j.event.special[q] = { setup: function() { m.call(j(this), q) }, teardown: function() { s.call(j(this)) } } } function q(j) { var m = N ? { x: j.originalEvent.touches[0].pageX, y: j.originalEvent.touches[0].pageY }: { x: j.pageX, y: j.pageY }; m.time = (new Date).getTime(); m.target = j.target; return m } var N = j.isTouch || "ontouchstart" in window, L = []; Object.defineProperty || (Object.prototype.defineProperty = function(j, m, q) { j[m] = q.value }); N ? j(document).bind("touchend", u) : j(document).bind("mouseup", u); for (var J = "swipe tap doubleTap pinching press unpress moving".split(" "); J.length;) r(J.pop()) })(jQuery); (function() { var j = this, m = j._, s = {}, x = Array.prototype, y = Object.prototype, u = x.push, r = x.slice, q = x.concat, N = y.toString, L = y.hasOwnProperty, J = x.forEach, K = x.map, Q = x.reduce, Y = x.reduceRight, ea = x.filter, S = x.every, C = x.some, V = x.indexOf, D = x.lastIndexOf, y = Array.isArray, w = Object.keys, aa = Function.prototype.bind, k = function(a) { return a instanceof k ? a: this instanceof k ? (this._wrapped = a, void 0) : new k(a) }; "undefined" != typeof exports ? ("undefined" != typeof module && module.exports && (exports = module.exports = k), exports._ = k) : j._ = k; k.VERSION = "1.4.3"; var B = k.each = k.forEach = function(a, b, d) { if (null != a) if (J && a.forEach === J) a.forEach(b, d); else if (a.length === +a.length) for (var c = 0, f = a.length; f > c && b.call(d, a[c], c, a) !== s; c++); else for (c in a) if (k.has(a, c) && b.call(d, a[c], c, a) === s) break }; k.map = k.collect = function(a, b, d) { var c = []; return null == a ? c: K && a.map === K ? a.map(b, d) : (B(a, function(a, f, i) { c[c.length] = b.call(d, a, f, i) }), c) }; k.reduce = k.foldl = k.inject = function(a, b, d, c) { var f = 2 < arguments.length; if (null == a && (a = []), Q && a.reduce === Q) return c && (b = k.bind(b, c)), f ? a.reduce(b, d) : a.reduce(b); if (B(a, function(a, i, j) { f ? d = b.call(c, d, a, i, j) : (d = a, f = !0) }), !f) throw new TypeError("Reduce of empty array with no initial value"); return d }; k.reduceRight = k.foldr = function(a, b, d, c) { var f = 2 < arguments.length; if (null == a && (a = []), Y && a.reduceRight === Y) return c && (b = k.bind(b, c)), f ? a.reduceRight(b, d) : a.reduceRight(b); var i = a.length; if (i !== +i) var j = k.keys(a), i = j.length; if (B(a, function(k, p, m) { p = j ? j[--i] : --i; f ? d = b.call(c, d, a[p], p, m) : (d = a[p], f = !0) }), !f) throw new TypeError("Reduce of empty array with no initial value"); return d }; k.find = k.detect = function(a, b, d) { var c; return U(a, function(a, f, i) { return b.call(d, a, f, i) ? (c = a, !0) : void 0 }), c }; k.filter = k.select = function(a, b, d) { var c = []; return null == a ? c: ea && a.filter === ea ? a.filter(b, d) : (B(a, function(a, f, i) { b.call(d, a, f, i) && (c[c.length] = a) }), c) }; k.reject = function(a, b, d) { return k.filter(a, function(a, c, f) { return ! b.call(d, a, c, f) }, d) }; k.every = k.all = function(a, b, d) { b || (b = k.identity); var c = !0; return null == a ? c: S && a.every === S ? a.every(b, d) : (B(a, function(a, f, i) { return (c = c && b.call(d, a, f, i)) ? void 0 : s }), !!c) }; var U = k.some = k.any = function(a, b, d) { b || (b = k.identity); var c = !1; return null == a ? c: C && a.some === C ? a.some(b, d) : (B(a, function(a, f, i) { return c || (c = b.call(d, a, f, i)) ? s: void 0 }), !!c) }; k.contains = k.include = function(a, b) { return null == a ? !1 : V && a.indexOf === V ? -1 != a.indexOf(b) : U(a, function(a) { return a === b }) }; k.invoke = function(a, b) { var d = r.call(arguments, 2); return k.map(a, function(a) { return (k.isFunction(b) ? b: a[b]).apply(a, d) }) }; k.pluck = function(a, b) { return k.map(a, function(a) { return a[b] }) }; k.where = function(a, b) { return k.isEmpty(b) ? [] : k.filter(a, function(a) { for (var d in b) if (b[d] !== a[d]) return ! 1; return ! 0 }) }; k.max = function(a, b, d) { if (!b && k.isArray(a) && a[0] === +a[0] && 65535 > a.length) return Math.max.apply(Math, a); if (!b && k.isEmpty(a)) return - 1 / 0; var c = { computed: -1 / 0, value: -1 / 0 }; return B(a, function(a, f, i) { f = b ? b.call(d, a, f, i) : a; f >= c.computed && (c = { value: a, computed: f }) }), c.value }; k.min = function(a, b, d) { if (!b && k.isArray(a) && a[0] === +a[0] && 65535 > a.length) return Math.min.apply(Math, a); if (!b && k.isEmpty(a)) return 1 / 0; var c = { computed: 1 / 0, value: 1 / 0 }; return B(a, function(a, f, i) { f = b ? b.call(d, a, f, i) : a; c.computed > f && (c = { value: a, computed: f }) }), c.value }; k.shuffle = function(a) { var b, d = 0, c = []; return B(a, function(a) { b = k.random(d++); c[d - 1] = c[b]; c[b] = a }), c }; var R = function(a) { return k.isFunction(a) ? a: function(b) { return b[a] } }; k.sortBy = function(a, b, d) { var c = R(b); return k.pluck(k.map(a, function(a, b, h) { return { value: a, index: b, criteria: c.call(d, a, b, h) } }).sort(function(a, b) { var d = a.criteria, h = b.criteria; if (d !== h) { if (d > h || void 0 === d) return 1; if (h > d || void 0 === h) return - 1 } return a.index < b.index ? -1 : 1 }), "value") }; var M = function(a, b, d, c) { var f = {}, i = R(b || k.identity); return B(a, function(b, h) { var j = i.call(d, b, h, a); c(f, j, b) }), f }; k.groupBy = function(a, b, d) { return M(a, b, d, function(a, b, d) { (k.has(a, b) ? a[b] : a[b] = []).push(d) }) }; k.countBy = function(a, b, d) { return M(a, b, d, function(a, b) { k.has(a, b) || (a[b] = 0); a[b]++ }) }; k.sortedIndex = function(a, b, d, c) { for (var d = null == d ? k.identity: R(d), b = d.call(c, b), f = 0, i = a.length; i > f;) { var j = f + i >>> 1; b > d.call(c, a[j]) ? f = j + 1 : i = j } return f }; k.toArray = function(a) { return a ? k.isArray(a) ? r.call(a) : a.length === +a.length ? k.map(a, k.identity) : k.values(a) : [] }; k.size = function(a) { return null == a ? 0 : a.length === +a.length ? a.length: k.keys(a).length }; k.first = k.head = k.take = function(a, b, d) { return null == a ? void 0 : null == b || d ? a[0] : r.call(a, 0, b) }; k.initial = function(a, b, d) { return r.call(a, 0, a.length - (null == b || d ? 1 : b)) }; k.last = function(a, b, d) { return null == a ? void 0 : null == b || d ? a[a.length - 1] : r.call(a, Math.max(a.length - b, 0)) }; k.rest = k.tail = k.drop = function(a, b, d) { return r.call(a, null == b || d ? 1 : b) }; k.compact = function(a) { return k.filter(a, k.identity) }; var o = function(a, b, d) { return B(a, function(a) { k.isArray(a) ? b ? u.apply(d, a) : o(a, b, d) : d.push(a) }), d }; k.flatten = function(a, b) { return o(a, b, []) }; k.without = function(a) { return k.difference(a, r.call(arguments, 1)) }; k.uniq = k.unique = function(a, b, d, c) { k.isFunction(b) && (c = d, d = b, b = !1); var d = d ? k.map(a, d, c) : a, f = [], i = []; return B(d, function(d, c) { (b ? c && i[i.length - 1] === d: k.contains(i, d)) || (i.push(d), f.push(a[c])) }), f }; k.union = function() { return k.uniq(q.apply(x, arguments)) }; k.intersection = function(a) { var b = r.call(arguments, 1); return k.filter(k.uniq(a), function(a) { return k.every(b, function(b) { return 0 <= k.indexOf(b, a) }) }) }; k.difference = function(a) { var b = q.apply(x, r.call(arguments, 1)); return k.filter(a, function(a) { return ! k.contains(b, a) }) }; k.zip = function() { for (var a = r.call(arguments), b = k.max(k.pluck(a, "length")), d = Array(b), c = 0; b > c; c++) d[c] = k.pluck(a, "" + c); return d }; k.object = function(a, b) { if (null == a) return {}; for (var d = {}, c = 0, f = a.length; f > c; c++) b ? d[a[c]] = b[c] : d[a[c][0]] = a[c][1]; return d }; k.indexOf = function(a, b, d) { if (null == a) return - 1; var c = 0, f = a.length; if (d) { if ("number" != typeof d) return c = k.sortedIndex(a, b), a[c] === b ? c: -1; c = 0 > d ? Math.max(0, f + d) : d } if (V && a.indexOf === V) return a.indexOf(b, d); for (; f > c; c++) if (a[c] === b) return c; return - 1 }; k.lastIndexOf = function(a, b, d) { if (null == a) return - 1; var c = null != d; if (D && a.lastIndexOf === D) return c ? a.lastIndexOf(b, d) : a.lastIndexOf(b); for (d = c ? d: a.length; d--;) if (a[d] === b) return d; return - 1 }; k.range = function(a, b, d) { 1 >= arguments.length && (b = a || 0, a = 0); for (var d = arguments[2] || 1, c = Math.max(Math.ceil((b - a) / d), 0), f = 0, i = Array(c); c > f;) i[f++] = a, a += d; return i }; var F = function() {}; k.bind = function(a, b) { var d, c; if (a.bind === aa && aa) return aa.apply(a, r.call(arguments, 1)); if (!k.isFunction(a)) throw new TypeError; return d = r.call(arguments, 2), c = function() { if (! (this instanceof c)) return a.apply(b, d.concat(r.call(arguments))); F.prototype = a.prototype; var f = new F; F.prototype = null; var i = a.apply(f, d.concat(r.call(arguments))); return Object(i) === i ? i: f } }; k.bindAll = function(a) { var b = r.call(arguments, 1); return 0 == b.length && (b = k.functions(a)), B(b, function(b) { a[b] = k.bind(a[b], a) }), a }; k.memoize = function(a, b) { var d = {}; return b || (b = k.identity), function() { var c = b.apply(this, arguments); return k.has(d, c) ? d[c] : d[c] = a.apply(this, arguments) } }; k.delay = function(a, b) { var d = r.call(arguments, 2); return setTimeout(function() { return a.apply(null, d) }, b) }; k.defer = function(a) { return k.delay.apply(k, [a, 1].concat(r.call(arguments, 1))) }; k.throttle = function(a, b) { var d, c, f, i, j = 0, k = function() { j = new Date; f = null; i = a.apply(d, c) }; return function() { var p = new Date, m = b - (p - j); return d = this, c = arguments, 0 >= m ? (clearTimeout(f), f = null, j = p, i = a.apply(d, c)) : f || (f = setTimeout(k, m)), i } }; k.debounce = function(a, b, d) { var c, f; return function() { var i = this, j = arguments, k = d && !c; return clearTimeout(c), c = setTimeout(function() { c = null; d || (f = a.apply(i, j)) }, b), k && (f = a.apply(i, j)), f } }; k.once = function(a) { var b, d = !1; return function() { return d ? b: (d = !0, b = a.apply(this, arguments), a = null, b) } }; k.wrap = function(a, b) { return function() { var d = [a]; return u.apply(d, arguments), b.apply(this, d) } }; k.compose = function() { var a = arguments; return function() { for (var b = arguments, d = a.length - 1; 0 <= d; d--) b = [a[d].apply(this, b)]; return b[0] } }; k.after = function(a, b) { return 0 >= a ? b() : function() { return 1 > --a ? b.apply(this, arguments) : void 0 } }; k.keys = w || function(a) { if (a !== Object(a)) throw new TypeError("Invalid object"); var b = [], d; for (d in a) k.has(a, d) && (b[b.length] = d); return b }; k.values = function(a) { var b = [], d; for (d in a) k.has(a, d) && b.push(a[d]); return b }; k.pairs = function(a) { var b = [], d; for (d in a) k.has(a, d) && b.push([d, a[d]]); return b }; k.invert = function(a) { var b = {}, d; for (d in a) k.has(a, d) && (b[a[d]] = d); return b }; k.functions = k.methods = function(a) { var b = [], d; for (d in a) k.isFunction(a[d]) && b.push(d); return b.sort() }; k.extend = function(a) { return B(r.call(arguments, 1), function(b) { if (b) for (var d in b) a[d] = b[d] }), a }; k.pick = function(a) { var b = {}, d = q.apply(x, r.call(arguments, 1)); return B(d, function(d) { d in a && (b[d] = a[d]) }), b }; k.omit = function(a) { var b = {}, d = q.apply(x, r.call(arguments, 1)), c; for (c in a) k.contains(d, c) || (b[c] = a[c]); return b }; k.defaults = function(a) { return B(r.call(arguments, 1), function(b) { if (b) for (var d in b) null == a[d] && (a[d] = b[d]) }), a }; k.clone = function(a) { return k.isObject(a) ? k.isArray(a) ? a.slice() : k.extend({}, a) : a }; k.tap = function(a, b) { return b(a), a }; var c = function(a, b, d, f) { if (a === b) return 0 !== a || 1 / a == 1 / b; if (null == a || null == b) return a === b; a instanceof k && (a = a._wrapped); b instanceof k && (b = b._wrapped); var i = N.call(a); if (i != N.call(b)) return ! 1; switch (i) { case "[object String]": return a == b + ""; case "[object Number]": return a != +a ? b != +b: 0 == a ? 1 / a == 1 / b: a == +b; case "[object Date]": case "[object Boolean]": return + a == +b; case "[object RegExp]": return a.source == b.source && a.global == b.global && a.multiline == b.multiline && a.ignoreCase == b.ignoreCase } if ("object" != typeof a || "object" != typeof b) return ! 1; for (var j = d.length; j--;) if (d[j] == a) return f[j] == b; d.push(a); f.push(b); var j = 0, p = !0; if ("[object Array]" == i) { if (j = a.length, p = j == b.length) for (; j--&&(p = c(a[j], b[j], d, f));); } else { var i = a.constructor, m = b.constructor; if (i !== m && (!k.isFunction(i) || !(i instanceof i && k.isFunction(m) && m instanceof m))) return ! 1; for (var v in a) if (k.has(a, v) && (j++, !(p = k.has(b, v) && c(a[v], b[v], d, f)))) break; if (p) { for (v in b) if (k.has(b, v) && !j--) break; p = !j } } return d.pop(), f.pop(), p }; k.isEqual = function(a, b) { return c(a, b, [], []) }; k.isEmpty = function(a) { if (null == a) return ! 0; if (k.isArray(a) || k.isString(a)) return 0 === a.length; for (var b in a) if (k.has(a, b)) return ! 1; return ! 0 }; k.isElement = function(a) { return ! (!a || 1 !== a.nodeType) }; k.isArray = y || function(a) { return "[object Array]" == N.call(a) }; k.isObject = function(a) { return a === Object(a) }; B("Arguments Function String Number Date RegExp".split(" "), function(a) { k["is" + a] = function(b) { return N.call(b) == "[object " + a + "]" } }); k.isArguments(arguments) || (k.isArguments = function(a) { return ! (!a || !k.has(a, "callee")) }); k.isFunction = function(a) { return "function" == typeof a }; k.isFinite = function(a) { return isFinite(a) && !isNaN(parseFloat(a)) }; k.isNaN = function(a) { return k.isNumber(a) && a != +a }; k.isBoolean = function(a) { return ! 0 === a || !1 === a || "[object Boolean]" == N.call(a) }; k.isNull = function(a) { return null === a }; k.isUndefined = function(a) { return void 0 === a }; k.has = function(a, b) { return L.call(a, b) }; k.noConflict = function() { return j._ = m, this }; k.identity = function(a) { return a }; k.times = function(a, b, d) { for (var c = Array(a), f = 0; a > f; f++) c[f] = b.call(d, f); return c }; k.random = function(a, b) { return null == b && (b = a, a = 0), a + (0 | Math.random() * (b - a + 1)) }; var i = { escape: { "&": "&", "<": "<", ">": ">", '"': """, "'": "'", "/": "/" } }; i.unescape = k.invert(i.escape); var f = { escape: RegExp("[" + k.keys(i.escape).join("") + "]", "g"), unescape: RegExp("(" + k.keys(i.unescape).join("|") + ")", "g") }; k.each(["escape", "unescape"], function(a) { k[a] = function(b) { return null == b ? "": ("" + b).replace(f[a], function(b) { return i[a][b] }) } }); k.result = function(a, b) { if (null == a) return null; var d = a[b]; return k.isFunction(d) ? d.call(a) : d }; k.mixin = function(a) { B(k.functions(a), function(b) { var d = k[b] = a[b]; k.prototype[b] = function() { var a = [this._wrapped]; u.apply(a, arguments); a = d.apply(k, a); return this._chain ? k(a).chain() : a } }) }; var p = 0; k.uniqueId = function(a) { var b = "" + ++p; return a ? a + b: b }; k.templateSettings = { evaluate: /<%([\s\S]+?)%>/g, interpolate: /<%=([\s\S]+?)%>/g, escape: /<%-([\s\S]+?)%>/g }; var v = /(.)^/, b = { "'": "'", "\\": "\\", "\r": "r", "\n": "n", "\t": "t", "\u2028": "u2028", "\u2029": "u2029" }, d = /\\|'|\r|\n|\t|\u2028|\u2029/g; k.template = function(a, c, g) { var g = k.defaults({}, g, k.templateSettings), f = RegExp([(g.escape || v).source, (g.interpolate || v).source, (g.evaluate || v).source].join("|") + "|$", "g"), i = 0, j = "__p+='"; a.replace(f, function(c, h, g, f, l) { return j += a.slice(i, l).replace(d, function(a) { return "\\" + b[a] }), h && (j += "'+\n((__t=(" + h + "))==null?'':_.escape(__t))+\n'"), g && (j += "'+\n((__t=(" + g + "))==null?'':__t)+\n'"), f && (j += "';\n" + f + "\n__p+='"), i = l + c.length, c }); j += "';\n"; g.variable || (j = "with(obj||{}){\n" + j + "}\n"); j = "var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n" + j + "return __p;\n"; try { var p = Function(g.variable || "obj", "_", j) } catch(m) { throw m.source = j, m; } if (c) return p(c, k); c = function(a) { return p.call(this, a, k) }; return c.source = "function(" + (g.variable || "obj") + "){\n" + j + "}", c }; k.chain = function(a) { return k(a).chain() }; k.mixin(k); B("pop push reverse shift sort splice unshift".split(" "), function(a) { var b = x[a]; k.prototype[a] = function() { var d = this._wrapped; return b.apply(d, arguments), "shift" != a && "splice" != a || 0 !== d.length || delete d[0], this._chain ? k(d).chain() : d } }); B(["concat", "join", "slice"], function(a) { var b = x[a]; k.prototype[a] = function() { var a = b.apply(this._wrapped, arguments); return this._chain ? k(a).chain() : a } }); k.extend(k.prototype, { chain: function() { return this._chain = !0, this }, value: function() { return this._wrapped } }) }).call(this); (function() { var j = this, m = j.Backbone, s = [], x = s.push, y = s.slice, u = s.splice, r; r = "undefined" !== typeof exports ? exports: j.Backbone = {}; r.VERSION = "0.9.10"; var q = j._; ! q && "undefined" !== typeof require && (q = require("underscore")); r.$ = j.jQuery || j.Zepto || j.ender; r.noConflict = function() { j.Backbone = m; return this }; r.emulateHTTP = !1; r.emulateJSON = !1; var N = /\s+/, L = function(c, i, f, j) { if (!f) return ! 0; if ("object" === typeof f) for (var k in f) c[i].apply(c, [k, f[k]].concat(j)); else if (N.test(f)) { f = f.split(N); k = 0; for (var b = f.length; k < b; k++) c[i].apply(c, [f[k]].concat(j)) } else return ! 0 }, J = function(c, i) { var f, j = -1, k = c.length; switch (i.length) { case 0: for (; ++j < k;)(f = c[j]).callback.call(f.ctx); break; case 1: for (; ++j < k;)(f = c[j]).callback.call(f.ctx, i[0]); break; case 2: for (; ++j < k;)(f = c[j]).callback.call(f.ctx, i[0], i[1]); break; case 3: for (; ++j < k;)(f = c[j]).callback.call(f.ctx, i[0], i[1], i[2]); break; default: for (; ++j < k;)(f = c[j]).callback.apply(f.ctx, i) } }, s = r.Events = { on: function(c, i, f) { if (!L(this, "on", c, [i, f]) || !i) return this; this._events || (this._events = {}); (this._events[c] || (this._events[c] = [])).push({ callback: i, context: f, ctx: f || this }); return this }, once: function(c, i, f) { if (!L(this, "once", c, [i, f]) || !i) return this; var j = this, k = q.once(function() { j.off(c, k); i.apply(this, arguments) }); k._callback = i; this.on(c, k, f); return this }, off: function(c, i, f) { var j, k, b, d, a, h, g, l; if (!this._events || !L(this, "off", c, [i, f])) return this; if (!c && !i && !f) return this._events = {}, this; d = c ? [c] : q.keys(this._events); a = 0; for (h = d.length; a < h; a++) if (c = d[a], j = this._events[c]) { b = []; if (i || f) { g = 0; for (l = j.length; g < l; g++) k = j[g], (i && i !== k.callback && i !== k.callback._callback || f && f !== k.context) && b.push(k) } this._events[c] = b } return this }, trigger: function(c) { if (!this._events) return this; var i = y.call(arguments, 1); if (!L(this, "trigger", c, i)) return this; var f = this._events[c], j = this._events.all; f && J(f, i); j && J(j, arguments); return this }, listenTo: function(c, i, f) { var j = this._listeners || (this._listeners = {}), k = c._listenerId || (c._listenerId = q.uniqueId("l")); j[k] = c; c.on(i, "object" === typeof i ? this: f, this); return this }, stopListening: function(c, i, f) { var j = this._listeners; if (j) { if (c) c.off(i, "object" === typeof i ? this: f, this), !i && !f && delete j[c._listenerId]; else { "object" === typeof i && (f = this); for (var k in j) j[k].off(i, f, this); this._listeners = {} } return this } } }; s.bind = s.on; s.unbind = s.off; q.extend(r, s); var K = r.Model = function(c, i) { var f, j = c || {}; this.cid = q.uniqueId("c"); this.attributes = {}; i && i.collection && (this.collection = i.collection); i && i.parse && (j = this.parse(j, i) || {}); if (f = q.result(this, "defaults")) j = q.defaults({}, j, f); this.set(j, i); this.changed = {}; this.initialize.apply(this, arguments) }; q.extend(K.prototype, s, { changed: null, idAttribute: "id", initialize: function() {}, toJSON: function() { return q.clone(this.attributes) }, sync: function() { return r.sync.apply(this, arguments) }, get: function(c) { return this.attributes[c] }, escape: function(c) { return q.escape(this.get(c)) }, has: function(c) { return null != this.get(c) }, set: function(c, i, f) { var j, k, b, d, a, h, g; if (null == c) return this; "object" === typeof c ? (k = c, f = i) : (k = {})[c] = i; f || (f = {}); if (!this._validate(k, f)) return ! 1; b = f.unset; d = f.silent; c = []; a = this._changing; this._changing = !0; a || (this._previousAttributes = q.clone(this.attributes), this.changed = {}); g = this.attributes; h = this._previousAttributes; this.idAttribute in k && (this.id = k[this.idAttribute]); for (j in k) i = k[j], q.isEqual(g[j], i) || c.push(j), q.isEqual(h[j], i) ? delete this.changed[j] : this.changed[j] = i, b ? delete g[j] : g[j] = i; if (!d) { c.length && (this._pending = !0); i = 0; for (j = c.length; i < j; i++) this.trigger("change:" + c[i], this, g[c[i]], f) } if (a) return this; if (!d) for (; this._pending;) this._pending = !1, this.trigger("change", this, f); this._changing = this._pending = !1; return this }, unset: function(c, i) { return this.set(c, void 0, q.extend({}, i, { unset: !0 })) }, clear: function(c) { var i = {}, f; for (f in this.attributes) i[f] = void 0; return this.set(i, q.extend({}, c, { unset: !0 })) }, hasChanged: function(c) { return null == c ? !q.isEmpty(this.changed) : q.has(this.changed, c) }, changedAttributes: function(c) { if (!c) return this.hasChanged() ? q.clone(this.changed) : !1; var i, f = !1, j = this._changing ? this._previousAttributes: this.attributes, k; for (k in c) if (!q.isEqual(j[k], i = c[k]))(f || (f = {}))[k] = i; return f }, previous: function(c) { return null == c || !this._previousAttributes ? null: this._previousAttributes[c] }, previousAttributes: function() { return q.clone(this._previousAttributes) }, fetch: function(c) { c = c ? q.clone(c) : {}; void 0 === c.parse && (c.parse = !0); var i = c.success; c.success = function(c, j, k) { if (!c.set(c.parse(j, k), k)) return ! 1; i && i(c, j, k) }; return this.sync("read", this, c) }, save: function(c, i, f) { var j, k, b = this.attributes; null == c || "object" === typeof c ? (j = c, f = i) : (j = {})[c] = i; if (j && (!f || !f.wait) && !this.set(j, f)) return ! 1; f = q.extend({ validate: !0 }, f); if (!this._validate(j, f)) return ! 1; j && f.wait && (this.attributes = q.extend({}, b, j)); void 0 === f.parse && (f.parse = !0); k = f.success; f.success = function(d, a, c) { d.attributes = b; var g = d.parse(a, c); c.wait && (g = q.extend(j || {}, g)); if (q.isObject(g) && !d.set(g, c)) return ! 1; k && k(d, a, c) }; c = this.isNew() ? "create": f.patch ? "patch": "update"; "patch" === c && (f.attrs = j); c = this.sync(c, this, f); j && f.wait && (this.attributes = b); return c }, destroy: function(c) { var c = c ? q.clone(c) : {}, i = this, f = c.success, j = function() { i.trigger("destroy", i, i.collection, c) }; c.success = function(b, d, a) { (a.wait || b.isNew()) && j(); f && f(b, d, a) }; if (this.isNew()) return c.success(this, null, c), !1; var k = this.sync("delete", this, c); c.wait || j(); return k }, url: function() { var c = q.result(this, "urlRoot") || q.result(this.collection, "url") || F(); return this.isNew() ? c: c + ("/" === c.charAt(c.length - 1) ? "": "/") + encodeURIComponent(this.id) }, parse: function(c) { return c }, clone: function() { return new this.constructor(this.attributes) }, isNew: function() { return null == this.id }, isValid: function(c) { return ! this.validate || !this.validate(this.attributes, c) }, _validate: function(c, i) { if (!i.validate || !this.validate) return ! 0; var c = q.extend({}, this.attributes, c), f = this.validationError = this.validate(c, i) || null; if (!f) return ! 0; this.trigger("invalid", this, f, i || {}); return ! 1 } }); var Q = r.Collection = function(c, i) { i || (i = {}); i.model && (this.model = i.model); void 0 !== i.comparator && (this.comparator = i.comparator); this.models = []; this._reset(); this.initialize.apply(this, arguments); c && this.reset(c, q.extend({ silent: !0 }, i)) }; q.extend(Q.prototype, s, { model: K, initialize: function() {}, toJSON: function(c) { return this.map(function(i) { return i.toJSON(c) }) }, sync: function() { return r.sync.apply(this, arguments) }, add: function(c, i) { c = q.isArray(c) ? c.slice() : [c]; i || (i = {}); var f, j, k, b, d, a, h, g, l, t; h = []; g = i.at; l = this.comparator && null == g && !1 != i.sort; t = q.isString(this.comparator) ? this.comparator: null; f = 0; for (j = c.length; f < j; f++)(k = this._prepareModel(b = c[f], i)) ? (d = this.get(k)) ? i.merge && (d.set(b === k ? k.attributes: b, i), l && !a && d.hasChanged(t) && (a = !0)) : (h.push(k), k.on("all", this._onModelEvent, this), this._byId[k.cid] = k, null != k.id && (this._byId[k.id] = k)) : this.trigger("invalid", this, b, i); h.length && (l && (a = !0), this.length += h.length, null != g ? u.apply(this.models, [g, 0].concat(h)) : x.apply(this.models, h)); a && this.sort({ silent: !0 }); if (i.silent) return this; f = 0; for (j = h.length; f < j; f++)(k = h[f]).trigger("add", k, this, i); a && this.trigger("sort", this, i); return this }, remove: function(c, i) { c = q.isArray(c) ? c.slice() : [c]; i || (i = {}); var f, j, k, b; f = 0; for (j = c.length; f < j; f++) if (b = this.get(c[f])) delete this._byId[b.id], delete this._byId[b.cid], k = this.indexOf(b), this.models.splice(k, 1), this.length--, i.silent || (i.index = k, b.trigger("remove", b, this, i)), this._removeReference(b); return this }, push: function(c, i) { c = this._prepareModel(c, i); this.add(c, q.extend({ at: this.length }, i)); return c }, pop: function(c) { var i = this.at(this.length - 1); this.remove(i, c); return i }, unshift: function(c, i) { c = this._prepareModel(c, i); this.add(c, q.extend({ at: 0 }, i)); return c }, shift: function(c) { var i = this.at(0); this.remove(i, c); return i }, slice: function(c, i) { return this.models.slice(c, i) }, get: function(c) { if (null != c) return this._idAttr || (this._idAttr = this.model.prototype.idAttribute), this._byId[c.id || c.cid || c[this._idAttr] || c] }, at: function(c) { return this.models[c] }, where: function(c) { return q.isEmpty(c) ? [] : this.filter(function(i) { for (var f in c) if (c[f] !== i.get(f)) return ! 1; return ! 0 }) }, sort: function(c) { if (!this.comparator) throw Error("Cannot sort a set without a comparator"); c || (c = {}); q.isString(this.comparator) || 1 === this.comparator.length ? this.models = this.sortBy(this.comparator, this) : this.models.sort(q.bind(this.comparator, this)); c.silent || this.trigger("sort", this, c); return this }, pluck: function(c) { return q.invoke(this.models, "get", c) }, update: function(c, i) { i = q.extend({ add: !0, merge: !0, remove: !0 }, i); i.parse && (c = this.parse(c, i)); var f, j, k, b, d = [], a = [], h = {}; q.isArray(c) || (c = c ? [c] : []); if (i.add && !i.remove) return this.add(c, i); j = 0; for (k = c.length; j < k; j++) f = c[j], b = this.get(f), i.remove && b && (h[b.cid] = !0), (i.add && !b || i.merge && b) && d.push(f); if (i.remove) { j = 0; for (k = this.models.length; j < k; j++) f = this.models[j], h[f.cid] || a.push(f) } a.length && this.remove(a, i); d.length && this.add(d, i); return this }, reset: function(c, i) { i || (i = {}); i.parse && (c = this.parse(c, i)); for (var f = 0, j = this.models.length; f < j; f++) this._removeReference(this.models[f]); i.previousModels = this.models.slice(); this._reset(); c && this.add(c, q.extend({ silent: !0 }, i)); i.silent || this.trigger("reset", this, i); return this }, fetch: function(c) { c = c ? q.clone(c) : {}; void 0 === c.parse && (c.parse = !0); var i = c.success; c.success = function(c, j, k) { c[k.update ? "update": "reset"](j, k); i && i(c, j, k) }; return this.sync("read", this, c) }, create: function(c, i) { i = i ? q.clone(i) : {}; if (! (c = this._prepareModel(c, i))) return ! 1; i.wait || this.add(c, i); var f = this, j = i.success; i.success = function(c, b, d) { d.wait && f.add(c, d); j && j(c, b, d) }; c.save(null, i); return c }, parse: function(c) { return c }, clone: function() { return new this.constructor(this.models) }, _reset: function() { this.length = 0; this.models.length = 0; this._byId = {} }, _prepareModel: function(c, i) { if (c instanceof K) return c.collection || (c.collection = this), c; i || (i = {}); i.collection = this; var f = new this.model(c, i); return ! f._validate(c, i) ? !1 : f }, _removeReference: function(c) { this === c.collection && delete c.collection; c.off("all", this._onModelEvent, this) }, _onModelEvent: function(c, i, f, j) { ("add" === c || "remove" === c) && f !== this || ("destroy" === c && this.remove(i, j), i && c === "change:" + i.idAttribute && (delete this._byId[i.previous(i.idAttribute)], null != i.id && (this._byId[i.id] = i)), this.trigger.apply(this, arguments)) }, sortedIndex: function(c, i, f) { i || (i = this.comparator); var j = q.isFunction(i) ? i: function(c) { return c.get(i) }; return q.sortedIndex(this.models, c, j, f) } }); q.each("forEach each map collect reduce foldl inject reduceRight foldr find detect filter select reject every all some any include contains invoke max min toArray size first head take initial rest tail drop last without indexOf shuffle lastIndexOf isEmpty chain".split(" "), function(c) { Q.prototype[c] = function() { var i = y.call(arguments); i.unshift(this.models); return q[c].apply(q, i) } }); q.each(["groupBy", "countBy", "sortBy"], function(c) { Q.prototype[c] = function(i, f) { var j = q.isFunction(i) ? i: function(c) { return c.get(i) }; return q[c](this.models, j, f) } }); var Y = r.Router = function(c) { c || (c = {}); c.routes && (this.routes = c.routes); this._bindRoutes(); this.initialize.apply(this, arguments) }, ea = /\((.*?)\)/g, S = /(\(\?)?:\w+/g, C = /\*\w+/g, V = /[\-{}\[\]+?.,\\\^$|#\s]/g; q.extend(Y.prototype, s, { initialize: function() {}, route: function(c, i, f) { q.isRegExp(c) || (c = this._routeToRegExp(c)); f || (f = this[i]); r.history.route(c, q.bind(function(j) { j = this._extractParameters(c, j); f && f.apply(this, j); this.trigger.apply(this, ["route:" + i].concat(j)); this.trigger("route", i, j); r.history.trigger("route", this, i, j) }, this)); return this }, navigate: function(c, i) { r.history.navigate(c, i); return this }, _bindRoutes: function() { if (this.routes) for (var c, i = q.keys(this.routes); null != (c = i.pop());) this.route(c, this.routes[c]) }, _routeToRegExp: function(c) { c = c.replace(V, "\\$&").replace(ea, "(?:$1)?").replace(S, function(c, f) { return f ? c: "([^/]+)" }).replace(C, "(.*?)"); return RegExp("^" + c + "$") }, _extractParameters: function(c, i) { return c.exec(i).slice(1) } }); var D = r.History = function() { this.handlers = []; q.bindAll(this, "checkUrl"); "undefined" !== typeof window && (this.location = window.location, this.history = window.history) }, w = /^[#\/]|\s+$/g, aa = /^\/+|\/+$/g, k = /msie [\w.]+/, B = /\/$/; D.started = !1; q.extend(D.prototype, s, { interval: 50, getHash: function(c) { return (c = (c || this).location.href.match(/#(.*)$/)) ? c[1] : "" }, getFragment: function(c, i) { if (null == c) if (this._hasPushState || !this._wantsHashChange || i) { var c = this.location.pathname, f = this.root.replace(B, ""); c.indexOf(f) || (c = c.substr(f.length)) } else c = this.getHash(); return c.replace(w, "") }, start: function(c) { if (D.started) throw Error("Backbone.history has already been started"); D.started = !0; this.options = q.extend({}, { root: "/" }, this.options, c); this.root = this.options.root; this._wantsHashChange = !1 !== this.options.hashChange; this._wantsPushState = !!this.options.pushState; this._hasPushState = !(!this.options.pushState || !this.history || !this.history.pushState); var c = this.getFragment(), i = document.documentMode, i = k.exec(navigator.userAgent.toLowerCase()) && (!i || 7 >= i); this.root = ("/" + this.root + "/").replace(aa, "/"); i && this._wantsHashChange && (this.iframe = r.$('