! function() { "use strict"; function t(t, e) { return e = { exports: {} }, t(e, e.exports), e.exports } function e() {} function n(t, e) { var n; for (n = e; n && (1 !== n.nodeType || !q(n).hasClass(t)); n = n.parentNode); return n } function i(t) { return Array.isArray(t) ? t : Array.prototype.slice.call(t) } function r(t, e) { return i((e || document).querySelectorAll(t)) } function o(t, e, n) { return t.addEventListener ? t.addEventListener(e, n, !1) : t.attachEvent ? t.attachEvent("on" + e, n) : void 0 } function s(t, e, n) { return t.removeEventListener ? t.removeEventListener(e, n, !1) : t.detachEvent ? t.detachEvent("on" + e, n) : void 0 } function a(t) { return t.target || t.srcElement } function l(t) { if (t.preventDefault) return t.preventDefault(); t.returnValue && (t.returnValue = !1) } function c(t) { if ((t = t || window.event).stopPropagation) return t.stopPropagation(); t.cancelBubble && (t.cancelBubble = !0) } function u(t) { s(document.body, "click", u), r(".js-dropdown").forEach(function(t) { q(t).removeClass("is-active") }), r(".js-dropdown-toggle").forEach(function(t) { t.setAttribute("aria-expanded", "false") }), s(document, "keydown", f) } function d(t) { if (t) { var e = q(t.node).hasClass("is-active"); H.emit("dropdown:close"), e || (q(t.node).addClass("is-active"), t.target && t.target.setAttribute("aria-expanded", "true"), o(document, "keydown", f)), q(t.node).hasClass("is-active") && o(document.body, "click", u) } } function f(t) { 40 === t.keyCode | 38 === t.keyCode && t.preventDefault() } function h() { var t = document.querySelector(".js-dropdown.is-active"); return t || !1 } function p(t) { var e = document.activeElement, n = t.links.indexOf(e); - 1 === n ? n = t.forward ? 0 : t.links.length - 1 : t.forward ? (n += 1) === t.links.length && (n = 0) : -1 === (n -= 1) && (n = t.links.length - 1), t.links[n].focus() } function g() { var t = h(); if (t) { var e = r(".dropdown-link", t); H.emit("dropdown:focus", { links: e, forward: !0 }) } } function v() { var t = h(); if (t) { var e = r(".dropdown-link", t); H.emit("dropdown:focus", { links: e, forward: !1 }) } } function m(t) { l(t), c(t); var e = n("js-dropdown", t.target); H.emit("dropdown:toggle", { node: e, target: t.target }) } function y() { G || (H.on("dropdown:toggle", d), H.on("dropdown:close", u), H.on("keyboard:escape", u), H.on("keyboard:arrow:down", g), H.on("keyboard:arrow:up", v), H.on("dropdown:focus", p), G = !0), r(".js-dropdown-toggle").forEach(function(t) { var e = !1; $.dropdowns.forEach(function(n) { n.target === t && "click" === n.event && n.fn === m && (e = !0) }), e || ($.dropdowns.push({ target: t, event: "click", fn: m }), o(t, "click", m)) }) } function w(t, e) { return new RegExp("(\\s|^)" + e + "(\\s|$)").test(t.getAttribute("class")) } function b(t, e) { e.split(" ").forEach(function(e) { if (!w(t, e)) { var n = t.getAttribute("class") || ""; t.setAttribute("class", n + " " + e) } }) } function x(t, e) { e.split(" ").forEach(function(e) { var n = t.getAttribute("class").replace(new RegExp("(\\s|^)" + e + "(\\s|$)", "g"), "$2"); w(t, e) && t.setAttribute("class", n) }) } function C(t, e) { ! function(t) { (t = i(t)).forEach(function(t) { x(t, "is-active") }) }(t), b(e, "is-active") } function E(t) { for (var e = "", n = 0; n < t; n++) e += (65536 * (1 + Math.random()) | 0).toString(16).substring(1); return e } function S(t) { if (!t) throw new TypeError("Invalid argument `value` has no value."); this.value = S.EMPTY, t && t instanceof S ? this.value = t.toString() : t && "[object String]" === Object.prototype.toString.call(t) && S.isGuid(t) && (this.value = t), this.equals = function(t) { return S.isGuid(t) && this.value === t }, this.isEmpty = function() { return this.value === S.EMPTY }, this.toString = function() { return this.value }, this.toJSON = function() { return this.value } } function T() { function t() { var t = r(".js-tab"), n = r(".js-tab-group"), i = r(".js-tab-section"); n.forEach(function(t) { t.setAttribute("aria-live", "polite"), e(t), t.children[0].setAttribute("role", "tablist"); for (var n = t.querySelectorAll(".js-tab"), i = 100 / n.length, r = 0; r < n.length; r++) n[r].style.maxWidth = i + "%" }), t.forEach(function(t) { t.setAttribute("aria-expanded", "false"), t.setAttribute("role", "tab"), t.setAttribute("tabindex", "0"), o(t, "click", l), o(t, "keyup", c) }), i.forEach(function(t) { t.setAttribute("role", "tabpanel"); w(t, "is-active") ? t.setAttribute("aria-expanded", !0) : t.setAttribute("aria-expanded", !1) }) } function e(t) { var e = t.getAttribute("data-tab"); if (e) return e; var n = S.raw(); return t.setAttribute("data-tab", n), n } function s(t) { var e = t.parent, n = i(e.querySelectorAll(".js-tab")), r = t.active, o = i(e.querySelectorAll(".js-tab-section")), s = o[n.indexOf(r)]; n.forEach(function(t) { t.setAttribute("aria-expanded", !1) }), r.setAttribute("aria-expanded", !0), C(n, r), o.forEach(function(t) { t.setAttribute("aria-expanded", !1) }), s.setAttribute("aria-expanded", !0), C(o, s) } function a(t) { var i = t.target; w(i, "tab-title") || (i = t.currentTarget); var r = n("js-tab-group", i); return { parent: r, id: e(r), active: i } } function l(t) { t.preventDefault(); var e = a(t); H.emit("tabs:active", e) } function c(t) { var e = a(t); 13 === t.keycode && H.emit("tabs:active", e) } H.off("tabs:bind", t), H.off("tabs:active", s), H.on("tabs:bind", t), H.on("tabs:active", s), H.emit("tabs:bind") } function k() { H.off("scrolling:at", Z), H.off("bg:bind", Q), H.off("bg:set", J), H.on("scrolling:at", Z); var t = document.querySelector(".js-force-nav-white"); if (t) { var e = K(t); H.on("scrolling:at", e) } H.on("bg:bind", Q), H.on("bg:set", J), H.emit("bg:bind") } function A() { ! function() { var t = document.querySelector(".js-electron"); t.style.top = pt() - 130 + "px", t.style.right = gt() + "%" }(), setTimeout(function() { return A() }, 5050) } function D() { function t(t) { H.emit("drawer:close"); var e = document.querySelector('.js-drawer[data-drawer="' + t.id + '"]'), n = w(e, "drawer-right"), r = w(e, "drawer-left"); e.setAttribute("tabindex", 0), b(e, "is-active"), n ? b(f, "drawer-right-is-active") : r && b(f, "drawer-left-is-active"), function(t) { t.forEach(function(t) { t && t.setAttribute("aria-hidden", !0) }) }([f, h]), o(e, "click", c), o(document, "focusin", i) } function e(t) { if (t) { var e = document.querySelector('.js-drawer[data-drawer="' + t.id + '"]'); e.removeAttribute("tabindex"), x(e, "is-active") } else g.forEach(function(t) { t.removeAttribute("tabindex"), x(t, "is-active") }); x(f, "drawer-left-is-active"), x(f, "drawer-right-is-active"), function(t) { t.forEach(function(t) { t && t.removeAttribute("aria-hidden") }) }([f, h]), s(document, "focusin", i), d && d.focus() } function i(t) { n("js-drawer", t.target) || g.forEach(function(t) { w(t, "is-active") && t.focus() }) } function a(t) { t ? o(t.node, "click", u) : p.forEach(function(t) { o(t, "click", u) }) } function c(t) { w(t.target, "js-drawer") && H.emit("drawer:close") } function u(t) { l(t); var e = t.target.getAttribute("data-drawer"); H.emit("drawer:open", { id: e }) } H.off("drawer:open", t), H.off("keyboard:escape", e), H.off("drawer:close", e), H.off("drawer:bind", a); var d, f = document.querySelector(".wrapper"), h = document.querySelector(".site-footer"), p = r(".js-drawer-toggle"), g = r(".js-drawer"); H.on("drawer:open", t), H.on("keyboard:escape", e), H.on("drawer:close", e), H.on("drawer:bind", a), H.emit("drawer:bind") } function L(t) { c(t); var e = n("accordion-section", a(t)); H.emit("accordion:toggle", { node: e }) } function P(t) { ! function(t, e) { w(t, e) ? x(t, e) : b(t, e) }(t.node, "is-active"), function(t) { t && (t.getAttribute("aria-expanded") ? t.removeAttribute("aria-expanded") : t.setAttribute("aria-expanded", "true")) }(t.node) } function N(t) { 13 === t.keyCode && w(a(t), "accordion-title") && L(t) } function j(t) { var e = r(".js-accordion"); t ? _(t.node) : e.forEach(function(t) { _(t) }) } function _(t) { t.setAttribute("aria-live", "polite"), t.setAttribute("role", "tablist"), i(t.children).forEach(function(t) { var e = t.querySelector(".accordion-title"); e.setAttribute("role", "tab"), e.setAttribute("tabindex", "0"), w(t, "is-active") && t.setAttribute("aria-expanded", "true"); var n = !1; $.accordions.forEach(function(t) { t.target === e && "click" === t.event && t.fn === L && (n = !0) }), n || ($.accordions.push({ target: e, event: "click", fn: L }), $.accordions.push({ target: t, event: "keyup", fn: N }), o(e, "click", L), o(t, "keyup", N)) }) } function M() { yt || (H.on("accordion:bind", j), H.on("accordion:toggle", P), yt = !0), H.emit("accordion:bind") } var I = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {}, q = t(function(t) { ! function(e, n) { t.exports = e.document ? n(e, !0) : function(t) { if (!t.document) throw new Error("jQuery requires a window with a document"); return n(t) } }("undefined" != typeof window ? window : I, function(t, e) { function n(t) { var e = !!t && "length" in t && t.length, n = Z.type(t); return "function" !== n && !Z.isWindow(t) && ("array" === n || 0 === e || "number" == typeof e && e > 0 && e - 1 in t) } function i(t, e, n) { if (Z.isFunction(e)) return Z.grep(t, function(t, i) { return !!e.call(t, i, t) !== n }); if (e.nodeType) return Z.grep(t, function(t) { return t === e !== n }); if ("string" == typeof e) { if (ct.test(e)) return Z.filter(e, t, n); e = Z.filter(e, t) } return Z.grep(t, function(t) { return V.call(e, t) > -1 !== n }) } function r(t, e) { for (; (t = t[e]) && 1 !== t.nodeType;); return t } function o() { U.removeEventListener("DOMContentLoaded", o), t.removeEventListener("load", o), Z.ready() } function s() { this.expando = Z.expando + s.uid++ } function a(t, e, n) { var i; if (void 0 === n && 1 === t.nodeType) if (i = "data-" + e.replace(xt, "-$&").toLowerCase(), "string" == typeof(n = t.getAttribute(i))) { try { n = "true" === n || "false" !== n && ("null" === n ? null : +n + "" === n ? +n : bt.test(n) ? Z.parseJSON(n) : n) } catch (t) {} wt.set(t, e, n) } else n = void 0; return n } function l(t, e, n, i) { var r, o = 1, s = 20, a = i ? function() { return i.cur() } : function() { return Z.css(t, e, "") }, l = a(), c = n && n[3] || (Z.cssNumber[e] ? "" : "px"), u = (Z.cssNumber[e] || "px" !== c && +l) && Et.exec(Z.css(t, e)); if (u && u[3] !== c) { c = c || u[3], n = n || [], u = +l || 1; do { u /= o = o || ".5", Z.style(t, e, u + c) } while (o !== (o = a() / l) && 1 !== o && --s) } return n && (u = +u || +l || 0, r = n[1] ? u + (n[1] + 1) * n[2] : +n[2], i && (i.unit = c, i.start = u, i.end = r)), r } function c(t, e) { var n = void 0 !== t.getElementsByTagName ? t.getElementsByTagName(e || "*") : void 0 !== t.querySelectorAll ? t.querySelectorAll(e || "*") : []; return void 0 === e || e && Z.nodeName(t, e) ? Z.merge([t], n) : n } function u(t, e) { for (var n = 0, i = t.length; n < i; n++) yt.set(t[n], "globalEval", !e || yt.get(e[n], "globalEval")) } function d(t, e, n, i, r) { for (var o, s, a, l, d, f, h = e.createDocumentFragment(), p = [], g = 0, v = t.length; g < v; g++) if ((o = t[g]) || 0 === o) if ("object" === Z.type(o)) Z.merge(p, o.nodeType ? [o] : o); else if (Pt.test(o)) { for (s = s || h.appendChild(e.createElement("div")), a = (At.exec(o) || ["", ""])[1].toLowerCase(), l = Lt[a] || Lt._default, s.innerHTML = l[1] + Z.htmlPrefilter(o) + l[2], f = l[0]; f--;) s = s.lastChild; Z.merge(p, s.childNodes), (s = h.firstChild).textContent = "" } else p.push(e.createTextNode(o)); for (h.textContent = "", g = 0; o = p[g++];) if (i && Z.inArray(o, i) > -1) r && r.push(o); else if (d = Z.contains(o.ownerDocument, o), s = c(h.appendChild(o), "script"), d && u(s), n) for (f = 0; o = s[f++];) Dt.test(o.type || "") && n.push(o); return h } function f() { return !0 } function h() { return !1 } function p() { try { return U.activeElement } catch (t) {} } function g(t, e, n, i, r, o) { var s, a; if ("object" == typeof e) { "string" != typeof n && (i = i || n, n = void 0); for (a in e) g(t, a, n, i, e[a], o); return t } if (null == i && null == r ? (r = n, i = n = void 0) : null == r && ("string" == typeof n ? (r = i, i = void 0) : (r = i, i = n, n = void 0)), !1 === r) r = h; else if (!r) return t; return 1 === o && (s = r, (r = function(t) { return Z().off(t), s.apply(this, arguments) }).guid = s.guid || (s.guid = Z.guid++)), t.each(function() { Z.event.add(this, e, r, i, n) }) } function v(t, e) { return Z.nodeName(t, "table") && Z.nodeName(11 !== e.nodeType ? e : e.firstChild, "tr") ? t.getElementsByTagName("tbody")[0] || t.appendChild(t.ownerDocument.createElement("tbody")) : t } function m(t) { return t.type = (null !== t.getAttribute("type")) + "/" + t.type, t } function y(t) { var e = Ft.exec(t.type); return e ? t.type = e[1] : t.removeAttribute("type"), t } function w(t, e) { var n, i, r, o, s, a, l, c; if (1 === e.nodeType) { if (yt.hasData(t) && (o = yt.access(t), s = yt.set(e, o), c = o.events)) { delete s.handle, s.events = {}; for (r in c) for (n = 0, i = c[r].length; n < i; n++) Z.event.add(e, r, c[r][n]) } wt.hasData(t) && (a = wt.access(t), l = Z.extend({}, a), wt.set(e, l)) } } function b(t, e) { var n = e.nodeName.toLowerCase(); "input" === n && kt.test(t.type) ? e.checked = t.checked : "input" !== n && "textarea" !== n || (e.defaultValue = t.defaultValue) } function x(t, e, n, i) { e = G.apply([], e); var r, o, s, a, l, u, f = 0, h = t.length, p = h - 1, g = e[0], v = Z.isFunction(g); if (v || h > 1 && "string" == typeof g && !K.checkClone && qt.test(g)) return t.each(function(r) { var o = t.eq(r); v && (e[0] = g.call(this, r, o.html())), x(o, e, n, i) }); if (h && (r = d(e, t[0].ownerDocument, !1, t, i), o = r.firstChild, 1 === r.childNodes.length && (r = o), o || i)) { for (a = (s = Z.map(c(r, "script"), m)).length; f < h; f++) l = r, f !== p && (l = Z.clone(l, !0, !0), a && Z.merge(s, c(l, "script"))), n.call(t[f], l, f); if (a) for (u = s[s.length - 1].ownerDocument, Z.map(s, y), f = 0; f < a; f++) l = s[f], Dt.test(l.type || "") && !yt.access(l, "globalEval") && Z.contains(u, l) && (l.src ? Z._evalUrl && Z._evalUrl(l.src) : Z.globalEval(l.textContent.replace(Ht, ""))) } return t } function C(t, e, n) { for (var i, r = e ? Z.filter(e, t) : t, o = 0; null != (i = r[o]); o++) n || 1 !== i.nodeType || Z.cleanData(c(i)), i.parentNode && (n && Z.contains(i.ownerDocument, i) && u(c(i, "script")), i.parentNode.removeChild(i)); return t } function E(t, e) { var n = Z(e.createElement(t)).appendTo(e.body), i = Z.css(n[0], "display"); return n.detach(), i } function S(t) { var e = U, n = Rt[t]; return n || ("none" !== (n = E(t, e)) && n || ((e = (Ot = (Ot || Z("")).appendTo(e.documentElement))[0].contentDocument).write(), e.close(), n = E(t, e), Ot.detach()), Rt[t] = n), n } function T(t, e, n) { var i, r, o, s, a = t.style; return n = n || Bt(t), "" !== (s = n ? n.getPropertyValue(e) || n[e] : void 0) && void 0 !== s || Z.contains(t.ownerDocument, t) || (s = Z.style(t, e)), n && !K.pixelMarginRight() && Wt.test(s) && zt.test(e) && (i = a.width, r = a.minWidth, o = a.maxWidth, a.minWidth = a.maxWidth = a.width = s, s = n.width, a.width = i, a.minWidth = r, a.maxWidth = o), void 0 !== s ? s + "" : s } function k(t, e) { return { get: function() { if (!t()) return (this.get = e).apply(this, arguments); delete this.get } } } function A(t) { if (t in Qt) return t; for (var e = t[0].toUpperCase() + t.slice(1), n = Yt.length; n--;) if ((t = Yt[n] + e) in Qt) return t } function D(t, e, n) { var i = Et.exec(e); return i ? Math.max(0, i[2] - (n || 0)) + (i[3] || "px") : e } function L(t, e, n, i, r) { for (var o = n === (i ? "border" : "content") ? 4 : "width" === e ? 1 : 0, s = 0; o < 4; o += 2) "margin" === n && (s += Z.css(t, n + St[o], !0, r)), i ? ("content" === n && (s -= Z.css(t, "padding" + St[o], !0, r)), "margin" !== n && (s -= Z.css(t, "border" + St[o] + "Width", !0, r))) : (s += Z.css(t, "padding" + St[o], !0, r), "padding" !== n && (s += Z.css(t, "border" + St[o] + "Width", !0, r))); return s } function P(t, e, n) { var i = !0, r = "width" === e ? t.offsetWidth : t.offsetHeight, o = Bt(t), s = "border-box" === Z.css(t, "boxSizing", !1, o); if (r <= 0 || null == r) { if (((r = T(t, e, o)) < 0 || null == r) && (r = t.style[e]), Wt.test(r)) return r; i = s && (K.boxSizingReliable() || r === t.style[e]), r = parseFloat(r) || 0 } return r + L(t, e, n || (s ? "border" : "content"), i, o) + "px" } function N(t, e) { for (var n, i, r, o = [], s = 0, a = t.length; s < a; s++)(i = t[s]).style && (o[s] = yt.get(i, "olddisplay"), n = i.style.display, e ? (o[s] || "none" !== n || (i.style.display = ""), "" === i.style.display && Tt(i) && (o[s] = yt.access(i, "olddisplay", S(i.nodeName)))) : (r = Tt(i), "none" === n && r || yt.set(i, "olddisplay", r ? n : Z.css(i, "display")))); for (s = 0; s < a; s++)(i = t[s]).style && (e && "none" !== i.style.display && "" !== i.style.display || (i.style.display = e ? o[s] || "" : "none")); return t } function j(t, e, n, i, r) { return new j.prototype.init(t, e, n, i, r) } function _() { return t.setTimeout(function() { Jt = void 0 }), Jt = Z.now() } function M(t, e) { var n, i = 0, r = { height: t }; for (e = e ? 1 : 0; i < 4; i += 2 - e) r["margin" + (n = St[i])] = r["padding" + n] = t; return e && (r.opacity = r.width = t), r } function I(t, e, n) { for (var i, r = (q.tweeners[e] || []).concat(q.tweeners["*"]), o = 0, s = r.length; o < s; o++) if (i = r[o].call(n, e, t)) return i } function q(t, e, n) { var i, r, o = 0, s = q.prefilters.length, a = Z.Deferred().always(function() { delete l.elem }), l = function() { if (r) return !1; for (var e = Jt || _(), n = Math.max(0, c.startTime + c.duration - e), i = 1 - (n / c.duration || 0), o = 0, s = c.tweens.length; o < s; o++) c.tweens[o].run(i); return a.notifyWith(t, [c, i, n]), i < 1 && s ? n : (a.resolveWith(t, [c]), !1) }, c = a.promise({ elem: t, props: Z.extend({}, e), opts: Z.extend(!0, { specialEasing: {}, easing: Z.easing._default }, n), originalProperties: e, originalOptions: n, startTime: Jt || _(), duration: n.duration, tweens: [], createTween: function(e, n) { var i = Z.Tween(t, c.opts, e, n, c.opts.specialEasing[e] || c.opts.easing); return c.tweens.push(i), i }, stop: function(e) { var n = 0, i = e ? c.tweens.length : 0; if (r) return this; for (r = !0; n < i; n++) c.tweens[n].run(1); return e ? (a.notifyWith(t, [c, 1, 0]), a.resolveWith(t, [c, e])) : a.rejectWith(t, [c, e]), this } }), u = c.props; for (function(t, e) { var n, i, r, o, s; for (n in t) if (i = Z.camelCase(n), r = e[i], o = t[n], Z.isArray(o) && (r = o[1], o = t[n] = o[0]), n !== i && (t[i] = o, delete t[n]), (s = Z.cssHooks[i]) && "expand" in s) { o = s.expand(o), delete t[i]; for (n in o) n in t || (t[n] = o[n], e[n] = r) } else e[i] = r }(u, c.opts.specialEasing); o < s; o++) if (i = q.prefilters[o].call(c, t, u, c.opts)) return Z.isFunction(i.stop) && (Z._queueHooks(c.elem, c.opts.queue).stop = Z.proxy(i.stop, i)), i; return Z.map(u, I, c), Z.isFunction(c.opts.start) && c.opts.start.call(t, c), Z.fx.timer(Z.extend(l, { elem: t, anim: c, queue: c.opts.queue })), c.progress(c.opts.progress).done(c.opts.done, c.opts.complete).fail(c.opts.fail).always(c.opts.always) } function F(t) { return t.getAttribute && t.getAttribute("class") || "" } function H(t) { return function(e, n) { "string" != typeof e && (n = e, e = "*"); var i, r = 0, o = e.toLowerCase().match(pt) || []; if (Z.isFunction(n)) for (; i = o[r++];) "+" === i[0] ? (i = i.slice(1) || "*", (t[i] = t[i] || []).unshift(n)) : (t[i] = t[i] || []).push(n) } } function O(t, e, n, i) { function r(a) { var l; return o[a] = !0, Z.each(t[a] || [], function(t, a) { var c = a(e, n, i); return "string" != typeof c || s || o[c] ? s ? !(l = c) : void 0 : (e.dataTypes.unshift(c), r(c), !1) }), l } var o = {}, s = t === ye; return r(e.dataTypes[0]) || !o["*"] && r("*") } function R(t, e) { var n, i, r = Z.ajaxSettings.flatOptions || {}; for (n in e) void 0 !== e[n] && ((r[n] ? t : i || (i = {}))[n] = e[n]); return i && Z.extend(!0, t, i), t } function z(t, e, n, i) { var r; if (Z.isArray(e)) Z.each(e, function(e, r) { n || Ce.test(t) ? i(t, r) : z(t + "[" + ("object" == typeof r && null != r ? e : "") + "]", r, n, i) }); else if (n || "object" !== Z.type(e)) i(t, e); else for (r in e) z(t + "[" + r + "]", e[r], n, i) } function W(t) { return Z.isWindow(t) ? t : 9 === t.nodeType && t.defaultView } var B = [], U = t.document, $ = B.slice, G = B.concat, X = B.push, V = B.indexOf, Y = {}, Q = Y.toString, J = Y.hasOwnProperty, K = {}, Z = function(t, e) { return new Z.fn.init(t, e) }, tt = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, et = /^-ms-/, nt = /-([\da-z])/gi, it = function(t, e) { return e.toUpperCase() }; Z.fn = Z.prototype = { jquery: "2.2.4", constructor: Z, selector: "", length: 0, toArray: function() { return $.call(this) }, get: function(t) { return null != t ? t < 0 ? this[t + this.length] : this[t] : $.call(this) }, pushStack: function(t) { var e = Z.merge(this.constructor(), t); return e.prevObject = this, e.context = this.context, e }, each: function(t) { return Z.each(this, t) }, map: function(t) { return this.pushStack(Z.map(this, function(e, n) { return t.call(e, n, e) })) }, slice: function() { return this.pushStack($.apply(this, arguments)) }, first: function() { return this.eq(0) }, last: function() { return this.eq(-1) }, eq: function(t) { var e = this.length, n = +t + (t < 0 ? e : 0); return this.pushStack(n >= 0 && n < e ? [this[n]] : []) }, end: function() { return this.prevObject || this.constructor() }, push: X, sort: B.sort, splice: B.splice }, Z.extend = Z.fn.extend = function() { var t, e, n, i, r, o, s = arguments[0] || {}, a = 1, l = arguments.length, c = !1; for ("boolean" == typeof s && (c = s, s = arguments[a] || {}, a++), "object" == typeof s || Z.isFunction(s) || (s = {}), a === l && (s = this, a--); a < l; a++) if (null != (t = arguments[a])) for (e in t) n = s[e], s !== (i = t[e]) && (c && i && (Z.isPlainObject(i) || (r = Z.isArray(i))) ? (r ? (r = !1, o = n && Z.isArray(n) ? n : []) : o = n && Z.isPlainObject(n) ? n : {}, s[e] = Z.extend(c, o, i)) : void 0 !== i && (s[e] = i)); return s }, Z.extend({ expando: "jQuery" + ("2.2.4" + Math.random()).replace(/\D/g, ""), isReady: !0, error: function(t) { throw new Error(t) }, noop: function() {}, isFunction: function(t) { return "function" === Z.type(t) }, isArray: Array.isArray, isWindow: function(t) { return null != t && t === t.window }, isNumeric: function(t) { var e = t && t.toString(); return !Z.isArray(t) && e - parseFloat(e) + 1 >= 0 }, isPlainObject: function(t) { var e; if ("object" !== Z.type(t) || t.nodeType || Z.isWindow(t)) return !1; if (t.constructor && !J.call(t, "constructor") && !J.call(t.constructor.prototype || {}, "isPrototypeOf")) return !1; for (e in t); return void 0 === e || J.call(t, e) }, isEmptyObject: function(t) { var e; for (e in t) return !1; return !0 }, type: function(t) { return null == t ? t + "" : "object" == typeof t || "function" == typeof t ? Y[Q.call(t)] || "object" : typeof t }, globalEval: function(t) { var e, n = eval; (t = Z.trim(t)) && (1 === t.indexOf("use strict") ? ((e = U.createElement("script")).text = t, U.head.appendChild(e).parentNode.removeChild(e)) : n(t)) }, camelCase: function(t) { return t.replace(et, "ms-").replace(nt, it) }, nodeName: function(t, e) { return t.nodeName && t.nodeName.toLowerCase() === e.toLowerCase() }, each: function(t, e) { var i, r = 0; if (n(t)) for (i = t.length; r < i && !1 !== e.call(t[r], r, t[r]); r++); else for (r in t) if (!1 === e.call(t[r], r, t[r])) break; return t }, trim: function(t) { return null == t ? "" : (t + "").replace(tt, "") }, makeArray: function(t, e) { var i = e || []; return null != t && (n(Object(t)) ? Z.merge(i, "string" == typeof t ? [t] : t) : X.call(i, t)), i }, inArray: function(t, e, n) { return null == e ? -1 : V.call(e, t, n) }, merge: function(t, e) { for (var n = +e.length, i = 0, r = t.length; i < n; i++) t[r++] = e[i]; return t.length = r, t }, grep: function(t, e, n) { for (var i = [], r = 0, o = t.length, s = !n; r < o; r++) !e(t[r], r) !== s && i.push(t[r]); return i }, map: function(t, e, i) { var r, o, s = 0, a = []; if (n(t)) for (r = t.length; s < r; s++) null != (o = e(t[s], s, i)) && a.push(o); else for (s in t) null != (o = e(t[s], s, i)) && a.push(o); return G.apply([], a) }, guid: 1, proxy: function(t, e) { var n, i, r; if ("string" == typeof e && (n = t[e], e = t, t = n), Z.isFunction(t)) return i = $.call(arguments, 2), r = function() { return t.apply(e || this, i.concat($.call(arguments))) }, r.guid = t.guid = t.guid || Z.guid++, r }, now: Date.now, support: K }), "function" == typeof Symbol && (Z.fn[Symbol.iterator] = B[Symbol.iterator]), Z.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function(t, e) { Y["[object " + e + "]"] = e.toLowerCase() }); var rt = function(t) { function e(t, e, n, i) { var r, o, s, a, l, c, d, h, p = e && e.ownerDocument, g = e ? e.nodeType : 9; if (n = n || [], "string" != typeof t || !t || 1 !== g && 9 !== g && 11 !== g) return n; if (!i && ((e ? e.ownerDocument || e : H) !== P && L(e), e = e || P, j)) { if (11 !== g && (c = gt.exec(t))) if (r = c[1]) { if (9 === g) { if (!(s = e.getElementById(r))) return n; if (s.id === r) return n.push(s), n } else if (p && (s = p.getElementById(r)) && q(e, s) && s.id === r) return n.push(s), n } else { if (c[2]) return Q.apply(n, e.getElementsByTagName(t)), n; if ((r = c[3]) && w.getElementsByClassName && e.getElementsByClassName) return Q.apply(n, e.getElementsByClassName(r)), n } if (w.qsa && !B[t + " "] && (!_ || !_.test(t))) { if (1 !== g) p = e, h = t; else if ("object" !== e.nodeName.toLowerCase()) { for ((a = e.getAttribute("id")) ? a = a.replace(mt, "\\$&") : e.setAttribute("id", a = F), o = (d = E(t)).length, l = ut.test(a) ? "#" + a : "[id='" + a + "']"; o--;) d[o] = l + " " + f(d[o]); h = d.join(","), p = vt.test(t) && u(e.parentNode) || e } if (h) try { return Q.apply(n, p.querySelectorAll(h)), n } catch (t) {} finally { a === F && e.removeAttribute("id") } } } return T(t.replace(ot, "$1"), e, n, i) } function n() { function t(n, i) { return e.push(n + " ") > b.cacheLength && delete t[e.shift()], t[n + " "] = i } var e = []; return t } function i(t) { return t[F] = !0, t } function r(t) { var e = P.createElement("div"); try { return !!t(e) } catch (t) { return !1 } finally { e.parentNode && e.parentNode.removeChild(e), e = null } } function o(t, e) { for (var n = t.split("|"), i = n.length; i--;) b.attrHandle[n[i]] = e } function s(t, e) { var n = e && t, i = n && 1 === t.nodeType && 1 === e.nodeType && (~e.sourceIndex || $) - (~t.sourceIndex || $); if (i) return i; if (n) for (; n = n.nextSibling;) if (n === e) return -1; return t ? 1 : -1 } function a(t) { return function(e) { return "input" === e.nodeName.toLowerCase() && e.type === t } } function l(t) { return function(e) { var n = e.nodeName.toLowerCase(); return ("input" === n || "button" === n) && e.type === t } } function c(t) { return i(function(e) { return e = +e, i(function(n, i) { for (var r, o = t([], n.length, e), s = o.length; s--;) n[r = o[s]] && (n[r] = !(i[r] = n[r])) }) }) } function u(t) { return t && void 0 !== t.getElementsByTagName && t } function d() {} function f(t) { for (var e = 0, n = t.length, i = ""; e < n; e++) i += t[e].value; return i } function h(t, e, n) { var i = e.dir, r = n && "parentNode" === i, o = R++; return e.first ? function(e, n, o) { for (; e = e[i];) if (1 === e.nodeType || r) return t(e, n, o) } : function(e, n, s) { var a, l, c, u = [O, o]; if (s) { for (; e = e[i];) if ((1 === e.nodeType || r) && t(e, n, s)) return !0 } else for (; e = e[i];) if (1 === e.nodeType || r) { if (c = e[F] || (e[F] = {}), l = c[e.uniqueID] || (c[e.uniqueID] = {}), (a = l[i]) && a[0] === O && a[1] === o) return u[2] = a[2]; if (l[i] = u, u[2] = t(e, n, s)) return !0 } } } function p(t) { return t.length > 1 ? function(e, n, i) { for (var r = t.length; r--;) if (!t[r](e, n, i)) return !1; return !0 } : t[0] } function g(t, e, n, i, r) { for (var o, s = [], a = 0, l = t.length, c = null != e; a < l; a++)(o = t[a]) && (n && !n(o, i, r) || (s.push(o), c && e.push(a))); return s } function v(t, n, r, o, s, a) { return o && !o[F] && (o = v(o)), s && !s[F] && (s = v(s, a)), i(function(i, a, l, c) { var u, d, f, h = [], p = [], v = a.length, m = i || function(t, n, i) { for (var r = 0, o = n.length; r < o; r++) e(t, n[r], i); return i }(n || "*", l.nodeType ? [l] : l, []), y = !t || !i && n ? m : g(m, h, t, l, c), w = r ? s || (i ? t : v || o) ? [] : a : y; if (r && r(y, w, l, c), o) for (u = g(w, p), o(u, [], l, c), d = u.length; d--;)(f = u[d]) && (w[p[d]] = !(y[p[d]] = f)); if (i) { if (s || t) { if (s) { for (u = [], d = w.length; d--;)(f = w[d]) && u.push(y[d] = f); s(null, w = [], u, c) } for (d = w.length; d--;)(f = w[d]) && (u = s ? K(i, f) : h[d]) > -1 && (i[u] = !(a[u] = f)) } } else w = g(w === a ? w.splice(v, w.length) : w), s ? s(null, a, w, c) : Q.apply(a, w) }) } function m(t) { for (var e, n, i, r = t.length, o = b.relative[t[0].type], s = o || b.relative[" "], a = o ? 1 : 0, l = h(function(t) { return t === e }, s, !0), c = h(function(t) { return K(e, t) > -1 }, s, !0), u = [function(t, n, i) { var r = !o && (i || n !== k) || ((e = n).nodeType ? l(t, n, i) : c(t, n, i)); return e = null, r }]; a < r; a++) if (n = b.relative[t[a].type]) u = [h(p(u), n)]; else { if ((n = b.filter[t[a].type].apply(null, t[a].matches))[F]) { for (i = ++a; i < r && !b.relative[t[i].type]; i++); return v(a > 1 && p(u), a > 1 && f(t.slice(0, a - 1).concat({ value: " " === t[a - 2].type ? "*" : "" })).replace(ot, "$1"), n, a < i && m(t.slice(a, i)), i < r && m(t = t.slice(i)), i < r && f(t)) } u.push(n) } return p(u) } var y, w, b, x, C, E, S, T, k, A, D, L, P, N, j, _, M, I, q, F = "sizzle" + 1 * new Date, H = t.document, O = 0, R = 0, z = n(), W = n(), B = n(), U = function(t, e) { return t === e && (D = !0), 0 }, $ = 1 << 31, G = {}.hasOwnProperty, X = [], V = X.pop, Y = X.push, Q = X.push, J = X.slice, K = function(t, e) { for (var n = 0, i = t.length; n < i; n++) if (t[n] === e) return n; return -1 }, Z = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", tt = "[\\x20\\t\\r\\n\\f]", et = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", nt = "\\[" + tt + "*(" + et + ")(?:" + tt + "*([*^$|!~]?=)" + tt + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + et + "))|)" + tt + "*\\]", it = ":(" + et + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + nt + ")*)|.*)\\)|)", rt = new RegExp(tt + "+", "g"), ot = new RegExp("^" + tt + "+|((?:^|[^\\\\])(?:\\\\.)*)" + tt + "+$", "g"), st = new RegExp("^" + tt + "*," + tt + "*"), at = new RegExp("^" + tt + "*([>+~]|" + tt + ")" + tt + "*"), lt = new RegExp("=" + tt + "*([^\\]'\"]*?)" + tt + "*\\]", "g"), ct = new RegExp(it), ut = new RegExp("^" + et + "$"), dt = { ID: new RegExp("^#(" + et + ")"), CLASS: new RegExp("^\\.(" + et + ")"), TAG: new RegExp("^(" + et + "|[*])"), ATTR: new RegExp("^" + nt), PSEUDO: new RegExp("^" + it), CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + tt + "*(even|odd|(([+-]|)(\\d*)n|)" + tt + "*(?:([+-]|)" + tt + "*(\\d+)|))" + tt + "*\\)|)", "i"), bool: new RegExp("^(?:" + Z + ")$", "i"), needsContext: new RegExp("^" + tt + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + tt + "*((?:-\\d)?\\d*)" + tt + "*\\)|)(?=[^-]|$)", "i") }, ft = /^(?:input|select|textarea|button)$/i, ht = /^h\d$/i, pt = /^[^{]+\{\s*\[native \w/, gt = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, vt = /[+~]/, mt = /'|\\/g, yt = new RegExp("\\\\([\\da-f]{1,6}" + tt + "?|(" + tt + ")|.)", "ig"), wt = function(t, e, n) { var i = "0x" + e - 65536; return i != i || n ? e : i < 0 ? String.fromCharCode(i + 65536) : String.fromCharCode(i >> 10 | 55296, 1023 & i | 56320) }, bt = function() { L() }; try { Q.apply(X = J.call(H.childNodes), H.childNodes), X[H.childNodes.length].nodeType } catch (t) { Q = { apply: X.length ? function(t, e) { Y.apply(t, J.call(e)) } : function(t, e) { for (var n = t.length, i = 0; t[n++] = e[i++];); t.length = n - 1 } } } w = e.support = {}, C = e.isXML = function(t) { var e = t && (t.ownerDocument || t).documentElement; return !!e && "HTML" !== e.nodeName }, L = e.setDocument = function(t) { var e, n, i = t ? t.ownerDocument || t : H; return i !== P && 9 === i.nodeType && i.documentElement ? (P = i, N = P.documentElement, j = !C(P), (n = P.defaultView) && n.top !== n && (n.addEventListener ? n.addEventListener("unload", bt, !1) : n.attachEvent && n.attachEvent("onunload", bt)), w.attributes = r(function(t) { return t.className = "i", !t.getAttribute("className") }), w.getElementsByTagName = r(function(t) { return t.appendChild(P.createComment("")), !t.getElementsByTagName("*").length }), w.getElementsByClassName = pt.test(P.getElementsByClassName), w.getById = r(function(t) { return N.appendChild(t).id = F, !P.getElementsByName || !P.getElementsByName(F).length }), w.getById ? (b.find.ID = function(t, e) { if (void 0 !== e.getElementById && j) { var n = e.getElementById(t); return n ? [n] : [] } }, b.filter.ID = function(t) { var e = t.replace(yt, wt); return function(t) { return t.getAttribute("id") === e } }) : (delete b.find.ID, b.filter.ID = function(t) { var e = t.replace(yt, wt); return function(t) { var n = void 0 !== t.getAttributeNode && t.getAttributeNode("id"); return n && n.value === e } }), b.find.TAG = w.getElementsByTagName ? function(t, e) { return void 0 !== e.getElementsByTagName ? e.getElementsByTagName(t) : w.qsa ? e.querySelectorAll(t) : void 0 } : function(t, e) { var n, i = [], r = 0, o = e.getElementsByTagName(t); if ("*" === t) { for (; n = o[r++];) 1 === n.nodeType && i.push(n); return i } return o }, b.find.CLASS = w.getElementsByClassName && function(t, e) { if (void 0 !== e.getElementsByClassName && j) return e.getElementsByClassName(t) }, M = [], _ = [], (w.qsa = pt.test(P.querySelectorAll)) && (r(function(t) { N.appendChild(t).innerHTML = "", t.querySelectorAll("[msallowcapture^='']").length && _.push("[*^$]=" + tt + "*(?:''|\"\")"), t.querySelectorAll("[selected]").length || _.push("\\[" + tt + "*(?:value|" + Z + ")"), t.querySelectorAll("[id~=" + F + "-]").length || _.push("~="), t.querySelectorAll(":checked").length || _.push(":checked"), t.querySelectorAll("a#" + F + "+*").length || _.push(".#.+[+~]") }), r(function(t) { var e = P.createElement("input"); e.setAttribute("type", "hidden"), t.appendChild(e).setAttribute("name", "D"), t.querySelectorAll("[name=d]").length && _.push("name" + tt + "*[*^$|!~]?="), t.querySelectorAll(":enabled").length || _.push(":enabled", ":disabled"), t.querySelectorAll("*,:x"), _.push(",.*:") })), (w.matchesSelector = pt.test(I = N.matches || N.webkitMatchesSelector || N.mozMatchesSelector || N.oMatchesSelector || N.msMatchesSelector)) && r(function(t) { w.disconnectedMatch = I.call(t, "div"), I.call(t, "[s!='']:x"), M.push("!=", it) }), _ = _.length && new RegExp(_.join("|")), M = M.length && new RegExp(M.join("|")), e = pt.test(N.compareDocumentPosition), q = e || pt.test(N.contains) ? function(t, e) { var n = 9 === t.nodeType ? t.documentElement : t, i = e && e.parentNode; return t === i || !(!i || 1 !== i.nodeType || !(n.contains ? n.contains(i) : t.compareDocumentPosition && 16 & t.compareDocumentPosition(i))) } : function(t, e) { if (e) for (; e = e.parentNode;) if (e === t) return !0; return !1 }, U = e ? function(t, e) { if (t === e) return D = !0, 0; var n = !t.compareDocumentPosition - !e.compareDocumentPosition; return n || (1 & (n = (t.ownerDocument || t) === (e.ownerDocument || e) ? t.compareDocumentPosition(e) : 1) || !w.sortDetached && e.compareDocumentPosition(t) === n ? t === P || t.ownerDocument === H && q(H, t) ? -1 : e === P || e.ownerDocument === H && q(H, e) ? 1 : A ? K(A, t) - K(A, e) : 0 : 4 & n ? -1 : 1) } : function(t, e) { if (t === e) return D = !0, 0; var n, i = 0, r = t.parentNode, o = e.parentNode, a = [t], l = [e]; if (!r || !o) return t === P ? -1 : e === P ? 1 : r ? -1 : o ? 1 : A ? K(A, t) - K(A, e) : 0; if (r === o) return s(t, e); for (n = t; n = n.parentNode;) a.unshift(n); for (n = e; n = n.parentNode;) l.unshift(n); for (; a[i] === l[i];) i++; return i ? s(a[i], l[i]) : a[i] === H ? -1 : l[i] === H ? 1 : 0 }, P) : P }, e.matches = function(t, n) { return e(t, null, null, n) }, e.matchesSelector = function(t, n) { if ((t.ownerDocument || t) !== P && L(t), n = n.replace(lt, "='$1']"), w.matchesSelector && j && !B[n + " "] && (!M || !M.test(n)) && (!_ || !_.test(n))) try { var i = I.call(t, n); if (i || w.disconnectedMatch || t.document && 11 !== t.document.nodeType) return i } catch (t) {} return e(n, P, null, [t]).length > 0 }, e.contains = function(t, e) { return (t.ownerDocument || t) !== P && L(t), q(t, e) }, e.attr = function(t, e) { (t.ownerDocument || t) !== P && L(t); var n = b.attrHandle[e.toLowerCase()], i = n && G.call(b.attrHandle, e.toLowerCase()) ? n(t, e, !j) : void 0; return void 0 !== i ? i : w.attributes || !j ? t.getAttribute(e) : (i = t.getAttributeNode(e)) && i.specified ? i.value : null }, e.error = function(t) { throw new Error("Syntax error, unrecognized expression: " + t) }, e.uniqueSort = function(t) { var e, n = [], i = 0, r = 0; if (D = !w.detectDuplicates, A = !w.sortStable && t.slice(0), t.sort(U), D) { for (; e = t[r++];) e === t[r] && (i = n.push(r)); for (; i--;) t.splice(n[i], 1) } return A = null, t }, x = e.getText = function(t) { var e, n = "", i = 0, r = t.nodeType; if (r) { if (1 === r || 9 === r || 11 === r) { if ("string" == typeof t.textContent) return t.textContent; for (t = t.firstChild; t; t = t.nextSibling) n += x(t) } else if (3 === r || 4 === r) return t.nodeValue } else for (; e = t[i++];) n += x(e); return n }, (b = e.selectors = { cacheLength: 50, createPseudo: i, match: dt, attrHandle: {}, find: {}, relative: { ">": { dir: "parentNode", first: !0 }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: !0 }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function(t) { return t[1] = t[1].replace(yt, wt), t[3] = (t[3] || t[4] || t[5] || "").replace(yt, wt), "~=" === t[2] && (t[3] = " " + t[3] + " "), t.slice(0, 4) }, CHILD: function(t) { return t[1] = t[1].toLowerCase(), "nth" === t[1].slice(0, 3) ? (t[3] || e.error(t[0]), t[4] = +(t[4] ? t[5] + (t[6] || 1) : 2 * ("even" === t[3] || "odd" === t[3])), t[5] = +(t[7] + t[8] || "odd" === t[3])) : t[3] && e.error(t[0]), t }, PSEUDO: function(t) { var e, n = !t[6] && t[2]; return dt.CHILD.test(t[0]) ? null : (t[3] ? t[2] = t[4] || t[5] || "" : n && ct.test(n) && (e = E(n, !0)) && (e = n.indexOf(")", n.length - e) - n.length) && (t[0] = t[0].slice(0, e), t[2] = n.slice(0, e)), t.slice(0, 3)) } }, filter: { TAG: function(t) { var e = t.replace(yt, wt).toLowerCase(); return "*" === t ? function() { return !0 } : function(t) { return t.nodeName && t.nodeName.toLowerCase() === e } }, CLASS: function(t) { var e = z[t + " "]; return e || (e = new RegExp("(^|" + tt + ")" + t + "(" + tt + "|$)")) && z(t, function(t) { return e.test("string" == typeof t.className && t.className || void 0 !== t.getAttribute && t.getAttribute("class") || "") }) }, ATTR: function(t, n, i) { return function(r) { var o = e.attr(r, t); return null == o ? "!=" === n : !n || (o += "", "=" === n ? o === i : "!=" === n ? o !== i : "^=" === n ? i && 0 === o.indexOf(i) : "*=" === n ? i && o.indexOf(i) > -1 : "$=" === n ? i && o.slice(-i.length) === i : "~=" === n ? (" " + o.replace(rt, " ") + " ").indexOf(i) > -1 : "|=" === n && (o === i || o.slice(0, i.length + 1) === i + "-")) } }, CHILD: function(t, e, n, i, r) { var o = "nth" !== t.slice(0, 3), s = "last" !== t.slice(-4), a = "of-type" === e; return 1 === i && 0 === r ? function(t) { return !!t.parentNode } : function(e, n, l) { var c, u, d, f, h, p, g = o !== s ? "nextSibling" : "previousSibling", v = e.parentNode, m = a && e.nodeName.toLowerCase(), y = !l && !a, w = !1; if (v) { if (o) { for (; g;) { for (f = e; f = f[g];) if (a ? f.nodeName.toLowerCase() === m : 1 === f.nodeType) return !1; p = g = "only" === t && !p && "nextSibling" } return !0 } if (p = [s ? v.firstChild : v.lastChild], s && y) { for (w = (h = (c = (u = (d = (f = v)[F] || (f[F] = {}))[f.uniqueID] || (d[f.uniqueID] = {}))[t] || [])[0] === O && c[1]) && c[2], f = h && v.childNodes[h]; f = ++h && f && f[g] || (w = h = 0) || p.pop();) if (1 === f.nodeType && ++w && f === e) { u[t] = [O, h, w]; break } } else if (y && (w = h = (c = (u = (d = (f = e)[F] || (f[F] = {}))[f.uniqueID] || (d[f.uniqueID] = {}))[t] || [])[0] === O && c[1]), !1 === w) for (; (f = ++h && f && f[g] || (w = h = 0) || p.pop()) && ((a ? f.nodeName.toLowerCase() !== m : 1 !== f.nodeType) || !++w || (y && ((u = (d = f[F] || (f[F] = {}))[f.uniqueID] || (d[f.uniqueID] = {}))[t] = [O, w]), f !== e));); return (w -= r) === i || w % i == 0 && w / i >= 0 } } }, PSEUDO: function(t, n) { var r, o = b.pseudos[t] || b.setFilters[t.toLowerCase()] || e.error("unsupported pseudo: " + t); return o[F] ? o(n) : o.length > 1 ? (r = [t, t, "", n], b.setFilters.hasOwnProperty(t.toLowerCase()) ? i(function(t, e) { for (var i, r = o(t, n), s = r.length; s--;) t[i = K(t, r[s])] = !(e[i] = r[s]) }) : function(t) { return o(t, 0, r) }) : o } }, pseudos: { not: i(function(t) { var e = [], n = [], r = S(t.replace(ot, "$1")); return r[F] ? i(function(t, e, n, i) { for (var o, s = r(t, null, i, []), a = t.length; a--;)(o = s[a]) && (t[a] = !(e[a] = o)) }) : function(t, i, o) { return e[0] = t, r(e, null, o, n), e[0] = null, !n.pop() } }), has: i(function(t) { return function(n) { return e(t, n).length > 0 } }), contains: i(function(t) { return t = t.replace(yt, wt), function(e) { return (e.textContent || e.innerText || x(e)).indexOf(t) > -1 } }), lang: i(function(t) { return ut.test(t || "") || e.error("unsupported lang: " + t), t = t.replace(yt, wt).toLowerCase(), function(e) { var n; do { if (n = j ? e.lang : e.getAttribute("xml:lang") || e.getAttribute("lang")) return (n = n.toLowerCase()) === t || 0 === n.indexOf(t + "-") } while ((e = e.parentNode) && 1 === e.nodeType); return !1 } }), target: function(e) { var n = t.location && t.location.hash; return n && n.slice(1) === e.id }, root: function(t) { return t === N }, focus: function(t) { return t === P.activeElement && (!P.hasFocus || P.hasFocus()) && !!(t.type || t.href || ~t.tabIndex) }, enabled: function(t) { return !1 === t.disabled }, disabled: function(t) { return !0 === t.disabled }, checked: function(t) { var e = t.nodeName.toLowerCase(); return "input" === e && !!t.checked || "option" === e && !!t.selected }, selected: function(t) { return t.parentNode && t.parentNode.selectedIndex, !0 === t.selected }, empty: function(t) { for (t = t.firstChild; t; t = t.nextSibling) if (t.nodeType < 6) return !1; return !0 }, parent: function(t) { return !b.pseudos.empty(t) }, header: function(t) { return ht.test(t.nodeName) }, input: function(t) { return ft.test(t.nodeName) }, button: function(t) { var e = t.nodeName.toLowerCase(); return "input" === e && "button" === t.type || "button" === e }, text: function(t) { var e; return "input" === t.nodeName.toLowerCase() && "text" === t.type && (null == (e = t.getAttribute("type")) || "text" === e.toLowerCase()) }, first: c(function() { return [0] }), last: c(function(t, e) { return [e - 1] }), eq: c(function(t, e, n) { return [n < 0 ? n + e : n] }), even: c(function(t, e) { for (var n = 0; n < e; n += 2) t.push(n); return t }), odd: c(function(t, e) { for (var n = 1; n < e; n += 2) t.push(n); return t }), lt: c(function(t, e, n) { for (var i = n < 0 ? n + e : n; --i >= 0;) t.push(i); return t }), gt: c(function(t, e, n) { for (var i = n < 0 ? n + e : n; ++i < e;) t.push(i); return t }) } }).pseudos.nth = b.pseudos.eq; for (y in { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }) b.pseudos[y] = a(y); for (y in { submit: !0, reset: !0 }) b.pseudos[y] = l(y); return d.prototype = b.filters = b.pseudos, b.setFilters = new d, E = e.tokenize = function(t, n) { var i, r, o, s, a, l, c, u = W[t + " "]; if (u) return n ? 0 : u.slice(0); for (a = t, l = [], c = b.preFilter; a;) { i && !(r = st.exec(a)) || (r && (a = a.slice(r[0].length) || a), l.push(o = [])), i = !1, (r = at.exec(a)) && (i = r.shift(), o.push({ value: i, type: r[0].replace(ot, " ") }), a = a.slice(i.length)); for (s in b.filter) !(r = dt[s].exec(a)) || c[s] && !(r = c[s](r)) || (i = r.shift(), o.push({ value: i, type: s, matches: r }), a = a.slice(i.length)); if (!i) break } return n ? a.length : a ? e.error(t) : W(t, l).slice(0) }, S = e.compile = function(t, n) { var r, o = [], s = [], a = B[t + " "]; if (!a) { for (n || (n = E(t)), r = n.length; r--;)(a = m(n[r]))[F] ? o.push(a) : s.push(a); (a = B(t, function(t, n) { var r = n.length > 0, o = t.length > 0, s = function(i, s, a, l, c) { var u, d, f, h = 0, p = "0", v = i && [], m = [], y = k, w = i || o && b.find.TAG("*", c), x = O += null == y ? 1 : Math.random() || .1, C = w.length; for (c && (k = s === P || s || c); p !== C && null != (u = w[p]); p++) { if (o && u) { for (d = 0, s || u.ownerDocument === P || (L(u), a = !j); f = t[d++];) if (f(u, s || P, a)) { l.push(u); break } c && (O = x) } r && ((u = !f && u) && h--, i && v.push(u)) } if (h += p, r && p !== h) { for (d = 0; f = n[d++];) f(v, m, s, a); if (i) { if (h > 0) for (; p--;) v[p] || m[p] || (m[p] = V.call(l)); m = g(m) } Q.apply(l, m), c && !i && m.length > 0 && h + n.length > 1 && e.uniqueSort(l) } return c && (O = x, k = y), v }; return r ? i(s) : s }(s, o))).selector = t } return a }, T = e.select = function(t, e, n, i) { var r, o, s, a, l, c = "function" == typeof t && t, d = !i && E(t = c.selector || t); if (n = n || [], 1 === d.length) { if ((o = d[0] = d[0].slice(0)).length > 2 && "ID" === (s = o[0]).type && w.getById && 9 === e.nodeType && j && b.relative[o[1].type]) { if (!(e = (b.find.ID(s.matches[0].replace(yt, wt), e) || [])[0])) return n; c && (e = e.parentNode), t = t.slice(o.shift().value.length) } for (r = dt.needsContext.test(t) ? 0 : o.length; r-- && (s = o[r], !b.relative[a = s.type]);) if ((l = b.find[a]) && (i = l(s.matches[0].replace(yt, wt), vt.test(o[0].type) && u(e.parentNode) || e))) { if (o.splice(r, 1), !(t = i.length && f(o))) return Q.apply(n, i), n; break } } return (c || S(t, d))(i, e, !j, n, !e || vt.test(t) && u(e.parentNode) || e), n }, w.sortStable = F.split("").sort(U).join("") === F, w.detectDuplicates = !!D, L(), w.sortDetached = r(function(t) { return 1 & t.compareDocumentPosition(P.createElement("div")) }), r(function(t) { return t.innerHTML = "", "#" === t.firstChild.getAttribute("href") }) || o("type|href|height|width", function(t, e, n) { if (!n) return t.getAttribute(e, "type" === e.toLowerCase() ? 1 : 2) }), w.attributes && r(function(t) { return t.innerHTML = "", t.firstChild.setAttribute("value", ""), "" === t.firstChild.getAttribute("value") }) || o("value", function(t, e, n) { if (!n && "input" === t.nodeName.toLowerCase()) return t.defaultValue }), r(function(t) { return null == t.getAttribute("disabled") }) || o(Z, function(t, e, n) { var i; if (!n) return !0 === t[e] ? e.toLowerCase() : (i = t.getAttributeNode(e)) && i.specified ? i.value : null }), e }(t); Z.find = rt, Z.expr = rt.selectors, Z.expr[":"] = Z.expr.pseudos, Z.uniqueSort = Z.unique = rt.uniqueSort, Z.text = rt.getText, Z.isXMLDoc = rt.isXML, Z.contains = rt.contains; var ot = function(t, e, n) { for (var i = [], r = void 0 !== n; (t = t[e]) && 9 !== t.nodeType;) if (1 === t.nodeType) { if (r && Z(t).is(n)) break; i.push(t) } return i }, st = function(t, e) { for (var n = []; t; t = t.nextSibling) 1 === t.nodeType && t !== e && n.push(t); return n }, at = Z.expr.match.needsContext, lt = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/, ct = /^.[^:#\[\.,]*$/; Z.filter = function(t, e, n) { var i = e[0]; return n && (t = ":not(" + t + ")"), 1 === e.length && 1 === i.nodeType ? Z.find.matchesSelector(i, t) ? [i] : [] : Z.find.matches(t, Z.grep(e, function(t) { return 1 === t.nodeType })) }, Z.fn.extend({ find: function(t) { var e, n = this.length, i = [], r = this; if ("string" != typeof t) return this.pushStack(Z(t).filter(function() { for (e = 0; e < n; e++) if (Z.contains(r[e], this)) return !0 })); for (e = 0; e < n; e++) Z.find(t, r[e], i); return i = this.pushStack(n > 1 ? Z.unique(i) : i), i.selector = this.selector ? this.selector + " " + t : t, i }, filter: function(t) { return this.pushStack(i(this, t || [], !1)) }, not: function(t) { return this.pushStack(i(this, t || [], !0)) }, is: function(t) { return !!i(this, "string" == typeof t && at.test(t) ? Z(t) : t || [], !1).length } }); var ut, dt = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/; (Z.fn.init = function(t, e, n) { var i, r; if (!t) return this; if (n = n || ut, "string" == typeof t) { if (!(i = "<" === t[0] && ">" === t[t.length - 1] && t.length >= 3 ? [null, t, null] : dt.exec(t)) || !i[1] && e) return !e || e.jquery ? (e || n).find(t) : this.constructor(e).find(t); if (i[1]) { if (e = e instanceof Z ? e[0] : e, Z.merge(this, Z.parseHTML(i[1], e && e.nodeType ? e.ownerDocument || e : U, !0)), lt.test(i[1]) && Z.isPlainObject(e)) for (i in e) Z.isFunction(this[i]) ? this[i](e[i]) : this.attr(i, e[i]); return this } return (r = U.getElementById(i[2])) && r.parentNode && (this.length = 1, this[0] = r), this.context = U, this.selector = t, this } return t.nodeType ? (this.context = this[0] = t, this.length = 1, this) : Z.isFunction(t) ? void 0 !== n.ready ? n.ready(t) : t(Z) : (void 0 !== t.selector && (this.selector = t.selector, this.context = t.context), Z.makeArray(t, this)) }).prototype = Z.fn, ut = Z(U); var ft = /^(?:parents|prev(?:Until|All))/, ht = { children: !0, contents: !0, next: !0, prev: !0 }; Z.fn.extend({ has: function(t) { var e = Z(t, this), n = e.length; return this.filter(function() { for (var t = 0; t < n; t++) if (Z.contains(this, e[t])) return !0 }) }, closest: function(t, e) { for (var n, i = 0, r = this.length, o = [], s = at.test(t) || "string" != typeof t ? Z(t, e || this.context) : 0; i < r; i++) for (n = this[i]; n && n !== e; n = n.parentNode) if (n.nodeType < 11 && (s ? s.index(n) > -1 : 1 === n.nodeType && Z.find.matchesSelector(n, t))) { o.push(n); break } return this.pushStack(o.length > 1 ? Z.uniqueSort(o) : o) }, index: function(t) { return t ? "string" == typeof t ? V.call(Z(t), this[0]) : V.call(this, t.jquery ? t[0] : t) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 }, add: function(t, e) { return this.pushStack(Z.uniqueSort(Z.merge(this.get(), Z(t, e)))) }, addBack: function(t) { return this.add(null == t ? this.prevObject : this.prevObject.filter(t)) } }), Z.each({ parent: function(t) { var e = t.parentNode; return e && 11 !== e.nodeType ? e : null }, parents: function(t) { return ot(t, "parentNode") }, parentsUntil: function(t, e, n) { return ot(t, "parentNode", n) }, next: function(t) { return r(t, "nextSibling") }, prev: function(t) { return r(t, "previousSibling") }, nextAll: function(t) { return ot(t, "nextSibling") }, prevAll: function(t) { return ot(t, "previousSibling") }, nextUntil: function(t, e, n) { return ot(t, "nextSibling", n) }, prevUntil: function(t, e, n) { return ot(t, "previousSibling", n) }, siblings: function(t) { return st((t.parentNode || {}).firstChild, t) }, children: function(t) { return st(t.firstChild) }, contents: function(t) { return t.contentDocument || Z.merge([], t.childNodes) } }, function(t, e) { Z.fn[t] = function(n, i) { var r = Z.map(this, e, n); return "Until" !== t.slice(-5) && (i = n), i && "string" == typeof i && (r = Z.filter(i, r)), this.length > 1 && (ht[t] || Z.uniqueSort(r), ft.test(t) && r.reverse()), this.pushStack(r) } }); var pt = /\S+/g; Z.Callbacks = function(t) { t = "string" == typeof t ? function(t) { var e = {}; return Z.each(t.match(pt) || [], function(t, n) { e[n] = !0 }), e }(t) : Z.extend({}, t); var e, n, i, r, o = [], s = [], a = -1, l = function() { for (r = t.once, i = e = !0; s.length; a = -1) for (n = s.shift(); ++a < o.length;) !1 === o[a].apply(n[0], n[1]) && t.stopOnFalse && (a = o.length, n = !1); t.memory || (n = !1), e = !1, r && (o = n ? [] : "") }, c = { add: function() { return o && (n && !e && (a = o.length - 1, s.push(n)), function e(n) { Z.each(n, function(n, i) { Z.isFunction(i) ? t.unique && c.has(i) || o.push(i) : i && i.length && "string" !== Z.type(i) && e(i) }) }(arguments), n && !e && l()), this }, remove: function() { return Z.each(arguments, function(t, e) { for (var n; (n = Z.inArray(e, o, n)) > -1;) o.splice(n, 1), n <= a && a-- }), this }, has: function(t) { return t ? Z.inArray(t, o) > -1 : o.length > 0 }, empty: function() { return o && (o = []), this }, disable: function() { return r = s = [], o = n = "", this }, disabled: function() { return !o }, lock: function() { return r = s = [], n || (o = n = ""), this }, locked: function() { return !!r }, fireWith: function(t, n) { return r || (n = [t, (n = n || []).slice ? n.slice() : n], s.push(n), e || l()), this }, fire: function() { return c.fireWith(this, arguments), this }, fired: function() { return !!i } }; return c }, Z.extend({ Deferred: function(t) { var e = [ ["resolve", "done", Z.Callbacks("once memory"), "resolved"], ["reject", "fail", Z.Callbacks("once memory"), "rejected"], ["notify", "progress", Z.Callbacks("memory")] ], n = "pending", i = { state: function() { return n }, always: function() { return r.done(arguments).fail(arguments), this }, then: function() { var t = arguments; return Z.Deferred(function(n) { Z.each(e, function(e, o) { var s = Z.isFunction(t[e]) && t[e]; r[o[1]](function() { var t = s && s.apply(this, arguments); t && Z.isFunction(t.promise) ? t.promise().progress(n.notify).done(n.resolve).fail(n.reject) : n[o[0] + "With"](this === i ? n.promise() : this, s ? [t] : arguments) }) }), t = null }).promise() }, promise: function(t) { return null != t ? Z.extend(t, i) : i } }, r = {}; return i.pipe = i.then, Z.each(e, function(t, o) { var s = o[2], a = o[3]; i[o[1]] = s.add, a && s.add(function() { n = a }, e[1 ^ t][2].disable, e[2][2].lock), r[o[0]] = function() { return r[o[0] + "With"](this === r ? i : this, arguments), this }, r[o[0] + "With"] = s.fireWith }), i.promise(r), t && t.call(r, r), r }, when: function(t) { var e, n, i, r = 0, o = $.call(arguments), s = o.length, a = 1 !== s || t && Z.isFunction(t.promise) ? s : 0, l = 1 === a ? t : Z.Deferred(), c = function(t, n, i) { return function(r) { n[t] = this, i[t] = arguments.length > 1 ? $.call(arguments) : r, i === e ? l.notifyWith(n, i) : --a || l.resolveWith(n, i) } }; if (s > 1) for (e = new Array(s), n = new Array(s), i = new Array(s); r < s; r++) o[r] && Z.isFunction(o[r].promise) ? o[r].promise().progress(c(r, n, e)).done(c(r, i, o)).fail(l.reject) : --a; return a || l.resolveWith(i, o), l.promise() } }); var gt; Z.fn.ready = function(t) { return Z.ready.promise().done(t), this }, Z.extend({ isReady: !1, readyWait: 1, holdReady: function(t) { t ? Z.readyWait++ : Z.ready(!0) }, ready: function(t) { (!0 === t ? --Z.readyWait : Z.isReady) || (Z.isReady = !0, !0 !== t && --Z.readyWait > 0 || (gt.resolveWith(U, [Z]), Z.fn.triggerHandler && (Z(U).triggerHandler("ready"), Z(U).off("ready")))) } }), Z.ready.promise = function(e) { return gt || (gt = Z.Deferred(), "complete" === U.readyState || "loading" !== U.readyState && !U.documentElement.doScroll ? t.setTimeout(Z.ready) : (U.addEventListener("DOMContentLoaded", o), t.addEventListener("load", o))), gt.promise(e) }, Z.ready.promise(); var vt = function(t, e, n, i, r, o, s) { var a = 0, l = t.length, c = null == n; if ("object" === Z.type(n)) { r = !0; for (a in n) vt(t, e, a, n[a], !0, o, s) } else if (void 0 !== i && (r = !0, Z.isFunction(i) || (s = !0), c && (s ? (e.call(t, i), e = null) : (c = e, e = function(t, e, n) { return c.call(Z(t), n) })), e)) for (; a < l; a++) e(t[a], n, s ? i : i.call(t[a], a, e(t[a], n))); return r ? t : c ? e.call(t) : l ? e(t[0], n) : o }, mt = function(t) { return 1 === t.nodeType || 9 === t.nodeType || !+t.nodeType }; s.uid = 1, s.prototype = { register: function(t, e) { var n = e || {}; return t.nodeType ? t[this.expando] = n : Object.defineProperty(t, this.expando, { value: n, writable: !0, configurable: !0 }), t[this.expando] }, cache: function(t) { if (!mt(t)) return {}; var e = t[this.expando]; return e || (e = {}, mt(t) && (t.nodeType ? t[this.expando] = e : Object.defineProperty(t, this.expando, { value: e, configurable: !0 }))), e }, set: function(t, e, n) { var i, r = this.cache(t); if ("string" == typeof e) r[e] = n; else for (i in e) r[i] = e[i]; return r }, get: function(t, e) { return void 0 === e ? this.cache(t) : t[this.expando] && t[this.expando][e] }, access: function(t, e, n) { var i; return void 0 === e || e && "string" == typeof e && void 0 === n ? void 0 !== (i = this.get(t, e)) ? i : this.get(t, Z.camelCase(e)) : (this.set(t, e, n), void 0 !== n ? n : e) }, remove: function(t, e) { var n, i, r, o = t[this.expando]; if (void 0 !== o) { if (void 0 === e) this.register(t); else { Z.isArray(e) ? i = e.concat(e.map(Z.camelCase)) : (r = Z.camelCase(e), i = e in o ? [e, r] : (i = r) in o ? [i] : i.match(pt) || []), n = i.length; for (; n--;) delete o[i[n]] }(void 0 === e || Z.isEmptyObject(o)) && (t.nodeType ? t[this.expando] = void 0 : delete t[this.expando]) } }, hasData: function(t) { var e = t[this.expando]; return void 0 !== e && !Z.isEmptyObject(e) } }; var yt = new s, wt = new s, bt = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, xt = /[A-Z]/g; Z.extend({ hasData: function(t) { return wt.hasData(t) || yt.hasData(t) }, data: function(t, e, n) { return wt.access(t, e, n) }, removeData: function(t, e) { wt.remove(t, e) }, _data: function(t, e, n) { return yt.access(t, e, n) }, _removeData: function(t, e) { yt.remove(t, e) } }), Z.fn.extend({ data: function(t, e) { var n, i, r, o = this[0], s = o && o.attributes; if (void 0 === t) { if (this.length && (r = wt.get(o), 1 === o.nodeType && !yt.get(o, "hasDataAttrs"))) { for (n = s.length; n--;) s[n] && 0 === (i = s[n].name).indexOf("data-") && (i = Z.camelCase(i.slice(5)), a(o, i, r[i])); yt.set(o, "hasDataAttrs", !0) } return r } return "object" == typeof t ? this.each(function() { wt.set(this, t) }) : vt(this, function(e) { var n, i; if (o && void 0 === e) { if (void 0 !== (n = wt.get(o, t) || wt.get(o, t.replace(xt, "-$&").toLowerCase()))) return n; if (i = Z.camelCase(t), void 0 !== (n = wt.get(o, i))) return n; if (void 0 !== (n = a(o, i, void 0))) return n } else i = Z.camelCase(t), this.each(function() { var n = wt.get(this, i); wt.set(this, i, e), t.indexOf("-") > -1 && void 0 !== n && wt.set(this, t, e) }) }, null, e, arguments.length > 1, null, !0) }, removeData: function(t) { return this.each(function() { wt.remove(this, t) }) } }), Z.extend({ queue: function(t, e, n) { var i; if (t) return e = (e || "fx") + "queue", i = yt.get(t, e), n && (!i || Z.isArray(n) ? i = yt.access(t, e, Z.makeArray(n)) : i.push(n)), i || [] }, dequeue: function(t, e) { e = e || "fx"; var n = Z.queue(t, e), i = n.length, r = n.shift(), o = Z._queueHooks(t, e); "inprogress" === r && (r = n.shift(), i--), r && ("fx" === e && n.unshift("inprogress"), delete o.stop, r.call(t, function() { Z.dequeue(t, e) }, o)), !i && o && o.empty.fire() }, _queueHooks: function(t, e) { var n = e + "queueHooks"; return yt.get(t, n) || yt.access(t, n, { empty: Z.Callbacks("once memory").add(function() { yt.remove(t, [e + "queue", n]) }) }) } }), Z.fn.extend({ queue: function(t, e) { var n = 2; return "string" != typeof t && (e = t, t = "fx", n--), arguments.length < n ? Z.queue(this[0], t) : void 0 === e ? this : this.each(function() { var n = Z.queue(this, t, e); Z._queueHooks(this, t), "fx" === t && "inprogress" !== n[0] && Z.dequeue(this, t) }) }, dequeue: function(t) { return this.each(function() { Z.dequeue(this, t) }) }, clearQueue: function(t) { return this.queue(t || "fx", []) }, promise: function(t, e) { var n, i = 1, r = Z.Deferred(), o = this, s = this.length, a = function() { --i || r.resolveWith(o, [o]) }; for ("string" != typeof t && (e = t, t = void 0), t = t || "fx"; s--;)(n = yt.get(o[s], t + "queueHooks")) && n.empty && (i++, n.empty.add(a)); return a(), r.promise(e) } }); var Ct = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, Et = new RegExp("^(?:([+-])=|)(" + Ct + ")([a-z%]*)$", "i"), St = ["Top", "Right", "Bottom", "Left"], Tt = function(t, e) { return t = e || t, "none" === Z.css(t, "display") || !Z.contains(t.ownerDocument, t) }, kt = /^(?:checkbox|radio)$/i, At = /<([\w:-]+)/, Dt = /^$|\/(?:java|ecma)script/i, Lt = { option: [1, ""], thead: [1, "