/*! jquery v1.7.2 jquery.com | jquery.org/license */
(function (a, b) {
function cy(a) {
return f.iswindow(a) ? a : a.nodetype === 9 ? a.defaultview || a.parentwindow : !1
}
function cu(a) {
if (!cj[a]) {
var b = c.body,
d = f("<" + a + ">").appendto(b),
e = d.css("display");
d.remove();
if (e === "none" || e === "") {
ck || (ck = c.createelement("iframe"), ck.frameborder = ck.width = ck.height = 0), b.appendchild(ck);
if (!cl || !ck.createelement) cl = (ck.contentwindow || ck.contentdocument).document, cl.write((f.support.boxmodel ? "" : "") + "
"), cl.close();
d = cl.createelement(a), cl.body.appendchild(d), e = f.css(d, "display"), b.removechild(ck)
}
cj[a] = e
}
return cj[a]
}
function ct(a, b) {
var c = {};
f.each(cp.concat.apply([], cp.slice(0, b)), function () {
c[this] = a
});
return c
}
function cs() {
cq = b
}
function cr() {
settimeout(cs, 0);
return cq = f.now()
}
function ci() {
try {
return new a.activexobject("microsoft.xmlhttp")
} catch (b) {}
}
function ch() {
try {
return new a.xmlhttprequest
} catch (b) {}
}
function cb(a, c) {
a.datafilter && (c = a.datafilter(c, a.datatype));
var d = a.datatypes,
e = {},
g, h, i = d.length,
j, k = d[0],
l, m, n, o, p;
for (g = 1; g < i; g++) {
if (g === 1)
for (h in a.converters) typeof h == "string" && (e[h.tolowercase()] = a.converters[h]);
l = k, k = d[g];
if (k === "*") k = l;
else if (l !== "*" && l !== k) {
m = l + " " + k, n = e[m] || e["* " + k];
if (!n) {
p = b;
for (o in e) {
j = o.split(" ");
if (j[0] === l || j[0] === "*") {
p = e[j[1] + " " + k];
if (p) {
o = e[o], o === !0 ? n = p : p === !0 && (n = o);
break
}
}
}
}!n && !p && f.error("no conversion from " + m.replace(" ", " to ")), n !== !0 && (c = n ? n(c) : p(o(c)))
}
}
return c
}
function ca(a, c, d) {
var e = a.contents,
f = a.datatypes,
g = a.responsefields,
h, i, j, k;
for (i in g) i in d && (c[g[i]] = d[i]);
while (f[0] === "*") f.shift(), h === b && (h = a.mimetype || c.getresponseheader("content-type"));
if (h)
for (i in e)
if (e[i] && e[i].test(h)) {
f.unshift(i);
break
}
if (f[0] in d) j = f[0];
else {
for (i in d) {
if (!f[0] || a.converters[i + " " + f[0]]) {
j = i;
break
}
k || (k = i)
}
j = j || k
}
if (j) {
j !== f[0] && f.unshift(j);
return d[j]
}
}
function b_(a, b, c, d) {
if (f.isarray(b)) f.each(b, function (b, e) {
c || bd.test(a) ? d(a, e) : b_(a + "[" + (typeof e == "object" ? b : "") + "]", e, c, d)
});
else if (!c && f.type(b) === "object")
for (var e in b) b_(a + "[" + e + "]", b[e], c, d);
else d(a, b)
}
function b$(a, c) {
var d, e, g = f.ajaxsettings.flatoptions || {};
for (d in c) c[d] !== b && ((g[d] ? a : e || (e = {}))[d] = c[d]);
e && f.extend(!0, a, e)
}
function bz(a, c, d, e, f, g) {
f = f || c.datatypes[0], g = g || {}, g[f] = !0;
var h = a[f],
i = 0,
j = h ? h.length : 0,
k = a === bs,
l;
for (; i < j && (k || !l); i++) l = h[i](c, d, e), typeof l == "string" && (!k || g[l] ? l = b : (c.datatypes.unshift(l), l = bz(a, c, d, e, l, g)));
(k || !l) && !g["*"] && (l = bz(a, c, d, e, "*", g));
return l
}
function by(a) {
return function (b, c) {
typeof b != "string" && (c = b, b = "*");
if (f.isfunction(c)) {
var d = b.tolowercase().split(bo),
e = 0,
g = d.length,
h, i, j;
for (; e < g; e++) h = d[e], j = /^\+/.test(h), j && (h = h.substr(1) || "*"), i = a[h] = a[h] || [], i[j ? "unshift" : "push"](c)
}
}
}
function bb(a, b, c) {
var d = b === "width" ? a.offsetwidth : a.offsetheight,
e = b === "width" ? 1 : 0,
g = 4;
if (d > 0) {
if (c !== "border")
for (; e < g; e += 2) c || (d -= parsefloat(f.css(a, "padding" + bx[e])) || 0), c === "margin" ? d += parsefloat(f.css(a, c + bx[e])) || 0 : d -= parsefloat(f.css(a, "border" + bx[e] + "width")) || 0;
return d + "px"
}
d = by(a, b);
if (d < 0 || d == null) d = a.style[b];
if (bt.test(d)) return d;
d = parsefloat(d) || 0;
if (c)
for (; e < g; e += 2) d += parsefloat(f.css(a, "padding" + bx[e])) || 0, c !== "padding" && (d += parsefloat(f.css(a, "border" + bx[e] + "width")) || 0), c === "margin" && (d += parsefloat(f.css(a, c + bx[e])) || 0);
return d + "px"
}
function bo(a) {
var b = c.createelement("div");
bh.appendchild(b), b.innerhtml = a.outerhtml;
return b.firstchild
}
function bn(a) {
var b = (a.nodename || "").tolowercase();
b === "input" ? bm(a) : b !== "script" && typeof a.getelementsbytagname != "undefined" && f.grep(a.getelementsbytagname("input"), bm)
}
function bm(a) {
if (a.type === "checkbox" || a.type === "radio") a.defaultchecked = a.checked
}
function bl(a) {
return typeof a.getelementsbytagname != "undefined" ? a.getelementsbytagname("*") : typeof a.queryselectorall != "undefined" ? a.queryselectorall("*") : []
}
function bk(a, b) {
var c;
b.nodetype === 1 && (b.clearattributes && b.clearattributes(), b.mergeattributes && b.mergeattributes(a), c = b.nodename.tolowercase(), c === "object" ? b.outerhtml = a.outerhtml : c !== "input" || a.type !== "checkbox" && a.type !== "radio" ? c === "option" ? b.selected = a.defaultselected : c === "input" || c === "textarea" ? b.defaultvalue = a.defaultvalue : c === "script" && b.text !== a.text && (b.text = a.text) : (a.checked && (b.defaultchecked = b.checked = a.checked), b.value !== a.value && (b.value = a.value)), b.removeattribute(f.expando), b.removeattribute("_submit_attached"), b.removeattribute("_change_attached"))
}
function bj(a, b) {
if (b.nodetype === 1 && !!f.hasdata(a)) {
var c, d, e, g = f._data(a),
h = f._data(b, g),
i = g.events;
if (i) {
delete h.handle, h.events = {};
for (c in i)
for (d = 0, e = i[c].length; d < e; d++) f.event.add(b, c, i[c][d])
}
h.data && (h.data = f.extend({}, h.data))
}
}
function bi(a, b) {
return f.nodename(a, "table") ? a.getelementsbytagname("tbody")[0] || a.appendchild(a.ownerdocument.createelement("tbody")) : a
}
function u(a) {
var b = v.split("|"),
c = a.createdocumentfragment();
if (c.createelement)
while (b.length) c.createelement(b.pop());
return c
}
function t(a, b, c) {
b = b || 0;
if (f.isfunction(b)) return f.grep(a, function (a, d) {
var e = !!b.call(a, d, a);
return e === c
});
if (b.nodetype) return f.grep(a, function (a, d) {
return a === b === c
});
if (typeof b == "string") {
var d = f.grep(a, function (a) {
return a.nodetype === 1
});
if (o.test(b)) return f.filter(b, d, !c);
b = f.filter(b, d)
}
return f.grep(a, function (a, d) {
return f.inarray(a, b) >= 0 === c
})
}
function s(a) {
return !a || !a.parentnode || a.parentnode.nodetype === 11
}
function k() {
return !0
}
function j() {
return !1
}
function n(a, b, c) {
var d = b + "defer",
e = b + "queue",
g = b + "mark",
h = f._data(a, d);
h && (c === "queue" || !f._data(a, e)) && (c === "mark" || !f._data(a, g)) && settimeout(function () {
!f._data(a, e) && !f._data(a, g) && (f.removedata(a, d, !0), h.fire())
}, 0)
}
function m(a) {
for (var b in a) {
if (b === "data" && f.isemptyobject(a[b])) continue;
if (b !== "tojson") return !1
}
return !0
}
function l(a, c, d) {
if (d === b && a.nodetype === 1) {
var e = "data-" + c.replace(k, "-$1").tolowercase();
d = a.getattribute(e);
if (typeof d == "string") {
try {
d = d === "true" ? !0 : d === "false" ? !1 : d === "null" ? null : f.isnumeric(d) ? +d : j.test(d) ? f.parsejson(d) : d
} catch (g) {}
f.data(a, c, d)
} else d = b
}
return d
}
function h(a) {
var b = g[a] = {},
c, d;
a = a.split(/\s+/);
for (c = 0, d = a.length; c < d; c++) b[a[c]] = !0;
return b
}
var c = a.document,
d = a.navigator,
e = a.location,
f = function () {
function j() {
if (!e.isready) {
try {
c.documentelement.doscroll("left")
} catch (a) {
settimeout(j, 1);
return
}
e.ready()
}
}
var e = function (a, b) {
return new e.fn.init(a, b, h)
},
f = a.jquery,
g = a.$,
h, i = /^(?:[^#<]*(<[\w\w]+>)[^>]*$|#([\w\-]*)$)/,
j = /\s/,
k = /^\s+/,
l = /\s+$/,
m = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
n = /^[\],:{}\s]*$/,
o = /\\(?:["\\\/bfnrt]|u[0-9a-fa-f]{4})/g,
p = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[ee][+\-]?\d+)?/g,
q = /(?:^|:|,)(?:\s*\[)+/g,
r = /(webkit)[ \/]([\w.]+)/,
s = /(opera)(?:.*version)?[ \/]([\w.]+)/,
t = /(msie) ([\w.]+)/,
u = /(mozilla)(?:.*? rv:([\w.]+))?/,
v = /-([a-z]|[0-9])/ig,
w = /^-ms-/,
x = function (a, b) {
return (b + "").touppercase()
},
y = d.useragent,
z, a, b, c = object.prototype.tostring,
d = object.prototype.hasownproperty,
e = array.prototype.push,
f = array.prototype.slice,
g = string.prototype.trim,
h = array.prototype.indexof,
i = {};
e.fn = e.prototype = {
constructor: e,
init: function (a, d, f) {
var g, h, j, k;
if (!a) return this;
if (a.nodetype) {
this.context = this[0] = a, this.length = 1;
return this
}
if (a === "body" && !d && c.body) {
this.context = c, this[0] = c.body, this.selector = a, this.length = 1;
return this
}
if (typeof a == "string") {
a.charat(0) !== "<" || a.charat(a.length - 1) !== ">" || a.length < 3 ? g = i.exec(a) : g = [null, a, null];
if (g && (g[1] || !d)) {
if (g[1]) {
d = d instanceof e ? d[0] : d, k = d ? d.ownerdocument || d : c, j = m.exec(a), j ? e.isplainobject(d) ? (a = [c.createelement(j[1])], e.fn.attr.call(a, d, !0)) : a = [k.createelement(j[1])] : (j = e.buildfragment([g[1]], [k]), a = (j.cacheable ? e.clone(j.fragment) : j.fragment).childnodes);
return e.merge(this, a)
}
h = c.getelementbyid(g[2]);
if (h && h.parentnode) {
if (h.id !== g[2]) return f.find(a);
this.length = 1, this[0] = h
}
this.context = c, this.selector = a;
return this
}
return !d || d.jquery ? (d || f).find(a) : this.constructor(d).find(a)
}
if (e.isfunction(a)) return f.ready(a);
a.selector !== b && (this.selector = a.selector, this.context = a.context);
return e.makearray(a, this)
},
selector: "",
jquery: "1.7.2",
length: 0,
size: function () {
return this.length
},
toarray: function () {
return f.call(this, 0)
},
get: function (a) {
return a == null ? this.toarray() : a < 0 ? this[this.length + a] : this[a]
},
pushstack: function (a, b, c) {
var d = this.constructor();
e.isarray(a) ? e.apply(d, a) : e.merge(d, a), d.prevobject = this, d.context = this.context, b === "find" ? d.selector = this.selector + (this.selector ? " " : "") + c : b && (d.selector = this.selector + "." + b + "(" + c + ")");
return d
},
each: function (a, b) {
return e.each(this, a, b)
},
ready: function (a) {
e.bindready(), a.add(a);
return this
},
eq: function (a) {
a = +a;
return a === -1 ? this.slice(a) : this.slice(a, a + 1)
},
first: function () {
return this.eq(0)
},
last: function () {
return this.eq(-1)
},
slice: function () {
return this.pushstack(f.apply(this, arguments), "slice", f.call(arguments).join(","))
},
map: function (a) {
return this.pushstack(e.map(this, function (b, c) {
return a.call(b, c, b)
}))
},
end: function () {
return this.prevobject || this.constructor(null)
},
push: e,
sort: [].sort,
splice: [].splice
}, e.fn.init.prototype = e.fn, e.extend = e.fn.extend = function () {
var a, c, d, f, g, h, i = arguments[0] || {},
j = 1,
k = arguments.length,
l = !1;
typeof i == "boolean" && (l = i, i = arguments[1] || {}, j = 2), typeof i != "object" && !e.isfunction(i) && (i = {}), k === j && (i = this, --j);
for (; j < k; j++)
if ((a = arguments[j]) != null)
for (c in a) {
d = i[c], f = a[c];
if (i === f) continue;
l && f && (e.isplainobject(f) || (g = e.isarray(f))) ? (g ? (g = !1, h = d && e.isarray(d) ? d : []) : h = d && e.isplainobject(d) ? d : {}, i[c] = e.extend(l, h, f)) : f !== b && (i[c] = f)
}
return i
}, e.extend({
noconflict: function (b) {
a.$ === e && (a.$ = g), b && a.jquery === e && (a.jquery = f);
return e
},
isready: !1,
readywait: 1,
holdready: function (a) {
a ? e.readywait++ : e.ready(!0)
},
ready: function (a) {
if (a === !0 && !--e.readywait || a !== !0 && !e.isready) {
if (!c.body) return settimeout(e.ready, 1);
e.isready = !0;
if (a !== !0 && --e.readywait > 0) return;
a.firewith(c, [e]), e.fn.trigger && e(c).trigger("ready").off("ready")
}
},
bindready: function () {
if (!a) {
a = e.callbacks("once memory");
if (c.readystate === "complete") return settimeout(e.ready, 1);
if (c.addeventlistener) c.addeventlistener("domcontentloaded", b, !1), a.addeventlistener("load", e.ready, !1);
else if (c.attachevent) {
c.attachevent("onreadystatechange", b), a.attachevent("onload", e.ready);
var b = !1;
try {
b = a.frameelement == null
} catch (d) {}
c.documentelement.doscroll && b && j()
}
}
},
isfunction: function (a) {
return e.type(a) === "function"
},
isarray: array.isarray || function (a) {
return e.type(a) === "array"
},
iswindow: function (a) {
return a != null && a == a.window
},
isnumeric: function (a) {
return !isnan(parsefloat(a)) && isfinite(a)
},
type: function (a) {
return a == null ? string(a) : i[c.call(a)] || "object"
},
isplainobject: function (a) {
if (!a || e.type(a) !== "object" || a.nodetype || e.iswindow(a)) return !1;
try {
if (a.constructor && !d.call(a, "constructor") && !d.call(a.constructor.prototype, "isprototypeof")) return !1
} catch (c) {
return !1
}
var d;
for (d in a);
return d === b || d.call(a, d)
},
isemptyobject: function (a) {
for (var b in a) return !1;
return !0
},
error: function (a) {
throw new error(a)
},
parsejson: function (b) {
if (typeof b != "string" || !b) return null;
b = e.trim(b);
if (a.json && a.json.parse) return a.json.parse(b);
if (n.test(b.replace(o, "@").replace(p, "]").replace(q, ""))) return (new function("return " + b))();
e.error("invalid json: " + b)
},
parsexml: function (c) {
if (typeof c != "string" || !c) return null;
var d, f;
try {
a.domparser ? (f = new domparser, d = f.parsefromstring(c, "text/xml")) : (d = new activexobject("microsoft.xmldom"), d.async = "false", d.loadxml(c))
} catch (g) {
d = b
}(!d || !d.documentelement || d.getelementsbytagname("parsererror").length) && e.error("invalid xml: " + c);
return d
},
noop: function () {},
globaleval: function (b) {
b && j.test(b) && (a.execscript || function (b) {
a.eval.call(a, b)
})(b)
},
camelcase: function (a) {
return a.replace(w, "ms-").replace(v, x)
},
nodename: function (a, b) {
return a.nodename && a.nodename.touppercase() === b.touppercase()
},
each: function (a, c, d) {
var f, g = 0,
h = a.length,
i = h === b || e.isfunction(a);
if (d) {
if (i) {
for (f in a)
if (c.apply(a[f], d) === !1) break
} else
for (; g < h;)
if (c.apply(a[g++], d) === !1) break
} else if (i) {
for (f in a)
if (c.call(a[f], f, a[f]) === !1) break
} else
for (; g < h;)
if (c.call(a[g], g, a[g++]) === !1) break; return a
},
trim: g ? function (a) {
return a == null ? "" : g.call(a)
} : function (a) {
return a == null ? "" : (a + "").replace(k, "").replace(l, "")
},
makearray: function (a, b) {
var c = b || [];
if (a != null) {
var d = e.type(a);
a.length == null || d === "string" || d === "function" || d === "regexp" || e.iswindow(a) ? e.call(c, a) : e.merge(c, a)
}
return c
},
inarray: function (a, b, c) {
var d;
if (b) {
if (h) return h.call(b, a, c);
d = b.length, c = c ? c < 0 ? math.max(0, d + c) : c : 0;
for (; c < d; c++)
if (c in b && b[c] === a) return c
}
return -1
},
merge: function (a, c) {
var d = a.length,
e = 0;
if (typeof c.length == "number")
for (var f = c.length; e < f; e++) a[d++] = c[e];
else
while (c[e] !== b) a[d++] = c[e++];
a.length = d;
return a
},
grep: function (a, b, c) {
var d = [],
e;
c = !!c;
for (var f = 0, g = a.length; f < g; f++) e = !!b(a[f], f), c !== e && d.push(a[f]);
return d
},
map: function (a, c, d) {
var f, g, h = [],
i = 0,
j = a.length,
k = a instanceof e || j !== b && typeof j == "number" && (j > 0 && a[0] && a[j - 1] || j === 0 || e.isarray(a));
if (k)
for (; i < j; i++) f = c(a[i], i, d), f != null && (h[h.length] = f);
else
for (g in a) f = c(a[g], g, d), f != null && (h[h.length] = f);
return h.concat.apply([], h)
},
guid: 1,
proxy: function (a, c) {
if (typeof c == "string") {
var d = a[c];
c = a, a = d
}
if (!e.isfunction(a)) return b;
var f = f.call(arguments, 2),
g = function () {
return a.apply(c, f.concat(f.call(arguments)))
};
g.guid = a.guid = a.guid || g.guid || e.guid++;
return g
},
access: function (a, c, d, f, g, h, i) {
var j, k = d == null,
l = 0,
m = a.length;
if (d && typeof d == "object") {
for (l in d) e.access(a, c, l, d[l], 1, h, f);
g = 1
} else if (f !== b) {
j = i === b && e.isfunction(f), k && (j ? (j = c, c = function (a, b, c) {
return j.call(e(a), c)
}) : (c.call(a, f), c = null));
if (c)
for (; l < m; l++) c(a[l], d, j ? f.call(a[l], l, c(a[l], d)) : f, i);
g = 1
}
return g ? a : k ? c.call(a) : m ? c(a[0], d) : h
},
now: function () {
return (new date).gettime()
},
uamatch: function (a) {
a = a.tolowercase();
var b = r.exec(a) || s.exec(a) || t.exec(a) || a.indexof("compatible") < 0 && u.exec(a) || [];
return {
browser: b[1] || "",
version: b[2] || "0"
}
},
sub: function () {
function a(b, c) {
return new a.fn.init(b, c)
}
e.extend(!0, a, this), a.superclass = this, a.fn = a.prototype = this(), a.fn.constructor = a, a.sub = this.sub, a.fn.init = function (d, f) {
f && f instanceof e && !(f instanceof a) && (f = a(f));
return e.fn.init.call(this, d, f, b)
}, a.fn.init.prototype = a.fn;
var b = a(c);
return a
},
browser: {}
}), e.each("boolean number string function array date regexp object".split(" "), function (a, b) {
i["[object " + b + "]"] = b.tolowercase()
}), z = e.uamatch(y), z.browser && (e.browser[z.browser] = !0, e.browser.version = z.version), e.browser.webkit && (e.browser.safari = !0), j.test("?") && (k = /^[\s\xa0]+/, l = /[\s\xa0]+$/), h = e(c), c.addeventlistener ? b = function () {
c.removeeventlistener("domcontentloaded", b, !1), e.ready()
} : c.attachevent && (b = function () {
c.readystate === "complete" && (c.detachevent("onreadystatechange", b), e.ready())
});
return e
}(),
g = {};
f.callbacks = function (a) {
a = a ? g[a] || h(a) : {};
var c = [],
d = [],
e, i, j, k, l, m, n = function (b) {
var d, e, g, h, i;
for (d = 0, e = b.length; d < e; d++) g = b[d], h = f.type(g), h === "array" ? n(g) : h === "function" && (!a.unique || !p.has(g)) && c.push(g)
},
o = function (b, f) {
f = f || [], e = !a.memory || [b, f], i = !0, j = !0, m = k || 0, k = 0, l = c.length;
for (; c && m < l; m++)
if (c[m].apply(b, f) === !1 && a.stoponfalse) {
e = !0;
break
}
j = !1, c && (a.once ? e === !0 ? p.disable() : c = [] : d && d.length && (e = d.shift(), p.firewith(e[0], e[1])))
},
p = {
add: function () {
if (c) {
var a = c.length;
n(arguments), j ? l = c.length : e && e !== !0 && (k = a, o(e[0], e[1]))
}
return this
},
remove: function () {
if (c) {
var b = arguments,
d = 0,
e = b.length;
for (; d < e; d++)
for (var f = 0; f < c.length; f++)
if (b[d] === c[f]) {
j && f <= l && (l--, f <= m && m--), c.splice(f--, 1);
if (a.unique) break
}
}
return this
},
has: function (a) {
if (c) {
var b = 0,
d = c.length;
for (; b < d; b++)
if (a === c[b]) return !0
}
return !1
},
empty: function () {
c = [];
return this
},
disable: function () {
c = d = e = b;
return this
},
disabled: function () {
return !c
},
lock: function () {
d = b, (!e || e === !0) && p.disable();
return this
},
locked: function () {
return !d
},
firewith: function (b, c) {
d && (j ? a.once || d.push([b, c]) : (!a.once || !e) && o(b, c));
return this
},
fire: function () {
p.firewith(this, arguments);
return this
},
fired: function () {
return !!i
}
};
return p
};
var i = [].slice;
f.extend({
deferred: function (a) {
var b = f.callbacks("once memory"),
c = f.callbacks("once memory"),
d = f.callbacks("memory"),
e = "pending",
g = {
resolve: b,
reject: c,
notify: d
},
h = {
done: b.add,
fail: c.add,
progress: d.add,
state: function () {
return e
},
isresolved: b.fired,
isrejected: c.fired,
then: function (a, b, c) {
i.done(a).fail(b).progress(c);
return this
},
always: function () {
i.done.apply(i, arguments).fail.apply(i, arguments);
return this
},
pipe: function (a, b, c) {
return f.deferred(function (d) {
f.each({
done: [a, "resolve"],
fail: [b, "reject"],
progress: [c, "notify"]
}, function (a, b) {
var c = b[0],
e = b[1],
g;
f.isfunction(c) ? i[a](function () {
g = c.apply(this, arguments), g && f.isfunction(g.promise) ? g.promise().then(d.resolve, d.reject, d.notify) : d[e + "with"](this === i ? d : this, [g])
}) : i[a](d[e])
})
}).promise()
},
promise: function (a) {
if (a == null) a = h;
else
for (var b in h) a[b] = h[b];
return a
}
},
i = h.promise({}),
j;
for (j in g) i[j] = g[j].fire, i[j + "with"] = g[j].firewith;
i.done(function () {
e = "resolved"
}, c.disable, d.lock).fail(function () {
e = "rejected"
}, b.disable, d.lock), a && a.call(i, i);
return i
},
when: function (a) {
function m(a) {
return function (b) {
e[a] = arguments.length > 1 ? i.call(arguments, 0) : b, j.notifywith(k, e)
}
}
function l(a) {
return function (c) {
b[a] = arguments.length > 1 ? i.call(arguments, 0) : c, --g || j.resolvewith(j, b)
}
}
var b = i.call(arguments, 0),
c = 0,
d = b.length,
e = array(d),
g = d,
h = d,
j = d <= 1 && a && f.isfunction(a.promise) ? a : f.deferred(),
k = j.promise();
if (d > 1) {
for (; c < d; c++) b[c] && b[c].promise && f.isfunction(b[c].promise) ? b[c].promise().then(l(c), j.reject, m(c)) : --g;
g || j.resolvewith(j, b)
} else j !== a && j.resolvewith(j, d ? [a] : []);
return k
}
}), f.support = function () {
var b, d, e, g, h, i, j, k, l, m, n, o, p = c.createelement("div"),
q = c.documentelement;
p.setattribute("classname", "t"), p.innerhtml = "
a", d = p.getelementsbytagname("*"), e = p.getelementsbytagname("a")[0];
if (!d || !d.length || !e) return {};
g = c.createelement("select"), h = g.appendchild(c.createelement("option")), i = p.getelementsbytagname("input")[0], b = {
leadingwhitespace: p.firstchild.nodetype === 3,
tbody: !p.getelementsbytagname("tbody").length,
htmlserialize: !!p.getelementsbytagname("link").length,
style: /top/.test(e.getattribute("style")),
hrefnormalized: e.getattribute("href") === "/a",
opacity: /^0.55/.test(e.style.opacity),
cssfloat: !!e.style.cssfloat,
checkon: i.value === "on",
optselected: h.selected,
getsetattribute: p.classname !== "t",
enctype: !!c.createelement("form").enctype,
html5clone: c.createelement("nav").clonenode(!0).outerhtml !== "<:nav>",
submitbubbles: !0,
changebubbles: !0,
focusinbubbles: !1,
deleteexpando: !0,
nocloneevent: !0,
inlineblockneedslayout: !1,
shrinkwrapblocks: !1,
reliablemarginright: !0,
pixelmargin: !0
}, f.boxmodel = b.boxmodel = c.compatmode === "css1compat", i.checked = !0, b.noclonechecked = i.clonenode(!0).checked, g.disabled = !0, b.optdisabled = !h.disabled;
try {
delete p.test
} catch (r) {
b.deleteexpando = !1
}!p.addeventlistener && p.attachevent && p.fireevent && (p.attachevent("onclick", function () {
b.nocloneevent = !1
}), p.clonenode(!0).fireevent("onclick")), i = c.createelement("input"), i.value = "t", i.setattribute("type", "radio"), b.radiovalue = i.value === "t", i.setattribute("checked", "checked"), i.setattribute("name", "t"), p.appendchild(i), j = c.createdocumentfragment(), j.appendchild(p.lastchild), b.checkclone = j.clonenode(!0).clonenode(!0).lastchild.checked, b.appendchecked = i.checked, j.removechild(i), j.appendchild(p);
if (p.attachevent)
for (n in {
submit: 1,
change: 1,
focusin: 1
}) m = "on" + n, o = m in p, o || (p.setattribute(m, "return;"), o = typeof p[m] == "function"), b[n + "bubbles"] = o;
j.removechild(p), j = g = h = p = i = null, f(function () {
var d, e, g, h, i, j, l, m, n, q, r, s, t, u = c.getelementsbytagname("body")[0];
!u || (m = 1, t = "padding:0;margin:0;border:", r = "position:absolute;top:0;left:0;width:1px;height:1px;", s = t + "0;visibility:hidden;", n = "style='" + r + t + "5px solid #000;", q = "
" + "
" + "
", d = c.createelement("div"), d.style.csstext = s + "width:0;height:0;position:static;top:0;margin-top:" + m + "px", u.insertbefore(d, u.firstchild), p = c.createelement("div"), d.appendchild(p), p.innerhtml = "
t
", k = p.getelementsbytagname("td"), o = k[0].offsetheight === 0, k[0].style.display = "", k[1].style.display = "none", b.reliablehiddenoffsets = o && k[0].offsetheight === 0, a.getcomputedstyle && (p.innerhtml = "", l = c.createelement("div"), l.style.width = "0", l.style.marginright = "0", p.style.width = "2px", p.appendchild(l), b.reliablemarginright = (parseint((a.getcomputedstyle(l, null) || {
marginright: 0
}).marginright, 10) || 0) === 0), typeof p.style.zoom != "undefined" && (p.innerhtml = "", p.style.width = p.style.padding = "1px", p.style.border = 0, p.style.overflow = "hidden", p.style.display = "inline", p.style.zoom = 1, b.inlineblockneedslayout = p.offsetwidth === 3, p.style.display = "block", p.style.overflow = "visible", p.innerhtml = "", b.shrinkwrapblocks = p.offsetwidth !== 3), p.style.csstext = r + s, p.innerhtml = q, e = p.firstchild, g = e.firstchild, i = e.nextsibling.firstchild.firstchild, j = {
doesnotaddborder: g.offsettop !== 5,
doesaddborderfortableandcells: i.offsettop === 5
}, g.style.position = "fixed", g.style.top = "20px", j.fixedposition = g.offsettop === 20 || g.offsettop === 15, g.style.position = g.style.top = "", e.style.overflow = "hidden", e.style.position = "relative", j.subtractsborderforoverflownotvisible = g.offsettop === -5, j.doesnotincludemargininbodyoffset = u.offsettop !== m, a.getcomputedstyle && (p.style.margintop = "1%", b.pixelmargin = (a.getcomputedstyle(p, null) || {
margintop: 0
}).margintop !== "1%"), typeof d.style.zoom != "undefined" && (d.style.zoom = 1), u.removechild(d), l = p = d = null, f.extend(b, j))
});
return b
}();
var j = /^(?:\{.*\}|\[.*\])$/,
k = /([a-z])/g;
f.extend({
cache: {},
uuid: 0,
expando: "jquery" + (f.fn.jquery + math.random()).replace(/\d/g, ""),
nodata: {
embed: !0,
object: "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000",
applet: !0
},
hasdata: function (a) {
a = a.nodetype ? f.cache[a[f.expando]] : a[f.expando];
return !!a && !m(a)
},
data: function (a, c, d, e) {
if (!!f.acceptdata(a)) {
var g, h, i, j = f.expando,
k = typeof c == "string",
l = a.nodetype,
m = l ? f.cache : a,
n = l ? a[j] : a[j] && j,
o = c === "events";
if ((!n || !m[n] || !o && !e && !m[n].data) && k && d === b) return;
n || (l ? a[j] = n = ++f.uuid : n = j), m[n] || (m[n] = {}, l || (m[n].tojson = f.noop));
if (typeof c == "object" || typeof c == "function") e ? m[n] = f.extend(m[n], c) : m[n].data = f.extend(m[n].data, c);
g = h = m[n], e || (h.data || (h.data = {}), h = h.data), d !== b && (h[f.camelcase(c)] = d);
if (o && !h[c]) return g.events;
k ? (i = h[c], i == null && (i = h[f.camelcase(c)])) : i = h;
return i
}
},
removedata: function (a, b, c) {
if (!!f.acceptdata(a)) {
var d, e, g, h = f.expando,
i = a.nodetype,
j = i ? f.cache : a,
k = i ? a[h] : h;
if (!j[k]) return;
if (b) {
d = c ? j[k] : j[k].data;
if (d) {
f.isarray(b) || (b in d ? b = [b] : (b = f.camelcase(b), b in d ? b = [b] : b = b.split(" ")));
for (e = 0, g = b.length; e < g; e++) delete d[b[e]];
if (!(c ? m : f.isemptyobject)(d)) return
}
}
if (!c) {
delete j[k].data;
if (!m(j[k])) return
}
f.support.deleteexpando || !j.setinterval ? delete j[k] : j[k] = null, i && (f.support.deleteexpando ? delete a[h] : a.removeattribute ? a.removeattribute(h) : a[h] = null)
}
},
_data: function (a, b, c) {
return f.data(a, b, c, !0)
},
acceptdata: function (a) {
if (a.nodename) {
var b = f.nodata[a.nodename.tolowercase()];
if (b) return b !== !0 && a.getattribute("classid") === b
}
return !0
}
}), f.fn.extend({
data: function (a, c) {
var d, e, g, h, i, j = this[0],
k = 0,
m = null;
if (a === b) {
if (this.length) {
m = f.data(j);
if (j.nodetype === 1 && !f._data(j, "parsedattrs")) {
g = j.attributes;
for (i = g.length; k < i; k++) h = g[k].name, h.indexof("data-") === 0 && (h = f.camelcase(h.substring(5)), l(j, h, m[h]));
f._data(j, "parsedattrs", !0)
}
}
return m
}
if (typeof a == "object") return this.each(function () {
f.data(this, a)
});
d = a.split(".", 2), d[1] = d[1] ? "." + d[1] : "", e = d[1] + "!";
return f.access(this, function (c) {
if (c === b) {
m = this.triggerhandler("getdata" + e, [d[0]]), m === b && j && (m = f.data(j, a), m = l(j, a, m));
return m === b && d[1] ? this.data(d[0]) : m
}
d[1] = c, this.each(function () {
var b = f(this);
b.triggerhandler("setdata" + e, d), f.data(this, a, c), b.triggerhandler("changedata" + e, d)
})
}, null, c, arguments.length > 1, null, !1)
},
removedata: function (a) {
return this.each(function () {
f.removedata(this, a)
})
}
}), f.extend({
_mark: function (a, b) {
a && (b = (b || "fx") + "mark", f._data(a, b, (f._data(a, b) || 0) + 1))
},
_unmark: function (a, b, c) {
a !== !0 && (c = b, b = a, a = !1);
if (b) {
c = c || "fx";
var d = c + "mark",
e = a ? 0 : (f._data(b, d) || 1) - 1;
e ? f._data(b, d, e) : (f.removedata(b, d, !0), n(b, c, "mark"))
}
},
queue: function (a, b, c) {
var d;
if (a) {
b = (b || "fx") + "queue", d = f._data(a, b), c && (!d || f.isarray(c) ? d = f._data(a, b, f.makearray(c)) : d.push(c));
return d || []
}
},
dequeue: function (a, b) {
b = b || "fx";
var c = f.queue(a, b),
d = c.shift(),
e = {};
d === "inprogress" && (d = c.shift()), d && (b === "fx" && c.unshift("inprogress"), f._data(a, b + ".run", e), d.call(a, function () {
f.dequeue(a, b)
}, e)), c.length || (f.removedata(a, b + "queue " + b + ".run", !0), n(a, b, "queue"))
}
}), f.fn.extend({
queue: function (a, c) {
var d = 2;
typeof a != "string" && (c = a, a = "fx", d--);
if (arguments.length < d) return f.queue(this[0], a);
return c === b ? this : this.each(function () {
var b = f.queue(this, a, c);
a === "fx" && b[0] !== "inprogress" && f.dequeue(this, a)
})
},
dequeue: function (a) {
return this.each(function () {
f.dequeue(this, a)
})
},
delay: function (a, b) {
a = f.fx ? f.fx.speeds[a] || a : a, b = b || "fx";
return this.queue(b, function (b, c) {
var d = settimeout(b, a);
c.stop = function () {
cleartimeout(d)
}
})
},
clearqueue: function (a) {
return this.queue(a || "fx", [])
},
promise: function (a, c) {
function m() {
--h || d.resolvewith(e, [e])
}
typeof a != "string" && (c = a, a = b), a = a || "fx";
var d = f.deferred(),
e = this,
g = e.length,
h = 1,
i = a + "defer",
j = a + "queue",
k = a + "mark",
l;
while (g--)
if (l = f.data(e[g], i, b, !0) || (f.data(e[g], j, b, !0) || f.data(e[g], k, b, !0)) && f.data(e[g], i, f.callbacks("once memory"), !0)) h++, l.add(m);
m();
return d.promise(c)
}
});
var o = /[\n\t\r]/g,
p = /\s+/,
q = /\r/g,
r = /^(?:button|input)$/i,
s = /^(?:button|input|object|select|textarea)$/i,
t = /^a(?:rea)?$/i,
u = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
v = f.support.getsetattribute,
w, x, y;
f.fn.extend({
attr: function (a, b) {
return f.access(this, f.attr, a, b, arguments.length > 1)
},
removeattr: function (a) {
return this.each(function () {
f.removeattr(this, a)
})
},
prop: function (a, b) {
return f.access(this, f.prop, a, b, arguments.length > 1)
},
removeprop: function (a) {
a = f.propfix[a] || a;
return this.each(function () {
try {
this[a] = b, delete this[a]
} catch (c) {}
})
},
addclass: function (a) {
var b, c, d, e, g, h, i;
if (f.isfunction(a)) return this.each(function (b) {
f(this).addclass(a.call(this, b, this.classname))
});
if (a && typeof a == "string") {
b = a.split(p);
for (c = 0, d = this.length; c < d; c++) {
e = this[c];
if (e.nodetype === 1)
if (!e.classname && b.length === 1) e.classname = a;
else {
g = " " + e.classname + " ";
for (h = 0, i = b.length; h < i; h++) ~g.indexof(" " + b[h] + " ") || (g += b[h] + " ");
e.classname = f.trim(g)
}
}
}
return this
},
removeclass: function (a) {
var c, d, e, g, h, i, j;
if (f.isfunction(a)) return this.each(function (b) {
f(this).removeclass(a.call(this, b, this.classname))
});
if (a && typeof a == "string" || a === b) {
c = (a || "").split(p);
for (d = 0, e = this.length; d < e; d++) {
g = this[d];
if (g.nodetype === 1 && g.classname)
if (a) {
h = (" " + g.classname + " ").replace(o, " ");
for (i = 0, j = c.length; i < j; i++) h = h.replace(" " + c[i] + " ", " ");
g.classname = f.trim(h)
} else g.classname = ""
}
}
return this
},
toggleclass: function (a, b) {
var c = typeof a,
d = typeof b == "boolean";
if (f.isfunction(a)) return this.each(function (c) {
f(this).toggleclass(a.call(this, c, this.classname, b), b)
});
return this.each(function () {
if (c === "string") {
var e, g = 0,
h = f(this),
i = b,
j = a.split(p);
while (e = j[g++]) i = d ? i : !h.hasclass(e), h[i ? "addclass" : "removeclass"](e)
} else if (c === "undefined" || c === "boolean") this.classname && f._data(this, "__classname__", this.classname), this.classname = this.classname || a === !1 ? "" : f._data(this, "__classname__") || ""
})
},
hasclass: function (a) {
var b = " " + a + " ",
c = 0,
d = this.length;
for (; c < d; c++)
if (this[c].nodetype === 1 && (" " + this[c].classname + " ").replace(o, " ").indexof(b) > -1) return !0;
return !1
},
val: function (a) {
var c, d, e, g = this[0]; {
if (!!arguments.length) {
e = f.isfunction(a);
return this.each(function (d) {
var g = f(this),
h;
if (this.nodetype === 1) {
e ? h = a.call(this, d, g.val()) : h = a, h == null ? h = "" : typeof h == "number" ? h += "" : f.isarray(h) && (h = f.map(h, function (a) {
return a == null ? "" : a + ""
})), c = f.valhooks[this.type] || f.valhooks[this.nodename.tolowercase()];
if (!c || !("set" in c) || c.set(this, h, "value") === b) this.value = h
}
})
}
if (g) {
c = f.valhooks[g.type] || f.valhooks[g.nodename.tolowercase()];
if (c && "get" in c && (d = c.get(g, "value")) !== b) return d;
d = g.value;
return typeof d == "string" ? d.replace(q, "") : d == null ? "" : d
}
}
}
}), f.extend({
valhooks: {
option: {
get: function (a) {
var b = a.attributes.value;
return !b || b.specified ? a.value : a.text
}
},
select: {
get: function (a) {
var b, c, d, e, g = a.selectedindex,
h = [],
i = a.options,
j = a.type === "select-one";
if (g < 0) return null;
c = j ? g : 0, d = j ? g + 1 : i.length;
for (; c < d; c++) {
e = i[c];
if (e.selected && (f.support.optdisabled ? !e.disabled : e.getattribute("disabled") === null) && (!e.parentnode.disabled || !f.nodename(e.parentnode, "optgroup"))) {
b = f(e).val();
if (j) return b;
h.push(b)
}
}
if (j && !h.length && i.length) return f(i[g]).val();
return h
},
set: function (a, b) {
var c = f.makearray(b);
f(a).find("option").each(function () {
this.selected = f.inarray(f(this).val(), c) >= 0
}), c.length || (a.selectedindex = -1);
return c
}
}
},
attrfn: {
val: !0,
css: !0,
html: !0,
text: !0,
data: !0,
width: !0,
height: !0,
offset: !0
},
attr: function (a, c, d, e) {
var g, h, i, j = a.nodetype;
if (!!a && j !== 3 && j !== 8 && j !== 2) {
if (e && c in f.attrfn) return f(a)[c](d);
if (typeof a.getattribute == "undefined") return f.prop(a, c, d);
i = j !== 1 || !f.isxmldoc(a), i && (c = c.tolowercase(), h = f.attrhooks[c] || (u.test(c) ? x : w));
if (d !== b) {
if (d === null) {
f.removeattr(a, c);
return
}
if (h && "set" in h && i && (g = h.set(a, d, c)) !== b) return g;
a.setattribute(c, "" + d);
return d
}
if (h && "get" in h && i && (g = h.get(a, c)) !== null) return g;
g = a.getattribute(c);
return g === null ? b : g
}
},
removeattr: function (a, b) {
var c, d, e, g, h, i = 0;
if (b && a.nodetype === 1) {
d = b.tolowercase().split(p), g = d.length;
for (; i < g; i++) e = d[i], e && (c = f.propfix[e] || e, h = u.test(e), h || f.attr(a, e, ""), a.removeattribute(v ? e : c), h && c in a && (a[c] = !1))
}
},
attrhooks: {
type: {
set: function (a, b) {
if (r.test(a.nodename) && a.parentnode) f.error("type property can't be changed");
else if (!f.support.radiovalue && b === "radio" && f.nodename(a, "input")) {
var c = a.value;
a.setattribute("type", b), c && (a.value = c);
return b
}
}
},
value: {
get: function (a, b) {
if (w && f.nodename(a, "button")) return w.get(a, b);
return b in a ? a.value : null
},
set: function (a, b, c) {
if (w && f.nodename(a, "button")) return w.set(a, b, c);
a.value = b
}
}
},
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 (a, c, d) {
var e, g, h, i = a.nodetype;
if (!!a && i !== 3 && i !== 8 && i !== 2) {
h = i !== 1 || !f.isxmldoc(a), h && (c = f.propfix[c] || c, g = f.prophooks[c]);
return d !== b ? g && "set" in g && (e = g.set(a, d, c)) !== b ? e : a[c] = d : g && "get" in g && (e = g.get(a, c)) !== null ? e : a[c]
}
},
prophooks: {
tabindex: {
get: function (a) {
var c = a.getattributenode("tabindex");
return c && c.specified ? parseint(c.value, 10) : s.test(a.nodename) || t.test(a.nodename) && a.href ? 0 : b
}
}
}
}), f.attrhooks.tabindex = f.prophooks.tabindex, x = {
get: function (a, c) {
var d, e = f.prop(a, c);
return e === !0 || typeof e != "boolean" && (d = a.getattributenode(c)) && d.nodevalue !== !1 ? c.tolowercase() : b
},
set: function (a, b, c) {
var d;
b === !1 ? f.removeattr(a, c) : (d = f.propfix[c] || c, d in a && (a[d] = !0), a.setattribute(c, c.tolowercase()));
return c
}
}, v || (y = {
name: !0,
id: !0,
coords: !0
}, w = f.valhooks.button = {
get: function (a, c) {
var d;
d = a.getattributenode(c);
return d && (y[c] ? d.nodevalue !== "" : d.specified) ? d.nodevalue : b
},
set: function (a, b, d) {
var e = a.getattributenode(d);
e || (e = c.createattribute(d), a.setattributenode(e));
return e.nodevalue = b + ""
}
}, f.attrhooks.tabindex.set = w.set, f.each(["width", "height"], function (a, b) {
f.attrhooks[b] = f.extend(f.attrhooks[b], {
set: function (a, c) {
if (c === "") {
a.setattribute(b, "auto");
return c
}
}
})
}), f.attrhooks.contenteditable = {
get: w.get,
set: function (a, b, c) {
b === "" && (b = "false"), w.set(a, b, c)
}
}), f.support.hrefnormalized || f.each(["href", "src", "width", "height"], function (a, c) {
f.attrhooks[c] = f.extend(f.attrhooks[c], {
get: function (a) {
var d = a.getattribute(c, 2);
return d === null ? b : d
}
})
}), f.support.style || (f.attrhooks.style = {
get: function (a) {
return a.style.csstext.tolowercase() || b
},
set: function (a, b) {
return a.style.csstext = "" + b
}
}), f.support.optselected || (f.prophooks.selected = f.extend(f.prophooks.selected, {
get: function (a) {
var b = a.parentnode;
b && (b.selectedindex, b.parentnode && b.parentnode.selectedindex);
return null
}
})), f.support.enctype || (f.propfix.enctype = "encoding"), f.support.checkon || f.each(["radio", "checkbox"], function () {
f.valhooks[this] = {
get: function (a) {
return a.getattribute("value") === null ? "on" : a.value
}
}
}), f.each(["radio", "checkbox"], function () {
f.valhooks[this] = f.extend(f.valhooks[this], {
set: function (a, b) {
if (f.isarray(b)) return a.checked = f.inarray(f(a).val(), b) >= 0
}
})
});
var z = /^(?:textarea|input|select)$/i,
a = /^([^\.]*)?(?:\.(.+))?$/,
b = /(?:^|\s)hover(\.\s+)?\b/,
c = /^key/,
d = /^(?:mouse|contextmenu)|click/,
e = /^(?:focusinfocus|focusoutblur)$/,
f = /^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,
g = function (
a) {
var b = f.exec(a);
b && (b[1] = (b[1] || "").tolowercase(), b[3] = b[3] && new regexp("(?:^|\\s)" + b[3] + "(?:\\s|$)"));
return b
},
h = function (a, b) {
var c = a.attributes || {};
return (!b[1] || a.nodename.tolowercase() === b[1]) && (!b[2] || (c.id || {}).value === b[2]) && (!b[3] || b[3].test((c["class"] || {}).value))
},
i = function (a) {
return f.event.special.hover ? a : a.replace(b, "mouseenter$1 mouseleave$1")
};
f.event = {
add: function (a, c, d, e, g) {
var h, i, j, k, l, m, n, o, p, q, r, s;
if (!(a.nodetype === 3 || a.nodetype === 8 || !c || !d || !(h = f._data(a)))) {
d.handler && (p = d, d = p.handler, g = p.selector), d.guid || (d.guid = f.guid++), j = h.events, j || (h.events = j = {}), i = h.handle, i || (h.handle = i = function (a) {
return typeof f != "undefined" && (!a || f.event.triggered !== a.type) ? f.event.dispatch.apply(i.elem, arguments) : b
}, i.elem = a), c = f.trim(i(c)).split(" ");
for (k = 0; k < c.length; k++) {
l = a.exec(c[k]) || [], m = l[1], n = (l[2] || "").split(".").sort(), s = f.event.special[m] || {}, m = (g ? s.delegatetype : s.bindtype) || m, s = f.event.special[m] || {}, o = f.extend({
type: m,
origtype: l[1],
data: e,
handler: d,
guid: d.guid,
selector: g,
quick: g && g(g),
namespace: n.join(".")
}, p), r = j[m];
if (!r) {
r = j[m] = [], r.delegatecount = 0;
if (!s.setup || s.setup.call(a, e, n, i) === !1) a.addeventlistener ? a.addeventlistener(m, i, !1) : a.attachevent && a.attachevent("on" + m, i)
}
s.add && (s.add.call(a, o), o.handler.guid || (o.handler.guid = d.guid)), g ? r.splice(r.delegatecount++, 0, o) : r.push(o), f.event.global[m] = !0
}
a = null
}
},
global: {},
remove: function (a, b, c, d, e) {
var g = f.hasdata(a) && f._data(a),
h, i, j, k, l, m, n, o, p, q, r, s;
if (!!g && !!(o = g.events)) {
b = f.trim(i(b || "")).split(" ");
for (h = 0; h < b.length; h++) {
i = a.exec(b[h]) || [], j = k = i[1], l = i[2];
if (!j) {
for (j in o) f.event.remove(a, j + b[h], c, d, !0);
continue
}
p = f.event.special[j] || {}, j = (d ? p.delegatetype : p.bindtype) || j, r = o[j] || [], m = r.length, l = l ? new regexp("(^|\\.)" + l.split(".").sort().join("\\.(?:.*\\.)?") + "(\\.|$)") : null;
for (n = 0; n < r.length; n++) s = r[n], (e || k === s.origtype) && (!c || c.guid === s.guid) && (!l || l.test(s.namespace)) && (!d || d === s.selector || d === "**" && s.selector) && (r.splice(n--, 1), s.selector && r.delegatecount--, p.remove && p.remove.call(a, s));
r.length === 0 && m !== r.length && ((!p.teardown || p.teardown.call(a, l) === !1) && f.removeevent(a, j, g.handle), delete o[j])
}
f.isemptyobject(o) && (q = g.handle, q && (q.elem = null), f.removedata(a, ["events", "handle"], !0))
}
},
customevent: {
getdata: !0,
setdata: !0,
changedata: !0
},
trigger: function (c, d, e, g) {
if (!e || e.nodetype !== 3 && e.nodetype !== 8) {
var h = c.type || c,
i = [],
j, k, l, m, n, o, p, q, r, s;
if (e.test(h + f.event.triggered)) return;
h.indexof("!") >= 0 && (h = h.slice(0, -1), k = !0), h.indexof(".") >= 0 && (i = h.split("."), h = i.shift(), i.sort());
if ((!e || f.event.customevent[h]) && !f.event.global[h]) return;
c = typeof c == "object" ? c[f.expando] ? c : new f.event(h, c) : new f.event(h), c.type = h, c.istrigger = !0, c.exclusive = k, c.namespace = i.join("."), c.namespace_re = c.namespace ? new regexp("(^|\\.)" + i.join("\\.(?:.*\\.)?") + "(\\.|$)") : null, o = h.indexof(":") < 0 ? "on" + h : "";
if (!e) {
j = f.cache;
for (l in j) j[l].events && j[l].events[h] && f.event.trigger(c, d, j[l].handle.elem, !0);
return
}
c.result = b, c.target || (c.target = e), d = d != null ? f.makearray(d) : [], d.unshift(c), p = f.event.special[h] || {};
if (p.trigger && p.trigger.apply(e, d) === !1) return;
r = [
[e, p.bindtype || h]
];
if (!g && !p.nobubble && !f.iswindow(e)) {
s = p.delegatetype || h, m = e.test(s + h) ? e : e.parentnode, n = null;
for (; m; m = m.parentnode) r.push([m, s]), n = m;
n && n === e.ownerdocument && r.push([n.defaultview || n.parentwindow || a, s])
}
for (l = 0; l < r.length && !c.ispropagationstopped(); l++) m = r[l][0], c.type = r[l][1], q = (f._data(m, "events") || {})[c.type] && f._data(m, "handle"), q && q.apply(m, d), q = o && m[o], q && f.acceptdata(m) && q.apply(m, d) === !1 && c.preventdefault();
c.type = h, !g && !c.isdefaultprevented() && (!p._default || p._default.apply(e.ownerdocument, d) === !1) && (h !== "click" || !f.nodename(e, "a")) && f.acceptdata(e) && o && e[h] && (h !== "focus" && h !== "blur" || c.target.offsetwidth !== 0) && !f.iswindow(e) && (n = e[o], n && (e[o] = null), f.event.triggered = h, e[h](), f.event.triggered = b, n && (e[o] = n));
return c.result
}
},
dispatch: function (c) {
c = f.event.fix(c || a.event);
var d = (f._data(this, "events") || {})[c.type] || [],
e = d.delegatecount,
g = [].slice.call(arguments, 0),
h = !c.exclusive && !c.namespace,
i = f.event.special[c.type] || {},
j = [],
k, l, m, n, o, p, q, r, s, t, u;
g[0] = c, c.delegatetarget = this;
if (!i.predispatch || i.predispatch.call(this, c) !== !1) {
if (e && (!c.button || c.type !== "click")) {
n = f(this), n.context = this.ownerdocument || this;
for (m = c.target; m != this; m = m.parentnode || this)
if (m.disabled !== !0) {
p = {}, r = [], n[0] = m;
for (k = 0; k < e; k++) s = d[k], t = s.selector, p[t] === b && (p[t] = s.quick ? h(m, s.quick) : n.is(t)), p[t] && r.push(s);
r.length && j.push({
elem: m,
matches: r
})
}
}
d.length > e && j.push({
elem: this,
matches: d.slice(e)
});
for (k = 0; k < j.length && !c.ispropagationstopped(); k++) {
q = j[k], c.currenttarget = q.elem;
for (l = 0; l < q.matches.length && !c.isimmediatepropagationstopped(); l++) {
s = q.matches[l];
if (h || !c.namespace && !s.namespace || c.namespace_re && c.namespace_re.test(s.namespace)) c.data = s.data, c.handleobj = s, o = ((f.event.special[s.origtype] || {}).handle || s.handler).apply(q.elem, g), o !== b && (c.result = o, o === !1 && (c.preventdefault(), c.stoppropagation()))
}
}
i.postdispatch && i.postdispatch.call(this, c);
return c.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 (a, b) {
a.which == null && (a.which = b.charcode != null ? b.charcode : b.keycode);
return a
}
},
mousehooks: {
props: "button buttons clientx clienty fromelement offsetx offsety pagex pagey screenx screeny toelement".split(" "),
filter: function (a, d) {
var e, f, g, h = d.button,
i = d.fromelement;
a.pagex == null && d.clientx != null && (e = a.target.ownerdocument || c, f = e.documentelement, g = e.body, a.pagex = d.clientx + (f && f.scrollleft || g && g.scrollleft || 0) - (f && f.clientleft || g && g.clientleft || 0), a.pagey = d.clienty + (f && f.scrolltop || g && g.scrolltop || 0) - (f && f.clienttop || g && g.clienttop || 0)), !a.relatedtarget && i && (a.relatedtarget = i === a.target ? d.toelement : i), !a.which && h !== b && (a.which = h & 1 ? 1 : h & 2 ? 3 : h & 4 ? 2 : 0);
return a
}
},
fix: function (a) {
if (a[f.expando]) return a;
var d, e, g = a,
h = f.event.fixhooks[a.type] || {},
i = h.props ? this.props.concat(h.props) : this.props;
a = f.event(g);
for (d = i.length; d;) e = i[--d], a[e] = g[e];
a.target || (a.target = g.srcelement || c), a.target.nodetype === 3 && (a.target = a.target.parentnode), a.metakey === b && (a.metakey = a.ctrlkey);
return h.filter ? h.filter(a, g) : a
},
special: {
ready: {
setup: f.bindready
},
load: {
nobubble: !0
},
focus: {
delegatetype: "focusin"
},
blur: {
delegatetype: "focusout"
},
beforeunload: {
setup: function (a, b, c) {
f.iswindow(this) && (this.onbeforeunload = c)
},
teardown: function (a, b) {
this.onbeforeunload === b && (this.onbeforeunload = null)
}
}
},
simulate: function (a, b, c, d) {
var e = f.extend(new f.event, c, {
type: a,
issimulated: !0,
originalevent: {}
});
d ? f.event.trigger(e, null, b) : f.event.dispatch.call(b, e), e.isdefaultprevented() && c.preventdefault()
}
}, f.event.handle = f.event.dispatch, f.removeevent = c.removeeventlistener ? function (a, b, c) {
a.removeeventlistener && a.removeeventlistener(b, c, !1)
} : function (a, b, c) {
a.detachevent && a.detachevent("on" + b, c)
}, f.event = function (a, b) {
if (!(this instanceof f.event)) return new f.event(a, b);
a && a.type ? (this.originalevent = a, this.type = a.type, this.isdefaultprevented = a.defaultprevented || a.returnvalue === !1 || a.getpreventdefault && a.getpreventdefault() ? k : j) : this.type = a, b && f.extend(this, b), this.timestamp = a && a.timestamp || f.now(), this[f.expando] = !0
}, f.event.prototype = {
preventdefault: function () {
this.isdefaultprevented = k;
var a = this.originalevent;
!a || (a.preventdefault ? a.preventdefault() : a.returnvalue = !1)
},
stoppropagation: function () {
this.ispropagationstopped = k;
var a = this.originalevent;
!a || (a.stoppropagation && a.stoppropagation(), a.cancelbubble = !0)
},
stopimmediatepropagation: function () {
this.isimmediatepropagationstopped = k, this.stoppropagation()
},
isdefaultprevented: j,
ispropagationstopped: j,
isimmediatepropagationstopped: j
}, f.each({
mouseenter: "mouseover",
mouseleave: "mouseout"
}, function (a, b) {
f.event.special[a] = {
delegatetype: b,
bindtype: b,
handle: function (a) {
var c = this,
d = a.relatedtarget,
e = a.handleobj,
g = e.selector,
h;
if (!d || d !== c && !f.contains(c, d)) a.type = e.origtype, h = e.handler.apply(this, arguments), a.type = b;
return h
}
}
}), f.support.submitbubbles || (f.event.special.submit = {
setup: function () {
if (f.nodename(this, "form")) return !1;
f.event.add(this, "click._submit keypress._submit", function (a) {
var c = a.target,
d = f.nodename(c, "input") || f.nodename(c, "button") ? c.form : b;
d && !d._submit_attached && (f.event.add(d, "submit._submit", function (a) {
a._submit_bubble = !0
}), d._submit_attached = !0)
})
},
postdispatch: function (a) {
a._submit_bubble && (delete a._submit_bubble, this.parentnode && !a.istrigger && f.event.simulate("submit", this.parentnode, a, !0))
},
teardown: function () {
if (f.nodename(this, "form")) return !1;
f.event.remove(this, "._submit")
}
}), f.support.changebubbles || (f.event.special.change = {
setup: function () {
if (z.test(this.nodename)) {
if (this.type === "checkbox" || this.type === "radio") f.event.add(this, "propertychange._change", function (a) {
a.originalevent.propertyname === "checked" && (this._just_changed = !0)
}), f.event.add(this, "click._change", function (a) {
this._just_changed && !a.istrigger && (this._just_changed = !1, f.event.simulate("change", this, a, !0))
});
return !1
}
f.event.add(this, "beforeactivate._change", function (a) {
var b = a.target;
z.test(b.nodename) && !b._change_attached && (f.event.add(b, "change._change", function (a) {
this.parentnode && !a.issimulated && !a.istrigger && f.event.simulate("change", this.parentnode, a, !0)
}), b._change_attached = !0)
})
},
handle: function (a) {
var b = a.target;
if (this !== b || a.issimulated || a.istrigger || b.type !== "radio" && b.type !== "checkbox") return a.handleobj.handler.apply(this, arguments)
},
teardown: function () {
f.event.remove(this, "._change");
return z.test(this.nodename)
}
}), f.support.focusinbubbles || f.each({
focus: "focusin",
blur: "focusout"
}, function (a, b) {
var d = 0,
e = function (a) {
f.event.simulate(b, a.target, f.event.fix(a), !0)
};
f.event.special[b] = {
setup: function () {
d++ === 0 && c.addeventlistener(a, e, !0)
},
teardown: function () {
--d === 0 && c.removeeventlistener(a, e, !0)
}
}
}), f.fn.extend({
on: function (a, c, d, e, g) {
var h, i;
if (typeof a == "object") {
typeof c != "string" && (d = d || c, c = b);
for (i in a) this.on(i, c, d, a[i], g);
return this
}
d == null && e == null ? (e = c, d = c = b) : e == null && (typeof c == "string" ? (e = d, d = b) : (e = d, d = c, c = b));
if (e === !1) e = j;
else if (!e) return this;
g === 1 && (h = e, e = function (a) {
f().off(a);
return h.apply(this, arguments)
}, e.guid = h.guid || (h.guid = f.guid++));
return this.each(function () {
f.event.add(this, a, e, d, c)
})
},
one: function (a, b, c, d) {
return this.on(a, b, c, d, 1)
},
off: function (a, c, d) {
if (a && a.preventdefault && a.handleobj) {
var e = a.handleobj;
f(a.delegatetarget).off(e.namespace ? e.origtype + "." + e.namespace : e.origtype, e.selector, e.handler);
return this
}
if (typeof a == "object") {
for (var g in a) this.off(g, c, a[g]);
return this
}
if (c === !1 || typeof c == "function") d = c, c = b;
d === !1 && (d = j);
return this.each(function () {
f.event.remove(this, a, d, c)
})
},
bind: function (a, b, c) {
return this.on(a, null, b, c)
},
unbind: function (a, b) {
return this.off(a, null, b)
},
live: function (a, b, c) {
f(this.context).on(a, this.selector, b, c);
return this
},
die: function (a, b) {
f(this.context).off(a, this.selector || "**", b);
return this
},
delegate: function (a, b, c, d) {
return this.on(b, a, c, d)
},
undelegate: function (a, b, c) {
return arguments.length == 1 ? this.off(a, "**") : this.off(b, a, c)
},
trigger: function (a, b) {
return this.each(function () {
f.event.trigger(a, b, this)
})
},
triggerhandler: function (a, b) {
if (this[0]) return f.event.trigger(a, b, this[0], !0)
},
toggle: function (a) {
var b = arguments,
c = a.guid || f.guid++,
d = 0,
e = function (c) {
var e = (f._data(this, "lasttoggle" + a.guid) || 0) % d;
f._data(this, "lasttoggle" + a.guid, e + 1), c.preventdefault();
return b[e].apply(this, arguments) || !1
};
e.guid = c;
while (d < b.length) b[d++].guid = c;
return this.click(e)
},
hover: function (a, b) {
return this.mouseenter(a).mouseleave(b || a)
}
}), f.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 (a, b) {
f.fn[b] = function (a, c) {
c == null && (c = a, a = null);
return arguments.length > 0 ? this.on(b, null, a, c) : this.trigger(b)
}, f.attrfn && (f.attrfn[b] = !0), c.test(b) && (f.event.fixhooks[b] = f.event.keyhooks), d.test(b) && (f.event.fixhooks[b] = f.event.mousehooks)
}),
function () {
function x(a, b, c, e, f, g) {
for (var h = 0, i = e.length; h < i; h++) {
var j = e[h];
if (j) {
var k = !1;
j = j[a];
while (j) {
if (j[d] === c) {
k = e[j.sizset];
break
}
if (j.nodetype === 1) {
g || (j[d] = c, j.sizset = h);
if (typeof b != "string") {
if (j === b) {
k = !0;
break
}
} else if (m.filter(b, [j]).length > 0) {
k = j;
break
}
}
j = j[a]
}
e[h] = k
}
}
}
function w(a, b, c, e, f, g) {
for (var h = 0, i = e.length; h < i; h++) {
var j = e[h];
if (j) {
var k = !1;
j = j[a];
while (j) {
if (j[d] === c) {
k = e[j.sizset];
break
}
j.nodetype === 1 && !g && (j[d] = c, j.sizset = h);
if (j.nodename.tolowercase() === b) {
k = j;
break
}
j = j[a]
}
e[h] = k
}
}
}
var a = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
d = "sizcache" + (math.random() + "").replace(".", ""),
e = 0,
g = object.prototype.tostring,
h = !1,
i = !0,
j = /\\/g,
k = /\r\n/g,
l = /\w/;
[0, 0].sort(function () {
i = !1;
return 0
});
var m = function (b, d, e, f) {
e = e || [], d = d || c;
var h = d;
if (d.nodetype !== 1 && d.nodetype !== 9) return [];
if (!b || typeof b != "string") return e;
var i, j, k, l, n, q, r, t, u = !0,
v = m.isxml(d),
w = [],
x = b;
do {
a.exec(""), i = a.exec(x);
if (i) {
x = i[3], w.push(i[1]);
if (i[2]) {
l = i[3];
break
}
}
} while (i);
if (w.length > 1 && p.exec(b))
if (w.length === 2 && o.relative[w[0]]) j = y(w[0] + w[1], d, f);
else {
j = o.relative[w[0]] ? [d] : m(w.shift(), d);
while (w.length) b = w.shift(), o.relative[b] && (b += w.shift()), j = y(b, j, f)
}
else {
!f && w.length > 1 && d.nodetype === 9 && !v && o.match.id.test(w[0]) && !o.match.id.test(w[w.length - 1]) && (n = m.find(w.shift(), d, v), d = n.expr ? m.filter(n.expr, n.set)[0] : n.set[0]);
if (d) {
n = f ? {
expr: w.pop(),
set: s(f)
} : m.find(w.pop(), w.length === 1 && (w[0] === "~" || w[0] === "+") && d.parentnode ? d.parentnode : d, v), j = n.expr ? m.filter(n.expr, n.set) : n.set, w.length > 0 ? k = s(j) : u = !1;
while (w.length) q = w.pop(), r = q, o.relative[q] ? r = w.pop() : q = "", r == null && (r = d), o.relative[q](k, r, v)
} else k = w = []
}
k || (k = j), k || m.error(q || b);
if (g.call(k) === "[object array]")
if (!u) e.push.apply(e, k);
else if (d && d.nodetype === 1)
for (t = 0; k[t] != null; t++) k[t] && (k[t] === !0 || k[t].nodetype === 1 && m.contains(d, k[t])) && e.push(j[t]);
else
for (t = 0; k[t] != null; t++) k[t] && k[t].nodetype === 1 && e.push(j[t]);
else s(k, e);
l && (m(l, h, e, f), m.uniquesort(e));
return e
};
m.uniquesort = function (a) {
if (u) {
h = i, a.sort(u);
if (h)
for (var b = 1; b < a.length; b++) a[b] === a[b - 1] && a.splice(b--, 1)
}
return a
}, m.matches = function (a, b) {
return m(a, null, null, b)
}, m.matchesselector = function (a, b) {
return m(b, null, null, [a]).length > 0
}, m.find = function (a, b, c) {
var d, e, f, g, h, i;
if (!a) return [];
for (e = 0, f = o.order.length; e < f; e++) {
h = o.order[e];
if (g = o.leftmatch[h].exec(a)) {
i = g[1], g.splice(1, 1);
if (i.substr(i.length - 1) !== "\\") {
g[1] = (g[1] || "").replace(j, ""), d = o.find[h](g, b, c);
if (d != null) {
a = a.replace(o.match[h], "");
break
}
}
}
}
d || (d = typeof b.getelementsbytagname != "undefined" ? b.getelementsbytagname("*") : []);
return {
set: d,
expr: a
}
}, m.filter = function (a, c, d, e) {
var f, g, h, i, j, k, l, n, p, q = a,
r = [],
s = c,
t = c && c[0] && m.isxml(c[0]);
while (a && c.length) {
for (h in o.filter)
if ((f = o.leftmatch[h].exec(a)) != null && f[2]) {
k = o.filter[h], l = f[1], g = !1, f.splice(1, 1);
if (l.substr(l.length - 1) === "\\") continue;
s === r && (r = []);
if (o.prefilter[h]) {
f = o.prefilter[h](f, s, d, r, e, t);
if (!f) g = i = !0;
else if (f === !0) continue
}
if (f)
for (n = 0;
(j = s[n]) != null; n++) j && (i = k(j, f, n, s), p = e ^ i, d && i != null ? p ? g = !0 : s[n] = !1 : p && (r.push(j), g = !0));
if (i !== b) {
d || (s = r), a = a.replace(o.match[h], "");
if (!g) return [];
break
}
}
if (a === q)
if (g == null) m.error(a);
else break;
q = a
}
return s
}, m.error = function (a) {
throw new error("syntax error, unrecognized expression: " + a)
};
var n = m.gettext = function (a) {
var b, c, d = a.nodetype,
e = "";
if (d) {
if (d === 1 || d === 9 || d === 11) {
if (typeof a.textcontent == "string") return a.textcontent;
if (typeof a.innertext == "string") return a.innertext.replace(k, "");
for (a = a.firstchild; a; a = a.nextsibling) e += n(a)
} else if (d === 3 || d === 4) return a.nodevalue
} else
for (b = 0; c = a[b]; b++) c.nodetype !== 8 && (e += n(c));
return e
},
o = m.selectors = {
order: ["id", "name", "tag"],
match: {
id: /#((?:[\w\u00c0-\uffff\-]|\\.)+)/,
class: /\.((?:[\w\u00c0-\uffff\-]|\\.)+)/,
name: /\[name=['"]*((?:[\w\u00c0-\uffff\-]|\\.)+)['"]*\]/,
attr: /\[\s*((?:[\w\u00c0-\uffff\-]|\\.)+)\s*(?:(\s?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uffff\-]|\\.)*)|)|)\s*\]/,
tag: /^((?:[\w\u00c0-\uffff\*\-]|\\.)+)/,
child: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,
pos: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,
pseudo: /:((?:[\w\u00c0-\uffff\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
},
leftmatch: {},
attrmap: {
"class": "classname",
"for": "htmlfor"
},
attrhandle: {
href: function (a) {
return a.getattribute("href")
},
type: function (a) {
return a.getattribute("type")
}
},
relative: {
"+": function (a, b) {
var c = typeof b == "string",
d = c && !l.test(b),
e = c && !d;
d && (b = b.tolowercase());
for (var f = 0, g = a.length, h; f < g; f++)
if (h = a[f]) {
while ((h = h.previoussibling) && h.nodetype !== 1);
a[f] = e || h && h.nodename.tolowercase() === b ? h || !1 : h === b
}
e && m.filter(b, a, !0)
},
">": function (a, b) {
var c, d = typeof b == "string",
e = 0,
f = a.length;
if (d && !l.test(b)) {
b = b.tolowercase();
for (; e < f; e++) {
c = a[e];
if (c) {
var g = c.parentnode;
a[e] = g.nodename.tolowercase() === b ? g : !1
}
}
} else {
for (; e < f; e++) c = a[e], c && (a[e] = d ? c.parentnode : c.parentnode === b);
d && m.filter(b, a, !0)
}
},
"": function (a, b, c) {
var d, f = e++,
g = x;
typeof b == "string" && !l.test(b) && (b = b.tolowercase(), d = b, g = w), g("parentnode", b, f, a, d, c)
},
"~": function (a, b, c) {
var d, f = e++,
g = x;
typeof b == "string" && !l.test(b) && (b = b.tolowercase(), d = b, g = w), g("previoussibling", b, f, a, d, c)
}
},
find: {
id: function (a, b, c) {
if (typeof b.getelementbyid != "undefined" && !c) {
var d = b.getelementbyid(a[1]);
return d && d.parentnode ? [d] : []
}
},
name: function (a, b) {
if (typeof b.getelementsbyname != "undefined") {
var c = [],
d = b.getelementsbyname(a[1]);
for (var e = 0, f = d.length; e < f; e++) d[e].getattribute("name") === a[1] && c.push(d[e]);
return c.length === 0 ? null : c
}
},
tag: function (a, b) {
if (typeof b.getelementsbytagname != "undefined") return b.getelementsbytagname(a[1])
}
},
prefilter: {
class: function (a, b, c, d, e, f) {
a = " " + a[1].replace(j, "") + " ";
if (f) return a;
for (var g = 0, h;
(h = b[g]) != null; g++) h && (e ^ (h.classname && (" " + h.classname + " ").replace(/[\t\n\r]/g, " ").indexof(a) >= 0) ? c || d.push(h) : c && (b[g] = !1));
return !1
},
id: function (a) {
return a[1].replace(j, "")
},
tag: function (a, b) {
return a[1].replace(j, "").tolowercase()
},
child: function (a) {
if (a[1] === "nth") {
a[2] || m.error(a[0]), a[2] = a[2].replace(/^\+|\s*/g, "");
var b = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2] === "even" && "2n" || a[2] === "odd" && "2n+1" || !/\d/.test(a[2]) && "0n+" + a[2] || a[2]);
a[2] = b[1] + (b[2] || 1) - 0, a[3] = b[3] - 0
} else a[2] && m.error(a[0]);
a[0] = e++;
return a
},
attr: function (a, b, c, d, e, f) {
var g = a[1] = a[1].replace(j, "");
!f && o.attrmap[g] && (a[1] = o.attrmap[g]), a[4] = (a[4] || a[5] || "").replace(j, ""), a[2] === "~=" && (a[4] = " " + a[4] + " ");
return a
},
pseudo: function (b, c, d, e, f) {
if (b[1] === "not")
if ((a.exec(b[3]) || "").length > 1 || /^\w/.test(b[3])) b[3] = m(b[3], null, null, c);
else {
var g = m.filter(b[3], c, d, !0 ^ f);
d || e.push.apply(e, g);
return !1
}
else if (o.match.pos.test(b[0]) || o.match.child.test(b[0])) return !0;
return b
},
pos: function (a) {
a.unshift(!0);
return a
}
},
filters: {
enabled: function (a) {
return a.disabled === !1 && a.type !== "hidden"
},
disabled: function (a) {
return a.disabled === !0
},
checked: function (a) {
return a.checked === !0
},
selected: function (a) {
a.parentnode && a.parentnode.selectedindex;
return a.selected === !0
},
parent: function (a) {
return !!a.firstchild
},
empty: function (a) {
return !a.firstchild
},
has: function (a, b, c) {
return !!m(c[3], a).length
},
header: function (a) {
return /h\d/i.test(a.nodename)
},
text: function (a) {
var b = a.getattribute("type"),
c = a.type;
return a.nodename.tolowercase() === "input" && "text" === c && (b === c || b === null)
},
radio: function (a) {
return a.nodename.tolowercase() === "input" && "radio" === a.type
},
checkbox: function (a) {
return a.nodename.tolowercase() === "input" && "checkbox" === a.type
},
file: function (a) {
return a.nodename.tolowercase() === "input" && "file" === a.type
},
password: function (a) {
return a.nodename.tolowercase() === "input" && "password" === a.type
},
submit: function (a) {
var b = a.nodename.tolowercase();
return (b === "input" || b === "button") && "submit" === a.type
},
image: function (a) {
return a.nodename.tolowercase() === "input" && "image" === a.type
},
reset: function (a) {
var b = a.nodename.tolowercase();
return (b === "input" || b === "button") && "reset" === a.type
},
button: function (a) {
var b = a.nodename.tolowercase();
return b === "input" && "button" === a.type || b === "button"
},
input: function (a) {
return /input|select|textarea|button/i.test(a.nodename)
},
focus: function (a) {
return a === a.ownerdocument.activeelement
}
},
setfilters: {
first: function (a, b) {
return b === 0
},
last: function (a, b, c, d) {
return b === d.length - 1
},
even: function (a, b) {
return b % 2 === 0
},
odd: function (a, b) {
return b % 2 === 1
},
lt: function (a, b, c) {
return b < c[3] - 0
},
gt: function (a, b, c) {
return b > c[3] - 0
},
nth: function (a, b, c) {
return c[3] - 0 === b
},
eq: function (a, b, c) {
return c[3] - 0 === b
}
},
filter: {
pseudo: function (a, b, c, d) {
var e = b[1],
f = o.filters[e];
if (f) return f(a, c, b, d);
if (e === "contains") return (a.textcontent || a.innertext || n([a]) || "").indexof(b[3]) >= 0;
if (e === "not") {
var g = b[3];
for (var h = 0, i = g.length; h < i; h++)
if (g[h] === a) return !1;
return !0
}
m.error(e)
},
child: function (a, b) {
var c, e, f, g, h, i, j, k = b[1],
l = a;
switch (k) {
case "only":
case "first":
while (l = l.previoussibling)
if (l.nodetype === 1) return !1;
if (k === "first") return !0;
l = a;
case "last":
while (l = l.nextsibling)
if (l.nodetype === 1) return !1;
return !0;
case "nth":
c = b[2], e = b[3];
if (c === 1 && e === 0) return !0;
f = b[0], g = a.parentnode;
if (g && (g[d] !== f || !a.nodeindex)) {
i = 0;
for (l = g.firstchild; l; l = l.nextsibling) l.nodetype === 1 && (l.nodeindex = ++i);
g[d] = f
}
j = a.nodeindex - e;
return c === 0 ? j === 0 : j % c === 0 && j / c >= 0
}
},
id: function (a, b) {
return a.nodetype === 1 && a.getattribute("id") === b
},
tag: function (a, b) {
return b === "*" && a.nodetype === 1 || !!a.nodename && a.nodename.tolowercase() === b
},
class: function (a, b) {
return (" " + (a.classname || a.getattribute("class")) + " ").indexof(b) > -1
},
attr: function (a, b) {
var c = b[1],
d = m.attr ? m.attr(a, c) : o.attrhandle[c] ? o.attrhandle[c](a) : a[c] != null ? a[c] : a.getattribute(c),
e = d + "",
f = b[2],
g = b[4];
return d == null ? f === "!=" : !f && m.attr ? d != null : f === "=" ? e === g : f === "*=" ? e.indexof(g) >= 0 : f === "~=" ? (" " + e + " ").indexof(g) >= 0 : g ? f === "!=" ? e !== g : f === "^=" ? e.indexof(g) === 0 : f === "$=" ? e.substr(e.length - g.length) === g : f === "|=" ? e === g || e.substr(0, g.length + 1) === g + "-" : !1 : e && d !== !1
},
pos: function (a, b, c, d) {
var e = b[2],
f = o.setfilters[e];
if (f) return f(a, c, b, d)
}
}
},
p = o.match.pos,
q = function (a, b) {
return "\\" + (b - 0 + 1)
};
for (var r in o.match) o.match[r] = new regexp(o.match[r].source + /(?![^\[]*\])(?![^\(]*\))/.source), o.leftmatch[r] = new regexp(/(^(?:.|\r|\n)*?)/.source + o.match[r].source.replace(/\\(\d+)/g, q));
o.match.globalpos = p;
var s = function (a, b) {
a = array.prototype.slice.call(a, 0);
if (b) {
b.push.apply(b, a);
return b
}
return a
};
try {
array.prototype.slice.call(c.documentelement.childnodes, 0)[0].nodetype
} catch (t) {
s = function (a, b) {
var c = 0,
d = b || [];
if (g.call(a) === "[object array]") array.prototype.push.apply(d, a);
else if (typeof a.length == "number")
for (var e = a.length; c < e; c++) d.push(a[c]);
else
for (; a[c]; c++) d.push(a[c]);
return d
}
}
var u, v;
c.documentelement.comparedocumentposition ? u = function (a, b) {
if (a === b) {
h = !0;
return 0
}
if (!a.comparedocumentposition || !b.comparedocumentposition) return a.comparedocumentposition ? -1 : 1;
return a.comparedocumentposition(b) & 4 ? -1 : 1
} : (u = function (a, b) {
if (a === b) {
h = !0;
return 0
}
if (a.sourceindex && b.sourceindex) return a.sourceindex - b.sourceindex;
var c, d, e = [],
f = [],
g = a.parentnode,
i = b.parentnode,
j = g;
if (g === i) return v(a, b);
if (!g) return -1;
if (!i) return 1;
while (j) e.unshift(j), j = j.parentnode;
j = i;
while (j) f.unshift(j), j = j.parentnode;
c = e.length, d = f.length;
for (var k = 0; k < c && k < d; k++)
if (e[k] !== f[k]) return v(e[k], f[k]);
return k === c ? v(a, f[k], -1) : v(e[k], b, 1)
}, v = function (a, b, c) {
if (a === b) return c;
var d = a.nextsibling;
while (d) {
if (d === b) return -1;
d = d.nextsibling
}
return 1
}),
function () {
var a = c.createelement("div"),
d = "script" + (new date).gettime(),
e = c.documentelement;
a.innerhtml = "", e.insertbefore(a, e.firstchild), c.getelementbyid(d) && (o.find.id = function (a, c, d) {
if (typeof c.getelementbyid != "undefined" && !d) {
var e = c.getelementbyid(a[1]);
return e ? e.id === a[1] || typeof e.getattributenode != "undefined" && e.getattributenode("id").nodevalue === a[1] ? [e] : b : []
}
}, o.filter.id = function (a, b) {
var c = typeof a.getattributenode != "undefined" && a.getattributenode("id");
return a.nodetype === 1 && c && c.nodevalue === b
}), e.removechild(a), e = a = null
}(),
function () {
var a = c.createelement("div");
a.appendchild(c.createcomment("")), a.getelementsbytagname("*").length > 0 && (o.find.tag = function (a, b) {
var c = b.getelementsbytagname(a[1]);
if (a[1] === "*") {
var d = [];
for (var e = 0; c[e]; e++) c[e].nodetype === 1 && d.push(c[e]);
c = d
}
return c
}), a.innerhtml = "", a.firstchild && typeof a.firstchild.getattribute != "undefined" && a.firstchild.getattribute("href") !== "#" && (o.attrhandle.href = function (a) {
return a.getattribute("href", 2)
}), a = null
}(), c.queryselectorall && function () {
var a = m,
b = c.createelement("div"),
d = "__sizzle__";
b.innerhtml = "";
if (!b.queryselectorall || b.queryselectorall(".test").length !== 0) {
m = function (b, e, f, g) {
e = e || c;
if (!g && !m.isxml(e)) {
var h = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);
if (h && (e.nodetype === 1 || e.nodetype === 9)) {
if (h[1]) return s(e.getelementsbytagname(b), f);
if (h[2] && o.find.class && e.getelementsbyclassname) return s(e.getelementsbyclassname(h[2]), f)
}
if (e.nodetype === 9) {
if (b === "body" && e.body) return s([e.body], f);
if (h && h[3]) {
var i = e.getelementbyid(h[3]);
if (!i || !i.parentnode) return s([], f);
if (i.id === h[3]) return s([i], f)
}
try {
return s(e.queryselectorall(b), f)
} catch (j) {}
} else if (e.nodetype === 1 && e.nodename.tolowercase() !== "object") {
var k = e,
l = e.getattribute("id"),
n = l || d,
p = e.parentnode,
q = /^\s*[+~]/.test(b);
l ? n = n.replace(/'/g, "\\$&") : e.setattribute("id", n), q && p && (e = e.parentnode);
try {
if (!q || p) return s(e.queryselectorall("[id='" + n + "'] " + b), f)
} catch (r) {} finally {
l || k.removeattribute("id")
}
}
}
return a(b, e, f, g)
};
for (var e in a) m[e] = a[e];
b = null
}
}(),
function () {
var a = c.documentelement,
b = a.matchesselector || a.mozmatchesselector || a.webkitmatchesselector || a.msmatchesselector;
if (b) {
var d = !b.call(c.createelement("div"), "div"),
e = !1;
try {
b.call(c.documentelement, "[test!='']:sizzle")
} catch (f) {
e = !0
}
m.matchesselector = function (a, c) {
c = c.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']");
if (!m.isxml(a)) try {
if (e || !o.match.pseudo.test(c) && !/!=/.test(c)) {
var f = b.call(a, c);
if (f || !d || a.document && a.document.nodetype !== 11) return f
}
} catch (g) {}
return m(c, null, null, [a]).length > 0
}
}
}(),
function () {
var a = c.createelement("div");
a.innerhtml = "";
if (!!a.getelementsbyclassname && a.getelementsbyclassname("e").length !== 0) {
a.lastchild.classname = "e";
if (a.getelementsbyclassname("e").length === 1) return;
o.order.splice(1, 0, "class"), o.find.class = function (a, b, c) {
if (typeof b.getelementsbyclassname != "undefined" && !c) return b.getelementsbyclassname(a[1])
}, a = null
}
}(), c.documentelement.contains ? m.contains = function (a, b) {
return a !== b && (a.contains ? a.contains(b) : !0)
} : c.documentelement.comparedocumentposition ? m.contains = function (a, b) {
return !!(a.comparedocumentposition(b) & 16)
} : m.contains = function () {
return !1
}, m.isxml = function (a) {
var b = (a ? a.ownerdocument || a : 0).documentelement;
return b ? b.nodename !== "html" : !1
};
var y = function (a, b, c) {
var d, e = [],
f = "",
g = b.nodetype ? [b] : b;
while (d = o.match.pseudo.exec(a)) f += d[0], a = a.replace(o.match.pseudo, "");
a = o.relative[a] ? a + "*" : a;
for (var h = 0, i = g.length; h < i; h++) m(a, g[h], e, c);
return m.filter(f, e)
};
m.attr = f.attr, m.selectors.attrmap = {}, f.find = m, f.expr = m.selectors, f.expr[":"] = f.expr.filters, f.unique = m.uniquesort, f.text = m.gettext, f.isxmldoc = m.isxml, f.contains = m.contains
}();
var l = /until$/,
m = /^(?:parents|prevuntil|prevall)/,
n = /,/,
o = /^.[^:#\[\.,]*$/,
p = array.prototype.slice,
q = f.expr.match.globalpos,
r = {
children: !0,
contents: !0,
next: !0,
prev: !0
};
f.fn.extend({
find: function (a) {
var b = this,
c, d;
if (typeof a != "string") return f(a).filter(function () {
for (c = 0, d = b.length; c < d; c++)
if (f.contains(b[c], this)) return !0
});
var e = this.pushstack("", "find", a),
g, h, i;
for (c = 0, d = this.length; c < d; c++) {
g = e.length, f.find(a, this[c], e);
if (c > 0)
for (h = g; h < e.length; h++)
for (i = 0; i < g; i++)
if (e[i] === e[h]) {
e.splice(h--, 1);
break
}
}
return e
},
has: function (a) {
var b = f(a);
return this.filter(function () {
for (var a = 0, c = b.length; a < c; a++)
if (f.contains(this, b[a])) return !0
})
},
not: function (a) {
return this.pushstack(t(this, a, !1), "not", a)
},
filter: function (a) {
return this.pushstack(t(this, a, !0), "filter", a)
},
is: function (a) {
return !!a && (typeof a == "string" ? q.test(a) ? f(a, this.context).index(this[0]) >= 0 : f.filter(a, this).length > 0 : this.filter(a).length > 0)
},
closest: function (a, b) {
var c = [],
d, e, g = this[0];
if (f.isarray(a)) {
var h = 1;
while (g && g.ownerdocument && g !== b) {
for (d = 0; d < a.length; d++) f(g).is(a[d]) && c.push({
selector: a[d],
elem: g,
level: h
});
g = g.parentnode, h++
}
return c
}
var i = q.test(a) || typeof a != "string" ? f(a, b || this.context) : 0;
for (d = 0, e = this.length; d < e; d++) {
g = this[d];
while (g) {
if (i ? i.index(g) > -1 : f.find.matchesselector(g, a)) {
c.push(g);
break
}
g = g.parentnode;
if (!g || !g.ownerdocument || g === b || g.nodetype === 11) break
}
}
c = c.length > 1 ? f.unique(c) : c;
return this.pushstack(c, "closest", a)
},
index: function (a) {
if (!a) return this[0] && this[0].parentnode ? this.prevall().length : -1;
if (typeof a == "string") return f.inarray(this[0], f(a));
return f.inarray(a.jquery ? a[0] : a, this)
},
add: function (a, b) {
var c = typeof a == "string" ? f(a, b) : f.makearray(a && a.nodetype ? [a] : a),
d = f.merge(this.get(), c);
return this.pushstack(s(c[0]) || s(d[0]) ? d : f.unique(d))
},
andself: function () {
return this.add(this.prevobject)
}
}), f.each({
parent: function (a) {
var b = a.parentnode;
return b && b.nodetype !== 11 ? b : null
},
parents: function (a) {
return f.dir(a, "parentnode")
},
parentsuntil: function (a, b, c) {
return f.dir(a, "parentnode", c)
},
next: function (a) {
return f.nth(a, 2, "nextsibling")
},
prev: function (a) {
return f.nth(a, 2, "previoussibling")
},
nextall: function (a) {
return f.dir(a, "nextsibling")
},
prevall: function (a) {
return f.dir(a, "previoussibling")
},
nextuntil: function (a, b, c) {
return f.dir(a, "nextsibling", c)
},
prevuntil: function (a, b, c) {
return f.dir(a, "previoussibling", c)
},
siblings: function (a) {
return f.sibling((a.parentnode || {}).firstchild, a)
},
children: function (a) {
return f.sibling(a.firstchild)
},
contents: function (a) {
return f.nodename(a, "iframe") ? a.contentdocument || a.contentwindow.document : f.makearray(a.childnodes)
}
}, function (a, b) {
f.fn[a] = function (c, d) {
var e = f.map(this, b, c);
l.test(a) || (d = c), d && typeof d == "string" && (e = f.filter(d, e)), e = this.length > 1 && !r[a] ? f.unique(e) : e, (this.length > 1 || n.test(d)) && m.test(a) && (e = e.reverse());
return this.pushstack(e, a, p.call(arguments).join(","))
}
}), f.extend({
filter: function (a, b, c) {
c && (a = ":not(" + a + ")");
return b.length === 1 ? f.find.matchesselector(b[0], a) ? [b[0]] : [] : f.find.matches(a, b)
},
dir: function (a, c, d) {
var e = [],
g = a[c];
while (g && g.nodetype !== 9 && (d === b || g.nodetype !== 1 || !f(g).is(d))) g.nodetype === 1 && e.push(g), g = g[c];
return e
},
nth: function (a, b, c, d) {
b = b || 1;
var e = 0;
for (; a; a = a[c])
if (a.nodetype === 1 && ++e === b) break;
return a
},
sibling: function (a, b) {
var c = [];
for (; a; a = a.nextsibling) a.nodetype === 1 && a !== b && c.push(a);
return c
}
});
var v = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
w = / jquery\d+="(?:\d+|null)"/g,
x = /^\s+/,
y = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,
z = /<([\w:]+)/,
$ = /]", "i"),
bd = /checked\s*(?:[^=]|=\s*.checked.)/i,
be = /\/(java|ecma)script/i,
bf = /^\s*", ""],
legend: [1, ""],
thead: [1, "