! function(e, t) {
"object" == typeof module && "object" == typeof module.exports ? module.exports = e.document ? t(e, !0) : function(e) {
if (!e.document) throw new Error("jQuery requires a window with a document");
return t(e)
} : t(e)
}("undefined" != typeof window ? window : this, function(e, t) {
function n(e) {
var t = !!e && "length" in e && e.length,
n = oe.type(e);
return "function" !== n && !oe.isWindow(e) && ("array" === n || 0 === t || "number" == typeof t && t > 0 && t - 1 in e)
}
function r(e, t, n) {
if (oe.isFunction(t)) return oe.grep(e, function(e, r) {
return !!t.call(e, r, e) !== n
});
if (t.nodeType) return oe.grep(e, function(e) {
return e === t !== n
});
if ("string" == typeof t) {
if (ge.test(t)) return oe.filter(t, e, n);
t = oe.filter(t, e)
}
return oe.grep(e, function(e) {
return Z.call(t, e) > -1 !== n
})
}
function i(e, t) {
for (;
(e = e[t]) && 1 !== e.nodeType;);
return e
}
function o(e) {
var t = {};
return oe.each(e.match(we) || [], function(e, n) {
t[n] = !0
}), t
}
function s() {
G.removeEventListener("DOMContentLoaded", s), e.removeEventListener("load", s), oe.ready()
}
function a() {
this.expando = oe.expando + a.uid++
}
function u(e, t, n) {
var r;
if (void 0 === n && 1 === e.nodeType)
if (r = "data-" + t.replace(je, "-$&").toLowerCase(), n = e.getAttribute(r), "string" == typeof n) {
try {
n = "true" === n || "false" !== n && ("null" === n ? null : +n + "" === n ? +n : Se.test(n) ? oe.parseJSON(n) : n)
} catch (e) {}
Ne.set(e, t, n)
} else n = void 0;
return n
}
function l(e, t, n, r) {
var i, o = 1,
s = 20,
a = r ? function() {
return r.cur()
} : function() {
return oe.css(e, t, "")
},
u = a(),
l = n && n[3] || (oe.cssNumber[t] ? "" : "px"),
c = (oe.cssNumber[t] || "px" !== l && +u) && Ae.exec(oe.css(e, t));
if (c && c[3] !== l) {
l = l || c[3], n = n || [], c = +u || 1;
do o = o || ".5", c /= o, oe.style(e, t, c + l); while (o !== (o = a() / u) && 1 !== o && --s)
}
return n && (c = +c || +u || 0, i = n[1] ? c + (n[1] + 1) * n[2] : +n[2], r && (r.unit = l, r.start = c, r.end = i)), i
}
function c(e, t) {
var n = "undefined" != typeof e.getElementsByTagName ? e.getElementsByTagName(t || "*") : "undefined" != typeof e.querySelectorAll ? e.querySelectorAll(t || "*") : [];
return void 0 === t || t && oe.nodeName(e, t) ? oe.merge([e], n) : n
}
function f(e, t) {
for (var n = 0, r = e.length; r > n; n++) Ee.set(e[n], "globalEval", !t || Ee.get(t[n], "globalEval"))
}
function p(e, t, n, r, i) {
for (var o, s, a, u, l, p, d = t.createDocumentFragment(), h = [], g = 0, v = e.length; v > g; g++)
if (o = e[g], o || 0 === o)
if ("object" === oe.type(o)) oe.merge(h, o.nodeType ? [o] : o);
else if (Re.test(o)) {
for (s = s || d.appendChild(t.createElement("div")), a = (Oe.exec(o) || ["", ""])[1].toLowerCase(), u = Pe[a] || Pe._default, s.innerHTML = u[1] + oe.htmlPrefilter(o) + u[2], p = u[0]; p--;) s = s.lastChild;
oe.merge(h, s.childNodes), s = d.firstChild, s.textContent = ""
} else h.push(t.createTextNode(o));
for (d.textContent = "", g = 0; o = h[g++];)
if (r && oe.inArray(o, r) > -1) i && i.push(o);
else if (l = oe.contains(o.ownerDocument, o), s = c(d.appendChild(o), "script"), l && f(s), n)
for (p = 0; o = s[p++];) Fe.test(o.type || "") && n.push(o);
return d
}
function d() {
return !0
}
function h() {
return !1
}
function g() {
try {
return G.activeElement
} catch (e) {}
}
function v(e, t, n, r, i, o) {
var s, a;
if ("object" == typeof t) {
"string" != typeof n && (r = r || n, n = void 0);
for (a in t) v(e, a, n, r, t[a], o);
return e
}
if (null == r && null == i ? (i = n, r = n = void 0) : null == i && ("string" == typeof n ? (i = r, r = void 0) : (i = r, r = n, n = void 0)), i === !1) i = h;
else if (!i) return e;
return 1 === o && (s = i, i = function(e) {
return oe().off(e), s.apply(this, arguments)
}, i.guid = s.guid || (s.guid = oe.guid++)), e.each(function() {
oe.event.add(this, t, i, r, n)
})
}
function m(e, t) {
return oe.nodeName(e, "table") && oe.nodeName(11 !== t.nodeType ? t : t.firstChild, "tr") ? e.getElementsByTagName("tbody")[0] || e.appendChild(e.ownerDocument.createElement("tbody")) : e
}
function y(e) {
return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e
}
function x(e) {
var t = Xe.exec(e.type);
return t ? e.type = t[1] : e.removeAttribute("type"), e
}
function b(e, t) {
var n, r, i, o, s, a, u, l;
if (1 === t.nodeType) {
if (Ee.hasData(e) && (o = Ee.access(e), s = Ee.set(t, o), l = o.events)) {
delete s.handle, s.events = {};
for (i in l)
for (n = 0, r = l[i].length; r > n; n++) oe.event.add(t, i, l[i][n])
}
Ne.hasData(e) && (a = Ne.access(e), u = oe.extend({}, a), Ne.set(t, u))
}
}
function w(e, t) {
var n = t.nodeName.toLowerCase();
"input" === n && He.test(e.type) ? t.checked = e.checked : "input" !== n && "textarea" !== n || (t.defaultValue = e.defaultValue)
}
function T(e, t, n, r) {
t = J.apply([], t);
var i, o, s, a, u, l, f = 0,
d = e.length,
h = d - 1,
g = t[0],
v = oe.isFunction(g);
if (v || d > 1 && "string" == typeof g && !re.checkClone && _e.test(g)) return e.each(function(i) {
var o = e.eq(i);
v && (t[0] = g.call(this, i, o.html())), T(o, t, n, r)
});
if (d && (i = p(t, e[0].ownerDocument, !1, e, r), o = i.firstChild, 1 === i.childNodes.length && (i = o), o || r)) {
for (s = oe.map(c(i, "script"), y), a = s.length; d > f; f++) u = i, f !== h && (u = oe.clone(u, !0, !0), a && oe.merge(s, c(u, "script"))), n.call(e[f], u, f);
if (a)
for (l = s[s.length - 1].ownerDocument, oe.map(s, x), f = 0; a > f; f++) u = s[f], Fe.test(u.type || "") && !Ee.access(u, "globalEval") && oe.contains(l, u) && (u.src ? oe._evalUrl && oe._evalUrl(u.src) : oe.globalEval(u.textContent.replace(ze, "")))
}
return e
}
function C(e, t, n) {
for (var r, i = t ? oe.filter(t, e) : e, o = 0; null != (r = i[o]); o++) n || 1 !== r.nodeType || oe.cleanData(c(r)), r.parentNode && (n && oe.contains(r.ownerDocument, r) && f(c(r, "script")), r.parentNode.removeChild(r));
return e
}
function k(e, t) {
var n = oe(t.createElement(e)).appendTo(t.body),
r = oe.css(n[0], "display");
return n.detach(), r
}
function E(e) {
var t = G,
n = Ve[e];
return n || (n = k(e, t), "none" !== n && n || (Ue = (Ue || oe("")).appendTo(t.documentElement), t = Ue[0].contentDocument, t.write(), t.close(), n = k(e, t), Ue.detach()), Ve[e] = n), n
}
function N(e, t, n) {
var r, i, o, s, a = e.style;
return n = n || Qe(e), s = n ? n.getPropertyValue(t) || n[t] : void 0, "" !== s && void 0 !== s || oe.contains(e.ownerDocument, e) || (s = oe.style(e, t)), n && !re.pixelMarginRight() && Ge.test(s) && Ye.test(t) && (r = a.width, i = a.minWidth, o = a.maxWidth, a.minWidth = a.maxWidth = a.width = s, s = n.width, a.width = r, a.minWidth = i, a.maxWidth = o), void 0 !== s ? s + "" : s
}
function S(e, t) {
return {
get: function() {
return e() ? void delete this.get : (this.get = t).apply(this, arguments)
}
}
}
function j(e) {
if (e in rt) return e;
for (var t = e[0].toUpperCase() + e.slice(1), n = nt.length; n--;)
if (e = nt[n] + t, e in rt) return e
}
function D(e, t, n) {
var r = Ae.exec(t);
return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t
}
function A(e, t, n, r, i) {
for (var o = n === (r ? "border" : "content") ? 4 : "width" === t ? 1 : 0, s = 0; 4 > o; o += 2) "margin" === n && (s += oe.css(e, n + qe[o], !0, i)), r ? ("content" === n && (s -= oe.css(e, "padding" + qe[o], !0, i)), "margin" !== n && (s -= oe.css(e, "border" + qe[o] + "Width", !0, i))) : (s += oe.css(e, "padding" + qe[o], !0, i), "padding" !== n && (s += oe.css(e, "border" + qe[o] + "Width", !0, i)));
return s
}
function q(e, t, n) {
var r = !0,
i = "width" === t ? e.offsetWidth : e.offsetHeight,
o = Qe(e),
s = "border-box" === oe.css(e, "boxSizing", !1, o);
if (0 >= i || null == i) {
if (i = N(e, t, o), (0 > i || null == i) && (i = e.style[t]), Ge.test(i)) return i;
r = s && (re.boxSizingReliable() || i === e.style[t]), i = parseFloat(i) || 0
}
return i + A(e, t, n || (s ? "border" : "content"), r, o) + "px"
}
function L(e, t) {
for (var n, r, i, o = [], s = 0, a = e.length; a > s; s++) r = e[s], r.style && (o[s] = Ee.get(r, "olddisplay"), n = r.style.display, t ? (o[s] || "none" !== n || (r.style.display = ""), "" === r.style.display && Le(r) && (o[s] = Ee.access(r, "olddisplay", E(r.nodeName)))) : (i = Le(r), "none" === n && i || Ee.set(r, "olddisplay", i ? n : oe.css(r, "display"))));
for (s = 0; a > s; s++) r = e[s], r.style && (t && "none" !== r.style.display && "" !== r.style.display || (r.style.display = t ? o[s] || "" : "none"));
return e
}
function H(e, t, n, r, i) {
return new H.prototype.init(e, t, n, r, i)
}
function O() {
return e.setTimeout(function() {
it = void 0
}), it = oe.now()
}
function F(e, t) {
var n, r = 0,
i = {
height: e
};
for (t = t ? 1 : 0; 4 > r; r += 2 - t) n = qe[r], i["margin" + n] = i["padding" + n] = e;
return t && (i.opacity = i.width = e), i
}
function P(e, t, n) {
for (var r, i = (I.tweeners[t] || []).concat(I.tweeners["*"]), o = 0, s = i.length; s > o; o++)
if (r = i[o].call(n, t, e)) return r
}
function R(e, t, n) {
var r, i, o, s, a, u, l, c, f = this,
p = {},
d = e.style,
h = e.nodeType && Le(e),
g = Ee.get(e, "fxshow");
n.queue || (a = oe._queueHooks(e, "fx"), null == a.unqueued && (a.unqueued = 0, u = a.empty.fire, a.empty.fire = function() {
a.unqueued || u()
}), a.unqueued++, f.always(function() {
f.always(function() {
a.unqueued--, oe.queue(e, "fx").length || a.empty.fire()
})
})), 1 === e.nodeType && ("height" in t || "width" in t) && (n.overflow = [d.overflow, d.overflowX, d.overflowY], l = oe.css(e, "display"), c = "none" === l ? Ee.get(e, "olddisplay") || E(e.nodeName) : l, "inline" === c && "none" === oe.css(e, "float") && (d.display = "inline-block")), n.overflow && (d.overflow = "hidden", f.always(function() {
d.overflow = n.overflow[0], d.overflowX = n.overflow[1], d.overflowY = n.overflow[2]
}));
for (r in t)
if (i = t[r], st.exec(i)) {
if (delete t[r], o = o || "toggle" === i, i === (h ? "hide" : "show")) {
if ("show" !== i || !g || void 0 === g[r]) continue;
h = !0
}
p[r] = g && g[r] || oe.style(e, r)
} else l = void 0;
if (oe.isEmptyObject(p)) "inline" === ("none" === l ? E(e.nodeName) : l) && (d.display = l);
else {
g ? "hidden" in g && (h = g.hidden) : g = Ee.access(e, "fxshow", {}), o && (g.hidden = !h), h ? oe(e).show() : f.done(function() {
oe(e).hide()
}), f.done(function() {
var t;
Ee.remove(e, "fxshow");
for (t in p) oe.style(e, t, p[t])
});
for (r in p) s = P(h ? g[r] : 0, r, f), r in g || (g[r] = s.start, h && (s.end = s.start, s.start = "width" === r || "height" === r ? 1 : 0))
}
}
function M(e, t) {
var n, r, i, o, s;
for (n in e)
if (r = oe.camelCase(n), i = t[r], o = e[n], oe.isArray(o) && (i = o[1], o = e[n] = o[0]), n !== r && (e[r] = o, delete e[n]), s = oe.cssHooks[r], s && "expand" in s) {
o = s.expand(o), delete e[r];
for (n in o) n in e || (e[n] = o[n], t[n] = i)
} else t[r] = i
}
function I(e, t, n) {
var r, i, o = 0,
s = I.prefilters.length,
a = oe.Deferred().always(function() {
delete u.elem
}),
u = function() {
if (i) return !1;
for (var t = it || O(), n = Math.max(0, l.startTime + l.duration - t), r = n / l.duration || 0, o = 1 - r, s = 0, u = l.tweens.length; u > s; s++) l.tweens[s].run(o);
return a.notifyWith(e, [l, o, n]), 1 > o && u ? n : (a.resolveWith(e, [l]), !1)
},
l = a.promise({
elem: e,
props: oe.extend({}, t),
opts: oe.extend(!0, {
specialEasing: {},
easing: oe.easing._default
}, n),
originalProperties: t,
originalOptions: n,
startTime: it || O(),
duration: n.duration,
tweens: [],
createTween: function(t, n) {
var r = oe.Tween(e, l.opts, t, n, l.opts.specialEasing[t] || l.opts.easing);
return l.tweens.push(r), r
},
stop: function(t) {
var n = 0,
r = t ? l.tweens.length : 0;
if (i) return this;
for (i = !0; r > n; n++) l.tweens[n].run(1);
return t ? (a.notifyWith(e, [l, 1, 0]), a.resolveWith(e, [l, t])) : a.rejectWith(e, [l, t]), this
}
}),
c = l.props;
for (M(c, l.opts.specialEasing); s > o; o++)
if (r = I.prefilters[o].call(l, e, c, l.opts)) return oe.isFunction(r.stop) && (oe._queueHooks(l.elem, l.opts.queue).stop = oe.proxy(r.stop, r)), r;
return oe.map(c, P, l), oe.isFunction(l.opts.start) && l.opts.start.call(e, l), oe.fx.timer(oe.extend(u, {
elem: e,
anim: l,
queue: l.opts.queue
})), l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always)
}
function W(e) {
return e.getAttribute && e.getAttribute("class") || ""
}
function $(e) {
return function(t, n) {
"string" != typeof t && (n = t, t = "*");
var r, i = 0,
o = t.toLowerCase().match(we) || [];
if (oe.isFunction(n))
for (; r = o[i++];) "+" === r[0] ? (r = r.slice(1) || "*", (e[r] = e[r] || []).unshift(n)) : (e[r] = e[r] || []).push(n)
}
}
function B(e, t, n, r) {
function i(a) {
var u;
return o[a] = !0, oe.each(e[a] || [], function(e, a) {
var l = a(t, n, r);
return "string" != typeof l || s || o[l] ? s ? !(u = l) : void 0 : (t.dataTypes.unshift(l), i(l), !1)
}), u
}
var o = {},
s = e === Nt;
return i(t.dataTypes[0]) || !o["*"] && i("*")
}
function _(e, t) {
var n, r, i = oe.ajaxSettings.flatOptions || {};
for (n in t) void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]);
return r && oe.extend(!0, e, r), e
}
function X(e, t, n) {
for (var r, i, o, s, a = e.contents, u = e.dataTypes;
"*" === u[0];) u.shift(), void 0 === r && (r = e.mimeType || t.getResponseHeader("Content-Type"));
if (r)
for (i in a)
if (a[i] && a[i].test(r)) {
u.unshift(i);
break
}
if (u[0] in n) o = u[0];
else {
for (i in n) {
if (!u[0] || e.converters[i + " " + u[0]]) {
o = i;
break
}
s || (s = i)
}
o = o || s
}
return o ? (o !== u[0] && u.unshift(o), n[o]) : void 0
}
function z(e, t, n, r) {
var i, o, s, a, u, l = {},
c = e.dataTypes.slice();
if (c[1])
for (s in e.converters) l[s.toLowerCase()] = e.converters[s];
for (o = c.shift(); o;)
if (e.responseFields[o] && (n[e.responseFields[o]] = t), !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = o, o = c.shift())
if ("*" === o) o = u;
else if ("*" !== u && u !== o) {
if (s = l[u + " " + o] || l["* " + o], !s)
for (i in l)
if (a = i.split(" "), a[1] === o && (s = l[u + " " + a[0]] || l["* " + a[0]])) {
s === !0 ? s = l[i] : l[i] !== !0 && (o = a[0], c.unshift(a[1]));
break
}
if (s !== !0)
if (s && e.throws) t = s(t);
else try {
t = s(t)
} catch (e) {
return {
state: "parsererror",
error: s ? e : "No conversion from " + u + " to " + o
}
}
}
return {
state: "success",
data: t
}
}
function U(e, t, n, r) {
var i;
if (oe.isArray(t)) oe.each(t, function(t, i) {
n || At.test(e) ? r(e, i) : U(e + "[" + ("object" == typeof i && null != i ? t : "") + "]", i, n, r)
});
else if (n || "object" !== oe.type(t)) r(e, t);
else
for (i in t) U(e + "[" + i + "]", t[i], n, r)
}
function V(e) {
return oe.isWindow(e) ? e : 9 === e.nodeType && e.defaultView
}
var Y = [],
G = e.document,
Q = Y.slice,
J = Y.concat,
K = Y.push,
Z = Y.indexOf,
ee = {},
te = ee.toString,
ne = ee.hasOwnProperty,
re = {},
ie = "2.2.4",
oe = function(e, t) {
return new oe.fn.init(e, t)
},
se = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
ae = /^-ms-/,
ue = /-([\da-z])/gi,
le = function(e, t) {
return t.toUpperCase()
};
oe.fn = oe.prototype = {
jquery: ie,
constructor: oe,
selector: "",
length: 0,
toArray: function() {
return Q.call(this)
},
get: function(e) {
return null != e ? 0 > e ? this[e + this.length] : this[e] : Q.call(this)
},
pushStack: function(e) {
var t = oe.merge(this.constructor(), e);
return t.prevObject = this, t.context = this.context, t
},
each: function(e) {
return oe.each(this, e)
},
map: function(e) {
return this.pushStack(oe.map(this, function(t, n) {
return e.call(t, n, t)
}))
},
slice: function() {
return this.pushStack(Q.apply(this, arguments))
},
first: function() {
return this.eq(0)
},
last: function() {
return this.eq(-1)
},
eq: function(e) {
var t = this.length,
n = +e + (0 > e ? t : 0);
return this.pushStack(n >= 0 && t > n ? [this[n]] : [])
},
end: function() {
return this.prevObject || this.constructor()
},
push: K,
sort: Y.sort,
splice: Y.splice
}, oe.extend = oe.fn.extend = function() {
var e, t, n, r, i, o, s = arguments[0] || {},
a = 1,
u = arguments.length,
l = !1;
for ("boolean" == typeof s && (l = s, s = arguments[a] || {}, a++), "object" == typeof s || oe.isFunction(s) || (s = {}), a === u && (s = this, a--); u > a; a++)
if (null != (e = arguments[a]))
for (t in e) n = s[t], r = e[t], s !== r && (l && r && (oe.isPlainObject(r) || (i = oe.isArray(r))) ? (i ? (i = !1, o = n && oe.isArray(n) ? n : []) : o = n && oe.isPlainObject(n) ? n : {}, s[t] = oe.extend(l, o, r)) : void 0 !== r && (s[t] = r));
return s
}, oe.extend({
expando: "jQuery" + (ie + Math.random()).replace(/\D/g, ""),
isReady: !0,
error: function(e) {
throw new Error(e)
},
noop: function() {},
isFunction: function(e) {
return "function" === oe.type(e)
},
isArray: Array.isArray,
isWindow: function(e) {
return null != e && e === e.window
},
isNumeric: function(e) {
var t = e && e.toString();
return !oe.isArray(e) && t - parseFloat(t) + 1 >= 0
},
isPlainObject: function(e) {
var t;
if ("object" !== oe.type(e) || e.nodeType || oe.isWindow(e)) return !1;
if (e.constructor && !ne.call(e, "constructor") && !ne.call(e.constructor.prototype || {}, "isPrototypeOf")) return !1;
for (t in e);
return void 0 === t || ne.call(e, t)
},
isEmptyObject: function(e) {
var t;
for (t in e) return !1;
return !0
},
type: function(e) {
return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? ee[te.call(e)] || "object" : typeof e
},
globalEval: function(e) {
var t, n = eval;
e = oe.trim(e), e && (1 === e.indexOf("use strict") ? (t = G.createElement("script"), t.text = e, G.head.appendChild(t).parentNode.removeChild(t)) : n(e))
},
camelCase: function(e) {
return e.replace(ae, "ms-").replace(ue, le)
},
nodeName: function(e, t) {
return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
},
each: function(e, t) {
var r, i = 0;
if (n(e))
for (r = e.length; r > i && t.call(e[i], i, e[i]) !== !1; i++);
else
for (i in e)
if (t.call(e[i], i, e[i]) === !1) break; return e
},
trim: function(e) {
return null == e ? "" : (e + "").replace(se, "")
},
makeArray: function(e, t) {
var r = t || [];
return null != e && (n(Object(e)) ? oe.merge(r, "string" == typeof e ? [e] : e) : K.call(r, e)), r
},
inArray: function(e, t, n) {
return null == t ? -1 : Z.call(t, e, n)
},
merge: function(e, t) {
for (var n = +t.length, r = 0, i = e.length; n > r; r++) e[i++] = t[r];
return e.length = i, e
},
grep: function(e, t, n) {
for (var r, i = [], o = 0, s = e.length, a = !n; s > o; o++) r = !t(e[o], o), r !== a && i.push(e[o]);
return i
},
map: function(e, t, r) {
var i, o, s = 0,
a = [];
if (n(e))
for (i = e.length; i > s; s++) o = t(e[s], s, r), null != o && a.push(o);
else
for (s in e) o = t(e[s], s, r), null != o && a.push(o);
return J.apply([], a)
},
guid: 1,
proxy: function(e, t) {
var n, r, i;
return "string" == typeof t && (n = e[t], t = e, e = n), oe.isFunction(e) ? (r = Q.call(arguments, 2), i = function() {
return e.apply(t || this, r.concat(Q.call(arguments)))
}, i.guid = e.guid = e.guid || oe.guid++, i) : void 0
},
now: Date.now,
support: re
}), "function" == typeof Symbol && (oe.fn[Symbol.iterator] = Y[Symbol.iterator]), oe.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function(e, t) {
ee["[object " + t + "]"] = t.toLowerCase()
});
var ce = function(e) {
function t(e, t, n, r) {
var i, o, s, a, u, l, f, d, h = t && t.ownerDocument,
g = t ? t.nodeType : 9;
if (n = n || [], "string" != typeof e || !e || 1 !== g && 9 !== g && 11 !== g) return n;
if (!r && ((t ? t.ownerDocument || t : W) !== L && q(t), t = t || L, O)) {
if (11 !== g && (l = me.exec(e)))
if (i = l[1]) {
if (9 === g) {
if (!(s = t.getElementById(i))) return n;
if (s.id === i) return n.push(s), n
} else if (h && (s = h.getElementById(i)) && M(t, s) && s.id === i) return n.push(s), n
} else {
if (l[2]) return K.apply(n, t.getElementsByTagName(e)), n;
if ((i = l[3]) && w.getElementsByClassName && t.getElementsByClassName) return K.apply(n, t.getElementsByClassName(i)), n
}
if (w.qsa && !z[e + " "] && (!F || !F.test(e))) {
if (1 !== g) h = t, d = e;
else if ("object" !== t.nodeName.toLowerCase()) {
for ((a = t.getAttribute("id")) ? a = a.replace(xe, "\\$&") : t.setAttribute("id", a = I), f = E(e), o = f.length, u = pe.test(a) ? "#" + a : "[id='" + a + "']"; o--;) f[o] = u + " " + p(f[o]);
d = f.join(","), h = ye.test(e) && c(t.parentNode) || t
}
if (d) try {
return K.apply(n, h.querySelectorAll(d)), n
} catch (e) {} finally {
a === I && t.removeAttribute("id")
}
}
}
return S(e.replace(ae, "$1"), t, n, r)
}
function n() {
function e(n, r) {
return t.push(n + " ") > T.cacheLength && delete e[t.shift()], e[n + " "] = r
}
var t = [];
return e
}
function r(e) {
return e[I] = !0, e
}
function i(e) {
var t = L.createElement("div");
try {
return !!e(t)
} catch (e) {
return !1
} finally {
t.parentNode && t.parentNode.removeChild(t), t = null
}
}
function o(e, t) {
for (var n = e.split("|"), r = n.length; r--;) T.attrHandle[n[r]] = t
}
function s(e, t) {
var n = t && e,
r = n && 1 === e.nodeType && 1 === t.nodeType && (~t.sourceIndex || V) - (~e.sourceIndex || V);
if (r) return r;
if (n)
for (; n = n.nextSibling;)
if (n === t) return -1;
return e ? 1 : -1
}
function a(e) {
return function(t) {
var n = t.nodeName.toLowerCase();
return "input" === n && t.type === e
}
}
function u(e) {
return function(t) {
var n = t.nodeName.toLowerCase();
return ("input" === n || "button" === n) && t.type === e
}
}
function l(e) {
return r(function(t) {
return t = +t, r(function(n, r) {
for (var i, o = e([], n.length, t), s = o.length; s--;) n[i = o[s]] && (n[i] = !(r[i] = n[i]))
})
})
}
function c(e) {
return e && "undefined" != typeof e.getElementsByTagName && e
}
function f() {}
function p(e) {
for (var t = 0, n = e.length, r = ""; n > t; t++) r += e[t].value;
return r
}
function d(e, t, n) {
var r = t.dir,
i = n && "parentNode" === r,
o = B++;
return t.first ? function(t, n, o) {
for (; t = t[r];)
if (1 === t.nodeType || i) return e(t, n, o)
} : function(t, n, s) {
var a, u, l, c = [$, o];
if (s) {
for (; t = t[r];)
if ((1 === t.nodeType || i) && e(t, n, s)) return !0
} else
for (; t = t[r];)
if (1 === t.nodeType || i) {
if (l = t[I] || (t[I] = {}), u = l[t.uniqueID] || (l[t.uniqueID] = {}), (a = u[r]) && a[0] === $ && a[1] === o) return c[2] = a[2];
if (u[r] = c, c[2] = e(t, n, s)) return !0
}
}
}
function h(e) {
return e.length > 1 ? function(t, n, r) {
for (var i = e.length; i--;)
if (!e[i](t, n, r)) return !1;
return !0
} : e[0]
}
function g(e, n, r) {
for (var i = 0, o = n.length; o > i; i++) t(e, n[i], r);
return r
}
function v(e, t, n, r, i) {
for (var o, s = [], a = 0, u = e.length, l = null != t; u > a; a++)(o = e[a]) && (n && !n(o, r, i) || (s.push(o), l && t.push(a)));
return s
}
function m(e, t, n, i, o, s) {
return i && !i[I] && (i = m(i)), o && !o[I] && (o = m(o, s)), r(function(r, s, a, u) {
var l, c, f, p = [],
d = [],
h = s.length,
m = r || g(t || "*", a.nodeType ? [a] : a, []),
y = !e || !r && t ? m : v(m, p, e, a, u),
x = n ? o || (r ? e : h || i) ? [] : s : y;
if (n && n(y, x, a, u), i)
for (l = v(x, d), i(l, [], a, u), c = l.length; c--;)(f = l[c]) && (x[d[c]] = !(y[d[c]] = f));
if (r) {
if (o || e) {
if (o) {
for (l = [], c = x.length; c--;)(f = x[c]) && l.push(y[c] = f);
o(null, x = [], l, u)
}
for (c = x.length; c--;)(f = x[c]) && (l = o ? ee(r, f) : p[c]) > -1 && (r[l] = !(s[l] = f))
}
} else x = v(x === s ? x.splice(h, x.length) : x), o ? o(null, s, x, u) : K.apply(s, x)
})
}
function y(e) {
for (var t, n, r, i = e.length, o = T.relative[e[0].type], s = o || T.relative[" "], a = o ? 1 : 0, u = d(function(e) {
return e === t
}, s, !0), l = d(function(e) {
return ee(t, e) > -1
}, s, !0), c = [function(e, n, r) {
var i = !o && (r || n !== j) || ((t = n).nodeType ? u(e, n, r) : l(e, n, r));
return t = null, i
}]; i > a; a++)
if (n = T.relative[e[a].type]) c = [d(h(c), n)];
else {
if (n = T.filter[e[a].type].apply(null, e[a].matches), n[I]) {
for (r = ++a; i > r && !T.relative[e[r].type]; r++);
return m(a > 1 && h(c), a > 1 && p(e.slice(0, a - 1).concat({
value: " " === e[a - 2].type ? "*" : ""
})).replace(ae, "$1"), n, r > a && y(e.slice(a, r)), i > r && y(e = e.slice(r)), i > r && p(e))
}
c.push(n)
}
return h(c)
}
function x(e, n) {
var i = n.length > 0,
o = e.length > 0,
s = function(r, s, a, u, l) {
var c, f, p, d = 0,
h = "0",
g = r && [],
m = [],
y = j,
x = r || o && T.find.TAG("*", l),
b = $ += null == y ? 1 : Math.random() || .1,
w = x.length;
for (l && (j = s === L || s || l); h !== w && null != (c = x[h]); h++) {
if (o && c) {
for (f = 0, s || c.ownerDocument === L || (q(c), a = !O); p = e[f++];)
if (p(c, s || L, a)) {
u.push(c);
break
}
l && ($ = b)
}
i && ((c = !p && c) && d--, r && g.push(c))
}
if (d += h, i && h !== d) {
for (f = 0; p = n[f++];) p(g, m, s, a);
if (r) {
if (d > 0)
for (; h--;) g[h] || m[h] || (m[h] = Q.call(u));
m = v(m)
}
K.apply(u, m), l && !r && m.length > 0 && d + n.length > 1 && t.uniqueSort(u)
}
return l && ($ = b, j = y), g
};
return i ? r(s) : s
}
var b, w, T, C, k, E, N, S, j, D, A, q, L, H, O, F, P, R, M, I = "sizzle" + 1 * new Date,
W = e.document,
$ = 0,
B = 0,
_ = n(),
X = n(),
z = n(),
U = function(e, t) {
return e === t && (A = !0), 0
},
V = 1 << 31,
Y = {}.hasOwnProperty,
G = [],
Q = G.pop,
J = G.push,
K = G.push,
Z = G.slice,
ee = function(e, t) {
for (var n = 0, r = e.length; r > n; n++)
if (e[n] === t) return n;
return -1
},
te = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
ne = "[\\x20\\t\\r\\n\\f]",
re = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
ie = "\\[" + ne + "*(" + re + ")(?:" + ne + "*([*^$|!~]?=)" + ne + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + re + "))|)" + ne + "*\\]",
oe = ":(" + re + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + ie + ")*)|.*)\\)|)",
se = new RegExp(ne + "+", "g"),
ae = new RegExp("^" + ne + "+|((?:^|[^\\\\])(?:\\\\.)*)" + ne + "+$", "g"),
ue = new RegExp("^" + ne + "*," + ne + "*"),
le = new RegExp("^" + ne + "*([>+~]|" + ne + ")" + ne + "*"),
ce = new RegExp("=" + ne + "*([^\\]'\"]*?)" + ne + "*\\]", "g"),
fe = new RegExp(oe),
pe = new RegExp("^" + re + "$"),
de = {
ID: new RegExp("^#(" + re + ")"),
CLASS: new RegExp("^\\.(" + re + ")"),
TAG: new RegExp("^(" + re + "|[*])"),
ATTR: new RegExp("^" + ie),
PSEUDO: new RegExp("^" + oe),
CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + ne + "*(even|odd|(([+-]|)(\\d*)n|)" + ne + "*(?:([+-]|)" + ne + "*(\\d+)|))" + ne + "*\\)|)", "i"),
bool: new RegExp("^(?:" + te + ")$", "i"),
needsContext: new RegExp("^" + ne + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + ne + "*((?:-\\d)?\\d*)" + ne + "*\\)|)(?=[^-]|$)", "i")
},
he = /^(?:input|select|textarea|button)$/i,
ge = /^h\d$/i,
ve = /^[^{]+\{\s*\[native \w/,
me = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
ye = /[+~]/,
xe = /'|\\/g,
be = new RegExp("\\\\([\\da-f]{1,6}" + ne + "?|(" + ne + ")|.)", "ig"),
we = function(e, t, n) {
var r = "0x" + t - 65536;
return r !== r || n ? t : 0 > r ? String.fromCharCode(r + 65536) : String.fromCharCode(r >> 10 | 55296, 1023 & r | 56320)
},
Te = function() {
q()
};
try {
K.apply(G = Z.call(W.childNodes), W.childNodes), G[W.childNodes.length].nodeType
} catch (e) {
K = {
apply: G.length ? function(e, t) {
J.apply(e, Z.call(t))
} : function(e, t) {
for (var n = e.length, r = 0; e[n++] = t[r++];);
e.length = n - 1
}
}
}
w = t.support = {}, k = t.isXML = function(e) {
var t = e && (e.ownerDocument || e).documentElement;
return !!t && "HTML" !== t.nodeName
}, q = t.setDocument = function(e) {
var t, n, r = e ? e.ownerDocument || e : W;
return r !== L && 9 === r.nodeType && r.documentElement ? (L = r, H = L.documentElement, O = !k(L), (n = L.defaultView) && n.top !== n && (n.addEventListener ? n.addEventListener("unload", Te, !1) : n.attachEvent && n.attachEvent("onunload", Te)), w.attributes = i(function(e) {
return e.className = "i", !e.getAttribute("className")
}), w.getElementsByTagName = i(function(e) {
return e.appendChild(L.createComment("")), !e.getElementsByTagName("*").length
}), w.getElementsByClassName = ve.test(L.getElementsByClassName), w.getById = i(function(e) {
return H.appendChild(e).id = I, !L.getElementsByName || !L.getElementsByName(I).length
}), w.getById ? (T.find.ID = function(e, t) {
if ("undefined" != typeof t.getElementById && O) {
var n = t.getElementById(e);
return n ? [n] : []
}
}, T.filter.ID = function(e) {
var t = e.replace(be, we);
return function(e) {
return e.getAttribute("id") === t
}
}) : (delete T.find.ID, T.filter.ID = function(e) {
var t = e.replace(be, we);
return function(e) {
var n = "undefined" != typeof e.getAttributeNode && e.getAttributeNode("id");
return n && n.value === t
}
}), T.find.TAG = w.getElementsByTagName ? function(e, t) {
return "undefined" != typeof t.getElementsByTagName ? t.getElementsByTagName(e) : w.qsa ? t.querySelectorAll(e) : void 0
} : function(e, t) {
var n, r = [],
i = 0,
o = t.getElementsByTagName(e);
if ("*" === e) {
for (; n = o[i++];) 1 === n.nodeType && r.push(n);
return r
}
return o
}, T.find.CLASS = w.getElementsByClassName && function(e, t) {
return "undefined" != typeof t.getElementsByClassName && O ? t.getElementsByClassName(e) : void 0
}, P = [], F = [], (w.qsa = ve.test(L.querySelectorAll)) && (i(function(e) {
H.appendChild(e).innerHTML = "", e.querySelectorAll("[msallowcapture^='']").length && F.push("[*^$]=" + ne + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || F.push("\\[" + ne + "*(?:value|" + te + ")"), e.querySelectorAll("[id~=" + I + "-]").length || F.push("~="), e.querySelectorAll(":checked").length || F.push(":checked"), e.querySelectorAll("a#" + I + "+*").length || F.push(".#.+[+~]")
}), i(function(e) {
var t = L.createElement("input");
t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && F.push("name" + ne + "*[*^$|!~]?="), e.querySelectorAll(":enabled").length || F.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), F.push(",.*:")
})), (w.matchesSelector = ve.test(R = H.matches || H.webkitMatchesSelector || H.mozMatchesSelector || H.oMatchesSelector || H.msMatchesSelector)) && i(function(e) {
w.disconnectedMatch = R.call(e, "div"), R.call(e, "[s!='']:x"), P.push("!=", oe)
}), F = F.length && new RegExp(F.join("|")), P = P.length && new RegExp(P.join("|")), t = ve.test(H.compareDocumentPosition), M = t || ve.test(H.contains) ? function(e, t) {
var n = 9 === e.nodeType ? e.documentElement : e,
r = t && t.parentNode;
return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r)))
} : function(e, t) {
if (t)
for (; t = t.parentNode;)
if (t === e) return !0;
return !1
}, U = t ? function(e, t) {
if (e === t) return A = !0, 0;
var n = !e.compareDocumentPosition - !t.compareDocumentPosition;
return n ? n : (n = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1, 1 & n || !w.sortDetached && t.compareDocumentPosition(e) === n ? e === L || e.ownerDocument === W && M(W, e) ? -1 : t === L || t.ownerDocument === W && M(W, t) ? 1 : D ? ee(D, e) - ee(D, t) : 0 : 4 & n ? -1 : 1)
} : function(e, t) {
if (e === t) return A = !0, 0;
var n, r = 0,
i = e.parentNode,
o = t.parentNode,
a = [e],
u = [t];
if (!i || !o) return e === L ? -1 : t === L ? 1 : i ? -1 : o ? 1 : D ? ee(D, e) - ee(D, t) : 0;
if (i === o) return s(e, t);
for (n = e; n = n.parentNode;) a.unshift(n);
for (n = t; n = n.parentNode;) u.unshift(n);
for (; a[r] === u[r];) r++;
return r ? s(a[r], u[r]) : a[r] === W ? -1 : u[r] === W ? 1 : 0
}, L) : L
}, t.matches = function(e, n) {
return t(e, null, null, n)
}, t.matchesSelector = function(e, n) {
if ((e.ownerDocument || e) !== L && q(e), n = n.replace(ce, "='$1']"), w.matchesSelector && O && !z[n + " "] && (!P || !P.test(n)) && (!F || !F.test(n))) try {
var r = R.call(e, n);
if (r || w.disconnectedMatch || e.document && 11 !== e.document.nodeType) return r
} catch (e) {}
return t(n, L, null, [e]).length > 0
}, t.contains = function(e, t) {
return (e.ownerDocument || e) !== L && q(e), M(e, t)
}, t.attr = function(e, t) {
(e.ownerDocument || e) !== L && q(e);
var n = T.attrHandle[t.toLowerCase()],
r = n && Y.call(T.attrHandle, t.toLowerCase()) ? n(e, t, !O) : void 0;
return void 0 !== r ? r : w.attributes || !O ? e.getAttribute(t) : (r = e.getAttributeNode(t)) && r.specified ? r.value : null
}, t.error = function(e) {
throw new Error("Syntax error, unrecognized expression: " + e)
}, t.uniqueSort = function(e) {
var t, n = [],
r = 0,
i = 0;
if (A = !w.detectDuplicates, D = !w.sortStable && e.slice(0), e.sort(U), A) {
for (; t = e[i++];) t === e[i] && (r = n.push(i));
for (; r--;) e.splice(n[r], 1)
}
return D = null, e
}, C = t.getText = function(e) {
var t, n = "",
r = 0,
i = e.nodeType;
if (i) {
if (1 === i || 9 === i || 11 === i) {
if ("string" == typeof e.textContent) return e.textContent;
for (e = e.firstChild; e; e = e.nextSibling) n += C(e)
} else if (3 === i || 4 === i) return e.nodeValue
} else
for (; t = e[r++];) n += C(t);
return n
}, T = t.selectors = {
cacheLength: 50,
createPseudo: r,
match: de,
attrHandle: {},
find: {},
relative: {
">": {
dir: "parentNode",
first: !0
},
" ": {
dir: "parentNode"
},
"+": {
dir: "previousSibling",
first: !0
},
"~": {
dir: "previousSibling"
}
},
preFilter: {
ATTR: function(e) {
return e[1] = e[1].replace(be, we), e[3] = (e[3] || e[4] || e[5] || "").replace(be, we), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4)
},
CHILD: function(e) {
return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || t.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && t.error(e[0]), e
},
PSEUDO: function(e) {
var t, n = !e[6] && e[2];
return de.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && fe.test(n) && (t = E(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3))
}
},
filter: {
TAG: function(e) {
var t = e.replace(be, we).toLowerCase();
return "*" === e ? function() {
return !0
} : function(e) {
return e.nodeName && e.nodeName.toLowerCase() === t
}
},
CLASS: function(e) {
var t = _[e + " "];
return t || (t = new RegExp("(^|" + ne + ")" + e + "(" + ne + "|$)")) && _(e, function(e) {
return t.test("string" == typeof e.className && e.className || "undefined" != typeof e.getAttribute && e.getAttribute("class") || "")
})
},
ATTR: function(e, n, r) {
return function(i) {
var o = t.attr(i, e);
return null == o ? "!=" === n : !n || (o += "", "=" === n ? o === r : "!=" === n ? o !== r : "^=" === n ? r && 0 === o.indexOf(r) : "*=" === n ? r && o.indexOf(r) > -1 : "$=" === n ? r && o.slice(-r.length) === r : "~=" === n ? (" " + o.replace(se, " ") + " ").indexOf(r) > -1 : "|=" === n && (o === r || o.slice(0, r.length + 1) === r + "-"))
}
},
CHILD: function(e, t, n, r, i) {
var o = "nth" !== e.slice(0, 3),
s = "last" !== e.slice(-4),
a = "of-type" === t;
return 1 === r && 0 === i ? function(e) {
return !!e.parentNode
} : function(t, n, u) {
var l, c, f, p, d, h, g = o !== s ? "nextSibling" : "previousSibling",
v = t.parentNode,
m = a && t.nodeName.toLowerCase(),
y = !u && !a,
x = !1;
if (v) {
if (o) {
for (; g;) {
for (p = t; p = p[g];)
if (a ? p.nodeName.toLowerCase() === m : 1 === p.nodeType) return !1;
h = g = "only" === e && !h && "nextSibling"
}
return !0
}
if (h = [s ? v.firstChild : v.lastChild], s && y) {
for (p = v, f = p[I] || (p[I] = {}), c = f[p.uniqueID] || (f[p.uniqueID] = {}), l = c[e] || [], d = l[0] === $ && l[1], x = d && l[2], p = d && v.childNodes[d]; p = ++d && p && p[g] || (x = d = 0) || h.pop();)
if (1 === p.nodeType && ++x && p === t) {
c[e] = [$, d, x];
break
}
} else if (y && (p = t, f = p[I] || (p[I] = {}), c = f[p.uniqueID] || (f[p.uniqueID] = {}), l = c[e] || [], d = l[0] === $ && l[1], x = d), x === !1)
for (;
(p = ++d && p && p[g] || (x = d = 0) || h.pop()) && ((a ? p.nodeName.toLowerCase() !== m : 1 !== p.nodeType) || !++x || (y && (f = p[I] || (p[I] = {}), c = f[p.uniqueID] || (f[p.uniqueID] = {}), c[e] = [$, x]), p !== t)););
return x -= i, x === r || x % r === 0 && x / r >= 0
}
}
},
PSEUDO: function(e, n) {
var i, o = T.pseudos[e] || T.setFilters[e.toLowerCase()] || t.error("unsupported pseudo: " + e);
return o[I] ? o(n) : o.length > 1 ? (i = [e, e, "", n], T.setFilters.hasOwnProperty(e.toLowerCase()) ? r(function(e, t) {
for (var r, i = o(e, n), s = i.length; s--;) r = ee(e, i[s]), e[r] = !(t[r] = i[s])
}) : function(e) {
return o(e, 0, i)
}) : o
}
},
pseudos: {
not: r(function(e) {
var t = [],
n = [],
i = N(e.replace(ae, "$1"));
return i[I] ? r(function(e, t, n, r) {
for (var o, s = i(e, null, r, []), a = e.length; a--;)(o = s[a]) && (e[a] = !(t[a] = o))
}) : function(e, r, o) {
return t[0] = e, i(t, null, o, n), t[0] = null, !n.pop()
}
}),
has: r(function(e) {
return function(n) {
return t(e, n).length > 0
}
}),
contains: r(function(e) {
return e = e.replace(be, we),
function(t) {
return (t.textContent || t.innerText || C(t)).indexOf(e) > -1
}
}),
lang: r(function(e) {
return pe.test(e || "") || t.error("unsupported lang: " + e), e = e.replace(be, we).toLowerCase(),
function(t) {
var n;
do
if (n = O ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang")) return n = n.toLowerCase(), n === e || 0 === n.indexOf(e + "-");
while ((t = t.parentNode) && 1 === t.nodeType);
return !1
}
}),
target: function(t) {
var n = e.location && e.location.hash;
return n && n.slice(1) === t.id
},
root: function(e) {
return e === H
},
focus: function(e) {
return e === L.activeElement && (!L.hasFocus || L.hasFocus()) && !!(e.type || e.href || ~e.tabIndex)
},
enabled: function(e) {
return e.disabled === !1
},
disabled: function(e) {
return e.disabled === !0
},
checked: function(e) {
var t = e.nodeName.toLowerCase();
return "input" === t && !!e.checked || "option" === t && !!e.selected
},
selected: function(e) {
return e.parentNode && e.parentNode.selectedIndex, e.selected === !0
},
empty: function(e) {
for (e = e.firstChild; e; e = e.nextSibling)
if (e.nodeType < 6) return !1;
return !0
},
parent: function(e) {
return !T.pseudos.empty(e)
},
header: function(e) {
return ge.test(e.nodeName)
},
input: function(e) {
return he.test(e.nodeName)
},
button: function(e) {
var t = e.nodeName.toLowerCase();
return "input" === t && "button" === e.type || "button" === t
},
text: function(e) {
var t;
return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase())
},
first: l(function() {
return [0]
}),
last: l(function(e, t) {
return [t - 1]
}),
eq: l(function(e, t, n) {
return [0 > n ? n + t : n]
}),
even: l(function(e, t) {
for (var n = 0; t > n; n += 2) e.push(n);
return e
}),
odd: l(function(e, t) {
for (var n = 1; t > n; n += 2) e.push(n);
return e
}),
lt: l(function(e, t, n) {
for (var r = 0 > n ? n + t : n; --r >= 0;) e.push(r);
return e
}),
gt: l(function(e, t, n) {
for (var r = 0 > n ? n + t : n; ++r < t;) e.push(r);
return e
})
}
}, T.pseudos.nth = T.pseudos.eq;
for (b in {
radio: !0,
checkbox: !0,
file: !0,
password: !0,
image: !0
}) T.pseudos[b] = a(b);
for (b in {
submit: !0,
reset: !0
}) T.pseudos[b] = u(b);
return f.prototype = T.filters = T.pseudos, T.setFilters = new f, E = t.tokenize = function(e, n) {
var r, i, o, s, a, u, l, c = X[e + " "];
if (c) return n ? 0 : c.slice(0);
for (a = e, u = [], l = T.preFilter; a;) {
r && !(i = ue.exec(a)) || (i && (a = a.slice(i[0].length) || a), u.push(o = [])), r = !1, (i = le.exec(a)) && (r = i.shift(), o.push({
value: r,
type: i[0].replace(ae, " ")
}), a = a.slice(r.length));
for (s in T.filter) !(i = de[s].exec(a)) || l[s] && !(i = l[s](i)) || (r = i.shift(), o.push({
value: r,
type: s,
matches: i
}), a = a.slice(r.length));
if (!r) break
}
return n ? a.length : a ? t.error(e) : X(e, u).slice(0)
}, N = t.compile = function(e, t) {
var n, r = [],
i = [],
o = z[e + " "];
if (!o) {
for (t || (t = E(e)), n = t.length; n--;) o = y(t[n]), o[I] ? r.push(o) : i.push(o);
o = z(e, x(i, r)), o.selector = e
}
return o
}, S = t.select = function(e, t, n, r) {
var i, o, s, a, u, l = "function" == typeof e && e,
f = !r && E(e = l.selector || e);
if (n = n || [], 1 === f.length) {
if (o = f[0] = f[0].slice(0), o.length > 2 && "ID" === (s = o[0]).type && w.getById && 9 === t.nodeType && O && T.relative[o[1].type]) {
if (t = (T.find.ID(s.matches[0].replace(be, we), t) || [])[0], !t) return n;
l && (t = t.parentNode), e = e.slice(o.shift().value.length)
}
for (i = de.needsContext.test(e) ? 0 : o.length; i-- && (s = o[i], !T.relative[a = s.type]);)
if ((u = T.find[a]) && (r = u(s.matches[0].replace(be, we), ye.test(o[0].type) && c(t.parentNode) || t))) {
if (o.splice(i, 1), e = r.length && p(o), !e) return K.apply(n, r), n;
break
}
}
return (l || N(e, f))(r, t, !O, n, !t || ye.test(e) && c(t.parentNode) || t), n
}, w.sortStable = I.split("").sort(U).join("") === I, w.detectDuplicates = !!A, q(), w.sortDetached = i(function(e) {
return 1 & e.compareDocumentPosition(L.createElement("div"))
}), i(function(e) {
return e.innerHTML = "", "#" === e.firstChild.getAttribute("href")
}) || o("type|href|height|width", function(e, t, n) {
return n ? void 0 : e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2)
}), w.attributes && i(function(e) {
return e.innerHTML = "", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value")
}) || o("value", function(e, t, n) {
return n || "input" !== e.nodeName.toLowerCase() ? void 0 : e.defaultValue
}), i(function(e) {
return null == e.getAttribute("disabled")
}) || o(te, function(e, t, n) {
var r;
return n ? void 0 : e[t] === !0 ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value : null
}), t
}(e);
oe.find = ce, oe.expr = ce.selectors, oe.expr[":"] = oe.expr.pseudos, oe.uniqueSort = oe.unique = ce.uniqueSort, oe.text = ce.getText, oe.isXMLDoc = ce.isXML, oe.contains = ce.contains;
var fe = function(e, t, n) {
for (var r = [], i = void 0 !== n;
(e = e[t]) && 9 !== e.nodeType;)
if (1 === e.nodeType) {
if (i && oe(e).is(n)) break;
r.push(e)
}
return r
},
pe = function(e, t) {
for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e);
return n
},
de = oe.expr.match.needsContext,
he = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,
ge = /^.[^:#\[\.,]*$/;
oe.filter = function(e, t, n) {
var r = t[0];
return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ? oe.find.matchesSelector(r, e) ? [r] : [] : oe.find.matches(e, oe.grep(t, function(e) {
return 1 === e.nodeType
}))
}, oe.fn.extend({
find: function(e) {
var t, n = this.length,
r = [],
i = this;
if ("string" != typeof e) return this.pushStack(oe(e).filter(function() {
for (t = 0; n > t; t++)
if (oe.contains(i[t], this)) return !0
}));
for (t = 0; n > t; t++) oe.find(e, i[t], r);
return r = this.pushStack(n > 1 ? oe.unique(r) : r), r.selector = this.selector ? this.selector + " " + e : e, r
},
filter: function(e) {
return this.pushStack(r(this, e || [], !1))
},
not: function(e) {
return this.pushStack(r(this, e || [], !0))
},
is: function(e) {
return !!r(this, "string" == typeof e && de.test(e) ? oe(e) : e || [], !1).length
}
});
var ve, me = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
ye = oe.fn.init = function(e, t, n) {
var r, i;
if (!e) return this;
if (n = n || ve, "string" == typeof e) {
if (r = "<" === e[0] && ">" === e[e.length - 1] && e.length >= 3 ? [null, e, null] : me.exec(e), !r || !r[1] && t) return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e);
if (r[1]) {
if (t = t instanceof oe ? t[0] : t, oe.merge(this, oe.parseHTML(r[1], t && t.nodeType ? t.ownerDocument || t : G, !0)), he.test(r[1]) && oe.isPlainObject(t))
for (r in t) oe.isFunction(this[r]) ? this[r](t[r]) : this.attr(r, t[r]);
return this
}
return i = G.getElementById(r[2]), i && i.parentNode && (this.length = 1, this[0] = i), this.context = G, this.selector = e, this
}
return e.nodeType ? (this.context = this[0] = e, this.length = 1, this) : oe.isFunction(e) ? void 0 !== n.ready ? n.ready(e) : e(oe) : (void 0 !== e.selector && (this.selector = e.selector, this.context = e.context), oe.makeArray(e, this))
};
ye.prototype = oe.fn, ve = oe(G);
var xe = /^(?:parents|prev(?:Until|All))/,
be = {
children: !0,
contents: !0,
next: !0,
prev: !0
};
oe.fn.extend({
has: function(e) {
var t = oe(e, this),
n = t.length;
return this.filter(function() {
for (var e = 0; n > e; e++)
if (oe.contains(this, t[e])) return !0
})
},
closest: function(e, t) {
for (var n, r = 0, i = this.length, o = [], s = de.test(e) || "string" != typeof e ? oe(e, t || this.context) : 0; i > r; r++)
for (n = this[r]; n && n !== t; n = n.parentNode)
if (n.nodeType < 11 && (s ? s.index(n) > -1 : 1 === n.nodeType && oe.find.matchesSelector(n, e))) {
o.push(n);
break
}
return this.pushStack(o.length > 1 ? oe.uniqueSort(o) : o)
},
index: function(e) {
return e ? "string" == typeof e ? Z.call(oe(e), this[0]) : Z.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
},
add: function(e, t) {
return this.pushStack(oe.uniqueSort(oe.merge(this.get(), oe(e, t))))
},
addBack: function(e) {
return this.add(null == e ? this.prevObject : this.prevObject.filter(e))
}
}), oe.each({
parent: function(e) {
var t = e.parentNode;
return t && 11 !== t.nodeType ? t : null
},
parents: function(e) {
return fe(e, "parentNode")
},
parentsUntil: function(e, t, n) {
return fe(e, "parentNode", n)
},
next: function(e) {
return i(e, "nextSibling")
},
prev: function(e) {
return i(e, "previousSibling")
},
nextAll: function(e) {
return fe(e, "nextSibling")
},
prevAll: function(e) {
return fe(e, "previousSibling")
},
nextUntil: function(e, t, n) {
return fe(e, "nextSibling", n)
},
prevUntil: function(e, t, n) {
return fe(e, "previousSibling", n)
},
siblings: function(e) {
return pe((e.parentNode || {}).firstChild, e)
},
children: function(e) {
return pe(e.firstChild)
},
contents: function(e) {
return e.contentDocument || oe.merge([], e.childNodes)
}
}, function(e, t) {
oe.fn[e] = function(n, r) {
var i = oe.map(this, t, n);
return "Until" !== e.slice(-5) && (r = n), r && "string" == typeof r && (i = oe.filter(r, i)), this.length > 1 && (be[e] || oe.uniqueSort(i), xe.test(e) && i.reverse()), this.pushStack(i)
}
});
var we = /\S+/g;
oe.Callbacks = function(e) {
e = "string" == typeof e ? o(e) : oe.extend({}, e);
var t, n, r, i, s = [],
a = [],
u = -1,
l = function() {
for (i = e.once, r = t = !0; a.length; u = -1)
for (n = a.shift(); ++u < s.length;) s[u].apply(n[0], n[1]) === !1 && e.stopOnFalse && (u = s.length, n = !1);
e.memory || (n = !1), t = !1, i && (s = n ? [] : "")
},
c = {
add: function() {
return s && (n && !t && (u = s.length - 1, a.push(n)), function t(n) {
oe.each(n, function(n, r) {
oe.isFunction(r) ? e.unique && c.has(r) || s.push(r) : r && r.length && "string" !== oe.type(r) && t(r)
})
}(arguments), n && !t && l()), this
},
remove: function() {
return oe.each(arguments, function(e, t) {
for (var n;
(n = oe.inArray(t, s, n)) > -1;) s.splice(n, 1), u >= n && u--
}), this
},
has: function(e) {
return e ? oe.inArray(e, s) > -1 : s.length > 0
},
empty: function() {
return s && (s = []), this
},
disable: function() {
return i = a = [], s = n = "", this
},
disabled: function() {
return !s
},
lock: function() {
return i = a = [], n || (s = n = ""), this
},
locked: function() {
return !!i
},
fireWith: function(e, n) {
return i || (n = n || [], n = [e, n.slice ? n.slice() : n], a.push(n), t || l()), this
},
fire: function() {
return c.fireWith(this, arguments), this
},
fired: function() {
return !!r
}
};
return c
}, oe.extend({
Deferred: function(e) {
var t = [
["resolve", "done", oe.Callbacks("once memory"), "resolved"],
["reject", "fail", oe.Callbacks("once memory"), "rejected"],
["notify", "progress", oe.Callbacks("memory")]
],
n = "pending",
r = {
state: function() {
return n
},
always: function() {
return i.done(arguments).fail(arguments), this
},
then: function() {
var e = arguments;
return oe.Deferred(function(n) {
oe.each(t, function(t, o) {
var s = oe.isFunction(e[t]) && e[t];
i[o[1]](function() {
var e = s && s.apply(this, arguments);
e && oe.isFunction(e.promise) ? e.promise().progress(n.notify).done(n.resolve).fail(n.reject) : n[o[0] + "With"](this === r ? n.promise() : this, s ? [e] : arguments)
})
}), e = null
}).promise()
},
promise: function(e) {
return null != e ? oe.extend(e, r) : r
}
},
i = {};
return r.pipe = r.then, oe.each(t, function(e, o) {
var s = o[2],
a = o[3];
r[o[1]] = s.add, a && s.add(function() {
n = a
}, t[1 ^ e][2].disable, t[2][2].lock), i[o[0]] = function() {
return i[o[0] + "With"](this === i ? r : this, arguments), this
}, i[o[0] + "With"] = s.fireWith
}), r.promise(i), e && e.call(i, i), i
},
when: function(e) {
var t, n, r, i = 0,
o = Q.call(arguments),
s = o.length,
a = 1 !== s || e && oe.isFunction(e.promise) ? s : 0,
u = 1 === a ? e : oe.Deferred(),
l = function(e, n, r) {
return function(i) {
n[e] = this, r[e] = arguments.length > 1 ? Q.call(arguments) : i, r === t ? u.notifyWith(n, r) : --a || u.resolveWith(n, r)
}
};
if (s > 1)
for (t = new Array(s), n = new Array(s), r = new Array(s); s > i; i++) o[i] && oe.isFunction(o[i].promise) ? o[i].promise().progress(l(i, n, t)).done(l(i, r, o)).fail(u.reject) : --a;
return a || u.resolveWith(r, o), u.promise()
}
});
var Te;
oe.fn.ready = function(e) {
return oe.ready.promise().done(e), this
}, oe.extend({
isReady: !1,
readyWait: 1,
holdReady: function(e) {
e ? oe.readyWait++ : oe.ready(!0)
},
ready: function(e) {
(e === !0 ? --oe.readyWait : oe.isReady) || (oe.isReady = !0, e !== !0 && --oe.readyWait > 0 || (Te.resolveWith(G, [oe]), oe.fn.triggerHandler && (oe(G).triggerHandler("ready"), oe(G).off("ready"))))
}
}), oe.ready.promise = function(t) {
return Te || (Te = oe.Deferred(), "complete" === G.readyState || "loading" !== G.readyState && !G.documentElement.doScroll ? e.setTimeout(oe.ready) : (G.addEventListener("DOMContentLoaded", s), e.addEventListener("load", s))), Te.promise(t)
}, oe.ready.promise();
var Ce = function(e, t, n, r, i, o, s) {
var a = 0,
u = e.length,
l = null == n;
if ("object" === oe.type(n)) {
i = !0;
for (a in n) Ce(e, t, a, n[a], !0, o, s)
} else if (void 0 !== r && (i = !0, oe.isFunction(r) || (s = !0), l && (s ? (t.call(e, r), t = null) : (l = t, t = function(e, t, n) {
return l.call(oe(e), n)
})), t))
for (; u > a; a++) t(e[a], n, s ? r : r.call(e[a], a, t(e[a], n)));
return i ? e : l ? t.call(e) : u ? t(e[0], n) : o
},
ke = function(e) {
return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType
};
a.uid = 1, a.prototype = {
register: function(e, t) {
var n = t || {};
return e.nodeType ? e[this.expando] = n : Object.defineProperty(e, this.expando, {
value: n,
writable: !0,
configurable: !0
}), e[this.expando]
},
cache: function(e) {
if (!ke(e)) return {};
var t = e[this.expando];
return t || (t = {}, ke(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, {
value: t,
configurable: !0
}))), t
},
set: function(e, t, n) {
var r, i = this.cache(e);
if ("string" == typeof t) i[t] = n;
else
for (r in t) i[r] = t[r];
return i
},
get: function(e, t) {
return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][t]
},
access: function(e, t, n) {
var r;
return void 0 === t || t && "string" == typeof t && void 0 === n ? (r = this.get(e, t), void 0 !== r ? r : this.get(e, oe.camelCase(t))) : (this.set(e, t, n), void 0 !== n ? n : t)
},
remove: function(e, t) {
var n, r, i, o = e[this.expando];
if (void 0 !== o) {
if (void 0 === t) this.register(e);
else {
oe.isArray(t) ? r = t.concat(t.map(oe.camelCase)) : (i = oe.camelCase(t), t in o ? r = [t, i] : (r = i, r = r in o ? [r] : r.match(we) || [])), n = r.length;
for (; n--;) delete o[r[n]]
}(void 0 === t || oe.isEmptyObject(o)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando])
}
},
hasData: function(e) {
var t = e[this.expando];
return void 0 !== t && !oe.isEmptyObject(t)
}
};
var Ee = new a,
Ne = new a,
Se = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
je = /[A-Z]/g;
oe.extend({
hasData: function(e) {
return Ne.hasData(e) || Ee.hasData(e)
},
data: function(e, t, n) {
return Ne.access(e, t, n)
},
removeData: function(e, t) {
Ne.remove(e, t)
},
_data: function(e, t, n) {
return Ee.access(e, t, n)
},
_removeData: function(e, t) {
Ee.remove(e, t)
}
}), oe.fn.extend({
data: function(e, t) {
var n, r, i, o = this[0],
s = o && o.attributes;
if (void 0 === e) {
if (this.length && (i = Ne.get(o), 1 === o.nodeType && !Ee.get(o, "hasDataAttrs"))) {
for (n = s.length; n--;) s[n] && (r = s[n].name, 0 === r.indexOf("data-") && (r = oe.camelCase(r.slice(5)), u(o, r, i[r])));
Ee.set(o, "hasDataAttrs", !0)
}
return i
}
return "object" == typeof e ? this.each(function() {
Ne.set(this, e)
}) : Ce(this, function(t) {
var n, r;
if (o && void 0 === t) {
if (n = Ne.get(o, e) || Ne.get(o, e.replace(je, "-$&").toLowerCase()), void 0 !== n) return n;
if (r = oe.camelCase(e), n = Ne.get(o, r), void 0 !== n) return n;
if (n = u(o, r, void 0), void 0 !== n) return n
} else r = oe.camelCase(e), this.each(function() {
var n = Ne.get(this, r);
Ne.set(this, r, t), e.indexOf("-") > -1 && void 0 !== n && Ne.set(this, e, t)
})
}, null, t, arguments.length > 1, null, !0)
},
removeData: function(e) {
return this.each(function() {
Ne.remove(this, e)
})
}
}), oe.extend({
queue: function(e, t, n) {
var r;
return e ? (t = (t || "fx") + "queue", r = Ee.get(e, t), n && (!r || oe.isArray(n) ? r = Ee.access(e, t, oe.makeArray(n)) : r.push(n)), r || []) : void 0
},
dequeue: function(e, t) {
t = t || "fx";
var n = oe.queue(e, t),
r = n.length,
i = n.shift(),
o = oe._queueHooks(e, t),
s = function() {
oe.dequeue(e, t)
};
"inprogress" === i && (i = n.shift(), r--), i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, s, o)), !r && o && o.empty.fire()
},
_queueHooks: function(e, t) {
var n = t + "queueHooks";
return Ee.get(e, n) || Ee.access(e, n, {
empty: oe.Callbacks("once memory").add(function() {
Ee.remove(e, [t + "queue", n])
})
})
}
}), oe.fn.extend({
queue: function(e, t) {
var n = 2;
return "string" != typeof e && (t = e, e = "fx", n--), arguments.length < n ? oe.queue(this[0], e) : void 0 === t ? this : this.each(function() {
var n = oe.queue(this, e, t);
oe._queueHooks(this, e), "fx" === e && "inprogress" !== n[0] && oe.dequeue(this, e)
})
},
dequeue: function(e) {
return this.each(function() {
oe.dequeue(this, e)
})
},
clearQueue: function(e) {
return this.queue(e || "fx", [])
},
promise: function(e, t) {
var n, r = 1,
i = oe.Deferred(),
o = this,
s = this.length,
a = function() {
--r || i.resolveWith(o, [o])
};
for ("string" != typeof e && (t = e, e = void 0), e = e || "fx"; s--;) n = Ee.get(o[s], e + "queueHooks"), n && n.empty && (r++, n.empty.add(a));
return a(), i.promise(t)
}
});
var De = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
Ae = new RegExp("^(?:([+-])=|)(" + De + ")([a-z%]*)$", "i"),
qe = ["Top", "Right", "Bottom", "Left"],
Le = function(e, t) {
return e = t || e, "none" === oe.css(e, "display") || !oe.contains(e.ownerDocument, e)
},
He = /^(?:checkbox|radio)$/i,
Oe = /<([\w:-]+)/,
Fe = /^$|\/(?:java|ecma)script/i,
Pe = {
option: [1, ""],
thead: [1, "
"],
col: [2, ""],
tr: [2, ""],
td: [3, ""],
_default: [0, "", ""]
};
Pe.optgroup = Pe.option, Pe.tbody = Pe.tfoot = Pe.colgroup = Pe.caption = Pe.thead, Pe.th = Pe.td;
var Re = /<|?\w+;/;
! function() {
var e = G.createDocumentFragment(),
t = e.appendChild(G.createElement("div")),
n = G.createElement("input");
n.setAttribute("type", "radio"), n.setAttribute("checked", "checked"), n.setAttribute("name", "t"), t.appendChild(n), re.checkClone = t.cloneNode(!0).cloneNode(!0).lastChild.checked, t.innerHTML = "", re.noCloneChecked = !!t.cloneNode(!0).lastChild.defaultValue
}();
var Me = /^key/,
Ie = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
We = /^([^.]*)(?:\.(.+)|)/;
oe.event = {
global: {},
add: function(e, t, n, r, i) {
var o, s, a, u, l, c, f, p, d, h, g, v = Ee.get(e);
if (v)
for (n.handler && (o = n, n = o.handler, i = o.selector), n.guid || (n.guid = oe.guid++), (u = v.events) || (u = v.events = {}), (s = v.handle) || (s = v.handle = function(t) {
return "undefined" != typeof oe && oe.event.triggered !== t.type ? oe.event.dispatch.apply(e, arguments) : void 0
}), t = (t || "").match(we) || [""], l = t.length; l--;) a = We.exec(t[l]) || [], d = g = a[1], h = (a[2] || "").split(".").sort(), d && (f = oe.event.special[d] || {}, d = (i ? f.delegateType : f.bindType) || d, f = oe.event.special[d] || {}, c = oe.extend({
type: d,
origType: g,
data: r,
handler: n,
guid: n.guid,
selector: i,
needsContext: i && oe.expr.match.needsContext.test(i),
namespace: h.join(".")
}, o), (p = u[d]) || (p = u[d] = [], p.delegateCount = 0, f.setup && f.setup.call(e, r, h, s) !== !1 || e.addEventListener && e.addEventListener(d, s)), f.add && (f.add.call(e, c), c.handler.guid || (c.handler.guid = n.guid)), i ? p.splice(p.delegateCount++, 0, c) : p.push(c), oe.event.global[d] = !0)
},
remove: function(e, t, n, r, i) {
var o, s, a, u, l, c, f, p, d, h, g, v = Ee.hasData(e) && Ee.get(e);
if (v && (u = v.events)) {
for (t = (t || "").match(we) || [""], l = t.length; l--;)
if (a = We.exec(t[l]) || [], d = g = a[1], h = (a[2] || "").split(".").sort(), d) {
for (f = oe.event.special[d] || {}, d = (r ? f.delegateType : f.bindType) || d, p = u[d] || [], a = a[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), s = o = p.length; o--;) c = p[o], !i && g !== c.origType || n && n.guid !== c.guid || a && !a.test(c.namespace) || r && r !== c.selector && ("**" !== r || !c.selector) || (p.splice(o, 1), c.selector && p.delegateCount--, f.remove && f.remove.call(e, c));
s && !p.length && (f.teardown && f.teardown.call(e, h, v.handle) !== !1 || oe.removeEvent(e, d, v.handle), delete u[d])
} else
for (d in u) oe.event.remove(e, d + t[l], n, r, !0);
oe.isEmptyObject(u) && Ee.remove(e, "handle events")
}
},
dispatch: function(e) {
e = oe.event.fix(e);
var t, n, r, i, o, s = [],
a = Q.call(arguments),
u = (Ee.get(this, "events") || {})[e.type] || [],
l = oe.event.special[e.type] || {};
if (a[0] = e, e.delegateTarget = this, !l.preDispatch || l.preDispatch.call(this, e) !== !1) {
for (s = oe.event.handlers.call(this, e, u), t = 0;
(i = s[t++]) && !e.isPropagationStopped();)
for (e.currentTarget = i.elem, n = 0;
(o = i.handlers[n++]) && !e.isImmediatePropagationStopped();) e.rnamespace && !e.rnamespace.test(o.namespace) || (e.handleObj = o, e.data = o.data, r = ((oe.event.special[o.origType] || {}).handle || o.handler).apply(i.elem, a), void 0 !== r && (e.result = r) === !1 && (e.preventDefault(), e.stopPropagation()));
return l.postDispatch && l.postDispatch.call(this, e), e.result
}
},
handlers: function(e, t) {
var n, r, i, o, s = [],
a = t.delegateCount,
u = e.target;
if (a && u.nodeType && ("click" !== e.type || isNaN(e.button) || e.button < 1))
for (; u !== this; u = u.parentNode || this)
if (1 === u.nodeType && (u.disabled !== !0 || "click" !== e.type)) {
for (r = [], n = 0; a > n; n++) o = t[n], i = o.selector + " ", void 0 === r[i] && (r[i] = o.needsContext ? oe(i, this).index(u) > -1 : oe.find(i, this, null, [u]).length), r[i] && r.push(o);
r.length && s.push({
elem: u,
handlers: r
})
}
return a < t.length && s.push({
elem: this,
handlers: t.slice(a)
}), s
},
props: "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
fixHooks: {},
keyHooks: {
props: "char charCode key keyCode".split(" "),
filter: function(e, t) {
return null == e.which && (e.which = null != t.charCode ? t.charCode : t.keyCode), e
}
},
mouseHooks: {
props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
filter: function(e, t) {
var n, r, i, o = t.button;
return null == e.pageX && null != t.clientX && (n = e.target.ownerDocument || G, r = n.documentElement, i = n.body, e.pageX = t.clientX + (r && r.scrollLeft || i && i.scrollLeft || 0) - (r && r.clientLeft || i && i.clientLeft || 0), e.pageY = t.clientY + (r && r.scrollTop || i && i.scrollTop || 0) - (r && r.clientTop || i && i.clientTop || 0)), e.which || void 0 === o || (e.which = 1 & o ? 1 : 2 & o ? 3 : 4 & o ? 2 : 0), e
}
},
fix: function(e) {
if (e[oe.expando]) return e;
var t, n, r, i = e.type,
o = e,
s = this.fixHooks[i];
for (s || (this.fixHooks[i] = s = Ie.test(i) ? this.mouseHooks : Me.test(i) ? this.keyHooks : {}), r = s.props ? this.props.concat(s.props) : this.props, e = new oe.Event(o), t = r.length; t--;) n = r[t], e[n] = o[n];
return e.target || (e.target = G), 3 === e.target.nodeType && (e.target = e.target.parentNode), s.filter ? s.filter(e, o) : e
},
special: {
load: {
noBubble: !0
},
focus: {
trigger: function() {
return this !== g() && this.focus ? (this.focus(), !1) : void 0
},
delegateType: "focusin"
},
blur: {
trigger: function() {
return this === g() && this.blur ? (this.blur(), !1) : void 0
},
delegateType: "focusout"
},
click: {
trigger: function() {
return "checkbox" === this.type && this.click && oe.nodeName(this, "input") ? (this.click(), !1) : void 0
},
_default: function(e) {
return oe.nodeName(e.target, "a")
}
},
beforeunload: {
postDispatch: function(e) {
void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result)
}
}
}
}, oe.removeEvent = function(e, t, n) {
e.removeEventListener && e.removeEventListener(t, n)
}, oe.Event = function(e, t) {
return this instanceof oe.Event ? (e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && e.returnValue === !1 ? d : h) : this.type = e, t && oe.extend(this, t), this.timeStamp = e && e.timeStamp || oe.now(), void(this[oe.expando] = !0)) : new oe.Event(e, t)
}, oe.Event.prototype = {
constructor: oe.Event,
isDefaultPrevented: h,
isPropagationStopped: h,
isImmediatePropagationStopped: h,
isSimulated: !1,
preventDefault: function() {
var e = this.originalEvent;
this.isDefaultPrevented = d, e && !this.isSimulated && e.preventDefault()
},
stopPropagation: function() {
var e = this.originalEvent;
this.isPropagationStopped = d, e && !this.isSimulated && e.stopPropagation()
},
stopImmediatePropagation: function() {
var e = this.originalEvent;
this.isImmediatePropagationStopped = d, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation()
}
}, oe.each({
mouseenter: "mouseover",
mouseleave: "mouseout",
pointerenter: "pointerover",
pointerleave: "pointerout"
}, function(e, t) {
oe.event.special[e] = {
delegateType: t,
bindType: t,
handle: function(e) {
var n, r = this,
i = e.relatedTarget,
o = e.handleObj;
return i && (i === r || oe.contains(r, i)) || (e.type = o.origType, n = o.handler.apply(this, arguments), e.type = t), n
}
}
}), oe.fn.extend({
on: function(e, t, n, r) {
return v(this, e, t, n, r)
},
one: function(e, t, n, r) {
return v(this, e, t, n, r, 1)
},
off: function(e, t, n) {
var r, i;
if (e && e.preventDefault && e.handleObj) return r = e.handleObj, oe(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this;
if ("object" == typeof e) {
for (i in e) this.off(i, t, e[i]);
return this
}
return t !== !1 && "function" != typeof t || (n = t, t = void 0), n === !1 && (n = h), this.each(function() {
oe.event.remove(this, e, n, t)
})
}
});
var $e = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,
Be = /'
}, a);
var u, v, y, w, b, k, P, x = this,
$ = !1,
I = t(window).height(),
j = t(window).width();
return doresize = !0, scroll_pos = _(), t(window).unbind("resize.prettyphoto").bind("resize.prettyphoto", function() {
c(), g()
}), a.keyboard_shortcuts && t(document).unbind("keydown.prettyphoto").bind("keydown.prettyphoto", function(e) {
if ("undefined" != typeof $pp_pic_holder && $pp_pic_holder.is(":visible")) switch (e.keyCode) {
case 37:
t.prettyPhoto.changePage("previous"), e.preventDefault();
break;
case 39:
t.prettyPhoto.changePage("next"), e.preventDefault();
break;
case 27:
settings.modal || t.prettyPhoto.close(), e.preventDefault()
}
}), t.prettyPhoto.initialize = function() {
return settings = a, "pp_default" == settings.theme && (settings.horizontal_padding = 16), theRel = t(this).attr(settings.hook), galleryRegExp = /\[(?:.*)\]/, isSet = !!galleryRegExp.exec(theRel), pp_images = isSet ? jQuery.map(x, function(e) {
return -1 != t(e).attr(settings.hook).indexOf(theRel) ? t(e).attr("href") : void 0
}) : t.makeArray(t(this).attr("href")), pp_titles = isSet ? jQuery.map(x, function(e) {
return -1 != t(e).attr(settings.hook).indexOf(theRel) ? t(e).find("img").attr("alt") ? t(e).find("img").attr("alt") : "" : void 0
}) : t.makeArray(t(this).find("img").attr("alt")), pp_descriptions = isSet ? jQuery.map(x, function(e) {
return -1 != t(e).attr(settings.hook).indexOf(theRel) ? t(e).attr("title") ? t(e).attr("title") : "" : void 0
}) : t.makeArray(t(this).attr("title")), pp_images.length > settings.overlay_gallery_max && (settings.overlay_gallery = !1), set_position = jQuery.inArray(t(this).attr("href"), pp_images), rel_index = isSet ? set_position : t("a[" + settings.hook + "^='" + theRel + "']").index(t(this)), f(this), settings.allow_resize && t(window).bind("scroll.prettyphoto", function() {
c()
}), t.prettyPhoto.open(), !1
}, t.prettyPhoto.open = function(e) {
return "undefined" == typeof settings && (settings = a, pp_images = t.makeArray(arguments[0]), pp_titles = t.makeArray(arguments[1] ? arguments[1] : ""), pp_descriptions = t.makeArray(arguments[2] ? arguments[2] : ""), isSet = pp_images.length > 1, set_position = arguments[3] ? arguments[3] : 0, f(e.target)), settings.hideflash && t("object,embed,iframe[src*=youtube],iframe[src*=vimeo]").css("visibility", "hidden"), l(t(pp_images).size()), t(".pp_loaderIcon").show(), settings.deeplinking && i(), settings.social_tools && (facebook_like_link = settings.social_tools.replace("{location_href}", encodeURIComponent(location.href)), $pp_pic_holder.find(".pp_social").html(facebook_like_link)), $ppt.is(":hidden") && $ppt.css("opacity", 0).show(), $pp_overlay.show().fadeTo(settings.animation_speed, settings.opacity), $pp_pic_holder.find(".currentTextHolder").text(set_position + 1 + settings.counter_separator_label + t(pp_images).size()), "undefined" != typeof pp_descriptions[set_position] && "" != pp_descriptions[set_position] ? $pp_pic_holder.find(".pp_description").show().html(unescape(pp_descriptions[set_position])) : $pp_pic_holder.find(".pp_description").hide(), movie_width = parseFloat(p("width", pp_images[set_position])) ? p("width", pp_images[set_position]) : settings.default_width.toString(), movie_height = parseFloat(p("height", pp_images[set_position])) ? p("height", pp_images[set_position]) : settings.default_height.toString(), $ = !1, -1 != movie_height.indexOf("%") && (movie_height = parseFloat(t(window).height() * parseFloat(movie_height) / 100 - 150), $ = !0), -1 != movie_width.indexOf("%") && (movie_width = parseFloat(t(window).width() * parseFloat(movie_width) / 100 - 150), $ = !0), $pp_pic_holder.fadeIn(function() {
switch ($ppt.html(settings.show_title && "" != pp_titles[set_position] && "undefined" != typeof pp_titles[set_position] ? unescape(pp_titles[set_position]) : " "), imgPreloader = "", skipInjection = !1, h(pp_images[set_position])) {
case "image":
imgPreloader = new Image, nextImage = new Image, isSet && set_position < t(pp_images).size() - 1 && (nextImage.src = pp_images[set_position + 1]), prevImage = new Image, isSet && pp_images[set_position - 1] && (prevImage.src = pp_images[set_position - 1]), $pp_pic_holder.find("#pp_full_res")[0].innerHTML = settings.image_markup.replace(/{path}/g, pp_images[set_position]), imgPreloader.onload = function() {
u = r(imgPreloader.width, imgPreloader.height), s()
}, imgPreloader.onerror = function() {
alert("Image cannot be loaded. Make sure the path is correct and image exist."), t.prettyPhoto.close()
}, imgPreloader.src = pp_images[set_position];
break;
case "youtube":
u = r(movie_width, movie_height), movie_id = p("v", pp_images[set_position]), "" == movie_id && (movie_id = pp_images[set_position].split("youtu.be/"), movie_id = movie_id[1], movie_id.indexOf("?") > 0 && (movie_id = movie_id.substr(0, movie_id.indexOf("?"))), movie_id.indexOf("&") > 0 && (movie_id = movie_id.substr(0, movie_id.indexOf("&")))), movie = "http://www.youtube.com/embed/" + movie_id, movie += p("rel", pp_images[set_position]) ? "?rel=" + p("rel", pp_images[set_position]) : "?rel=1", settings.autoplay && (movie += "&autoplay=1"), toInject = settings.iframe_markup.replace(/{width}/g, u.width).replace(/{height}/g, u.height).replace(/{wmode}/g, settings.wmode).replace(/{path}/g, movie);
break;
case "vimeo":
u = r(movie_width, movie_height), movie_id = pp_images[set_position];
var e = /http(s?):\/\/(www\.)?vimeo.com\/(\d+)/,
i = movie_id.match(e);
movie = "http://player.vimeo.com/video/" + i[3] + "?title=0&byline=0&portrait=0", settings.autoplay && (movie += "&autoplay=1;"), vimeo_width = u.width + "/embed/?moog_width=" + u.width, toInject = settings.iframe_markup.replace(/{width}/g, vimeo_width).replace(/{height}/g, u.height).replace(/{path}/g, movie);
break;
case "quicktime":
u = r(movie_width, movie_height), u.height += 15, u.contentHeight += 15, u.containerHeight += 15, toInject = settings.quicktime_markup.replace(/{width}/g, u.width).replace(/{height}/g, u.height).replace(/{wmode}/g, settings.wmode).replace(/{path}/g, pp_images[set_position]).replace(/{autoplay}/g, settings.autoplay);
break;
case "flash":
u = r(movie_width, movie_height), flash_vars = pp_images[set_position], flash_vars = flash_vars.substring(pp_images[set_position].indexOf("flashvars") + 10, pp_images[set_position].length), filename = pp_images[set_position], filename = filename.substring(0, filename.indexOf("?")), toInject = settings.flash_markup.replace(/{width}/g, u.width).replace(/{height}/g, u.height).replace(/{wmode}/g, settings.wmode).replace(/{path}/g, filename + "?" + flash_vars);
break;
case "iframe":
u = r(movie_width, movie_height), frame_url = pp_images[set_position], frame_url = frame_url.substr(0, frame_url.indexOf("iframe") - 1), toInject = settings.iframe_markup.replace(/{width}/g, u.width).replace(/{height}/g, u.height).replace(/{path}/g, frame_url);
break;
case "ajax":
doresize = !1, u = r(movie_width, movie_height), doresize = !0, skipInjection = !0, t.get(pp_images[set_position], function(t) {
toInject = settings.inline_markup.replace(/{content}/g, t), $pp_pic_holder.find("#pp_full_res")[0].innerHTML = toInject, s()
});
break;
case "custom":
u = r(movie_width, movie_height), toInject = settings.custom_markup;
break;
case "inline":
myClone = t(pp_images[set_position]).clone().append('
').css({
width: settings.default_width
}).wrapInner('').appendTo(t("body")).show(), doresize = !1, u = r(t(myClone).width(), t(myClone).height()), doresize = !0, t(myClone).remove(), toInject = settings.inline_markup.replace(/{content}/g, t(pp_images[set_position]).html())
}
imgPreloader || skipInjection || ($pp_pic_holder.find("#pp_full_res")[0].innerHTML = toInject, s())
}), !1
}, t.prettyPhoto.changePage = function(e) {
currentGalleryPage = 0, "previous" == e ? (set_position--, set_position < 0 && (set_position = t(pp_images).size() - 1)) : "next" == e ? (set_position++, set_position > t(pp_images).size() - 1 && (set_position = 0)) : set_position = e, rel_index = set_position, doresize || (doresize = !0), settings.allow_expand && t(".pp_contract").removeClass("pp_contract").addClass("pp_expand"), n(function() {
t.prettyPhoto.open()
})
}, t.prettyPhoto.changeGalleryPage = function(t) {
"next" == t ? (currentGalleryPage++, currentGalleryPage > totalPage && (currentGalleryPage = 0)) : "previous" == t ? (currentGalleryPage--, currentGalleryPage < 0 && (currentGalleryPage = totalPage)) : currentGalleryPage = t, slide_speed = "next" == t || "previous" == t ? settings.animation_speed : 0, slide_to = currentGalleryPage * itemsPerPage * itemWidth, $pp_gallery.find("ul").animate({
left: -slide_to
}, slide_speed)
}, t.prettyPhoto.startSlideshow = function() {
"undefined" == typeof P ? ($pp_pic_holder.find(".pp_play").unbind("click").removeClass("pp_play").addClass("pp_pause").click(function() {
return t.prettyPhoto.stopSlideshow(), !1
}), P = setInterval(t.prettyPhoto.startSlideshow, settings.slideshow)) : t.prettyPhoto.changePage("next")
}, t.prettyPhoto.stopSlideshow = function() {
$pp_pic_holder.find(".pp_pause").unbind("click").removeClass("pp_pause").addClass("pp_play").click(function() {
return t.prettyPhoto.startSlideshow(), !1
}), clearInterval(P), P = void 0
}, t.prettyPhoto.close = function() {
$pp_overlay.is(":animated") || (t.prettyPhoto.stopSlideshow(), $pp_pic_holder.stop().find("object,embed").css("visibility", "hidden"), t("div.pp_pic_holder,div.ppt,.pp_fade").fadeOut(settings.animation_speed, function() {
t(this).remove()
}), $pp_overlay.fadeOut(settings.animation_speed, function() {
settings.hideflash && t("object,embed,iframe[src*=youtube],iframe[src*=vimeo]").css("visibility", "visible"), t(this).remove(), t(window).unbind("scroll.prettyphoto"), o(), settings.callback(), doresize = !0, v = !1, delete settings
}))
}, !pp_alreadyInitialized && e() && (pp_alreadyInitialized = !0, hashIndex = e(), hashRel = hashIndex, hashIndex = hashIndex.substring(hashIndex.indexOf("/") + 1, hashIndex.length - 1), hashRel = hashRel.substring(0, hashRel.indexOf("/")), setTimeout(function() {
t("a[" + a.hook + "^='" + hashRel + "']:eq(" + hashIndex + ")").trigger("click")
}, 50)), this.unbind("click.prettyphoto").bind("click.prettyphoto", t.prettyPhoto.initialize)
}
}(jQuery);
var pp_alreadyInitialized = !1;
! function() {
var t = !1;
window.JQClass = function() {}, JQClass.classes = {}, JQClass.extend = function e(i) {
function n() {
!t && this._init && this._init.apply(this, arguments)
}
var s = this.prototype;
t = !0;
var o = new this;
t = !1;
for (var a in i) o[a] = "function" == typeof i[a] && "function" == typeof s[a] ? function(t, e) {
return function() {
var i = this._super;
this._super = function(e) {
return s[t].apply(this, e || [])
};
var n = e.apply(this, arguments);
return this._super = i, n
}
}(a, i[a]) : i[a];
return n.prototype = o, n.prototype.constructor = n, n.extend = e, n
}
}(),
function($) {
function camelCase(t) {
return t.replace(/-([a-z])/g, function(t, e) {
return e.toUpperCase()
})
}
JQClass.classes.JQPlugin = JQClass.extend({
name: "plugin",
defaultOptions: {},
regionalOptions: {},
_getters: [],
_getMarker: function() {
return "is-" + this.name
},
_init: function() {
$.extend(this.defaultOptions, this.regionalOptions && this.regionalOptions[""] || {});
var t = camelCase(this.name);
$[t] = this, $.fn[t] = function(e) {
var i = Array.prototype.slice.call(arguments, 1);
return $[t]._isNotChained(e, i) ? $[t][e].apply($[t], [this[0]].concat(i)) : this.each(function() {
if ("string" == typeof e) {
if ("_" === e[0] || !$[t][e]) throw "Unknown method: " + e;
$[t][e].apply($[t], [this].concat(i))
} else $[t]._attach(this, e)
})
}
},
setDefaults: function(t) {
$.extend(this.defaultOptions, t || {})
},
_isNotChained: function(t, e) {
return "option" === t && (0 === e.length || 1 === e.length && "string" == typeof e[0]) || $.inArray(t, this._getters) > -1
},
_attach: function(t, e) {
if (t = $(t), !t.hasClass(this._getMarker())) {
t.addClass(this._getMarker()), e = $.extend({}, this.defaultOptions, this._getMetadata(t), e || {});
var i = $.extend({
name: this.name,
elem: t,
options: e
}, this._instSettings(t, e));
t.data(this.name, i), this._postAttach(t, i), this.option(t, e)
}
},
_instSettings: function(t, e) {
return {}
},
_postAttach: function(t, e) {},
_getMetadata: function(d) {
try {
var f = d.data(this.name.toLowerCase()) || "";
f = f.replace(/'/g, '"'), f = f.replace(/([a-zA-Z0-9]+):/g, function(t, e, i) {
var n = f.substring(0, i).match(/"/g);
return n && n.length % 2 !== 0 ? e + ":" : '"' + e + '":'
}), f = $.parseJSON("{" + f + "}");
for (var g in f) {
var h = f[g];
"string" == typeof h && h.match(/^new Date\((.*)\)$/) && (f[g] = eval(h))
}
return f
} catch (t) {
return {}
}
},
_getInst: function(t) {
return $(t).data(this.name) || {}
},
option: function(t, e, i) {
t = $(t);
var n = t.data(this.name);
if (!e || "string" == typeof e && null == i) {
var s = (n || {}).options;
return s && e ? s[e] : s
}
if (t.hasClass(this._getMarker())) {
var s = e || {};
"string" == typeof e && (s = {}, s[e] = i), this._optionsChanged(t, n, s), $.extend(n.options, s)
}
},
_optionsChanged: function(t, e, i) {},
destroy: function(t) {
t = $(t), t.hasClass(this._getMarker()) && (this._preDestroy(t, this._getInst(t)), t.removeData(this.name).removeClass(this._getMarker()))
},
_preDestroy: function(t, e) {}
}), $.JQPlugin = {
createPlugin: function(t, e) {
"object" == typeof t && (e = t, t = "JQPlugin"), t = camelCase(t);
var i = camelCase(e.name);
JQClass.classes[i] = JQClass.classes[t].extend(e), new JQClass.classes[i]
}
}
}(jQuery),
function(t) {
var e = "countdown",
i = 0,
n = 1,
s = 2,
o = 3,
a = 4,
r = 5,
l = 6;
t.JQPlugin.createPlugin({
name: e,
defaultOptions: {
until: null,
since: null,
timezone: null,
serverSync: null,
format: "dHMS",
layout: "",
compact: !1,
padZeroes: !1,
significant: 0,
description: "",
expiryUrl: "",
expiryText: "",
alwaysExpire: !1,
onExpiry: null,
onTick: null,
tickInterval: 1
},
regionalOptions: {
"": {
labels: ["Years", "Months", "Weeks", "Days", "Hours", "Minutes", "Seconds"],
labels1: ["Year", "Month", "Week", "Day", "Hour", "Minute", "Second"],
compactLabels: ["y", "m", "w", "d"],
whichLabels: null,
digits: ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
timeSeparator: ":",
isRTL: !1
}
},
_getters: ["getTimes"],
_rtlClass: e + "-rtl",
_sectionClass: e + "-section",
_amountClass: e + "-amount",
_periodClass: e + "-period",
_rowClass: e + "-row",
_holdingClass: e + "-holding",
_showClass: e + "-show",
_descrClass: e + "-descr",
_timerElems: [],
_init: function() {
function e(t) {
var r = t < 1e12 ? s ? performance.now() + performance.timing.navigationStart : n() : t || n();
r - a >= 1e3 && (i._updateElems(), a = r), o(e)
}
var i = this;
this._super(), this._serverSyncs = [];
var n = "function" == typeof Date.now ? Date.now : function() {
return (new Date).getTime()
},
s = window.performance && "function" == typeof window.performance.now,
o = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || null,
a = 0;
!o || t.noRequestAnimationFrame ? (t.noRequestAnimationFrame = null, setInterval(function() {
i._updateElems()
}, 980)) : (a = window.animationStartTime || window.webkitAnimationStartTime || window.mozAnimationStartTime || window.oAnimationStartTime || window.msAnimationStartTime || n(), o(e))
},
UTCDate: function(t, e, i, n, s, o, a, r) {
"object" == typeof e && e.constructor == Date && (r = e.getMilliseconds(), a = e.getSeconds(), o = e.getMinutes(), s = e.getHours(), n = e.getDate(), i = e.getMonth(), e = e.getFullYear());
var l = new Date;
return l.setUTCFullYear(e), l.setUTCDate(1), l.setUTCMonth(i || 0), l.setUTCDate(n || 1), l.setUTCHours(s || 0), l.setUTCMinutes((o || 0) - (Math.abs(t) < 30 ? 60 * t : t)), l.setUTCSeconds(a || 0), l.setUTCMilliseconds(r || 0), l
},
periodsToSeconds: function(t) {
return 31557600 * t[0] + 2629800 * t[1] + 604800 * t[2] + 86400 * t[3] + 3600 * t[4] + 60 * t[5] + t[6]
},
resync: function() {
var e = this;
t("." + this._getMarker()).each(function() {
var i = t.data(this, e.name);
if (i.options.serverSync) {
for (var n = null, s = 0; s < e._serverSyncs.length; s++)
if (e._serverSyncs[s][0] == i.options.serverSync) {
n = e._serverSyncs[s];
break
}
if (null == n[2]) {
var o = t.isFunction(i.options.serverSync) ? i.options.serverSync.apply(this, []) : null;
n[2] = (o ? (new Date).getTime() - o.getTime() : 0) - n[1]
}
i._since && i._since.setMilliseconds(i._since.getMilliseconds() + n[2]), i._until.setMilliseconds(i._until.getMilliseconds() + n[2])
}
});
for (var i = 0; i < e._serverSyncs.length; i++) null != e._serverSyncs[i][2] && (e._serverSyncs[i][1] += e._serverSyncs[i][2], delete e._serverSyncs[i][2])
},
_instSettings: function(t, e) {
return {
_periods: [0, 0, 0, 0, 0, 0, 0]
}
},
_addElem: function(t) {
this._hasElem(t) || this._timerElems.push(t)
},
_hasElem: function(e) {
return t.inArray(e, this._timerElems) > -1
},
_removeElem: function(e) {
this._timerElems = t.map(this._timerElems, function(t) {
return t == e ? null : t
})
},
_updateElems: function() {
for (var t = this._timerElems.length - 1; t >= 0; t--) this._updateCountdown(this._timerElems[t])
},
_optionsChanged: function(e, i, n) {
n.layout && (n.layout = n.layout.replace(/</g, "<").replace(/>/g, ">")), this._resetExtraLabels(i.options, n);
var s = i.options.timezone != n.timezone;
t.extend(i.options, n), this._adjustSettings(e, i, null != n.until || null != n.since || s);
var o = new Date;
(i._since && i._since < o || i._until && i._until > o) && this._addElem(e[0]), this._updateCountdown(e, i)
},
_updateCountdown: function(e, i) {
if (e = e.jquery ? e : t(e), i = i || this._getInst(e)) {
if (e.html(this._generateHTML(i)).toggleClass(this._rtlClass, i.options.isRTL), t.isFunction(i.options.onTick)) {
var n = "lap" != i._hold ? i._periods : this._calculatePeriods(i, i._show, i.options.significant, new Date);
1 != i.options.tickInterval && this.periodsToSeconds(n) % i.options.tickInterval != 0 || i.options.onTick.apply(e[0], [n])
}
var s = "pause" != i._hold && (i._since ? i._now.getTime() < i._since.getTime() : i._now.getTime() >= i._until.getTime());
if (s && !i._expiring) {
if (i._expiring = !0, this._hasElem(e[0]) || i.options.alwaysExpire) {
if (this._removeElem(e[0]), t.isFunction(i.options.onExpiry) && i.options.onExpiry.apply(e[0], []), i.options.expiryText) {
var o = i.options.layout;
i.options.layout = i.options.expiryText, this._updateCountdown(e[0], i), i.options.layout = o
}
i.options.expiryUrl && (window.location = i.options.expiryUrl)
}
i._expiring = !1
} else "pause" == i._hold && this._removeElem(e[0])
}
},
_resetExtraLabels: function(t, e) {
for (var i in e) i.match(/[Ll]abels[02-9]|compactLabels1/) && (t[i] = e[i]);
for (var i in t) i.match(/[Ll]abels[02-9]|compactLabels1/) && "undefined" == typeof e[i] && (t[i] = null)
},
_adjustSettings: function(e, i, n) {
for (var s = null, o = 0; o < this._serverSyncs.length; o++)
if (this._serverSyncs[o][0] == i.options.serverSync) {
s = this._serverSyncs[o][1];
break
}
if (null != s) var a = i.options.serverSync ? s : 0,
r = new Date;
else {
var l = t.isFunction(i.options.serverSync) ? i.options.serverSync.apply(e[0], []) : null,
r = new Date,
a = l ? r.getTime() - l.getTime() : 0;
this._serverSyncs.push([i.options.serverSync, a])
}
var p = i.options.timezone;
p = null == p ? -r.getTimezoneOffset() : p, (n || !n && null == i._until && null == i._since) && (i._since = i.options.since, null != i._since && (i._since = this.UTCDate(p, this._determineTime(i._since, null)), i._since && a && i._since.setMilliseconds(i._since.getMilliseconds() + a)), i._until = this.UTCDate(p, this._determineTime(i.options.until, r)), a && i._until.setMilliseconds(i._until.getMilliseconds() + a)), i._show = this._determineShow(i)
},
_preDestroy: function(t, e) {
this._removeElem(t[0]), t.empty()
},
pause: function(t) {
this._hold(t, "pause")
},
lap: function(t) {
this._hold(t, "lap")
},
resume: function(t) {
this._hold(t, null)
},
toggle: function(e) {
var i = t.data(e, this.name) || {};
this[i._hold ? "resume" : "pause"](e)
},
toggleLap: function(e) {
var i = t.data(e, this.name) || {};
this[i._hold ? "resume" : "lap"](e)
},
_hold: function(e, i) {
var n = t.data(e, this.name);
if (n) {
if ("pause" == n._hold && !i) {
n._periods = n._savePeriods;
var s = n._since ? "-" : "+";
n[n._since ? "_since" : "_until"] = this._determineTime(s + n._periods[0] + "y" + s + n._periods[1] + "o" + s + n._periods[2] + "w" + s + n._periods[3] + "d" + s + n._periods[4] + "h" + s + n._periods[5] + "m" + s + n._periods[6] + "s"), this._addElem(e)
}
n._hold = i, n._savePeriods = "pause" == i ? n._periods : null, t.data(e, this.name, n), this._updateCountdown(e, n)
}
},
getTimes: function(e) {
var i = t.data(e, this.name);
return i ? "pause" == i._hold ? i._savePeriods : i._hold ? this._calculatePeriods(i, i._show, i.options.significant, new Date) : i._periods : null
},
_determineTime: function(t, e) {
var i = this,
n = function(t) {
var e = new Date;
return e.setTime(e.getTime() + 1e3 * t), e
},
s = function(t) {
t = t.toLowerCase();
for (var e = new Date, n = e.getFullYear(), s = e.getMonth(), o = e.getDate(), a = e.getHours(), r = e.getMinutes(), l = e.getSeconds(), p = /([+-]?[0-9]+)\s*(s|m|h|d|w|o|y)?/g, _ = p.exec(t); _;) {
switch (_[2] || "s") {
case "s":
l += parseInt(_[1], 10);
break;
case "m":
r += parseInt(_[1], 10);
break;
case "h":
a += parseInt(_[1], 10);
break;
case "d":
o += parseInt(_[1], 10);
break;
case "w":
o += 7 * parseInt(_[1], 10);
break;
case "o":
s += parseInt(_[1], 10), o = Math.min(o, i._getDaysInMonth(n, s));
break;
case "y":
n += parseInt(_[1], 10), o = Math.min(o, i._getDaysInMonth(n, s))
}
_ = p.exec(t)
}
return new Date(n, s, o, a, r, l, 0)
},
o = null == t ? e : "string" == typeof t ? s(t) : "number" == typeof t ? n(t) : t;
return o && o.setMilliseconds(0), o
},
_getDaysInMonth: function(t, e) {
return 32 - new Date(t, e, 32).getDate()
},
_normalLabels: function(t) {
return t
},
_generateHTML: function(e) {
var p = this;
e._periods = e._hold ? e._periods : this._calculatePeriods(e, e._show, e.options.significant, new Date);
for (var _ = !1, c = 0, u = e.options.significant, h = t.extend({}, e._show), d = i; d <= l; d++) _ |= "?" == e._show[d] && e._periods[d] > 0, h[d] = "?" != e._show[d] || _ ? e._show[d] : null, c += h[d] ? 1 : 0, u -= e._periods[d] > 0 ? 1 : 0;
for (var m = [!1, !1, !1, !1, !1, !1, !1], d = l; d >= i; d--) e._show[d] && (e._periods[d] ? m[d] = !0 : (m[d] = u > 0, u--));
var g = e.options.compact ? e.options.compactLabels : e.options.labels,
f = e.options.whichLabels || this._normalLabels,
w = function(t) {
var i = e.options["compactLabels" + f(e._periods[t])];
return h[t] ? p._translateDigits(e, e._periods[t]) + (i ? i[t] : g[t]) + " " : ""
},
y = e.options.padZeroes ? 2 : 1,
v = function(t) {
var i = e.options["labels" + f(e._periods[t])];
return !e.options.significant && h[t] || e.options.significant && m[t] ? '' + p._minDigits(e, e._periods[t], y) + '' + (i ? i[t] : g[t]) + "" : ""
};
return e.options.layout ? this._buildLayout(e, h, e.options.layout, e.options.compact, e.options.significant, m) : (e.options.compact ? '' + w(i) + w(n) + w(s) + w(o) + (h[a] ? this._minDigits(e, e._periods[a], 2) : "") + (h[r] ? (h[a] ? e.options.timeSeparator : "") + this._minDigits(e, e._periods[r], 2) : "") + (h[l] ? (h[a] || h[r] ? e.options.timeSeparator : "") + this._minDigits(e, e._periods[l], 2) : "") : '' + v(i) + v(n) + v(s) + v(o) + v(a) + v(r) + v(l)) + "" + (e.options.description ? '' + e.options.description + "" : "")
},
_buildLayout: function(e, p, _, c, u, h) {
for (var d = e.options[c ? "compactLabels" : "labels"], m = e.options.whichLabels || this._normalLabels, g = function(t) {
return (e.options[(c ? "compactLabels" : "labels") + m(e._periods[t])] || d)[t]
}, f = function(t, i) {
return e.options.digits[Math.floor(t / i) % 10]
}, w = {
desc: e.options.description,
sep: e.options.timeSeparator,
yl: g(i),
yn: this._minDigits(e, e._periods[i], 1),
ynn: this._minDigits(e, e._periods[i], 2),
ynnn: this._minDigits(e, e._periods[i], 3),
y1: f(e._periods[i], 1),
y10: f(e._periods[i], 10),
y100: f(e._periods[i], 100),
y1000: f(e._periods[i], 1e3),
ol: g(n),
on: this._minDigits(e, e._periods[n], 1),
onn: this._minDigits(e, e._periods[n], 2),
onnn: this._minDigits(e, e._periods[n], 3),
o1: f(e._periods[n], 1),
o10: f(e._periods[n], 10),
o100: f(e._periods[n], 100),
o1000: f(e._periods[n], 1e3),
wl: g(s),
wn: this._minDigits(e, e._periods[s], 1),
wnn: this._minDigits(e, e._periods[s], 2),
wnnn: this._minDigits(e, e._periods[s], 3),
w1: f(e._periods[s], 1),
w10: f(e._periods[s], 10),
w100: f(e._periods[s], 100),
w1000: f(e._periods[s], 1e3),
dl: g(o),
dn: this._minDigits(e, e._periods[o], 1),
dnn: this._minDigits(e, e._periods[o], 2),
dnnn: this._minDigits(e, e._periods[o], 3),
d1: f(e._periods[o], 1),
d10: f(e._periods[o], 10),
d100: f(e._periods[o], 100),
d1000: f(e._periods[o], 1e3),
hl: g(a),
hn: this._minDigits(e, e._periods[a], 1),
hnn: this._minDigits(e, e._periods[a], 2),
hnnn: this._minDigits(e, e._periods[a], 3),
h1: f(e._periods[a], 1),
h10: f(e._periods[a], 10),
h100: f(e._periods[a], 100),
h1000: f(e._periods[a], 1e3),
ml: g(r),
mn: this._minDigits(e, e._periods[r], 1),
mnn: this._minDigits(e, e._periods[r], 2),
mnnn: this._minDigits(e, e._periods[r], 3),
m1: f(e._periods[r], 1),
m10: f(e._periods[r], 10),
m100: f(e._periods[r], 100),
m1000: f(e._periods[r], 1e3),
sl: g(l),
sn: this._minDigits(e, e._periods[l], 1),
snn: this._minDigits(e, e._periods[l], 2),
snnn: this._minDigits(e, e._periods[l], 3),
s1: f(e._periods[l], 1),
s10: f(e._periods[l], 10),
s100: f(e._periods[l], 100),
s1000: f(e._periods[l], 1e3)
}, y = _, v = i; v <= l; v++) {
var D = "yowdhms".charAt(v),
C = new RegExp("\\{" + D + "<\\}([\\s\\S]*)\\{" + D + ">\\}", "g");
y = y.replace(C, !u && p[v] || u && h[v] ? "$1" : "")
}
return t.each(w, function(t, e) {
var i = new RegExp("\\{" + t + "\\}", "g");
y = y.replace(i, e)
}), y
},
_minDigits: function(t, e, i) {
return e = "" + e, e.length >= i ? this._translateDigits(t, e) : (e = "0000000000" + e, this._translateDigits(t, e.substr(e.length - i)))
},
_translateDigits: function(t, e) {
return ("" + e).replace(/[0-9]/g, function(e) {
return t.options.digits[e]
})
},
_determineShow: function(t) {
var e = t.options.format,
p = [];
return p[i] = e.match("y") ? "?" : e.match("Y") ? "!" : null, p[n] = e.match("o") ? "?" : e.match("O") ? "!" : null, p[s] = e.match("w") ? "?" : e.match("W") ? "!" : null, p[o] = e.match("d") ? "?" : e.match("D") ? "!" : null, p[a] = e.match("h") ? "?" : e.match("H") ? "!" : null, p[r] = e.match("m") ? "?" : e.match("M") ? "!" : null, p[l] = e.match("s") ? "?" : e.match("S") ? "!" : null, p
},
_calculatePeriods: function(t, e, p, _) {
t._now = _, t._now.setMilliseconds(0);
var c = new Date(t._now.getTime());
t._since ? _.getTime() < t._since.getTime() ? t._now = _ = c : _ = t._since : (c.setTime(t._until.getTime()), _.getTime() > t._until.getTime() && (t._now = _ = c));
var u = [0, 0, 0, 0, 0, 0, 0];
if (e[i] || e[n]) {
var h = this._getDaysInMonth(_.getFullYear(), _.getMonth()),
d = this._getDaysInMonth(c.getFullYear(), c.getMonth()),
m = c.getDate() == _.getDate() || c.getDate() >= Math.min(h, d) && _.getDate() >= Math.min(h, d),
g = function(t) {
return 60 * (60 * t.getHours() + t.getMinutes()) + t.getSeconds()
},
f = Math.max(0, 12 * (c.getFullYear() - _.getFullYear()) + c.getMonth() - _.getMonth() + (c.getDate() < _.getDate() && !m || m && g(c) < g(_) ? -1 : 0));
u[i] = e[i] ? Math.floor(f / 12) : 0, u[n] = e[n] ? f - 12 * u[i] : 0, _ = new Date(_.getTime());
var w = _.getDate() == h,
y = this._getDaysInMonth(_.getFullYear() + u[i], _.getMonth() + u[n]);
_.getDate() > y && _.setDate(y), _.setFullYear(_.getFullYear() + u[i]), _.setMonth(_.getMonth() + u[n]), w && _.setDate(y)
}
var v = Math.floor((c.getTime() - _.getTime()) / 1e3),
D = function(t, i) {
u[t] = e[t] ? Math.floor(v / i) : 0, v -= u[t] * i
};
if (D(s, 604800), D(o, 86400), D(a, 3600), D(r, 60), D(l, 1), v > 0 && !t._since)
for (var C = [1, 12, 4.3482, 7, 24, 60, 60], M = l, T = 1, S = l; S >= i; S--) e[S] && (u[M] >= T && (u[M] = 0, v = 1), v > 0 && (u[S]++, v = 0, M = S, T = 1)), T *= C[S];
if (p)
for (var S = i; S <= l; S++) p && u[S] ? p-- : p || (u[S] = 0);
return u
}
})
}(jQuery);
! function(t) {
function e() {}
function i(t) {
function i(e) {
e.prototype.option || (e.prototype.option = function(e) {
t.isPlainObject(e) && (this.options = t.extend(!0, this.options, e))
})
}
function n(e, i) {
t.fn[e] = function(n) {
if ("string" == typeof n) {
for (var s = o.call(arguments, 1), a = 0, u = this.length; u > a; a++) {
var p = this[a],
h = t.data(p, e);
if (h)
if (t.isFunction(h[n]) && "_" !== n.charAt(0)) {
var f = h[n].apply(h, s);
if (void 0 !== f) return f
} else r("no such method '" + n + "' for " + e + " instance");
else r("cannot call methods on " + e + " prior to initialization; attempted to call '" + n + "'")
}
return this
}
return this.each(function() {
var o = t.data(this, e);
o ? (o.option(n), o._init()) : (o = new i(this, n), t.data(this, e, o))
})
}
}
if (t) {
var r = "undefined" == typeof console ? e : function(t) {
console.error(t)
};
return t.bridget = function(t, e) {
i(e), n(t, e)
}, t.bridget
}
}
var o = Array.prototype.slice;
"function" == typeof define && define.amd ? define("jquery-bridget/jquery.bridget", ["jquery"], i) : i("object" == typeof exports ? require("jquery") : t.jQuery)
}(window),
function(t) {
function e(e) {
var i = t.event;
return i.target = i.target || i.srcElement || e, i
}
var i = document.documentElement,
o = function() {};
i.addEventListener ? o = function(t, e, i) {
t.addEventListener(e, i, !1)
} : i.attachEvent && (o = function(t, i, o) {
t[i + o] = o.handleEvent ? function() {
var i = e(t);
o.handleEvent.call(o, i)
} : function() {
var i = e(t);
o.call(t, i)
}, t.attachEvent("on" + i, t[i + o])
});
var n = function() {};
i.removeEventListener ? n = function(t, e, i) {
t.removeEventListener(e, i, !1)
} : i.detachEvent && (n = function(t, e, i) {
t.detachEvent("on" + e, t[e + i]);
try {
delete t[e + i]
} catch (o) {
t[e + i] = void 0
}
});
var r = {
bind: o,
unbind: n
};
"function" == typeof define && define.amd ? define("eventie/eventie", r) : "object" == typeof exports ? module.exports = r : t.eventie = r
}(window),
function() {
function t() {}
function e(t, e) {
for (var i = t.length; i--;)
if (t[i].listener === e) return i;
return -1
}
function i(t) {
return function() {
return this[t].apply(this, arguments)
}
}
var o = t.prototype,
n = this,
r = n.EventEmitter;
o.getListeners = function(t) {
var e, i, o = this._getEvents();
if (t instanceof RegExp) {
e = {};
for (i in o) o.hasOwnProperty(i) && t.test(i) && (e[i] = o[i])
} else e = o[t] || (o[t] = []);
return e
}, o.flattenListeners = function(t) {
var e, i = [];
for (e = 0; t.length > e; e += 1) i.push(t[e].listener);
return i
}, o.getListenersAsObject = function(t) {
var e, i = this.getListeners(t);
return i instanceof Array && (e = {}, e[t] = i), e || i
}, o.addListener = function(t, i) {
var o, n = this.getListenersAsObject(t),
r = "object" == typeof i;
for (o in n) n.hasOwnProperty(o) && -1 === e(n[o], i) && n[o].push(r ? i : {
listener: i,
once: !1
});
return this
}, o.on = i("addListener"), o.addOnceListener = function(t, e) {
return this.addListener(t, {
listener: e,
once: !0
})
}, o.once = i("addOnceListener"), o.defineEvent = function(t) {
return this.getListeners(t), this
}, o.defineEvents = function(t) {
for (var e = 0; t.length > e; e += 1) this.defineEvent(t[e]);
return this
}, o.removeListener = function(t, i) {
var o, n, r = this.getListenersAsObject(t);
for (n in r) r.hasOwnProperty(n) && (o = e(r[n], i), -1 !== o && r[n].splice(o, 1));
return this
}, o.off = i("removeListener"), o.addListeners = function(t, e) {
return this.manipulateListeners(!1, t, e)
}, o.removeListeners = function(t, e) {
return this.manipulateListeners(!0, t, e)
}, o.manipulateListeners = function(t, e, i) {
var o, n, r = t ? this.removeListener : this.addListener,
s = t ? this.removeListeners : this.addListeners;
if ("object" != typeof e || e instanceof RegExp)
for (o = i.length; o--;) r.call(this, e, i[o]);
else
for (o in e) e.hasOwnProperty(o) && (n = e[o]) && ("function" == typeof n ? r.call(this, o, n) : s.call(this, o, n));
return this
}, o.removeEvent = function(t) {
var e, i = typeof t,
o = this._getEvents();
if ("string" === i) delete o[t];
else if (t instanceof RegExp)
for (e in o) o.hasOwnProperty(e) && t.test(e) && delete o[e];
else delete this._events;
return this
}, o.removeAllListeners = i("removeEvent"), o.emitEvent = function(t, e) {
var i, o, n, r, s = this.getListenersAsObject(t);
for (n in s)
if (s.hasOwnProperty(n))
for (o = s[n].length; o--;) i = s[n][o], i.once === !0 && this.removeListener(t, i.listener), r = i.listener.apply(this, e || []), r === this._getOnceReturnValue() && this.removeListener(t, i.listener);
return this
}, o.trigger = i("emitEvent"), o.emit = function(t) {
var e = Array.prototype.slice.call(arguments, 1);
return this.emitEvent(t, e)
}, o.setOnceReturnValue = function(t) {
return this._onceReturnValue = t, this
}, o._getOnceReturnValue = function() {
return !this.hasOwnProperty("_onceReturnValue") || this._onceReturnValue
}, o._getEvents = function() {
return this._events || (this._events = {})
}, t.noConflict = function() {
return n.EventEmitter = r, t
}, "function" == typeof define && define.amd ? define("eventEmitter/EventEmitter", [], function() {
return t
}) : "object" == typeof module && module.exports ? module.exports = t : n.EventEmitter = t
}.call(this),
function(t) {
function e(t) {
if (t) {
if ("string" == typeof o[t]) return t;
t = t.charAt(0).toUpperCase() + t.slice(1);
for (var e, n = 0, r = i.length; r > n; n++)
if (e = i[n] + t, "string" == typeof o[e]) return e
}
}
var i = "Webkit Moz ms Ms O".split(" "),
o = document.documentElement.style;
"function" == typeof define && define.amd ? define("get-style-property/get-style-property", [], function() {
return e
}) : "object" == typeof exports ? module.exports = e : t.getStyleProperty = e
}(window),
function(t) {
function e(t) {
var e = parseFloat(t),
i = -1 === t.indexOf("%") && !isNaN(e);
return i && e
}
function i() {}
function o() {
for (var t = {
width: 0,
height: 0,
innerWidth: 0,
innerHeight: 0,
outerWidth: 0,
outerHeight: 0
}, e = 0, i = s.length; i > e; e++) {
var o = s[e];
t[o] = 0
}
return t
}
function n(i) {
function n() {
if (!d) {
d = !0;
var o = t.getComputedStyle;
if (p = function() {
var t = o ? function(t) {
return o(t, null)
} : function(t) {
return t.currentStyle
};
return function(e) {
var i = t(e);
return i || r("Style returned " + i + ". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"), i
}
}(), h = i("boxSizing")) {
var n = document.createElement("div");
n.style.width = "200px", n.style.padding = "1px 2px 3px 4px", n.style.borderStyle = "solid", n.style.borderWidth = "1px 2px 3px 4px", n.style[h] = "border-box";
var s = document.body || document.documentElement;
s.appendChild(n);
var a = p(n);
f = 200 === e(a.width), s.removeChild(n)
}
}
}
function a(t) {
if (n(), "string" == typeof t && (t = document.querySelector(t)), t && "object" == typeof t && t.nodeType) {
var i = p(t);
if ("none" === i.display) return o();
var r = {};
r.width = t.offsetWidth, r.height = t.offsetHeight;
for (var a = r.isBorderBox = !(!h || !i[h] || "border-box" !== i[h]), d = 0, l = s.length; l > d; d++) {
var c = s[d],
y = i[c];
y = u(t, y);
var m = parseFloat(y);
r[c] = isNaN(m) ? 0 : m
}
var g = r.paddingLeft + r.paddingRight,
v = r.paddingTop + r.paddingBottom,
_ = r.marginLeft + r.marginRight,
I = r.marginTop + r.marginBottom,
z = r.borderLeftWidth + r.borderRightWidth,
L = r.borderTopWidth + r.borderBottomWidth,
x = a && f,
E = e(i.width);
E !== !1 && (r.width = E + (x ? 0 : g + z));
var b = e(i.height);
return b !== !1 && (r.height = b + (x ? 0 : v + L)), r.innerWidth = r.width - (g + z), r.innerHeight = r.height - (v + L), r.outerWidth = r.width + _, r.outerHeight = r.height + I, r
}
}
function u(e, i) {
if (t.getComputedStyle || -1 === i.indexOf("%")) return i;
var o = e.style,
n = o.left,
r = e.runtimeStyle,
s = r && r.left;
return s && (r.left = e.currentStyle.left), o.left = i, i = o.pixelLeft, o.left = n, s && (r.left = s), i
}
var p, h, f, d = !1;
return a
}
var r = "undefined" == typeof console ? i : function(t) {
console.error(t)
},
s = ["paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "marginLeft", "marginRight", "marginTop", "marginBottom", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth"];
"function" == typeof define && define.amd ? define("get-size/get-size", ["get-style-property/get-style-property"], n) : "object" == typeof exports ? module.exports = n(require("desandro-get-style-property")) : t.getSize = n(t.getStyleProperty)
}(window),
function(t) {
function e(t) {
"function" == typeof t && (e.isReady ? t() : s.push(t))
}
function i(t) {
var i = "readystatechange" === t.type && "complete" !== r.readyState;
e.isReady || i || o()
}
function o() {
e.isReady = !0;
for (var t = 0, i = s.length; i > t; t++) {
var o = s[t];
o()
}
}
function n(n) {
return "complete" === r.readyState ? o() : (n.bind(r, "DOMContentLoaded", i), n.bind(r, "readystatechange", i), n.bind(t, "load", i)), e
}
var r = t.document,
s = [];
e.isReady = !1, "function" == typeof define && define.amd ? define("doc-ready/doc-ready", ["eventie/eventie"], n) : "object" == typeof exports ? module.exports = n(require("eventie")) : t.docReady = n(t.eventie)
}(window),
function(t) {
function e(t, e) {
return t[s](e)
}
function i(t) {
if (!t.parentNode) {
var e = document.createDocumentFragment();
e.appendChild(t)
}
}
function o(t, e) {
i(t);
for (var o = t.parentNode.querySelectorAll(e), n = 0, r = o.length; r > n; n++)
if (o[n] === t) return !0;
return !1
}
function n(t, o) {
return i(t), e(t, o)
}
var r, s = function() {
if (t.matches) return "matches";
if (t.matchesSelector) return "matchesSelector";
for (var e = ["webkit", "moz", "ms", "o"], i = 0, o = e.length; o > i; i++) {
var n = e[i],
r = n + "MatchesSelector";
if (t[r]) return r
}
}();
if (s) {
var a = document.createElement("div"),
u = e(a, "div");
r = u ? e : n
} else r = o;
"function" == typeof define && define.amd ? define("matches-selector/matches-selector", [], function() {
return r
}) : "object" == typeof exports ? module.exports = r : window.matchesSelector = r
}(Element.prototype),
function(t, e) {
"function" == typeof define && define.amd ? define("fizzy-ui-utils/utils", ["doc-ready/doc-ready", "matches-selector/matches-selector"], function(i, o) {
return e(t, i, o)
}) : "object" == typeof exports ? module.exports = e(t, require("doc-ready"), require("desandro-matches-selector")) : t.fizzyUIUtils = e(t, t.docReady, t.matchesSelector)
}(window, function(t, e, i) {
var o = {};
o.extend = function(t, e) {
for (var i in e) t[i] = e[i];
return t
}, o.modulo = function(t, e) {
return (t % e + e) % e
};
var n = Object.prototype.toString;
o.isArray = function(t) {
return "[object Array]" == n.call(t)
}, o.makeArray = function(t) {
var e = [];
if (o.isArray(t)) e = t;
else if (t && "number" == typeof t.length)
for (var i = 0, n = t.length; n > i; i++) e.push(t[i]);
else e.push(t);
return e
}, o.indexOf = Array.prototype.indexOf ? function(t, e) {
return t.indexOf(e)
} : function(t, e) {
for (var i = 0, o = t.length; o > i; i++)
if (t[i] === e) return i;
return -1
}, o.removeFrom = function(t, e) {
var i = o.indexOf(t, e); - 1 != i && t.splice(i, 1)
}, o.isElement = "function" == typeof HTMLElement || "object" == typeof HTMLElement ? function(t) {
return t instanceof HTMLElement
} : function(t) {
return t && "object" == typeof t && 1 == t.nodeType && "string" == typeof t.nodeName
}, o.setText = function() {
function t(t, i) {
e = e || (void 0 !== document.documentElement.textContent ? "textContent" : "innerText"), t[e] = i
}
var e;
return t
}(), o.getParent = function(t, e) {
for (; t != document.body;)
if (t = t.parentNode, i(t, e)) return t
}, o.getQueryElement = function(t) {
return "string" == typeof t ? document.querySelector(t) : t
}, o.handleEvent = function(t) {
var e = "on" + t.type;
this[e] && this[e](t)
}, o.filterFindElements = function(t, e) {
t = o.makeArray(t);
for (var n = [], r = 0, s = t.length; s > r; r++) {
var a = t[r];
if (o.isElement(a))
if (e) {
i(a, e) && n.push(a);
for (var u = a.querySelectorAll(e), p = 0, h = u.length; h > p; p++) n.push(u[p])
} else n.push(a)
}
return n
}, o.debounceMethod = function(t, e, i) {
var o = t.prototype[e],
n = e + "Timeout";
t.prototype[e] = function() {
var t = this[n];
t && clearTimeout(t);
var e = arguments,
r = this;
this[n] = setTimeout(function() {
o.apply(r, e), delete r[n]
}, i || 100)
}
}, o.toDashed = function(t) {
return t.replace(/(.)([A-Z])/g, function(t, e, i) {
return e + "-" + i
}).toLowerCase()
};
var r = t.console;
return o.htmlInit = function(i, n) {
e(function() {
for (var e = o.toDashed(n), s = document.querySelectorAll(".js-" + e), a = "data-" + e + "-options", u = 0, p = s.length; p > u; u++) {
var h, f = s[u],
d = f.getAttribute(a);
try {
h = d && JSON.parse(d)
} catch (t) {
r && r.error("Error parsing " + a + " on " + f.nodeName.toLowerCase() + (f.id ? "#" + f.id : "") + ": " + t);
continue
}
var l = new i(f, h),
c = t.jQuery;
c && c.data(f, n, l)
}
})
}, o
}),
function(t, e) {
"function" == typeof define && define.amd ? define("outlayer/item", ["eventEmitter/EventEmitter", "get-size/get-size", "get-style-property/get-style-property", "fizzy-ui-utils/utils"], function(i, o, n, r) {
return e(t, i, o, n, r)
}) : "object" == typeof exports ? module.exports = e(t, require("wolfy87-eventemitter"), require("get-size"), require("desandro-get-style-property"), require("fizzy-ui-utils")) : (t.Outlayer = {}, t.Outlayer.Item = e(t, t.EventEmitter, t.getSize, t.getStyleProperty, t.fizzyUIUtils))
}(window, function(t, e, i, o, n) {
function r(t) {
for (var e in t) return !1;
return e = null, !0
}
function s(t, e) {
t && (this.element = t, this.layout = e, this.position = {
x: 0,
y: 0
}, this._create())
}
var a = t.getComputedStyle,
u = a ? function(t) {
return a(t, null)
} : function(t) {
return t.currentStyle
},
p = o("transition"),
h = o("transform"),
f = p && h,
d = !!o("perspective"),
l = {
WebkitTransition: "webkitTransitionEnd",
MozTransition: "transitionend",
OTransition: "otransitionend",
transition: "transitionend"
}[p],
c = ["transform", "transition", "transitionDuration", "transitionProperty"],
y = function() {
for (var t = {}, e = 0, i = c.length; i > e; e++) {
var n = c[e],
r = o(n);
r && r !== n && (t[n] = r)
}
return t
}();
n.extend(s.prototype, e.prototype), s.prototype._create = function() {
this._transn = {
ingProperties: {},
clean: {},
onEnd: {}
}, this.css({
position: "absolute"
})
}, s.prototype.handleEvent = function(t) {
var e = "on" + t.type;
this[e] && this[e](t)
}, s.prototype.getSize = function() {
this.size = i(this.element)
}, s.prototype.css = function(t) {
var e = this.element.style;
for (var i in t) {
var o = y[i] || i;
e[o] = t[i]
}
}, s.prototype.getPosition = function() {
var t = u(this.element),
e = this.layout.options,
i = e.isOriginLeft,
o = e.isOriginTop,
n = parseInt(t[i ? "left" : "right"], 10),
r = parseInt(t[o ? "top" : "bottom"], 10);
n = isNaN(n) ? 0 : n, r = isNaN(r) ? 0 : r;
var s = this.layout.size;
n -= i ? s.paddingLeft : s.paddingRight, r -= o ? s.paddingTop : s.paddingBottom, this.position.x = n, this.position.y = r
}, s.prototype.layoutPosition = function() {
var t = this.layout.size,
e = this.layout.options,
i = {},
o = e.isOriginLeft ? "paddingLeft" : "paddingRight",
n = e.isOriginLeft ? "left" : "right",
r = e.isOriginLeft ? "right" : "left",
s = this.position.x + t[o];
s = e.percentPosition && !e.isHorizontal ? 100 * (s / t.width) + "%" : s + "px", i[n] = s, i[r] = "";
var a = e.isOriginTop ? "paddingTop" : "paddingBottom",
u = e.isOriginTop ? "top" : "bottom",
p = e.isOriginTop ? "bottom" : "top",
h = this.position.y + t[a];
h = e.percentPosition && e.isHorizontal ? 100 * (h / t.height) + "%" : h + "px", i[u] = h, i[p] = "", this.css(i), this.emitEvent("layout", [this])
};
var m = d ? function(t, e) {
return "translate3d(" + t + "px, " + e + "px, 0)"
} : function(t, e) {
return "translate(" + t + "px, " + e + "px)"
};
s.prototype._transitionTo = function(t, e) {
this.getPosition();
var i = this.position.x,
o = this.position.y,
n = parseInt(t, 10),
r = parseInt(e, 10),
s = n === this.position.x && r === this.position.y;
if (this.setPosition(t, e), s && !this.isTransitioning) return void this.layoutPosition();
var a = t - i,
u = e - o,
p = {},
h = this.layout.options;
a = h.isOriginLeft ? a : -a, u = h.isOriginTop ? u : -u, p.transform = m(a, u), this.transition({
to: p,
onTransitionEnd: {
transform: this.layoutPosition
},
isCleaning: !0
})
}, s.prototype.goTo = function(t, e) {
this.setPosition(t, e), this.layoutPosition()
}, s.prototype.moveTo = f ? s.prototype._transitionTo : s.prototype.goTo, s.prototype.setPosition = function(t, e) {
this.position.x = parseInt(t, 10), this.position.y = parseInt(e, 10)
}, s.prototype._nonTransition = function(t) {
this.css(t.to), t.isCleaning && this._removeStyles(t.to);
for (var e in t.onTransitionEnd) t.onTransitionEnd[e].call(this)
}, s.prototype._transition = function(t) {
if (!parseFloat(this.layout.options.transitionDuration)) return void this._nonTransition(t);
var e = this._transn;
for (var i in t.onTransitionEnd) e.onEnd[i] = t.onTransitionEnd[i];
for (i in t.to) e.ingProperties[i] = !0, t.isCleaning && (e.clean[i] = !0);
if (t.from) {
this.css(t.from);
var o = this.element.offsetHeight;
o = null
}
this.enableTransition(t.to), this.css(t.to), this.isTransitioning = !0
};
var g = h && n.toDashed(h) + ",opacity";
s.prototype.enableTransition = function() {
this.isTransitioning || (this.css({
transitionProperty: g,
transitionDuration: this.layout.options.transitionDuration
}), this.element.addEventListener(l, this, !1))
}, s.prototype.transition = s.prototype[p ? "_transition" : "_nonTransition"], s.prototype.onwebkitTransitionEnd = function(t) {
this.ontransitionend(t)
}, s.prototype.onotransitionend = function(t) {
this.ontransitionend(t)
};
var v = {
"-webkit-transform": "transform",
"-moz-transform": "transform",
"-o-transform": "transform"
};
s.prototype.ontransitionend = function(t) {
if (t.target === this.element) {
var e = this._transn,
i = v[t.propertyName] || t.propertyName;
if (delete e.ingProperties[i], r(e.ingProperties) && this.disableTransition(), i in e.clean && (this.element.style[t.propertyName] = "", delete e.clean[i]), i in e.onEnd) {
var o = e.onEnd[i];
o.call(this), delete e.onEnd[i]
}
this.emitEvent("transitionEnd", [this])
}
}, s.prototype.disableTransition = function() {
this.removeTransitionStyles(), this.element.removeEventListener(l, this, !1), this.isTransitioning = !1
}, s.prototype._removeStyles = function(t) {
var e = {};
for (var i in t) e[i] = "";
this.css(e)
};
var _ = {
transitionProperty: "",
transitionDuration: ""
};
return s.prototype.removeTransitionStyles = function() {
this.css(_)
}, s.prototype.removeElem = function() {
this.element.parentNode.removeChild(this.element), this.css({
display: ""
}), this.emitEvent("remove", [this])
}, s.prototype.remove = function() {
if (!p || !parseFloat(this.layout.options.transitionDuration)) return void this.removeElem();
var t = this;
this.once("transitionEnd", function() {
t.removeElem()
}), this.hide()
}, s.prototype.reveal = function() {
delete this.isHidden, this.css({
display: ""
});
var t = this.layout.options,
e = {},
i = this.getHideRevealTransitionEndProperty("visibleStyle");
e[i] = this.onRevealTransitionEnd, this.transition({
from: t.hiddenStyle,
to: t.visibleStyle,
isCleaning: !0,
onTransitionEnd: e
})
}, s.prototype.onRevealTransitionEnd = function() {
this.isHidden || this.emitEvent("reveal")
}, s.prototype.getHideRevealTransitionEndProperty = function(t) {
var e = this.layout.options[t];
if (e.opacity) return "opacity";
for (var i in e) return i
}, s.prototype.hide = function() {
this.isHidden = !0, this.css({
display: ""
});
var t = this.layout.options,
e = {},
i = this.getHideRevealTransitionEndProperty("hiddenStyle");
e[i] = this.onHideTransitionEnd, this.transition({
from: t.visibleStyle,
to: t.hiddenStyle,
isCleaning: !0,
onTransitionEnd: e
})
}, s.prototype.onHideTransitionEnd = function() {
this.isHidden && (this.css({
display: "none"
}), this.emitEvent("hide"))
}, s.prototype.destroy = function() {
this.css({
position: "",
left: "",
right: "",
top: "",
bottom: "",
transition: "",
transform: ""
})
}, s
}),
function(t, e) {
"function" == typeof define && define.amd ? define("outlayer/outlayer", ["eventie/eventie", "eventEmitter/EventEmitter", "get-size/get-size", "fizzy-ui-utils/utils", "./item"], function(i, o, n, r, s) {
return e(t, i, o, n, r, s)
}) : "object" == typeof exports ? module.exports = e(t, require("eventie"), require("wolfy87-eventemitter"), require("get-size"), require("fizzy-ui-utils"), require("./item")) : t.Outlayer = e(t, t.eventie, t.EventEmitter, t.getSize, t.fizzyUIUtils, t.Outlayer.Item)
}(window, function(t, e, i, o, n, r) {
function s(t, e) {
var i = n.getQueryElement(t);
if (!i) return void(a && a.error("Bad element for " + this.constructor.namespace + ": " + (i || t)));
this.element = i, u && (this.$element = u(this.element)), this.options = n.extend({}, this.constructor.defaults), this.option(e);
var o = ++h;
this.element.outlayerGUID = o, f[o] = this, this._create(), this.options.isInitLayout && this.layout()
}
var a = t.console,
u = t.jQuery,
p = function() {},
h = 0,
f = {};
return s.namespace = "outlayer", s.Item = r, s.defaults = {
containerStyle: {
position: "relative"
},
isInitLayout: !0,
isOriginLeft: !0,
isOriginTop: !0,
isResizeBound: !0,
isResizingContainer: !0,
transitionDuration: "0.4s",
hiddenStyle: {
opacity: 0,
transform: "scale(0.001)"
},
visibleStyle: {
opacity: 1,
transform: "scale(1)"
}
}, n.extend(s.prototype, i.prototype), s.prototype.option = function(t) {
n.extend(this.options, t)
}, s.prototype._create = function() {
this.reloadItems(), this.stamps = [], this.stamp(this.options.stamp), n.extend(this.element.style, this.options.containerStyle), this.options.isResizeBound && this.bindResize()
}, s.prototype.reloadItems = function() {
this.items = this._itemize(this.element.children)
}, s.prototype._itemize = function(t) {
for (var e = this._filterFindItemElements(t), i = this.constructor.Item, o = [], n = 0, r = e.length; r > n; n++) {
var s = e[n],
a = new i(s, this);
o.push(a)
}
return o
}, s.prototype._filterFindItemElements = function(t) {
return n.filterFindElements(t, this.options.itemSelector)
}, s.prototype.getItemElements = function() {
for (var t = [], e = 0, i = this.items.length; i > e; e++) t.push(this.items[e].element);
return t
}, s.prototype.layout = function() {
this._resetLayout(), this._manageStamps();
var t = void 0 !== this.options.isLayoutInstant ? this.options.isLayoutInstant : !this._isLayoutInited;
this.layoutItems(this.items, t), this._isLayoutInited = !0
}, s.prototype._init = s.prototype.layout, s.prototype._resetLayout = function() {
this.getSize()
}, s.prototype.getSize = function() {
this.size = o(this.element)
}, s.prototype._getMeasurement = function(t, e) {
var i, r = this.options[t];
r ? ("string" == typeof r ? i = this.element.querySelector(r) : n.isElement(r) && (i = r), this[t] = i ? o(i)[e] : r) : this[t] = 0
}, s.prototype.layoutItems = function(t, e) {
t = this._getItemsForLayout(t), this._layoutItems(t, e), this._postLayout()
}, s.prototype._getItemsForLayout = function(t) {
for (var e = [], i = 0, o = t.length; o > i; i++) {
var n = t[i];
n.isIgnored || e.push(n)
}
return e
}, s.prototype._layoutItems = function(t, e) {
if (this._emitCompleteOnItems("layout", t), t && t.length) {
for (var i = [], o = 0, n = t.length; n > o; o++) {
var r = t[o],
s = this._getItemLayoutPosition(r);
s.item = r, s.isInstant = e || r.isLayoutInstant, i.push(s)
}
this._processLayoutQueue(i)
}
}, s.prototype._getItemLayoutPosition = function() {
return {
x: 0,
y: 0
}
}, s.prototype._processLayoutQueue = function(t) {
for (var e = 0, i = t.length; i > e; e++) {
var o = t[e];
this._positionItem(o.item, o.x, o.y, o.isInstant)
}
}, s.prototype._positionItem = function(t, e, i, o) {
o ? t.goTo(e, i) : t.moveTo(e, i)
}, s.prototype._postLayout = function() {
this.resizeContainer()
}, s.prototype.resizeContainer = function() {
if (this.options.isResizingContainer) {
var t = this._getContainerSize();
t && (this._setContainerMeasure(t.width, !0), this._setContainerMeasure(t.height, !1))
}
}, s.prototype._getContainerSize = p, s.prototype._setContainerMeasure = function(t, e) {
if (void 0 !== t) {
var i = this.size;
i.isBorderBox && (t += e ? i.paddingLeft + i.paddingRight + i.borderLeftWidth + i.borderRightWidth : i.paddingBottom + i.paddingTop + i.borderTopWidth + i.borderBottomWidth), t = Math.max(t, 0), this.element.style[e ? "width" : "height"] = t + "px"
}
}, s.prototype._emitCompleteOnItems = function(t, e) {
function i() {
n.emitEvent(t + "Complete", [e])
}
function o() {
s++, s === r && i()
}
var n = this,
r = e.length;
if (!e || !r) return void i();
for (var s = 0, a = 0, u = e.length; u > a; a++) {
var p = e[a];
p.once(t, o)
}
}, s.prototype.ignore = function(t) {
var e = this.getItem(t);
e && (e.isIgnored = !0)
}, s.prototype.unignore = function(t) {
var e = this.getItem(t);
e && delete e.isIgnored
}, s.prototype.stamp = function(t) {
if (t = this._find(t)) {
this.stamps = this.stamps.concat(t);
for (var e = 0, i = t.length; i > e; e++) {
var o = t[e];
this.ignore(o)
}
}
}, s.prototype.unstamp = function(t) {
if (t = this._find(t))
for (var e = 0, i = t.length; i > e; e++) {
var o = t[e];
n.removeFrom(this.stamps, o), this.unignore(o)
}
}, s.prototype._find = function(t) {
return t ? ("string" == typeof t && (t = this.element.querySelectorAll(t)), t = n.makeArray(t)) : void 0
}, s.prototype._manageStamps = function() {
if (this.stamps && this.stamps.length) {
this._getBoundingRect();
for (var t = 0, e = this.stamps.length; e > t; t++) {
var i = this.stamps[t];
this._manageStamp(i)
}
}
}, s.prototype._getBoundingRect = function() {
var t = this.element.getBoundingClientRect(),
e = this.size;
this._boundingRect = {
left: t.left + e.paddingLeft + e.borderLeftWidth,
top: t.top + e.paddingTop + e.borderTopWidth,
right: t.right - (e.paddingRight + e.borderRightWidth),
bottom: t.bottom - (e.paddingBottom + e.borderBottomWidth)
}
}, s.prototype._manageStamp = p, s.prototype._getElementOffset = function(t) {
var e = t.getBoundingClientRect(),
i = this._boundingRect,
n = o(t),
r = {
left: e.left - i.left - n.marginLeft,
top: e.top - i.top - n.marginTop,
right: i.right - e.right - n.marginRight,
bottom: i.bottom - e.bottom - n.marginBottom
};
return r
}, s.prototype.handleEvent = function(t) {
var e = "on" + t.type;
this[e] && this[e](t)
}, s.prototype.bindResize = function() {
this.isResizeBound || (e.bind(t, "resize", this), this.isResizeBound = !0)
}, s.prototype.unbindResize = function() {
this.isResizeBound && e.unbind(t, "resize", this), this.isResizeBound = !1
}, s.prototype.onresize = function() {
function t() {
e.resize(), delete e.resizeTimeout
}
this.resizeTimeout && clearTimeout(this.resizeTimeout);
var e = this;
this.resizeTimeout = setTimeout(t, 100)
}, s.prototype.resize = function() {
this.isResizeBound && this.needsResizeLayout() && this.layout()
}, s.prototype.needsResizeLayout = function() {
var t = o(this.element),
e = this.size && t;
return e && t.innerWidth !== this.size.innerWidth
}, s.prototype.addItems = function(t) {
var e = this._itemize(t);
return e.length && (this.items = this.items.concat(e)), e
}, s.prototype.appended = function(t) {
var e = this.addItems(t);
e.length && (this.layoutItems(e, !0), this.reveal(e))
}, s.prototype.prepended = function(t) {
var e = this._itemize(t);
if (e.length) {
var i = this.items.slice(0);
this.items = e.concat(i), this._resetLayout(), this._manageStamps(), this.layoutItems(e, !0), this.reveal(e), this.layoutItems(i)
}
}, s.prototype.reveal = function(t) {
this._emitCompleteOnItems("reveal", t);
for (var e = t && t.length, i = 0; e && e > i; i++) {
var o = t[i];
o.reveal()
}
}, s.prototype.hide = function(t) {
this._emitCompleteOnItems("hide", t);
for (var e = t && t.length, i = 0; e && e > i; i++) {
var o = t[i];
o.hide()
}
}, s.prototype.revealItemElements = function(t) {
var e = this.getItems(t);
this.reveal(e)
}, s.prototype.hideItemElements = function(t) {
var e = this.getItems(t);
this.hide(e)
}, s.prototype.getItem = function(t) {
for (var e = 0, i = this.items.length; i > e; e++) {
var o = this.items[e];
if (o.element === t) return o
}
}, s.prototype.getItems = function(t) {
t = n.makeArray(t);
for (var e = [], i = 0, o = t.length; o > i; i++) {
var r = t[i],
s = this.getItem(r);
s && e.push(s)
}
return e
}, s.prototype.remove = function(t) {
var e = this.getItems(t);
if (this._emitCompleteOnItems("remove", e), e && e.length)
for (var i = 0, o = e.length; o > i; i++) {
var r = e[i];
r.remove(), n.removeFrom(this.items, r)
}
}, s.prototype.destroy = function() {
var t = this.element.style;
t.height = "", t.position = "", t.width = "";
for (var e = 0, i = this.items.length; i > e; e++) {
var o = this.items[e];
o.destroy()
}
this.unbindResize();
var n = this.element.outlayerGUID;
delete f[n], delete this.element.outlayerGUID, u && u.removeData(this.element, this.constructor.namespace)
}, s.data = function(t) {
t = n.getQueryElement(t);
var e = t && t.outlayerGUID;
return e && f[e]
}, s.create = function(t, e) {
function i() {
s.apply(this, arguments)
}
return Object.create ? i.prototype = Object.create(s.prototype) : n.extend(i.prototype, s.prototype), i.prototype.constructor = i, i.defaults = n.extend({}, s.defaults), n.extend(i.defaults, e), i.prototype.settings = {}, i.namespace = t, i.data = s.data, i.Item = function() {
r.apply(this, arguments)
}, i.Item.prototype = new r, n.htmlInit(i, t), u && u.bridget && u.bridget(t, i), i
}, s.Item = r, s
}),
function(t, e) {
"function" == typeof define && define.amd ? define("isotope/js/item", ["outlayer/outlayer"], e) : "object" == typeof exports ? module.exports = e(require("outlayer")) : (t.Isotope = t.Isotope || {}, t.Isotope.Item = e(t.Outlayer))
}(window, function(t) {
function e() {
t.Item.apply(this, arguments)
}
e.prototype = new t.Item, e.prototype._create = function() {
this.id = this.layout.itemGUID++, t.Item.prototype._create.call(this), this.sortData = {}
}, e.prototype.updateSortData = function() {
if (!this.isIgnored) {
this.sortData.id = this.id, this.sortData["original-order"] = this.id, this.sortData.random = Math.random();
var t = this.layout.options.getSortData,
e = this.layout._sorters;
for (var i in t) {
var o = e[i];
this.sortData[i] = o(this.element, this)
}
}
};
var i = e.prototype.destroy;
return e.prototype.destroy = function() {
i.apply(this, arguments), this.css({
display: ""
})
}, e
}),
function(t, e) {
"function" == typeof define && define.amd ? define("isotope/js/layout-mode", ["get-size/get-size", "outlayer/outlayer"], e) : "object" == typeof exports ? module.exports = e(require("get-size"), require("outlayer")) : (t.Isotope = t.Isotope || {}, t.Isotope.LayoutMode = e(t.getSize, t.Outlayer))
}(window, function(t, e) {
function i(t) {
this.isotope = t, t && (this.options = t.options[this.namespace], this.element = t.element, this.items = t.filteredItems, this.size = t.size)
}
return function() {
function t(t) {
return function() {
return e.prototype[t].apply(this.isotope, arguments)
}
}
for (var o = ["_resetLayout", "_getItemLayoutPosition", "_manageStamp", "_getContainerSize", "_getElementOffset", "needsResizeLayout"], n = 0, r = o.length; r > n; n++) {
var s = o[n];
i.prototype[s] = t(s)
}
}(), i.prototype.needsVerticalResizeLayout = function() {
var e = t(this.isotope.element),
i = this.isotope.size && e;
return i && e.innerHeight != this.isotope.size.innerHeight
}, i.prototype._getMeasurement = function() {
this.isotope._getMeasurement.apply(this, arguments)
}, i.prototype.getColumnWidth = function() {
this.getSegmentSize("column", "Width")
}, i.prototype.getRowHeight = function() {
this.getSegmentSize("row", "Height")
}, i.prototype.getSegmentSize = function(t, e) {
var i = t + e,
o = "outer" + e;
if (this._getMeasurement(i, o), !this[i]) {
var n = this.getFirstItemSize();
this[i] = n && n[o] || this.isotope.size["inner" + e]
}
}, i.prototype.getFirstItemSize = function() {
var e = this.isotope.filteredItems[0];
return e && e.element && t(e.element)
}, i.prototype.layout = function() {
this.isotope.layout.apply(this.isotope, arguments)
}, i.prototype.getSize = function() {
this.isotope.getSize(), this.size = this.isotope.size
}, i.modes = {}, i.create = function(t, e) {
function o() {
i.apply(this, arguments)
}
return o.prototype = new i, e && (o.options = e), o.prototype.namespace = t, i.modes[t] = o, o
}, i
}),
function(t, e) {
"function" == typeof define && define.amd ? define("masonry/masonry", ["outlayer/outlayer", "get-size/get-size", "fizzy-ui-utils/utils"], e) : "object" == typeof exports ? module.exports = e(require("outlayer"), require("get-size"), require("fizzy-ui-utils")) : t.Masonry = e(t.Outlayer, t.getSize, t.fizzyUIUtils)
}(window, function(t, e, i) {
var o = t.create("masonry");
return o.prototype._resetLayout = function() {
this.getSize(), this._getMeasurement("columnWidth", "outerWidth"), this._getMeasurement("gutter", "outerWidth"), this.measureColumns();
var t = this.cols;
for (this.colYs = []; t--;) this.colYs.push(0);
this.maxY = 0
}, o.prototype.measureColumns = function() {
if (this.getContainerWidth(), !this.columnWidth) {
var t = this.items[0],
i = t && t.element;
this.columnWidth = i && e(i).outerWidth || this.containerWidth
}
var o = this.columnWidth += this.gutter,
n = this.containerWidth + this.gutter,
r = n / o,
s = o - n % o,
a = s && 1 > s ? "round" : "floor";
r = Math[a](r), this.cols = Math.max(r, 1)
}, o.prototype.getContainerWidth = function() {
var t = this.options.isFitWidth ? this.element.parentNode : this.element,
i = e(t);
this.containerWidth = i && i.innerWidth
}, o.prototype._getItemLayoutPosition = function(t) {
t.getSize();
var e = t.size.outerWidth % this.columnWidth,
o = e && 1 > e ? "round" : "ceil",
n = Math[o](t.size.outerWidth / this.columnWidth);
n = Math.min(n, this.cols);
for (var r = this._getColGroup(n), s = Math.min.apply(Math, r), a = i.indexOf(r, s), u = {
x: this.columnWidth * a,
y: s
}, p = s + t.size.outerHeight, h = this.cols + 1 - r.length, f = 0; h > f; f++) this.colYs[a + f] = p;
return u
}, o.prototype._getColGroup = function(t) {
if (2 > t) return this.colYs;
for (var e = [], i = this.cols + 1 - t, o = 0; i > o; o++) {
var n = this.colYs.slice(o, o + t);
e[o] = Math.max.apply(Math, n)
}
return e
}, o.prototype._manageStamp = function(t) {
var i = e(t),
o = this._getElementOffset(t),
n = this.options.isOriginLeft ? o.left : o.right,
r = n + i.outerWidth,
s = Math.floor(n / this.columnWidth);
s = Math.max(0, s);
var a = Math.floor(r / this.columnWidth);
a -= r % this.columnWidth ? 0 : 1, a = Math.min(this.cols - 1, a);
for (var u = (this.options.isOriginTop ? o.top : o.bottom) + i.outerHeight, p = s; a >= p; p++) this.colYs[p] = Math.max(u, this.colYs[p])
}, o.prototype._getContainerSize = function() {
this.maxY = Math.max.apply(Math, this.colYs);
var t = {
height: this.maxY
};
return this.options.isFitWidth && (t.width = this._getContainerFitWidth()), t
}, o.prototype._getContainerFitWidth = function() {
for (var t = 0, e = this.cols; --e && 0 === this.colYs[e];) t++;
return (this.cols - t) * this.columnWidth - this.gutter
}, o.prototype.needsResizeLayout = function() {
var t = this.containerWidth;
return this.getContainerWidth(), t !== this.containerWidth
}, o
}),
function(t, e) {
"function" == typeof define && define.amd ? define("isotope/js/layout-modes/masonry", ["../layout-mode", "masonry/masonry"], e) : "object" == typeof exports ? module.exports = e(require("../layout-mode"), require("masonry-layout")) : e(t.Isotope.LayoutMode, t.Masonry)
}(window, function(t, e) {
function i(t, e) {
for (var i in e) t[i] = e[i];
return t
}
var o = t.create("masonry"),
n = o.prototype._getElementOffset,
r = o.prototype.layout,
s = o.prototype._getMeasurement;
i(o.prototype, e.prototype), o.prototype._getElementOffset = n, o.prototype.layout = r, o.prototype._getMeasurement = s;
var a = o.prototype.measureColumns;
o.prototype.measureColumns = function() {
this.items = this.isotope.filteredItems, a.call(this)
};
var u = o.prototype._manageStamp;
return o.prototype._manageStamp = function() {
this.options.isOriginLeft = this.isotope.options.isOriginLeft, this.options.isOriginTop = this.isotope.options.isOriginTop, u.apply(this, arguments)
}, o
}),
function(t, e) {
"function" == typeof define && define.amd ? define("isotope/js/layout-modes/fit-rows", ["../layout-mode"], e) : "object" == typeof exports ? module.exports = e(require("../layout-mode")) : e(t.Isotope.LayoutMode)
}(window, function(t) {
var e = t.create("fitRows");
return e.prototype._resetLayout = function() {
this.x = 0, this.y = 0, this.maxY = 0, this._getMeasurement("gutter", "outerWidth");
}, e.prototype._getItemLayoutPosition = function(t) {
t.getSize();
var e = t.size.outerWidth + this.gutter,
i = this.isotope.size.innerWidth + this.gutter;
0 !== this.x && e + this.x > i && (this.x = 0, this.y = this.maxY);
var o = {
x: this.x,
y: this.y
};
return this.maxY = Math.max(this.maxY, this.y + t.size.outerHeight), this.x += e, o
}, e.prototype._getContainerSize = function() {
return {
height: this.maxY
}
}, e
}),
function(t, e) {
"function" == typeof define && define.amd ? define("isotope/js/layout-modes/vertical", ["../layout-mode"], e) : "object" == typeof exports ? module.exports = e(require("../layout-mode")) : e(t.Isotope.LayoutMode)
}(window, function(t) {
var e = t.create("vertical", {
horizontalAlignment: 0
});
return e.prototype._resetLayout = function() {
this.y = 0
}, e.prototype._getItemLayoutPosition = function(t) {
t.getSize();
var e = (this.isotope.size.innerWidth - t.size.outerWidth) * this.options.horizontalAlignment,
i = this.y;
return this.y += t.size.outerHeight, {
x: e,
y: i
}
}, e.prototype._getContainerSize = function() {
return {
height: this.y
}
}, e
}),
function(t, e) {
"function" == typeof define && define.amd ? define(["outlayer/outlayer", "get-size/get-size", "matches-selector/matches-selector", "fizzy-ui-utils/utils", "isotope/js/item", "isotope/js/layout-mode", "isotope/js/layout-modes/masonry", "isotope/js/layout-modes/fit-rows", "isotope/js/layout-modes/vertical"], function(i, o, n, r, s, a) {
return e(t, i, o, n, r, s, a)
}) : "object" == typeof exports ? module.exports = e(t, require("outlayer"), require("get-size"), require("desandro-matches-selector"), require("fizzy-ui-utils"), require("./item"), require("./layout-mode"), require("./layout-modes/masonry"), require("./layout-modes/fit-rows"), require("./layout-modes/vertical")) : t.Isotope = e(t, t.Outlayer, t.getSize, t.matchesSelector, t.fizzyUIUtils, t.Isotope.Item, t.Isotope.LayoutMode)
}(window, function(t, e, i, o, n, r, s) {
function a(t, e) {
return function(i, o) {
for (var n = 0, r = t.length; r > n; n++) {
var s = t[n],
a = i.sortData[s],
u = o.sortData[s];
if (a > u || u > a) {
var p = void 0 !== e[s] ? e[s] : e,
h = p ? 1 : -1;
return (a > u ? 1 : -1) * h
}
}
return 0
}
}
var u = t.jQuery,
p = String.prototype.trim ? function(t) {
return t.trim()
} : function(t) {
return t.replace(/^\s+|\s+$/g, "")
},
h = document.documentElement,
f = h.textContent ? function(t) {
return t.textContent
} : function(t) {
return t.innerText
},
d = e.create("isotope", {
layoutMode: "masonry",
isJQueryFiltering: !0,
sortAscending: !0
});
d.Item = r, d.LayoutMode = s, d.prototype._create = function() {
this.itemGUID = 0, this._sorters = {}, this._getSorters(), e.prototype._create.call(this), this.modes = {}, this.filteredItems = this.items, this.sortHistory = ["original-order"];
for (var t in s.modes) this._initLayoutMode(t)
}, d.prototype.reloadItems = function() {
this.itemGUID = 0, e.prototype.reloadItems.call(this)
}, d.prototype._itemize = function() {
for (var t = e.prototype._itemize.apply(this, arguments), i = 0, o = t.length; o > i; i++) {
var n = t[i];
n.id = this.itemGUID++
}
return this._updateItemsSortData(t), t
}, d.prototype._initLayoutMode = function(t) {
var e = s.modes[t],
i = this.options[t] || {};
this.options[t] = e.options ? n.extend(e.options, i) : i, this.modes[t] = new e(this)
}, d.prototype.layout = function() {
return !this._isLayoutInited && this.options.isInitLayout ? void this.arrange() : void this._layout()
}, d.prototype._layout = function() {
var t = this._getIsInstant();
this._resetLayout(), this._manageStamps(), this.layoutItems(this.filteredItems, t), this._isLayoutInited = !0
}, d.prototype.arrange = function(t) {
function e() {
o.reveal(i.needReveal), o.hide(i.needHide)
}
this.option(t), this._getIsInstant();
var i = this._filter(this.items);
this.filteredItems = i.matches;
var o = this;
this._bindArrangeComplete(), this._isInstant ? this._noTransition(e) : e(), this._sort(), this._layout()
}, d.prototype._init = d.prototype.arrange, d.prototype._getIsInstant = function() {
var t = void 0 !== this.options.isLayoutInstant ? this.options.isLayoutInstant : !this._isLayoutInited;
return this._isInstant = t, t
}, d.prototype._bindArrangeComplete = function() {
function t() {
e && i && o && n.emitEvent("arrangeComplete", [n.filteredItems])
}
var e, i, o, n = this;
this.once("layoutComplete", function() {
e = !0, t()
}), this.once("hideComplete", function() {
i = !0, t()
}), this.once("revealComplete", function() {
o = !0, t()
})
}, d.prototype._filter = function(t) {
var e = this.options.filter;
e = e || "*";
for (var i = [], o = [], n = [], r = this._getFilterTest(e), s = 0, a = t.length; a > s; s++) {
var u = t[s];
if (!u.isIgnored) {
var p = r(u);
p && i.push(u), p && u.isHidden ? o.push(u) : p || u.isHidden || n.push(u)
}
}
return {
matches: i,
needReveal: o,
needHide: n
}
}, d.prototype._getFilterTest = function(t) {
return u && this.options.isJQueryFiltering ? function(e) {
return u(e.element).is(t)
} : "function" == typeof t ? function(e) {
return t(e.element)
} : function(e) {
return o(e.element, t)
}
}, d.prototype.updateSortData = function(t) {
var e;
t ? (t = n.makeArray(t), e = this.getItems(t)) : e = this.items, this._getSorters(), this._updateItemsSortData(e)
}, d.prototype._getSorters = function() {
var t = this.options.getSortData;
for (var e in t) {
var i = t[e];
this._sorters[e] = l(i)
}
}, d.prototype._updateItemsSortData = function(t) {
for (var e = t && t.length, i = 0; e && e > i; i++) {
var o = t[i];
o.updateSortData()
}
};
var l = function() {
function t(t) {
if ("string" != typeof t) return t;
var i = p(t).split(" "),
o = i[0],
n = o.match(/^\[(.+)\]$/),
r = n && n[1],
s = e(r, o),
a = d.sortDataParsers[i[1]];
return t = a ? function(t) {
return t && a(s(t))
} : function(t) {
return t && s(t)
}
}
function e(t, e) {
var i;
return i = t ? function(e) {
return e.getAttribute(t)
} : function(t) {
var i = t.querySelector(e);
return i && f(i)
}
}
return t
}();
d.sortDataParsers = {
parseInt: function(t) {
return parseInt(t, 10)
},
parseFloat: function(t) {
return parseFloat(t)
}
}, d.prototype._sort = function() {
var t = this.options.sortBy;
if (t) {
var e = [].concat.apply(t, this.sortHistory),
i = a(e, this.options.sortAscending);
this.filteredItems.sort(i), t != this.sortHistory[0] && this.sortHistory.unshift(t)
}
}, d.prototype._mode = function() {
var t = this.options.layoutMode,
e = this.modes[t];
if (!e) throw Error("No layout mode: " + t);
return e.options = this.options[t], e
}, d.prototype._resetLayout = function() {
e.prototype._resetLayout.call(this), this._mode()._resetLayout()
}, d.prototype._getItemLayoutPosition = function(t) {
return this._mode()._getItemLayoutPosition(t)
}, d.prototype._manageStamp = function(t) {
this._mode()._manageStamp(t)
}, d.prototype._getContainerSize = function() {
return this._mode()._getContainerSize()
}, d.prototype.needsResizeLayout = function() {
return this._mode().needsResizeLayout()
}, d.prototype.appended = function(t) {
var e = this.addItems(t);
if (e.length) {
var i = this._filterRevealAdded(e);
this.filteredItems = this.filteredItems.concat(i)
}
}, d.prototype.prepended = function(t) {
var e = this._itemize(t);
if (e.length) {
this._resetLayout(), this._manageStamps();
var i = this._filterRevealAdded(e);
this.layoutItems(this.filteredItems), this.filteredItems = i.concat(this.filteredItems), this.items = e.concat(this.items)
}
}, d.prototype._filterRevealAdded = function(t) {
var e = this._filter(t);
return this.hide(e.needHide), this.reveal(e.matches), this.layoutItems(e.matches, !0), e.matches
}, d.prototype.insert = function(t) {
var e = this.addItems(t);
if (e.length) {
var i, o, n = e.length;
for (i = 0; n > i; i++) o = e[i], this.element.appendChild(o.element);
var r = this._filter(e).matches;
for (i = 0; n > i; i++) e[i].isLayoutInstant = !0;
for (this.arrange(), i = 0; n > i; i++) delete e[i].isLayoutInstant;
this.reveal(r)
}
};
var c = d.prototype.remove;
return d.prototype.remove = function(t) {
t = n.makeArray(t);
var e = this.getItems(t);
c.call(this, t);
var i = e && e.length;
if (i)
for (var o = 0; i > o; o++) {
var r = e[o];
n.removeFrom(this.filteredItems, r)
}
}, d.prototype.shuffle = function() {
for (var t = 0, e = this.items.length; e > t; t++) {
var i = this.items[t];
i.sortData.random = Math.random()
}
this.options.sortBy = "random", this._sort(), this._layout()
}, d.prototype._noTransition = function(t) {
var e = this.options.transitionDuration;
this.options.transitionDuration = 0;
var i = t.call(this);
return this.options.transitionDuration = e, i
}, d.prototype.getFilteredItemElements = function() {
for (var t = [], e = 0, i = this.filteredItems.length; i > e; e++) t.push(this.filteredItems[e].element);
return t
}, d
});
! function(t, e, i, s) {
function n(e, i) {
this.settings = null, this.options = t.extend({}, n.Defaults, i), this.$element = t(e), this._handlers = {}, this._plugins = {}, this._supress = {}, this._current = null, this._speed = null, this._coordinates = [], this._breakpoint = null, this._width = null, this._items = [], this._clones = [], this._mergers = [], this._widths = [], this._invalidated = {}, this._pipe = [], this._drag = {
time: null,
target: null,
pointer: null,
stage: {
start: null,
current: null
},
direction: null
}, this._states = {
current: {},
tags: {
initializing: ["busy"],
animating: ["busy"],
dragging: ["interacting"]
}
}, t.each(["onResize", "onThrottledResize"], t.proxy(function(e, i) {
this._handlers[i] = t.proxy(this[i], this)
}, this)), t.each(n.Plugins, t.proxy(function(t, e) {
this._plugins[t.charAt(0).toLowerCase() + t.slice(1)] = new e(this)
}, this)), t.each(n.Workers, t.proxy(function(e, i) {
this._pipe.push({
filter: i.filter,
run: t.proxy(i.run, this)
})
}, this)), this.setup(), this.initialize()
}
n.Defaults = {
items: 3,
loop: !1,
center: !1,
rewind: !1,
mouseDrag: !0,
touchDrag: !0,
pullDrag: !0,
freeDrag: !1,
margin: 0,
stagePadding: 0,
merge: !1,
mergeFit: !0,
autoWidth: !1,
startPosition: 0,
rtl: !1,
smartSpeed: 250,
fluidSpeed: !1,
dragEndSpeed: !1,
responsive: {},
responsiveRefreshRate: 200,
responsiveBaseElement: e,
fallbackEasing: "swing",
info: !1,
nestedItemSelector: !1,
itemElement: "div",
stageElement: "div",
refreshClass: "owl-refresh",
loadedClass: "owl-loaded",
loadingClass: "owl-loading",
rtlClass: "owl-rtl",
responsiveClass: "owl-responsive",
dragClass: "owl-drag",
itemClass: "owl-item",
stageClass: "owl-stage",
stageOuterClass: "owl-stage-outer",
grabClass: "owl-grab"
}, n.Width = {
Default: "default",
Inner: "inner",
Outer: "outer"
}, n.Type = {
Event: "event",
State: "state"
}, n.Plugins = {}, n.Workers = [{
filter: ["width", "settings"],
run: function() {
this._width = this.$element.width()
}
}, {
filter: ["width", "items", "settings"],
run: function(t) {
t.current = this._items && this._items[this.relative(this._current)]
}
}, {
filter: ["items", "settings"],
run: function() {
this.$stage.children(".cloned").remove()
}
}, {
filter: ["width", "items", "settings"],
run: function(t) {
var e = this.settings.margin || "",
i = !this.settings.autoWidth,
s = this.settings.rtl,
n = {
width: "auto",
"margin-left": s ? e : "",
"margin-right": s ? "" : e
};
!i && this.$stage.children().css(n), t.css = n
}
}, {
filter: ["width", "items", "settings"],
run: function(t) {
var e = (this.width() / this.settings.items).toFixed(3) - this.settings.margin,
i = null,
s = this._items.length,
n = !this.settings.autoWidth,
o = [];
for (t.items = {
merge: !1,
width: e
}; s--;) i = this._mergers[s], i = this.settings.mergeFit && Math.min(i, this.settings.items) || i, t.items.merge = i > 1 || t.items.merge, o[s] = n ? e * i : this._items[s].width();
this._widths = o
}
}, {
filter: ["items", "settings"],
run: function() {
var e = [],
i = this._items,
s = this.settings,
n = Math.max(2 * s.items, 4),
o = 2 * Math.ceil(i.length / 2),
r = s.loop && i.length ? s.rewind ? n : Math.max(n, o) : 0,
a = "",
h = "";
for (r /= 2; r--;) e.push(this.normalize(e.length / 2, !0)), a += i[e[e.length - 1]][0].outerHTML, e.push(this.normalize(i.length - 1 - (e.length - 1) / 2, !0)), h = i[e[e.length - 1]][0].outerHTML + h;
this._clones = e, t(a).addClass("cloned").appendTo(this.$stage), t(h).addClass("cloned").prependTo(this.$stage)
}
}, {
filter: ["width", "items", "settings"],
run: function() {
for (var t = this.settings.rtl ? 1 : -1, e = this._clones.length + this._items.length, i = -1, s = 0, n = 0, o = []; ++i < e;) s = o[i - 1] || 0, n = this._widths[this.relative(i)] + this.settings.margin, o.push(s + n * t);
this._coordinates = o
}
}, {
filter: ["width", "items", "settings"],
run: function() {
var t = this.settings.stagePadding,
e = this._coordinates,
i = {
width: Math.ceil(Math.abs(e[e.length - 1])) + 2 * t,
"padding-left": t || "",
"padding-right": t || ""
};
this.$stage.css(i)
}
}, {
filter: ["width", "items", "settings"],
run: function(t) {
var e = this._coordinates.length,
i = !this.settings.autoWidth,
s = this.$stage.children();
if (i && t.items.merge)
for (; e--;) t.css.width = this._widths[this.relative(e)], s.eq(e).css(t.css);
else i && (t.css.width = t.items.width, s.css(t.css))
}
}, {
filter: ["items"],
run: function() {
this._coordinates.length < 1 && this.$stage.removeAttr("style")
}
}, {
filter: ["width", "items", "settings"],
run: function(t) {
t.current = t.current ? this.$stage.children().index(t.current) : 0, t.current = Math.max(this.minimum(), Math.min(this.maximum(), t.current)), this.reset(t.current)
}
}, {
filter: ["position"],
run: function() {
this.animate(this.coordinates(this._current))
}
}, {
filter: ["width", "position", "items", "settings"],
run: function() {
var t, e, i, s, n = this.settings.rtl ? 1 : -1,
o = 2 * this.settings.stagePadding,
r = this.coordinates(this.current()) + o,
a = r + this.width() * n,
h = [];
for (i = 0, s = this._coordinates.length; s > i; i++) t = this._coordinates[i - 1] || 0, e = Math.abs(this._coordinates[i]) + o * n, (this.op(t, "<=", r) && this.op(t, ">", a) || this.op(e, "<", r) && this.op(e, ">", a)) && h.push(i);
this.$stage.children(".active").removeClass("active"), this.$stage.children(":eq(" + h.join("), :eq(") + ")").addClass("active"), this.settings.center && (this.$stage.children(".center").removeClass("center"), this.$stage.children().eq(this.current()).addClass("center"))
}
}], n.prototype.initialize = function() {
if (this.enter("initializing"), this.trigger("initialize"), this.$element.toggleClass(this.settings.rtlClass, this.settings.rtl), this.settings.autoWidth && !this.is("pre-loading")) {
var e, i, n;
e = this.$element.find("img"), i = this.settings.nestedItemSelector ? "." + this.settings.nestedItemSelector : s, n = this.$element.children(i).width(), e.length && 0 >= n && this.preloadAutoWidthImages(e)
}
this.$element.addClass(this.options.loadingClass), this.$stage = t("<" + this.settings.stageElement + ' class="' + this.settings.stageClass + '"/>').wrap(''), this.$element.append(this.$stage.parent()), this.replace(this.$element.children().not(this.$stage.parent())), this.$element.is(":visible") ? this.refresh() : this.invalidate("width"), this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass), this.registerEventHandlers(), this.leave("initializing"), this.trigger("initialized")
}, n.prototype.setup = function() {
var e = this.viewport(),
i = this.options.responsive,
s = -1,
n = null;
i ? (t.each(i, function(t) {
e >= t && t > s && (s = Number(t))
}), n = t.extend({}, this.options, i[s]), "function" == typeof n.stagePadding && (n.stagePadding = n.stagePadding()), delete n.responsive, n.responsiveClass && this.$element.attr("class", this.$element.attr("class").replace(new RegExp("(" + this.options.responsiveClass + "-)\\S+\\s", "g"), "$1" + s))) : n = t.extend({}, this.options), this.trigger("change", {
property: {
name: "settings",
value: n
}
}), this._breakpoint = s, this.settings = n, this.invalidate("settings"), this.trigger("changed", {
property: {
name: "settings",
value: this.settings
}
})
}, n.prototype.optionsLogic = function() {
this.settings.autoWidth && (this.settings.stagePadding = !1, this.settings.merge = !1)
}, n.prototype.prepare = function(e) {
var i = this.trigger("prepare", {
content: e
});
return i.data || (i.data = t("<" + this.settings.itemElement + "/>").addClass(this.options.itemClass).append(e)), this.trigger("prepared", {
content: i.data
}), i.data
}, n.prototype.update = function() {
for (var e = 0, i = this._pipe.length, s = t.proxy(function(t) {
return this[t]
}, this._invalidated), n = {}; i > e;)(this._invalidated.all || t.grep(this._pipe[e].filter, s).length > 0) && this._pipe[e].run(n), e++;
this._invalidated = {}, !this.is("valid") && this.enter("valid")
}, n.prototype.width = function(t) {
switch (t = t || n.Width.Default) {
case n.Width.Inner:
case n.Width.Outer:
return this._width;
default:
return this._width - 2 * this.settings.stagePadding + this.settings.margin
}
}, n.prototype.refresh = function() {
this.enter("refreshing"), this.trigger("refresh"), this.setup(), this.optionsLogic(), this.$element.addClass(this.options.refreshClass), this.update(), this.$element.removeClass(this.options.refreshClass), this.leave("refreshing"), this.trigger("refreshed")
}, n.prototype.onThrottledResize = function() {
e.clearTimeout(this.resizeTimer), this.resizeTimer = e.setTimeout(this._handlers.onResize, this.settings.responsiveRefreshRate)
}, n.prototype.onResize = function() {
return !!this._items.length && (this._width !== this.$element.width() && (!!this.$element.is(":visible") && (this.enter("resizing"), this.trigger("resize").isDefaultPrevented() ? (this.leave("resizing"), !1) : (this.invalidate("width"), this.refresh(), this.leave("resizing"), void this.trigger("resized")))))
}, n.prototype.registerEventHandlers = function() {
t.support.transition && this.$stage.on(t.support.transition.end + ".owl.core", t.proxy(this.onTransitionEnd, this)), this.settings.responsive !== !1 && this.on(e, "resize", this._handlers.onThrottledResize), this.settings.mouseDrag && (this.$element.addClass(this.options.dragClass), this.$stage.on("mousedown.owl.core", t.proxy(this.onDragStart, this)), this.$stage.on("dragstart.owl.core selectstart.owl.core", function() {
return !1
})), this.settings.touchDrag && (this.$stage.on("touchstart.owl.core", t.proxy(this.onDragStart, this)), this.$stage.on("touchcancel.owl.core", t.proxy(this.onDragEnd, this)))
}, n.prototype.onDragStart = function(e) {
var s = null;
3 !== e.which && (t.support.transform ? (s = this.$stage.css("transform").replace(/.*\(|\)| /g, "").split(","), s = {
x: s[16 === s.length ? 12 : 4],
y: s[16 === s.length ? 13 : 5]
}) : (s = this.$stage.position(), s = {
x: this.settings.rtl ? s.left + this.$stage.width() - this.width() + this.settings.margin : s.left,
y: s.top
}), this.is("animating") && (t.support.transform ? this.animate(s.x) : this.$stage.stop(), this.invalidate("position")), this.$element.toggleClass(this.options.grabClass, "mousedown" === e.type), this.speed(0), this._drag.time = (new Date).getTime(), this._drag.target = t(e.target), this._drag.stage.start = s, this._drag.stage.current = s, this._drag.pointer = this.pointer(e), t(i).on("mouseup.owl.core touchend.owl.core", t.proxy(this.onDragEnd, this)), t(i).one("mousemove.owl.core touchmove.owl.core", t.proxy(function(e) {
var s = this.difference(this._drag.pointer, this.pointer(e));
t(i).on("mousemove.owl.core touchmove.owl.core", t.proxy(this.onDragMove, this)), Math.abs(s.x) < Math.abs(s.y) && this.is("valid") || (e.preventDefault(), this.enter("dragging"), this.trigger("drag"))
}, this)))
}, n.prototype.onDragMove = function(t) {
var e = null,
i = null,
s = null,
n = this.difference(this._drag.pointer, this.pointer(t)),
o = this.difference(this._drag.stage.start, n);
this.is("dragging") && (t.preventDefault(), this.settings.loop ? (e = this.coordinates(this.minimum()), i = this.coordinates(this.maximum() + 1) - e, o.x = ((o.x - e) % i + i) % i + e) : (e = this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum()), i = this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum()), s = this.settings.pullDrag ? -1 * n.x / 5 : 0, o.x = Math.max(Math.min(o.x, e + s), i + s)), this._drag.stage.current = o, this.animate(o.x))
}, n.prototype.onDragEnd = function(e) {
var s = this.difference(this._drag.pointer, this.pointer(e)),
n = this._drag.stage.current,
o = s.x > 0 ^ this.settings.rtl ? "left" : "right";
t(i).off(".owl.core"), this.$element.removeClass(this.options.grabClass), (0 !== s.x && this.is("dragging") || !this.is("valid")) && (this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed), this.current(this.closest(n.x, 0 !== s.x ? o : this._drag.direction)), this.invalidate("position"), this.update(), this._drag.direction = o, (Math.abs(s.x) > 3 || (new Date).getTime() - this._drag.time > 300) && this._drag.target.one("click.owl.core", function() {
return !1
})), this.is("dragging") && (this.leave("dragging"), this.trigger("dragged"))
}, n.prototype.closest = function(e, i) {
var s = -1,
n = 30,
o = this.width(),
r = this.coordinates();
return this.settings.freeDrag || t.each(r, t.proxy(function(t, a) {
return "left" === i && e > a - n && a + n > e ? s = t : "right" === i && e > a - o - n && a - o + n > e ? s = t + 1 : this.op(e, "<", a) && this.op(e, ">", r[t + 1] || a - o) && (s = "left" === i ? t + 1 : t), -1 === s
}, this)), this.settings.loop || (this.op(e, ">", r[this.minimum()]) ? s = e = this.minimum() : this.op(e, "<", r[this.maximum()]) && (s = e = this.maximum())), s
}, n.prototype.animate = function(e) {
var i = this.speed() > 0;
this.is("animating") && this.onTransitionEnd(), i && (this.enter("animating"), this.trigger("translate")), t.support.transform3d && t.support.transition ? this.$stage.css({
transform: "translate3d(" + e + "px,0px,0px)",
transition: this.speed() / 1e3 + "s"
}) : i ? this.$stage.animate({
left: e + "px"
}, this.speed(), this.settings.fallbackEasing, t.proxy(this.onTransitionEnd, this)) : this.$stage.css({
left: e + "px"
})
}, n.prototype.is = function(t) {
return this._states.current[t] && this._states.current[t] > 0
}, n.prototype.current = function(t) {
if (t === s) return this._current;
if (0 === this._items.length) return s;
if (t = this.normalize(t), this._current !== t) {
var e = this.trigger("change", {
property: {
name: "position",
value: t
}
});
e.data !== s && (t = this.normalize(e.data)), this._current = t, this.invalidate("position"), this.trigger("changed", {
property: {
name: "position",
value: this._current
}
})
}
return this._current
}, n.prototype.invalidate = function(e) {
return "string" === t.type(e) && (this._invalidated[e] = !0, this.is("valid") && this.leave("valid")), t.map(this._invalidated, function(t, e) {
return e
})
}, n.prototype.reset = function(t) {
t = this.normalize(t), t !== s && (this._speed = 0, this._current = t, this.suppress(["translate", "translated"]), this.animate(this.coordinates(t)), this.release(["translate", "translated"]))
}, n.prototype.normalize = function(t, e) {
var i = this._items.length,
n = e ? 0 : this._clones.length;
return !this.isNumeric(t) || 1 > i ? t = s : (0 > t || t >= i + n) && (t = ((t - n / 2) % i + i) % i + n / 2), t
}, n.prototype.relative = function(t) {
return t -= this._clones.length / 2, this.normalize(t, !0)
}, n.prototype.maximum = function(t) {
var e, i, s, n = this.settings,
o = this._coordinates.length;
if (n.loop) o = this._clones.length / 2 + this._items.length - 1;
else if (n.autoWidth || n.merge) {
for (e = this._items.length, i = this._items[--e].width(), s = this.$element.width(); e-- && (i += this._items[e].width() + this.settings.margin, !(i > s)););
o = e + 1
} else o = n.center ? this._items.length - 1 : this._items.length - n.items;
return t && (o -= this._clones.length / 2), Math.max(o, 0)
}, n.prototype.minimum = function(t) {
return t ? 0 : this._clones.length / 2
}, n.prototype.items = function(t) {
return t === s ? this._items.slice() : (t = this.normalize(t, !0), this._items[t])
}, n.prototype.mergers = function(t) {
return t === s ? this._mergers.slice() : (t = this.normalize(t, !0), this._mergers[t])
}, n.prototype.clones = function(e) {
var i = this._clones.length / 2,
n = i + this._items.length,
o = function(t) {
return t % 2 === 0 ? n + t / 2 : i - (t + 1) / 2
};
return e === s ? t.map(this._clones, function(t, e) {
return o(e)
}) : t.map(this._clones, function(t, i) {
return t === e ? o(i) : null
})
}, n.prototype.speed = function(t) {
return t !== s && (this._speed = t), this._speed
}, n.prototype.coordinates = function(e) {
var i, n = 1,
o = e - 1;
return e === s ? t.map(this._coordinates, t.proxy(function(t, e) {
return this.coordinates(e)
}, this)) : (this.settings.center ? (this.settings.rtl && (n = -1, o = e + 1), i = this._coordinates[e], i += (this.width() - i + (this._coordinates[o] || 0)) / 2 * n) : i = this._coordinates[o] || 0, i = Math.ceil(i))
}, n.prototype.duration = function(t, e, i) {
return 0 === i ? 0 : Math.min(Math.max(Math.abs(e - t), 1), 6) * Math.abs(i || this.settings.smartSpeed)
}, n.prototype.to = function(t, e) {
var i = this.current(),
s = null,
n = t - this.relative(i),
o = (n > 0) - (0 > n),
r = this._items.length,
a = this.minimum(),
h = this.maximum();
this.settings.loop ? (!this.settings.rewind && Math.abs(n) > r / 2 && (n += -1 * o * r), t = i + n, s = ((t - a) % r + r) % r + a, s !== t && h >= s - n && s - n > 0 && (i = s - n, t = s, this.reset(i))) : this.settings.rewind ? (h += 1, t = (t % h + h) % h) : t = Math.max(a, Math.min(h, t)), this.speed(this.duration(i, t, e)), this.current(t), this.$element.is(":visible") && this.update()
}, n.prototype.next = function(t) {
t = t || !1, this.to(this.relative(this.current()) + 1, t)
}, n.prototype.prev = function(t) {
t = t || !1, this.to(this.relative(this.current()) - 1, t)
}, n.prototype.onTransitionEnd = function(t) {
return (t === s || (t.stopPropagation(), (t.target || t.srcElement || t.originalTarget) === this.$stage.get(0))) && (this.leave("animating"), void this.trigger("translated"))
}, n.prototype.viewport = function() {
var s;
if (this.options.responsiveBaseElement !== e) s = t(this.options.responsiveBaseElement).width();
else if (e.innerWidth) s = e.innerWidth;
else {
if (!i.documentElement || !i.documentElement.clientWidth) throw "Can not detect viewport width.";
s = i.documentElement.clientWidth
}
return s
}, n.prototype.replace = function(e) {
this.$stage.empty(), this._items = [], e && (e = e instanceof jQuery ? e : t(e)), this.settings.nestedItemSelector && (e = e.find("." + this.settings.nestedItemSelector)), e.filter(function() {
return 1 === this.nodeType
}).each(t.proxy(function(t, e) {
e = this.prepare(e), this.$stage.append(e), this._items.push(e), this._mergers.push(1 * e.find("[data-merge]").addBack("[data-merge]").attr("data-merge") || 1)
}, this)), this.reset(this.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0), this.invalidate("items")
}, n.prototype.add = function(e, i) {
var n = this.relative(this._current);
i = i === s ? this._items.length : this.normalize(i, !0), e = e instanceof jQuery ? e : t(e), this.trigger("add", {
content: e,
position: i
}), e = this.prepare(e), 0 === this._items.length || i === this._items.length ? (0 === this._items.length && this.$stage.append(e), 0 !== this._items.length && this._items[i - 1].after(e), this._items.push(e), this._mergers.push(1 * e.find("[data-merge]").addBack("[data-merge]").attr("data-merge") || 1)) : (this._items[i].before(e), this._items.splice(i, 0, e), this._mergers.splice(i, 0, 1 * e.find("[data-merge]").addBack("[data-merge]").attr("data-merge") || 1)), this._items[n] && this.reset(this._items[n].index()), this.invalidate("items"), this.trigger("added", {
content: e,
position: i
})
}, n.prototype.remove = function(t) {
t = this.normalize(t, !0), t !== s && (this.trigger("remove", {
content: this._items[t],
position: t
}), this._items[t].remove(), this._items.splice(t, 1), this._mergers.splice(t, 1), this.invalidate("items"), this.trigger("removed", {
content: null,
position: t
}))
}, n.prototype.preloadAutoWidthImages = function(e) {
e.each(t.proxy(function(e, i) {
this.enter("pre-loading"), i = t(i), t(new Image).one("load", t.proxy(function(t) {
i.attr("src", t.target.src), i.css("opacity", 1), this.leave("pre-loading"), !this.is("pre-loading") && !this.is("initializing") && this.refresh()
}, this)).attr("src", i.attr("src") || i.attr("data-src") || i.attr("data-src-retina"))
}, this))
}, n.prototype.destroy = function() {
this.$element.off(".owl.core"), this.$stage.off(".owl.core"), t(i).off(".owl.core"), this.settings.responsive !== !1 && (e.clearTimeout(this.resizeTimer), this.off(e, "resize", this._handlers.onThrottledResize));
for (var s in this._plugins) this._plugins[s].destroy();
this.$stage.children(".cloned").remove(), this.$stage.unwrap(), this.$stage.children().contents().unwrap(), this.$stage.children().unwrap(), this.$element.removeClass(this.options.refreshClass).removeClass(this.options.loadingClass).removeClass(this.options.loadedClass).removeClass(this.options.rtlClass).removeClass(this.options.dragClass).removeClass(this.options.grabClass).attr("class", this.$element.attr("class").replace(new RegExp(this.options.responsiveClass + "-\\S+\\s", "g"), "")).removeData("owl.carousel")
}, n.prototype.op = function(t, e, i) {
var s = this.settings.rtl;
switch (e) {
case "<":
return s ? t > i : i > t;
case ">":
return s ? i > t : t > i;
case ">=":
return s ? i >= t : t >= i;
case "<=":
return s ? t >= i : i >= t
}
}, n.prototype.on = function(t, e, i, s) {
t.addEventListener ? t.addEventListener(e, i, s) : t.attachEvent && t.attachEvent("on" + e, i)
}, n.prototype.off = function(t, e, i, s) {
t.removeEventListener ? t.removeEventListener(e, i, s) : t.detachEvent && t.detachEvent("on" + e, i)
}, n.prototype.trigger = function(e, i, s, o, r) {
var a = {
item: {
count: this._items.length,
index: this.current()
}
},
h = t.camelCase(t.grep(["on", e, s], function(t) {
return t
}).join("-").toLowerCase()),
l = t.Event([e, "owl", s || "carousel"].join(".").toLowerCase(), t.extend({
relatedTarget: this
}, a, i));
return this._supress[e] || (t.each(this._plugins, function(t, e) {
e.onTrigger && e.onTrigger(l)
}), this.register({
type: n.Type.Event,
name: e
}), this.$element.trigger(l), this.settings && "function" == typeof this.settings[h] && this.settings[h].call(this, l)), l
}, n.prototype.enter = function(e) {
t.each([e].concat(this._states.tags[e] || []), t.proxy(function(t, e) {
this._states.current[e] === s && (this._states.current[e] = 0), this._states.current[e]++
}, this))
}, n.prototype.leave = function(e) {
t.each([e].concat(this._states.tags[e] || []), t.proxy(function(t, e) {
this._states.current[e]--
}, this))
}, n.prototype.register = function(e) {
if (e.type === n.Type.Event) {
if (t.event.special[e.name] || (t.event.special[e.name] = {}), !t.event.special[e.name].owl) {
var i = t.event.special[e.name]._default;
t.event.special[e.name]._default = function(t) {
return !i || !i.apply || t.namespace && -1 !== t.namespace.indexOf("owl") ? t.namespace && t.namespace.indexOf("owl") > -1 : i.apply(this, arguments)
}, t.event.special[e.name].owl = !0
}
} else e.type === n.Type.State && (this._states.tags[e.name] ? this._states.tags[e.name] = this._states.tags[e.name].concat(e.tags) : this._states.tags[e.name] = e.tags, this._states.tags[e.name] = t.grep(this._states.tags[e.name], t.proxy(function(i, s) {
return t.inArray(i, this._states.tags[e.name]) === s
}, this)))
}, n.prototype.suppress = function(e) {
t.each(e, t.proxy(function(t, e) {
this._supress[e] = !0
}, this))
}, n.prototype.release = function(e) {
t.each(e, t.proxy(function(t, e) {
delete this._supress[e]
}, this))
}, n.prototype.pointer = function(t) {
var i = {
x: null,
y: null
};
return t = t.originalEvent || t || e.event, t = t.touches && t.touches.length ? t.touches[0] : t.changedTouches && t.changedTouches.length ? t.changedTouches[0] : t, t.pageX ? (i.x = t.pageX, i.y = t.pageY) : (i.x = t.clientX, i.y = t.clientY), i
}, n.prototype.isNumeric = function(t) {
return !isNaN(parseFloat(t))
}, n.prototype.difference = function(t, e) {
return {
x: t.x - e.x,
y: t.y - e.y
}
}, t.fn.owlCarousel = function(e) {
var i = Array.prototype.slice.call(arguments, 1);
return this.each(function() {
var s = t(this),
o = s.data("owl.carousel");
o || (o = new n(this, "object" == typeof e && e), s.data("owl.carousel", o), t.each(["next", "prev", "to", "destroy", "refresh", "replace", "add", "remove"], function(e, i) {
o.register({
type: n.Type.Event,
name: i
}), o.$element.on(i + ".owl.carousel.core", t.proxy(function(t) {
t.namespace && t.relatedTarget !== this && (this.suppress([i]), o[i].apply(this, [].slice.call(arguments, 1)), this.release([i]))
}, o))
})), "string" == typeof e && "_" !== e.charAt(0) && o[e].apply(o, i)
})
}, t.fn.owlCarousel.Constructor = n
}(window.Zepto || window.jQuery, window, document),
function(t, e, i, s) {
var n = function(e) {
this._core = e, this._interval = null, this._visible = null, this._handlers = {
"initialized.owl.carousel": t.proxy(function(t) {
t.namespace && this._core.settings.autoRefresh && this.watch()
}, this)
}, this._core.options = t.extend({}, n.Defaults, this._core.options), this._core.$element.on(this._handlers)
};
n.Defaults = {
autoRefresh: !0,
autoRefreshInterval: 500
}, n.prototype.watch = function() {
this._interval || (this._visible = this._core.$element.is(":visible"), this._interval = e.setInterval(t.proxy(this.refresh, this), this._core.settings.autoRefreshInterval))
}, n.prototype.refresh = function() {
this._core.$element.is(":visible") !== this._visible && (this._visible = !this._visible, this._core.$element.toggleClass("owl-hidden", !this._visible), this._visible && this._core.invalidate("width") && this._core.refresh())
}, n.prototype.destroy = function() {
var t, i;
e.clearInterval(this._interval);
for (t in this._handlers) this._core.$element.off(t, this._handlers[t]);
for (i in Object.getOwnPropertyNames(this)) "function" != typeof this[i] && (this[i] = null)
}, t.fn.owlCarousel.Constructor.Plugins.AutoRefresh = n
}(window.Zepto || window.jQuery, window, document),
function(t, e, i, s) {
var n = function(e) {
this._core = e, this._loaded = [], this._handlers = {
"initialized.owl.carousel change.owl.carousel resized.owl.carousel": t.proxy(function(e) {
if (e.namespace && this._core.settings && this._core.settings.lazyLoad && (e.property && "position" == e.property.name || "initialized" == e.type))
for (var i = this._core.settings, n = i.center && Math.ceil(i.items / 2) || i.items, o = i.center && -1 * n || 0, r = (e.property && e.property.value !== s ? e.property.value : this._core.current()) + o, a = this._core.clones().length, h = t.proxy(function(t, e) {
this.load(e)
}, this); o++ < n;) this.load(a / 2 + this._core.relative(r)), a && t.each(this._core.clones(this._core.relative(r)), h), r++
}, this)
}, this._core.options = t.extend({}, n.Defaults, this._core.options), this._core.$element.on(this._handlers)
};
n.Defaults = {
lazyLoad: !1
}, n.prototype.load = function(i) {
var s = this._core.$stage.children().eq(i),
n = s && s.find(".owl-lazy");
!n || t.inArray(s.get(0), this._loaded) > -1 || (n.each(t.proxy(function(i, s) {
var n, o = t(s),
r = e.devicePixelRatio > 1 && o.attr("data-src-retina") || o.attr("data-src");
this._core.trigger("load", {
element: o,
url: r
}, "lazy"), o.is("img") ? o.one("load.owl.lazy", t.proxy(function() {
o.css("opacity", 1), this._core.trigger("loaded", {
element: o,
url: r
}, "lazy")
}, this)).attr("src", r) : (n = new Image, n.onload = t.proxy(function() {
o.css({
"background-image": "url(" + r + ")",
opacity: "1"
}), this._core.trigger("loaded", {
element: o,
url: r
}, "lazy")
}, this), n.src = r)
}, this)), this._loaded.push(s.get(0)))
}, n.prototype.destroy = function() {
var t, e;
for (t in this.handlers) this._core.$element.off(t, this.handlers[t]);
for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null)
}, t.fn.owlCarousel.Constructor.Plugins.Lazy = n
}(window.Zepto || window.jQuery, window, document),
function(t, e, i, s) {
var n = function(e) {
this._core = e, this._handlers = {
"initialized.owl.carousel refreshed.owl.carousel": t.proxy(function(t) {
t.namespace && this._core.settings.autoHeight && this.update()
}, this),
"changed.owl.carousel": t.proxy(function(t) {
t.namespace && this._core.settings.autoHeight && "position" == t.property.name && this.update()
}, this),
"loaded.owl.lazy": t.proxy(function(t) {
t.namespace && this._core.settings.autoHeight && t.element.closest("." + this._core.settings.itemClass).index() === this._core.current() && this.update()
}, this)
}, this._core.options = t.extend({}, n.Defaults, this._core.options), this._core.$element.on(this._handlers)
};
n.Defaults = {
autoHeight: !1,
autoHeightClass: "owl-height"
}, n.prototype.update = function() {
var e = this._core._current,
i = e + this._core.settings.items,
s = this._core.$stage.children().toArray().slice(e, i),
n = [],
o = 0;
t.each(s, function(e, i) {
n.push(t(i).height())
}), o = Math.max.apply(null, n), this._core.$stage.parent().height(o).addClass(this._core.settings.autoHeightClass)
}, n.prototype.destroy = function() {
var t, e;
for (t in this._handlers) this._core.$element.off(t, this._handlers[t]);
for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null)
}, t.fn.owlCarousel.Constructor.Plugins.AutoHeight = n
}(window.Zepto || window.jQuery, window, document),
function(t, e, i, s) {
var n = function(e) {
this._core = e, this._videos = {}, this._playing = null, this._handlers = {
"initialized.owl.carousel": t.proxy(function(t) {
t.namespace && this._core.register({
type: "state",
name: "playing",
tags: ["interacting"]
})
}, this),
"resize.owl.carousel": t.proxy(function(t) {
t.namespace && this._core.settings.video && this.isInFullScreen() && t.preventDefault()
}, this),
"refreshed.owl.carousel": t.proxy(function(t) {
t.namespace && this._core.is("resizing") && this._core.$stage.find(".cloned .owl-video-frame").remove()
}, this),
"changed.owl.carousel": t.proxy(function(t) {
t.namespace && "position" === t.property.name && this._playing && this.stop()
}, this),
"prepared.owl.carousel": t.proxy(function(e) {
if (e.namespace) {
var i = t(e.content).find(".owl-video");
i.length && (i.css("display", "none"), this.fetch(i, t(e.content)))
}
}, this)
}, this._core.options = t.extend({}, n.Defaults, this._core.options), this._core.$element.on(this._handlers), this._core.$element.on("click.owl.video", ".owl-video-play-icon", t.proxy(function(t) {
this.play(t)
}, this))
};
n.Defaults = {
video: !1,
videoHeight: !1,
videoWidth: !1
}, n.prototype.fetch = function(t, e) {
var i = function() {
return t.attr("data-vimeo-id") ? "vimeo" : t.attr("data-vzaar-id") ? "vzaar" : "youtube"
}(),
s = t.attr("data-vimeo-id") || t.attr("data-youtube-id") || t.attr("data-vzaar-id"),
n = t.attr("data-width") || this._core.settings.videoWidth,
o = t.attr("data-height") || this._core.settings.videoHeight,
r = t.attr("href");
if (!r) throw new Error("Missing video URL.");
if (s = r.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/), s[3].indexOf("youtu") > -1) i = "youtube";
else if (s[3].indexOf("vimeo") > -1) i = "vimeo";
else {
if (!(s[3].indexOf("vzaar") > -1)) throw new Error("Video URL not supported.");
i = "vzaar"
}
s = s[6], this._videos[r] = {
type: i,
id: s,
width: n,
height: o
}, e.attr("data-video", r), this.thumbnail(t, this._videos[r])
}, n.prototype.thumbnail = function(e, i) {
var s, n, o, r = i.width && i.height ? 'style="width:' + i.width + "px;height:" + i.height + 'px;"' : "",
a = e.find("img"),
h = "src",
l = "",
c = this._core.settings,
p = function(t) {
n = '', s = c.lazyLoad ? '' : '', e.after(s), e.after(n)
};
return e.wrap('"), this._core.settings.lazyLoad && (h = "data-src", l = "owl-lazy"), a.length ? (p(a.attr(h)), a.remove(), !1) : void("youtube" === i.type ? (o = "//img.youtube.com/vi/" + i.id + "/hqdefault.jpg", p(o)) : "vimeo" === i.type ? t.ajax({
type: "GET",
url: "//vimeo.com/api/v2/video/" + i.id + ".json",
jsonp: "callback",
dataType: "jsonp",
success: function(t) {
o = t[0].thumbnail_large, p(o)
}
}) : "vzaar" === i.type && t.ajax({
type: "GET",
url: "//vzaar.com/api/videos/" + i.id + ".json",
jsonp: "callback",
dataType: "jsonp",
success: function(t) {
o = t.framegrab_url, p(o)
}
}))
}, n.prototype.stop = function() {
this._core.trigger("stop", null, "video"), this._playing.find(".owl-video-frame").remove(), this._playing.removeClass("owl-video-playing"), this._playing = null, this._core.leave("playing"), this._core.trigger("stopped", null, "video")
}, n.prototype.play = function(e) {
var i, s = t(e.target),
n = s.closest("." + this._core.settings.itemClass),
o = this._videos[n.attr("data-video")],
r = o.width || "100%",
a = o.height || this._core.$stage.height();
this._playing || (this._core.enter("playing"), this._core.trigger("play", null, "video"), n = this._core.items(this._core.relative(n.index())), this._core.reset(n.index()), "youtube" === o.type ? i = '' : "vimeo" === o.type ? i = '' : "vzaar" === o.type && (i = ''), t('' + i + "
").insertAfter(n.find(".owl-video")), this._playing = n.addClass("owl-video-playing"))
}, n.prototype.isInFullScreen = function() {
var e = i.fullscreenElement || i.mozFullScreenElement || i.webkitFullscreenElement;
return e && t(e).parent().hasClass("owl-video-frame")
}, n.prototype.destroy = function() {
var t, e;
this._core.$element.off("click.owl.video");
for (t in this._handlers) this._core.$element.off(t, this._handlers[t]);
for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null)
}, t.fn.owlCarousel.Constructor.Plugins.Video = n
}(window.Zepto || window.jQuery, window, document),
function(t, e, i, s) {
var n = function(e) {
this.core = e, this.core.options = t.extend({}, n.Defaults, this.core.options), this.swapping = !0, this.previous = s, this.next = s, this.handlers = {
"change.owl.carousel": t.proxy(function(t) {
t.namespace && "position" == t.property.name && (this.previous = this.core.current(), this.next = t.property.value)
}, this),
"drag.owl.carousel dragged.owl.carousel translated.owl.carousel": t.proxy(function(t) {
t.namespace && (this.swapping = "translated" == t.type)
}, this),
"translate.owl.carousel": t.proxy(function(t) {
t.namespace && this.swapping && (this.core.options.animateOut || this.core.options.animateIn) && this.swap()
}, this)
}, this.core.$element.on(this.handlers)
};
n.Defaults = {
animateOut: !1,
animateIn: !1
}, n.prototype.swap = function() {
if (1 === this.core.settings.items && t.support.animation && t.support.transition) {
this.core.speed(0);
var e, i = t.proxy(this.clear, this),
s = this.core.$stage.children().eq(this.previous),
n = this.core.$stage.children().eq(this.next),
o = this.core.settings.animateIn,
r = this.core.settings.animateOut;
this.core.current() !== this.previous && (r && (e = this.core.coordinates(this.previous) - this.core.coordinates(this.next), s.one(t.support.animation.end, i).css({
left: e + "px"
}).addClass("animated owl-animated-out").addClass(r)), o && n.one(t.support.animation.end, i).addClass("animated owl-animated-in").addClass(o))
}
}, n.prototype.clear = function(e) {
t(e.target).css({
left: ""
}).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut), this.core.onTransitionEnd()
}, n.prototype.destroy = function() {
var t, e;
for (t in this.handlers) this.core.$element.off(t, this.handlers[t]);
for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null);
}, t.fn.owlCarousel.Constructor.Plugins.Animate = n
}(window.Zepto || window.jQuery, window, document),
function(t, e, i, s) {
var n = function(e) {
this._core = e, this._timeout = null, this._paused = !1, this._handlers = {
"changed.owl.carousel": t.proxy(function(t) {
t.namespace && "settings" === t.property.name ? this._core.settings.autoplay ? this.play() : this.stop() : t.namespace && "position" === t.property.name && this._core.settings.autoplay && this._setAutoPlayInterval()
}, this),
"initialized.owl.carousel": t.proxy(function(t) {
t.namespace && this._core.settings.autoplay && this.play()
}, this),
"play.owl.autoplay": t.proxy(function(t, e, i) {
t.namespace && this.play(e, i)
}, this),
"stop.owl.autoplay": t.proxy(function(t) {
t.namespace && this.stop()
}, this),
"mouseover.owl.autoplay": t.proxy(function() {
this._core.settings.autoplayHoverPause && this._core.is("rotating") && this.pause()
}, this),
"mouseleave.owl.autoplay": t.proxy(function() {
this._core.settings.autoplayHoverPause && this._core.is("rotating") && this.play()
}, this),
"touchstart.owl.core": t.proxy(function() {
this._core.settings.autoplayHoverPause && this._core.is("rotating") && this.pause()
}, this),
"touchend.owl.core": t.proxy(function() {
this._core.settings.autoplayHoverPause && this.play()
}, this)
}, this._core.$element.on(this._handlers), this._core.options = t.extend({}, n.Defaults, this._core.options)
};
n.Defaults = {
autoplay: !1,
autoplayTimeout: 5e3,
autoplayHoverPause: !1,
autoplaySpeed: !1
}, n.prototype.play = function(t, e) {
this._paused = !1, this._core.is("rotating") || (this._core.enter("rotating"), this._setAutoPlayInterval())
}, n.prototype._getNextTimeout = function(s, n) {
return this._timeout && e.clearTimeout(this._timeout), e.setTimeout(t.proxy(function() {
this._paused || this._core.is("busy") || this._core.is("interacting") || i.hidden || this._core.next(n || this._core.settings.autoplaySpeed)
}, this), s || this._core.settings.autoplayTimeout)
}, n.prototype._setAutoPlayInterval = function() {
this._timeout = this._getNextTimeout()
}, n.prototype.stop = function() {
this._core.is("rotating") && (e.clearTimeout(this._timeout), this._core.leave("rotating"))
}, n.prototype.pause = function() {
this._core.is("rotating") && (this._paused = !0)
}, n.prototype.destroy = function() {
var t, e;
this.stop();
for (t in this._handlers) this._core.$element.off(t, this._handlers[t]);
for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null)
}, t.fn.owlCarousel.Constructor.Plugins.autoplay = n
}(window.Zepto || window.jQuery, window, document),
function(t, e, i, s) {
"use strict";
var n = function(e) {
this._core = e, this._initialized = !1, this._pages = [], this._controls = {}, this._templates = [], this.$element = this._core.$element, this._overrides = {
next: this._core.next,
prev: this._core.prev,
to: this._core.to
}, this._handlers = {
"prepared.owl.carousel": t.proxy(function(e) {
e.namespace && this._core.settings.dotsData && this._templates.push('' + t(e.content).find("[data-dot]").addBack("[data-dot]").attr("data-dot") + "
")
}, this),
"added.owl.carousel": t.proxy(function(t) {
t.namespace && this._core.settings.dotsData && this._templates.splice(t.position, 0, this._templates.pop())
}, this),
"remove.owl.carousel": t.proxy(function(t) {
t.namespace && this._core.settings.dotsData && this._templates.splice(t.position, 1)
}, this),
"changed.owl.carousel": t.proxy(function(t) {
t.namespace && "position" == t.property.name && this.draw()
}, this),
"initialized.owl.carousel": t.proxy(function(t) {
t.namespace && !this._initialized && (this._core.trigger("initialize", null, "navigation"), this.initialize(), this.update(), this.draw(), this._initialized = !0, this._core.trigger("initialized", null, "navigation"))
}, this),
"refreshed.owl.carousel": t.proxy(function(t) {
t.namespace && this._initialized && (this._core.trigger("refresh", null, "navigation"), this.update(), this.draw(), this._core.trigger("refreshed", null, "navigation"))
}, this)
}, this._core.options = t.extend({}, n.Defaults, this._core.options), this.$element.on(this._handlers)
};
n.Defaults = {
nav: !1,
navText: ["prev", "next"],
navSpeed: !1,
navElement: "div",
navContainer: !1,
navContainerClass: "owl-nav",
navClass: ["owl-prev", "owl-next"],
slideBy: 1,
dotClass: "owl-dot",
dotsClass: "owl-dots",
dots: !0,
dotsEach: !1,
dotsData: !1,
dotsSpeed: !1,
dotsContainer: !1
}, n.prototype.initialize = function() {
var e, i = this._core.settings;
this._controls.$relative = (i.navContainer ? t(i.navContainer) : t("").addClass(i.navContainerClass).appendTo(this.$element)).addClass("disabled"), this._controls.$previous = t("<" + i.navElement + ">").addClass(i.navClass[0]).html(i.navText[0]).prependTo(this._controls.$relative).on("click", t.proxy(function(t) {
this.prev(i.navSpeed)
}, this)), this._controls.$next = t("<" + i.navElement + ">").addClass(i.navClass[1]).html(i.navText[1]).appendTo(this._controls.$relative).on("click", t.proxy(function(t) {
this.next(i.navSpeed)
}, this)), i.dotsData || (this._templates = [t("
").addClass(i.dotClass).append(t("
")).prop("outerHTML")]), this._controls.$absolute = (i.dotsContainer ? t(i.dotsContainer) : t("").addClass(i.dotsClass).appendTo(this.$element)).addClass("disabled"), this._controls.$absolute.on("click", "div", t.proxy(function(e) {
var s = t(e.target).parent().is(this._controls.$absolute) ? t(e.target).index() : t(e.target).parent().index();
e.preventDefault(), this.to(s, i.dotsSpeed)
}, this));
for (e in this._overrides) this._core[e] = t.proxy(this[e], this)
}, n.prototype.destroy = function() {
var t, e, i, s;
for (t in this._handlers) this.$element.off(t, this._handlers[t]);
for (e in this._controls) this._controls[e].remove();
for (s in this.overides) this._core[s] = this._overrides[s];
for (i in Object.getOwnPropertyNames(this)) "function" != typeof this[i] && (this[i] = null)
}, n.prototype.update = function() {
var t, e, i, s = this._core.clones().length / 2,
n = s + this._core.items().length,
o = this._core.maximum(!0),
r = this._core.settings,
a = r.center || r.autoWidth || r.dotsData ? 1 : r.dotsEach || r.items;
if ("page" !== r.slideBy && (r.slideBy = Math.min(r.slideBy, r.items)), r.dots || "page" == r.slideBy)
for (this._pages = [], t = s, e = 0, i = 0; n > t; t++) {
if (e >= a || 0 === e) {
if (this._pages.push({
start: Math.min(o, t - s),
end: t - s + a - 1
}), Math.min(o, t - s) === o) break;
e = 0, ++i
}
e += this._core.mergers(this._core.relative(t))
}
}, n.prototype.draw = function() {
var e, i = this._core.settings,
s = this._core.items().length <= i.items,
n = this._core.relative(this._core.current()),
o = i.loop || i.rewind;
this._controls.$relative.toggleClass("disabled", !i.nav || s), i.nav && (this._controls.$previous.toggleClass("disabled", !o && n <= this._core.minimum(!0)), this._controls.$next.toggleClass("disabled", !o && n >= this._core.maximum(!0))), this._controls.$absolute.toggleClass("disabled", !i.dots || s), i.dots && (e = this._pages.length - this._controls.$absolute.children().length, i.dotsData && 0 !== e ? this._controls.$absolute.html(this._templates.join("")) : e > 0 ? this._controls.$absolute.append(new Array(e + 1).join(this._templates[0])) : 0 > e && this._controls.$absolute.children().slice(e).remove(), this._controls.$absolute.find(".active").removeClass("active"), this._controls.$absolute.children().eq(t.inArray(this.current(), this._pages)).addClass("active"))
}, n.prototype.onTrigger = function(e) {
var i = this._core.settings;
e.page = {
index: t.inArray(this.current(), this._pages),
count: this._pages.length,
size: i && (i.center || i.autoWidth || i.dotsData ? 1 : i.dotsEach || i.items)
}
}, n.prototype.current = function() {
var e = this._core.relative(this._core.current());
return t.grep(this._pages, t.proxy(function(t, i) {
return t.start <= e && t.end >= e
}, this)).pop()
}, n.prototype.getPosition = function(e) {
var i, s, n = this._core.settings;
return "page" == n.slideBy ? (i = t.inArray(this.current(), this._pages), s = this._pages.length, e ? ++i : --i, i = this._pages[(i % s + s) % s].start) : (i = this._core.relative(this._core.current()), s = this._core.items().length, e ? i += n.slideBy : i -= n.slideBy), i
}, n.prototype.next = function(e) {
t.proxy(this._overrides.to, this._core)(this.getPosition(!0), e)
}, n.prototype.prev = function(e) {
t.proxy(this._overrides.to, this._core)(this.getPosition(!1), e)
}, n.prototype.to = function(e, i, s) {
var n;
!s && this._pages.length ? (n = this._pages.length, t.proxy(this._overrides.to, this._core)(this._pages[(e % n + n) % n].start, i)) : t.proxy(this._overrides.to, this._core)(e, i)
}, t.fn.owlCarousel.Constructor.Plugins.Navigation = n
}(window.Zepto || window.jQuery, window, document),
function(t, e, i, s) {
"use strict";
var n = function(i) {
this._core = i, this._hashes = {}, this.$element = this._core.$element, this._handlers = {
"initialized.owl.carousel": t.proxy(function(i) {
i.namespace && "URLHash" === this._core.settings.startPosition && t(e).trigger("hashchange.owl.navigation")
}, this),
"prepared.owl.carousel": t.proxy(function(e) {
if (e.namespace) {
var i = t(e.content).find("[data-hash]").addBack("[data-hash]").attr("data-hash");
if (!i) return;
this._hashes[i] = e.content
}
}, this),
"changed.owl.carousel": t.proxy(function(i) {
if (i.namespace && "position" === i.property.name) {
var s = this._core.items(this._core.relative(this._core.current())),
n = t.map(this._hashes, function(t, e) {
return t === s ? e : null
}).join();
if (!n || e.location.hash.slice(1) === n) return;
e.location.hash = n
}
}, this)
}, this._core.options = t.extend({}, n.Defaults, this._core.options), this.$element.on(this._handlers), t(e).on("hashchange.owl.navigation", t.proxy(function(t) {
var i = e.location.hash.substring(1),
n = this._core.$stage.children(),
o = this._hashes[i] && n.index(this._hashes[i]);
o !== s && o !== this._core.current() && this._core.to(this._core.relative(o), !1, !0)
}, this))
};
n.Defaults = {
URLhashListener: !1
}, n.prototype.destroy = function() {
var i, s;
t(e).off("hashchange.owl.navigation");
for (i in this._handlers) this._core.$element.off(i, this._handlers[i]);
for (s in Object.getOwnPropertyNames(this)) "function" != typeof this[s] && (this[s] = null)
}, t.fn.owlCarousel.Constructor.Plugins.Hash = n
}(window.Zepto || window.jQuery, window, document),
function(t, e, i, s) {
function n(e, i) {
var n = !1,
o = e.charAt(0).toUpperCase() + e.slice(1);
return t.each((e + " " + a.join(o + " ") + o).split(" "), function(t, e) {
return r[e] !== s ? (n = !i || e, !1) : void 0
}), n
}
function o(t) {
return n(t, !0)
}
var r = t("").get(0).style,
a = "Webkit Moz O ms".split(" "),
h = {
transition: {
end: {
WebkitTransition: "webkitTransitionEnd",
MozTransition: "transitionend",
OTransition: "oTransitionEnd",
transition: "transitionend"
}
},
animation: {
end: {
WebkitAnimation: "webkitAnimationEnd",
MozAnimation: "animationend",
OAnimation: "oAnimationEnd",
animation: "animationend"
}
}
},
l = {
csstransforms: function() {
return !!n("transform")
},
csstransforms3d: function() {
return !!n("perspective")
},
csstransitions: function() {
return !!n("transition")
},
cssanimations: function() {
return !!n("animation")
}
};
l.csstransitions() && (t.support.transition = new String(o("transition")), t.support.transition.end = h.transition.end[t.support.transition]), l.cssanimations() && (t.support.animation = new String(o("animation")), t.support.animation.end = h.animation.end[t.support.animation]), l.csstransforms() && (t.support.transform = new String(o("transform")), t.support.transform3d = l.csstransforms3d())
}(window.Zepto || window.jQuery, window, document);