/*! jquery v1.8.3 jquery.com | jquery.org/license */ (function(e, t) { function _(e) { var t = m[e] = {}; return v.each(e.split(y), function(e, n) { t[n] = !0 }), t } function h(e, n, r) { if (r === t && e.nodetype === 1) { var i = "data-" + n.replace(p, "-$1").tolowercase(); r = e.getattribute(i); if (typeof r == "string") { try { r = r === "true" ? !0 : r === "false" ? !1 : r === "null" ? null : +r + "" === r ? +r : d.test(r) ? v.parsejson(r) : r } catch (s) {} v.data(e, n, r) } else r = t } return r } function b(e) { var t; for (t in e) { if (t === "data" && v.isemptyobject(e[t])) continue; if (t !== "tojson") return !1 } return !0 } function et() { return !1 } function tt() { return !0 } function ut(e) { return !e || !e.parentnode || e.parentnode.nodetype === 11 } function at(e, t) { do e = e[t]; while (e && e.nodetype !== 1); return e } function ft(e, t, n) { t = t || 0; if (v.isfunction(t)) return v.grep(e, function(e, r) { var i = !!t.call(e, r, e); return i === n }); if (t.nodetype) return v.grep(e, function(e, r) { return e === t === n }); if (typeof t == "string") { var r = v.grep(e, function(e) { return e.nodetype === 1 }); if (it.test(t)) return v.filter(t, r, !n); t = v.filter(t, r) } return v.grep(e, function(e, r) { return v.inarray(e, t) >= 0 === n }) } function lt(e) { var t = ct.split("|") , n = e.createdocumentfragment(); if (n.createelement) while (t.length) n.createelement(t.pop()); return n } function lt(e, t) { return e.getelementsbytagname(t)[0] || e.appendchild(e.ownerdocument.createelement(t)) } function at(e, t) { if (t.nodetype !== 1 || !v.hasdata(e)) return; var n, r, i, s = v._data(e), o = v._data(t, s), u = s.events; if (u) { delete o.handle, o.events = {}; for (n in u) for (r = 0, i = u[n].length; r < i; r++) v.event.add(t, n, u[n][r]) } o.data && (o.data = v.extend({}, o.data)) } function ot(e, t) { var n; if (t.nodetype !== 1) return; t.clearattributes && t.clearattributes(), t.mergeattributes && t.mergeattributes(e), n = t.nodename.tolowercase(), n === "object" ? (t.parentnode && (t.outerhtml = e.outerhtml), v.support.html5clone && e.innerhtml && !v.trim(t.innerhtml) && (t.innerhtml = e.innerhtml)) : n === "input" && et.test(e.type) ? (t.defaultchecked = t.checked = e.checked, t.value !== e.value && (t.value = e.value)) : n === "option" ? t.selected = e.defaultselected : n === "input" || n === "textarea" ? t.defaultvalue = e.defaultvalue : n === "script" && t.text !== e.text && (t.text = e.text), t.removeattribute(v.expando) } function mt(e) { return typeof e.getelementsbytagname != "undefined" ? e.getelementsbytagname("*") : typeof e.queryselectorall != "undefined" ? e.queryselectorall("*") : [] } function _t(e) { et.test(e.type) && (e.defaultchecked = e.checked) } function qt(e, t) { if (t in e) return t; var n = t.charat(0).touppercase() + t.slice(1) , r = t , i = jt.length; while (i--) { t = jt[i] + n; if (t in e) return t } return r } function gt(e, t) { return e = t || e, v.css(e, "display") === "none" || !v.contains(e.ownerdocument, e) } function yt(e, t) { var n, r, i = [], s = 0, o = e.length; for (; s < o; s++) { n = e[s]; if (!n.style) continue; i[s] = v._data(n, "olddisplay"), t ? (!i[s] && n.style.display === "none" && (n.style.display = ""), n.style.display === "" && gt(n) && (i[s] = v._data(n, "olddisplay", nn(n.nodename)))) : (r = dt(n, "display"), !i[s] && r !== "none" && v._data(n, "olddisplay", r)) } for (s = 0; s < o; s++) { n = e[s]; if (!n.style) continue; if (!t || n.style.display === "none" || n.style.display === "") n.style.display = t ? i[s] || "" : "none" } return e } function zt(e, t, n) { var r = rt.exec(t); return r ? math.max(0, r[1] - (n || 0)) + (r[2] || "px") : t } function en(e, t, n, r) { var i = n === (r ? "border" : "content") ? 4 : t === "width" ? 1 : 0 , s = 0; for (; i < 4; i += 2) n === "margin" && (s += v.css(e, n + $t[i], !0)), r ? (n === "content" && (s -= parsefloat(dt(e, "padding" + $t[i])) || 0), n !== "margin" && (s -= parsefloat(dt(e, "border" + $t[i] + "width")) || 0)) : (s += parsefloat(dt(e, "padding" + $t[i])) || 0, n !== "padding" && (s += parsefloat(dt(e, "border" + $t[i] + "width")) || 0)); return s } function tn(e, t, n) { var r = t === "width" ? e.offsetwidth : e.offsetheight , i = !0 , s = v.support.boxsizing && v.css(e, "boxsizing") === "border-box"; if (r <= 0 || r == null) { r = dt(e, t); if (r < 0 || r == null) r = e.style[t]; if (ut.test(r)) return r; i = s && (v.support.boxsizingreliable || r === e.style[t]), r = parsefloat(r) || 0 } return r + en(e, t, n || (s ? "border" : "content"), i) + "px" } function nn(e) { if (wt[e]) return wt[e]; var t = v("<" + e + ">").appendto(i.body) , n = t.css("display"); t.remove(); if (n === "none" || n === "") { pt = i.body.appendchild(pt || v.extend(i.createelement("iframe"), { frameborder: 0, width: 0, height: 0 })); if (!ht || !pt.createelement) ht = (pt.contentwindow || pt.contentdocument).document, ht.write(""), ht.close(); t = ht.body.appendchild(ht.createelement(e)), n = dt(t, "display"), i.body.removechild(pt) } return wt[e] = n, n } function fn(e, t, n, r) { var i; if (v.isarray(t)) v.each(t, function(t, i) { n || sn.test(e) ? r(e, i) : fn(e + "[" + (typeof i == "object" ? t : "") + "]", i, n, r) }); else if (!n && v.type(t) === "object") for (i in t) fn(e + "[" + i + "]", t[i], n, r); else r(e, t) } function cn(e) { return function(t, n) { typeof t != "string" && (n = t, t = "*"); var r, i, s, o = t.tolowercase().split(y), u = 0, a = o.length; if (v.isfunction(n)) for (; u < a; u++) r = o[u], s = /^\+/.test(r), s && (r = r.substr(1) || "*"), i = e[r] = e[r] || [], i[s ? "unshift" : "push"](n) } } function kn(e, n, r, i, s, o) { s = s || n.datatypes[0], o = o || {}, o[s] = !0; var u, a = e[s], f = 0, l = a ? a.length : 0, c = e === sn; for (; f < l && (c || !u); f++) u = a[f](n, r, i), typeof u == "string" && (!c || o[u] ? u = t : (n.datatypes.unshift(u), u = kn(e, n, r, i, u, o))); return (c || !u) && !o["*"] && (u = kn(e, n, r, i, "*", o)), u } function ln(e, n) { var r, i, s = v.ajaxsettings.flatoptions || {}; for (r in n) n[r] !== t && ((s[r] ? e : i || (i = {}))[r] = n[r]); i && v.extend(!0, e, i) } function an(e, n, r) { var i, s, o, u, a = e.contents, f = e.datatypes, l = e.responsefields; for (s in l) s in r && (n[l[s]] = r[s]); while (f[0] === "*") f.shift(), i === t && (i = e.mimetype || n.getresponseheader("content-type")); if (i) for (s in a) if (a[s] && a[s].test(i)) { f.unshift(s); break } if (f[0]in r) o = f[0]; else { for (s in r) { if (!f[0] || e.converters[s + " " + f[0]]) { o = s; break } u || (u = s) } o = o || u } if (o) return o !== f[0] && f.unshift(o), r[o] } function on(e, t) { var n, r, i, s, o = e.datatypes.slice(), u = o[0], a = {}, f = 0; e.datafilter && (t = e.datafilter(t, e.datatype)); if (o[1]) for (n in e.converters) a[n.tolowercase()] = e.converters[n]; for (; i = o[++f]; ) if (i !== "*") { if (u !== "*" && u !== i) { n = a[u + " " + i] || a["* " + i]; if (!n) for (r in a) { s = r.split(" "); if (s[1] === i) { n = a[u + " " + s[0]] || a["* " + s[0]]; if (n) { n === !0 ? n = a[r] : a[r] !== !0 && (i = s[0], o.splice(f--, 0, i)); break } } } if (n !== !0) if (n && e["throws"]) t = n(t); else try { t = n(t) } catch (l) { return { state: "parsererror", error: n ? l : "no conversion from " + u + " to " + i } } } u = i } return { state: "success", data: t } } function fn() { try { return new e.xmlhttprequest } catch (t) {} } function in() { try { return new e.activexobject("microsoft.xmlhttp") } catch (t) {} } function $n() { return settimeout(function() { qn = t }, 0), qn = v.now() } function jn(e, t) { v.each(t, function(t, n) { var r = (vn[t] || []).concat(vn["*"]) , i = 0 , s = r.length; for (; i < s; i++) if (r[i].call(e, t, n)) return }) } function kn(e, t, n) { var r, i = 0, s = 0, o = xn.length, u = v.deferred().always(function() { delete a.elem }), a = function() { var t = qn || $n() , n = math.max(0, f.starttime + f.duration - t) , r = n / f.duration || 0 , i = 1 - r , s = 0 , o = f.tweens.length; for (; s < o; s++) f.tweens[s].run(i); return u.notifywith(e, [f, i, n]), i < 1 && o ? n : (u.resolvewith(e, [f]), !1) }, f = u.promise({ elem: e, props: v.extend({}, t), opts: v.extend(!0, { specialeasing: {} }, n), originalproperties: t, originaloptions: n, starttime: qn || $n(), duration: n.duration, tweens: [], createtween: function(t, n, r) { var i = v.tween(e, f.opts, t, n, f.opts.specialeasing[t] || f.opts.easing); return f.tweens.push(i), i }, stop: function(t) { var n = 0 , r = t ? f.tweens.length : 0; for (; n < r; n++) f.tweens[n].run(1); return t ? u.resolvewith(e, [f, t]) : u.rejectwith(e, [f, t]), this } }), l = f.props; qn(l, f.opts.specialeasing); for (; i < o; i++) { r = xn[i].call(f, e, l, f.opts); if (r) return r } return jn(f, l), v.isfunction(f.opts.start) && f.opts.start.call(e, f), v.fx.timer(v.extend(a, { anim: f, queue: f.opts.queue, elem: e })), f.progress(f.opts.progress).done(f.opts.done, f.opts.complete).fail(f.opts.fail).always(f.opts.always) } function qn(e, t) { var n, r, i, s, o; for (n in e) { r = v.camelcase(n), i = t[r], s = e[n], v.isarray(s) && (i = s[1], s = e[n] = s[0]), n !== r && (e[r] = s, delete e[n]), o = v.csshooks[r]; if (o && "expand"in o) { s = o.expand(s), delete e[r]; for (n in s) n in e || (e[n] = s[n], t[n] = i) } else t[r] = i } } function gn(e, t, n) { var r, i, s, o, u, a, f, l, c, h = this, p = e.style, d = {}, m = [], g = e.nodetype && gt(e); n.queue || (l = v._queuehooks(e, "fx"), l.unqueued == null && (l.unqueued = 0, c = l.empty.fire, l.empty.fire = function() { l.unqueued || c() } ), l.unqueued++, h.always(function() { h.always(function() { l.unqueued--, v.queue(e, "fx").length || l.empty.fire() }) })), e.nodetype === 1 && ("height"in t || "width"in t) && (n.overflow = [p.overflow, p.overflowx, p.overflowy], v.css(e, "display") === "inline" && v.css(e, "float") === "none" && (!v.support.inlineblockneedslayout || nn(e.nodename) === "inline" ? p.display = "inline-block" : p.zoom = 1)), n.overflow && (p.overflow = "hidden", v.support.shrinkwrapblocks || h.done(function() { p.overflow = n.overflow[0], p.overflowx = n.overflow[1], p.overflowy = n.overflow[2] })); for (r in t) { s = t[r]; if (un.exec(s)) { delete t[r], a = a || s === "toggle"; if (s === (g ? "hide" : "show")) continue; m.push(r) } } o = m.length; if (o) { u = v._data(e, "fxshow") || v._data(e, "fxshow", {}), "hidden"in u && (g = u.hidden), a && (u.hidden = !g), g ? v(e).show() : h.done(function() { v(e).hide() }), h.done(function() { var t; v.removedata(e, "fxshow", !0); for (t in d) v.style(e, t, d[t]) }); for (r = 0; r < o; r++) i = m[r], f = h.createtween(i, g ? u[i] : 0), d[i] = u[i] || v.style(e, i), i in u || (u[i] = f.start, g && (f.end = f.start, f.start = i === "width" || i === "height" ? 1 : 0)) } } function yn(e, t, n, r, i) { return new yn.prototype.init(e,t,n,r,i) } function zn(e, t) { var n, r = { height: e }, i = 0; t = t ? 1 : 0; for (; i < 4; i += 2 - t) n = $t[i], r["margin" + n] = r["padding" + n] = e; return t && (r.opacity = r.width = e), r } function tr(e) { return v.iswindow(e) ? e : e.nodetype === 9 ? e.defaultview || e.parentwindow : !1 } var n, r, i = e.document, s = e.location, o = e.navigator, u = e.jquery, a = e.$, f = array.prototype.push, l = array.prototype.slice, c = array.prototype.indexof, h = object.prototype.tostring, p = object.prototype.hasownproperty, d = string.prototype.trim, v = function(e, t) { return new v.fn.init(e,t,n) }, m = /[\-+]?(?:\d*\.|)\d+(?:[ee][\-+]?\d+|)/.source, g = /\s/, y = /\s+/, b = /^[\s\ufeff\xa0]+|[\s\ufeff\xa0]+$/g, w = /^(?:[^#<]*(<[\w\w]+>)[^>]*$|#([\w\-]*)$)/, e = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, s = /^[\],:{}\s]*$/, x = /(?:^|:|,)(?:\s*\[)+/g, t = /\\(?:["\\\/bfnrt]|u[\da-fa-f]{4})/g, n = /"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[ee][\-+]?\d+|)/g, c = /^-ms-/, k = /-([\da-z])/gi, l = function(e, t) { return (t + "").touppercase() }, a = function() { i.addeventlistener ? (i.removeeventlistener("domcontentloaded", a, !1), v.ready()) : i.readystate === "complete" && (i.detachevent("onreadystatechange", a), v.ready()) }, o = {}; v.fn = v.prototype = { constructor: v, init: function(e, n, r) { var s, o, u, a; if (!e) return this; if (e.nodetype) return this.context = this[0] = e, this.length = 1, this; if (typeof e == "string") { e.charat(0) === "<" && e.charat(e.length - 1) === ">" && e.length >= 3 ? s = [null, e, null] : s = w.exec(e); if (s && (s[1] || !n)) { if (s[1]) return n = n instanceof v ? n[0] : n, a = n && n.nodetype ? n.ownerdocument || n : i, e = v.parsehtml(s[1], a, !0), e.test(s[1]) && v.isplainobject(n) && this.attr.call(e, n, !0), v.merge(this, e); o = i.getelementbyid(s[2]); if (o && o.parentnode) { if (o.id !== s[2]) return r.find(e); this.length = 1, this[0] = o } return this.context = i, this.selector = e, this } return !n || n.jquery ? (n || r).find(e) : this.constructor(n).find(e) } return v.isfunction(e) ? r.ready(e) : (e.selector !== t && (this.selector = e.selector, this.context = e.context), v.makearray(e, this)) }, selector: "", jquery: "1.8.3", length: 0, size: function() { return this.length }, toarray: function() { return l.call(this) }, get: function(e) { return e == null ? this.toarray() : e < 0 ? this[this.length + e] : this[e] }, pushstack: function(e, t, n) { var r = v.merge(this.constructor(), e); return r.prevobject = this, r.context = this.context, t === "find" ? r.selector = this.selector + (this.selector ? " " : "") + n : t && (r.selector = this.selector + "." + t + "(" + n + ")"), r }, each: function(e, t) { return v.each(this, e, t) }, ready: function(e) { return v.ready.promise().done(e), this }, eq: function(e) { return e = +e, e === -1 ? 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(l.apply(this, arguments), "slice", l.call(arguments).join(",")) }, map: function(e) { return this.pushstack(v.map(this, function(t, n) { return e.call(t, n, t) })) }, end: function() { return this.prevobject || this.constructor(null) }, push: f, sort: [].sort, splice: [].splice }, v.fn.init.prototype = v.fn, v.extend = v.fn.extend = function() { var e, n, r, i, s, o, u = arguments[0] || {}, a = 1, f = arguments.length, l = !1; typeof u == "boolean" && (l = u, u = arguments[1] || {}, a = 2), typeof u != "object" && !v.isfunction(u) && (u = {}), f === a && (u = this, --a); for (; a < f; a++) if ((e = arguments[a]) != null) for (n in e) { r = u[n], i = e[n]; if (u === i) continue; l && i && (v.isplainobject(i) || (s = v.isarray(i))) ? (s ? (s = !1, o = r && v.isarray(r) ? r : []) : o = r && v.isplainobject(r) ? r : {}, u[n] = v.extend(l, o, i)) : i !== t && (u[n] = i) } return u } , v.extend({ noconflict: function(t) { return e.$ === v && (e.$ = a), t && e.jquery === v && (e.jquery = u), v }, isready: !1, readywait: 1, holdready: function(e) { e ? v.readywait++ : v.ready(!0) }, ready: function(e) { if (e === !0 ? --v.readywait : v.isready) return; if (!i.body) return settimeout(v.ready, 1); v.isready = !0; if (e !== !0 && --v.readywait > 0) return; r.resolvewith(i, [v]), v.fn.trigger && v(i).trigger("ready").off("ready") }, isfunction: function(e) { return v.type(e) === "function" }, isarray: array.isarray || function(e) { return v.type(e) === "array" } , iswindow: function(e) { return e != null && e == e.window }, isnumeric: function(e) { return !isnan(parsefloat(e)) && isfinite(e) }, type: function(e) { return e == null ? string(e) : o[h.call(e)] || "object" }, isplainobject: function(e) { if (!e || v.type(e) !== "object" || e.nodetype || v.iswindow(e)) return !1; try { if (e.constructor && !p.call(e, "constructor") && !p.call(e.constructor.prototype, "isprototypeof")) return !1 } catch (n) { return !1 } var r; for (r in e) ; return r === t || p.call(e, r) }, isemptyobject: function(e) { var t; for (t in e) return !1; return !0 }, error: function(e) { throw new error(e) }, parsehtml: function(e, t, n) { var r; return !e || typeof e != "string" ? null : (typeof t == "boolean" && (n = t, t = 0), t = t || i, (r = e.exec(e)) ? [t.createelement(r[1])] : (r = v.buildfragment([e], t, n ? null : []), v.merge([], (r.cacheable ? v.clone(r.fragment) : r.fragment).childnodes))) }, parsejson: function(t) { if (!t || typeof t != "string") return null; t = v.trim(t); if (e.json && e.json.parse) return e.json.parse(t); if (s.test(t.replace(t, "@").replace(n, "]").replace(x, ""))) return (new function("return " + t))(); v.error("invalid json: " + t) }, parsexml: function(n) { var r, i; if (!n || typeof n != "string") return null; try { e.domparser ? (i = new domparser, r = i.parsefromstring(n, "text/xml")) : (r = new activexobject("microsoft.xmldom"), r.async = "false", r.loadxml(n)) } catch (s) { r = t } return (!r || !r.documentelement || r.getelementsbytagname("parsererror").length) && v.error("invalid xml: " + n), r }, noop: function() {}, globaleval: function(t) { t && g.test(t) && (e.execscript || function(t) { e.eval.call(e, t) } )(t) }, camelcase: function(e) { return e.replace(c, "ms-").replace(k, l) }, nodename: function(e, t) { return e.nodename && e.nodename.tolowercase() === t.tolowercase() }, each: function(e, n, r) { var i, s = 0, o = e.length, u = o === t || v.isfunction(e); if (r) { if (u) { for (i in e) if (n.apply(e[i], r) === !1) break } else for (; s < o; ) if (n.apply(e[s++], r) === !1) break } else if (u) { for (i in e) if (n.call(e[i], i, e[i]) === !1) break } else for (; s < o; ) if (n.call(e[s], s, e[s++]) === !1) break; return e }, trim: d && !d.call("\ufeff\u00a0") ? function(e) { return e == null ? "" : d.call(e) } : function(e) { return e == null ? "" : (e + "").replace(b, "") } , makearray: function(e, t) { var n, r = t || []; return e != null && (n = v.type(e), e.length == null || n === "string" || n === "function" || n === "regexp" || v.iswindow(e) ? f.call(r, e) : v.merge(r, e)), r }, inarray: function(e, t, n) { var r; if (t) { if (c) return c.call(t, e, n); r = t.length, n = n ? n < 0 ? math.max(0, r + n) : n : 0; for (; n < r; n++) if (n in t && t[n] === e) return n } return -1 }, merge: function(e, n) { var r = n.length , i = e.length , s = 0; if (typeof r == "number") for (; s < r; s++) e[i++] = n[s]; else while (n[s] !== t) e[i++] = n[s++]; return e.length = i, e }, grep: function(e, t, n) { var r, i = [], s = 0, o = e.length; n = !!n; for (; s < o; s++) r = !!t(e[s], s), n !== r && i.push(e[s]); return i }, map: function(e, n, r) { var i, s, o = [], u = 0, a = e.length, f = e instanceof v || a !== t && typeof a == "number" && (a > 0 && e[0] && e[a - 1] || a === 0 || v.isarray(e)); if (f) for (; u < a; u++) i = n(e[u], u, r), i != null && (o[o.length] = i); else for (s in e) i = n(e[s], s, r), i != null && (o[o.length] = i); return o.concat.apply([], o) }, guid: 1, proxy: function(e, n) { var r, i, s; return typeof n == "string" && (r = e[n], n = e, e = r), v.isfunction(e) ? (i = l.call(arguments, 2), s = function() { return e.apply(n, i.concat(l.call(arguments))) } , s.guid = e.guid = e.guid || v.guid++, s) : t }, access: function(e, n, r, i, s, o, u) { var a, f = r == null, l = 0, c = e.length; if (r && typeof r == "object") { for (l in r) v.access(e, n, l, r[l], 1, o, i); s = 1 } else if (i !== t) { a = u === t && v.isfunction(i), f && (a ? (a = n, n = function(e, t, n) { return a.call(v(e), n) } ) : (n.call(e, i), n = null)); if (n) for (; l < c; l++) n(e[l], r, a ? i.call(e[l], l, n(e[l], r)) : i, u); s = 1 } return s ? e : f ? n.call(e) : c ? n(e[0], r) : o }, now: function() { return (new date).gettime() } }), v.ready.promise = function(t) { if (!r) { r = v.deferred(); if (i.readystate === "complete") settimeout(v.ready, 1); else if (i.addeventlistener) i.addeventlistener("domcontentloaded", a, !1), e.addeventlistener("load", v.ready, !1); else { i.attachevent("onreadystatechange", a), e.attachevent("onload", v.ready); var n = !1; try { n = e.frameelement == null && i.documentelement } catch (s) {} n && n.doscroll && function o() { if (!v.isready) { try { n.doscroll("left") } catch (e) { return settimeout(o, 50) } v.ready() } }() } } return r.promise(t) } , v.each("boolean number string function array date regexp object".split(" "), function(e, t) { o["[object " + t + "]"] = t.tolowercase() }), n = v(i); var m = {}; v.callbacks = function(e) { e = typeof e == "string" ? m[e] || _(e) : v.extend({}, e); var n, r, i, s, o, u, a = [], f = !e.once && [], l = function(t) { n = e.memory && t, r = !0, u = s || 0, s = 0, o = a.length, i = !0; for (; a && u < o; u++) if (a[u].apply(t[0], t[1]) === !1 && e.stoponfalse) { n = !1; break } i = !1, a && (f ? f.length && l(f.shift()) : n ? a = [] : c.disable()) }, c = { add: function() { if (a) { var t = a.length; (function r(t) { v.each(t, function(t, n) { var i = v.type(n); i === "function" ? (!e.unique || !c.has(n)) && a.push(n) : n && n.length && i !== "string" && r(n) }) } )(arguments), i ? o = a.length : n && (s = t, l(n)) } return this }, remove: function() { return a && v.each(arguments, function(e, t) { var n; while ((n = v.inarray(t, a, n)) > -1) a.splice(n, 1), i && (n <= o && o--, n <= u && u--) }), this }, has: function(e) { return v.inarray(e, a) > -1 }, empty: function() { return a = [], this }, disable: function() { return a = f = n = t, this }, disabled: function() { return !a }, lock: function() { return f = t, n || c.disable(), this }, locked: function() { return !f }, firewith: function(e, t) { return t = t || [], t = [e, t.slice ? t.slice() : t], a && (!r || f) && (i ? f.push(t) : l(t)), this }, fire: function() { return c.firewith(this, arguments), this }, fired: function() { return !!r } }; return c } , v.extend({ deferred: function(e) { var t = [["resolve", "done", v.callbacks("once memory"), "resolved"], ["reject", "fail", v.callbacks("once memory"), "rejected"], ["notify", "progress", v.callbacks("memory")]] , n = "pending" , r = { state: function() { return n }, always: function() { return i.done(arguments).fail(arguments), this }, then: function() { var e = arguments; return v.deferred(function(n) { v.each(t, function(t, r) { var s = r[0] , o = e[t]; i[r[1]](v.isfunction(o) ? function() { var e = o.apply(this, arguments); e && v.isfunction(e.promise) ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[s + "with"](this === i ? n : this, [e]) } : n[s]) }), e = null }).promise() }, promise: function(e) { return e != null ? v.extend(e, r) : r } } , i = {}; return r.pipe = r.then, v.each(t, function(e, s) { var o = s[2] , u = s[3]; r[s[1]] = o.add, u && o.add(function() { n = u }, t[e ^ 1][2].disable, t[2][2].lock), i[s[0]] = o.fire, i[s[0] + "with"] = o.firewith }), r.promise(i), e && e.call(i, i), i }, when: function(e) { var t = 0, n = l.call(arguments), r = n.length, i = r !== 1 || e && v.isfunction(e.promise) ? r : 0, s = i === 1 ? e : v.deferred(), o = function(e, t, n) { return function(r) { t[e] = this, n[e] = arguments.length > 1 ? l.call(arguments) : r, n === u ? s.notifywith(t, n) : --i || s.resolvewith(t, n) } }, u, a, f; if (r > 1) { u = new array(r), a = new array(r), f = new array(r); for (; t < r; t++) n[t] && v.isfunction(n[t].promise) ? n[t].promise().done(o(t, f, n)).fail(s.reject).progress(o(t, a, u)) : --i } return i || s.resolvewith(f, n), s.promise() } }), v.support = function() { var t, n, r, s, o, u, a, f, l, c, h, p = i.createelement("div"); p.setattribute("classname", "t"), p.innerhtml = "
a", n = p.getelementsbytagname("*"), r = p.getelementsbytagname("a")[0]; if (!n || !r || !n.length) return {}; s = i.createelement("select"), o = s.appendchild(i.createelement("option")), u = p.getelementsbytagname("input")[0], r.style.csstext = "top:1px;float:left;opacity:.5", t = { leadingwhitespace: p.firstchild.nodetype === 3, tbody: !p.getelementsbytagname("tbody").length, htmlserialize: !!p.getelementsbytagname("link").length, style: /top/.test(r.getattribute("style")), hrefnormalized: r.getattribute("href") === "/a", opacity: /^0.5/.test(r.style.opacity), cssfloat: !!r.style.cssfloat, checkon: u.value === "on", optselected: o.selected, getsetattribute: p.classname !== "t", enctype: !!i.createelement("form").enctype, html5clone: i.createelement("nav").clonenode(!0).outerhtml !== "<:nav>", boxmodel: i.compatmode === "css1compat", submitbubbles: !0, changebubbles: !0, focusinbubbles: !1, deleteexpando: !0, nocloneevent: !0, inlineblockneedslayout: !1, shrinkwrapblocks: !1, reliablemarginright: !0, boxsizingreliable: !0, pixelposition: !1 }, u.checked = !0, t.noclonechecked = u.clonenode(!0).checked, s.disabled = !0, t.optdisabled = !o.disabled; try { delete p.test } catch (d) { t.deleteexpando = !1 } !p.addeventlistener && p.attachevent && p.fireevent && (p.attachevent("onclick", h = function() { t.nocloneevent = !1 } ), p.clonenode(!0).fireevent("onclick"), p.detachevent("onclick", h)), u = i.createelement("input"), u.value = "t", u.setattribute("type", "radio"), t.radiovalue = u.value === "t", u.setattribute("checked", "checked"), u.setattribute("name", "t"), p.appendchild(u), a = i.createdocumentfragment(), a.appendchild(p.lastchild), t.checkclone = a.clonenode(!0).clonenode(!0).lastchild.checked, t.appendchecked = u.checked, a.removechild(u), a.appendchild(p); if (p.attachevent) for (l in { submit: !0, change: !0, focusin: !0 }) f = "on" + l, c = f in p, c || (p.setattribute(f, "return;"), c = typeof p[f] == "function"), t[l + "bubbles"] = c; return v(function() { var n, r, s, o, u = "padding:0;margin:0;border:0;display:block;overflow:hidden;", a = i.getelementsbytagname("body")[0]; if (!a) return; n = i.createelement("div"), n.style.csstext = "visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px", a.insertbefore(n, a.firstchild), r = i.createelement("div"), n.appendchild(r), r.innerhtml = "
t
", s = r.getelementsbytagname("td"), s[0].style.csstext = "padding:0;margin:0;border:0;display:none", c = s[0].offsetheight === 0, s[0].style.display = "", s[1].style.display = "none", t.reliablehiddenoffsets = c && s[0].offsetheight === 0, r.innerhtml = "", r.style.csstext = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;", t.boxsizing = r.offsetwidth === 4, t.doesnotincludemargininbodyoffset = a.offsettop !== 1, e.getcomputedstyle && (t.pixelposition = (e.getcomputedstyle(r, null) || {}).top !== "1%", t.boxsizingreliable = (e.getcomputedstyle(r, null) || { width: "4px" }).width === "4px", o = i.createelement("div"), o.style.csstext = r.style.csstext = u, o.style.marginright = o.style.width = "0", r.style.width = "1px", r.appendchild(o), t.reliablemarginright = !parsefloat((e.getcomputedstyle(o, null) || {}).marginright)), typeof r.style.zoom != "undefined" && (r.innerhtml = "", r.style.csstext = u + "width:1px;padding:1px;display:inline;zoom:1", t.inlineblockneedslayout = r.offsetwidth === 3, r.style.display = "block", r.style.overflow = "visible", r.innerhtml = "
", r.firstchild.style.width = "5px", t.shrinkwrapblocks = r.offsetwidth !== 3, n.style.zoom = 1), a.removechild(n), n = r = s = o = null }), a.removechild(p), n = r = s = o = u = a = p = null, t }(); var d = /(?:\{[\s\s]*\}|\[[\s\s]*\])$/ , p = /([a-z])/g; v.extend({ cache: {}, deletedids: [], uuid: 0, expando: "jquery" + (v.fn.jquery + math.random()).replace(/\d/g, ""), nodata: { embed: !0, object: "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000", applet: !0 }, hasdata: function(e) { return e = e.nodetype ? v.cache[e[v.expando]] : e[v.expando], !!e && !b(e) }, data: function(e, n, r, i) { if (!v.acceptdata(e)) return; var s, o, u = v.expando, a = typeof n == "string", f = e.nodetype, l = f ? v.cache : e, c = f ? e[u] : e[u] && u; if ((!c || !l[c] || !i && !l[c].data) && a && r === t) return; c || (f ? e[u] = c = v.deletedids.pop() || v.guid++ : c = u), l[c] || (l[c] = {}, f || (l[c].tojson = v.noop)); if (typeof n == "object" || typeof n == "function") i ? l[c] = v.extend(l[c], n) : l[c].data = v.extend(l[c].data, n); return s = l[c], i || (s.data || (s.data = {}), s = s.data), r !== t && (s[v.camelcase(n)] = r), a ? (o = s[n], o == null && (o = s[v.camelcase(n)])) : o = s, o }, removedata: function(e, t, n) { if (!v.acceptdata(e)) return; var r, i, s, o = e.nodetype, u = o ? v.cache : e, a = o ? e[v.expando] : v.expando; if (!u[a]) return; if (t) { r = n ? u[a] : u[a].data; if (r) { v.isarray(t) || (t in r ? t = [t] : (t = v.camelcase(t), t in r ? t = [t] : t = t.split(" "))); for (i = 0, s = t.length; i < s; i++) delete r[t[i]]; if (!(n ? b : v.isemptyobject)(r)) return } } if (!n) { delete u[a].data; if (!b(u[a])) return } o ? v.cleandata([e], !0) : v.support.deleteexpando || u != u.window ? delete u[a] : u[a] = null }, _data: function(e, t, n) { return v.data(e, t, n, !0) }, acceptdata: function(e) { var t = e.nodename && v.nodata[e.nodename.tolowercase()]; return !t || t !== !0 && e.getattribute("classid") === t } }), v.fn.extend({ data: function(e, n) { var r, i, s, o, u, a = this[0], f = 0, l = null; if (e === t) { if (this.length) { l = v.data(a); if (a.nodetype === 1 && !v._data(a, "parsedattrs")) { s = a.attributes; for (u = s.length; f < u; f++) o = s[f].name, o.indexof("data-") || (o = v.camelcase(o.substring(5)), h(a, o, l[o])); v._data(a, "parsedattrs", !0) } } return l } return typeof e == "object" ? this.each(function() { v.data(this, e) }) : (r = e.split(".", 2), r[1] = r[1] ? "." + r[1] : "", i = r[1] + "!", v.access(this, function(n) { if (n === t) return l = this.triggerhandler("getdata" + i, [r[0]]), l === t && a && (l = v.data(a, e), l = h(a, e, l)), l === t && r[1] ? this.data(r[0]) : l; r[1] = n, this.each(function() { var t = v(this); t.triggerhandler("setdata" + i, r), v.data(this, e, n), t.triggerhandler("changedata" + i, r) }) }, null, n, arguments.length > 1, null, !1)) }, removedata: function(e) { return this.each(function() { v.removedata(this, e) }) } }), v.extend({ queue: function(e, t, n) { var r; if (e) return t = (t || "fx") + "queue", r = v._data(e, t), n && (!r || v.isarray(n) ? r = v._data(e, t, v.makearray(n)) : r.push(n)), r || [] }, dequeue: function(e, t) { t = t || "fx"; var n = v.queue(e, t) , r = n.length , i = n.shift() , s = v._queuehooks(e, t) , o = function() { v.dequeue(e, t) }; i === "inprogress" && (i = n.shift(), r--), i && (t === "fx" && n.unshift("inprogress"), delete s.stop, i.call(e, o, s)), !r && s && s.empty.fire() }, _queuehooks: function(e, t) { var n = t + "queuehooks"; return v._data(e, n) || v._data(e, n, { empty: v.callbacks("once memory").add(function() { v.removedata(e, t + "queue", !0), v.removedata(e, n, !0) }) }) } }), v.fn.extend({ queue: function(e, n) { var r = 2; return typeof e != "string" && (n = e, e = "fx", r--), arguments.length < r ? v.queue(this[0], e) : n === t ? this : this.each(function() { var t = v.queue(this, e, n); v._queuehooks(this, e), e === "fx" && t[0] !== "inprogress" && v.dequeue(this, e) }) }, dequeue: function(e) { return this.each(function() { v.dequeue(this, e) }) }, delay: function(e, t) { return e = v.fx ? v.fx.speeds[e] || e : e, t = t || "fx", this.queue(t, function(t, n) { var r = settimeout(t, e); n.stop = function() { cleartimeout(r) } }) }, clearqueue: function(e) { return this.queue(e || "fx", []) }, promise: function(e, n) { var r, i = 1, s = v.deferred(), o = this, u = this.length, a = function() { --i || s.resolvewith(o, [o]) }; typeof e != "string" && (n = e, e = t), e = e || "fx"; while (u--) r = v._data(o[u], e + "queuehooks"), r && r.empty && (i++, r.empty.add(a)); return a(), s.promise(n) } }); var j, f, i, q = /[\t\r\n]/g, r = /\r/g, u = /^(?:button|input)$/i, z = /^(?:button|input|object|select|textarea)$/i, w = /^a(?:rea|)$/i, x = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, v = v.support.getsetattribute; v.fn.extend({ attr: function(e, t) { return v.access(this, v.attr, e, t, arguments.length > 1) }, removeattr: function(e) { return this.each(function() { v.removeattr(this, e) }) }, prop: function(e, t) { return v.access(this, v.prop, e, t, arguments.length > 1) }, removeprop: function(e) { return e = v.propfix[e] || e, this.each(function() { try { this[e] = t, delete this[e] } catch (n) {} }) }, addclass: function(e) { var t, n, r, i, s, o, u; if (v.isfunction(e)) return this.each(function(t) { v(this).addclass(e.call(this, t, this.classname)) }); if (e && typeof e == "string") { t = e.split(y); for (n = 0, r = this.length; n < r; n++) { i = this[n]; if (i.nodetype === 1) if (!i.classname && t.length === 1) i.classname = e; else { s = " " + i.classname + " "; for (o = 0, u = t.length; o < u; o++) s.indexof(" " + t[o] + " ") < 0 && (s += t[o] + " "); i.classname = v.trim(s) } } } return this }, removeclass: function(e) { var n, r, i, s, o, u, a; if (v.isfunction(e)) return this.each(function(t) { v(this).removeclass(e.call(this, t, this.classname)) }); if (e && typeof e == "string" || e === t) { n = (e || "").split(y); for (u = 0, a = this.length; u < a; u++) { i = this[u]; if (i.nodetype === 1 && i.classname) { r = (" " + i.classname + " ").replace(q, " "); for (s = 0, o = n.length; s < o; s++) while (r.indexof(" " + n[s] + " ") >= 0) r = r.replace(" " + n[s] + " ", " "); i.classname = e ? v.trim(r) : "" } } } return this }, toggleclass: function(e, t) { var n = typeof e , r = typeof t == "boolean"; return v.isfunction(e) ? this.each(function(n) { v(this).toggleclass(e.call(this, n, this.classname, t), t) }) : this.each(function() { if (n === "string") { var i, s = 0, o = v(this), u = t, a = e.split(y); while (i = a[s++]) u = r ? u : !o.hasclass(i), o[u ? "addclass" : "removeclass"](i) } else if (n === "undefined" || n === "boolean") this.classname && v._data(this, "__classname__", this.classname), this.classname = this.classname || e === !1 ? "" : v._data(this, "__classname__") || "" }) }, hasclass: function(e) { var t = " " + e + " " , n = 0 , r = this.length; for (; n < r; n++) if (this[n].nodetype === 1 && (" " + this[n].classname + " ").replace(q, " ").indexof(t) >= 0) return !0; return !1 }, val: function(e) { var n, r, i, s = this[0]; if (!arguments.length) { if (s) return n = v.valhooks[s.type] || v.valhooks[s.nodename.tolowercase()], n && "get"in n && (r = n.get(s, "value")) !== t ? r : (r = s.value, typeof r == "string" ? r.replace(r, "") : r == null ? "" : r); return } return i = v.isfunction(e), this.each(function(r) { var s, o = v(this); if (this.nodetype !== 1) return; i ? s = e.call(this, r, o.val()) : s = e, s == null ? s = "" : typeof s == "number" ? s += "" : v.isarray(s) && (s = v.map(s, function(e) { return e == null ? "" : e + "" })), n = v.valhooks[this.type] || v.valhooks[this.nodename.tolowercase()]; if (!n || !("set"in n) || n.set(this, s, "value") === t) this.value = s }) } }), v.extend({ valhooks: { option: { get: function(e) { var t = e.attributes.value; return !t || t.specified ? e.value : e.text } }, select: { get: function(e) { var t, n, r = e.options, i = e.selectedindex, s = e.type === "select-one" || i < 0, o = s ? null : [], u = s ? i + 1 : r.length, a = i < 0 ? u : s ? i : 0; for (; a < u; a++) { n = r[a]; if ((n.selected || a === i) && (v.support.optdisabled ? !n.disabled : n.getattribute("disabled") === null) && (!n.parentnode.disabled || !v.nodename(n.parentnode, "optgroup"))) { t = v(n).val(); if (s) return t; o.push(t) } } return o }, set: function(e, t) { var n = v.makearray(t); return v(e).find("option").each(function() { this.selected = v.inarray(v(this).val(), n) >= 0 }), n.length || (e.selectedindex = -1), n } } }, attrfn: {}, attr: function(e, n, r, i) { var s, o, u, a = e.nodetype; if (!e || a === 3 || a === 8 || a === 2) return; if (i && v.isfunction(v.fn[n])) return v(e)[n](r); if (typeof e.getattribute == "undefined") return v.prop(e, n, r); u = a !== 1 || !v.isxmldoc(e), u && (n = n.tolowercase(), o = v.attrhooks[n] || (x.test(n) ? f : j)); if (r !== t) { if (r === null) { v.removeattr(e, n); return } return o && "set"in o && u && (s = o.set(e, r, n)) !== t ? s : (e.setattribute(n, r + ""), r) } return o && "get"in o && u && (s = o.get(e, n)) !== null ? s : (s = e.getattribute(n), s === null ? t : s) }, removeattr: function(e, t) { var n, r, i, s, o = 0; if (t && e.nodetype === 1) { r = t.split(y); for (; o < r.length; o++) i = r[o], i && (n = v.propfix[i] || i, s = x.test(i), s || v.attr(e, i, ""), e.removeattribute(v ? i : n), s && n in e && (e[n] = !1)) } }, attrhooks: { type: { set: function(e, t) { if (u.test(e.nodename) && e.parentnode) v.error("type property can't be changed"); else if (!v.support.radiovalue && t === "radio" && v.nodename(e, "input")) { var n = e.value; return e.setattribute("type", t), n && (e.value = n), t } } }, value: { get: function(e, t) { return j && v.nodename(e, "button") ? j.get(e, t) : t in e ? e.value : null }, set: function(e, t, n) { if (j && v.nodename(e, "button")) return j.set(e, t, n); e.value = t } } }, propfix: { tabindex: "tabindex", readonly: "readonly", "for": "htmlfor", "class": "classname", maxlength: "maxlength", cellspacing: "cellspacing", cellpadding: "cellpadding", rowspan: "rowspan", colspan: "colspan", usemap: "usemap", frameborder: "frameborder", contenteditable: "contenteditable" }, prop: function(e, n, r) { var i, s, o, u = e.nodetype; if (!e || u === 3 || u === 8 || u === 2) return; return o = u !== 1 || !v.isxmldoc(e), o && (n = v.propfix[n] || n, s = v.prophooks[n]), r !== t ? s && "set"in s && (i = s.set(e, r, n)) !== t ? i : e[n] = r : s && "get"in s && (i = s.get(e, n)) !== null ? i : e[n] }, prophooks: { tabindex: { get: function(e) { var n = e.getattributenode("tabindex"); return n && n.specified ? parseint(n.value, 10) : z.test(e.nodename) || w.test(e.nodename) && e.href ? 0 : t } } } }), f = { get: function(e, n) { var r, i = v.prop(e, n); return i === !0 || typeof i != "boolean" && (r = e.getattributenode(n)) && r.nodevalue !== !1 ? n.tolowercase() : t }, set: function(e, t, n) { var r; return t === !1 ? v.removeattr(e, n) : (r = v.propfix[n] || n, r in e && (e[r] = !0), e.setattribute(n, n.tolowercase())), n } }, v || (i = { name: !0, id: !0, coords: !0 }, j = v.valhooks.button = { get: function(e, n) { var r; return r = e.getattributenode(n), r && (i[n] ? r.value !== "" : r.specified) ? r.value : t }, set: function(e, t, n) { var r = e.getattributenode(n); return r || (r = i.createattribute(n), e.setattributenode(r)), r.value = t + "" } }, v.each(["width", "height"], function(e, t) { v.attrhooks[t] = v.extend(v.attrhooks[t], { set: function(e, n) { if (n === "") return e.setattribute(t, "auto"), n } }) }), v.attrhooks.contenteditable = { get: j.get, set: function(e, t, n) { t === "" && (t = "false"), j.set(e, t, n) } }), v.support.hrefnormalized || v.each(["href", "src", "width", "height"], function(e, n) { v.attrhooks[n] = v.extend(v.attrhooks[n], { get: function(e) { var r = e.getattribute(n, 2); return r === null ? t : r } }) }), v.support.style || (v.attrhooks.style = { get: function(e) { return e.style.csstext.tolowercase() || t }, set: function(e, t) { return e.style.csstext = t + "" } }), v.support.optselected || (v.prophooks.selected = v.extend(v.prophooks.selected, { get: function(e) { var t = e.parentnode; return t && (t.selectedindex, t.parentnode && t.parentnode.selectedindex), null } })), v.support.enctype || (v.propfix.enctype = "encoding"), v.support.checkon || v.each(["radio", "checkbox"], function() { v.valhooks[this] = { get: function(e) { return e.getattribute("value") === null ? "on" : e.value } } }), v.each(["radio", "checkbox"], function() { v.valhooks[this] = v.extend(v.valhooks[this], { set: function(e, t) { if (v.isarray(t)) return e.checked = v.inarray(v(e).val(), t) >= 0 } }) }); var $ = /^(?:textarea|input|select)$/i , j = /^([^\.]*|)(?:\.(.+)|)$/ , k = /(?:^|\s)hover(\.\s+|)\b/ , q = /^key/ , g = /^(?:mouse|contextmenu)|click/ , y = /^(?:focusinfocus|focusoutblur)$/ , z = function(e) { return v.event.special.hover ? e : e.replace(k, "mouseenter$1 mouseleave$1") }; v.event = { add: function(e, n, r, i, s) { var o, u, a, f, l, c, h, p, d, m, g; if (e.nodetype === 3 || e.nodetype === 8 || !n || !r || !(o = v._data(e))) return; r.handler && (d = r, r = d.handler, s = d.selector), r.guid || (r.guid = v.guid++), a = o.events, a || (o.events = a = {}), u = o.handle, u || (o.handle = u = function(e) { return typeof v == "undefined" || !!e && v.event.triggered === e.type ? t : v.event.dispatch.apply(u.elem, arguments) } , u.elem = e), n = v.trim(z(n)).split(" "); for (f = 0; f < n.length; f++) { l = j.exec(n[f]) || [], c = l[1], h = (l[2] || "").split(".").sort(), g = v.event.special[c] || {}, c = (s ? g.delegatetype : g.bindtype) || c, g = v.event.special[c] || {}, p = v.extend({ type: c, origtype: l[1], data: i, handler: r, guid: r.guid, selector: s, needscontext: s && v.expr.match.needscontext.test(s), namespace: h.join(".") }, d), m = a[c]; if (!m) { m = a[c] = [], m.delegatecount = 0; if (!g.setup || g.setup.call(e, i, h, u) === !1) e.addeventlistener ? e.addeventlistener(c, u, !1) : e.attachevent && e.attachevent("on" + c, u) } g.add && (g.add.call(e, p), p.handler.guid || (p.handler.guid = r.guid)), s ? m.splice(m.delegatecount++, 0, p) : m.push(p), v.event.global[c] = !0 } e = null }, global: {}, remove: function(e, t, n, r, i) { var s, o, u, a, f, l, c, h, p, d, m, g = v.hasdata(e) && v._data(e); if (!g || !(h = g.events)) return; t = v.trim(z(t || "")).split(" "); for (s = 0; s < t.length; s++) { o = j.exec(t[s]) || [], u = a = o[1], f = o[2]; if (!u) { for (u in h) v.event.remove(e, u + t[s], n, r, !0); continue } p = v.event.special[u] || {}, u = (r ? p.delegatetype : p.bindtype) || u, d = h[u] || [], l = d.length, f = f ? new regexp("(^|\\.)" + f.split(".").sort().join("\\.(?:.*\\.|)") + "(\\.|$)") : null; for (c = 0; c < d.length; c++) m = d[c], (i || a === m.origtype) && (!n || n.guid === m.guid) && (!f || f.test(m.namespace)) && (!r || r === m.selector || r === "**" && m.selector) && (d.splice(c--, 1), m.selector && d.delegatecount--, p.remove && p.remove.call(e, m)); d.length === 0 && l !== d.length && ((!p.teardown || p.teardown.call(e, f, g.handle) === !1) && v.removeevent(e, u, g.handle), delete h[u]) } v.isemptyobject(h) && (delete g.handle, v.removedata(e, "events", !0)) }, customevent: { getdata: !0, setdata: !0, changedata: !0 }, trigger: function(n, r, s, o) { if (!s || s.nodetype !== 3 && s.nodetype !== 8) { var u, a, f, l, c, h, p, d, m, g, y = n.type || n, b = []; if (y.test(y + v.event.triggered)) return; y.indexof("!") >= 0 && (y = y.slice(0, -1), a = !0), y.indexof(".") >= 0 && (b = y.split("."), y = b.shift(), b.sort()); if ((!s || v.event.customevent[y]) && !v.event.global[y]) return; n = typeof n == "object" ? n[v.expando] ? n : new v.event(y,n) : new v.event(y), n.type = y, n.istrigger = !0, n.exclusive = a, n.namespace = b.join("."), n.namespace_re = n.namespace ? new regexp("(^|\\.)" + b.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, h = y.indexof(":") < 0 ? "on" + y : ""; if (!s) { u = v.cache; for (f in u) u[f].events && u[f].events[y] && v.event.trigger(n, r, u[f].handle.elem, !0); return } n.result = t, n.target || (n.target = s), r = r != null ? v.makearray(r) : [], r.unshift(n), p = v.event.special[y] || {}; if (p.trigger && p.trigger.apply(s, r) === !1) return; m = [[s, p.bindtype || y]]; if (!o && !p.nobubble && !v.iswindow(s)) { g = p.delegatetype || y, l = y.test(g + y) ? s : s.parentnode; for (c = s; l; l = l.parentnode) m.push([l, g]), c = l; c === (s.ownerdocument || i) && m.push([c.defaultview || c.parentwindow || e, g]) } for (f = 0; f < m.length && !n.ispropagationstopped(); f++) l = m[f][0], n.type = m[f][1], d = (v._data(l, "events") || {})[n.type] && v._data(l, "handle"), d && d.apply(l, r), d = h && l[h], d && v.acceptdata(l) && d.apply && d.apply(l, r) === !1 && n.preventdefault(); return n.type = y, !o && !n.isdefaultprevented() && (!p._default || p._default.apply(s.ownerdocument, r) === !1) && (y !== "click" || !v.nodename(s, "a")) && v.acceptdata(s) && h && s[y] && (y !== "focus" && y !== "blur" || n.target.offsetwidth !== 0) && !v.iswindow(s) && (c = s[h], c && (s[h] = null), v.event.triggered = y, s[y](), v.event.triggered = t, c && (s[h] = c)), n.result } return }, dispatch: function(n) { n = v.event.fix(n || e.event); var r, i, s, o, u, a, f, c, h, p, d = (v._data(this, "events") || {})[n.type] || [], m = d.delegatecount, g = l.call(arguments), y = !n.exclusive && !n.namespace, b = v.event.special[n.type] || {}, w = []; g[0] = n, n.delegatetarget = this; if (b.predispatch && b.predispatch.call(this, n) === !1) return; if (m && (!n.button || n.type !== "click")) for (s = n.target; s != this; s = s.parentnode || this) if (s.disabled !== !0 || n.type !== "click") { u = {}, f = []; for (r = 0; r < m; r++) c = d[r], h = c.selector, u[h] === t && (u[h] = c.needscontext ? v(h, this).index(s) >= 0 : v.find(h, this, null, [s]).length), u[h] && f.push(c); f.length && w.push({ elem: s, matches: f }) } d.length > m && w.push({ elem: this, matches: d.slice(m) }); for (r = 0; r < w.length && !n.ispropagationstopped(); r++) { a = w[r], n.currenttarget = a.elem; for (i = 0; i < a.matches.length && !n.isimmediatepropagationstopped(); i++) { c = a.matches[i]; if (y || !n.namespace && !c.namespace || n.namespace_re && n.namespace_re.test(c.namespace)) n.data = c.data, n.handleobj = c, o = ((v.event.special[c.origtype] || {}).handle || c.handler).apply(a.elem, g), o !== t && (n.result = o, o === !1 && (n.preventdefault(), n.stoppropagation())) } } return b.postdispatch && b.postdispatch.call(this, n), n.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".split(" "), filter: function(e, t) { return e.which == null && (e.which = t.charcode != null ? t.charcode : t.keycode), e } }, mousehooks: { props: "button buttons clientx clienty fromelement offsetx offsety pagex pagey screenx screeny toelement".split(" "), filter: function(e, n) { var r, s, o, u = n.button, a = n.fromelement; return e.pagex == null && n.clientx != null && (r = e.target.ownerdocument || i, s = r.documentelement, o = r.body, e.pagex = n.clientx + (s && s.scrollleft || o && o.scrollleft || 0) - (s && s.clientleft || o && o.clientleft || 0), e.pagey = n.clienty + (s && s.scrolltop || o && o.scrolltop || 0) - (s && s.clienttop || o && o.clienttop || 0)), !e.relatedtarget && a && (e.relatedtarget = a === e.target ? n.toelement : a), !e.which && u !== t && (e.which = u & 1 ? 1 : u & 2 ? 3 : u & 4 ? 2 : 0), e } }, fix: function(e) { if (e[v.expando]) return e; var t, n, r = e, s = v.event.fixhooks[e.type] || {}, o = s.props ? this.props.concat(s.props) : this.props; e = v.event(r); for (t = o.length; t; ) n = o[--t], e[n] = r[n]; return e.target || (e.target = r.srcelement || i), e.target.nodetype === 3 && (e.target = e.target.parentnode), e.metakey = !!e.metakey, s.filter ? s.filter(e, r) : e }, special: { load: { nobubble: !0 }, focus: { delegatetype: "focusin" }, blur: { delegatetype: "focusout" }, beforeunload: { setup: function(e, t, n) { v.iswindow(this) && (this.onbeforeunload = n) }, teardown: function(e, t) { this.onbeforeunload === t && (this.onbeforeunload = null) } } }, simulate: function(e, t, n, r) { var i = v.extend(new v.event, n, { type: e, issimulated: !0, originalevent: {} }); r ? v.event.trigger(i, null, t) : v.event.dispatch.call(t, i), i.isdefaultprevented() && n.preventdefault() } }, v.event.handle = v.event.dispatch, v.removeevent = i.removeeventlistener ? function(e, t, n) { e.removeeventlistener && e.removeeventlistener(t, n, !1) } : function(e, t, n) { var r = "on" + t; e.detachevent && (typeof e[r] == "undefined" && (e[r] = null), e.detachevent(r, n)) } , v.event = function(e, t) { if (!(this instanceof v.event)) return new v.event(e,t); e && e.type ? (this.originalevent = e, this.type = e.type, this.isdefaultprevented = e.defaultprevented || e.returnvalue === !1 || e.getpreventdefault && e.getpreventdefault() ? tt : et) : this.type = e, t && v.extend(this, t), this.timestamp = e && e.timestamp || v.now(), this[v.expando] = !0 } , v.event.prototype = { preventdefault: function() { this.isdefaultprevented = tt; var e = this.originalevent; if (!e) return; e.preventdefault ? e.preventdefault() : e.returnvalue = !1 }, stoppropagation: function() { this.ispropagationstopped = tt; var e = this.originalevent; if (!e) return; e.stoppropagation && e.stoppropagation(), e.cancelbubble = !0 }, stopimmediatepropagation: function() { this.isimmediatepropagationstopped = tt, this.stoppropagation() }, isdefaultprevented: et, ispropagationstopped: et, isimmediatepropagationstopped: et }, v.each({ mouseenter: "mouseover", mouseleave: "mouseout" }, function(e, t) { v.event.special[e] = { delegatetype: t, bindtype: t, handle: function(e) { var n, r = this, i = e.relatedtarget, s = e.handleobj, o = s.selector; if (!i || i !== r && !v.contains(r, i)) e.type = s.origtype, n = s.handler.apply(this, arguments), e.type = t; return n } } }), v.support.submitbubbles || (v.event.special.submit = { setup: function() { if (v.nodename(this, "form")) return !1; v.event.add(this, "click._submit keypress._submit", function(e) { var n = e.target , r = v.nodename(n, "input") || v.nodename(n, "button") ? n.form : t; r && !v._data(r, "_submit_attached") && (v.event.add(r, "submit._submit", function(e) { e._submit_bubble = !0 }), v._data(r, "_submit_attached", !0)) }) }, postdispatch: function(e) { e._submit_bubble && (delete e._submit_bubble, this.parentnode && !e.istrigger && v.event.simulate("submit", this.parentnode, e, !0)) }, teardown: function() { if (v.nodename(this, "form")) return !1; v.event.remove(this, "._submit") } }), v.support.changebubbles || (v.event.special.change = { setup: function() { if ($.test(this.nodename)) { if (this.type === "checkbox" || this.type === "radio") v.event.add(this, "propertychange._change", function(e) { e.originalevent.propertyname === "checked" && (this._just_changed = !0) }), v.event.add(this, "click._change", function(e) { this._just_changed && !e.istrigger && (this._just_changed = !1), v.event.simulate("change", this, e, !0) }); return !1 } v.event.add(this, "beforeactivate._change", function(e) { var t = e.target; $.test(t.nodename) && !v._data(t, "_change_attached") && (v.event.add(t, "change._change", function(e) { this.parentnode && !e.issimulated && !e.istrigger && v.event.simulate("change", this.parentnode, e, !0) }), v._data(t, "_change_attached", !0)) }) }, handle: function(e) { var t = e.target; if (this !== t || e.issimulated || e.istrigger || t.type !== "radio" && t.type !== "checkbox") return e.handleobj.handler.apply(this, arguments) }, teardown: function() { return v.event.remove(this, "._change"), !$.test(this.nodename) } }), v.support.focusinbubbles || v.each({ focus: "focusin", blur: "focusout" }, function(e, t) { var n = 0 , r = function(e) { v.event.simulate(t, e.target, v.event.fix(e), !0) }; v.event.special[t] = { setup: function() { n++ === 0 && i.addeventlistener(e, r, !0) }, teardown: function() { --n === 0 && i.removeeventlistener(e, r, !0) } } }), v.fn.extend({ on: function(e, n, r, i, s) { var o, u; if (typeof e == "object") { typeof n != "string" && (r = r || n, n = t); for (u in e) this.on(u, n, r, e[u], s); return this } r == null && i == null ? (i = n, r = n = t) : i == null && (typeof n == "string" ? (i = r, r = t) : (i = r, r = n, n = t)); if (i === !1) i = et; else if (!i) return this; return s === 1 && (o = i, i = function(e) { return v().off(e), o.apply(this, arguments) } , i.guid = o.guid || (o.guid = v.guid++)), this.each(function() { v.event.add(this, e, i, r, n) }) }, one: function(e, t, n, r) { return this.on(e, t, n, r, 1) }, off: function(e, n, r) { var i, s; if (e && e.preventdefault && e.handleobj) return i = e.handleobj, v(e.delegatetarget).off(i.namespace ? i.origtype + "." + i.namespace : i.origtype, i.selector, i.handler), this; if (typeof e == "object") { for (s in e) this.off(s, n, e[s]); return this } if (n === !1 || typeof n == "function") r = n, n = t; return r === !1 && (r = et), this.each(function() { v.event.remove(this, e, r, n) }) }, bind: function(e, t, n) { return this.on(e, null, t, n) }, unbind: function(e, t) { return this.off(e, null, t) }, live: function(e, t, n) { return v(this.context).on(e, this.selector, t, n), this }, die: function(e, t) { return v(this.context).off(e, this.selector || "**", t), this }, delegate: function(e, t, n, r) { return this.on(t, e, n, r) }, undelegate: function(e, t, n) { return arguments.length === 1 ? this.off(e, "**") : this.off(t, e || "**", n) }, trigger: function(e, t) { return this.each(function() { v.event.trigger(e, t, this) }) }, triggerhandler: function(e, t) { if (this[0]) return v.event.trigger(e, t, this[0], !0) }, toggle: function(e) { var t = arguments , n = e.guid || v.guid++ , r = 0 , i = function(n) { var i = (v._data(this, "lasttoggle" + e.guid) || 0) % r; return v._data(this, "lasttoggle" + e.guid, i + 1), n.preventdefault(), t[i].apply(this, arguments) || !1 }; i.guid = n; while (r < t.length) t[r++].guid = n; return this.click(i) }, hover: function(e, t) { return this.mouseenter(e).mouseleave(t || e) } }), v.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, t) { v.fn[t] = function(e, n) { return n == null && (n = e, e = null), arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t) } , q.test(t) && (v.event.fixhooks[t] = v.event.keyhooks), g.test(t) && (v.event.fixhooks[t] = v.event.mousehooks) }), function(e, t) { function nt(e, t, n, r) { n = n || [], t = t || g; var i, s, a, f, l = t.nodetype; if (!e || typeof e != "string") return n; if (l !== 1 && l !== 9) return []; a = o(t); if (!a && !r) if (i = r.exec(e)) if (f = i[1]) { if (l === 9) { s = t.getelementbyid(f); if (!s || !s.parentnode) return n; if (s.id === f) return n.push(s), n } else if (t.ownerdocument && (s = t.ownerdocument.getelementbyid(f)) && u(t, s) && s.id === f) return n.push(s), n } else { if (i[2]) return s.apply(n, x.call(t.getelementsbytagname(e), 0)), n; if ((f = i[3]) && z && t.getelementsbyclassname) return s.apply(n, x.call(t.getelementsbyclassname(f), 0)), n } return vt(e.replace(j, "$1"), t, n, r, a) } function rt(e) { return function(t) { var n = t.nodename.tolowercase(); return n === "input" && t.type === e } } function it(e) { return function(t) { var n = t.nodename.tolowercase(); return (n === "input" || n === "button") && t.type === e } } function st(e) { return n(function(t) { return t = +t, n(function(n, r) { var i, s = e([], n.length, t), o = s.length; while (o--) n[i = s[o]] && (n[i] = !(r[i] = n[i])) }) }) } function ot(e, t, n) { if (e === t) return n; var r = e.nextsibling; while (r) { if (r === t) return -1; r = r.nextsibling } return 1 } function ut(e, t) { var n, r, s, o, u, a, f, l = l[d][e + " "]; if (l) return t ? 0 : l.slice(0); u = e, a = [], f = i.prefilter; while (u) { if (!n || (r = f.exec(u))) r && (u = u.slice(r[0].length) || u), a.push(s = []); n = !1; if (r = i.exec(u)) s.push(n = new m(r.shift())), u = u.slice(n.length), n.type = r[0].replace(j, " "); for (o in i.filter) (r = j[o].exec(u)) && (!f[o] || (r = f[o](r))) && (s.push(n = new m(r.shift())), u = u.slice(n.length), n.type = o, n.matches = r); if (!n) break } return t ? u.length : u ? nt.error(e) : l(e, a).slice(0) } function at(e, t, r) { var i = t.dir , s = r && t.dir === "parentnode" , o = w++; return t.first ? function(t, n, r) { while (t = t[i]) if (s || t.nodetype === 1) return e(t, n, r) } : function(t, r, u) { if (!u) { var a, f = b + " " + o + " ", l = f + n; while (t = t[i]) if (s || t.nodetype === 1) { if ((a = t[d]) === l) return t.sizset; if (typeof a == "string" && a.indexof(f) === 0) { if (t.sizset) return t } else { t[d] = l; if (e(t, r, u)) return t.sizset = !0, t; t.sizset = !1 } } } else while (t = t[i]) if (s || t.nodetype === 1) if (e(t, r, u)) return t } } function ft(e) { return e.length > 1 ? function(t, n, r) { var i = e.length; while (i--) if (!e[i](t, n, r)) return !1; return !0 } : e[0] } function lt(e, t, n, r, i) { var s, o = [], u = 0, a = e.length, f = t != null; for (; u < a; u++) if (s = e[u]) if (!n || n(s, r, i)) o.push(s), f && t.push(u); return o } function ct(e, t, n, r, i, s) { return r && !r[d] && (r = ct(r)), i && !i[d] && (i = ct(i, s)), n(function(s, o, u, a) { var f, l, c, h = [], p = [], d = o.length, v = s || dt(t || "*", u.nodetype ? [u] : u, []), m = e && (s || !t) ? lt(v, h, e, u, a) : v, g = n ? i || (s ? e : d || r) ? [] : o : m; n && n(m, g, u, a); if (r) { f = lt(g, p), r(f, [], u, a), l = f.length; while (l--) if (c = f[l]) g[p[l]] = !(m[p[l]] = c) } if (s) { if (i || e) { if (i) { f = [], l = g.length; while (l--) (c = g[l]) && f.push(m[l] = c); i(null, g = [], f, a) } l = g.length; while (l--) (c = g[l]) && (f = i ? t.call(s, c) : h[l]) > -1 && (s[f] = !(o[f] = c)) } } else g = lt(g === o ? g.splice(d, g.length) : g), i ? i(null, o, g, a) : s.apply(o, g) }) } function ht(e) { var t, n, r, s = e.length, o = i.relative[e[0].type], u = o || i.relative[" "], a = o ? 1 : 0, f = at(function(e) { return e === t }, u, !0), l = at(function(e) { return t.call(t, e) > -1 }, u, !0), h = [function(e, n, r) { return !o && (r || n !== c) || ((t = n).nodetype ? f(e, n, r) : l(e, n, r)) } ]; for (; a < s; a++) if (n = i.relative[e[a].type]) h = [at(ft(h), n)]; else { n = i.filter[e[a].type].apply(null, e[a].matches); if (n[d]) { r = ++a; for (; r < s; r++) if (i.relative[e[r].type]) break; return ct(a > 1 && ft(h), a > 1 && e.slice(0, a - 1).join("").replace(j, "$1"), n, a < r && ht(e.slice(a, r)), r < s && ht(e = e.slice(r)), r < s && e.join("")) } h.push(n) } return ft(h) } function pt(e, t) { var r = t.length > 0 , s = e.length > 0 , o = function(u, a, f, l, h) { var p, d, v, m = [], y = 0, w = "0", x = u && [], t = h != null, n = c, c = u || s && i.find.tag("*", h && a.parentnode || a), k = b += n == null ? 1 : math.e; t && (c = a !== g && a, n = o.el); for (; (p = c[w]) != null; w++) { if (s && p) { for (d = 0; v = e[d]; d++) if (v(p, a, f)) { l.push(p); break } t && (b = k, n = ++o.el) } r && ((p = !v && p) && y--, u && x.push(p)) } y += w; if (r && w !== y) { for (d = 0; v = t[d]; d++) v(x, m, a, f); if (u) { if (y > 0) while (w--) !x[w] && !m[w] && (m[w] = e.call(l)); m = lt(m) } s.apply(l, m), t && !u && m.length > 0 && y + t.length > 1 && nt.uniquesort(l) } return t && (b = k, c = n), x }; return o.el = 0, r ? n(o) : o } function dt(e, t, n) { var r = 0 , i = t.length; for (; r < i; r++) nt(e, t[r], n); return n } function vt(e, t, n, r, s) { var o, u, f, l, c, h = ut(e), p = h.length; if (!r && h.length === 1) { u = h[0] = h[0].slice(0); if (u.length > 2 && (f = u[0]).type === "id" && t.nodetype === 9 && !s && i.relative[u[1].type]) { t = i.find.id(f.matches[0].replace($, ""), t, s)[0]; if (!t) return n; e = e.slice(u.shift().length) } for (o = j.pos.test(e) ? -1 : u.length - 1; o >= 0; o--) { f = u[o]; if (i.relative[l = f.type]) break; if (c = i.find[l]) if (r = c(f.matches[0].replace($, ""), z.test(u[0].type) && t.parentnode || t, s)) { u.splice(o, 1), e = r.length && u.join(""); if (!e) return s.apply(n, x.call(r, 0)), n; break } } } return a(e, h)(r, t, s, n, z.test(e)), n } function mt() {} var n, r, i, s, o, u, a, f, l, c, h = !0, p = "undefined", d = ("sizcache" + math.random()).replace(".", ""), m = string, g = e.document, y = g.documentelement, b = 0, w = 0, e = [].pop, s = [].push, x = [].slice, t = [].indexof || function(e) { var t = 0 , n = this.length; for (; t < n; t++) if (this[t] === e) return t; return -1 } , n = function(e, t) { return e[d] = t == null || t, e }, c = function() { var e = {} , t = []; return n(function(n, r) { return t.push(n) > i.cachelength && delete e[t.shift()], e[n + " "] = r }, e) }, k = c(), l = c(), a = c(), o = "[\\x20\\t\\r\\n\\f]", m = "(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+", _ = m.replace("w", "w#"), d = "([*^$|!~]?=)", p = "\\[" + o + "*(" + m + ")" + o + "*(?:" + d + o + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + _ + ")|)|)" + o + "*\\]", h = ":(" + m + ")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:" + p + ")|[^:]|\\\\.)*|.*))\\)|)", b = ":(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + o + "*((?:-\\d)?\\d*)" + o + "*\\)|)(?=[^-]|$)", j = new regexp("^" + o + "+|((?:^|[^\\\\])(?:\\\\.)*)" + o + "+$","g"), f = new regexp("^" + o + "*," + o + "*"), i = new regexp("^" + o + "*([\\x20\\t\\r\\n\\f>+~])" + o + "*"), q = new regexp(h), r = /^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/, u = /^:not/, z = /[\x20\t\r\n\f]*[+~]/, w = /:not\($/, x = /h\d/i, v = /input|select|textarea|button/i, $ = /\\(?!\\)/g, j = { id: new regexp("^#(" + m + ")"), class: new regexp("^\\.(" + m + ")"), name: new regexp("^\\[name=['\"]?(" + m + ")['\"]?\\]"), tag: new regexp("^(" + m.replace("w", "w*") + ")"), attr: new regexp("^" + p), pseudo: new regexp("^" + h), pos: new regexp(b,"i"), child: new regexp("^:(only|nth|first|last)-child(?:\\(" + o + "*(even|odd|(([+-]|)(\\d*)n|)" + o + "*(?:([+-]|)" + o + "*(\\d+)|))" + o + "*\\)|)","i"), needscontext: new regexp("^" + o + "*[>+~]|" + b,"i") }, k = function(e) { var t = g.createelement("div"); try { return e(t) } catch (n) { return !1 } finally { t = null } }, q = k(function(e) { return e.appendchild(g.createcomment("")), !e.getelementsbytagname("*").length }), g = k(function(e) { return e.innerhtml = "", e.firstchild && typeof e.firstchild.getattribute !== p && e.firstchild.getattribute("href") === "#" }), y = k(function(e) { e.innerhtml = ""; var t = typeof e.lastchild.getattribute("multiple"); return t !== "boolean" && t !== "string" }), z = k(function(e) { return e.innerhtml = "", !e.getelementsbyclassname || !e.getelementsbyclassname("e").length ? !1 : (e.lastchild.classname = "e", e.getelementsbyclassname("e").length === 2) }), et = k(function(e) { e.id = d + 0, e.innerhtml = "
", y.insertbefore(e, y.firstchild); var t = g.getelementsbyname && g.getelementsbyname(d).length === 2 + g.getelementsbyname(d + 0).length; return r = !g.getelementbyid(d), y.removechild(e), t }); try { x.call(y.childnodes, 0)[0].nodetype } catch (tt) { x = function(e) { var t, n = []; for (; t = this[e]; e++) n.push(t); return n } } nt.matches = function(e, t) { return nt(e, null, null, t) } , nt.matchesselector = function(e, t) { return nt(t, null, null, [e]).length > 0 } , s = nt.gettext = function(e) { var t, n = "", r = 0, i = e.nodetype; if (i) { if (i === 1 || i === 9 || i === 11) { if (typeof e.textcontent == "string") return e.textcontent; for (e = e.firstchild; e; e = e.nextsibling) n += s(e) } else if (i === 3 || i === 4) return e.nodevalue } else for (; t = e[r]; r++) n += s(t); return n } , o = nt.isxml = function(e) { var t = e && (e.ownerdocument || e).documentelement; return t ? t.nodename !== "html" : !1 } , u = nt.contains = y.contains ? function(e, t) { var n = e.nodetype === 9 ? e.documentelement : e , r = t && t.parentnode; return e === r || !!(r && r.nodetype === 1 && n.contains && n.contains(r)) } : y.comparedocumentposition ? function(e, t) { return t && !!(e.comparedocumentposition(t) & 16) } : function(e, t) { while (t = t.parentnode) if (t === e) return !0; return !1 } , nt.attr = function(e, t) { var n, r = o(e); return r || (t = t.tolowercase()), (n = i.attrhandle[t]) ? n(e) : r || y ? e.getattribute(t) : (n = e.getattributenode(t), n ? typeof e[t] == "boolean" ? e[t] ? t : null : n.specified ? n.value : null : null) } , i = nt.selectors = { cachelength: 50, createpseudo: n, match: j, attrhandle: g ? {} : { href: function(e) { return e.getattribute("href", 2) }, type: function(e) { return e.getattribute("type") } }, find: { id: r ? function(e, t, n) { if (typeof t.getelementbyid !== p && !n) { var r = t.getelementbyid(e); return r && r.parentnode ? [r] : [] } } : function(e, n, r) { if (typeof n.getelementbyid !== p && !r) { var i = n.getelementbyid(e); return i ? i.id === e || typeof i.getattributenode !== p && i.getattributenode("id").value === e ? [i] : t : [] } } , tag: q ? function(e, t) { if (typeof t.getelementsbytagname !== p) return t.getelementsbytagname(e) } : function(e, t) { var n = t.getelementsbytagname(e); if (e === "*") { var r, i = [], s = 0; for (; r = n[s]; s++) r.nodetype === 1 && i.push(r); return i } return n } , name: et && function(e, t) { if (typeof t.getelementsbyname !== p) return t.getelementsbyname(name) } , class: z && function(e, t, n) { if (typeof t.getelementsbyclassname !== p && !n) return t.getelementsbyclassname(e) } }, relative: { ">": { dir: "parentnode", first: !0 }, " ": { dir: "parentnode" }, "+": { dir: "previoussibling", first: !0 }, "~": { dir: "previoussibling" } }, prefilter: { attr: function(e) { return e[1] = e[1].replace($, ""), e[3] = (e[4] || e[5] || "").replace($, ""), e[2] === "~=" && (e[3] = " " + e[3] + " "), e.slice(0, 4) }, child: function(e) { return e[1] = e[1].tolowercase(), e[1] === "nth" ? (e[2] || nt.error(e[0]), e[3] = +(e[3] ? e[4] + (e[5] || 1) : 2 * (e[2] === "even" || e[2] === "odd")), e[4] = +(e[6] + e[7] || e[2] === "odd")) : e[2] && nt.error(e[0]), e }, pseudo: function(e) { var t, n; if (j.child.test(e[0])) return null; if (e[3]) e[2] = e[3]; else if (t = e[4]) q.test(t) && (n = ut(t, !0)) && (n = t.indexof(")", t.length - n) - t.length) && (t = t.slice(0, n), e[0] = e[0].slice(0, n)), e[2] = t; return e.slice(0, 3) } }, filter: { id: r ? function(e) { return e = e.replace($, ""), function(t) { return t.getattribute("id") === e } } : function(e) { return e = e.replace($, ""), function(t) { var n = typeof t.getattributenode !== p && t.getattributenode("id"); return n && n.value === e } } , tag: function(e) { return e === "*" ? function() { return !0 } : (e = e.replace($, "").tolowercase(), function(t) { return t.nodename && t.nodename.tolowercase() === e } ) }, class: function(e) { var t = k[d][e + " "]; return t || (t = new regexp("(^|" + o + ")" + e + "(" + o + "|$)")) && k(e, function(e) { return t.test(e.classname || typeof e.getattribute !== p && e.getattribute("class") || "") }) }, attr: function(e, t, n) { return function(r, i) { var s = nt.attr(r, e); return s == null ? t === "!=" : t ? (s += "", t === "=" ? s === n : t === "!=" ? s !== n : t === "^=" ? n && s.indexof(n) === 0 : t === "*=" ? n && s.indexof(n) > -1 : t === "$=" ? n && s.substr(s.length - n.length) === n : t === "~=" ? (" " + s + " ").indexof(n) > -1 : t === "|=" ? s === n || s.substr(0, n.length + 1) === n + "-" : !1) : !0 } }, child: function(e, t, n, r) { return e === "nth" ? function(e) { var t, i, s = e.parentnode; if (n === 1 && r === 0) return !0; if (s) { i = 0; for (t = s.firstchild; t; t = t.nextsibling) if (t.nodetype === 1) { i++; if (e === t) break } } return i -= r, i === n || i % n === 0 && i / n >= 0 } : function(t) { var n = t; switch (e) { case "only": case "first": while (n = n.previoussibling) if (n.nodetype === 1) return !1; if (e === "first") return !0; n = t; case "last": while (n = n.nextsibling) if (n.nodetype === 1) return !1; return !0 } } }, pseudo: function(e, t) { var n, r = i.pseudos[e] || i.setfilters[e.tolowercase()] || nt.error("unsupported pseudo: " + e); return r[d] ? r(t) : r.length > 1 ? (n = [e, e, "", t], i.setfilters.hasownproperty(e.tolowercase()) ? n(function(e, n) { var i, s = r(e, t), o = s.length; while (o--) i = t.call(e, s[o]), e[i] = !(n[i] = s[o]) }) : function(e) { return r(e, 0, n) } ) : r } }, pseudos: { not: n(function(e) { var t = [] , n = [] , r = a(e.replace(j, "$1")); return r[d] ? n(function(e, t, n, i) { var s, o = r(e, null, i, []), u = e.length; while (u--) if (s = o[u]) e[u] = !(t[u] = s) }) : function(e, i, s) { return t[0] = e, r(t, null, s, n), !n.pop() } }), has: n(function(e) { return function(t) { return nt(e, t).length > 0 } }), contains: n(function(e) { return function(t) { return (t.textcontent || t.innertext || s(t)).indexof(e) > -1 } }), enabled: function(e) { return e.disabled === !1 }, disabled: function(e) { return e.disabled === !0 }, checked: function(e) { var t = e.nodename.tolowercase(); return t === "input" && !!e.checked || t === "option" && !!e.selected }, selected: function(e) { return e.parentnode && e.parentnode.selectedindex, e.selected === !0 }, parent: function(e) { return !i.pseudos.empty(e) }, empty: function(e) { var t; e = e.firstchild; while (e) { if (e.nodename > "@" || (t = e.nodetype) === 3 || t === 4) return !1; e = e.nextsibling } return !0 }, header: function(e) { return x.test(e.nodename) }, text: function(e) { var t, n; return e.nodename.tolowercase() === "input" && (t = e.type) === "text" && ((n = e.getattribute("type")) == null || n.tolowercase() === t) }, radio: rt("radio"), checkbox: rt("checkbox"), file: rt("file"), password: rt("password"), image: rt("image"), submit: it("submit"), reset: it("reset"), button: function(e) { var t = e.nodename.tolowercase(); return t === "input" && e.type === "button" || t === "button" }, input: function(e) { return v.test(e.nodename) }, focus: function(e) { var t = e.ownerdocument; return e === t.activeelement && (!t.hasfocus || t.hasfocus()) && !!(e.type || e.href || ~e.tabindex) }, active: function(e) { return e === e.ownerdocument.activeelement }, first: st(function() { return [0] }), last: st(function(e, t) { return [t - 1] }), eq: st(function(e, t, n) { return [n < 0 ? n + t : n] }), even: st(function(e, t) { for (var n = 0; n < t; n += 2) e.push(n); return e }), odd: st(function(e, t) { for (var n = 1; n < t; n += 2) e.push(n); return e }), lt: st(function(e, t, n) { for (var r = n < 0 ? n + t : n; --r >= 0; ) e.push(r); return e }), gt: st(function(e, t, n) { for (var r = n < 0 ? n + t : n; ++r < t; ) e.push(r); return e }) } }, f = y.comparedocumentposition ? function(e, t) { return e === t ? (l = !0, 0) : (!e.comparedocumentposition || !t.comparedocumentposition ? e.comparedocumentposition : e.comparedocumentposition(t) & 4) ? -1 : 1 } : function(e, t) { if (e === t) return l = !0, 0; if (e.sourceindex && t.sourceindex) return e.sourceindex - t.sourceindex; var n, r, i = [], s = [], o = e.parentnode, u = t.parentnode, a = o; if (o === u) return ot(e, t); if (!o) return -1; if (!u) return 1; while (a) i.unshift(a), a = a.parentnode; a = u; while (a) s.unshift(a), a = a.parentnode; n = i.length, r = s.length; for (var f = 0; f < n && f < r; f++) if (i[f] !== s[f]) return ot(i[f], s[f]); return f === n ? ot(e, s[f], -1) : ot(i[f], t, 1) } , [0, 0].sort(f), h = !l, nt.uniquesort = function(e) { var t, n = [], r = 1, i = 0; l = h, e.sort(f); if (l) { for (; t = e[r]; r++) t === e[r - 1] && (i = n.push(r)); while (i--) e.splice(n[i], 1) } return e } , nt.error = function(e) { throw new error("syntax error, unrecognized expression: " + e) } , a = nt.compile = function(e, t) { var n, r = [], i = [], s = a[d][e + " "]; if (!s) { t || (t = ut(e)), n = t.length; while (n--) s = ht(t[n]), s[d] ? r.push(s) : i.push(s); s = a(e, pt(i, r)) } return s } , g.queryselectorall && function() { var e, t = vt, n = /'|\\/g, r = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, i = [":focus"], s = [":active"], u = y.matchesselector || y.mozmatchesselector || y.webkitmatchesselector || y.omatchesselector || y.msmatchesselector; k(function(e) { e.innerhtml = "", e.queryselectorall("[selected]").length || i.push("\\[" + o + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)"), e.queryselectorall(":checked").length || i.push(":checked") }), k(function(e) { e.innerhtml = "

", e.queryselectorall("[test^='']").length && i.push("[*^$]=" + o + "*(?:\"\"|'')"), e.innerhtml = "", e.queryselectorall(":enabled").length || i.push(":enabled", ":disabled") }), i = new regexp(i.join("|")), vt = function(e, r, s, o, u) { if (!o && !u && !i.test(e)) { var a, f, l = !0, c = d, h = r, p = r.nodetype === 9 && e; if (r.nodetype === 1 && r.nodename.tolowercase() !== "object") { a = ut(e), (l = r.getattribute("id")) ? c = l.replace(n, "\\$&") : r.setattribute("id", c), c = "[id='" + c + "'] ", f = a.length; while (f--) a[f] = c + a[f].join(""); h = z.test(e) && r.parentnode || r, p = a.join(",") } if (p) try { return s.apply(s, x.call(h.queryselectorall(p), 0)), s } catch (v) {} finally { l || r.removeattribute("id") } } return t(e, r, s, o, u) } , u && (k(function(t) { e = u.call(t, "div"); try { u.call(t, "[test!='']:sizzle"), s.push("!=", h) } catch (n) {} }), s = new regexp(s.join("|")), nt.matchesselector = function(t, n) { n = n.replace(r, "='$1']"); if (!o(t) && !s.test(n) && !i.test(n)) try { var a = u.call(t, n); if (a || e || t.document && t.document.nodetype !== 11) return a } catch (f) {} return nt(n, null, null, [t]).length > 0 } ) }(), i.pseudos.nth = i.pseudos.eq, i.filters = mt.prototype = i.pseudos, i.setfilters = new mt, nt.attr = v.attr, v.find = nt, v.expr = nt.selectors, v.expr[":"] = v.expr.pseudos, v.unique = nt.uniquesort, v.text = nt.gettext, v.isxmldoc = nt.isxml, v.contains = nt.contains }(e); var nt = /until$/ , rt = /^(?:parents|prev(?:until|all))/ , it = /^.[^:#\[\.,]*$/ , st = v.expr.match.needscontext , ot = { children: !0, contents: !0, next: !0, prev: !0 }; v.fn.extend({ find: function(e) { var t, n, r, i, s, o, u = this; if (typeof e != "string") return v(e).filter(function() { for (t = 0, n = u.length; t < n; t++) if (v.contains(u[t], this)) return !0 }); o = this.pushstack("", "find", e); for (t = 0, n = this.length; t < n; t++) { r = o.length, v.find(e, this[t], o); if (t > 0) for (i = r; i < o.length; i++) for (s = 0; s < r; s++) if (o[s] === o[i]) { o.splice(i--, 1); break } } return o }, has: function(e) { var t, n = v(e, this), r = n.length; return this.filter(function() { for (t = 0; t < r; t++) if (v.contains(this, n[t])) return !0 }) }, not: function(e) { return this.pushstack(ft(this, e, !1), "not", e) }, filter: function(e) { return this.pushstack(ft(this, e, !0), "filter", e) }, is: function(e) { return !!e && (typeof e == "string" ? st.test(e) ? v(e, this.context).index(this[0]) >= 0 : v.filter(e, this).length > 0 : this.filter(e).length > 0) }, closest: function(e, t) { var n, r = 0, i = this.length, s = [], o = st.test(e) || typeof e != "string" ? v(e, t || this.context) : 0; for (; r < i; r++) { n = this[r]; while (n && n.ownerdocument && n !== t && n.nodetype !== 11) { if (o ? o.index(n) > -1 : v.find.matchesselector(n, e)) { s.push(n); break } n = n.parentnode } } return s = s.length > 1 ? v.unique(s) : s, this.pushstack(s, "closest", e) }, index: function(e) { return e ? typeof e == "string" ? v.inarray(this[0], v(e)) : v.inarray(e.jquery ? e[0] : e, this) : this[0] && this[0].parentnode ? this.prevall().length : -1 }, add: function(e, t) { var n = typeof e == "string" ? v(e, t) : v.makearray(e && e.nodetype ? [e] : e) , r = v.merge(this.get(), n); return this.pushstack(ut(n[0]) || ut(r[0]) ? r : v.unique(r)) }, addback: function(e) { return this.add(e == null ? this.prevobject : this.prevobject.filter(e)) } }), v.fn.andself = v.fn.addback, v.each({ parent: function(e) { var t = e.parentnode; return t && t.nodetype !== 11 ? t : null }, parents: function(e) { return v.dir(e, "parentnode") }, parentsuntil: function(e, t, n) { return v.dir(e, "parentnode", n) }, next: function(e) { return at(e, "nextsibling") }, prev: function(e) { return at(e, "previoussibling") }, nextall: function(e) { return v.dir(e, "nextsibling") }, prevall: function(e) { return v.dir(e, "previoussibling") }, nextuntil: function(e, t, n) { return v.dir(e, "nextsibling", n) }, prevuntil: function(e, t, n) { return v.dir(e, "previoussibling", n) }, siblings: function(e) { return v.sibling((e.parentnode || {}).firstchild, e) }, children: function(e) { return v.sibling(e.firstchild) }, contents: function(e) { return v.nodename(e, "iframe") ? e.contentdocument || e.contentwindow.document : v.merge([], e.childnodes) } }, function(e, t) { v.fn[e] = function(n, r) { var i = v.map(this, t, n); return nt.test(e) || (r = n), r && typeof r == "string" && (i = v.filter(r, i)), i = this.length > 1 && !ot[e] ? v.unique(i) : i, this.length > 1 && rt.test(e) && (i = i.reverse()), this.pushstack(i, e, l.call(arguments).join(",")) } }), v.extend({ filter: function(e, t, n) { return n && (e = ":not(" + e + ")"), t.length === 1 ? v.find.matchesselector(t[0], e) ? [t[0]] : [] : v.find.matches(e, t) }, dir: function(e, n, r) { var i = [] , s = e[n]; while (s && s.nodetype !== 9 && (r === t || s.nodetype !== 1 || !v(s).is(r))) s.nodetype === 1 && i.push(s), s = s[n]; return i }, sibling: function(e, t) { var n = []; for (; e; e = e.nextsibling) e.nodetype === 1 && e !== t && n.push(e); return n } }); var ct = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video" , ht = / jquery\d+="(?:null|\d+)"/g , pt = /^\s+/ , dt = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi , vt = /<([\w:]+)/ , mt = /]","i") , et = /^(?:checkbox|radio)$/ , st = /checked\s*(?:[^=]|=\s*.checked.)/i , xt = /\/(java|ecma)script/i , tt = /^\s*\s*$/g , nt = { option: [1, ""], legend: [1, "
", "
"], thead: [1, "", "
"], tr: [2, "", "
"], td: [3, "", "
"], col: [2, "", "
"], area: [1, "", ""], _default: [0, "", ""] } , ct = lt(i) , kt = ct.appendchild(i.createelement("div")); nt.optgroup = nt.option, nt.tbody = nt.tfoot = nt.colgroup = nt.caption = nt.thead, nt.th = nt.td, v.support.htmlserialize || (nt._default = [1, "x
", "
"]), v.fn.extend({ text: function(e) { return v.access(this, function(e) { return e === t ? v.text(this) : this.empty().append((this[0] && this[0].ownerdocument || i).createtextnode(e)) }, null, e, arguments.length) }, wrapall: function(e) { if (v.isfunction(e)) return this.each(function(t) { v(this).wrapall(e.call(this, t)) }); if (this[0]) { var t = v(e, this[0].ownerdocument).eq(0).clone(!0); this[0].parentnode && t.insertbefore(this[0]), t.map(function() { var e = this; while (e.firstchild && e.firstchild.nodetype === 1) e = e.firstchild; return e }).append(this) } return this }, wrapinner: function(e) { return v.isfunction(e) ? this.each(function(t) { v(this).wrapinner(e.call(this, t)) }) : this.each(function() { var t = v(this) , n = t.contents(); n.length ? n.wrapall(e) : t.append(e) }) }, wrap: function(e) { var t = v.isfunction(e); return this.each(function(n) { v(this).wrapall(t ? e.call(this, n) : e) }) }, unwrap: function() { return this.parent().each(function() { v.nodename(this, "body") || v(this).replacewith(this.childnodes) }).end() }, append: function() { return this.dommanip(arguments, !0, function(e) { (this.nodetype === 1 || this.nodetype === 11) && this.appendchild(e) }) }, prepend: function() { return this.dommanip(arguments, !0, function(e) { (this.nodetype === 1 || this.nodetype === 11) && this.insertbefore(e, this.firstchild) }) }, before: function() { if (!ut(this[0])) return this.dommanip(arguments, !1, function(e) { this.parentnode.insertbefore(e, this) }); if (arguments.length) { var e = v.clean(arguments); return this.pushstack(v.merge(e, this), "before", this.selector) } }, after: function() { if (!ut(this[0])) return this.dommanip(arguments, !1, function(e) { this.parentnode.insertbefore(e, this.nextsibling) }); if (arguments.length) { var e = v.clean(arguments); return this.pushstack(v.merge(this, e), "after", this.selector) } }, remove: function(e, t) { var n, r = 0; for (; (n = this[r]) != null; r++) if (!e || v.filter(e, [n]).length) !t && n.nodetype === 1 && (v.cleandata(n.getelementsbytagname("*")), v.cleandata([n])), n.parentnode && n.parentnode.removechild(n); return this }, empty: function() { var e, t = 0; for (; (e = this[t]) != null; t++) { e.nodetype === 1 && v.cleandata(e.getelementsbytagname("*")); while (e.firstchild) e.removechild(e.firstchild) } return this }, clone: function(e, t) { return e = e == null ? !1 : e, t = t == null ? e : t, this.map(function() { return v.clone(this, e, t) }) }, html: function(e) { return v.access(this, function(e) { var n = this[0] || {} , r = 0 , i = this.length; if (e === t) return n.nodetype === 1 ? n.innerhtml.replace(ht, "") : t; if (typeof e == "string" && !yt.test(e) && (v.support.htmlserialize || !wt.test(e)) && (v.support.leadingwhitespace || !pt.test(e)) && !nt[(vt.exec(e) || ["", ""])[1].tolowercase()]) { e = e.replace(dt, "<$1>"); try { for (; r < i; r++) n = this[r] || {}, n.nodetype === 1 && (v.cleandata(n.getelementsbytagname("*")), n.innerhtml = e); n = 0 } catch (s) {} } n && this.empty().append(e) }, null, e, arguments.length) }, replacewith: function(e) { return ut(this[0]) ? this.length ? this.pushstack(v(v.isfunction(e) ? e() : e), "replacewith", e) : this : v.isfunction(e) ? this.each(function(t) { var n = v(this) , r = n.html(); n.replacewith(e.call(this, t, r)) }) : (typeof e != "string" && (e = v(e).detach()), this.each(function() { var t = this.nextsibling , n = this.parentnode; v(this).remove(), t ? v(t).before(e) : v(n).append(e) })) }, detach: function(e) { return this.remove(e, !0) }, dommanip: function(e, n, r) { e = [].concat.apply([], e); var i, s, o, u, a = 0, f = e[0], l = [], c = this.length; if (!v.support.checkclone && c > 1 && typeof f == "string" && st.test(f)) return this.each(function() { v(this).dommanip(e, n, r) }); if (v.isfunction(f)) return this.each(function(i) { var s = v(this); e[0] = f.call(this, i, n ? s.html() : t), s.dommanip(e, n, r) }); if (this[0]) { i = v.buildfragment(e, this, l), o = i.fragment, s = o.firstchild, o.childnodes.length === 1 && (o = s); if (s) { n = n && v.nodename(s, "tr"); for (u = i.cacheable || c - 1; a < c; a++) r.call(n && v.nodename(this[a], "table") ? lt(this[a], "tbody") : this[a], a === u ? o : v.clone(o, !0, !0)) } o = s = null, l.length && v.each(l, function(e, t) { t.src ? v.ajax ? v.ajax({ url: t.src, type: "get", datatype: "script", async: !1, global: !1, "throws": !0 }) : v.error("no ajax") : v.globaleval((t.text || t.textcontent || t.innerhtml || "").replace(tt, "")), t.parentnode && t.parentnode.removechild(t) }) } return this } }), v.buildfragment = function(e, n, r) { var s, o, u, a = e[0]; return n = n || i, n = !n.nodetype && n[0] || n, n = n.ownerdocument || n, e.length === 1 && typeof a == "string" && a.length < 512 && n === i && a.charat(0) === "<" && !bt.test(a) && (v.support.checkclone || !st.test(a)) && (v.support.html5clone || !wt.test(a)) && (o = !0, s = v.fragments[a], u = s !== t), s || (s = n.createdocumentfragment(), v.clean(e, n, s, r), o && (v.fragments[a] = u && s)), { fragment: s, cacheable: o } } , v.fragments = {}, v.each({ appendto: "append", prependto: "prepend", insertbefore: "before", insertafter: "after", replaceall: "replacewith" }, function(e, t) { v.fn[e] = function(n) { var r, i = 0, s = [], o = v(n), u = o.length, a = this.length === 1 && this[0].parentnode; if ((a == null || a && a.nodetype === 11 && a.childnodes.length === 1) && u === 1) return o[t](this[0]), this; for (; i < u; i++) r = (i > 0 ? this.clone(!0) : this).get(), v(o[i])[t](r), s = s.concat(r); return this.pushstack(s, e, o.selector) } }), v.extend({ clone: function(e, t, n) { var r, i, s, o; v.support.html5clone || v.isxmldoc(e) || !wt.test("<" + e.nodename + ">") ? o = e.clonenode(!0) : (kt.innerhtml = e.outerhtml, kt.removechild(o = kt.firstchild)); if ((!v.support.nocloneevent || !v.support.noclonechecked) && (e.nodetype === 1 || e.nodetype === 11) && !v.isxmldoc(e)) { ot(e, o), r = mt(e), i = mt(o); for (s = 0; r[s]; ++s) i[s] && ot(r[s], i[s]) } if (t) { at(e, o); if (n) { r = mt(e), i = mt(o); for (s = 0; r[s]; ++s) at(r[s], i[s]) } } return r = i = null, o }, clean: function(e, t, n, r) { var s, o, u, a, f, l, c, h, p, d, m, g, y = t === i && ct, b = []; if (!t || typeof t.createdocumentfragment == "undefined") t = i; for (s = 0; (u = e[s]) != null; s++) { typeof u == "number" && (u += ""); if (!u) continue; if (typeof u == "string") if (!gt.test(u)) u = t.createtextnode(u); else { y = y || lt(t), c = t.createelement("div"), y.appendchild(c), u = u.replace(dt, "<$1>"), a = (vt.exec(u) || ["", ""])[1].tolowercase(), f = nt[a] || nt._default, l = f[0], c.innerhtml = f[1] + u + f[2]; while (l--) c = c.lastchild; if (!v.support.tbody) { h = mt.test(u), p = a === "table" && !h ? c.firstchild && c.firstchild.childnodes : f[1] === "" && !h ? c.childnodes : []; for (o = p.length - 1; o >= 0; --o) v.nodename(p[o], "tbody") && !p[o].childnodes.length && p[o].parentnode.removechild(p[o]) } !v.support.leadingwhitespace && pt.test(u) && c.insertbefore(t.createtextnode(pt.exec(u)[0]), c.firstchild), u = c.childnodes, c.parentnode.removechild(c) } u.nodetype ? b.push(u) : v.merge(b, u) } c && (u = c = y = null); if (!v.support.appendchecked) for (s = 0; (u = b[s]) != null; s++) v.nodename(u, "input") ? _t(u) : typeof u.getelementsbytagname != "undefined" && v.grep(u.getelementsbytagname("input"), _t); if (n) { m = function(e) { if (!e.type || xt.test(e.type)) return r ? r.push(e.parentnode ? e.parentnode.removechild(e) : e) : n.appendchild(e) } ; for (s = 0; (u = b[s]) != null; s++) if (!v.nodename(u, "script") || !m(u)) n.appendchild(u), typeof u.getelementsbytagname != "undefined" && (g = v.grep(v.merge([], u.getelementsbytagname("script")), m), b.splice.apply(b, [s + 1, 0].concat(g)), s += g.length) } return b }, cleandata: function(e, t) { var n, r, i, s, o = 0, u = v.expando, a = v.cache, f = v.support.deleteexpando, l = v.event.special; for (; (i = e[o]) != null; o++) if (t || v.acceptdata(i)) { r = i[u], n = r && a[r]; if (n) { if (n.events) for (s in n.events) l[s] ? v.event.remove(i, s) : v.removeevent(i, s, n.handle); a[r] && (delete a[r], f ? delete i[u] : i.removeattribute ? i.removeattribute(u) : i[u] = null, v.deletedids.push(r)) } } } }), function() { var e, t; v.uamatch = function(e) { e = e.tolowercase(); var t = /(chrome)[ \/]([\w.]+)/.exec(e) || /(webkit)[ \/]([\w.]+)/.exec(e) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e) || /(msie) ([\w.]+)/.exec(e) || e.indexof("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e) || []; return { browser: t[1] || "", version: t[2] || "0" } } , e = v.uamatch(o.useragent), t = {}, e.browser && (t[e.browser] = !0, t.version = e.version), t.chrome ? t.webkit = !0 : t.webkit && (t.safari = !0), v.browser = t, v.sub = function() { function e(t, n) { return new e.fn.init(t,n) } v.extend(!0, e, this), e.superclass = this, e.fn = e.prototype = this(), e.fn.constructor = e, e.sub = this.sub, e.fn.init = function(r, i) { return i && i instanceof v && !(i instanceof e) && (i = e(i)), v.fn.init.call(this, r, i, t) } , e.fn.init.prototype = e.fn; var t = e(i); return e } }(); var dt, pt, ht, bt = /alpha\([^)]*\)/i, jt = /opacity=([^)]*)/, ft = /^(top|right|bottom|left)$/, it = /^(none|table(?!-c[ea]).+)/, qt = /^margin/, rt = new regexp("^(" + m + ")(.*)$","i"), ut = new regexp("^(" + m + ")(?!px)[a-z%]+$","i"), zt = new regexp("^([-+])=(" + m + ")","i"), wt = { body: "block" }, xt = { position: "absolute", visibility: "hidden", display: "block" }, vt = { letterspacing: 0, fontweight: 400 }, $t = ["top", "right", "bottom", "left"], jt = ["webkit", "o", "moz", "ms"], kt = v.fn.toggle; v.fn.extend({ css: function(e, n) { return v.access(this, function(e, n, r) { return r !== t ? v.style(e, n, r) : v.css(e, n) }, e, n, arguments.length > 1) }, show: function() { return yt(this, !0) }, hide: function() { return yt(this) }, toggle: function(e, t) { var n = typeof e == "boolean"; return v.isfunction(e) && v.isfunction(t) ? kt.apply(this, arguments) : this.each(function() { (n ? e : gt(this)) ? v(this).show() : v(this).hide() }) } }), v.extend({ csshooks: { opacity: { get: function(e, t) { if (t) { var n = dt(e, "opacity"); return n === "" ? "1" : n } } } }, cssnumber: { fillopacity: !0, fontweight: !0, lineheight: !0, opacity: !0, orphans: !0, widows: !0, zindex: !0, zoom: !0 }, cssprops: { "float": v.support.cssfloat ? "cssfloat" : "stylefloat" }, style: function(e, n, r, i) { if (!e || e.nodetype === 3 || e.nodetype === 8 || !e.style) return; var s, o, u, a = v.camelcase(n), f = e.style; n = v.cssprops[a] || (v.cssprops[a] = qt(f, a)), u = v.csshooks[n] || v.csshooks[a]; if (r === t) return u && "get"in u && (s = u.get(e, !1, i)) !== t ? s : f[n]; o = typeof r, o === "string" && (s = zt.exec(r)) && (r = (s[1] + 1) * s[2] + parsefloat(v.css(e, n)), o = "number"); if (r == null || o === "number" && isnan(r)) return; o === "number" && !v.cssnumber[a] && (r += "px"); if (!u || !("set"in u) || (r = u.set(e, r, i)) !== t) try { f[n] = r } catch (l) {} }, css: function(e, n, r, i) { var s, o, u, a = v.camelcase(n); return n = v.cssprops[a] || (v.cssprops[a] = qt(e.style, a)), u = v.csshooks[n] || v.csshooks[a], u && "get"in u && (s = u.get(e, !0, i)), s === t && (s = dt(e, n)), s === "normal" && n in vt && (s = vt[n]), r || i !== t ? (o = parsefloat(s), r || v.isnumeric(o) ? o || 0 : s) : s }, swap: function(e, t, n) { var r, i, s = {}; for (i in t) s[i] = e.style[i], e.style[i] = t[i]; r = n.call(e); for (i in t) e.style[i] = s[i]; return r } }), e.getcomputedstyle ? dt = function(t, n) { var r, i, s, o, u = e.getcomputedstyle(t, null), a = t.style; return u && (r = u.getpropertyvalue(n) || u[n], r === "" && !v.contains(t.ownerdocument, t) && (r = v.style(t, n)), ut.test(r) && qt.test(n) && (i = a.width, s = a.minwidth, o = a.maxwidth, a.minwidth = a.maxwidth = a.width = r, r = u.width, a.width = i, a.minwidth = s, a.maxwidth = o)), r } : i.documentelement.currentstyle && (dt = function(e, t) { var n, r, i = e.currentstyle && e.currentstyle[t], s = e.style; return i == null && s && s[t] && (i = s[t]), ut.test(i) && !ft.test(t) && (n = s.left, r = e.runtimestyle && e.runtimestyle.left, r && (e.runtimestyle.left = e.currentstyle.left), s.left = t === "fontsize" ? "1em" : i, i = s.pixelleft + "px", s.left = n, r && (e.runtimestyle.left = r)), i === "" ? "auto" : i } ), v.each(["height", "width"], function(e, t) { v.csshooks[t] = { get: function(e, n, r) { if (n) return e.offsetwidth === 0 && it.test(dt(e, "display")) ? v.swap(e, xt, function() { return tn(e, t, r) }) : tn(e, t, r) }, set: function(e, n, r) { return zt(e, n, r ? en(e, t, r, v.support.boxsizing && v.css(e, "boxsizing") === "border-box") : 0) } } }), v.support.opacity || (v.csshooks.opacity = { get: function(e, t) { return jt.test((t && e.currentstyle ? e.currentstyle.filter : e.style.filter) || "") ? .01 * parsefloat(regexp.$1) + "" : t ? "1" : "" }, set: function(e, t) { var n = e.style , r = e.currentstyle , i = v.isnumeric(t) ? "alpha(opacity=" + t * 100 + ")" : "" , s = r && r.filter || n.filter || ""; n.zoom = 1; if (t >= 1 && v.trim(s.replace(bt, "")) === "" && n.removeattribute) { n.removeattribute("filter"); if (r && !r.filter) return } n.filter = bt.test(s) ? s.replace(bt, i) : s + " " + i } }), v(function() { v.support.reliablemarginright || (v.csshooks.marginright = { get: function(e, t) { return v.swap(e, { display: "inline-block" }, function() { if (t) return dt(e, "marginright") }) } }), !v.support.pixelposition && v.fn.position && v.each(["top", "left"], function(e, t) { v.csshooks[t] = { get: function(e, n) { if (n) { var r = dt(e, t); return ut.test(r) ? v(e).position()[t] + "px" : r } } } }) }), v.expr && v.expr.filters && (v.expr.filters.hidden = function(e) { return e.offsetwidth === 0 && e.offsetheight === 0 || !v.support.reliablehiddenoffsets && (e.style && e.style.display || dt(e, "display")) === "none" } , v.expr.filters.visible = function(e) { return !v.expr.filters.hidden(e) } ), v.each({ margin: "", padding: "", border: "width" }, function(e, t) { v.csshooks[e + t] = { expand: function(n) { var r, i = typeof n == "string" ? n.split(" ") : [n], s = {}; for (r = 0; r < 4; r++) s[e + $t[r] + t] = i[r] || i[r - 2] || i[0]; return s } }, qt.test(e) || (v.csshooks[e + t].set = zt) }); var rn = /%20/g , sn = /\[\]$/ , on = /\r?\n/g , un = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i , an = /^(?:select|textarea)/i; v.fn.extend({ serialize: function() { return v.param(this.serializearray()) }, serializearray: function() { return this.map(function() { return this.elements ? v.makearray(this.elements) : this }).filter(function() { return this.name && !this.disabled && (this.checked || an.test(this.nodename) || un.test(this.type)) }).map(function(e, t) { var n = v(this).val(); return n == null ? null : v.isarray(n) ? v.map(n, function(e, n) { return { name: t.name, value: e.replace(on, "\r\n") } }) : { name: t.name, value: n.replace(on, "\r\n") } }).get() } }), v.param = function(e, n) { var r, i = [], s = function(e, t) { t = v.isfunction(t) ? t() : t == null ? "" : t, i[i.length] = encodeuricomponent(e) + "=" + encodeuricomponent(t) }; n === t && (n = v.ajaxsettings && v.ajaxsettings.traditional); if (v.isarray(e) || e.jquery && !v.isplainobject(e)) v.each(e, function() { s(this.name, this.value) }); else for (r in e) fn(r, e[r], n, s); return i.join("&").replace(rn, "+") } ; var ln, cn, hn = /#.*$/, pn = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, dn = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/, vn = /^(?:get|head)$/, mn = /^\/\//, gn = /\?/, yn = /)<[^<]*)*<\/script>/gi, bn = /([?&])_=[^&]*/, wn = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/, en = v.fn.load, sn = {}, xn = {}, tn = ["*/"] + ["*"]; try { cn = s.href } catch (nn) { cn = i.createelement("a"), cn.href = "", cn = cn.href } ln = wn.exec(cn.tolowercase()) || [], v.fn.load = function(e, n, r) { if (typeof e != "string" && en) return en.apply(this, arguments); if (!this.length) return this; var i, s, o, u = this, a = e.indexof(" "); return a >= 0 && (i = e.slice(a, e.length), e = e.slice(0, a)), v.isfunction(n) ? (r = n, n = t) : n && typeof n == "object" && (s = "post"), v.ajax({ url: e, type: s, datatype: "html", data: n, complete: function(e, t) { r && u.each(r, o || [e.responsetext, t, e]) } }).done(function(e) { o = arguments, u.html(i ? v("
").append(e.replace(yn, "")).find(i) : e) }), this } , v.each("ajaxstart ajaxstop ajaxcomplete ajaxerror ajaxsuccess ajaxsend".split(" "), function(e, t) { v.fn[t] = function(e) { return this.on(t, e) } }), v.each(["get", "post"], function(e, n) { v[n] = function(e, r, i, s) { return v.isfunction(r) && (s = s || i, i = r, r = t), v.ajax({ type: n, url: e, data: r, success: i, datatype: s }) } }), v.extend({ getscript: function(e, n) { return v.get(e, t, n, "script") }, getjson: function(e, t, n) { return v.get(e, t, n, "json") }, ajaxsetup: function(e, t) { return t ? ln(e, v.ajaxsettings) : (t = e, e = v.ajaxsettings), ln(e, t), e }, ajaxsettings: { url: cn, islocal: dn.test(ln[1]), global: !0, type: "get", contenttype: "application/x-www-form-urlencoded; charset=utf-8", processdata: !0, async: !0, accepts: { xml: "application/xml, text/xml", html: "text/html", text: "text/plain", json: "application/json, text/javascript", "*": tn }, contents: { xml: /xml/, html: /html/, json: /json/ }, responsefields: { xml: "responsexml", text: "responsetext" }, converters: { "* text": e.string, "text html": !0, "text json": v.parsejson, "text xml": v.parsexml }, flatoptions: { context: !0, url: !0 } }, ajaxprefilter: cn(sn), ajaxtransport: cn(xn), ajax: function(e, n) { function t(e, n, s, a) { var l, y, b, w, s, t = n; if (e === 2) return; e = 2, u && cleartimeout(u), o = t, i = a || "", x.readystate = e > 0 ? 4 : 0, s && (w = an(c, x, s)); if (e >= 200 && e < 300 || e === 304) c.ifmodified && (s = x.getresponseheader("last-modified"), s && (v.lastmodified[r] = s), s = x.getresponseheader("etag"), s && (v.etag[r] = s)), e === 304 ? (t = "notmodified", l = !0) : (l = on(c, w), t = l.state, y = l.data, b = l.error, l = !b); else { b = t; if (!t || e) t = "error", e < 0 && (e = 0) } x.status = e, x.statustext = (n || t) + "", l ? d.resolvewith(h, [y, t, x]) : d.rejectwith(h, [x, t, b]), x.statuscode(g), g = t, f && p.trigger("ajax" + (l ? "success" : "error"), [x, c, l ? y : b]), m.firewith(h, [x, t]), f && (p.trigger("ajaxcomplete", [x, c]), --v.active || v.event.trigger("ajaxstop")) } typeof e == "object" && (n = e, e = t), n = n || {}; var r, i, s, o, u, a, f, l, c = v.ajaxsetup({}, n), h = c.context || c, p = h !== c && (h.nodetype || h instanceof v) ? v(h) : v.event, d = v.deferred(), m = v.callbacks("once memory"), g = c.statuscode || {}, b = {}, w = {}, e = 0, s = "canceled", x = { readystate: 0, setrequestheader: function(e, t) { if (!e) { var n = e.tolowercase(); e = w[n] = w[n] || e, b[e] = t } return this }, getallresponseheaders: function() { return e === 2 ? i : null }, getresponseheader: function(e) { var n; if (e === 2) { if (!s) { s = {}; while (n = pn.exec(i)) s[n[1].tolowercase()] = n[2] } n = s[e.tolowercase()] } return n === t ? null : n }, overridemimetype: function(e) { return e || (c.mimetype = e), this }, abort: function(e) { return e = e || s, o && o.abort(e), t(0, e), this } }; d.promise(x), x.success = x.done, x.error = x.fail, x.complete = m.add, x.statuscode = function(e) { if (e) { var t; if (e < 2) for (t in e) g[t] = [g[t], e[t]]; else t = e[x.status], x.always(t) } return this } , c.url = ((e || c.url) + "").replace(hn, "").replace(mn, ln[1] + "//"), c.datatypes = v.trim(c.datatype || "*").tolowercase().split(y), c.crossdomain == null && (a = wn.exec(c.url.tolowercase()), c.crossdomain = !(!a || a[1] === ln[1] && a[2] === ln[2] && (a[3] || (a[1] === "http:" ? 80 : 443)) == (ln[3] || (ln[1] === "http:" ? 80 : 443)))), c.data && c.processdata && typeof c.data != "string" && (c.data = v.param(c.data, c.traditional)), kn(sn, c, n, x); if (e === 2) return x; f = c.global, c.type = c.type.touppercase(), c.hascontent = !vn.test(c.type), f && v.active++ === 0 && v.event.trigger("ajaxstart"); if (!c.hascontent) { c.data && (c.url += (gn.test(c.url) ? "&" : "?") + c.data, delete c.data), r = c.url; if (c.cache === !1) { var n = v.now() , c = c.url.replace(bn, "$1_=" + n); c.url = c + (c === c.url ? (gn.test(c.url) ? "&" : "?") + "_=" + n : "") } } (c.data && c.hascontent && c.contenttype !== !1 || n.contenttype) && x.setrequestheader("content-type", c.contenttype), c.ifmodified && (r = r || c.url, v.lastmodified[r] && x.setrequestheader("if-modified-since", v.lastmodified[r]), v.etag[r] && x.setrequestheader("if-none-match", v.etag[r])), x.setrequestheader("accept", c.datatypes[0] && c.accepts[c.datatypes[0]] ? c.accepts[c.datatypes[0]] + (c.datatypes[0] !== "*" ? ", " + tn + "; q=0.01" : "") : c.accepts["*"]); for (l in c.headers) x.setrequestheader(l, c.headers[l]); if (!c.beforesend || c.beforesend.call(h, x, c) !== !1 && e !== 2) { s = "abort"; for (l in { success: 1, error: 1, complete: 1 }) x[l](c[l]); o = kn(xn, c, n, x); if (!o) t(-1, "no transport"); else { x.readystate = 1, f && p.trigger("ajaxsend", [x, c]), c.async && c.timeout > 0 && (u = settimeout(function() { x.abort("timeout") }, c.timeout)); try { e = 1, o.send(b, t) } catch (k) { if (!(e < 2)) throw k; t(-1, k) } } return x } return x.abort() }, active: 0, lastmodified: {}, etag: {} }); var mn = [] , _n = /\?/ , dn = /(=)\?(?=&|$)|\?\?/ , pn = v.now(); v.ajaxsetup({ jsonp: "callback", jsonpcallback: function() { var e = mn.pop() || v.expando + "_" + pn++; return this[e] = !0, e } }), v.ajaxprefilter("json jsonp", function(n, r, i) { var s, o, u, a = n.data, f = n.url, l = n.jsonp !== !1, c = l && dn.test(f), h = l && !c && typeof a == "string" && !(n.contenttype || "").indexof("application/x-www-form-urlencoded") && dn.test(a); if (n.datatypes[0] === "jsonp" || c || h) return s = n.jsonpcallback = v.isfunction(n.jsonpcallback) ? n.jsonpcallback() : n.jsonpcallback, o = e[s], c ? n.url = f.replace(dn, "$1" + s) : h ? n.data = a.replace(dn, "$1" + s) : l && (n.url += (_n.test(f) ? "&" : "?") + n.jsonp + "=" + s), n.converters["script json"] = function() { return u || v.error(s + " was not called"), u[0] } , n.datatypes[0] = "json", e[s] = function() { u = arguments } , i.always(function() { e[s] = o, n[s] && (n.jsonpcallback = r.jsonpcallback, mn.push(s)), u && v.isfunction(o) && o(u[0]), u = o = t }), "script" }), v.ajaxsetup({ accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" }, contents: { script: /javascript|ecmascript/ }, converters: { "text script": function(e) { return v.globaleval(e), e } } }), v.ajaxprefilter("script", function(e) { e.cache === t && (e.cache = !1), e.crossdomain && (e.type = "get", e.global = !1) }), v.ajaxtransport("script", function(e) { if (e.crossdomain) { var n, r = i.head || i.getelementsbytagname("head")[0] || i.documentelement; return { send: function(s, o) { n = i.createelement("script"), n.async = "async", e.scriptcharset && (n.charset = e.scriptcharset), n.src = e.url, n.onload = n.onreadystatechange = function(e, i) { if (i || !n.readystate || /loaded|complete/.test(n.readystate)) n.onload = n.onreadystatechange = null, r && n.parentnode && r.removechild(n), n = t, i || o(200, "success") } , r.insertbefore(n, r.firstchild) }, abort: function() { n && n.onload(0, 1) } } } }); var hn, bn = e.activexobject ? function() { for (var e in hn) hn[e](0, 1) } : !1, jn = 0; v.ajaxsettings.xhr = e.activexobject ? function() { return !this.islocal && fn() || in() } : fn, function(e) { v.extend(v.support, { ajax: !!e, cors: !!e && "withcredentials"in e }) }(v.ajaxsettings.xhr()), v.support.ajax && v.ajaxtransport(function(n) { if (!n.crossdomain || v.support.cors) { var r; return { send: function(i, s) { var o, u, a = n.xhr(); n.username ? a.open(n.type, n.url, n.async, n.username, n.password) : a.open(n.type, n.url, n.async); if (n.xhrfields) for (u in n.xhrfields) a[u] = n.xhrfields[u]; n.mimetype && a.overridemimetype && a.overridemimetype(n.mimetype), !n.crossdomain && !i["x-requested-with"] && (i["x-requested-with"] = "xmlhttprequest"); try { for (u in i) a.setrequestheader(u, i[u]) } catch (f) {} a.send(n.hascontent && n.data || null), r = function(e, i) { var u, f, l, c, h; try { if (r && (i || a.readystate === 4)) { r = t, o && (a.onreadystatechange = v.noop, bn && delete hn[o]); if (i) a.readystate !== 4 && a.abort(); else { u = a.status, l = a.getallresponseheaders(), c = {}, h = a.responsexml, h && h.documentelement && (c.xml = h); try { c.text = a.responsetext } catch (p) {} try { f = a.statustext } catch (p) { f = "" } !u && n.islocal && !n.crossdomain ? u = c.text ? 200 : 404 : u === 1223 && (u = 204) } } } catch (d) { i || s(-1, d) } c && s(u, f, c, l) } , n.async ? a.readystate === 4 ? settimeout(r, 0) : (o = ++jn, bn && (hn || (hn = {}, v(e).unload(bn)), hn[o] = r), a.onreadystatechange = r) : r() }, abort: function() { r && r(0, 1) } } } }); var qn, rn, un = /^(?:toggle|show|hide)$/, zn = new regexp("^(?:([-+])=|)(" + m + ")([a-z%]*)$","i"), wn = /queuehooks$/, xn = [gn], vn = { "*": [function(e, t) { var n, r, i = this.createtween(e, t), s = zn.exec(t), o = i.cur(), u = +o || 0, a = 1, f = 20; if (s) { n = +s[2], r = s[3] || (v.cssnumber[e] ? "" : "px"); if (r !== "px" && u) { u = v.css(i.elem, e, !0) || n || 1; do a = a || ".5", u /= a, v.style(i.elem, e, u + r); while (a !== (a = i.cur() / o) && a !== 1 && --f) } i.unit = r, i.start = u, i.end = s[1] ? u + (s[1] + 1) * n : n } return i } ] }; v.animation = v.extend(kn, { tweener: function(e, t) { v.isfunction(e) ? (t = e, e = ["*"]) : e = e.split(" "); var n, r = 0, i = e.length; for (; r < i; r++) n = e[r], vn[n] = vn[n] || [], vn[n].unshift(t) }, prefilter: function(e, t) { t ? xn.unshift(e) : xn.push(e) } }), v.tween = yn, yn.prototype = { constructor: yn, init: function(e, t, n, r, i, s) { this.elem = e, this.prop = n, this.easing = i || "swing", this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = s || (v.cssnumber[n] ? "" : "px") }, cur: function() { var e = yn.prophooks[this.prop]; return e && e.get ? e.get(this) : yn.prophooks._default.get(this) }, run: function(e) { var t, n = yn.prophooks[this.prop]; return this.options.duration ? this.pos = t = v.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : yn.prophooks._default.set(this), this } }, yn.prototype.init.prototype = yn.prototype, yn.prophooks = { _default: { get: function(e) { var t; return e.elem[e.prop] == null || !!e.elem.style && e.elem.style[e.prop] != null ? (t = v.css(e.elem, e.prop, !1, ""), !t || t === "auto" ? 0 : t) : e.elem[e.prop] }, set: function(e) { v.fx.step[e.prop] ? v.fx.step[e.prop](e) : e.elem.style && (e.elem.style[v.cssprops[e.prop]] != null || v.csshooks[e.prop]) ? v.style(e.elem, e.prop, e.now + e.unit) : e.elem[e.prop] = e.now } } }, yn.prophooks.scrolltop = yn.prophooks.scrollleft = { set: function(e) { e.elem.nodetype && e.elem.parentnode && (e.elem[e.prop] = e.now) } }, v.each(["toggle", "show", "hide"], function(e, t) { var n = v.fn[t]; v.fn[t] = function(r, i, s) { return r == null || typeof r == "boolean" || !e && v.isfunction(r) && v.isfunction(i) ? n.apply(this, arguments) : this.animate(zn(t, !0), r, i, s) } }), v.fn.extend({ fadeto: function(e, t, n, r) { return this.filter(gt).css("opacity", 0).show().end().animate({ opacity: t }, e, n, r) }, animate: function(e, t, n, r) { var i = v.isemptyobject(e) , s = v.speed(t, n, r) , o = function() { var t = kn(this, v.extend({}, e), s); i && t.stop(!0) }; return i || s.queue === !1 ? this.each(o) : this.queue(s.queue, o) }, stop: function(e, n, r) { var i = function(e) { var t = e.stop; delete e.stop, t(r) }; return typeof e != "string" && (r = n, n = e, e = t), n && e !== !1 && this.queue(e || "fx", []), this.each(function() { var t = !0 , n = e != null && e + "queuehooks" , s = v.timers , o = v._data(this); if (n) o[n] && o[n].stop && i(o[n]); else for (n in o) o[n] && o[n].stop && wn.test(n) && i(o[n]); for (n = s.length; n--; ) s[n].elem === this && (e == null || s[n].queue === e) && (s[n].anim.stop(r), t = !1, s.splice(n, 1)); (t || !r) && v.dequeue(this, e) }) } }), v.each({ slidedown: zn("show"), slideup: zn("hide"), slidetoggle: zn("toggle"), fadein: { opacity: "show" }, fadeout: { opacity: "hide" }, fadetoggle: { opacity: "toggle" } }, function(e, t) { v.fn[e] = function(e, n, r) { return this.animate(t, e, n, r) } }), v.speed = function(e, t, n) { var r = e && typeof e == "object" ? v.extend({}, e) : { complete: n || !n && t || v.isfunction(e) && e, duration: e, easing: n && t || t && !v.isfunction(t) && t }; r.duration = v.fx.off ? 0 : typeof r.duration == "number" ? r.duration : r.duration in v.fx.speeds ? v.fx.speeds[r.duration] : v.fx.speeds._default; if (r.queue == null || r.queue === !0) r.queue = "fx"; return r.old = r.complete, r.complete = function() { v.isfunction(r.old) && r.old.call(this), r.queue && v.dequeue(this, r.queue) } , r } , v.easing = { linear: function(e) { return e }, swing: function(e) { return .5 - math.cos(e * math.pi) / 2 } }, v.timers = [], v.fx = yn.prototype.init, v.fx.tick = function() { var e, n = v.timers, r = 0; qn = v.now(); for (; r < n.length; r++) e = n[r], !e() && n[r] === e && n.splice(r--, 1); n.length || v.fx.stop(), qn = t } , v.fx.timer = function(e) { e() && v.timers.push(e) && !rn && (rn = setinterval(v.fx.tick, v.fx.interval)) } , v.fx.interval = 13, v.fx.stop = function() { clearinterval(rn), rn = null } , v.fx.speeds = { slow: 600, fast: 200, _default: 400 }, v.fx.step = {}, v.expr && v.expr.filters && (v.expr.filters.animated = function(e) { return v.grep(v.timers, function(t) { return e === t.elem }).length } ); var er = /^(?:body|html)$/i; v.fn.offset = function(e) { if (arguments.length) return e === t ? this : this.each(function(t) { v.offset.setoffset(this, e, t) }); var n, r, i, s, o, u, a, f = { top: 0, left: 0 }, l = this[0], c = l && l.ownerdocument; if (!c) return; return (r = c.body) === l ? v.offset.bodyoffset(l) : (n = c.documentelement, v.contains(n, l) ? (typeof l.getboundingclientrect != "undefined" && (f = l.getboundingclientrect()), i = tr(c), s = n.clienttop || r.clienttop || 0, o = n.clientleft || r.clientleft || 0, u = i.pageyoffset || n.scrolltop, a = i.pagexoffset || n.scrollleft, { top: f.top + u - s, left: f.left + a - o }) : f) } , v.offset = { bodyoffset: function(e) { var t = e.offsettop , n = e.offsetleft; return v.support.doesnotincludemargininbodyoffset && (t += parsefloat(v.css(e, "margintop")) || 0, n += parsefloat(v.css(e, "marginleft")) || 0), { top: t, left: n } }, setoffset: function(e, t, n) { var r = v.css(e, "position"); r === "static" && (e.style.position = "relative"); var i = v(e), s = i.offset(), o = v.css(e, "top"), u = v.css(e, "left"), a = (r === "absolute" || r === "fixed") && v.inarray("auto", [o, u]) > -1, f = {}, l = {}, c, h; a ? (l = i.position(), c = l.top, h = l.left) : (c = parsefloat(o) || 0, h = parsefloat(u) || 0), v.isfunction(t) && (t = t.call(e, n, s)), t.top != null && (f.top = t.top - s.top + c), t.left != null && (f.left = t.left - s.left + h), "using"in t ? t.using.call(e, f) : i.css(f) } }, v.fn.extend({ position: function() { if (!this[0]) return; var e = this[0] , t = this.offsetparent() , n = this.offset() , r = er.test(t[0].nodename) ? { top: 0, left: 0 } : t.offset(); return n.top -= parsefloat(v.css(e, "margintop")) || 0, n.left -= parsefloat(v.css(e, "marginleft")) || 0, r.top += parsefloat(v.css(t[0], "bordertopwidth")) || 0, r.left += parsefloat(v.css(t[0], "borderleftwidth")) || 0, { top: n.top - r.top, left: n.left - r.left } }, offsetparent: function() { return this.map(function() { var e = this.offsetparent || i.body; while (e && !er.test(e.nodename) && v.css(e, "position") === "static") e = e.offsetparent; return e || i.body }) } }), v.each({ scrollleft: "pagexoffset", scrolltop: "pageyoffset" }, function(e, n) { var r = /y/.test(n); v.fn[e] = function(i) { return v.access(this, function(e, i, s) { var o = tr(e); if (s === t) return o ? n in o ? o[n] : o.document.documentelement[i] : e[i]; o ? o.scrollto(r ? v(o).scrollleft() : s, r ? s : v(o).scrolltop()) : e[i] = s }, e, i, arguments.length, null) } }), v.each({ height: "height", width: "width" }, function(e, n) { v.each({ padding: "inner" + e, content: n, "": "outer" + e }, function(r, i) { v.fn[i] = function(i, s) { var o = arguments.length && (r || typeof i != "boolean") , u = r || (i === !0 || s === !0 ? "margin" : "border"); return v.access(this, function(n, r, i) { var s; return v.iswindow(n) ? n.document.documentelement["client" + e] : n.nodetype === 9 ? (s = n.documentelement, math.max(n.body["scroll" + e], s["scroll" + e], n.body["offset" + e], s["offset" + e], s["client" + e])) : i === t ? v.css(n, r, i, u) : v.style(n, r, i, u) }, n, o ? i : t, o, null) } }) }), e.jquery = e.$ = v, typeof define == "function" && define.amd && define.amd.jquery && define("jquery", [], function() { return v }) } )(window);