jQuery.easing.jswing = jQuery.easing.swing; jQuery.extend(jQuery.easing, { def: "easeOutQuad", swing: function(e, f, a, h, g) { return jQuery.easing[jQuery.easing.def](e, f, a, h, g) }, easeInQuad: function(e, f, a, h, g) { return h * (f /= g) * f + a }, easeOutQuad: function(e, f, a, h, g) { return -h * (f /= g) * (f - 2) + a }, easeInOutQuad: function(e, f, a, h, g) { if ((f /= g / 2) < 1) { return h / 2 * f * f + a } return -h / 2 * ((--f) * (f - 2) - 1) + a }, easeInCubic: function(e, f, a, h, g) { return h * (f /= g) * f * f + a }, easeOutCubic: function(e, f, a, h, g) { return h * ((f = f / g - 1) * f * f + 1) + a }, easeInOutCubic: function(e, f, a, h, g) { if ((f /= g / 2) < 1) { return h / 2 * f * f * f + a } return h / 2 * ((f -= 2) * f * f + 2) + a }, easeInQuart: function(e, f, a, h, g) { return h * (f /= g) * f * f * f + a }, easeOutQuart: function(e, f, a, h, g) { return -h * ((f = f / g - 1) * f * f * f - 1) + a }, easeInOutQuart: function(e, f, a, h, g) { if ((f /= g / 2) < 1) { return h / 2 * f * f * f * f + a } return -h / 2 * ((f -= 2) * f * f * f - 2) + a }, easeInQuint: function(e, f, a, h, g) { return h * (f /= g) * f * f * f * f + a }, easeOutQuint: function(e, f, a, h, g) { return h * ((f = f / g - 1) * f * f * f * f + 1) + a }, easeInOutQuint: function(e, f, a, h, g) { if ((f /= g / 2) < 1) { return h / 2 * f * f * f * f * f + a } return h / 2 * ((f -= 2) * f * f * f * f + 2) + a }, easeInSine: function(e, f, a, h, g) { return -h * Math.cos(f / g * (Math.PI / 2)) + h + a }, easeOutSine: function(e, f, a, h, g) { return h * Math.sin(f / g * (Math.PI / 2)) + a }, easeInOutSine: function(e, f, a, h, g) { return -h / 2 * (Math.cos(Math.PI * f / g) - 1) + a }, easeInExpo: function(e, f, a, h, g) { return (f == 0) ? a : h * Math.pow(2, 10 * (f / g - 1)) + a }, easeOutExpo: function(e, f, a, h, g) { return (f == g) ? a + h : h * (-Math.pow(2, -10 * f / g) + 1) + a }, easeInOutExpo: function(e, f, a, h, g) { if (f == 0) { return a } if (f == g) { return a + h } if ((f /= g / 2) < 1) { return h / 2 * Math.pow(2, 10 * (f - 1)) + a } return h / 2 * (-Math.pow(2, -10 * --f) + 2) + a }, easeInCirc: function(e, f, a, h, g) { return -h * (Math.sqrt(1 - (f /= g) * f) - 1) + a }, easeOutCirc: function(e, f, a, h, g) { return h * Math.sqrt(1 - (f = f / g - 1) * f) + a }, easeInOutCirc: function(e, f, a, h, g) { if ((f /= g / 2) < 1) { return -h / 2 * (Math.sqrt(1 - f * f) - 1) + a } return h / 2 * (Math.sqrt(1 - (f -= 2) * f) + 1) + a }, easeInElastic: function(f, h, e, l, k) { var i = 1.70158; var j = 0; var g = l; if (h == 0) { return e } if ((h /= k) == 1) { return e + l } if (!j) { j = k * 0.3 } if (g < Math.abs(l)) { g = l; var i = j / 4 } else { var i = j / (2 * Math.PI) * Math.asin(l / g) } return -(g * Math.pow(2, 10 * (h -= 1)) * Math.sin((h * k - i) * (2 * Math.PI) / j)) + e }, easeOutElastic: function(f, h, e, l, k) { var i = 1.70158; var j = 0; var g = l; if (h == 0) { return e } if ((h /= k) == 1) { return e + l } if (!j) { j = k * 0.3 } if (g < Math.abs(l)) { g = l; var i = j / 4 } else { var i = j / (2 * Math.PI) * Math.asin(l / g) } return g * Math.pow(2, -10 * h) * Math.sin((h * k - i) * (2 * Math.PI) / j) + l + e }, easeInOutElastic: function(f, h, e, l, k) { var i = 1.70158; var j = 0; var g = l; if (h == 0) { return e } if ((h /= k / 2) == 2) { return e + l } if (!j) { j = k * (0.3 * 1.5) } if (g < Math.abs(l)) { g = l; var i = j / 4 } else { var i = j / (2 * Math.PI) * Math.asin(l / g) } if (h < 1) { return -0.5 * (g * Math.pow(2, 10 * (h -= 1)) * Math.sin((h * k - i) * (2 * Math.PI) / j)) + e } return g * Math.pow(2, -10 * (h -= 1)) * Math.sin((h * k - i) * (2 * Math.PI) / j) * 0.5 + l + e }, easeInBack: function(e, f, a, i, h, g) { if (g == undefined) { g = 1.70158 } return i * (f /= h) * f * ((g + 1) * f - g) + a }, easeOutBack: function(e, f, a, i, h, g) { if (g == undefined) { g = 1.70158 } return i * ((f = f / h - 1) * f * ((g + 1) * f + g) + 1) + a }, easeInOutBack: function(e, f, a, i, h, g) { if (g == undefined) { g = 1.70158 } if ((f /= h / 2) < 1) { return i / 2 * (f * f * (((g *= (1.525)) + 1) * f - g)) + a } return i / 2 * ((f -= 2) * f * (((g *= (1.525)) + 1) * f + g) + 2) + a }, easeInBounce: function(e, f, a, h, g) { return h - jQuery.easing.easeOutBounce(e, g - f, 0, h, g) + a }, easeOutBounce: function(e, f, a, h, g) { if ((f /= g) < (1 / 2.75)) { return h * (7.5625 * f * f) + a } else { if (f < (2 / 2.75)) { return h * (7.5625 * (f -= (1.5 / 2.75)) * f + 0.75) + a } else { if (f < (2.5 / 2.75)) { return h * (7.5625 * (f -= (2.25 / 2.75)) * f + 0.9375) + a } else { return h * (7.5625 * (f -= (2.625 / 2.75)) * f + 0.984375) + a } } } }, easeInOutBounce: function(e, f, a, h, g) { if (f < g / 2) { return jQuery.easing.easeInBounce(e, f * 2, 0, h, g) * 0.5 + a } return jQuery.easing.easeOutBounce(e, f * 2 - g, 0, h, g) * 0.5 + h * 0.5 + a } }); (function() { var t = [].indexOf || function(t) { for (var e = 0, n = this.length; e < n; e++) { if (e in this && this[e] === t) return e } return -1 }, e = [].slice; (function(t, e) { if (typeof define === "function" && define.amd) { return define("waypoints", ["jquery"], function(n) { return e(n, t) }) } else { return e(t.jQuery, t) } })(window, function(n, r) { var i, o, l, s, f, u, c, a, h, d, p, y, v, w, g, m; i = n(r); a = t.call(r, "ontouchstart") >= 0; s = { horizontal: {}, vertical: {} }; f = 1; c = {}; u = "waypoints-context-id"; p = "resize.waypoints"; y = "scroll.waypoints"; v = 1; w = "waypoints-waypoint-ids"; g = "waypoint"; m = "waypoints"; o = function() { function t(t) { var e = this; this.$element = t; this.element = t[0]; this.didResize = false; this.didScroll = false; this.id = "context" + f++; this.oldScroll = { x: t.scrollLeft(), y: t.scrollTop() }; this.waypoints = { horizontal: {}, vertical: {} }; this.element[u] = this.id; c[this.id] = this; t.bind(y, function() { var t; if (!(e.didScroll || a)) { e.didScroll = true; t = function() { e.doScroll(); return e.didScroll = false }; return r.setTimeout(t, n[m].settings.scrollThrottle) } }); t.bind(p, function() { var t; if (!e.didResize) { e.didResize = true; t = function() { n[m]("refresh"); return e.didResize = false }; return r.setTimeout(t, n[m].settings.resizeThrottle) } }) } t.prototype.doScroll = function() { var t, e = this; t = { horizontal: { newScroll: this.$element.scrollLeft(), oldScroll: this.oldScroll.x, forward: "right", backward: "left" }, vertical: { newScroll: this.$element.scrollTop(), oldScroll: this.oldScroll.y, forward: "down", backward: "up" } }; if (a && (!t.vertical.oldScroll || !t.vertical.newScroll)) { n[m]("refresh") } n.each(t, function(t, r) { var i, o, l; l = []; o = r.newScroll > r.oldScroll; i = o ? r.forward : r.backward; n.each(e.waypoints[t], function(t, e) { var n, i; if (r.oldScroll < (n = e.offset) && n <= r.newScroll) { return l.push(e) } else if (r.newScroll < (i = e.offset) && i <= r.oldScroll) { return l.push(e) } }); l.sort(function(t, e) { return t.offset - e.offset }); if (!o) { l.reverse() } return n.each(l, function(t, e) { if (e.options.continuous || t === l.length - 1) { return e.trigger([i]) } }) }); return this.oldScroll = { x: t.horizontal.newScroll, y: t.vertical.newScroll } }; t.prototype.refresh = function() { var t, e, r, i = this; r = n.isWindow(this.element); e = this.$element.offset(); this.doScroll(); t = { horizontal: { contextOffset: r ? 0 : e.left, contextScroll: r ? 0 : this.oldScroll.x, contextDimension: this.$element.width(), oldScroll: this.oldScroll.x, forward: "right", backward: "left", offsetProp: "left" }, vertical: { contextOffset: r ? 0 : e.top, contextScroll: r ? 0 : this.oldScroll.y, contextDimension: r ? n[m]("viewportHeight") : this.$element.height(), oldScroll: this.oldScroll.y, forward: "down", backward: "up", offsetProp: "top" } }; return n.each(t, function(t, e) { return n.each(i.waypoints[t], function(t, r) { var i, o, l, s, f; i = r.options.offset; l = r.offset; o = n.isWindow(r.element) ? 0 : r.$element.offset()[e.offsetProp]; if (n.isFunction(i)) { i = i.apply(r.element) } else if (typeof i === "string") { i = parseFloat(i); if (r.options.offset.indexOf("%") > -1) { i = Math.ceil(e.contextDimension * i / 100) } } r.offset = o - e.contextOffset + e.contextScroll - i; if (r.options.onlyOnScroll && l != null || !r.enabled) { return } if (l !== null && l < (s = e.oldScroll) && s <= r.offset) { return r.trigger([e.backward]) } else if (l !== null && l > (f = e.oldScroll) && f >= r.offset) { return r.trigger([e.forward]) } else if (l === null && e.oldScroll >= r.offset) { return r.trigger([e.forward]) } }) }) }; t.prototype.checkEmpty = function() { if (n.isEmptyObject(this.waypoints.horizontal) && n.isEmptyObject(this.waypoints.vertical)) { this.$element.unbind([p, y].join(" ")); return delete c[this.id] } }; return t }(); l = function() { function t(t, e, r) { var i, o; if (r.offset === "bottom-in-view") { r.offset = function() { var t; t = n[m]("viewportHeight"); if (!n.isWindow(e.element)) { t = e.$element.height() } return t - n(this).outerHeight() } } this.$element = t; this.element = t[0]; this.axis = r.horizontal ? "horizontal" : "vertical"; this.callback = r.handler; this.context = e; this.enabled = r.enabled; this.id = "waypoints" + v++; this.offset = null; this.options = r; e.waypoints[this.axis][this.id] = this; s[this.axis][this.id] = this; i = (o = this.element[w]) != null ? o : []; i.push(this.id); this.element[w] = i } t.prototype.trigger = function(t) { if (!this.enabled) { return } if (this.callback != null) { this.callback.apply(this.element, t) } if (this.options.triggerOnce) { return this.destroy() } }; t.prototype.disable = function() { return this.enabled = false }; t.prototype.enable = function() { this.context.refresh(); return this.enabled = true }; t.prototype.destroy = function() { delete s[this.axis][this.id]; delete this.context.waypoints[this.axis][this.id]; return this.context.checkEmpty() }; t.getWaypointsByElement = function(t) { var e, r; r = t[w]; if (!r) { return [] } e = n.extend({}, s.horizontal, s.vertical); return n.map(r, function(t) { return e[t] }) }; return t }(); d = { init: function(t, e) { var r; e = n.extend({}, n.fn[g].defaults, e); if ((r = e.handler) == null) { e.handler = t } this.each(function() { var t, r, i, s; t = n(this); i = (s = e.context) != null ? s : n.fn[g].defaults.context; if (!n.isWindow(i)) { i = t.closest(i) } i = n(i); r = c[i[0][u]]; if (!r) { r = new o(i) } return new l(t, r, e) }); n[m]("refresh"); return this }, disable: function() { return d._invoke.call(this, "disable") }, enable: function() { return d._invoke.call(this, "enable") }, destroy: function() { return d._invoke.call(this, "destroy") }, prev: function(t, e) { return d._traverse.call(this, t, e, function(t, e, n) { if (e > 0) { return t.push(n[e - 1]) } }) }, next: function(t, e) { return d._traverse.call(this, t, e, function(t, e, n) { if (e < n.length - 1) { return t.push(n[e + 1]) } }) }, _traverse: function(t, e, i) { var o, l; if (t == null) { t = "vertical" } if (e == null) { e = r } l = h.aggregate(e); o = []; this.each(function() { var e; e = n.inArray(this, l[t]); return i(o, e, l[t]) }); return this.pushStack(o) }, _invoke: function(t) { this.each(function() { var e; e = l.getWaypointsByElement(this); return n.each(e, function(e, n) { n[t](); return true }) }); return this } }; n.fn[g] = function() { var t, r; r = arguments[0], t = 2 <= arguments.length ? e.call(arguments, 1) : []; if (d[r]) { return d[r].apply(this, t) } else if (n.isFunction(r)) { return d.init.apply(this, arguments) } else if (n.isPlainObject(r)) { return d.init.apply(this, [null, r]) } else if (!r) { return n.error("jQuery Waypoints needs a callback function or handler option.") } else { return n.error("The " + r + " method does not exist in jQuery Waypoints.") } }; n.fn[g].defaults = { context: r, continuous: true, enabled: true, horizontal: false, offset: 0, triggerOnce: false }; h = { refresh: function() { return n.each(c, function(t, e) { return e.refresh() }) }, viewportHeight: function() { var t; return (t = r.innerHeight) != null ? t : i.height() }, aggregate: function(t) { var e, r, i; e = s; if (t) { e = (i = c[n(t)[0][u]]) != null ? i.waypoints : void 0 } if (!e) { return [] } r = { horizontal: [], vertical: [] }; n.each(r, function(t, i) { n.each(e[t], function(t, e) { return i.push(e) }); i.sort(function(t, e) { return t.offset - e.offset }); r[t] = n.map(i, function(t) { return t.element }); return r[t] = n.unique(r[t]) }); return r }, above: function(t) { if (t == null) { t = r } return h._filter(t, "vertical", function(t, e) { return e.offset <= t.oldScroll.y }) }, below: function(t) { if (t == null) { t = r } return h._filter(t, "vertical", function(t, e) { return e.offset > t.oldScroll.y }) }, left: function(t) { if (t == null) { t = r } return h._filter(t, "horizontal", function(t, e) { return e.offset <= t.oldScroll.x }) }, right: function(t) { if (t == null) { t = r } return h._filter(t, "horizontal", function(t, e) { return e.offset > t.oldScroll.x }) }, enable: function() { return h._invoke("enable") }, disable: function() { return h._invoke("disable") }, destroy: function() { return h._invoke("destroy") }, extendFn: function(t, e) { return d[t] = e }, _invoke: function(t) { var e; e = n.extend({}, s.vertical, s.horizontal); return n.each(e, function(e, n) { n[t](); return true }) }, _filter: function(t, e, r) { var i, o; i = c[n(t)[0][u]]; if (!i) { return [] } o = []; n.each(i.waypoints[e], function(t, e) { if (r(i, e)) { return o.push(e) } }); o.sort(function(t, e) { return t.offset - e.offset }); return n.map(o, function(t) { return t.element }) } }; n[m] = function() { var t, n; n = arguments[0], t = 2 <= arguments.length ? e.call(arguments, 1) : []; if (h[n]) { return h[n].apply(null, t) } else { return h.aggregate.call(null, n) } }; n[m].settings = { resizeThrottle: 100, scrollThrottle: 30 }; return i.on("load.waypoints", function() { return n[m]("refresh") }) }) }).call(this); ! function(a) { "use strict"; "function" == typeof define && define.amd ? define(["jquery"], a) : a(jQuery) }(function(a) { "use strict"; function b(a) { if (a instanceof Date) return a; if (String(a).match(h)) return String(a).match(/^[0-9]*$/) && (a = Number(a)), String(a).match(/\-/) && (a = String(a).replace(/\-/g, "/")), new Date(a); throw new Error("Couldn't cast `" + a + "` to a date object.") } function c(a) { var b = a.toString().replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1"); return new RegExp(b) } function d(a) { return function(b) { var d = b.match(/%(-|!)?[A-Z]{1}(:[^;]+;)?/gi); if (d) for (var f = 0, g = d.length; g > f; ++f) { var h = d[f].match(/%(-|!)?([a-zA-Z]{1})(:[^;]+;)?/), j = c(h[0]), k = h[1] || "", l = h[3] || "", m = null; h = h[2], i.hasOwnProperty(h) && (m = i[h], m = Number(a[m])), null !== m && ("!" === k && (m = e(l, m)), "" === k && 10 > m && (m = "0" + m.toString()), b = b.replace(j, m.toString())) } return b = b.replace(/%%/, "%") } } function e(a, b) { var c = "s", d = ""; return a && (a = a.replace(/(:|;|\s)/gi, "").split(/\,/), 1 === a.length ? c = a[0] : (d = a[0], c = a[1])), 1 === Math.abs(b) ? d : c } var f = 100, g = [], h = []; h.push(/^[0-9]*$/.source), h.push(/([0-9]{1,2}\/){2}[0-9]{4}( [0-9]{1,2}(:[0-9]{2}){2})?/.source), h.push(/[0-9]{4}([\/\-][0-9]{1,2}){2}( [0-9]{1,2}(:[0-9]{2}){2})?/.source), h = new RegExp(h.join("|")); var i = { Y: "years", m: "months", w: "weeks", d: "days", D: "totalDays", H: "hours", M: "minutes", S: "seconds" }, j = function(b, c, d) { this.el = b, this.$el = a(b), this.interval = null, this.offset = {}, this.instanceNumber = g.length, g.push(this), this.$el.data("countdown-instance", this.instanceNumber), d && (this.$el.on("update.countdown", d), this.$el.on("stoped.countdown", d), this.$el.on("finish.countdown", d)), this.setFinalDate(c), this.start() }; a.extend(j.prototype, { start: function() { null !== this.interval && clearInterval(this.interval); var a = this; this.update(), this.interval = setInterval(function() { a.update.call(a) }, f) }, stop: function() { clearInterval(this.interval), this.interval = null, this.dispatchEvent("stoped") }, toggle: function() { this.interval ? this.stop() : this.start() }, pause: function() { this.stop() }, resume: function() { this.start() }, remove: function() { this.stop.call(this), g[this.instanceNumber] = null, delete this.$el.data().countdownInstance }, setFinalDate: function(a) { this.finalDate = b(a) }, update: function() { return 0 === this.$el.closest("html").length ? void this.remove() : (this.totalSecsLeft = this.finalDate.getTime() - (new Date).getTime(), this.totalSecsLeft = Math.ceil(this.totalSecsLeft / 1e3), this.totalSecsLeft = this.totalSecsLeft < 0 ? 0 : this.totalSecsLeft, this.offset = { seconds: this.totalSecsLeft % 60, minutes: Math.floor(this.totalSecsLeft / 60) % 60, hours: Math.floor(this.totalSecsLeft / 60 / 60) % 24, days: Math.floor(this.totalSecsLeft / 60 / 60 / 24) % 7, totalDays: Math.floor(this.totalSecsLeft / 60 / 60 / 24), weeks: Math.floor(this.totalSecsLeft / 60 / 60 / 24 / 7), months: Math.floor(this.totalSecsLeft / 60 / 60 / 24 / 30), years: Math.floor(this.totalSecsLeft / 60 / 60 / 24 / 365) }, void(0 === this.totalSecsLeft ? (this.stop(), this.dispatchEvent("finish")) : this.dispatchEvent("update"))) }, dispatchEvent: function(b) { var c = a.Event(b + ".countdown"); c.finalDate = this.finalDate, c.offset = a.extend({}, this.offset), c.strftime = d(this.offset), this.$el.trigger(c) } }), a.fn.countdown = function() { var b = Array.prototype.slice.call(arguments, 0); return this.each(function() { var c = a(this).data("countdown-instance"); if (void 0 !== c) { var d = g[c], e = b[0]; j.prototype.hasOwnProperty(e) ? d[e].apply(d, b.slice(1)) : null === String(e).match(/^[$A-Z_][0-9A-Z_$]*$/i) ? (d.setFinalDate.call(d, e), d.start()) : a.error("Method %s does not exist on jQuery.countdown".replace(/\%s/gi, e)) } else new j(this, b[0], b[1]) }) } }); (function(c) { var n = -1, f = -1, g = function(a) { return parseFloat(a) || 0 }, r = function(a) { var b = null, d = []; c(a).each(function() { var a = c(this), k = a.offset().top - g(a.css("margin-top")), l = 0 < d.length ? d[d.length - 1] : null; null === l ? d.push(a) : 1 >= Math.floor(Math.abs(b - k)) ? d[d.length - 1] = l.add(a) : d.push(a); b = k }); return d }, p = function(a) { var b = { byRow: !0, property: "height", target: null, remove: !1 }; if ("object" === typeof a) return c.extend(b, a); "boolean" === typeof a ? b.byRow = a : "remove" === a && (b.remove = !0); return b }, b = c.fn.matchHeight = function(a) { a = p(a); if (a.remove) { var e = this; this.css(a.property, ""); c.each(b._groups, function(a, b) { b.elements = b.elements.not(e) }); return this } if (1 >= this.length && !a.target) return this; b._groups.push({ elements: this, options: a }); b._apply(this, a); return this }; b._groups = []; b._throttle = 80; b._maintainScroll = !1; b._beforeUpdate = null; b._afterUpdate = null; b._apply = function(a, e) { var d = p(e), h = c(a), k = [h], l = c(window).scrollTop(), f = c("html").outerHeight(!0), m = h.parents().filter(":hidden"); m.each(function() { var a = c(this); a.data("style-cache", a.attr("style")) }); m.css("display", "block"); d.byRow && !d.target && (h.each(function() { var a = c(this), b = "inline-block" === a.css("display") ? "inline-block" : "block"; a.data("style-cache", a.attr("style")); a.css({ display: b, "padding-top": "0", "padding-bottom": "0", "margin-top": "0", "margin-bottom": "0", "border-top-width": "0", "border-bottom-width": "0", height: "100px" }) }), k = r(h), h.each(function() { var a = c(this); a.attr("style", a.data("style-cache") || "") })); c.each(k, function(a, b) { var e = c(b), f = 0; if (d.target) f = d.target.outerHeight(!1); else { if (d.byRow && 1 >= e.length) { e.css(d.property, ""); return } e.each(function() { var a = c(this), b = { display: "inline-block" === a.css("display") ? "inline-block" : "block" }; b[d.property] = ""; a.css(b); a.outerHeight(!1) > f && (f = a.outerHeight(!1)); a.css("display", "") }) } e.each(function() { var a = c(this), b = 0; d.target && a.is(d.target) || ("border-box" !== a.css("box-sizing") && (b += g(a.css("border-top-width")) + g(a.css("border-bottom-width")), b += g(a.css("padding-top")) + g(a.css("padding-bottom"))), a.css(d.property, f - b)) }) }); m.each(function() { var a = c(this); a.attr("style", a.data("style-cache") || null) }); b._maintainScroll && c(window).scrollTop(l / f * c("html").outerHeight(!0)); return this }; b._applyDataApi = function() { var a = {}; c("[data-match-height], [data-mh]").each(function() { var b = c(this), d = b.attr("data-mh") || b.attr("data-match-height"); a[d] = d in a ? a[d].add(b) : b }); c.each(a, function() { this.matchHeight(!0) }) }; var q = function(a) { b._beforeUpdate && b._beforeUpdate(a, b._groups); c.each(b._groups, function() { b._apply(this.elements, this.options) }); b._afterUpdate && b._afterUpdate(a, b._groups) }; b._update = function(a, e) { if (e && "resize" === e.type) { var d = c(window).width(); if (d === n) return; n = d } a ? -1 === f && (f = setTimeout(function() { q(e); f = -1 }, b._throttle)) : q(e) }; c(b._applyDataApi); c(window).bind("load", function(a) { b._update(!1, a) }); c(window).bind("resize orientationchange", function(a) { b._update(!0, a) }) })(jQuery); ! function(e) { var t = !1, i = !1, n = { isUrl: function(e) { var t = new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$", "i"); return t.test(e) ? !0 : !1 }, loadContent: function(e, t) { e.html(t) }, addPrefix: function(e) { var t = e.attr("id"), i = e.attr("class"); "string" == typeof t && "" !== t && e.attr("id", t.replace(/([A-Za-z0-9_.\-]+)/g, "sidr-id-$1")), "string" == typeof i && "" !== i && "sidr-inner" !== i && e.attr("class", i.replace(/([A-Za-z0-9_.\-]+)/g, "sidr-class-$1")), e.removeAttr("style") }, execute: function(n, s, a) { "function" == typeof s ? (a = s, s = "sidr") : s || (s = "sidr"); var r, d, l, c = e("#" + s), u = e(c.data("body")), f = e("html"), p = c.outerWidth(!0), g = c.data("speed"), h = c.data("side"), m = c.data("displace"), v = c.data("onOpen"), y = c.data("onClose"), x = "sidr" === s ? "sidr-open" : "sidr-open " + s + "-open"; if ("open" === n || "toggle" === n && !c.is(":visible")) { if (c.is(":visible") || t) return; if (i !== !1) return void o.close(i, function() { o.open(s) }); t = !0, "left" === h ? (r = { left: p + "px" }, d = { left: "0px" }) : (r = { right: p + "px" }, d = { right: "0px" }), u.is("body") && (l = f.scrollTop(), f.css("overflow-x", "hidden").scrollTop(l)), m ? u.addClass("sidr-animating").css({ width: u.width(), position: "absolute" }).animate(r, g, function() { e(this).addClass(x) }) : setTimeout(function() { e(this).addClass(x) }, g), c.css("display", "block").animate(d, g, function() { t = !1, i = s, "function" == typeof a && a(s), u.removeClass("sidr-animating") }), v() } else { if (!c.is(":visible") || t) return; t = !0, "left" === h ? (r = { left: 0 }, d = { left: "-" + p + "px" }) : (r = { right: 0 }, d = { right: "-" + p + "px" }), u.is("body") && (l = f.scrollTop(), f.removeAttr("style").scrollTop(l)), u.addClass("sidr-animating").animate(r, g).removeClass(x), c.animate(d, g, function() { c.removeAttr("style").hide(), u.removeAttr("style"), e("html").removeAttr("style"), t = !1, i = !1, "function" == typeof a && a(s), u.removeClass("sidr-animating") }), y() } } }, o = { open: function(e, t) { n.execute("open", e, t) }, close: function(e, t) { n.execute("close", e, t) }, toggle: function(e, t) { n.execute("toggle", e, t) }, toogle: function(e, t) { n.execute("toggle", e, t) } }; e.sidr = function(t) { return o[t] ? o[t].apply(this, Array.prototype.slice.call(arguments, 1)) : "function" != typeof t && "string" != typeof t && t ? void e.error("Method " + t + " does not exist on jQuery.sidr") : o.toggle.apply(this, arguments) }, e.fn.sidr = function(s) { var a = e.extend({ name: "sidr", speed: 200, side: "left", source: null, renaming: !0, body: "body", displace: !0, onOpen: function() {}, onClose: function() {} }, s), r = a.name, d = e("#" + r); if (0 === d.length && (d = e("
").attr("id", r).appendTo(e("body"))), d.addClass("sidr").addClass(a.side).data({ speed: a.speed, side: a.side, body: a.body, displace: a.displace, onOpen: a.onOpen, onClose: a.onClose }), "function" == typeof a.source) { var l = a.source(r); n.loadContent(d, l) } else if ("string" == typeof a.source && n.isUrl(a.source)) e.get(a.source, function(e) { n.loadContent(d, e) }); else if ("string" == typeof a.source) { var c = "", u = a.source.split(","); if (e.each(u, function(t, i) { c += '
' + e(i).html() + "
" }), a.renaming) { var f = e("
").html(c); f.find("*").each(function(t, i) { var o = e(i); n.addPrefix(o) }), c = f.html() } n.loadContent(d, c) } else null !== a.source && e.error("Invalid Sidr Source"); return e("#" + r).find("a").each(function() { e(this).click(function() { o.toggle(r) }) }), e(window).on("resize", function() { e.sidr("close", r) }), this.each(function() { var n = e(this), s = n.data("sidr"); s || (i = !1, t = !1, n.data("sidr", r), "ontouchstart" in document.documentElement && (n.bind("touchstart", function(e) { e.originalEvent.touches[0]; this.touched = e.timeStamp }), n.bind("touchend", function(e) { var t = Math.abs(e.timeStamp - this.touched); 200 > t && (e.preventDefault(), o.toggle(r)) })), n.click(function(e) { e.preventDefault(), o.toggle(r) })) }) } }(jQuery); ! function(a) { var b = "waitForImages"; a.waitForImages = { hasImageProperties: ["backgroundImage", "listStyleImage", "borderImage", "borderCornerImage", "cursor"] }, a.expr[":"].uncached = function(b) { if (!a(b).is('img[src!=""]')) return !1; var c = new Image; return c.src = b.src, !c.complete }, a.fn.waitForImages = function(c, d, e) { var f = 0, g = 0; if (a.isPlainObject(arguments[0]) && (e = arguments[0].waitForAll, d = arguments[0].each, c = arguments[0].finished), c = c || a.noop, d = d || a.noop, e = !!e, !a.isFunction(c) || !a.isFunction(d)) throw new TypeError("An invalid callback was supplied."); return this.each(function() { var h = a(this), i = [], j = a.waitForImages.hasImageProperties || [], k = /url\(\s*(['"]?)(.*?)\1\s*\)/g; e ? h.find("*").addBack().each(function() { var b = a(this); b.is("img:uncached") && i.push({ src: b.attr("src"), element: b[0] }), a.each(j, function(a, c) { var d, e = b.css(c); if (!e) return !0; for (; d = k.exec(e);) i.push({ src: d[2], element: b[0] }) }) }) : h.find("img:uncached").each(function() { i.push({ src: this.src, element: this }) }), f = i.length, g = 0, 0 === f && c.call(h[0]), a.each(i, function(e, i) { var j = new Image; a(j).on("load." + b + " error." + b, function(a) { return g++, d.call(i.element, g, f, "load" == a.type), g == f ? (c.call(h[0]), !1) : void 0 }), j.src = i.src }) }) } }(jQuery); (function() { var a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X = [].slice, Y = {}.hasOwnProperty, Z = function(a, b) { function c() { this.constructor = a } for (var d in b) Y.call(b, d) && (a[d] = b[d]); return c.prototype = b.prototype, a.prototype = new c, a.__super__ = b.prototype, a }, $ = [].indexOf || function(a) { for (var b = 0, c = this.length; c > b; b++) if (b in this && this[b] === a) return b; return -1 }; for (u = { catchupTime: 100, initialRate: .03, minTime: 250, ghostTime: 100, maxProgressPerFrame: 20, easeFactor: 1.25, startOnPageLoad: !0, restartOnPushState: !0, restartOnRequestAfter: 500, target: "body", elements: { checkInterval: 100, selectors: ["body"] }, eventLag: { minSamples: 10, sampleCount: 3, lagThreshold: 3 }, ajax: { trackMethods: ["GET"], trackWebSockets: !0, ignoreURLs: [] } }, C = function() { var a; return null != (a = "undefined" != typeof performance && null !== performance && "function" == typeof performance.now ? performance.now() : void 0) ? a : +new Date }, E = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame, t = window.cancelAnimationFrame || window.mozCancelAnimationFrame, null == E && (E = function(a) { return setTimeout(a, 50) }, t = function(a) { return clearTimeout(a) }), G = function(a) { var b, c; return b = C(), (c = function() { var d; return d = C() - b, d >= 33 ? (b = C(), a(d, function() { return E(c) })) : setTimeout(c, 33 - d) })() }, F = function() { var a, b, c; return c = arguments[0], b = arguments[1], a = 3 <= arguments.length ? X.call(arguments, 2) : [], "function" == typeof c[b] ? c[b].apply(c, a) : c[b] }, v = function() { var a, b, c, d, e, f, g; for (b = arguments[0], d = 2 <= arguments.length ? X.call(arguments, 1) : [], f = 0, g = d.length; g > f; f++) if (c = d[f]) for (a in c) Y.call(c, a) && (e = c[a], null != b[a] && "object" == typeof b[a] && null != e && "object" == typeof e ? v(b[a], e) : b[a] = e); return b }, q = function(a) { var b, c, d, e, f; for (c = b = 0, e = 0, f = a.length; f > e; e++) d = a[e], c += Math.abs(d), b++; return c / b }, x = function(a, b) { var c, d, e; if (null == a && (a = "options"), null == b && (b = !0), e = document.querySelector("[data-pace-" + a + "]")) { if (c = e.getAttribute("data-pace-" + a), !b) return c; try { return JSON.parse(c) } catch (f) { return d = f, "undefined" != typeof console && null !== console ? console.error("Error parsing inline pace options", d) : void 0 } } }, g = function() { function a() {} return a.prototype.on = function(a, b, c, d) { var e; return null == d && (d = !1), null == this.bindings && (this.bindings = {}), null == (e = this.bindings)[a] && (e[a] = []), this.bindings[a].push({ handler: b, ctx: c, once: d }) }, a.prototype.once = function(a, b, c) { return this.on(a, b, c, !0) }, a.prototype.off = function(a, b) { var c, d, e; if (null != (null != (d = this.bindings) ? d[a] : void 0)) { if (null == b) return delete this.bindings[a]; for (c = 0, e = []; c < this.bindings[a].length;) e.push(this.bindings[a][c].handler === b ? this.bindings[a].splice(c, 1) : c++); return e } }, a.prototype.trigger = function() { var a, b, c, d, e, f, g, h, i; if (c = arguments[0], a = 2 <= arguments.length ? X.call(arguments, 1) : [], null != (g = this.bindings) ? g[c] : void 0) { for (e = 0, i = []; e < this.bindings[c].length;) h = this.bindings[c][e], d = h.handler, b = h.ctx, f = h.once, d.apply(null != b ? b : this, a), i.push(f ? this.bindings[c].splice(e, 1) : e++); return i } }, a }(), j = window.Pace || {}, window.Pace = j, v(j, g.prototype), D = j.options = v({}, u, window.paceOptions, x()), U = ["ajax", "document", "eventLag", "elements"], Q = 0, S = U.length; S > Q; Q++) K = U[Q], D[K] === !0 && (D[K] = u[K]); i = function(a) { function b() { return V = b.__super__.constructor.apply(this, arguments) } return Z(b, a), b }(Error), b = function() { function a() { this.progress = 0 } return a.prototype.getElement = function() { var a; if (null == this.el) { if (a = document.querySelector(D.target), !a) throw new i; this.el = document.createElement("div"), this.el.className = "pace pace-active", document.body.className = document.body.className.replace(/pace-done/g, ""), document.body.className += " pace-running", this.el.innerHTML = '
\n
\n
\n
', null != a.firstChild ? a.insertBefore(this.el, a.firstChild) : a.appendChild(this.el) } return this.el }, a.prototype.finish = function() { var a; return a = this.getElement(), a.className = a.className.replace("pace-active", ""), a.className += " pace-inactive", document.body.className = document.body.className.replace("pace-running", ""), document.body.className += " pace-done" }, a.prototype.update = function(a) { return this.progress = a, this.render() }, a.prototype.destroy = function() { try { this.getElement().parentNode.removeChild(this.getElement()) } catch (a) { i = a } return this.el = void 0 }, a.prototype.render = function() { var a, b, c, d, e, f, g; if (null == document.querySelector(D.target)) return !1; for (a = this.getElement(), d = "translate3d(" + this.progress + "%, 0, 0)", g = ["webkitTransform", "msTransform", "transform"], e = 0, f = g.length; f > e; e++) b = g[e], a.children[0].style[b] = d; return (!this.lastRenderedProgress || this.lastRenderedProgress | 0 !== this.progress | 0) && (a.children[0].setAttribute("data-progress-text", "" + (0 | this.progress) + "%"), this.progress >= 100 ? c = "99" : (c = this.progress < 10 ? "0" : "", c += 0 | this.progress), a.children[0].setAttribute("data-progress", "" + c)), this.lastRenderedProgress = this.progress }, a.prototype.done = function() { return this.progress >= 100 }, a }(), h = function() { function a() { this.bindings = {} } return a.prototype.trigger = function(a, b) { var c, d, e, f, g; if (null != this.bindings[a]) { for (f = this.bindings[a], g = [], d = 0, e = f.length; e > d; d++) c = f[d], g.push(c.call(this, b)); return g } }, a.prototype.on = function(a, b) { var c; return null == (c = this.bindings)[a] && (c[a] = []), this.bindings[a].push(b) }, a }(), P = window.XMLHttpRequest, O = window.XDomainRequest, N = window.WebSocket, w = function(a, b) { var c, d, e; e = []; for (d in b.prototype) try { e.push(null == a[d] && "function" != typeof b[d] ? "function" == typeof Object.defineProperty ? Object.defineProperty(a, d, { get: function() { return b.prototype[d] }, configurable: !0, enumerable: !0 }) : a[d] = b.prototype[d] : void 0) } catch (f) { c = f } return e }, A = [], j.ignore = function() { var a, b, c; return b = arguments[0], a = 2 <= arguments.length ? X.call(arguments, 1) : [], A.unshift("ignore"), c = b.apply(null, a), A.shift(), c }, j.track = function() { var a, b, c; return b = arguments[0], a = 2 <= arguments.length ? X.call(arguments, 1) : [], A.unshift("track"), c = b.apply(null, a), A.shift(), c }, J = function(a) { var b; if (null == a && (a = "GET"), "track" === A[0]) return "force"; if (!A.length && D.ajax) { if ("socket" === a && D.ajax.trackWebSockets) return !0; if (b = a.toUpperCase(), $.call(D.ajax.trackMethods, b) >= 0) return !0 } return !1 }, k = function(a) { function b() { var a, c = this; b.__super__.constructor.apply(this, arguments), a = function(a) { var b; return b = a.open, a.open = function(d, e) { return J(d) && c.trigger("request", { type: d, url: e, request: a }), b.apply(a, arguments) } }, window.XMLHttpRequest = function(b) { var c; return c = new P(b), a(c), c }; try { w(window.XMLHttpRequest, P) } catch (d) {} if (null != O) { window.XDomainRequest = function() { var b; return b = new O, a(b), b }; try { w(window.XDomainRequest, O) } catch (d) {} } if (null != N && D.ajax.trackWebSockets) { window.WebSocket = function(a, b) { var d; return d = null != b ? new N(a, b) : new N(a), J("socket") && c.trigger("request", { type: "socket", url: a, protocols: b, request: d }), d }; try { w(window.WebSocket, N) } catch (d) {} } } return Z(b, a), b }(h), R = null, y = function() { return null == R && (R = new k), R }, I = function(a) { var b, c, d, e; for (e = D.ajax.ignoreURLs, c = 0, d = e.length; d > c; c++) if (b = e[c], "string" == typeof b) { if (-1 !== a.indexOf(b)) return !0 } else if (b.test(a)) return !0; return !1 }, y().on("request", function(b) { var c, d, e, f, g; return f = b.type, e = b.request, g = b.url, I(g) ? void 0 : j.running || D.restartOnRequestAfter === !1 && "force" !== J(f) ? void 0 : (d = arguments, c = D.restartOnRequestAfter || 0, "boolean" == typeof c && (c = 0), setTimeout(function() { var b, c, g, h, i, k; if (b = "socket" === f ? e.readyState < 2 : 0 < (h = e.readyState) && 4 > h) { for (j.restart(), i = j.sources, k = [], c = 0, g = i.length; g > c; c++) { if (K = i[c], K instanceof a) { K.watch.apply(K, d); break } k.push(void 0) } return k } }, c)) }), a = function() { function a() { var a = this; this.elements = [], y().on("request", function() { return a.watch.apply(a, arguments) }) } return a.prototype.watch = function(a) { var b, c, d, e; return d = a.type, b = a.request, e = a.url, I(e) ? void 0 : (c = "socket" === d ? new n(b) : new o(b), this.elements.push(c)) }, a }(), o = function() { function a(a) { var b, c, d, e, f, g, h = this; if (this.progress = 0, null != window.ProgressEvent) for (c = null, a.addEventListener("progress", function(a) { return h.progress = a.lengthComputable ? 100 * a.loaded / a.total : h.progress + (100 - h.progress) / 2 }, !1), g = ["load", "abort", "timeout", "error"], d = 0, e = g.length; e > d; d++) b = g[d], a.addEventListener(b, function() { return h.progress = 100 }, !1); else f = a.onreadystatechange, a.onreadystatechange = function() { var b; return 0 === (b = a.readyState) || 4 === b ? h.progress = 100 : 3 === a.readyState && (h.progress = 50), "function" == typeof f ? f.apply(null, arguments) : void 0 } } return a }(), n = function() { function a(a) { var b, c, d, e, f = this; for (this.progress = 0, e = ["error", "open"], c = 0, d = e.length; d > c; c++) b = e[c], a.addEventListener(b, function() { return f.progress = 100 }, !1) } return a }(), d = function() { function a(a) { var b, c, d, f; for (null == a && (a = {}), this.elements = [], null == a.selectors && (a.selectors = []), f = a.selectors, c = 0, d = f.length; d > c; c++) b = f[c], this.elements.push(new e(b)) } return a }(), e = function() { function a(a) { this.selector = a, this.progress = 0, this.check() } return a.prototype.check = function() { var a = this; return document.querySelector(this.selector) ? this.done() : setTimeout(function() { return a.check() }, D.elements.checkInterval) }, a.prototype.done = function() { return this.progress = 100 }, a }(), c = function() { function a() { var a, b, c = this; this.progress = null != (b = this.states[document.readyState]) ? b : 100, a = document.onreadystatechange, document.onreadystatechange = function() { return null != c.states[document.readyState] && (c.progress = c.states[document.readyState]), "function" == typeof a ? a.apply(null, arguments) : void 0 } } return a.prototype.states = { loading: 0, interactive: 50, complete: 100 }, a }(), f = function() { function a() { var a, b, c, d, e, f = this; this.progress = 0, a = 0, e = [], d = 0, c = C(), b = setInterval(function() { var g; return g = C() - c - 50, c = C(), e.push(g), e.length > D.eventLag.sampleCount && e.shift(), a = q(e), ++d >= D.eventLag.minSamples && a < D.eventLag.lagThreshold ? (f.progress = 100, clearInterval(b)) : f.progress = 100 * (3 / (a + 3)) }, 50) } return a }(), m = function() { function a(a) { this.source = a, this.last = this.sinceLastUpdate = 0, this.rate = D.initialRate, this.catchup = 0, this.progress = this.lastProgress = 0, null != this.source && (this.progress = F(this.source, "progress")) } return a.prototype.tick = function(a, b) { var c; return null == b && (b = F(this.source, "progress")), b >= 100 && (this.done = !0), b === this.last ? this.sinceLastUpdate += a : (this.sinceLastUpdate && (this.rate = (b - this.last) / this.sinceLastUpdate), this.catchup = (b - this.progress) / D.catchupTime, this.sinceLastUpdate = 0, this.last = b), b > this.progress && (this.progress += this.catchup * a), c = 1 - Math.pow(this.progress / 100, D.easeFactor), this.progress += c * this.rate * a, this.progress = Math.min(this.lastProgress + D.maxProgressPerFrame, this.progress), this.progress = Math.max(0, this.progress), this.progress = Math.min(100, this.progress), this.lastProgress = this.progress, this.progress }, a }(), L = null, H = null, r = null, M = null, p = null, s = null, j.running = !1, z = function() { return D.restartOnPushState ? j.restart() : void 0 }, null != window.history.pushState && (T = window.history.pushState, window.history.pushState = function() { return z(), T.apply(window.history, arguments) }), null != window.history.replaceState && (W = window.history.replaceState, window.history.replaceState = function() { return z(), W.apply(window.history, arguments) }), l = { ajax: a, elements: d, document: c, eventLag: f }, (B = function() { var a, c, d, e, f, g, h, i; for (j.sources = L = [], g = ["ajax", "elements", "document", "eventLag"], c = 0, e = g.length; e > c; c++) a = g[c], D[a] !== !1 && L.push(new l[a](D[a])); for (i = null != (h = D.extraSources) ? h : [], d = 0, f = i.length; f > d; d++) K = i[d], L.push(new K(D)); return j.bar = r = new b, H = [], M = new m })(), j.stop = function() { return j.trigger("stop"), j.running = !1, r.destroy(), s = !0, null != p && ("function" == typeof t && t(p), p = null), B() }, j.restart = function() { return j.trigger("restart"), j.stop(), j.start() }, j.go = function() { var a; return j.running = !0, r.render(), a = C(), s = !1, p = G(function(b, c) { var d, e, f, g, h, i, k, l, n, o, p, q, t, u, v, w; for (l = 100 - r.progress, e = p = 0, f = !0, i = q = 0, u = L.length; u > q; i = ++q) for (K = L[i], o = null != H[i] ? H[i] : H[i] = [], h = null != (w = K.elements) ? w : [K], k = t = 0, v = h.length; v > t; k = ++t) g = h[k], n = null != o[k] ? o[k] : o[k] = new m(g), f &= n.done, n.done || (e++, p += n.tick(b)); return d = p / e, r.update(M.tick(b, d)), r.done() || f || s ? (r.update(100), j.trigger("done"), setTimeout(function() { return r.finish(), j.running = !1, j.trigger("hide") }, Math.max(D.ghostTime, Math.max(D.minTime - (C() - a), 0)))) : c() }) }, j.start = function(a) { v(D, a), j.running = !0; try { r.render() } catch (b) { i = b } return document.querySelector(".pace") ? (j.trigger("start"), j.go()) : setTimeout(j.start, 50) }, "function" == typeof define && define.amd ? define(["pace"], function() { return j }) : "object" == typeof exports ? module.exports = j : D.startOnPageLoad && j.start() }).call(this); (function() { function c() { var e = false; if (e) { N("keydown", y) } if (t.keyboardSupport && !e) { T("keydown", y) } } function h() { if (!document.body) return; var e = document.body; var i = document.documentElement; var a = window.innerHeight; var f = e.scrollHeight; o = document.compatMode.indexOf("CSS") >= 0 ? i : e; u = e; c(); s = true; if (top != self) { r = true } else if (f > a && (e.offsetHeight <= a || i.offsetHeight <= a)) { var l = false; var h = function() { if (!l && i.scrollHeight != document.height) { l = true; setTimeout(function() { i.style.height = document.height + "px"; l = false }, 500) } }; i.style.height = "auto"; setTimeout(h, 10); if (o.offsetHeight <= a) { var p = document.createElement("div"); p.style.clear = "both"; e.appendChild(p) } } if (!t.fixedBackground && !n) { e.style.backgroundAttachment = "scroll"; i.style.backgroundAttachment = "scroll" } } function m(e, n, r, i) { i || (i = 1e3); k(n, r); if (t.accelerationMax != 1) { var s = +(new Date); var o = s - v; if (o < t.accelerationDelta) { var u = (1 + 30 / o) / 2; if (u > 1) { u = Math.min(u, t.accelerationMax); n *= u; r *= u } } v = +(new Date) } p.push({ x: n, y: r, lastX: n < 0 ? .99 : -.99, lastY: r < 0 ? .99 : -.99, start: +(new Date) }); if (d) { return } var a = e === document.body; var f = function(s) { var o = +(new Date); var u = 0; var l = 0; for (var c = 0; c < p.length; c++) { var h = p[c]; var v = o - h.start; var m = v >= t.animationTime; var g = m ? 1 : v / t.animationTime; if (t.pulseAlgorithm) { g = D(g) } var y = h.x * g - h.lastX >> 0; var b = h.y * g - h.lastY >> 0; u += y; l += b; h.lastX += y; h.lastY += b; if (m) { p.splice(c, 1); c-- } } if (a) { window.scrollBy(u, l) } else { if (u) e.scrollLeft += u; if (l) e.scrollTop += l } if (!n && !r) { p = [] } if (p.length) { M(f, e, i / t.frameRate + 1) } else { d = false } }; M(f, e, 0); d = true } function g(e) { if (!s) { h() } var n = e.target; var r = x(n); if (!r || e.defaultPrevented || C(u, "embed") || C(n, "embed") && /\.pdf/i.test(n.src)) { return true } var i = e.wheelDeltaX || 0; var o = e.wheelDeltaY || 0; if (!i && !o) { o = e.wheelDelta || 0 } if (!t.touchpadSupport && A(o)) { return true } if (Math.abs(i) > 1.2) { i *= t.stepSize / 120 } if (Math.abs(o) > 1.2) { o *= t.stepSize / 120 } m(r, -i, -o); return false; } function y(e) { var n = e.target; var r = e.ctrlKey || e.altKey || e.metaKey || e.shiftKey && e.keyCode !== l.spacebar; if (/input|textarea|select|embed/i.test(n.nodeName) || n.isContentEditable || e.defaultPrevented || r) { return true } if (C(n, "button") && e.keyCode === l.spacebar) { return true } var i, s = 0, o = 0; var a = x(u); var f = a.clientHeight; if (a == document.body) { f = window.innerHeight } switch (e.keyCode) { case l.up: o = -t.arrowScroll; break; case l.down: o = t.arrowScroll; break; case l.spacebar: i = e.shiftKey ? 1 : -1; o = -i * f * .9; break; case l.pageup: o = -f * .9; break; case l.pagedown: o = f * .9; break; case l.home: o = -a.scrollTop; break; case l.end: var c = a.scrollHeight - a.scrollTop - f; o = c > 0 ? c + 10 : 0; break; case l.left: s = -t.arrowScroll; break; case l.right: s = t.arrowScroll; break; default: return true } m(a, s, o); e.preventDefault() } function b(e) { u = e.target } function S(e, t) { for (var n = e.length; n--;) w[E(e[n])] = t; return t } function x(e) { var t = []; var n = o.scrollHeight; do { var i = w[E(e)]; if (i) { return S(t, i) } t.push(e); if (n === e.scrollHeight) { if (!r || o.clientHeight + 10 < n) { return S(t, document.body) } } else if (e.clientHeight + 10 < e.scrollHeight) { overflow = getComputedStyle(e, "").getPropertyValue("overflow-y"); if (overflow === "scroll" || overflow === "auto") { return S(t, e) } } } while (e = e.parentNode) } function T(e, t, n) { window.addEventListener(e, t, n || false) } function N(e, t, n) { window.removeEventListener(e, t, n || false) } function C(e, t) { return (e.nodeName || "").toLowerCase() === t.toLowerCase() } function k(e, t) { e = e > 0 ? 1 : -1; t = t > 0 ? 1 : -1; if (i.x !== e || i.y !== t) { i.x = e; i.y = t; p = []; v = 0 } } function A(e) { if (!e) return; e = Math.abs(e); f.push(e); f.shift(); clearTimeout(L); var t = O(f[0], 120) && O(f[1], 120) && O(f[2], 120); return !t } function O(e, t) { return Math.floor(e / t) == e / t } function _(e) { var n, r, i; e = e * t.pulseScale; if (e < 1) { n = e - (1 - Math.exp(-e)) } else { r = Math.exp(-1); e -= 1; i = 1 - Math.exp(-e); n = r + i * (1 - r) } return n * t.pulseNormalize } function D(e) { if (e >= 1) return 1; if (e <= 0) return 0; if (t.pulseNormalize == 1) { t.pulseNormalize /= _(1) } return _(e) } var e = { frameRate: 150, animationTime: 800, stepSize: 120, pulseAlgorithm: true, pulseScale: 8, pulseNormalize: 1, accelerationDelta: 20, accelerationMax: 1, keyboardSupport: true, arrowScroll: 50, touchpadSupport: true, fixedBackground: true, excluded: "" }; var t = e; var n = false; var r = false; var i = { x: 0, y: 0 }; var s = false; var o = document.documentElement; var u; var a; var f = [120, 120, 120]; var l = { left: 37, up: 38, right: 39, down: 40, spacebar: 32, pageup: 33, pagedown: 34, end: 35, home: 36 }; var t = e; var p = []; var d = false; var v = +(new Date); var w = {}; setInterval(function() { w = {} }, 10 * 1e3); var E = function() { var e = 0; return function(t) { return t.uniqueID || (t.uniqueID = e++) } }(); var L; var M = function() { return window.requestAnimationFrame || window.webkitRequestAnimationFrame || function(e, t, n) { window.setTimeout(e, n || 1e3 / 60) } }(); var P = /chrome/i.test(window.navigator.userAgent); var H = null; if ("onwheel" in document.createElement("div")) H = "wheel"; else if ("onmousewheel" in document.createElement("div")) H = "mousewheel"; if (H && P) { T(H, g); T("mousedown", b); T("load", h) } })(); (function(e) { e.fn.miniTip = function(t) { var n = { title: "", content: !1, delay: 300, anchor: "n", event: "hover", fadeIn: 200, fadeOut: 200, aHide: !0, maxW: "250px", offset: 5, stemOff: 0, doHide: !1 }, r = e.extend(n, t); e("#miniTip")[0] || e("body").append('
'); var i = e("#miniTip"), s = e("#miniTip_t"), o = e("#miniTip_c"), u = e("#miniTip_a"); return r.doHide ? (i.stop(!0, !0).fadeOut(r.fadeOut), !1) : this.each(function() { var t = e(this), n = r.content ? r.content : t.attr("title"); if (n != "" && typeof n != "undefined") { window.delay = !1; var a = !1, f = !0; r.content || t.removeAttr("title"), r.event == "hover" ? (t.hover(function() { i.removeAttr("click"), f = !0, l.call(this) }, function() { f = !1, c() }), r.aHide || i.hover(function() { a = !0 }, function() { a = !1, setTimeout(function() { !f && !i.attr("click") && c() }, 20) })) : r.event == "click" && (r.aHide = !0, t.click(function() { return i.attr("click", "t"), i.data("last_target") !== t ? l.call(this) : i.css("display") == "none" ? l.call(this) : c(), i.data("last_target", t), e("html").unbind("click").click(function(t) { i.css("display") == "block" && !e(t.target).closest("#miniTip").length && (e("html").unbind("click"), c()) }), !1 })); var l = function() { r.show && r.show.call(this, r), r.content && r.content != "" && (n = r.content), o.html(n), r.title != "" ? s.html(r.title).show() : s.hide(), r.render && r.render(i), u.removeAttr("class"), i.hide().width("").width(i.width()).css("max-width", r.maxW); var a = t.is("area"); if (a) { var f, l = [], c = [], h = t.attr("coords").split(","); function p(e, t) { return e - t } for (f = 0; f < h.length; f++) l.push(h[f++]), c.push(h[f]); var d = t.parent().attr("name"), v = e("img[usemap=\\#" + d + "]").offset(), m = parseInt(v.left, 10) + parseInt((parseInt(l.sort(p)[0], 10) + parseInt(l.sort(p)[l.length - 1], 10)) / 2, 10), g = parseInt(v.top, 10) + parseInt((parseInt(c.sort(p)[0], 10) + parseInt(c.sort(p)[c.length - 1], 10)) / 2, 10) } else var g = parseInt(t.offset().top, 10), m = parseInt(t.offset().left, 10); var y = a ? 0 : parseInt(t.outerWidth(), 10), b = a ? 0 : parseInt(t.outerHeight(), 10), w = i.outerWidth(), E = i.outerHeight(), S = Math.round(m + Math.round((y - w) / 2)), x = Math.round(g + b + r.offset + 8), T = Math.round(w - 16) / 2 - parseInt(i.css("borderLeftWidth"), 10), N = 0, C = m + y + w + r.offset + 8 > parseInt(e(window).width(), 10), k = w + r.offset + 8 > m, L = E + r.offset + 8 > g - e(window).scrollTop(), A = g + b + E + r.offset + 8 > parseInt(e(window).height() + e(window).scrollTop(), 10), O = r.anchor; if (k || r.anchor == "e" && !C) { if (r.anchor == "w" || r.anchor == "e") O = "e", N = Math.round(E / 2 - 8 - parseInt(i.css("borderRightWidth"), 10)), T = -8 - parseInt(i.css("borderRightWidth"), 10), S = m + y + r.offset + 8, x = Math.round(g + b / 2 - E / 2) } else if (C || r.anchor == "w" && !k) if (r.anchor == "w" || r.anchor == "e") O = "w", N = Math.round(E / 2 - 8 - parseInt(i.css("borderLeftWidth"), 10)), T = w - parseInt(i.css("borderLeftWidth"), 10), S = m - w - r.offset - 8, x = Math.round(g + b / 2 - E / 2); if (A || r.anchor == "n" && !L) { if (r.anchor == "n" || r.anchor == "s") O = "n", N = E - parseInt(i.css("borderTopWidth"), 10), x = g - (E + r.offset + 8) } else if (L || r.anchor == "s" && !A) if (r.anchor == "n" || r.anchor == "s") O = "s", N = -8 - parseInt(i.css("borderBottomWidth"), 10), x = g + b + r.offset + 8; r.anchor == "n" || r.anchor == "s" ? w / 2 > m ? (S = S < 0 ? T + S : T, T = 0) : m + w / 2 > parseInt(e(window).width(), 10) && (S -= T, T *= 2) : L ? (x += N, N = 0) : A && (x -= N, N *= 2), u.css({ "margin-left": (T > 0 ? T : T + parseInt(r.stemOff, 10) / 2) + "px", "margin-top": N + "px" }).attr("class", O), delay && clearTimeout(delay), delay = setTimeout(function() { i.css({ "margin-left": S + "px", "margin-top": x + "px" }).stop(!0, !0).fadeIn(r.fadeIn) }, r.delay) }, c = function() { if (!r.aHide && !a || r.aHide) delay && clearTimeout(delay), delay = setTimeout(function() { h() }, r.delay) }, h = function() { !r.aHide && !a || r.aHide ? (i.stop(!0, !0).fadeOut(r.fadeOut), r.hide && r.hide.call(this)) : setTimeout(function() { c() }, 200) } } }) } })(jQuery); ! function(a) { "function" == typeof define && define.amd ? define(["jquery"], a) : a(jQuery) }(function(a) { function b(b) { var c = {}, d = /^jQuery\d+$/; return a.each(b.attributes, function(a, b) { b.specified && !d.test(b.name) && (c[b.name] = b.value) }), c } function c(b, c) { var d = this, f = a(d); if (d.value == f.attr("placeholder") && f.hasClass(m.customClass)) if (f.data("placeholder-password")) { if (f = f.hide().nextAll('input[type="password"]:first').show().attr("id", f.removeAttr("id").data("placeholder-id")), b === !0) return f[0].value = c; f.focus() } else d.value = "", f.removeClass(m.customClass), d == e() && d.select() } function d() { var d, e = this, f = a(e), g = this.id; if ("" === e.value) { if ("password" === e.type) { if (!f.data("placeholder-textinput")) { try { d = f.clone().attr({ type: "text" }) } catch (h) { d = a("").attr(a.extend(b(this), { type: "text" })) } d.removeAttr("name").data({ "placeholder-password": f, "placeholder-id": g }).bind("focus.placeholder", c), f.data({ "placeholder-textinput": d, "placeholder-id": g }).before(d) } f = f.removeAttr("id").hide().prevAll('input[type="text"]:first').attr("id", g).show() } f.addClass(m.customClass), f[0].value = f.attr("placeholder") } else f.removeClass(m.customClass) } function e() { try { return document.activeElement } catch (a) {} } var f, g, h = "[object OperaMini]" == Object.prototype.toString.call(window.operamini), i = "placeholder" in document.createElement("input") && !h, j = "placeholder" in document.createElement("textarea") && !h, k = a.valHooks, l = a.propHooks; if (i && j) g = a.fn.placeholder = function() { return this }, g.input = g.textarea = !0; else { var m = {}; g = a.fn.placeholder = function(b) { var e = { customClass: "placeholder" }; m = a.extend({}, e, b); var f = this; return f.filter((i ? "textarea" : ":input") + "[placeholder]").not("." + m.customClass).bind({ "focus.placeholder": c, "blur.placeholder": d }).data("placeholder-enabled", !0).trigger("blur.placeholder"), f }, g.input = i, g.textarea = j, f = { get: function(b) { var c = a(b), d = c.data("placeholder-password"); return d ? d[0].value : c.data("placeholder-enabled") && c.hasClass("placeholder") ? "" : b.value }, set: function(b, f) { var g = a(b), h = g.data("placeholder-password"); return h ? h[0].value = f : g.data("placeholder-enabled") ? ("" === f ? (b.value = f, b != e() && d.call(b)) : g.hasClass(m.customClass) ? c.call(b, !0, f) || (b.value = f) : b.value = f, g) : b.value = f } }, i || (k.input = f, l.value = f), j || (k.textarea = f, l.value = f), a(function() { a(document).delegate("form", "submit.placeholder", function() { var b = a("." + m.customClass, this).each(c); setTimeout(function() { b.each(d) }, 10) }) }), a(window).bind("beforeunload.placeholder", function() { a("." + m.customClass).each(function() { this.value = "" }) }) } }); (jQuery);