function circlevertices(b) {
b *= 20;
var c = [];
c.push({
x: -b / 20,
y: 0
});
for (var d = -b + 1, d = Math.sqrt(b * b - d * d), e = 1; e <= d; e++) {
var f = e,
j = Math.sqrt(b * b - f * f);
1 > b - j && c.push({
x: -j / 20,
y: -f / 20
})
}
for (e = -b + 1; e <= b - 1; e++) j = e, f = Math.sqrt(b * b - j * j), c.push({
x: j / 20,
y: -f / 20
});
for (e = d; 1 <= e; e--) f = e, j = Math.sqrt(b * b - f * f), 1 > b - j && c.push({
x: j / 20,
y: -f / 20
});
c.push({
x: b / 20,
y: 0
});
for (e = 1; e <= d; e++) f = e, j = Math.sqrt(b * b - f * f), 1 > b - j && c.push({
x: j / 20,
y: f / 20
});
for (e = b - 1; e > -b + 1; e--) j = e, f = Math.sqrt(b * b - j * j), c.push({
x: j / 20,
y: f / 20
});
for (e = d; 1 <= e; e--) f = e, j = Math.sqrt(b * b - f * f), 1 > b - j && c.push({
x: -j / 20,
y: f / 20
});
return c
}
var _STRINGS = {
Ad: {
Mobile: {
Preroll: {
ReadyIn: "The game is ready in ",
Loading: "Your game is loading...",
Close: "Close"
},
Header: {
ReadyIn: "The game is ready in ",
Loading: "Your game is loading...",
Close: "Close"
},
End: {
ReadyIn: "Advertisement ends in ",
Loading: "Please wait ...",
Close: "Close"
}
}
},
Splash: {
Loading: "Loading ...",
LogoLine1: "Some text here",
LogoLine2: "powered by mobiltr",
LogoLine3: "none"
},
Game: {
Play: "Play",
Continue: "Continue",
Ask: "Learn how to play?",
Yes: "Yes",
No: "No",
Area: "Out of Bounds !",
Water: "Water Hazard",
Hole: "Hole",
Par: "Par",
Strokes: "Strokes",
Overal: "Overall
Score",
Holecomplete: "Hole Complete!",
Holeinone: "Hole In One!",
Paused: "Paused",
Music: "Music",
Sound: "Sound"
},
Tutorial: {
"0": "Basic Training",
1: "Let's learn how to play.",
2: "Press and hold left button to turn
arrow counterclockwise.",
3: "Now press and hold right button to turn
arrow clockwise.",
4: "Well done!",
5: "Try to drag the screen left or right
to see your target hole.
You can also drag up and down.",
6: "Press power button to increase your
hitting power.",
7: 'Press "Go!" to hit the ball.',
8: "Repeat until the ball gets into the hole.",
9: "Congratulations!
You finished the basic training.
Let's play!",
10: ""
},
Results: {
Course: "Course Complete !",
Par: "Par",
Yourscore: "Your Score",
Bestscore: "Best Score"
}
};
var _SETTINGS = {
API: {
Enabled: !1,
Log: {
Events: {
InitializeGame: !1,
EndGame: !1,
Level: {
Begin: !0,
End: !0,
Win: !0,
Lose: !0,
Draw: !0
}
}
}
},
Ad: {
Mobile: {
Preroll: {
Enabled: 0,
Duration: 5,
Width: 300,
Height: 250,
Rotation: {
Enabled: !1,
Weight: {
MobileAdInGamePreroll: 999999,
MobileAdInGamePreroll2: 999999,
MobileAdInGamePreroll3: 999999
}
}
},
Header: {
Enabled: !1,
Duration: 5,
Width: 320,
Height: 50,
Rotation: {
Enabled: !1,
Weight: {
MobileAdInGameHeader: 40,
MobileAdInGameHeader2: 40,
MobileAdInGameHeader3: 20
}
}
},
Footer: {
Enabled: !1,
Duration: 5,
Width: 320,
Height: 50,
Rotation: {
Enabled: !1,
Weight: {
MobileAdInGameFooter: 40,
MobileAdInGameFooter2: 40,
MobileAdInGameFooter3: 20
}
}
},
End: {
Enabled: !1,
Duration: 1,
Width: 300,
Height: 250,
Rotation: {
Enabled: !1,
Weight: {
MobileAdInGameEnd: 40,
MobileAdInGameEnd2: 40,
MobileAdInGameEnd3: 20
}
}
}
}
},
Language: {
Default: "en"
},
DeveloperBranding: {
Splash: {
Enabled: !1
},
Logo: {
Enabled: !1,
Link: "https://www.yiv.com/",
LinkEnabled: !1,
NewWindow: !0,
Width: 166,
Height: 61
}
},
Branding: {
Splash: {
Enabled: !1
},
Logo: {
Enabled: !1,
Link: "https://www.yiv.com",
LinkEnabled: !0,
NewWindow: !0,
Width: 280,
Height: 34
}
},
MoreGames: {
Enabled: !1,
Link: "../../../www.mobiltr.com/game/links/mobile.html",
NewWindow: !0
},
Gamecenter: {
Enabled: !1
}
};
var MobileAdInGamePreroll = {};
var MobileAdInGameHeader = {};
var MobileAdInGameFooter = {};
var MobileAdInGameEnd = {};
(function(b, c) {
function d(b, d, g) {
if (g === c && 1 === b.nodeType)
if (g = "data-" + d.replace(vb, "-$1").toLowerCase(), g = b.getAttribute(g), "string" == typeof g) {
try {
g = "true" === g ? !0 : "false" === g ? !1 : "null" === g ? null : +g + "" === g ? +g : wb.test(g) ? m.parseJSON(g) : g
} catch (l) {}
m.data(b, d, g)
} else g = c;
return g
}
function e(b) {
for (var c in b)
if (!("data" === c && m.isEmptyObject(b[c])) && "toJSON" !== c) return !1;
return !0
}
function f() {
return !1
}
function j() {
return !0
}
function q(b) {
return !b || !b.parentNode || 11 === b.parentNode.nodeType
}
function n(b, c) {
do b = b[c]; while (b && 1 !== b.nodeType);
return b
}
function g(b, c, d) {
c = c || 0;
if (m.isFunction(c)) return m.grep(b, function(b, ba) {
return !!c.call(b, ba, b) === d
});
if (c.nodeType) return m.grep(b, function(b) {
return b === c === d
});
if ("string" == typeof c) {
var g = m.grep(b, function(b) {
return 1 === b.nodeType
});
if (Oc.test(c)) return m.filter(c, g, !d);
c = m.filter(c, g)
}
return m.grep(b, function(b) {
return 0 <= m.inArray(b, c) === d
})
}
function y(b) {
var c = kc.split("|");
b = b.createDocumentFragment();
if (b.createElement)
for (; c.length;) b.createElement(c.pop());
return b
}
function A(b, c) {
if (1 === c.nodeType && m.hasData(b)) {
var d, g, l;
g = m._data(b);
var e = m._data(c, g),
s = g.events;
if (s)
for (d in delete e.handle, e.events = {}, s) {
g = 0;
for (l = s[d].length; g < l; g++) m.event.add(c, d, s[d][g])
}
e.data && (e.data = m.extend({}, e.data))
}
}
function z(b, c) {
var d;
1 === c.nodeType && (c.clearAttributes && c.clearAttributes(), c.mergeAttributes && c.mergeAttributes(b), d = c.nodeName.toLowerCase(), "object" === d ? (c.parentNode && (c.outerHTML = b.outerHTML), m.support.html5Clone && b.innerHTML && !m.trim(c.innerHTML) && (c.innerHTML = b.innerHTML)) : "input" === d && lc.test(b.type) ? (c.defaultChecked = c.checked = b.checked, c.value !== b.value && (c.value = b.value)) : "option" === d ? c.selected = b.defaultSelected : "input" === d || "textarea" === d ? c.defaultValue = b.defaultValue : "script" === d && c.text !== b.text && (c.text = b.text), c.removeAttribute(m.expando))
}
function B(b) {
return "undefined" != typeof b.getElementsByTagName ? b.getElementsByTagName("*") : "undefined" != typeof b.querySelectorAll ? b.querySelectorAll("*") : []
}
function C(b) {
lc.test(b.type) && (b.defaultChecked = b.checked)
}
function G(b, c) {
if (c in b) return c;
for (var d = c.charAt(0).toUpperCase() + c.slice(1), m = c, g = mc.length; g--;)
if (c = mc[g] + d, c in b) return c;
return m
}
function I(b, c) {
return b = c || b, "none" === m.css(b, "display") || !m.contains(b.ownerDocument, b)
}
function u(b, c) {
for (var d, g, l = [], e = 0, s = b.length; e < s; e++) d = b[e], d.style && (l[e] = m._data(d, "olddisplay"), c ? (!l[e] && "none" === d.style.display && (d.style.display = ""), "" === d.style.display && I(d) && (l[e] = m._data(d, "olddisplay", M(d.nodeName)))) : (g = ha(d, "display"), !l[e] && "none" !== g && m._data(d, "olddisplay", g)));
for (e = 0; e < s; e++)
if (d = b[e], d.style && (!c || "none" === d.style.display || "" === d.style.display)) d.style.display = c ? l[e] || "" : "none";
return b
}
function L(b, c, d) {
return (b = Pc.exec(c)) ? Math.max(0, b[1] - (d || 0)) + (b[2] || "px") : c
}
function E(b, c, d, g) {
c = d === (g ? "border" : "content") ? 4 : "width" === c ? 1 : 0;
for (var l = 0; 4 > c; c += 2) "margin" === d && (l += m.css(b, d + Ba[c], !0)), g ? ("content" === d && (l -= parseFloat(ha(b, "padding" + Ba[c])) || 0), "margin" !== d && (l -= parseFloat(ha(b, "border" + Ba[c] + "Width")) || 0)) : (l += parseFloat(ha(b, "padding" + Ba[c])) || 0, "padding" !== d && (l += parseFloat(ha(b, "border" + Ba[c] + "Width")) || 0));
return l
}
function Q(b, c, d) {
var g = "width" === c ? b.offsetWidth : b.offsetHeight,
l = !0,
e = m.support.boxSizing && "border-box" === m.css(b, "boxSizing");
if (0 >= g || null == g) {
g = ha(b, c);
if (0 > g || null == g) g = b.style[c];
if (xb.test(g)) return g;
l = e && (m.support.boxSizingReliable || g === b.style[c]);
g = parseFloat(g) || 0
}
return g + E(b, c, d || (e ? "border" : "content"), l) + "px"
}
function M(b) {
if (Qb[b]) return Qb[b];
var c = m("<" + b + ">").appendTo(J.body),
d = c.css("display");
c.remove();
if ("none" === d || "" === d) {
Ka = J.body.appendChild(Ka || m.extend(J.createElement("iframe"), {
frameBorder: 0,
width: 0,
height: 0
}));
if (!La || !Ka.createElement) La = (Ka.contentWindow || Ka.contentDocument).document, La.write("
"), La.close();
c = La.body.appendChild(La.createElement(b));
d = ha(c, "display");
J.body.removeChild(Ka)
}
return Qb[b] = d, d
}
function R(b, c, d, g) {
var l;
if (m.isArray(c)) m.each(c, function(c, Ja) {
d || Qc.test(b) ? g(b, Ja) : R(b + "[" + ("object" == typeof Ja ? c : "") + "]", Ja, d, g)
});
else if (!d && "object" === m.type(c))
for (l in c) R(b + "[" + l + "]", c[l], d, g);
else g(b, c)
}
function K(b) {
return function(c, d) {
"string" != typeof c && (d = c, c = "*");
var g, l, e = c.toLowerCase().split(qa),
s = 0,
f = e.length;
if (m.isFunction(d))
for (; s < f; s++) g = e[s], (l = /^\+/.test(g)) && (g = g.substr(1) || "*"), g = b[g] = b[g] || [], g[l ? "unshift" : "push"](d)
}
}
function X(b, d, m, g, l, e) {
l = l || d.dataTypes[0];
e = e || {};
e[l] = !0;
var s;
l = b[l];
for (var f = 0, r = l ? l.length : 0, p = b === Rb; f < r && (p || !s); f++) s = l[f](d, m, g), "string" == typeof s && (!p || e[s] ? s = c : (d.dataTypes.unshift(s), s = X(b, d, m, g, s, e)));
return (p || !s) && !e["*"] && (s = X(b, d, m, g, "*", e)), s
}
function P(b, d) {
var g, l, e = m.ajaxSettings.flatOptions || {};
for (g in d) d[g] !== c && ((e[g] ? b : l || (l = {}))[g] = d[g]);
l && m.extend(!0, b, l)
}
function S() {
try {
return new b.XMLHttpRequest
} catch (c) {}
}
function Z() {
return setTimeout(function() {
yb = c
}, 0), yb = m.now()
}
function U(b, c, d) {
var g, l = 0,
e = zb.length,
s = m.Deferred().always(function() {
delete f.elem
}),
f = function() {
for (var c = yb || Z(), c = Math.max(0, p.startTime + p.duration - c), d = 1 -
(c / p.duration || 0), g = 0, Ja = p.tweens.length; g < Ja; g++) p.tweens[g].run(d);
return s.notifyWith(b, [p, d, c]), 1 > d && Ja ? c : (s.resolveWith(b, [p]), !1)
},
p = s.promise({
elem: b,
props: m.extend({}, c),
opts: m.extend(!0, {
specialEasing: {}
}, d),
originalProperties: c,
originalOptions: d,
startTime: yb || Z(),
duration: d.duration,
tweens: [],
createTween: function(c, d) {
var g = m.Tween(b, p.opts, c, d, p.opts.specialEasing[c] || p.opts.easing);
return p.tweens.push(g), g
},
stop: function(c) {
for (var d = 0, g = c ? p.tweens.length : 0; d < g; d++) p.tweens[d].run(1);
return c ? s.resolveWith(b, [p, c]) : s.rejectWith(b, [p, c]), this
}
});
c = p.props;
d = p.opts.specialEasing;
var r, j, n, F;
for (g in c)
if (r = m.camelCase(g), j = d[r], n = c[g], m.isArray(n) && (j = n[1], n = c[g] = n[0]), g !== r && (c[r] = n, delete c[g]), (F = m.cssHooks[r]) && "expand" in F)
for (g in n = F.expand(n), delete c[r], n) g in c || (c[g] = n[g], d[g] = j);
else d[r] = j;
for (; l < e; l++)
if (g = zb[l].call(p, b, c, p.opts)) return g;
var v = p;
m.each(c, function(b, c) {
for (var ba = (bb[b] || []).concat(bb["*"]), d = 0, g = ba.length; d < g && !ba[d].call(v, b, c); d++);
});
return m.isFunction(p.opts.start) && p.opts.start.call(b, p), m.fx.timer(m.extend(f, {
anim: p,
queue: p.opts.queue,
elem: b
})), p.progress(p.opts.progress).done(p.opts.done, p.opts.complete).fail(p.opts.fail).always(p.opts.always)
}
function p(b, c, d, g, m) {
return new p.prototype.init(b, c, d, g, m)
}
function v(b, c) {
var d, g = {
height: b
},
m = 0;
for (c = c ? 1 : 0; 4 > m; m += 2 - c) d = Ba[m], g["margin" + d] = g["padding" + d] = b;
return c && (g.opacity = g.width = b), g
}
function H(b) {
return m.isWindow(b) ? b : 9 === b.nodeType ? b.defaultView || b.parentWindow : !1
}
var D, N, J = b.document,
V = b.location,
l = b.navigator,
r = b.jQuery,
O = b.$,
s = Array.prototype.push,
F = Array.prototype.slice,
aa = Array.prototype.indexOf,
T = Object.prototype.toString,
ka = Object.prototype.hasOwnProperty,
ca = String.prototype.trim,
m = function(b, c) {
return new m.fn.init(b, c, D)
},
la = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,
Ma = /\S/,
qa = /\s+/,
Ab = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
cb = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,
Na = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
Bb = /^[\],:{}\s]*$/,
Cb = /(?:^|:|,)(?:\s*\[)+/g,
db = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,
eb = /"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,
fb = /^-ms-/,
Db = /-([\da-z])/gi,
gb = function(b, c) {
return (c + "").toUpperCase()
},
Ca = function() {
J.addEventListener ? (J.removeEventListener("DOMContentLoaded", Ca, !1), m.ready()) : "complete" === J.readyState && (J.detachEvent("onreadystatechange", Ca), m.ready())
},
Oa = {};
m.fn = m.prototype = {
constructor: m,
init: function(b, d, g) {
var l, e;
if (!b) return this;
if (b.nodeType) return this.context = this[0] = b, this.length = 1, this;
if ("string" == typeof b) {
"<" === b.charAt(0) && ">" === b.charAt(b.length - 1) && 3 <= b.length ? l = [null, b, null] : l = cb.exec(b);
if (l && (l[1] || !d)) {
if (l[1]) return d = d instanceof m ? d[0] : d, e = d && d.nodeType ? d.ownerDocument || d : J, b = m.parseHTML(l[1], e, !0), Na.test(l[1]) && m.isPlainObject(d) && this.attr.call(b, d, !0), m.merge(this, b);
if ((d = J.getElementById(l[2])) && d.parentNode) {
if (d.id !== l[2]) return g.find(b);
this.length = 1;
this[0] = d
}
return this.context = J, this.selector = b, this
}
return !d || d.jquery ? (d || g).find(b) : this.constructor(d).find(b)
}
return m.isFunction(b) ? g.ready(b) : (b.selector !== c && (this.selector = b.selector, this.context = b.context), m.makeArray(b, this))
},
selector: "",
jquery: "1.8.2",
length: 0,
size: function() {
return this.length
},
toArray: function() {
return F.call(this)
},
get: function(b) {
return null == b ? this.toArray() : 0 > b ? this[this.length + b] : this[b]
},
pushStack: function(b, c, d) {
b = m.merge(this.constructor(), b);
return b.prevObject = this, b.context = this.context, "find" === c ? b.selector = this.selector + (this.selector ? " " : "") + d : c && (b.selector = this.selector + "." + c + "(" + d + ")"), b
},
each: function(b, c) {
return m.each(this, b, c)
},
ready: function(b) {
return m.ready.promise().done(b), this
},
eq: function(b) {
return b = +b, -1 === b ? this.slice(b) : this.slice(b, b + 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(b) {
return this.pushStack(m.map(this, function(c, d) {
return b.call(c, d, c)
}))
},
end: function() {
return this.prevObject || this.constructor(null)
},
push: s,
sort: [].sort,
splice: [].splice
};
m.fn.init.prototype = m.fn;
m.extend = m.fn.extend = function() {
var b, d, g, l, e, s, f = arguments[0] || {},
p = 1,
r = arguments.length,
j = !1;
"boolean" == typeof f && (j = f, f = arguments[1] || {}, p = 2);
"object" != typeof f && !m.isFunction(f) && (f = {});
for (r === p && (f = this, --p); p < r; p++)
if (null != (b = arguments[p]))
for (d in b) g = f[d], l = b[d], f !== l && (j && l && (m.isPlainObject(l) || (e = m.isArray(l))) ? (e ? (e = !1, s = g && m.isArray(g) ? g : []) : s = g && m.isPlainObject(g) ? g : {}, f[d] = m.extend(j, s, l)) : l !== c && (f[d] = l));
return f
};
m.extend({
noConflict: function(c) {
return b.$ === m && (b.$ = O), c && b.jQuery === m && (b.jQuery = r), m
},
isReady: !1,
readyWait: 1,
holdReady: function(b) {
b ? m.readyWait++ : m.ready(!0)
},
ready: function(b) {
if (!(!0 === b ? --m.readyWait : m.isReady)) {
if (!J.body) return setTimeout(m.ready, 1);
m.isReady = !0;
!0 !== b && 0 < --m.readyWait || (N.resolveWith(J, [m]), m.fn.trigger && m(J).trigger("ready").off("ready"))
}
},
isFunction: function(b) {
return "function" === m.type(b)
},
isArray: Array.isArray || function(b) {
return "array" === m.type(b)
},
isWindow: function(b) {
return null != b && b == b.window
},
isNumeric: function(b) {
return !isNaN(parseFloat(b)) && isFinite(b)
},
type: function(b) {
return null == b ? String(b) : Oa[T.call(b)] || "object"
},
isPlainObject: function(b) {
if (!b || "object" !== m.type(b) || b.nodeType || m.isWindow(b)) return !1;
try {
if (b.constructor && !ka.call(b, "constructor") && !ka.call(b.constructor.prototype, "isPrototypeOf")) return !1
} catch (d) {
return !1
}
for (var g in b);
return g === c || ka.call(b, g)
},
isEmptyObject: function(b) {
for (var c in b) return !1;
return !0
},
error: function(b) {
throw Error(b);
},
parseHTML: function(b, c, d) {
var g;
return !b || "string" != typeof b ? null : ("boolean" == typeof c && (d = c, c = 0), c = c || J, (g = Na.exec(b)) ? [c.createElement(g[1])] : (g = m.buildFragment([b], c, d ? null : []), m.merge([], (g.cacheable ? m.clone(g.fragment) : g.fragment).childNodes)))
},
parseJSON: function(c) {
if (!c || "string" != typeof c) return null;
c = m.trim(c);
if (b.JSON && b.JSON.parse) return b.JSON.parse(c);
if (Bb.test(c.replace(db, "@").replace(eb, "]").replace(Cb, ""))) return (new Function("return " + c))();
m.error("Invalid JSON: " + c)
},
parseXML: function(ba) {
var d, g;
if (!ba || "string" != typeof ba) return null;
try {
b.DOMParser ? (g = new DOMParser, d = g.parseFromString(ba, "text/xml")) : (d = new ActiveXObject("Microsoft.XMLDOM"), d.async = "false", d.loadXML(ba))
} catch (l) {
d = c
}
return (!d || !d.documentElement || d.getElementsByTagName("parsererror").length) && m.error("Invalid XML: " + ba), d
},
noop: function() {},
globalEval: function(c) {
c && Ma.test(c) && (b.execScript || function(c) {
b.eval.call(b, c)
})(c)
},
camelCase: function(b) {
return b.replace(fb, "ms-").replace(Db, gb)
},
nodeName: function(b, c) {
return b.nodeName && b.nodeName.toLowerCase() === c.toLowerCase()
},
each: function(b, d, g) {
var l, e = 0,
s = b.length,
f = s === c || m.isFunction(b);
if (g)
if (f)
for (l in b) {
if (!1 === d.apply(b[l], g)) break
} else
for (; e < s && !1 !== d.apply(b[e++], g););
else if (f)
for (l in b) {
if (!1 === d.call(b[l], l, b[l])) break
} else
for (; e < s && !1 !== d.call(b[e], e, b[e++]););
return b
},
trim: ca && !ca.call("\ufeff\u00a0") ? function(b) {
return null == b ? "" : ca.call(b)
} : function(b) {
return null == b ? "" : (b + "").replace(Ab, "")
},
makeArray: function(b, c) {
var d, g = c || [];
return null != b && (d = m.type(b), null == b.length || "string" === d || "function" === d || "regexp" === d || m.isWindow(b) ? s.call(g, b) : m.merge(g, b)), g
},
inArray: function(b, c, d) {
var g;
if (c) {
if (aa) return aa.call(c, b, d);
g = c.length;
for (d = d ? 0 > d ? Math.max(0, g + d) : d : 0; d < g; d++)
if (d in c && c[d] === b) return d
}
return -1
},
merge: function(b, d) {
var g = d.length,
m = b.length,
l = 0;
if ("number" == typeof g)
for (; l < g; l++) b[m++] = d[l];
else
for (; d[l] !== c;) b[m++] = d[l++];
return b.length = m, b
},
grep: function(b, c, d) {
var g, m = [],
l = 0,
e = b.length;
for (d = !!d; l < e; l++) g = !!c(b[l], l), d !== g && m.push(b[l]);
return m
},
map: function(b, d, g) {
var l, e, s = [],
f = 0,
p = b.length;
if (b instanceof m || p !== c && "number" == typeof p && (0 < p && b[0] && b[p - 1] || 0 === p || m.isArray(b)))
for (; f < p; f++) l = d(b[f], f, g), null != l && (s[s.length] = l);
else
for (e in b) l = d(b[e], e, g), null != l && (s[s.length] = l);
return s.concat.apply([], s)
},
guid: 1,
proxy: function(b, d) {
var g, l, e;
return "string" == typeof d && (g = b[d], d = b, b = g), m.isFunction(b) ? (l = F.call(arguments, 2), e = function() {
return b.apply(d, l.concat(F.call(arguments)))
}, e.guid = b.guid = b.guid || m.guid++, e) : c
},
access: function(b, d, g, l, e, s, f) {
var p, r = null == g,
j = 0,
n = b.length;
if (g && "object" == typeof g) {
for (j in g) m.access(b, d, j, g[j], 1, s, l);
e = 1
} else if (l !== c) {
p = f === c && m.isFunction(l);
r && (p ? (p = d, d = function(b, c, d) {
return p.call(m(b), d)
}) : (d.call(b, l), d = null));
if (d)
for (; j < n; j++) d(b[j], g, p ? l.call(b[j], j, d(b[j], g)) : l, f);
e = 1
}
return e ? b : r ? d.call(b) : n ? d(b[0], g) : s
},
now: function() {
return (new Date).getTime()
}
});
m.ready.promise = function(c) {
if (!N)
if (N = m.Deferred(), "complete" === J.readyState) setTimeout(m.ready, 1);
else if (J.addEventListener) J.addEventListener("DOMContentLoaded", Ca, !1), b.addEventListener("load", m.ready, !1);
else {
J.attachEvent("onreadystatechange", Ca);
b.attachEvent("onload", m.ready);
var d = !1;
try {
d = null == b.frameElement && J.documentElement
} catch (g) {}
d && d.doScroll && function Nc() {
if (!m.isReady) {
try {
d.doScroll("left")
} catch (b) {
return setTimeout(Nc, 50)
}
m.ready()
}
}()
}
return N.promise(c)
};
m.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(b, c) {
Oa["[object " + c + "]"] = c.toLowerCase()
});
D = m(J);
var Pa = {};
m.Callbacks = function(b) {
var d;
if ("string" == typeof b) {
if (!(d = Pa[b])) {
d = b;
var g = Pa[d] = {};
d = (m.each(d.split(qa), function(b, c) {
g[c] = !0
}), g)
}
} else d = m.extend({}, b);
b = d;
var l, e, s, f, p, r, j = [],
n = !b.once && [],
F = function(c) {
l = b.memory && c;
e = !0;
r = f || 0;
f = 0;
p = j.length;
for (s = !0; j && r < p; r++)
if (!1 === j[r].apply(c[0], c[1]) && b.stopOnFalse) {
l = !1;
break
}
s = !1;
j && (n ? n.length && F(n.shift()) : l ? j = [] : v.disable())
},
v = {
add: function() {
if (j) {
var c = j.length;
(function Rc(c) {
m.each(c, function(c, d) {
var g = m.type(d);
"function" === g && (!b.unique || !v.has(d)) ? j.push(d) : d && d.length && "string" !== g && Rc(d)
})
})(arguments);
s ? p = j.length : l && (f = c, F(l))
}
return this
},
remove: function() {
return j && m.each(arguments, function(b, c) {
for (var d; - 1 < (d = m.inArray(c, j, d));) j.splice(d, 1), s && (d <= p && p--, d <= r && r--)
}), this
},
has: function(b) {
return -1 < m.inArray(b, j)
},
empty: function() {
return j = [], this
},
disable: function() {
return j = n = l = c, this
},
disabled: function() {
return !j
},
lock: function() {
return n = c, l || v.disable(), this
},
locked: function() {
return !n
},
fireWith: function(b, c) {
return c = c || [], c = [b, c.slice ? c.slice() : c], j && (!e || n) && (s ? n.push(c) : F(c)), this
},
fire: function() {
return v.fireWith(this, arguments), this
},
fired: function() {
return !!e
}
};
return v
};
m.extend({
Deferred: function(b) {
var c = [
["resolve", "done", m.Callbacks("once memory"), "resolved"],
["reject", "fail", m.Callbacks("once memory"), "rejected"],
["notify", "progress", m.Callbacks("memory")]
],
d = "pending",
g = {
state: function() {
return d
},
always: function() {
return l.done(arguments).fail(arguments), this
},
then: function() {
var b = arguments;
return m.Deferred(function(d) {
m.each(c, function(c, ba) {
var g = ba[0],
e = b[c];
l[ba[1]](m.isFunction(e) ? function() {
var b = e.apply(this, arguments);
b && m.isFunction(b.promise) ? b.promise().done(d.resolve).fail(d.reject).progress(d.notify) : d[g + "With"](this === l ? d : this, [b])
} : d[g])
});
b = null
}).promise()
},
promise: function(b) {
return null != b ? m.extend(b, g) : g
}
},
l = {};
return g.pipe = g.then, m.each(c, function(b, ba) {
var m = ba[2],
e = ba[3];
g[ba[1]] = m.add;
e && m.add(function() {
d = e
}, c[b ^ 1][2].disable, c[2][2].lock);
l[ba[0]] = m.fire;
l[ba[0] + "With"] = m.fireWith
}), g.promise(l), b && b.call(l, l), l
},
when: function(b) {
var c = 0,
d = F.call(arguments),
g = d.length,
l = 1 !== g || b && m.isFunction(b.promise) ? g : 0,
e = 1 === l ? b : m.Deferred(),
s = function(b, c, d) {
return function(ba) {
c[b] = this;
d[b] = 1 < arguments.length ? F.call(arguments) : ba;
d === f ? e.notifyWith(c, d) : --l || e.resolveWith(c, d)
}
},
f, p, r;
if (1 < g) {
f = Array(g);
p = Array(g);
for (r = Array(g); c < g; c++) d[c] && m.isFunction(d[c].promise) ? d[c].promise().done(s(c, r, d)).fail(e.reject).progress(s(c, p, f)) : --l
}
return l || e.resolveWith(r, d), e.promise()
}
});
var Eb = m,
Qa, ea, Da, ra, wa, Ea, ga, sa, Fa, Ra, ua, hb, Y = J.createElement("div");
Y.setAttribute("className", "t");
Y.innerHTML = " a";
Da = Y.getElementsByTagName("*");
ra = Y.getElementsByTagName("a")[0];
ra.style.cssText = "top:1px;float:left;opacity:.5";
if (!Da || !Da.length) Qa = {};
else {
wa = J.createElement("select");
Ea = wa.appendChild(J.createElement("option"));
ga = Y.getElementsByTagName("input")[0];
ea = {
leadingWhitespace: 3 === Y.firstChild.nodeType,
tbody: !Y.getElementsByTagName("tbody").length,
htmlSerialize: !!Y.getElementsByTagName("link").length,
style: /top/.test(ra.getAttribute("style")),
hrefNormalized: "/a" === ra.getAttribute("href"),
opacity: /^0.5/.test(ra.style.opacity),
cssFloat: !!ra.style.cssFloat,
checkOn: "on" === ga.value,
optSelected: Ea.selected,
getSetAttribute: "t" !== Y.className,
enctype: !!J.createElement("form").enctype,
html5Clone: "<:nav>" !== J.createElement("nav").cloneNode(!0).outerHTML,
boxModel: "CSS1Compat" === J.compatMode,
submitBubbles: !0,
changeBubbles: !0,
focusinBubbles: !1,
deleteExpando: !0,
noCloneEvent: !0,
inlineBlockNeedsLayout: !1,
shrinkWrapBlocks: !1,
reliableMarginRight: !0,
boxSizingReliable: !0,
pixelPosition: !1
};
ga.checked = !0;
ea.noCloneChecked = ga.cloneNode(!0).checked;
wa.disabled = !0;
ea.optDisabled = !Ea.disabled;
try {
delete Y.test
} catch (Sb) {
ea.deleteExpando = !1
}!Y.addEventListener && Y.attachEvent && Y.fireEvent && (Y.attachEvent("onclick", hb = function() {
ea.noCloneEvent = !1
}), Y.cloneNode(!0).fireEvent("onclick"), Y.detachEvent("onclick", hb));
ga = J.createElement("input");
ga.value = "t";
ga.setAttribute("type", "radio");
ea.radioValue = "t" === ga.value;
ga.setAttribute("checked", "checked");
ga.setAttribute("name", "t");
Y.appendChild(ga);
sa = J.createDocumentFragment();
sa.appendChild(Y.lastChild);
ea.checkClone = sa.cloneNode(!0).cloneNode(!0).lastChild.checked;
ea.appendChecked = ga.checked;
sa.removeChild(ga);
sa.appendChild(Y);
if (Y.attachEvent)
for (Ra in {
submit: !0,
change: !0,
focusin: !0
}) Fa = "on" + Ra, (ua = Fa in Y) || (Y.setAttribute(Fa, "return;"), ua = "function" == typeof Y[Fa]), ea[Ra + "Bubbles"] = ua;
Qa = (m(function() {
var c, d, g, l, m = J.getElementsByTagName("body")[0];
m && (c = J.createElement("div"), c.style.cssText = "visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px", m.insertBefore(c, m.firstChild), d = J.createElement("div"), c.appendChild(d), d.innerHTML = "", g = d.getElementsByTagName("td"), g[0].style.cssText = "padding:0;margin:0;border:0;display:none", ua = 0 === g[0].offsetHeight, g[0].style.display = "", g[1].style.display = "none", ea.reliableHiddenOffsets = ua && 0 === g[0].offsetHeight, d.innerHTML = "", d.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%;", ea.boxSizing = 4 === d.offsetWidth, ea.doesNotIncludeMarginInBodyOffset = 1 !== m.offsetTop, b.getComputedStyle && (ea.pixelPosition = "1%" !== (b.getComputedStyle(d, null) || {}).top, ea.boxSizingReliable = "4px" === (b.getComputedStyle(d, null) || {
width: "4px"
}).width, l = J.createElement("div"), l.style.cssText = d.style.cssText = "padding:0;margin:0;border:0;display:block;overflow:hidden;", l.style.marginRight = l.style.width = "0", d.style.width = "1px", d.appendChild(l), ea.reliableMarginRight = !parseFloat((b.getComputedStyle(l, null) || {}).marginRight)), "undefined" != typeof d.style.zoom && (d.innerHTML = "", d.style.cssText = "padding:0;margin:0;border:0;display:block;overflow:hidden;width:1px;padding:1px;display:inline;zoom:1", ea.inlineBlockNeedsLayout = 3 === d.offsetWidth, d.style.display = "block", d.style.overflow = "visible", d.innerHTML = "", d.firstChild.style.width = "5px", ea.shrinkWrapBlocks = 3 !== d.offsetWidth, c.style.zoom = 1), m.removeChild(c))
}), sa.removeChild(Y), Da = ra = wa = Ea = ga = sa = Y = null, ea)
}
Eb.support = Qa;
var wb = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/,
vb = /([A-Z])/g;
m.extend({
cache: {},
deletedIds: [],
uuid: 0,
expando: "jQuery" + (m.fn.jquery + Math.random()).replace(/\D/g, ""),
noData: {
embed: !0,
object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
applet: !0
},
hasData: function(b) {
return b = b.nodeType ? m.cache[b[m.expando]] : b[m.expando], !!b && !e(b)
},
data: function(b, d, g, l) {
if (m.acceptData(b)) {
var e, s, f = m.expando,
p = "string" == typeof d,
r = b.nodeType,
j = r ? m.cache : b,
n = r ? b[f] : b[f] && f;
if (n && j[n] && (l || j[n].data) || !(p && g === c)) {
n || (r ? b[f] = n = m.deletedIds.pop() || m.guid++ : n = f);
j[n] || (j[n] = {}, r || (j[n].toJSON = m.noop));
if ("object" == typeof d || "function" == typeof d) l ? j[n] = m.extend(j[n], d) : j[n].data = m.extend(j[n].data, d);
return e = j[n], l || (e.data || (e.data = {}), e = e.data), g !== c && (e[m.camelCase(d)] = g), p ? (s = e[d], null == s && (s = e[m.camelCase(d)])) : s = e, s
}
}
},
removeData: function(b, c, d) {
if (m.acceptData(b)) {
var g, l, s, f = b.nodeType,
p = f ? m.cache : b,
r = f ? b[m.expando] : m.expando;
if (p[r]) {
if (c && (g = d ? p[r] : p[r].data)) {
m.isArray(c) || (c in g ? c = [c] : (c = m.camelCase(c), c in g ? c = [c] : c = c.split(" ")));
l = 0;
for (s = c.length; l < s; l++) delete g[c[l]];
if (!(d ? e : m.isEmptyObject)(g)) return
}
if (d || !(delete p[r].data, !e(p[r]))) f ? m.cleanData([b], !0) : m.support.deleteExpando || p != p.window ? delete p[r] : p[r] = null
}
}
},
_data: function(b, c, d) {
return m.data(b, c, d, !0)
},
acceptData: function(b) {
var c = b.nodeName && m.noData[b.nodeName.toLowerCase()];
return !c || !0 !== c && b.getAttribute("classid") === c
}
});
m.fn.extend({
data: function(b, g) {
var l, e, s, f, p, r = this[0],
j = 0,
n = null;
if (b === c) {
if (this.length && (n = m.data(r), 1 === r.nodeType && !m._data(r, "parsedAttrs"))) {
s = r.attributes;
for (p = s.length; j < p; j++) f = s[j].name, f.indexOf("data-") || (f = m.camelCase(f.substring(5)), d(r, f, n[f]));
m._data(r, "parsedAttrs", !0)
}
return n
}
return "object" == typeof b ? this.each(function() {
m.data(this, b)
}) : (l = b.split(".", 2), l[1] = l[1] ? "." + l[1] : "", e = l[1] + "!", m.access(this, function(g) {
if (g === c) return n = this.triggerHandler("getData" + e, [l[0]]), n === c && r && (n = m.data(r, b), n = d(r, b, n)), n === c && l[1] ? this.data(l[0]) : n;
l[1] = g;
this.each(function() {
var c = m(this);
c.triggerHandler("setData" + e, l);
m.data(this, b, g);
c.triggerHandler("changeData" + e, l)
})
}, null, g, 1 < arguments.length, null, !1))
},
removeData: function(b) {
return this.each(function() {
m.removeData(this, b)
})
}
});
m.extend({
queue: function(b, c, d) {
var g;
if (b) return c = (c || "fx") + "queue", g = m._data(b, c), d && (!g || m.isArray(d) ? g = m._data(b, c, m.makeArray(d)) : g.push(d)), g || []
},
dequeue: function(b, c) {
c = c || "fx";
var d = m.queue(b, c),
g = d.length,
l = d.shift(),
e = m._queueHooks(b, c),
s = function() {
m.dequeue(b, c)
};
"inprogress" === l && (l = d.shift(), g--);
l && ("fx" === c && d.unshift("inprogress"), delete e.stop, l.call(b, s, e));
!g && e && e.empty.fire()
},
_queueHooks: function(b, c) {
var d = c + "queueHooks";
return m._data(b, d) || m._data(b, d, {
empty: m.Callbacks("once memory").add(function() {
m.removeData(b, c + "queue", !0);
m.removeData(b, d, !0)
})
})
}
});
m.fn.extend({
queue: function(b, d) {
var g = 2;
return "string" != typeof b && (d = b, b = "fx", g--), arguments.length < g ? m.queue(this[0], b) : d === c ? this : this.each(function() {
var c = m.queue(this, b, d);
m._queueHooks(this, b);
"fx" === b && "inprogress" !== c[0] && m.dequeue(this, b)
})
},
dequeue: function(b) {
return this.each(function() {
m.dequeue(this, b)
})
},
delay: function(b, c) {
return b = m.fx ? m.fx.speeds[b] || b : b, c = c || "fx", this.queue(c, function(c, d) {
var g = setTimeout(c, b);
d.stop = function() {
clearTimeout(g)
}
})
},
clearQueue: function(b) {
return this.queue(b || "fx", [])
},
promise: function(b, d) {
var g, l = 1,
e = m.Deferred(),
s = this,
f = this.length,
p = function() {
--l || e.resolveWith(s, [s])
};
"string" != typeof b && (d = b, b = c);
for (b = b || "fx"; f--;)(g = m._data(s[f], b + "queueHooks")) && g.empty && (l++, g.empty.add(p));
return p(), e.promise(d)
}
});
var ma, ib, Sa, Ta = /[\t\r\n]/g,
jb = /\r/g,
kb = /^(?:button|input)$/i,
lb = /^(?:button|input|object|select|textarea)$/i,
mb = /^a(?:rea|)$/i,
nb = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
Ua = m.support.getSetAttribute;
m.fn.extend({
attr: function(b, c) {
return m.access(this, m.attr, b, c, 1 < arguments.length)
},
removeAttr: function(b) {
return this.each(function() {
m.removeAttr(this, b)
})
},
prop: function(b, c) {
return m.access(this, m.prop, b, c, 1 < arguments.length)
},
removeProp: function(b) {
return b = m.propFix[b] || b, this.each(function() {
try {
this[b] = c, delete this[b]
} catch (d) {}
})
},
addClass: function(b) {
var c, d, g, l, e, s, f;
if (m.isFunction(b)) return this.each(function(c) {
m(this).addClass(b.call(this, c, this.className))
});
if (b && "string" == typeof b) {
c = b.split(qa);
d = 0;
for (g = this.length; d < g; d++)
if (l = this[d], 1 === l.nodeType)
if (!l.className && 1 === c.length) l.className = b;
else {
e = " " + l.className + " ";
s = 0;
for (f = c.length; s < f; s++) 0 > e.indexOf(" " + c[s] + " ") && (e += c[s] + " ");
l.className = m.trim(e)
}
}
return this
},
removeClass: function(b) {
var d, g, l, e, s, f, p;
if (m.isFunction(b)) return this.each(function(c) {
m(this).removeClass(b.call(this, c, this.className))
});
if (b && "string" == typeof b || b === c) {
d = (b || "").split(qa);
f = 0;
for (p = this.length; f < p; f++)
if (l = this[f], 1 === l.nodeType && l.className) {
g = (" " + l.className + " ").replace(Ta, " ");
e = 0;
for (s = d.length; e < s; e++)
for (; 0 <= g.indexOf(" " + d[e] + " ");) g = g.replace(" " + d[e] + " ", " ");
l.className = b ? m.trim(g) : ""
}
}
return this
},
toggleClass: function(b, c) {
var d = typeof b,
g = "boolean" == typeof c;
return m.isFunction(b) ? this.each(function(d) {
m(this).toggleClass(b.call(this, d, this.className, c), c)
}) : this.each(function() {
if ("string" === d)
for (var l, e = 0, s = m(this), f = c, p = b.split(qa); l = p[e++];) f = g ? f : !s.hasClass(l), s[f ? "addClass" : "removeClass"](l);
else if ("undefined" === d || "boolean" === d) this.className && m._data(this, "__className__", this.className), this.className = this.className || !1 === b ? "" : m._data(this, "__className__") || ""
})
},
hasClass: function(b) {
b = " " + b + " ";
for (var c = 0, d = this.length; c < d; c++)
if (1 === this[c].nodeType && 0 <= (" " + this[c].className + " ").replace(Ta, " ").indexOf(b)) return !0;
return !1
},
val: function(b) {
var d, g, l, e = this[0];
if (arguments.length) return l = m.isFunction(b), this.each(function(g) {
var e, s = m(this);
if (1 === this.nodeType && (l ? e = b.call(this, g, s.val()) : e = b, null == e ? e = "" : "number" == typeof e ? e += "" : m.isArray(e) && (e = m.map(e, function(b) {
return null == b ? "" : b + ""
})), d = m.valHooks[this.type] || m.valHooks[this.nodeName.toLowerCase()], !d || !("set" in d) || d.set(this, e, "value") === c)) this.value = e
});
if (e) return d = m.valHooks[e.type] || m.valHooks[e.nodeName.toLowerCase()], d && "get" in d && (g = d.get(e, "value")) !== c ? g : (g = e.value, "string" == typeof g ? g.replace(jb, "") : null == g ? "" : g)
}
});
m.extend({
valHooks: {
option: {
get: function(b) {
var c = b.attributes.value;
return !c || c.specified ? b.value : b.text
}
},
select: {
get: function(b) {
var c, d, g = b.selectedIndex,
l = [],
e = b.options,
s = "select-one" === b.type;
if (0 > g) return null;
b = s ? g : 0;
for (d = s ? g + 1 : e.length; b < d; b++)
if (c = e[b], c.selected && (m.support.optDisabled ? !c.disabled : null === c.getAttribute("disabled")) && (!c.parentNode.disabled || !m.nodeName(c.parentNode, "optgroup"))) {
c = m(c).val();
if (s) return c;
l.push(c)
}
return s && !l.length && e.length ? m(e[g]).val() : l
},
set: function(b, c) {
var d = m.makeArray(c);
return m(b).find("option").each(function() {
this.selected = 0 <= m.inArray(m(this).val(), d)
}), d.length || (b.selectedIndex = -1), d
}
}
},
attrFn: {},
attr: function(b, d, g, l) {
var e, s, f = b.nodeType;
if (b && !(3 === f || 8 === f || 2 === f)) {
if (l && m.isFunction(m.fn[d])) return m(b)[d](g);
if ("undefined" == typeof b.getAttribute) return m.prop(b, d, g);
(l = 1 !== f || !m.isXMLDoc(b)) && (d = d.toLowerCase(), s = m.attrHooks[d] || (nb.test(d) ? ib : ma));
if (g !== c) {
if (null === g) {
m.removeAttr(b, d);
return
}
return s && "set" in s && l && (e = s.set(b, g, d)) !== c ? e : (b.setAttribute(d, g + ""), g)
}
return s && "get" in s && l && null !== (e = s.get(b, d)) ? e : (e = b.getAttribute(d), null === e ? c : e)
}
},
removeAttr: function(b, c) {
var d, g, l, e, s = 0;
if (c && 1 === b.nodeType)
for (g = c.split(qa); s < g.length; s++)(l = g[s]) && (d = m.propFix[l] || l, e = nb.test(l), e || m.attr(b, l, ""), b.removeAttribute(Ua ? l : d), e && d in b && (b[d] = !1))
},
attrHooks: {
type: {
set: function(b, c) {
if (kb.test(b.nodeName) && b.parentNode) m.error("type property can't be changed");
else if (!m.support.radioValue && "radio" === c && m.nodeName(b, "input")) {
var d = b.value;
return b.setAttribute("type", c), d && (b.value = d), c
}
}
},
value: {
get: function(b, c) {
return ma && m.nodeName(b, "button") ? ma.get(b, c) : c in b ? b.value : null
},
set: function(b, c, d) {
if (ma && m.nodeName(b, "button")) return ma.set(b, c, d);
b.value = c
}
}
},
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(b, d, g) {
var l, e, s, f = b.nodeType;
if (b && !(3 === f || 8 === f || 2 === f)) return s = 1 !== f || !m.isXMLDoc(b), s && (d = m.propFix[d] || d, e = m.propHooks[d]), g !== c ? e && "set" in e && (l = e.set(b, g, d)) !== c ? l : b[d] = g : e && "get" in e && null !== (l = e.get(b, d)) ? l : b[d]
},
propHooks: {
tabIndex: {
get: function(b) {
var d = b.getAttributeNode("tabindex");
return d && d.specified ? parseInt(d.value, 10) : lb.test(b.nodeName) || mb.test(b.nodeName) && b.href ? 0 : c
}
}
}
});
ib = {
get: function(b, d) {
var g, l = m.prop(b, d);
return !0 === l || "boolean" != typeof l && (g = b.getAttributeNode(d)) && !1 !== g.nodeValue ? d.toLowerCase() : c
},
set: function(b, c, d) {
var g;
return !1 === c ? m.removeAttr(b, d) : (g = m.propFix[d] || d, g in b && (b[g] = !0), b.setAttribute(d, d.toLowerCase())), d
}
};
Ua || (Sa = {
name: !0,
id: !0,
coords: !0
}, ma = m.valHooks.button = {
get: function(b, d) {
var g;
return g = b.getAttributeNode(d), g && (Sa[d] ? "" !== g.value : g.specified) ? g.value : c
},
set: function(b, c, d) {
var g = b.getAttributeNode(d);
return g || (g = J.createAttribute(d), b.setAttributeNode(g)), g.value = c + ""
}
}, m.each(["width", "height"], function(b, c) {
m.attrHooks[c] = m.extend(m.attrHooks[c], {
set: function(b, d) {
if ("" === d) return b.setAttribute(c, "auto"), d
}
})
}), m.attrHooks.contenteditable = {
get: ma.get,
set: function(b, c, d) {
"" === c && (c = "false");
ma.set(b, c, d)
}
});
m.support.hrefNormalized || m.each(["href", "src", "width", "height"], function(b, d) {
m.attrHooks[d] = m.extend(m.attrHooks[d], {
get: function(b) {
b = b.getAttribute(d, 2);
return null === b ? c : b
}
})
});
m.support.style || (m.attrHooks.style = {
get: function(b) {
return b.style.cssText.toLowerCase() || c
},
set: function(b, c) {
return b.style.cssText = c + ""
}
});
m.support.optSelected || (m.propHooks.selected = m.extend(m.propHooks.selected, {
get: function(b) {
b = b.parentNode;
return b && (b.selectedIndex, b.parentNode && b.parentNode.selectedIndex), null
}
}));
m.support.enctype || (m.propFix.enctype = "encoding");
m.support.checkOn || m.each(["radio", "checkbox"], function() {
m.valHooks[this] = {
get: function(b) {
return null === b.getAttribute("value") ? "on" : b.value
}
}
});
m.each(["radio", "checkbox"], function() {
m.valHooks[this] = m.extend(m.valHooks[this], {
set: function(b, c) {
if (m.isArray(c)) return b.checked = 0 <= m.inArray(m(b).val(), c)
}
})
});
var Ga = /^(?:textarea|input|select)$/i,
ob = /^([^\.]*|)(?:\.(.+)|)$/,
pb = /(?:^|\s)hover(\.\S+|)\b/,
qb = /^key/,
rb = /^(?:mouse|contextmenu)|click/,
Va = /^(?:focusinfocus|focusoutblur)$/,
Wa = function(b) {
return m.event.special.hover ? b : b.replace(pb, "mouseenter$1 mouseleave$1")
};
m.event = {
add: function(b, d, g, l, e) {
var s, f, p, r, j, n, F, v, D;
if (!(3 === b.nodeType || 8 === b.nodeType || !d || !g || !(s = m._data(b)))) {
g.handler && (F = g, g = F.handler, e = F.selector);
g.guid || (g.guid = m.guid++);
(p = s.events) || (s.events = p = {});
(f = s.handle) || (s.handle = f = function(b) {
return "undefined" != typeof m && (!b || m.event.triggered !== b.type) ? m.event.dispatch.apply(f.elem, arguments) : c
}, f.elem = b);
d = m.trim(Wa(d)).split(" ");
for (s = 0; s < d.length; s++) {
r = ob.exec(d[s]) || [];
j = r[1];
n = (r[2] || "").split(".").sort();
D = m.event.special[j] || {};
j = (e ? D.delegateType : D.bindType) || j;
D = m.event.special[j] || {};
r = m.extend({
type: j,
origType: r[1],
data: l,
handler: g,
guid: g.guid,
selector: e,
needsContext: e && m.expr.match.needsContext.test(e),
namespace: n.join(".")
}, F);
v = p[j];
if (!v && (v = p[j] = [], v.delegateCount = 0, !D.setup || !1 === D.setup.call(b, l, n, f))) b.addEventListener ? b.addEventListener(j, f, !1) : b.attachEvent && b.attachEvent("on" + j, f);
D.add && (D.add.call(b, r), r.handler.guid || (r.handler.guid = g.guid));
e ? v.splice(v.delegateCount++, 0, r) : v.push(r);
m.event.global[j] = !0
}
b = null
}
},
global: {},
remove: function(b, c, d, g, l) {
var e, s, f, p, r, j, n, F, v, D, aa = m.hasData(b) && m._data(b);
if (aa && (n = aa.events)) {
c = m.trim(Wa(c || "")).split(" ");
for (e = 0; e < c.length; e++)
if (s = ob.exec(c[e]) || [], f = p = s[1], s = s[2], f) {
F = m.event.special[f] || {};
f = (g ? F.delegateType : F.bindType) || f;
v = n[f] || [];
r = v.length;
s = s ? RegExp("(^|\\.)" + s.split(".").sort().join("\\.(?:.*\\.|)") + "(\\.|$)") : null;
for (j = 0; j < v.length; j++) D = v[j], (l || p === D.origType) && (!d || d.guid === D.guid) && (!s || s.test(D.namespace)) && (!g || g === D.selector || "**" === g && D.selector) && (v.splice(j--, 1), D.selector && v.delegateCount--, F.remove && F.remove.call(b, D));
0 === v.length && r !== v.length && ((!F.teardown || !1 === F.teardown.call(b, s, aa.handle)) && m.removeEvent(b, f, aa.handle), delete n[f])
} else
for (f in n) m.event.remove(b, f + c[e], d, g, !0);
m.isEmptyObject(n) && (delete aa.handle, m.removeData(b, "events", !0))
}
},
customEvent: {
getData: !0,
setData: !0,
changeData: !0
},
trigger: function(d, g, l, e) {
if (!l || 3 !== l.nodeType && 8 !== l.nodeType) {
var s, f, p, r, j, n, F, v = d.type || d;
r = [];
if (!Va.test(v + m.event.triggered) && (0 <= v.indexOf("!") && (v = v.slice(0, -1), s = !0), 0 <= v.indexOf(".") && (r = v.split("."), v = r.shift(), r.sort()), l && !m.event.customEvent[v] || m.event.global[v]))
if (d = "object" == typeof d ? d[m.expando] ? d : new m.Event(v, d) : new m.Event(v), d.type = v, d.isTrigger = !0, d.exclusive = s, d.namespace = r.join("."), d.namespace_re = d.namespace ? RegExp("(^|\\.)" + r.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, r = 0 > v.indexOf(":") ? "on" + v : "", l) {
if (d.result = c, d.target || (d.target = l), g = null != g ? m.makeArray(g) : [], g.unshift(d), j = m.event.special[v] || {}, !(j.trigger && !1 === j.trigger.apply(l, g))) {
F = [
[l, j.bindType || v]
];
if (!e && !j.noBubble && !m.isWindow(l)) {
f = j.delegateType || v;
s = Va.test(f + v) ? l : l.parentNode;
for (p = l; s; s = s.parentNode) F.push([s, f]), p = s;
p === (l.ownerDocument || J) && F.push([p.defaultView || p.parentWindow || b, f])
}
for (f = 0; f < F.length && !d.isPropagationStopped(); f++) s = F[f][0], d.type = F[f][1], (n = (m._data(s, "events") || {})[d.type] && m._data(s, "handle")) && n.apply(s, g), (n = r && s[r]) && m.acceptData(s) && n.apply && !1 === n.apply(s, g) && d.preventDefault();
return d.type = v, !e && !d.isDefaultPrevented() && (!j._default || !1 === j._default.apply(l.ownerDocument, g)) && ("click" !== v || !m.nodeName(l, "a")) && m.acceptData(l) && r && l[v] && ("focus" !== v && "blur" !== v || 0 !== d.target.offsetWidth) && !m.isWindow(l) && (p = l[r], p && (l[r] = null), m.event.triggered = v, l[v](), m.event.triggered = c, p && (l[r] = p)), d.result
}
} else
for (f in l = m.cache, l) l[f].events && l[f].events[v] && m.event.trigger(d, g, l[f].handle.elem, !0)
}
},
dispatch: function(d) {
d = m.event.fix(d || b.event);
var g, l, e, s, f, p, r = (m._data(this, "events") || {})[d.type] || [],
j = r.delegateCount,
n = F.call(arguments),
v = !d.exclusive && !d.namespace,
D = m.event.special[d.type] || {},
aa = [];
n[0] = d;
d.delegateTarget = this;
if (!(D.preDispatch && !1 === D.preDispatch.call(this, d))) {
if (j && (!d.button || "click" !== d.type))
for (l = d.target; l != this; l = l.parentNode || this)
if (!0 !== l.disabled || "click" !== d.type) {
s = {};
f = [];
for (g = 0; g < j; g++) e = r[g], p = e.selector, s[p] === c && (s[p] = e.needsContext ? 0 <= m(p, this).index(l) : m.find(p, this, null, [l]).length), s[p] && f.push(e);
f.length && aa.push({
elem: l,
matches: f
})
}
r.length > j && aa.push({
elem: this,
matches: r.slice(j)
});
for (g = 0; g < aa.length && !d.isPropagationStopped(); g++) {
s = aa[g];
d.currentTarget = s.elem;
for (l = 0; l < s.matches.length && !d.isImmediatePropagationStopped(); l++)
if (e = s.matches[l], v || !d.namespace && !e.namespace || d.namespace_re && d.namespace_re.test(e.namespace)) d.data = e.data, d.handleObj = e, e = ((m.event.special[e.origType] || {}).handle || e.handler).apply(s.elem, n), e !== c && (d.result = e, !1 === e && (d.preventDefault(), d.stopPropagation()))
}
return D.postDispatch && D.postDispatch.call(this, d), d.result
}
},
props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
fixHooks: {},
keyHooks: {
props: ["char", "charCode", "key", "keyCode"],
filter: function(b, c) {
return null == b.which && (b.which = null != c.charCode ? c.charCode : c.keyCode), b
}
},
mouseHooks: {
props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
filter: function(b, d) {
var g, l, e, m = d.button,
s = d.fromElement;
return null == b.pageX && null != d.clientX && (g = b.target.ownerDocument || J, l = g.documentElement, e = g.body, b.pageX = d.clientX + (l && l.scrollLeft || e && e.scrollLeft || 0) - (l && l.clientLeft || e && e.clientLeft || 0), b.pageY = d.clientY + (l && l.scrollTop || e && e.scrollTop || 0) - (l && l.clientTop || e && e.clientTop || 0)), !b.relatedTarget && s && (b.relatedTarget = s === b.target ? d.toElement : s), !b.which && m !== c && (b.which = m & 1 ? 1 : m & 2 ? 3 : m & 4 ? 2 : 0), b
}
},
fix: function(b) {
if (b[m.expando]) return b;
var c, d, g = b,
l = m.event.fixHooks[b.type] || {},
e = l.props ? this.props.concat(l.props) : this.props;
b = m.Event(g);
for (c = e.length; c;) d = e[--c], b[d] = g[d];
return b.target || (b.target = g.srcElement || J), 3 === b.target.nodeType && (b.target = b.target.parentNode), b.metaKey = !!b.metaKey, l.filter ? l.filter(b, g) : b
},
special: {
load: {
noBubble: !0
},
focus: {
delegateType: "focusin"
},
blur: {
delegateType: "focusout"
},
beforeunload: {
setup: function(b, c, d) {
m.isWindow(this) && (this.onbeforeunload = d)
},
teardown: function(b, c) {
this.onbeforeunload === c && (this.onbeforeunload = null)
}
}
},
simulate: function(b, c, d, g) {
b = m.extend(new m.Event, d, {
type: b,
isSimulated: !0,
originalEvent: {}
});
g ? m.event.trigger(b, null, c) : m.event.dispatch.call(c, b);
b.isDefaultPrevented() && d.preventDefault()
}
};
m.event.handle = m.event.dispatch;
m.removeEvent = J.removeEventListener ? function(b, c, d) {
b.removeEventListener && b.removeEventListener(c, d, !1)
} : function(b, c, d) {
c = "on" + c;
b.detachEvent && ("undefined" == typeof b[c] && (b[c] = null), b.detachEvent(c, d))
};
m.Event = function(b, c) {
if (this instanceof m.Event) b && b.type ? (this.originalEvent = b, this.type = b.type, this.isDefaultPrevented = b.defaultPrevented || !1 === b.returnValue || b.getPreventDefault && b.getPreventDefault() ? j : f) : this.type = b, c && m.extend(this, c), this.timeStamp = b && b.timeStamp || m.now(), this[m.expando] = !0;
else return new m.Event(b, c)
};
m.Event.prototype = {
preventDefault: function() {
this.isDefaultPrevented = j;
var b = this.originalEvent;
b && (b.preventDefault ? b.preventDefault() : b.returnValue = !1)
},
stopPropagation: function() {
this.isPropagationStopped = j;
var b = this.originalEvent;
b && (b.stopPropagation && b.stopPropagation(), b.cancelBubble = !0)
},
stopImmediatePropagation: function() {
this.isImmediatePropagationStopped = j;
this.stopPropagation()
},
isDefaultPrevented: f,
isPropagationStopped: f,
isImmediatePropagationStopped: f
};
m.each({
mouseenter: "mouseover",
mouseleave: "mouseout"
}, function(b, c) {
m.event.special[b] = {
delegateType: c,
bindType: c,
handle: function(b) {
var d, g = b.relatedTarget,
l = b.handleObj;
if (!g || g !== this && !m.contains(this, g)) b.type = l.origType, d = l.handler.apply(this, arguments), b.type = c;
return d
}
}
});
m.support.submitBubbles || (m.event.special.submit = {
setup: function() {
if (m.nodeName(this, "form")) return !1;
m.event.add(this, "click._submit keypress._submit", function(b) {
b = b.target;
(b = m.nodeName(b, "input") || m.nodeName(b, "button") ? b.form : c) && !m._data(b, "_submit_attached") && (m.event.add(b, "submit._submit", function(b) {
b._submit_bubble = !0
}), m._data(b, "_submit_attached", !0))
})
},
postDispatch: function(b) {
b._submit_bubble && (delete b._submit_bubble, this.parentNode && !b.isTrigger && m.event.simulate("submit", this.parentNode, b, !0))
},
teardown: function() {
if (m.nodeName(this, "form")) return !1;
m.event.remove(this, "._submit")
}
});
m.support.changeBubbles || (m.event.special.change = {
setup: function() {
if (Ga.test(this.nodeName)) {
if ("checkbox" === this.type || "radio" === this.type) m.event.add(this, "propertychange._change", function(b) {
"checked" === b.originalEvent.propertyName && (this._just_changed = !0)
}), m.event.add(this, "click._change", function(b) {
this._just_changed && !b.isTrigger && (this._just_changed = !1);
m.event.simulate("change", this, b, !0)
});
return !1
}
m.event.add(this, "beforeactivate._change", function(b) {
b = b.target;
Ga.test(b.nodeName) && !m._data(b, "_change_attached") && (m.event.add(b, "change._change", function(b) {
this.parentNode && !b.isSimulated && !b.isTrigger && m.event.simulate("change", this.parentNode, b, !0)
}), m._data(b, "_change_attached", !0))
})
},
handle: function(b) {
var c = b.target;
if (this !== c || b.isSimulated || b.isTrigger || "radio" !== c.type && "checkbox" !== c.type) return b.handleObj.handler.apply(this, arguments)
},
teardown: function() {
return m.event.remove(this, "._change"), !Ga.test(this.nodeName)
}
});
m.support.focusinBubbles || m.each({
focus: "focusin",
blur: "focusout"
}, function(b, c) {
var d = 0,
g = function(b) {
m.event.simulate(c, b.target, m.event.fix(b), !0)
};
m.event.special[c] = {
setup: function() {
0 === d++ && J.addEventListener(b, g, !0)
},
teardown: function() {
0 === --d && J.removeEventListener(b, g, !0)
}
}
});
m.fn.extend({
on: function(b, d, g, l, e) {
var s, p;
if ("object" == typeof b) {
"string" != typeof d && (g = g || d, d = c);
for (p in b) this.on(p, d, g, b[p], e);
return this
}
null == g && null == l ? (l = d, g = d = c) : null == l && ("string" == typeof d ? (l = g, g = c) : (l = g, g = d, d = c));
if (!1 === l) l = f;
else if (!l) return this;
return 1 === e && (s = l, l = function(b) {
return m().off(b), s.apply(this, arguments)
}, l.guid = s.guid || (s.guid = m.guid++)), this.each(function() {
m.event.add(this, b, l, g, d)
})
},
one: function(b, c, d, g) {
return this.on(b, c, d, g, 1)
},
off: function(b, d, g) {
var l, e;
if (b && b.preventDefault && b.handleObj) return l = b.handleObj, m(b.delegateTarget).off(l.namespace ? l.origType + "." + l.namespace : l.origType, l.selector, l.handler), this;
if ("object" == typeof b) {
for (e in b) this.off(e, d, b[e]);
return this
}
if (!1 === d || "function" == typeof d) g = d, d = c;
return !1 === g && (g = f), this.each(function() {
m.event.remove(this, b, g, d)
})
},
bind: function(b, c, d) {
return this.on(b, null, c, d)
},
unbind: function(b, c) {
return this.off(b, null, c)
},
live: function(b, c, d) {
return m(this.context).on(b, this.selector, c, d), this
},
die: function(b, c) {
return m(this.context).off(b, this.selector || "**", c), this
},
delegate: function(b, c, d, g) {
return this.on(c, b, d, g)
},
undelegate: function(b, c, d) {
return 1 === arguments.length ? this.off(b, "**") : this.off(c, b || "**", d)
},
trigger: function(b, c) {
return this.each(function() {
m.event.trigger(b, c, this)
})
},
triggerHandler: function(b, c) {
if (this[0]) return m.event.trigger(b, c, this[0], !0)
},
toggle: function(b) {
var c = arguments,
d = b.guid || m.guid++,
g = 0,
l = function(d) {
var l = (m._data(this, "lastToggle" + b.guid) || 0) % g;
return m._data(this, "lastToggle" + b.guid, l + 1), d.preventDefault(), c[l].apply(this, arguments) || !1
};
for (l.guid = d; g < c.length;) c[g++].guid = d;
return this.click(l)
},
hover: function(b, c) {
return this.mouseenter(b).mouseleave(c || b)
}
});
m.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(b, c) {
m.fn[c] = function(b, d) {
return null == d && (d = b, b = null), 0 < arguments.length ? this.on(c, null, b, d) : this.trigger(c)
};
qb.test(c) && (m.event.fixHooks[c] = m.event.keyHooks);
rb.test(c) && (m.event.fixHooks[c] = m.event.mouseHooks)
});
var sb = b,
W = function(b, c, d, g) {
d = d || [];
c = c || na;
var l, e, m, s, f = c.nodeType;
if (!b || "string" != typeof b) return d;
if (1 !== f && 9 !== f) return [];
m = Fb(c);
if (!m && !g && (l = Sc.exec(b)))
if (s = l[1])
if (9 === f) {
e = c.getElementById(s);
if (!e || !e.parentNode) return d;
if (e.id === s) return d.push(e), d
} else {
if (c.ownerDocument && (e = c.ownerDocument.getElementById(s)) && nc(c, e) && e.id === s) return d.push(e), d
}
else {
if (l[2]) return Xa.apply(d, Ya.call(c.getElementsByTagName(b), 0)), d;
if ((s = l[3]) && oc && c.getElementsByClassName) return Xa.apply(d, Ya.call(c.getElementsByClassName(s), 0)), d
}
return Tb(b.replace(Gb, "$1"), c, d, g, m)
},
va = function(b) {
return function(c) {
return "input" === c.nodeName.toLowerCase() && c.type === b
}
},
Za = function(b) {
return function(c) {
var d = c.nodeName.toLowerCase();
return ("input" === d || "button" === d) && c.type === b
}
},
pa = function(b) {
return oa(function(c) {
return c = +c, oa(function(d, g) {
for (var l, e = b([], d.length, c), s = e.length; s--;) d[l = e[s]] && (d[l] = !(g[l] = d[l]))
})
})
},
xa = function(b, c, d) {
if (b === c) return d;
for (b = b.nextSibling; b;) {
if (b === c) return -1;
b = b.nextSibling
}
return 1
},
ya = function(b, c) {
var d, g, l, e, s, m, f;
if (s = pc[fa][b]) return c ? 0 : s.slice(0);
s = b;
m = [];
for (f = da.preFilter; s;) {
if (!d || (g = Tc.exec(s))) g && (s = s.slice(g[0].length)), m.push(l = []);
d = !1;
if (g = Uc.exec(s)) l.push(d = new qc(g.shift())), s = s.slice(d.length), d.type = g[0].replace(Gb, " ");
for (e in da.filter)(g = Hb[e].exec(s)) && (!f[e] || (g = f[e](g, na, !0))) && (l.push(d = new qc(g.shift())), s = s.slice(d.length), d.type = e, d.matches = g);
if (!d) break
}
return c ? s.length : s ? W.error(b) : pc(b, m).slice(0)
},
Vb = function(b, c, d) {
var g = c.dir,
l = d && "parentNode" === c.dir,
e = Vc++;
return c.first ? function(c, d, e) {
for (; c = c[g];)
if (l || 1 === c.nodeType) return b(c, d, e)
} : function(c, d, s) {
if (s)
for (; c = c[g];) {
if ((l || 1 === c.nodeType) && b(c, d, s)) return c
} else
for (var m, f = tb + " " + e + " ", p = f + Ub; c = c[g];)
if (l || 1 === c.nodeType) {
if ((m = c[fa]) === p) return c.sizset;
if ("string" == typeof m && 0 === m.indexOf(f)) {
if (c.sizset) return c
} else {
c[fa] = p;
if (b(c, d, s)) return c.sizset = !0, c;
c.sizset = !1
}
}
}
},
Wb = function(b) {
return 1 < b.length ? function(c, d, g) {
for (var l = b.length; l--;)
if (!b[l](c, d, g)) return !1;
return !0
} : b[0]
},
Ib = function(b, c, d, g, l) {
for (var e, s = [], m = 0, f = b.length, p = null != c; m < f; m++)
if (e = b[m])
if (!d || d(e, g, l)) s.push(e), p && c.push(m);
return s
},
Xb = function(b, c, d, g, l, e) {
return g && !g[fa] && (g = Xb(g)), l && !l[fa] && (l = Xb(l, e)), oa(function(e, s, m, f) {
if (!e || !l) {
var p, r, j = [],
n = [],
F = s.length;
if (!(r = e)) {
r = c || "*";
var v = m.nodeType ? [m] : m,
D = [];
p = 0;
for (var aa = v.length; p < aa; p++) W(r, v[p], D, e);
r = D
}
v = b && (e || !c) ? Ib(r, j, b, m, f) : r;
D = d ? l || (e ? b : F || g) ? [] : s : v;
d && d(v, D, m, f);
if (g) {
r = Ib(D, n);
g(r, [], m, f);
for (m = r.length; m--;)
if (p = r[m]) D[n[m]] = !(v[n[m]] = p)
}
if (e)
for (m = b && D.length; m--;) {
if (p = D[m]) e[j[m]] = !(s[j[m]] = p)
} else D = Ib(D === s ? D.splice(F, D.length) : D), l ? l(null, s, D, f) : Xa.apply(s, D)
}
})
},
Yb = function(b) {
var c, d, g, l = b.length,
e = da.relative[b[0].type];
d = e || da.relative[" "];
for (var s = e ? 1 : 0, m = Vb(function(b) {
return b === c
}, d, !0), f = Vb(function(b) {
return -1 < rc.call(c, b)
}, d, !0), p = [
function(b, d, g) {
return !e && (g || d !== Jb) || ((c = d).nodeType ? m(b, d, g) : f(b, d, g))
}
]; s < l; s++)
if (d = da.relative[b[s].type]) p = [Vb(Wb(p), d)];
else {
d = da.filter[b[s].type].apply(null, b[s].matches);
if (d[fa]) {
for (g = ++s; g < l && !da.relative[b[g].type]; g++);
return Xb(1 < s && Wb(p), 1 < s && b.slice(0, s - 1).join("").replace(Gb, "$1"), d, s < g && Yb(b.slice(s, g)), g < l && Yb(b = b.slice(g)), g < l && b.join(""))
}
p.push(d)
}
return Wb(p)
},
Tb = function(b, c, d, g, l) {
var e, s, m, f, p = ya(b);
if (!g && 1 === p.length) {
s = p[0] = p[0].slice(0);
if (2 < s.length && "ID" === (m = s[0]).type && 9 === c.nodeType && !l && da.relative[s[1].type]) {
c = da.find.ID(m.matches[0].replace(Ha, ""), c, l)[0];
if (!c) return d;
b = b.slice(s.shift().length)
}
for (e = Hb.POS.test(b) ? -1 : s.length - 1; 0 <= e; e--) {
m = s[e];
if (da.relative[f = m.type]) break;
if (f = da.find[f])
if (g = f(m.matches[0].replace(Ha, ""), Zb.test(s[0].type) && c.parentNode || c, l)) {
s.splice(e, 1);
b = g.length && s.join("");
if (!b) return Xa.apply(d, Ya.call(g, 0)), d;
break
}
}
}
return $b(b, p)(g, c, l, d, Zb.test(b)), d
},
sc = function() {},
Ub, ac, da, Kb, Fb, nc, $b, bc, ub, Jb, tc = !0,
fa = ("sizcache" + Math.random()).replace(".", ""),
qc = String,
na = sb.document,
ja = na.documentElement,
tb = 0,
Vc = 0,
Wc = [].pop,
Xa = [].push,
Ya = [].slice,
rc = [].indexOf || function(b) {
for (var c = 0, d = this.length; c < d; c++)
if (this[c] === b) return c;
return -1
},
oa = function(b, c) {
return b[fa] = null == c || c, b
},
cc = function() {
var b = {},
c = [];
return oa(function(d, g) {
return c.push(d) > da.cacheLength && delete b[c.shift()], b[d] = g
}, b)
},
uc = cc(),
pc = cc(),
vc = cc(),
wc = "\\[[\\x20\\t\\r\\n\\f]*((?:\\\\.|[-\\w]|[^\\x00-\\xa0])+)[\\x20\\t\\r\\n\\f]*(?:([*^$|!~]?=)[\\x20\\t\\r\\n\\f]*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + "(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+".replace("w", "w#") + ")|)|)[\\x20\\t\\r\\n\\f]*\\]",
dc = ":((?:\\\\.|[-\\w]|[^\\x00-\\xa0])+)(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:" + wc + ")|[^:]|\\\\.)*|.*))\\)|)",
Gb = /^[\x20\t\r\n\f]+|((?:^|[^\\])(?:\\.)*)[\x20\t\r\n\f]+$/g,
Tc = /^[\x20\t\r\n\f]*,[\x20\t\r\n\f]*/,
Uc = /^[\x20\t\r\n\f]*([\x20\t\r\n\f>+~])[\x20\t\r\n\f]*/,
Xc = RegExp(dc),
Sc = /^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,
Zb = /[\x20\t\r\n\f]*[+~]/,
Yc = /h\d/i,
Zc = /input|select|textarea|button/i,
Ha = /\\(?!\\)/g,
Hb = {
ID: /^#((?:\\.|[-\w]|[^\x00-\xa0])+)/,
CLASS: /^\.((?:\\.|[-\w]|[^\x00-\xa0])+)/,
NAME: /^\[name=['"]?((?:\\.|[-\w]|[^\x00-\xa0])+)['"]?\]/,
TAG: RegExp("^(" + "(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+".replace("w", "w*") + ")"),
ATTR: RegExp("^" + wc),
PSEUDO: RegExp("^" + dc),
POS: /:(even|odd|eq|gt|lt|nth|first|last)(?:\([\x20\t\r\n\f]*((?:-\d)?\d*)[\x20\t\r\n\f]*\)|)(?=[^-]|$)/i,
CHILD: RegExp("^:(only|nth|first|last)-child(?:\\([\\x20\\t\\r\\n\\f]*(even|odd|(([+-]|)(\\d*)n|)[\\x20\\t\\r\\n\\f]*(?:([+-]|)[\\x20\\t\\r\\n\\f]*(\\d+)|))[\\x20\\t\\r\\n\\f]*\\)|)", "i"),
needsContext: RegExp("^[\\x20\\t\\r\\n\\f]*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\([\\x20\\t\\r\\n\\f]*((?:-\\d)?\\d*)[\\x20\\t\\r\\n\\f]*\\)|)(?=[^-]|$)", "i")
},
za = function(b) {
var c = na.createElement("div");
try {
return b(c)
} catch (d) {
return !1
} finally {}
},
$c = za(function(b) {
return b.appendChild(na.createComment("")), !b.getElementsByTagName("*").length
}),
ad = za(function(b) {
return b.innerHTML = "", b.firstChild && "undefined" !== typeof b.firstChild.getAttribute && "#" === b.firstChild.getAttribute("href")
}),
bd = za(function(b) {
b.innerHTML = "";
b = typeof b.lastChild.getAttribute("multiple");
return "boolean" !== b && "string" !== b
}),
oc = za(function(b) {
return b.innerHTML = "", !b.getElementsByClassName || !b.getElementsByClassName("e").length ? !1 : (b.lastChild.className = "e", 2 === b.getElementsByClassName("e").length)
}),
cd = za(function(b) {
b.id = fa + 0;
b.innerHTML = "";
ja.insertBefore(b, ja.firstChild);
var c = na.getElementsByName && na.getElementsByName(fa).length === 2 + na.getElementsByName(fa + 0).length;
return ac = !na.getElementById(fa), ja.removeChild(b), c
});
try {
Ya.call(ja.childNodes, 0)[0].nodeType
} catch (Ld) {
Ya = function(b) {
for (var c, d = []; c = this[b]; b++) d.push(c);
return d
}
}
W.matches = function(b, c) {
return W(b, null, null, c)
};
W.matchesSelector = function(b, c) {
return 0 < W(c, null, null, [b]).length
};
Kb = W.getText = function(b) {
var c, d = "",
g = 0;
if (c = b.nodeType)
if (1 === c || 9 === c || 11 === c) {
if ("string" == typeof b.textContent) return b.textContent;
for (b = b.firstChild; b; b = b.nextSibling) d += Kb(b)
} else {
if (3 === c || 4 === c) return b.nodeValue
}
else
for (; c = b[g]; g++) d += Kb(c);
return d
};
Fb = W.isXML = function(b) {
return (b = b && (b.ownerDocument || b).documentElement) ? "HTML" !== b.nodeName : !1
};
nc = W.contains = ja.contains ? function(b, c) {
var d = 9 === b.nodeType ? b.documentElement : b,
g = c && c.parentNode;
return b === g || !(!g || !(1 === g.nodeType && d.contains && d.contains(g)))
} : ja.compareDocumentPosition ? function(b, c) {
return c && !!(b.compareDocumentPosition(c) & 16)
} : function(b, c) {
for (; c = c.parentNode;)
if (c === b) return !0;
return !1
};
W.attr = function(b, c) {
var d, g = Fb(b);
return g || (c = c.toLowerCase()), (d = da.attrHandle[c]) ? d(b) : g || bd ? b.getAttribute(c) : (d = b.getAttributeNode(c), d ? "boolean" == typeof b[c] ? b[c] ? c : null : d.specified ? d.value : null : null)
};
da = W.selectors = {
cacheLength: 50,
createPseudo: oa,
match: Hb,
attrHandle: ad ? {} : {
href: function(b) {
return b.getAttribute("href", 2)
},
type: function(b) {
return b.getAttribute("type")
}
},
find: {
ID: ac ? function(b, c, d) {
if ("undefined" !== typeof c.getElementById && !d) return (b = c.getElementById(b)) && b.parentNode ? [b] : []
} : function(b, c, d) {
if ("undefined" !== typeof c.getElementById && !d) return (c = c.getElementById(b)) ? c.id === b || "undefined" !== typeof c.getAttributeNode && c.getAttributeNode("id").value === b ? [c] : void 0 : []
},
TAG: $c ? function(b, c) {
if ("undefined" !== typeof c.getElementsByTagName) return c.getElementsByTagName(b)
} : function(b, c) {
var d = c.getElementsByTagName(b);
if ("*" === b) {
for (var g, l = [], e = 0; g = d[e]; e++) 1 === g.nodeType && l.push(g);
return l
}
return d
},
NAME: cd && function(b, c) {
if ("undefined" !== typeof c.getElementsByName) return c.getElementsByName(name)
},
CLASS: oc && function(b, c, d) {
if ("undefined" !== typeof c.getElementsByClassName && !d) return c.getElementsByClassName(b)
}
},
relative: {
">": {
dir: "parentNode",
first: !0
},
" ": {
dir: "parentNode"
},
"+": {
dir: "previousSibling",
first: !0
},
"~": {
dir: "previousSibling"
}
},
preFilter: {
ATTR: function(b) {
return b[1] = b[1].replace(Ha, ""), b[3] = (b[4] || b[5] || "").replace(Ha, ""), "~=" === b[2] && (b[3] = " " + b[3] + " "), b.slice(0, 4)
},
CHILD: function(b) {
return b[1] = b[1].toLowerCase(), "nth" === b[1] ? (b[2] || W.error(b[0]), b[3] = +(b[3] ? b[4] + (b[5] || 1) : 2 * ("even" === b[2] || "odd" === b[2])), b[4] = +(b[6] + b[7] || "odd" === b[2])) : b[2] && W.error(b[0]), b
},
PSEUDO: function(b) {
var c, d;
if (Hb.CHILD.test(b[0])) return null;
if (b[3]) b[2] = b[3];
else if (c = b[4]) Xc.test(c) && (d = ya(c, !0)) && (d = c.indexOf(")", c.length - d) - c.length) && (c = c.slice(0, d), b[0] = b[0].slice(0, d)), b[2] = c;
return b.slice(0, 3)
}
},
filter: {
ID: ac ? function(b) {
return b = b.replace(Ha, ""),
function(c) {
return c.getAttribute("id") === b
}
} : function(b) {
return b = b.replace(Ha, ""),
function(c) {
return (c = "undefined" !== typeof c.getAttributeNode && c.getAttributeNode("id")) && c.value === b
}
},
TAG: function(b) {
return "*" === b ? function() {
return !0
} : (b = b.replace(Ha, "").toLowerCase(), function(c) {
return c.nodeName && c.nodeName.toLowerCase() === b
})
},
CLASS: function(b) {
var c = uc[fa][b];
return c || (c = uc(b, RegExp("(^|[\\x20\\t\\r\\n\\f])" + b + "([\\x20\\t\\r\\n\\f]|$)"))),
function(b) {
return c.test(b.className || "undefined" !== typeof b.getAttribute && b.getAttribute("class") || "")
}
},
ATTR: function(b, c, d) {
return function(g) {
g = W.attr(g, b);
return null == g ? "!=" === c : c ? (g += "", "=" === c ? g === d : "!=" === c ? g !== d : "^=" === c ? d && 0 === g.indexOf(d) : "*=" === c ? d && -1 < g.indexOf(d) : "$=" === c ? d && g.substr(g.length - d.length) === d : "~=" === c ? -1 < (" " + g + " ").indexOf(d) : "|=" === c ? g === d || g.substr(0, d.length + 1) === d + "-" : !1) : !0
}
},
CHILD: function(b, c, d, g) {
return "nth" === b ? function(b) {
var c, l;
c = b.parentNode;
if (1 === d && 0 === g) return !0;
if (c) {
l = 0;
for (c = c.firstChild; c && !(1 === c.nodeType && (l++, b === c)); c = c.nextSibling);
}
return l -= g, l === d || 0 === l % d && 0 <= l / d
} : function(c) {
var d = c;
switch (b) {
case "only":
case "first":
for (; d = d.previousSibling;)
if (1 === d.nodeType) return !1;
if ("first" === b) return !0;
d = c;
case "last":
for (; d = d.nextSibling;)
if (1 === d.nodeType) return !1;
return !0
}
}
},
PSEUDO: function(b, c) {
var d, g = da.pseudos[b] || da.setFilters[b.toLowerCase()] || W.error("unsupported pseudo: " + b);
return g[fa] ? g(c) : 1 < g.length ? (d = [b, b, "", c], da.setFilters.hasOwnProperty(b.toLowerCase()) ? oa(function(b, d) {
for (var l, e = g(b, c), s = e.length; s--;) l = rc.call(b, e[s]), b[l] = !(d[l] = e[s])
}) : function(b) {
return g(b, 0, d)
}) : g
}
},
pseudos: {
not: oa(function(b) {
var c = [],
d = [],
g = $b(b.replace(Gb, "$1"));
return g[fa] ? oa(function(b, c, d, l) {
l = g(b, null, l, []);
for (var e = b.length; e--;)
if (d = l[e]) b[e] = !(c[e] = d)
}) : function(b, l, e) {
return c[0] = b, g(c, null, e, d), !d.pop()
}
}),
has: oa(function(b) {
return function(c) {
return 0 < W(b, c).length
}
}),
contains: oa(function(b) {
return function(c) {
return -1 < (c.textContent || c.innerText || Kb(c)).indexOf(b)
}
}),
enabled: function(b) {
return !1 === b.disabled
},
disabled: function(b) {
return !0 === b.disabled
},
checked: function(b) {
var c = b.nodeName.toLowerCase();
return "input" === c && !!b.checked || "option" === c && !!b.selected
},
selected: function(b) {
return b.parentNode && b.parentNode.selectedIndex, !0 === b.selected
},
parent: function(b) {
return !da.pseudos.empty(b)
},
empty: function(b) {
var c;
for (b = b.firstChild; b;) {
if ("@" < b.nodeName || 3 === (c = b.nodeType) || 4 === c) return !1;
b = b.nextSibling
}
return !0
},
header: function(b) {
return Yc.test(b.nodeName)
},
text: function(b) {
var c, d;
return "input" === b.nodeName.toLowerCase() && "text" === (c = b.type) && (null == (d = b.getAttribute("type")) || d.toLowerCase() === c)
},
radio: va("radio"),
checkbox: va("checkbox"),
file: va("file"),
password: va("password"),
image: va("image"),
submit: Za("submit"),
reset: Za("reset"),
button: function(b) {
var c = b.nodeName.toLowerCase();
return "input" === c && "button" === b.type || "button" === c
},
input: function(b) {
return Zc.test(b.nodeName)
},
focus: function(b) {
var c = b.ownerDocument;
return b === c.activeElement && (!c.hasFocus || c.hasFocus()) && (!!b.type || !!b.href)
},
active: function(b) {
return b === b.ownerDocument.activeElement
},
first: pa(function() {
return [0]
}),
last: pa(function(b, c) {
return [c - 1]
}),
eq: pa(function(b, c, d) {
return [0 > d ? d + c : d]
}),
even: pa(function(b, c) {
for (var d = 0; d < c; d += 2) b.push(d);
return b
}),
odd: pa(function(b, c) {
for (var d = 1; d < c; d += 2) b.push(d);
return b
}),
lt: pa(function(b, c, d) {
for (c = 0 > d ? d + c : d; 0 <= --c;) b.push(c);
return b
}),
gt: pa(function(b, c, d) {
for (d = 0 > d ? d + c : d; ++d < c;) b.push(d);
return b
})
}
};
bc = ja.compareDocumentPosition ? function(b, c) {
return b === c ? (ub = !0, 0) : (!b.compareDocumentPosition || !c.compareDocumentPosition ? b.compareDocumentPosition : b.compareDocumentPosition(c) & 4) ? -1 : 1
} : function(b, c) {
if (b === c) return ub = !0, 0;
if (b.sourceIndex && c.sourceIndex) return b.sourceIndex - c.sourceIndex;
var d, g, l = [],
e = [];
d = b.parentNode;
g = c.parentNode;
var s = d;
if (d === g) return xa(b, c);
if (!d) return -1;
if (!g) return 1;
for (; s;) l.unshift(s), s = s.parentNode;
for (s = g; s;) e.unshift(s), s = s.parentNode;
d = l.length;
g = e.length;
for (s = 0; s < d && s < g; s++)
if (l[s] !== e[s]) return xa(l[s], e[s]);
return s === d ? xa(b, e[s], -1) : xa(l[s], c, 1)
};
[0, 0].sort(bc);
tc = !ub;
W.uniqueSort = function(b) {
var c, d = 1;
ub = tc;
b.sort(bc);
if (ub)
for (; c = b[d]; d++) c === b[d - 1] && b.splice(d--, 1);
return b
};
W.error = function(b) {
throw Error("Syntax error, unrecognized expression: " + b);
};
$b = W.compile = function(b, c) {
var d, g = [],
l = [],
e = vc[fa][b];
if (!e) {
c || (c = ya(b));
for (d = c.length; d--;) e = Yb(c[d]), e[fa] ? g.push(e) : l.push(e);
var s = 0 < g.length,
m = 0 < l.length,
f = function(b, c, d, e, p) {
var r, j, n = [],
F = 0,
v = "0",
D = b && [],
ba = null != p,
aa = Jb,
y = b || m && da.find.TAG("*", p && c.parentNode || c),
O = tb += null == aa ? 1 : Math.E;
for (ba && (Jb = c !== na && c, Ub = f.el); null != (p = y[v]); v++) {
if (m && p) {
for (r = 0; j = l[r]; r++)
if (j(p, c, d)) {
e.push(p);
break
}
ba && (tb = O, Ub = ++f.el)
}
s && ((p = !j && p) && F--, b && D.push(p))
}
F += v;
if (s && v !== F) {
for (r = 0; j = g[r]; r++) j(D, n, c, d);
if (b) {
if (0 < F)
for (; v--;) !D[v] && !n[v] && (n[v] = Wc.call(e));
n = Ib(n)
}
Xa.apply(e, n);
ba && !b && 0 < n.length && 1 < F + g.length && W.uniqueSort(e)
}
return ba && (tb = O, Jb = aa), D
};
d = (f.el = 0, s ? oa(f) : f);
e = vc(b, d)
}
return e
};
if (na.querySelectorAll) {
var xc, dd = Tb,
ed = /'|\\/g,
fd = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,
ta = [":focus"],
Lb = [":active", ":focus"],
Mb = ja.matchesSelector || ja.mozMatchesSelector || ja.webkitMatchesSelector || ja.oMatchesSelector || ja.msMatchesSelector;
za(function(b) {
b.innerHTML = "";
b.querySelectorAll("[selected]").length || ta.push("\\[[\\x20\\t\\r\\n\\f]*(?:checked|disabled|ismap|multiple|readonly|selected|value)");
b.querySelectorAll(":checked").length || ta.push(":checked")
});
za(function(b) {
b.innerHTML = "";
b.querySelectorAll("[test^='']").length && ta.push("[*^$]=[\\x20\\t\\r\\n\\f]*(?:\"\"|'')");
b.innerHTML = "";
b.querySelectorAll(":enabled").length || ta.push(":enabled", ":disabled")
});
ta = RegExp(ta.join("|"));
Tb = function(b, c, d, g, l) {
if (!g && !l && (!ta || !ta.test(b))) {
var e, s, m = !0,
f = fa;
s = c;
e = 9 === c.nodeType && b;
if (1 === c.nodeType && "object" !== c.nodeName.toLowerCase()) {
e = ya(b);
(m = c.getAttribute("id")) ? f = m.replace(ed, "\\$&"): c.setAttribute("id", f);
f = "[id='" + f + "'] ";
for (s = e.length; s--;) e[s] = f + e[s].join("");
s = Zb.test(b) && c.parentNode || c;
e = e.join(",")
}
if (e) try {
return Xa.apply(d, Ya.call(s.querySelectorAll(e), 0)), d
} catch (p) {} finally {
m || c.removeAttribute("id")
}
}
return dd(b, c, d, g, l)
};
Mb && (za(function(b) {
xc = Mb.call(b, "div");
try {
Mb.call(b, "[test!='']:sizzle"), Lb.push("!=", dc)
} catch (c) {}
}), Lb = RegExp(Lb.join("|")), W.matchesSelector = function(b, c) {
c = c.replace(fd, "='$1']");
if (!Fb(b) && !Lb.test(c) && (!ta || !ta.test(c))) try {
var d = Mb.call(b, c);
if (d || xc || b.document && 11 !== b.document.nodeType) return d
} catch (g) {}
return 0 < W(c, null, null, [b]).length
})
}
da.pseudos.nth = da.pseudos.eq;
da.filters = sc.prototype = da.pseudos;
da.setFilters = new sc;
W.attr = m.attr;
m.find = W;
m.expr = W.selectors;
m.expr[":"] = m.expr.pseudos;
m.unique = W.uniqueSort;
m.text = W.getText;
m.isXMLDoc = W.isXML;
m.contains = W.contains;
var gd = /Until$/,
hd = /^(?:parents|prev(?:Until|All))/,
Oc = /^.[^:#\[\.,]*$/,
yc = m.expr.match.needsContext,
id = {
children: !0,
contents: !0,
next: !0,
prev: !0
};
m.fn.extend({
find: function(b) {
var c, d, g, l, e, s, f = this;
if ("string" != typeof b) return m(b).filter(function() {
c = 0;
for (d = f.length; c < d; c++)
if (m.contains(f[c], this)) return !0
});
s = this.pushStack("", "find", b);
c = 0;
for (d = this.length; c < d; c++)
if (g = s.length, m.find(b, this[c], s), 0 < c)
for (l = g; l < s.length; l++)
for (e = 0; e < g; e++)
if (s[e] === s[l]) {
s.splice(l--, 1);
break
}
return s
},
has: function(b) {
var c, d = m(b, this),
g = d.length;
return this.filter(function() {
for (c = 0; c < g; c++)
if (m.contains(this, d[c])) return !0
})
},
not: function(b) {
return this.pushStack(g(this, b, !1), "not", b)
},
filter: function(b) {
return this.pushStack(g(this, b, !0), "filter", b)
},
is: function(b) {
return !!b && ("string" == typeof b ? yc.test(b) ? 0 <= m(b, this.context).index(this[0]) : 0 < m.filter(b, this).length : 0 < this.filter(b).length)
},
closest: function(b, c) {
for (var d, g = 0, l = this.length, e = [], s = yc.test(b) || "string" != typeof b ? m(b, c || this.context) : 0; g < l; g++)
for (d = this[g]; d && d.ownerDocument && d !== c && 11 !== d.nodeType;) {
if (s ? -1 < s.index(d) : m.find.matchesSelector(d, b)) {
e.push(d);
break
}
d = d.parentNode
}
return e = 1 < e.length ? m.unique(e) : e, this.pushStack(e, "closest", b)
},
index: function(b) {
return b ? "string" == typeof b ? m.inArray(this[0], m(b)) : m.inArray(b.jquery ? b[0] : b, this) : this[0] && this[0].parentNode ? this.prevAll().length : -1
},
add: function(b, c) {
var d = "string" == typeof b ? m(b, c) : m.makeArray(b && b.nodeType ? [b] : b),
g = m.merge(this.get(), d);
return this.pushStack(q(d[0]) || q(g[0]) ? g : m.unique(g))
},
addBack: function(b) {
return this.add(null == b ? this.prevObject : this.prevObject.filter(b))
}
});
m.fn.andSelf = m.fn.addBack;
m.each({
parent: function(b) {
return (b = b.parentNode) && 11 !== b.nodeType ? b : null
},
parents: function(b) {
return m.dir(b, "parentNode")
},
parentsUntil: function(b, c, d) {
return m.dir(b, "parentNode", d)
},
next: function(b) {
return n(b, "nextSibling")
},
prev: function(b) {
return n(b, "previousSibling")
},
nextAll: function(b) {
return m.dir(b, "nextSibling")
},
prevAll: function(b) {
return m.dir(b, "previousSibling")
},
nextUntil: function(b, c, d) {
return m.dir(b, "nextSibling", d)
},
prevUntil: function(b, c, d) {
return m.dir(b, "previousSibling", d)
},
siblings: function(b) {
return m.sibling((b.parentNode || {}).firstChild, b)
},
children: function(b) {
return m.sibling(b.firstChild)
},
contents: function(b) {
return m.nodeName(b, "iframe") ? b.contentDocument || b.contentWindow.document : m.merge([], b.childNodes)
}
}, function(b, c) {
m.fn[b] = function(d, g) {
var l = m.map(this, c, d);
return gd.test(b) || (g = d), g && "string" == typeof g && (l = m.filter(g, l)), l = 1 < this.length && !id[b] ? m.unique(l) : l, 1 < this.length && hd.test(b) && (l = l.reverse()), this.pushStack(l, b, F.call(arguments).join(","))
}
});
m.extend({
filter: function(b, c, d) {
return d && (b = ":not(" + b + ")"), 1 === c.length ? m.find.matchesSelector(c[0], b) ? [c[0]] : [] : m.find.matches(b, c)
},
dir: function(b, d, g) {
var l = [];
for (b = b[d]; b && 9 !== b.nodeType && (g === c || 1 !== b.nodeType || !m(b).is(g));) 1 === b.nodeType && l.push(b), b = b[d];
return l
},
sibling: function(b, c) {
for (var d = []; b; b = b.nextSibling) 1 === b.nodeType && b !== c && d.push(b);
return d
}
});
var kc = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
jd = / jQuery\d+="(?:null|\d+)"/g,
ec = /^\s+/,
zc = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
Ac = /<([\w:]+)/,
kd = /]", "i"),
lc = /^(?:checkbox|radio)$/,
Bc = /checked\s*(?:[^=]|=\s*.checked.)/i,
od = /\/(java|ecma)script/i,
pd = /^\s*\s*$/g,
ia = {
option: [1, ""],
legend: [1, ""],
thead: [1, ""],
tr: [2, ""],
td: [3, ""],
col: [2, ""],
area: [1, ""],
_default: [0, "", ""]
},
Cc = y(J),
gc = Cc.appendChild(J.createElement("div"));
ia.optgroup = ia.option;
ia.tbody = ia.tfoot = ia.colgroup = ia.caption = ia.thead;
ia.th = ia.td;
m.support.htmlSerialize || (ia._default = [1, "X", "
"]);
m.fn.extend({
text: function(b) {
return m.access(this, function(b) {
return b === c ? m.text(this) : this.empty().append((this[0] && this[0].ownerDocument || J).createTextNode(b))
}, null, b, arguments.length)
},
wrapAll: function(b) {
if (m.isFunction(b)) return this.each(function(c) {
m(this).wrapAll(b.call(this, c))
});
if (this[0]) {
var c = m(b, this[0].ownerDocument).eq(0).clone(!0);
this[0].parentNode && c.insertBefore(this[0]);
c.map(function() {
for (var b = this; b.firstChild && 1 === b.firstChild.nodeType;) b = b.firstChild;
return b
}).append(this)
}
return this
},
wrapInner: function(b) {
return m.isFunction(b) ? this.each(function(c) {
m(this).wrapInner(b.call(this, c))
}) : this.each(function() {
var c = m(this),
d = c.contents();
d.length ? d.wrapAll(b) : c.append(b)
})
},
wrap: function(b) {
var c = m.isFunction(b);
return this.each(function(d) {
m(this).wrapAll(c ? b.call(this, d) : b)
})
},
unwrap: function() {
return this.parent().each(function() {
m.nodeName(this, "body") || m(this).replaceWith(this.childNodes)
}).end()
},
append: function() {
return this.domManip(arguments, !0, function(b) {
(1 === this.nodeType || 11 === this.nodeType) && this.appendChild(b)
})
},
prepend: function() {
return this.domManip(arguments, !0, function(b) {
(1 === this.nodeType || 11 === this.nodeType) && this.insertBefore(b, this.firstChild)
})
},
before: function() {
if (!q(this[0])) return this.domManip(arguments, !1, function(b) {
this.parentNode.insertBefore(b, this)
});
if (arguments.length) {
var b = m.clean(arguments);
return this.pushStack(m.merge(b, this), "before", this.selector)
}
},
after: function() {
if (!q(this[0])) return this.domManip(arguments, !1, function(b) {
this.parentNode.insertBefore(b, this.nextSibling)
});
if (arguments.length) {
var b = m.clean(arguments);
return this.pushStack(m.merge(this, b), "after", this.selector)
}
},
remove: function(b, c) {
for (var d, g = 0; null != (d = this[g]); g++)
if (!b || m.filter(b, [d]).length) !c && 1 === d.nodeType && (m.cleanData(d.getElementsByTagName("*")), m.cleanData([d])), d.parentNode && d.parentNode.removeChild(d);
return this
},
empty: function() {
for (var b, c = 0; null != (b = this[c]); c++)
for (1 === b.nodeType && m.cleanData(b.getElementsByTagName("*")); b.firstChild;) b.removeChild(b.firstChild);
return this
},
clone: function(b, c) {
return b = null == b ? !1 : b, c = null == c ? b : c, this.map(function() {
return m.clone(this, b, c)
})
},
html: function(b) {
return m.access(this, function(b) {
var d = this[0] || {},
g = 0,
l = this.length;
if (b === c) return 1 === d.nodeType ? d.innerHTML.replace(jd, "") : c;
if ("string" == typeof b && !md.test(b) && (m.support.htmlSerialize || !fc.test(b)) && (m.support.leadingWhitespace || !ec.test(b)) && !ia[(Ac.exec(b) || ["", ""])[1].toLowerCase()]) {
b = b.replace(zc, "<$1>$2>");
try {
for (; g < l; g++) d = this[g] || {}, 1 === d.nodeType && (m.cleanData(d.getElementsByTagName("*")), d.innerHTML = b);
d = 0
} catch (e) {}
}
d && this.empty().append(b)
}, null, b, arguments.length)
},
replaceWith: function(b) {
return q(this[0]) ? this.length ? this.pushStack(m(m.isFunction(b) ? b() : b), "replaceWith", b) : this : m.isFunction(b) ? this.each(function(c) {
var d = m(this),
g = d.html();
d.replaceWith(b.call(this, c, g))
}) : ("string" != typeof b && (b = m(b).detach()), this.each(function() {
var c = this.nextSibling,
d = this.parentNode;
m(this).remove();
c ? m(c).before(b) : m(d).append(b)
}))
},
detach: function(b) {
return this.remove(b, !0)
},
domManip: function(b, d, g) {
b = [].concat.apply([], b);
var l, e, s, f = 0,
p = b[0],
r = [],
j = this.length;
if (!m.support.checkClone && 1 < j && "string" == typeof p && Bc.test(p)) return this.each(function() {
m(this).domManip(b, d, g)
});
if (m.isFunction(p)) return this.each(function(l) {
var e = m(this);
b[0] = p.call(this, l, d ? e.html() : c);
e.domManip(b, d, g)
});
if (this[0]) {
l = m.buildFragment(b, this, r);
s = l.fragment;
e = s.firstChild;
1 === s.childNodes.length && (s = e);
if (e) {
d = d && m.nodeName(e, "tr");
for (l = l.cacheable || j - 1; f < j; f++) g.call(d && m.nodeName(this[f], "table") ? this[f].getElementsByTagName("tbody")[0] || this[f].appendChild(this[f].ownerDocument.createElement("tbody")) : this[f], f === l ? s : m.clone(s, !0, !0))
}
s = e = null;
r.length && m.each(r, function(b, c) {
c.src ? m.ajax ? m.ajax({
url: c.src,
type: "GET",
dataType: "script",
async: !1,
global: !1,
"throws": !0
}) : m.error("no ajax") : m.globalEval((c.text || c.textContent || c.innerHTML || "").replace(pd, ""));
c.parentNode && c.parentNode.removeChild(c)
})
}
return this
}
});
m.buildFragment = function(b, d, g) {
var l, e, s, f = b[0];
return d = d || J, d = !d.nodeType && d[0] || d, d = d.ownerDocument || d, 1 === b.length && "string" == typeof f && 512 > f.length && d === J && "<" === f.charAt(0) && !nd.test(f) && (m.support.checkClone || !Bc.test(f)) && (m.support.html5Clone || !fc.test(f)) && (e = !0, l = m.fragments[f], s = l !== c), l || (l = d.createDocumentFragment(), m.clean(b, d, l, g), e && (m.fragments[f] = s && l)), {
fragment: l,
cacheable: e
}
};
m.fragments = {};
m.each({
appendTo: "append",
prependTo: "prepend",
insertBefore: "before",
insertAfter: "after",
replaceAll: "replaceWith"
}, function(b, c) {
m.fn[b] = function(d) {
var g, l = 0,
e = [];
d = m(d);
var s = d.length;
g = 1 === this.length && this[0].parentNode;
if ((null == g || g && 11 === g.nodeType && 1 === g.childNodes.length) && 1 === s) return d[c](this[0]), this;
for (; l < s; l++) g = (0 < l ? this.clone(!0) : this).get(), m(d[l])[c](g), e = e.concat(g);
return this.pushStack(e, b, d.selector)
}
});
m.extend({
clone: function(b, c, d) {
var g, l, e, s;
m.support.html5Clone || m.isXMLDoc(b) || !fc.test("<" + b.nodeName + ">") ? s = b.cloneNode(!0) : (gc.innerHTML = b.outerHTML, gc.removeChild(s = gc.firstChild));
if ((!m.support.noCloneEvent || !m.support.noCloneChecked) && (1 === b.nodeType || 11 === b.nodeType) && !m.isXMLDoc(b)) {
z(b, s);
g = B(b);
l = B(s);
for (e = 0; g[e]; ++e) l[e] && z(g[e], l[e])
}
if (c && (A(b, s), d)) {
g = B(b);
l = B(s);
for (e = 0; g[e]; ++e) A(g[e], l[e])
}
return s
},
clean: function(b, c, d, g) {
var l, e, s, f, p, r, j, n = c === J && Cc,
F = [];
if (!c || "undefined" == typeof c.createDocumentFragment) c = J;
for (l = 0; null != (s = b[l]); l++)
if ("number" == typeof s && (s += ""), s) {
if ("string" == typeof s)
if (ld.test(s)) {
n = n || y(c);
r = c.createElement("div");
n.appendChild(r);
s = s.replace(zc, "<$1>$2>");
e = (Ac.exec(s) || ["", ""])[1].toLowerCase();
f = ia[e] || ia._default;
p = f[0];
for (r.innerHTML = f[1] + s + f[2]; p--;) r = r.lastChild;
if (!m.support.tbody) {
p = kd.test(s);
f = "table" === e && !p ? r.firstChild && r.firstChild.childNodes : "" === f[1] && !p ? r.childNodes : [];
for (e = f.length - 1; 0 <= e; --e) m.nodeName(f[e], "tbody") && !f[e].childNodes.length && f[e].parentNode.removeChild(f[e])
}!m.support.leadingWhitespace && ec.test(s) && r.insertBefore(c.createTextNode(ec.exec(s)[0]), r.firstChild);
s = r.childNodes;
r.parentNode.removeChild(r)
} else s = c.createTextNode(s);
s.nodeType ? F.push(s) : m.merge(F, s)
}
r && (s = r = n = null);
if (!m.support.appendChecked)
for (l = 0; null != (s = F[l]); l++) m.nodeName(s, "input") ? C(s) : "undefined" != typeof s.getElementsByTagName && m.grep(s.getElementsByTagName("input"), C);
if (d) {
b = function(b) {
if (!b.type || od.test(b.type)) return g ? g.push(b.parentNode ? b.parentNode.removeChild(b) : b) : d.appendChild(b)
};
for (l = 0; null != (s = F[l]); l++)
if (!m.nodeName(s, "script") || !b(s)) d.appendChild(s), "undefined" != typeof s.getElementsByTagName && (j = m.grep(m.merge([], s.getElementsByTagName("script")), b), F.splice.apply(F, [l + 1, 0].concat(j)), l += j.length)
}
return F
},
cleanData: function(b, c) {
for (var d, g, l, e, s = 0, f = m.expando, p = m.cache, r = m.support.deleteExpando, j = m.event.special; null != (l = b[s]); s++)
if (c || m.acceptData(l))
if (d = (g = l[f]) && p[g]) {
if (d.events)
for (e in d.events) j[e] ? m.event.remove(l, e) : m.removeEvent(l, e, d.handle);
p[g] && (delete p[g], r ? delete l[f] : l.removeAttribute ? l.removeAttribute(f) : l[f] = null, m.deletedIds.push(g))
}
}
});
var Nb, Aa;
m.uaMatch = function(b) {
b = b.toLowerCase();
b = /(chrome)[ \/]([\w.]+)/.exec(b) || /(webkit)[ \/]([\w.]+)/.exec(b) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(b) || /(msie) ([\w.]+)/.exec(b) || 0 > b.indexOf("compatible") && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(b) || [];
return {
browser: b[1] || "",
version: b[2] || "0"
}
};
Nb = m.uaMatch(l.userAgent);
Aa = {};
Nb.browser && (Aa[Nb.browser] = !0, Aa.version = Nb.version);
Aa.chrome ? Aa.webkit = !0 : Aa.webkit && (Aa.safari = !0);
m.browser = Aa;
m.sub = function() {
function b(c, d) {
return new b.fn.init(c, d)
}
m.extend(!0, b, this);
b.superclass = this;
b.fn = b.prototype = this();
b.fn.constructor = b;
b.sub = this.sub;
b.fn.init = function(d, g) {
return g && g instanceof m && !(g instanceof b) && (g = b(g)), m.fn.init.call(this, d, g, c)
};
b.fn.init.prototype = b.fn;
var c = b(J);
return b
};
var ha, Ka, La, hc = /alpha\([^)]*\)/i,
qd = /opacity=([^)]*)/,
rd = /^(top|right|bottom|left)$/,
sd = /^(none|table(?!-c[ea]).+)/,
Dc = /^margin/,
Pc = RegExp("^(" + la + ")(.*)$", "i"),
xb = RegExp("^(" + la + ")(?!px)[a-z%]+$", "i"),
td = RegExp("^([-+])=(" + la + ")", "i"),
Qb = {},
ud = {
position: "absolute",
visibility: "hidden",
display: "block"
},
Ec = {
letterSpacing: 0,
fontWeight: 400
},
Ba = ["Top", "Right", "Bottom", "Left"],
mc = ["Webkit", "O", "Moz", "ms"],
vd = m.fn.toggle;
m.fn.extend({
css: function(b, d) {
return m.access(this, function(b, d, g) {
return g !== c ? m.style(b, d, g) : m.css(b, d)
}, b, d, 1 < arguments.length)
},
show: function() {
return u(this, !0)
},
hide: function() {
return u(this)
},
toggle: function(b, c) {
var d = "boolean" == typeof b;
return m.isFunction(b) && m.isFunction(c) ? vd.apply(this, arguments) : this.each(function() {
(d ? b : I(this)) ? m(this).show(): m(this).hide()
})
}
});
m.extend({
cssHooks: {
opacity: {
get: function(b, c) {
if (c) {
var d = ha(b, "opacity");
return "" === d ? "1" : d
}
}
}
},
cssNumber: {
fillOpacity: !0,
fontWeight: !0,
lineHeight: !0,
opacity: !0,
orphans: !0,
widows: !0,
zIndex: !0,
zoom: !0
},
cssProps: {
"float": m.support.cssFloat ? "cssFloat" : "styleFloat"
},
style: function(b, d, g, l) {
if (b && !(3 === b.nodeType || 8 === b.nodeType || !b.style)) {
var e, s, f, p = m.camelCase(d),
r = b.style;
d = m.cssProps[p] || (m.cssProps[p] = G(r, p));
f = m.cssHooks[d] || m.cssHooks[p];
if (g === c) return f && "get" in f && (e = f.get(b, !1, l)) !== c ? e : r[d];
s = typeof g;
"string" === s && (e = td.exec(g)) && (g = (e[1] + 1) * e[2] + parseFloat(m.css(b, d)), s = "number");
if (!(null == g || "number" === s && isNaN(g)))
if ("number" === s && !m.cssNumber[p] && (g += "px"), !f || !("set" in f) || (g = f.set(b, g, l)) !== c) try {
r[d] = g
} catch (j) {}
}
},
css: function(b, d, g, l) {
var e, s, f, p = m.camelCase(d);
return d = m.cssProps[p] || (m.cssProps[p] = G(b.style, p)), f = m.cssHooks[d] || m.cssHooks[p], f && "get" in f && (e = f.get(b, !0, l)), e === c && (e = ha(b, d)), "normal" === e && d in Ec && (e = Ec[d]), g || l !== c ? (s = parseFloat(e), g || m.isNumeric(s) ? s || 0 : e) : e
},
swap: function(b, c, d) {
var g, l = {};
for (g in c) l[g] = b.style[g], b.style[g] = c[g];
d = d.call(b);
for (g in c) b.style[g] = l[g];
return d
}
});
b.getComputedStyle ? ha = function(c, d) {
var g, l, e, s, f = b.getComputedStyle(c, null),
p = c.style;
return f && (g = f[d], "" === g && !m.contains(c.ownerDocument, c) && (g = m.style(c, d)), xb.test(g) && Dc.test(d) && (l = p.width, e = p.minWidth, s = p.maxWidth, p.minWidth = p.maxWidth = p.width = g, g = f.width, p.width = l, p.minWidth = e, p.maxWidth = s)), g
} : J.documentElement.currentStyle && (ha = function(b, c) {
var d, g, l = b.currentStyle && b.currentStyle[c],
e = b.style;
return null == l && e && e[c] && (l = e[c]), xb.test(l) && !rd.test(c) && (d = e.left, g = b.runtimeStyle && b.runtimeStyle.left, g && (b.runtimeStyle.left = b.currentStyle.left), e.left = "fontSize" === c ? "1em" : l, l = e.pixelLeft + "px", e.left = d, g && (b.runtimeStyle.left = g)), "" === l ? "auto" : l
});
m.each(["height", "width"], function(b, c) {
m.cssHooks[c] = {
get: function(b, d, g) {
if (d) return 0 === b.offsetWidth && sd.test(ha(b, "display")) ? m.swap(b, ud, function() {
return Q(b, c, g)
}) : Q(b, c, g)
},
set: function(b, d, g) {
return L(b, d, g ? E(b, c, g, m.support.boxSizing && "border-box" === m.css(b, "boxSizing")) : 0)
}
}
});
m.support.opacity || (m.cssHooks.opacity = {
get: function(b, c) {
return qd.test((c && b.currentStyle ? b.currentStyle.filter : b.style.filter) || "") ? 0.01 * parseFloat(RegExp.$1) + "" : c ? "1" : ""
},
set: function(b, c) {
var d = b.style,
g = b.currentStyle,
l = m.isNumeric(c) ? "alpha(opacity=" + 100 * c + ")" : "",
e = g && g.filter || d.filter || "";
d.zoom = 1;
if (!(1 <= c && "" === m.trim(e.replace(hc, "")) && d.removeAttribute && (d.removeAttribute("filter"), g && !g.filter))) d.filter = hc.test(e) ? e.replace(hc, l) : e + " " + l
}
});
m(function() {
m.support.reliableMarginRight || (m.cssHooks.marginRight = {
get: function(b, c) {
return m.swap(b, {
display: "inline-block"
}, function() {
if (c) return ha(b, "marginRight")
})
}
});
!m.support.pixelPosition && m.fn.position && m.each(["top", "left"], function(b, c) {
m.cssHooks[c] = {
get: function(b, d) {
if (d) {
var g = ha(b, c);
return xb.test(g) ? m(b).position()[c] + "px" : g
}
}
}
})
});
m.expr && m.expr.filters && (m.expr.filters.hidden = function(b) {
return 0 === b.offsetWidth && 0 === b.offsetHeight || !m.support.reliableHiddenOffsets && "none" === (b.style && b.style.display || ha(b, "display"))
}, m.expr.filters.visible = function(b) {
return !m.expr.filters.hidden(b)
});
m.each({
margin: "",
padding: "",
border: "Width"
}, function(b, c) {
m.cssHooks[b + c] = {
expand: function(d) {
var g = "string" == typeof d ? d.split(" ") : [d],
l = {};
for (d = 0; 4 > d; d++) l[b + Ba[d] + c] = g[d] || g[d - 2] || g[0];
return l
}
};
Dc.test(b) || (m.cssHooks[b + c].set = L)
});
var wd = /%20/g,
Qc = /\[\]$/,
Fc = /\r?\n/g,
xd = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
yd = /^(?:select|textarea)/i;
m.fn.extend({
serialize: function() {
return m.param(this.serializeArray())
},
serializeArray: function() {
return this.map(function() {
return this.elements ? m.makeArray(this.elements) : this
}).filter(function() {
return this.name && !this.disabled && (this.checked || yd.test(this.nodeName) || xd.test(this.type))
}).map(function(b, c) {
var d = m(this).val();
return null == d ? null : m.isArray(d) ? m.map(d, function(b) {
return {
name: c.name,
value: b.replace(Fc, "\r\n")
}
}) : {
name: c.name,
value: d.replace(Fc, "\r\n")
}
}).get()
}
});
m.param = function(b, d) {
var g, l = [],
e = function(b, c) {
c = m.isFunction(c) ? c() : null == c ? "" : c;
l[l.length] = encodeURIComponent(b) + "=" + encodeURIComponent(c)
};
d === c && (d = m.ajaxSettings && m.ajaxSettings.traditional);
if (m.isArray(b) || b.jquery && !m.isPlainObject(b)) m.each(b, function() {
e(this.name, this.value)
});
else
for (g in b) R(g, b[g], d, e);
return l.join("&").replace(wd, "+")
};
var $a, Ia, zd = /#.*$/,
Ad = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg,
Bd = /^(?:GET|HEAD)$/,
Cd = /^\/\//,
Gc = /\?/,
Dd = /