/*! VelocityJS.org (1.5.0). (C) 2014 Julian Shapiro. MIT @license: en.wikipedia.org/wiki/MIT_License */ /*! VelocityJS.org jQuery Shim (1.0.1). (C) 2014 The jQuery Foundation. MIT @license: en.wikipedia.org/wiki/MIT_License. */ !function(a) { "use strict"; function b(a) { var b = a.length , d = c.type(a); return "function" !== d && !c.isWindow(a) && (!(1 !== a.nodeType || !b) || ("array" === d || 0 === b || "number" == typeof b && b > 0 && b - 1 in a)) } if (!a.jQuery) { var c = function(a, b) { return new c.fn.init(a,b) }; c.isWindow = function(a) { return a && a === a.window } , c.type = function(a) { return a ? "object" == typeof a || "function" == typeof a ? e[g.call(a)] || "object" : typeof a : a + "" } , c.isArray = Array.isArray || function(a) { return "array" === c.type(a) } , c.isPlainObject = function(a) { var b; if (!a || "object" !== c.type(a) || a.nodeType || c.isWindow(a)) return !1; try { if (a.constructor && !f.call(a, "constructor") && !f.call(a.constructor.prototype, "isPrototypeOf")) return !1 } catch (d) { return !1 } for (b in a) ; return b === undefined || f.call(a, b) } , c.each = function(a, c, d) { var e = 0 , f = a.length , g = b(a); if (d) { if (g) for (; e < f && c.apply(a[e], d) !== !1; e++) ; else for (e in a) if (a.hasOwnProperty(e) && c.apply(a[e], d) === !1) break } else if (g) for (; e < f && c.call(a[e], e, a[e]) !== !1; e++) ; else for (e in a) if (a.hasOwnProperty(e) && c.call(a[e], e, a[e]) === !1) break; return a } , c.data = function(a, b, e) { if (e === undefined) { var f = a[c.expando] , g = f && d[f]; if (b === undefined) return g; if (g && b in g) return g[b] } else if (b !== undefined) { var h = a[c.expando] || (a[c.expando] = ++c.uuid); return d[h] = d[h] || {}, d[h][b] = e, e } } , c.removeData = function(a, b) { var e = a[c.expando] , f = e && d[e]; f && (b ? c.each(b, function(a, b) { delete f[b] }) : delete d[e]) } , c.extend = function() { var a, b, d, e, f, g, h = arguments[0] || {}, i = 1, j = arguments.length, k = !1; for ("boolean" == typeof h && (k = h, h = arguments[i] || {}, i++), "object" != typeof h && "function" !== c.type(h) && (h = {}), i === j && (h = this, i--); i < j; i++) if (f = arguments[i]) for (e in f) f.hasOwnProperty(e) && (a = h[e], d = f[e], h !== d && (k && d && (c.isPlainObject(d) || (b = c.isArray(d))) ? (b ? (b = !1, g = a && c.isArray(a) ? a : []) : g = a && c.isPlainObject(a) ? a : {}, h[e] = c.extend(k, g, d)) : d !== undefined && (h[e] = d))); return h } , c.queue = function(a, d, e) { if (a) { d = (d || "fx") + "queue"; var f = c.data(a, d); return e ? (!f || c.isArray(e) ? f = c.data(a, d, function(a, c) { var d = c || []; return a && (b(Object(a)) ? function(a, b) { for (var c = +b.length, d = 0, e = a.length; d < c; ) a[e++] = b[d++]; if (c !== c) for (; b[d] !== undefined; ) a[e++] = b[d++]; a.length = e, a }(d, "string" == typeof a ? [a] : a) : [].push.call(d, a)), d }(e)) : f.push(e), f) : f || [] } } , c.dequeue = function(a, b) { c.each(a.nodeType ? [a] : a, function(a, d) { b = b || "fx"; var e = c.queue(d, b) , f = e.shift(); "inprogress" === f && (f = e.shift()), f && ("fx" === b && e.unshift("inprogress"), f.call(d, function() { c.dequeue(d, b) })) }) } , c.fn = c.prototype = { init: function(a) { if (a.nodeType) return this[0] = a, this; throw new Error("Not a DOM node.") }, offset: function() { var b = this[0].getBoundingClientRect ? this[0].getBoundingClientRect() : { top: 0, left: 0 }; return { top: b.top + (a.pageYOffset || document.scrollTop || 0) - (document.clientTop || 0), left: b.left + (a.pageXOffset || document.scrollLeft || 0) - (document.clientLeft || 0) } }, position: function() { var a = this[0] , b = function(a) { for (var b = a.offsetParent; b && "html" !== b.nodeName.toLowerCase() && b.style && "static" === b.style.position; ) b = b.offsetParent; return b || document }(a) , d = this.offset() , e = /^(?:body|html)$/i.test(b.nodeName) ? { top: 0, left: 0 } : c(b).offset(); return d.top -= parseFloat(a.style.marginTop) || 0, d.left -= parseFloat(a.style.marginLeft) || 0, b.style && (e.top += parseFloat(b.style.borderTopWidth) || 0, e.left += parseFloat(b.style.borderLeftWidth) || 0), { top: d.top - e.top, left: d.left - e.left } } }; var d = {}; c.expando = "velocity" + (new Date).getTime(), c.uuid = 0; for (var e = {}, f = e.hasOwnProperty, g = e.toString, h = "Boolean Number String Function Array Date RegExp Object Error".split(" "), i = 0; i < h.length; i++) e["[object " + h[i] + "]"] = h[i].toLowerCase(); c.fn.init.prototype = c.fn, a.Velocity = { Utilities: c } } }(window), function(a) { "use strict"; "object" == typeof module && "object" == typeof module.exports ? module.exports = a() : "function" == typeof define && define.amd ? define(a) : a() }(function() { "use strict"; return function(a, b, c, d) { function e(a) { for (var b = -1, c = a ? a.length : 0, d = []; ++b < c; ) { var e = a[b]; e && d.push(e) } return d } function f(a) { return u.isWrapped(a) ? a = s.call(a) : u.isNode(a) && (a = [a]), a } function g(a) { var b = o.data(a, "velocity"); return null === b ? d : b } function h(a, b) { var c = g(a); c && c.delayTimer && !c.delayPaused && (c.delayRemaining = c.delay - b + c.delayBegin, c.delayPaused = !0, clearTimeout(c.delayTimer.setTimeout)) } function i(a, b) { var c = g(a); c && c.delayTimer && c.delayPaused && (c.delayPaused = !1, c.delayTimer.setTimeout = setTimeout(c.delayTimer.next, c.delayRemaining)) } function j(a) { return function(b) { return Math.round(b * a) * (1 / a) } } function k(a, c, d, e) { function f(a, b) { return 1 - 3 * b + 3 * a } function g(a, b) { return 3 * b - 6 * a } function h(a) { return 3 * a } function i(a, b, c) { return ((f(b, c) * a + g(b, c)) * a + h(b)) * a } function j(a, b, c) { return 3 * f(b, c) * a * a + 2 * g(b, c) * a + h(b) } function k(b, c) { for (var e = 0; e < p; ++e) { var f = j(c, a, d); if (0 === f) return c; c -= (i(c, a, d) - b) / f } return c } function l() { for (var b = 0; b < t; ++b) x[b] = i(b * u, a, d) } function m(b, c, e) { var f, g, h = 0; do { g = c + (e - c) / 2, f = i(g, a, d) - b, f > 0 ? e = g : c = g } while (Math.abs(f) > r && ++h < s); return g } function n(b) { for (var c = 0, e = 1, f = t - 1; e !== f && x[e] <= b; ++e) c += u; --e; var g = (b - x[e]) / (x[e + 1] - x[e]) , h = c + g * u , i = j(h, a, d); return i >= q ? k(b, h) : 0 === i ? h : m(b, c, c + u) } function o() { y = !0, a === c && d === e || l() } var p = 4 , q = .001 , r = 1e-7 , s = 10 , t = 11 , u = 1 / (t - 1) , v = "Float32Array"in b; if (4 !== arguments.length) return !1; for (var w = 0; w < 4; ++w) if ("number" != typeof arguments[w] || isNaN(arguments[w]) || !isFinite(arguments[w])) return !1; a = Math.min(a, 1), d = Math.min(d, 1), a = Math.max(a, 0), d = Math.max(d, 0); var x = v ? new Float32Array(t) : new Array(t) , y = !1 , z = function(b) { return y || o(), a === c && d === e ? b : 0 === b ? 0 : 1 === b ? 1 : i(n(b), c, e) }; z.getControlPoints = function() { return [{ x: a, y: c }, { x: d, y: e }] } ; var A = "generateBezier(" + [a, c, d, e] + ")"; return z.toString = function() { return A } , z } function l(a, b) { var c = a; return u.isString(a) ? y.Easings[a] || (c = !1) : c = u.isArray(a) && 1 === a.length ? j.apply(null, a) : u.isArray(a) && 2 === a.length ? z.apply(null, a.concat([b])) : !(!u.isArray(a) || 4 !== a.length) && k.apply(null, a), c === !1 && (c = y.Easings[y.defaults.easing] ? y.defaults.easing : x), c } function m(a) { if (a) { var b = y.timestamp && a !== !0 ? a : r.now() , c = y.State.calls.length; c > 1e4 && (y.State.calls = e(y.State.calls), c = y.State.calls.length); for (var f = 0; f < c; f++) if (y.State.calls[f]) { var h = y.State.calls[f] , i = h[0] , j = h[2] , k = h[3] , l = !!k , q = null , s = h[5] , t = h[6]; if (k || (k = y.State.calls[f][3] = b - 16), s) { if (s.resume !== !0) continue; k = h[3] = Math.round(b - t - 16), h[5] = null } t = h[6] = b - k; for (var v = Math.min(t / j.duration, 1), w = 0, x = i.length; w < x; w++) { var z = i[w] , B = z.element; if (g(B)) { var D = !1; if (j.display !== d && null !== j.display && "none" !== j.display) { if ("flex" === j.display) { var E = ["-webkit-box", "-moz-box", "-ms-flexbox", "-webkit-flex"]; o.each(E, function(a, b) { A.setPropertyValue(B, "display", b) }) } A.setPropertyValue(B, "display", j.display) } j.visibility !== d && "hidden" !== j.visibility && A.setPropertyValue(B, "visibility", j.visibility); for (var F in z) if (z.hasOwnProperty(F) && "element" !== F) { var G, H = z[F], I = u.isString(H.easing) ? y.Easings[H.easing] : H.easing; if (u.isString(H.pattern)) { var J = 1 === v ? function(a, b, c) { var d = H.endValue[b]; return c ? Math.round(d) : d } : function(a, b, c) { var d = H.startValue[b] , e = H.endValue[b] - d , f = d + e * I(v, j, e); return c ? Math.round(f) : f } ; G = H.pattern.replace(/{(\d+)(!)?}/g, J) } else if (1 === v) G = H.endValue; else { var K = H.endValue - H.startValue; G = H.startValue + K * I(v, j, K) } if (!l && G === H.currentValue) continue; if (H.currentValue = G, "tween" === F) q = G; else { var L; if (A.Hooks.registered[F]) { L = A.Hooks.getRoot(F); var M = g(B).rootPropertyValueCache[L]; M && (H.rootPropertyValue = M) } var N = A.setPropertyValue(B, F, H.currentValue + (p < 9 && 0 === parseFloat(G) ? "" : H.unitType), H.rootPropertyValue, H.scrollData); A.Hooks.registered[F] && (A.Normalizations.registered[L] ? g(B).rootPropertyValueCache[L] = A.Normalizations.registered[L]("extract", null, N[1]) : g(B).rootPropertyValueCache[L] = N[1]), "transform" === N[0] && (D = !0) } } j.mobileHA && g(B).transformCache.translate3d === d && (g(B).transformCache.translate3d = "(0px, 0px, 0px)", D = !0), D && A.flushTransformCache(B) } } j.display !== d && "none" !== j.display && (y.State.calls[f][2].display = !1), j.visibility !== d && "hidden" !== j.visibility && (y.State.calls[f][2].visibility = !1), j.progress && j.progress.call(h[1], h[1], v, Math.max(0, k + j.duration - b), k, q), 1 === v && n(f) } } y.State.isTicking && C(m) } function n(a, b) { if (!y.State.calls[a]) return !1; for (var c = y.State.calls[a][0], e = y.State.calls[a][1], f = y.State.calls[a][2], h = y.State.calls[a][4], i = !1, j = 0, k = c.length; j < k; j++) { var l = c[j].element; b || f.loop || ("none" === f.display && A.setPropertyValue(l, "display", f.display), "hidden" === f.visibility && A.setPropertyValue(l, "visibility", f.visibility)); var m = g(l); if (f.loop !== !0 && (o.queue(l)[1] === d || !/\.velocityQueueEntryFlag/i.test(o.queue(l)[1])) && m) { m.isAnimating = !1, m.rootPropertyValueCache = {}; var n = !1; o.each(A.Lists.transforms3D, function(a, b) { var c = /^scale/.test(b) ? 1 : 0 , e = m.transformCache[b]; m.transformCache[b] !== d && new RegExp("^\\(" + c + "[^.]").test(e) && (n = !0, delete m.transformCache[b]) }), f.mobileHA && (n = !0, delete m.transformCache.translate3d), n && A.flushTransformCache(l), A.Values.removeClass(l, "velocity-animating") } if (!b && f.complete && !f.loop && j === k - 1) try { f.complete.call(e, e) } catch (r) { setTimeout(function() { throw r }, 1) } h && f.loop !== !0 && h(e), m && f.loop === !0 && !b && (o.each(m.tweensContainer, function(a, b) { if (/^rotate/.test(a) && (parseFloat(b.startValue) - parseFloat(b.endValue)) % 360 == 0) { var c = b.startValue; b.startValue = b.endValue, b.endValue = c } /^backgroundPosition/.test(a) && 100 === parseFloat(b.endValue) && "%" === b.unitType && (b.endValue = 0, b.startValue = 100) }), y(l, "reverse", { loop: !0, delay: f.delay })), f.queue !== !1 && o.dequeue(l, f.queue) } y.State.calls[a] = !1; for (var p = 0, q = y.State.calls.length; p < q; p++) if (y.State.calls[p] !== !1) { i = !0; break } i === !1 && (y.State.isTicking = !1, delete y.State.calls, y.State.calls = []) } var o, p = function() { if (c.documentMode) return c.documentMode; for (var a = 7; a > 4; a--) { var b = c.createElement("div"); if (b.innerHTML = "", b.getElementsByTagName("span").length) return b = null, a } return d }(), q = function() { var a = 0; return b.webkitRequestAnimationFrame || b.mozRequestAnimationFrame || function(b) { var c, d = (new Date).getTime(); return c = Math.max(0, 16 - (d - a)), a = d + c, setTimeout(function() { b(d + c) }, c) } }(), r = function() { var a = b.performance || {}; if ("function" != typeof a.now) { var c = a.timing && a.timing.navigationStart ? a.timing.navigationStart : (new Date).getTime(); a.now = function() { return (new Date).getTime() - c } } return a }(), s = function() { var a = Array.prototype.slice; try { return a.call(c.documentElement), a } catch (b) { return function(b, c) { var d = this.length; if ("number" != typeof b && (b = 0), "number" != typeof c && (c = d), this.slice) return a.call(this, b, c); var e, f = [], g = b >= 0 ? b : Math.max(0, d + b), h = c < 0 ? d + c : Math.min(c, d), i = h - g; if (i > 0) if (f = new Array(i), this.charAt) for (e = 0; e < i; e++) f[e] = this.charAt(g + e); else for (e = 0; e < i; e++) f[e] = this[g + e]; return f } } }(), t = function() { return Array.prototype.includes ? function(a, b) { return a.includes(b) } : Array.prototype.indexOf ? function(a, b) { return a.indexOf(b) >= 0 } : function(a, b) { for (var c = 0; c < a.length; c++) if (a[c] === b) return !0; return !1 } }, u = { isNumber: function(a) { return "number" == typeof a }, isString: function(a) { return "string" == typeof a }, isArray: Array.isArray || function(a) { return "[object Array]" === Object.prototype.toString.call(a) } , isFunction: function(a) { return "[object Function]" === Object.prototype.toString.call(a) }, isNode: function(a) { return a && a.nodeType }, isWrapped: function(a) { return a && a !== b && u.isNumber(a.length) && !u.isString(a) && !u.isFunction(a) && !u.isNode(a) && (0 === a.length || u.isNode(a[0])) }, isSVG: function(a) { return b.SVGElement && a instanceof b.SVGElement }, isEmptyObject: function(a) { for (var b in a) if (a.hasOwnProperty(b)) return !1; return !0 } }, v = !1; if (a.fn && a.fn.jquery ? (o = a, v = !0) : o = b.Velocity.Utilities, p <= 8 && !v) throw new Error("Velocity: IE8 and below require jQuery to be loaded before Velocity."); if (p <= 7) return void (jQuery.fn.velocity = jQuery.fn.animate); var w = 400 , x = "swing" , y = { State: { isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent), isAndroid: /Android/i.test(navigator.userAgent), isGingerbread: /Android 2\.3\.[3-7]/i.test(navigator.userAgent), isChrome: b.chrome, isFirefox: /Firefox/i.test(navigator.userAgent), prefixElement: c.createElement("div"), prefixMatches: {}, scrollAnchor: null, scrollPropertyLeft: null, scrollPropertyTop: null, isTicking: !1, calls: [], delayedElements: { count: 0 } }, CSS: {}, Utilities: o, Redirects: {}, Easings: {}, Promise: b.Promise, defaults: { queue: "", duration: w, easing: x, begin: d, complete: d, progress: d, display: d, visibility: d, loop: !1, delay: !1, mobileHA: !0, _cacheValues: !0, promiseRejectEmpty: !0 }, init: function(a) { o.data(a, "velocity", { isSVG: u.isSVG(a), isAnimating: !1, computedStyle: null, tweensContainer: null, rootPropertyValueCache: {}, transformCache: {} }) }, hook: null, mock: !1, version: { major: 1, minor: 5, patch: 0 }, debug: !1, timestamp: !0, pauseAll: function(a) { var b = (new Date).getTime(); o.each(y.State.calls, function(b, c) { if (c) { if (a !== d && (c[2].queue !== a || c[2].queue === !1)) return !0; c[5] = { resume: !1 } } }), o.each(y.State.delayedElements, function(a, c) { c && h(c, b) }) }, resumeAll: function(a) { var b = (new Date).getTime(); o.each(y.State.calls, function(b, c) { if (c) { if (a !== d && (c[2].queue !== a || c[2].queue === !1)) return !0; c[5] && (c[5].resume = !0) } }), o.each(y.State.delayedElements, function(a, c) { c && i(c, b) }) } }; b.pageYOffset !== d ? (y.State.scrollAnchor = b, y.State.scrollPropertyLeft = "pageXOffset", y.State.scrollPropertyTop = "pageYOffset") : (y.State.scrollAnchor = c.documentElement || c.body.parentNode || c.body, y.State.scrollPropertyLeft = "scrollLeft", y.State.scrollPropertyTop = "scrollTop"); var z = function() { function a(a) { return -a.tension * a.x - a.friction * a.v } function b(b, c, d) { var e = { x: b.x + d.dx * c, v: b.v + d.dv * c, tension: b.tension, friction: b.friction }; return { dx: e.v, dv: a(e) } } function c(c, d) { var e = { dx: c.v, dv: a(c) } , f = b(c, .5 * d, e) , g = b(c, .5 * d, f) , h = b(c, d, g) , i = 1 / 6 * (e.dx + 2 * (f.dx + g.dx) + h.dx) , j = 1 / 6 * (e.dv + 2 * (f.dv + g.dv) + h.dv); return c.x = c.x + i * d, c.v = c.v + j * d, c } return function d(a, b, e) { var f, g, h, i = { x: -1, v: 0, tension: null, friction: null }, j = [0], k = 0; for (a = parseFloat(a) || 500, b = parseFloat(b) || 20, e = e || null, i.tension = a, i.friction = b, f = null !== e, f ? (k = d(a, b), g = k / e * .016) : g = .016; ; ) if (h = c(h || i, g), j.push(1 + h.x), k += 16, !(Math.abs(h.x) > 1e-4 && Math.abs(h.v) > 1e-4)) break; return f ? function(a) { return j[a * (j.length - 1) | 0] } : k } }(); y.Easings = { linear: function(a) { return a }, swing: function(a) { return .5 - Math.cos(a * Math.PI) / 2 }, spring: function(a) { return 1 - Math.cos(4.5 * a * Math.PI) * Math.exp(6 * -a) } }, o.each([["ease", [.25, .1, .25, 1]], ["ease-in", [.42, 0, 1, 1]], ["ease-out", [0, 0, .58, 1]], ["ease-in-out", [.42, 0, .58, 1]], ["easeInSine", [.47, 0, .745, .715]], ["easeOutSine", [.39, .575, .565, 1]], ["easeInOutSine", [.445, .05, .55, .95]], ["easeInQuad", [.55, .085, .68, .53]], ["easeOutQuad", [.25, .46, .45, .94]], ["easeInOutQuad", [.455, .03, .515, .955]], ["easeInCubic", [.55, .055, .675, .19]], ["easeOutCubic", [.215, .61, .355, 1]], ["easeInOutCubic", [.645, .045, .355, 1]], ["easeInQuart", [.895, .03, .685, .22]], ["easeOutQuart", [.165, .84, .44, 1]], ["easeInOutQuart", [.77, 0, .175, 1]], ["easeInQuint", [.755, .05, .855, .06]], ["easeOutQuint", [.23, 1, .32, 1]], ["easeInOutQuint", [.86, 0, .07, 1]], ["easeInExpo", [.95, .05, .795, .035]], ["easeOutExpo", [.19, 1, .22, 1]], ["easeInOutExpo", [1, 0, 0, 1]], ["easeInCirc", [.6, .04, .98, .335]], ["easeOutCirc", [.075, .82, .165, 1]], ["easeInOutCirc", [.785, .135, .15, .86]]], function(a, b) { y.Easings[b[0]] = k.apply(null, b[1]) }); var A = y.CSS = { RegEx: { isHex: /^#([A-f\d]{3}){1,2}$/i, valueUnwrap: /^[A-z]+\((.*)\)$/i, wrappedValueAlreadyExtracted: /[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/, valueSplit: /([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi }, Lists: { colors: ["fill", "stroke", "stopColor", "color", "backgroundColor", "borderColor", "borderTopColor", "borderRightColor", "borderBottomColor", "borderLeftColor", "outlineColor"], transformsBase: ["translateX", "translateY", "scale", "scaleX", "scaleY", "skewX", "skewY", "rotateZ"], transforms3D: ["transformPerspective", "translateZ", "scaleZ", "rotateX", "rotateY"], units: ["%", "em", "ex", "ch", "rem", "vw", "vh", "vmin", "vmax", "cm", "mm", "Q", "in", "pc", "pt", "px", "deg", "grad", "rad", "turn", "s", "ms"], colorNames: { aliceblue: "240,248,255", antiquewhite: "250,235,215", aquamarine: "127,255,212", aqua: "0,255,255", azure: "240,255,255", beige: "245,245,220", bisque: "255,228,196", black: "0,0,0", blanchedalmond: "255,235,205", blueviolet: "138,43,226", blue: "0,0,255", brown: "165,42,42", burlywood: "222,184,135", cadetblue: "95,158,160", chartreuse: "127,255,0", chocolate: "210,105,30", coral: "255,127,80", cornflowerblue: "100,149,237", cornsilk: "255,248,220", crimson: "220,20,60", cyan: "0,255,255", darkblue: "0,0,139", darkcyan: "0,139,139", darkgoldenrod: "184,134,11", darkgray: "169,169,169", darkgrey: "169,169,169", darkgreen: "0,100,0", darkkhaki: "189,183,107", darkmagenta: "139,0,139", darkolivegreen: "85,107,47", darkorange: "255,140,0", darkorchid: "153,50,204", darkred: "139,0,0", darksalmon: "233,150,122", darkseagreen: "143,188,143", darkslateblue: "72,61,139", darkslategray: "47,79,79", darkturquoise: "0,206,209", darkviolet: "148,0,211", deeppink: "255,20,147", deepskyblue: "0,191,255", dimgray: "105,105,105", dimgrey: "105,105,105", dodgerblue: "30,144,255", firebrick: "178,34,34", floralwhite: "255,250,240", forestgreen: "34,139,34", fuchsia: "255,0,255", gainsboro: "220,220,220", ghostwhite: "248,248,255", gold: "255,215,0", goldenrod: "218,165,32", gray: "128,128,128", grey: "128,128,128", greenyellow: "173,255,47", green: "0,128,0", honeydew: "240,255,240", hotpink: "255,105,180", indianred: "205,92,92", indigo: "75,0,130", ivory: "255,255,240", khaki: "240,230,140", lavenderblush: "255,240,245", lavender: "230,230,250", lawngreen: "124,252,0", lemonchiffon: "255,250,205", lightblue: "173,216,230", lightcoral: "240,128,128", lightcyan: "224,255,255", lightgoldenrodyellow: "250,250,210", lightgray: "211,211,211", lightgrey: "211,211,211", lightgreen: "144,238,144", lightpink: "255,182,193", lightsalmon: "255,160,122", lightseagreen: "32,178,170", lightskyblue: "135,206,250", lightslategray: "119,136,153", lightsteelblue: "176,196,222", lightyellow: "255,255,224", limegreen: "50,205,50", lime: "0,255,0", linen: "250,240,230", magenta: "255,0,255", maroon: "128,0,0", mediumaquamarine: "102,205,170", mediumblue: "0,0,205", mediumorchid: "186,85,211", mediumpurple: "147,112,219", mediumseagreen: "60,179,113", mediumslateblue: "123,104,238", mediumspringgreen: "0,250,154", mediumturquoise: "72,209,204", mediumvioletred: "199,21,133", midnightblue: "25,25,112", mintcream: "245,255,250", mistyrose: "255,228,225", moccasin: "255,228,181", navajowhite: "255,222,173", navy: "0,0,128", oldlace: "253,245,230", olivedrab: "107,142,35", olive: "128,128,0", orangered: "255,69,0", orange: "255,165,0", orchid: "218,112,214", palegoldenrod: "238,232,170", palegreen: "152,251,152", paleturquoise: "175,238,238", palevioletred: "219,112,147", papayawhip: "255,239,213", peachpuff: "255,218,185", peru: "205,133,63", pink: "255,192,203", plum: "221,160,221", powderblue: "176,224,230", purple: "128,0,128", red: "255,0,0", rosybrown: "188,143,143", royalblue: "65,105,225", saddlebrown: "139,69,19", salmon: "250,128,114", sandybrown: "244,164,96", seagreen: "46,139,87", seashell: "255,245,238", sienna: "160,82,45", silver: "192,192,192", skyblue: "135,206,235", slateblue: "106,90,205", slategray: "112,128,144", snow: "255,250,250", springgreen: "0,255,127", steelblue: "70,130,180", tan: "210,180,140", teal: "0,128,128", thistle: "216,191,216", tomato: "255,99,71", turquoise: "64,224,208", violet: "238,130,238", wheat: "245,222,179", whitesmoke: "245,245,245", white: "255,255,255", yellowgreen: "154,205,50", yellow: "255,255,0" } }, Hooks: { templates: { textShadow: ["Color X Y Blur", "black 0px 0px 0px"], boxShadow: ["Color X Y Blur Spread", "black 0px 0px 0px 0px"], clip: ["Top Right Bottom Left", "0px 0px 0px 0px"], backgroundPosition: ["X Y", "0% 0%"], transformOrigin: ["X Y Z", "50% 50% 0px"], perspectiveOrigin: ["X Y", "50% 50%"] }, registered: {}, register: function() { for (var a = 0; a < A.Lists.colors.length; a++) { var b = "color" === A.Lists.colors[a] ? "0 0 0 1" : "255 255 255 1"; A.Hooks.templates[A.Lists.colors[a]] = ["Red Green Blue Alpha", b] } var c, d, e; if (p) for (c in A.Hooks.templates) if (A.Hooks.templates.hasOwnProperty(c)) { d = A.Hooks.templates[c], e = d[0].split(" "); var f = d[1].match(A.RegEx.valueSplit); "Color" === e[0] && (e.push(e.shift()), f.push(f.shift()), A.Hooks.templates[c] = [e.join(" "), f.join(" ")]) } for (c in A.Hooks.templates) if (A.Hooks.templates.hasOwnProperty(c)) { d = A.Hooks.templates[c], e = d[0].split(" "); for (var g in e) if (e.hasOwnProperty(g)) { var h = c + e[g] , i = g; A.Hooks.registered[h] = [c, i] } } }, getRoot: function(a) { var b = A.Hooks.registered[a]; return b ? b[0] : a }, getUnit: function(a, b) { var c = (a.substr(b || 0, 5).match(/^[a-z%]+/) || [])[0] || ""; return c && t(A.Lists.units, c) ? c : "" }, fixColors: function(a) { return a.replace(/(rgba?\(\s*)?(\b[a-z]+\b)/g, function(a, b, c) { return A.Lists.colorNames.hasOwnProperty(c) ? (b ? b : "rgba(") + A.Lists.colorNames[c] + (b ? "" : ",1)") : b + c }) }, cleanRootPropertyValue: function(a, b) { return A.RegEx.valueUnwrap.test(b) && (b = b.match(A.RegEx.valueUnwrap)[1]), A.Values.isCSSNullValue(b) && (b = A.Hooks.templates[a][1]), b }, extractValue: function(a, b) { var c = A.Hooks.registered[a]; if (c) { var d = c[0] , e = c[1]; return b = A.Hooks.cleanRootPropertyValue(d, b), b.toString().match(A.RegEx.valueSplit)[e] } return b }, injectValue: function(a, b, c) { var d = A.Hooks.registered[a]; if (d) { var e, f = d[0], g = d[1]; return c = A.Hooks.cleanRootPropertyValue(f, c), e = c.toString().match(A.RegEx.valueSplit), e[g] = b, e.join(" ") } return c } }, Normalizations: { registered: { clip: function(a, b, c) { switch (a) { case "name": return "clip"; case "extract": var d; return A.RegEx.wrappedValueAlreadyExtracted.test(c) ? d = c : (d = c.toString().match(A.RegEx.valueUnwrap), d = d ? d[1].replace(/,(\s+)?/g, " ") : c), d; case "inject": return "rect(" + c + ")" } }, blur: function(a, b, c) { switch (a) { case "name": return y.State.isFirefox ? "filter" : "-webkit-filter"; case "extract": var d = parseFloat(c); if (!d && 0 !== d) { var e = c.toString().match(/blur\(([0-9]+[A-z]+)\)/i); d = e ? e[1] : 0 } return d; case "inject": return parseFloat(c) ? "blur(" + c + ")" : "none" } }, opacity: function(a, b, c) { if (p <= 8) switch (a) { case "name": return "filter"; case "extract": var d = c.toString().match(/alpha\(opacity=(.*)\)/i); return c = d ? d[1] / 100 : 1; case "inject": return b.style.zoom = 1, parseFloat(c) >= 1 ? "" : "alpha(opacity=" + parseInt(100 * parseFloat(c), 10) + ")" } else switch (a) { case "name": return "opacity"; case "extract": return c; case "inject": return c } } }, register: function() { function a(a, b, c) { if ("border-box" === A.getPropertyValue(b, "boxSizing").toString().toLowerCase() === (c || !1)) { var d, e, f = 0, g = "width" === a ? ["Left", "Right"] : ["Top", "Bottom"], h = ["padding" + g[0], "padding" + g[1], "border" + g[0] + "Width", "border" + g[1] + "Width"]; for (d = 0; d < h.length; d++) e = parseFloat(A.getPropertyValue(b, h[d])), isNaN(e) || (f += e); return c ? -f : f } return 0 } function b(b, c) { return function(d, e, f) { switch (d) { case "name": return b; case "extract": return parseFloat(f) + a(b, e, c); case "inject": return parseFloat(f) - a(b, e, c) + "px" } } } p && !(p > 9) || y.State.isGingerbread || (A.Lists.transformsBase = A.Lists.transformsBase.concat(A.Lists.transforms3D)); for (var c = 0; c < A.Lists.transformsBase.length; c++) !function() { var a = A.Lists.transformsBase[c]; A.Normalizations.registered[a] = function(b, c, e) { switch (b) { case "name": return "transform"; case "extract": return g(c) === d || g(c).transformCache[a] === d ? /^scale/i.test(a) ? 1 : 0 : g(c).transformCache[a].replace(/[()]/g, ""); case "inject": var f = !1; switch (a.substr(0, a.length - 1)) { case "translate": f = !/(%|px|em|rem|vw|vh|\d)$/i.test(e); break; case "scal": case "scale": y.State.isAndroid && g(c).transformCache[a] === d && e < 1 && (e = 1), f = !/(\d)$/i.test(e); break; case "skew": f = !/(deg|\d)$/i.test(e); break; case "rotate": f = !/(deg|\d)$/i.test(e) } return f || (g(c).transformCache[a] = "(" + e + ")"), g(c).transformCache[a] } } }(); for (var e = 0; e < A.Lists.colors.length; e++) !function() { var a = A.Lists.colors[e]; A.Normalizations.registered[a] = function(b, c, e) { switch (b) { case "name": return a; case "extract": var f; if (A.RegEx.wrappedValueAlreadyExtracted.test(e)) f = e; else { var g, h = { black: "rgb(0, 0, 0)", blue: "rgb(0, 0, 255)", gray: "rgb(128, 128, 128)", green: "rgb(0, 128, 0)", red: "rgb(255, 0, 0)", white: "rgb(255, 255, 255)" }; /^[A-z]+$/i.test(e) ? g = h[e] !== d ? h[e] : h.black : A.RegEx.isHex.test(e) ? g = "rgb(" + A.Values.hexToRgb(e).join(" ") + ")" : /^rgba?\(/i.test(e) || (g = h.black), f = (g || e).toString().match(A.RegEx.valueUnwrap)[1].replace(/,(\s+)?/g, " ") } return (!p || p > 8) && 3 === f.split(" ").length && (f += " 1"), f; case "inject": return /^rgb/.test(e) ? e : (p <= 8 ? 4 === e.split(" ").length && (e = e.split(/\s+/).slice(0, 3).join(" ")) : 3 === e.split(" ").length && (e += " 1"), (p <= 8 ? "rgb" : "rgba") + "(" + e.replace(/\s+/g, ",").replace(/\.(\d)+(?=,)/g, "") + ")") } } }(); A.Normalizations.registered.innerWidth = b("width", !0), A.Normalizations.registered.innerHeight = b("height", !0), A.Normalizations.registered.outerWidth = b("width"), A.Normalizations.registered.outerHeight = b("height") } }, Names: { camelCase: function(a) { return a.replace(/-(\w)/g, function(a, b) { return b.toUpperCase() }) }, SVGAttribute: function(a) { var b = "width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2"; return (p || y.State.isAndroid && !y.State.isChrome) && (b += "|transform"), new RegExp("^(" + b + ")$","i").test(a) }, prefixCheck: function(a) { if (y.State.prefixMatches[a]) return [y.State.prefixMatches[a], !0]; for (var b = ["", "Webkit", "Moz", "ms", "O"], c = 0, d = b.length; c < d; c++) { var e; if (e = 0 === c ? a : b[c] + a.replace(/^\w/, function(a) { return a.toUpperCase() }), u.isString(y.State.prefixElement.style[e])) return y.State.prefixMatches[a] = e, [e, !0] } return [a, !1] } }, Values: { hexToRgb: function(a) { var b, c = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i; return a = a.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, function(a, b, c, d) { return b + b + c + c + d + d }), b = c.exec(a), b ? [parseInt(b[1], 16), parseInt(b[2], 16), parseInt(b[3], 16)] : [0, 0, 0] }, isCSSNullValue: function(a) { return !a || /^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(a) }, getUnitType: function(a) { return /^(rotate|skew)/i.test(a) ? "deg" : /(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(a) ? "" : "px" }, getDisplayType: function(a) { var b = a && a.tagName.toString().toLowerCase(); return /^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(b) ? "inline" : /^(li)$/i.test(b) ? "list-item" : /^(tr)$/i.test(b) ? "table-row" : /^(table)$/i.test(b) ? "table" : /^(tbody)$/i.test(b) ? "table-row-group" : "block" }, addClass: function(a, b) { if (a) if (a.classList) a.classList.add(b); else if (u.isString(a.className)) a.className += (a.className.length ? " " : "") + b; else { var c = a.getAttribute(p <= 7 ? "className" : "class") || ""; a.setAttribute("class", c + (c ? " " : "") + b) } }, removeClass: function(a, b) { if (a) if (a.classList) a.classList.remove(b); else if (u.isString(a.className)) a.className = a.className.toString().replace(new RegExp("(^|\\s)" + b.split(" ").join("|") + "(\\s|$)","gi"), " "); else { var c = a.getAttribute(p <= 7 ? "className" : "class") || ""; a.setAttribute("class", c.replace(new RegExp("(^|s)" + b.split(" ").join("|") + "(s|$)","gi"), " ")) } } }, getPropertyValue: function(a, c, e, f) { function h(a, c) { var e = 0; if (p <= 8) e = o.css(a, c); else { var i = !1; /^(width|height)$/.test(c) && 0 === A.getPropertyValue(a, "display") && (i = !0, A.setPropertyValue(a, "display", A.Values.getDisplayType(a))); var j = function() { i && A.setPropertyValue(a, "display", "none") }; if (!f) { if ("height" === c && "border-box" !== A.getPropertyValue(a, "boxSizing").toString().toLowerCase()) { var k = a.offsetHeight - (parseFloat(A.getPropertyValue(a, "borderTopWidth")) || 0) - (parseFloat(A.getPropertyValue(a, "borderBottomWidth")) || 0) - (parseFloat(A.getPropertyValue(a, "paddingTop")) || 0) - (parseFloat(A.getPropertyValue(a, "paddingBottom")) || 0); return j(), k } if ("width" === c && "border-box" !== A.getPropertyValue(a, "boxSizing").toString().toLowerCase()) { var l = a.offsetWidth - (parseFloat(A.getPropertyValue(a, "borderLeftWidth")) || 0) - (parseFloat(A.getPropertyValue(a, "borderRightWidth")) || 0) - (parseFloat(A.getPropertyValue(a, "paddingLeft")) || 0) - (parseFloat(A.getPropertyValue(a, "paddingRight")) || 0); return j(), l } } var m; m = g(a) === d ? b.getComputedStyle(a, null) : g(a).computedStyle ? g(a).computedStyle : g(a).computedStyle = b.getComputedStyle(a, null), "borderColor" === c && (c = "borderTopColor"), e = 9 === p && "filter" === c ? m.getPropertyValue(c) : m[c], "" !== e && null !== e || (e = a.style[c]), j() } if ("auto" === e && /^(top|right|bottom|left)$/i.test(c)) { var n = h(a, "position"); ("fixed" === n || "absolute" === n && /top|left/i.test(c)) && (e = o(a).position()[c] + "px") } return e } var i; if (A.Hooks.registered[c]) { var j = c , k = A.Hooks.getRoot(j); e === d && (e = A.getPropertyValue(a, A.Names.prefixCheck(k)[0])), A.Normalizations.registered[k] && (e = A.Normalizations.registered[k]("extract", a, e)), i = A.Hooks.extractValue(j, e) } else if (A.Normalizations.registered[c]) { var l, m; l = A.Normalizations.registered[c]("name", a), "transform" !== l && (m = h(a, A.Names.prefixCheck(l)[0]), A.Values.isCSSNullValue(m) && A.Hooks.templates[c] && (m = A.Hooks.templates[c][1])), i = A.Normalizations.registered[c]("extract", a, m) } if (!/^[\d-]/.test(i)) { var n = g(a); if (n && n.isSVG && A.Names.SVGAttribute(c)) if (/^(height|width)$/i.test(c)) try { i = a.getBBox()[c] } catch (q) { i = 0 } else i = a.getAttribute(c); else i = h(a, A.Names.prefixCheck(c)[0]) } return A.Values.isCSSNullValue(i) && (i = 0), y.debug >= 2 && console.log("Get " + c + ": " + i), i }, setPropertyValue: function(a, c, d, e, f) { var h = c; if ("scroll" === c) f.container ? f.container["scroll" + f.direction] = d : "Left" === f.direction ? b.scrollTo(d, f.alternateValue) : b.scrollTo(f.alternateValue, d); else if (A.Normalizations.registered[c] && "transform" === A.Normalizations.registered[c]("name", a)) A.Normalizations.registered[c]("inject", a, d), h = "transform", d = g(a).transformCache[c]; else { if (A.Hooks.registered[c]) { var i = c , j = A.Hooks.getRoot(c); e = e || A.getPropertyValue(a, j), d = A.Hooks.injectValue(i, d, e), c = j } if (A.Normalizations.registered[c] && (d = A.Normalizations.registered[c]("inject", a, d), c = A.Normalizations.registered[c]("name", a)), h = A.Names.prefixCheck(c)[0], p <= 8) try { a.style[h] = d } catch (l) { y.debug && console.log("Browser does not support [" + d + "] for [" + h + "]") } else { var k = g(a); k && k.isSVG && A.Names.SVGAttribute(c) ? a.setAttribute(c, d) : a.style[h] = d } y.debug >= 2 && console.log("Set " + c + " (" + h + "): " + d) } return [h, d] }, flushTransformCache: function(a) { var b = "" , c = g(a); if ((p || y.State.isAndroid && !y.State.isChrome) && c && c.isSVG) { var d = function(b) { return parseFloat(A.getPropertyValue(a, b)) } , e = { translate: [d("translateX"), d("translateY")], skewX: [d("skewX")], skewY: [d("skewY")], scale: 1 !== d("scale") ? [d("scale"), d("scale")] : [d("scaleX"), d("scaleY")], rotate: [d("rotateZ"), 0, 0] }; o.each(g(a).transformCache, function(a) { /^translate/i.test(a) ? a = "translate" : /^scale/i.test(a) ? a = "scale" : /^rotate/i.test(a) && (a = "rotate"), e[a] && (b += a + "(" + e[a].join(" ") + ") ", delete e[a]) }) } else { var f, h; o.each(g(a).transformCache, function(c) { if (f = g(a).transformCache[c], "transformPerspective" === c) return h = f, !0; 9 === p && "rotateZ" === c && (c = "rotate"), b += c + f + " " }), h && (b = "perspective" + h + " " + b) } A.setPropertyValue(a, "transform", b) } }; A.Hooks.register(), A.Normalizations.register(), y.hook = function(a, b, c) { var e; return a = f(a), o.each(a, function(a, f) { if (g(f) === d && y.init(f), c === d) e === d && (e = A.getPropertyValue(f, b)); else { var h = A.setPropertyValue(f, b, c); "transform" === h[0] && y.CSS.flushTransformCache(f), e = h } }), e } ; var B = function() { function a() { return k ? z.promise || null : p } function e(a, e) { function f(f) { var k, n; if (i.begin && 0 === D) try { i.begin.call(r, r) } catch (V) { setTimeout(function() { throw V }, 1) } if ("scroll" === G) { var p, q, w, x = /^x$/i.test(i.axis) ? "Left" : "Top", B = parseFloat(i.offset) || 0; i.container ? u.isWrapped(i.container) || u.isNode(i.container) ? (i.container = i.container[0] || i.container, p = i.container["scroll" + x], w = p + o(a).position()[x.toLowerCase()] + B) : i.container = null : (p = y.State.scrollAnchor[y.State["scrollProperty" + x]], q = y.State.scrollAnchor[y.State["scrollProperty" + ("Left" === x ? "Top" : "Left")]], w = o(a).offset()[x.toLowerCase()] + B), j = { scroll: { rootPropertyValue: !1, startValue: p, currentValue: p, endValue: w, unitType: "", easing: i.easing, scrollData: { container: i.container, direction: x, alternateValue: q } }, element: a }, y.debug && console.log("tweensContainer (scroll): ", j.scroll, a) } else if ("reverse" === G) { if (!(k = g(a))) return; if (!k.tweensContainer) return void o.dequeue(a, i.queue); "none" === k.opts.display && (k.opts.display = "auto"), "hidden" === k.opts.visibility && (k.opts.visibility = "visible"), k.opts.loop = !1, k.opts.begin = null, k.opts.complete = null, v.easing || delete i.easing, v.duration || delete i.duration, i = o.extend({}, k.opts, i), n = o.extend(!0, {}, k ? k.tweensContainer : null); for (var E in n) if (n.hasOwnProperty(E) && "element" !== E) { var F = n[E].startValue; n[E].startValue = n[E].currentValue = n[E].endValue, n[E].endValue = F, u.isEmptyObject(v) || (n[E].easing = i.easing), y.debug && console.log("reverse tweensContainer (" + E + "): " + JSON.stringify(n[E]), a) } j = n } else if ("start" === G) { k = g(a), k && k.tweensContainer && k.isAnimating === !0 && (n = k.tweensContainer); var H = function(e, f) { var g, l = A.Hooks.getRoot(e), m = !1, p = f[0], q = f[1], r = f[2]; if (!(k && k.isSVG || "tween" === l || A.Names.prefixCheck(l)[1] !== !1 || A.Normalizations.registered[l] !== d)) return void (y.debug && console.log("Skipping [" + l + "] due to a lack of browser support.")); (i.display !== d && null !== i.display && "none" !== i.display || i.visibility !== d && "hidden" !== i.visibility) && /opacity|filter/.test(e) && !r && 0 !== p && (r = 0), i._cacheValues && n && n[e] ? (r === d && (r = n[e].endValue + n[e].unitType), m = k.rootPropertyValueCache[l]) : A.Hooks.registered[e] ? r === d ? (m = A.getPropertyValue(a, l), r = A.getPropertyValue(a, e, m)) : m = A.Hooks.templates[l][1] : r === d && (r = A.getPropertyValue(a, e)); var s, t, v, w = !1, x = function(a, b) { var c, d; return d = (b || "0").toString().toLowerCase().replace(/[%A-z]+$/, function(a) { return c = a, "" }), c || (c = A.Values.getUnitType(a)), [d, c] }; if (r !== p && u.isString(r) && u.isString(p)) { g = ""; var z = 0 , B = 0 , C = [] , D = [] , E = 0 , F = 0 , G = 0; for (r = A.Hooks.fixColors(r), p = A.Hooks.fixColors(p); z < r.length && B < p.length; ) { var H = r[z] , I = p[B]; if (/[\d\.-]/.test(H) && /[\d\.-]/.test(I)) { for (var J = H, K = I, L = ".", N = "."; ++z < r.length; ) { if ((H = r[z]) === L) L = ".."; else if (!/\d/.test(H)) break; J += H } for (; ++B < p.length; ) { if ((I = p[B]) === N) N = ".."; else if (!/\d/.test(I)) break; K += I } var O = A.Hooks.getUnit(r, z) , P = A.Hooks.getUnit(p, B); if (z += O.length, B += P.length, O === P) J === K ? g += J + O : (g += "{" + C.length + (F ? "!" : "") + "}" + O, C.push(parseFloat(J)), D.push(parseFloat(K))); else { var Q = parseFloat(J) , R = parseFloat(K); g += (E < 5 ? "calc" : "") + "(" + (Q ? "{" + C.length + (F ? "!" : "") + "}" : "0") + O + " + " + (R ? "{" + (C.length + (Q ? 1 : 0)) + (F ? "!" : "") + "}" : "0") + P + ")", Q && (C.push(Q), D.push(0)), R && (C.push(0), D.push(R)) } } else { if (H !== I) { E = 0; break } g += H, z++, B++, 0 === E && "c" === H || 1 === E && "a" === H || 2 === E && "l" === H || 3 === E && "c" === H || E >= 4 && "(" === H ? E++ : (E && E < 5 || E >= 4 && ")" === H && --E < 5) && (E = 0), 0 === F && "r" === H || 1 === F && "g" === H || 2 === F && "b" === H || 3 === F && "a" === H || F >= 3 && "(" === H ? (3 === F && "a" === H && (G = 1), F++) : G && "," === H ? ++G > 3 && (F = G = 0) : (G && F < (G ? 5 : 4) || F >= (G ? 4 : 3) && ")" === H && --F < (G ? 5 : 4)) && (F = G = 0) } } z === r.length && B === p.length || (y.debug && console.error('Trying to pattern match mis-matched strings ["' + p + '", "' + r + '"]'), g = d), g && (C.length ? (y.debug && console.log('Pattern found "' + g + '" -> ', C, D, "[" + r + "," + p + "]"), r = C, p = D, t = v = "") : g = d) } g || (s = x(e, r), r = s[0], v = s[1], s = x(e, p), p = s[0].replace(/^([+-\/*])=/, function(a, b) { return w = b, "" }), t = s[1], r = parseFloat(r) || 0, p = parseFloat(p) || 0, "%" === t && (/^(fontSize|lineHeight)$/.test(e) ? (p /= 100, t = "em") : /^scale/.test(e) ? (p /= 100, t = "") : /(Red|Green|Blue)$/i.test(e) && (p = p / 100 * 255, t = ""))); if (/[\/*]/.test(w)) t = v; else if (v !== t && 0 !== r) if (0 === p) t = v; else { h = h || function() { var d = { myParent: a.parentNode || c.body, position: A.getPropertyValue(a, "position"), fontSize: A.getPropertyValue(a, "fontSize") } , e = d.position === M.lastPosition && d.myParent === M.lastParent , f = d.fontSize === M.lastFontSize; M.lastParent = d.myParent, M.lastPosition = d.position, M.lastFontSize = d.fontSize; var g = {}; if (f && e) g.emToPx = M.lastEmToPx, g.percentToPxWidth = M.lastPercentToPxWidth, g.percentToPxHeight = M.lastPercentToPxHeight; else { var h = k && k.isSVG ? c.createElementNS("http://www.w3.org/2000/svg", "rect") : c.createElement("div"); y.init(h), d.myParent.appendChild(h), o.each(["overflow", "overflowX", "overflowY"], function(a, b) { y.CSS.setPropertyValue(h, b, "hidden") }), y.CSS.setPropertyValue(h, "position", d.position), y.CSS.setPropertyValue(h, "fontSize", d.fontSize), y.CSS.setPropertyValue(h, "boxSizing", "content-box"), o.each(["minWidth", "maxWidth", "width", "minHeight", "maxHeight", "height"], function(a, b) { y.CSS.setPropertyValue(h, b, "100%") }), y.CSS.setPropertyValue(h, "paddingLeft", "100em"), g.percentToPxWidth = M.lastPercentToPxWidth = (parseFloat(A.getPropertyValue(h, "width", null, !0)) || 1) / 100, g.percentToPxHeight = M.lastPercentToPxHeight = (parseFloat(A.getPropertyValue(h, "height", null, !0)) || 1) / 100, g.emToPx = M.lastEmToPx = (parseFloat(A.getPropertyValue(h, "paddingLeft")) || 1) / 100, d.myParent.removeChild(h) } return null === M.remToPx && (M.remToPx = parseFloat(A.getPropertyValue(c.body, "fontSize")) || 16), null === M.vwToPx && (M.vwToPx = parseFloat(b.innerWidth) / 100, M.vhToPx = parseFloat(b.innerHeight) / 100), g.remToPx = M.remToPx, g.vwToPx = M.vwToPx, g.vhToPx = M.vhToPx, y.debug >= 1 && console.log("Unit ratios: " + JSON.stringify(g), a), g }(); var S = /margin|padding|left|right|width|text|word|letter/i.test(e) || /X$/.test(e) || "x" === e ? "x" : "y"; switch (v) { case "%": r *= "x" === S ? h.percentToPxWidth : h.percentToPxHeight; break; case "px": break; default: r *= h[v + "ToPx"] } switch (t) { case "%": r *= 1 / ("x" === S ? h.percentToPxWidth : h.percentToPxHeight); break; case "px": break; default: r *= 1 / h[t + "ToPx"] } } switch (w) { case "+": p = r + p; break; case "-": p = r - p; break; case "*": p *= r; break; case "/": p = r / p } j[e] = { rootPropertyValue: m, startValue: r, currentValue: r, endValue: p, unitType: t, easing: q }, g && (j[e].pattern = g), y.debug && console.log("tweensContainer (" + e + "): " + JSON.stringify(j[e]), a) }; for (var I in s) if (s.hasOwnProperty(I)) { var J = A.Names.camelCase(I) , K = function(b, c) { var d, f, g; return u.isFunction(b) && (b = b.call(a, e, C)), u.isArray(b) ? (d = b[0], !u.isArray(b[1]) && /^[\d-]/.test(b[1]) || u.isFunction(b[1]) || A.RegEx.isHex.test(b[1]) ? g = b[1] : u.isString(b[1]) && !A.RegEx.isHex.test(b[1]) && y.Easings[b[1]] || u.isArray(b[1]) ? (f = c ? b[1] : l(b[1], i.duration), g = b[2]) : g = b[1] || b[2]) : d = b, c || (f = f || i.easing), u.isFunction(d) && (d = d.call(a, e, C)), u.isFunction(g) && (g = g.call(a, e, C)), [d || 0, f, g] }(s[I]); if (t(A.Lists.colors, J)) { var L = K[0] , O = K[1] , P = K[2]; if (A.RegEx.isHex.test(L)) { for (var Q = ["Red", "Green", "Blue"], R = A.Values.hexToRgb(L), S = P ? A.Values.hexToRgb(P) : d, T = 0; T < Q.length; T++) { var U = [R[T]]; O && U.push(O), S !== d && U.push(S[T]), H(J + Q[T], U) } continue } } H(J, K) } j.element = a } j.element && (A.Values.addClass(a, "velocity-animating"), N.push(j), k = g(a), k && ("" === i.queue && (k.tweensContainer = j, k.opts = i), k.isAnimating = !0), D === C - 1 ? (y.State.calls.push([N, r, i, null, z.resolver, null, 0]), y.State.isTicking === !1 && (y.State.isTicking = !0, m())) : D++) } var h, i = o.extend({}, y.defaults, v), j = {}; switch (g(a) === d && y.init(a), parseFloat(i.delay) && i.queue !== !1 && o.queue(a, i.queue, function(b) { y.velocityQueueEntryFlag = !0; var c = y.State.delayedElements.count++; y.State.delayedElements[c] = a; var d = function(a) { return function() { y.State.delayedElements[a] = !1, b() } }(c); g(a).delayBegin = (new Date).getTime(), g(a).delay = parseFloat(i.delay), g(a).delayTimer = { setTimeout: setTimeout(b, parseFloat(i.delay)), next: d } }), i.duration.toString().toLowerCase()) { case "fast": i.duration = 200; break; case "normal": i.duration = w; break; case "slow": i.duration = 600; break; default: i.duration = parseFloat(i.duration) || 1 } if (y.mock !== !1 && (y.mock === !0 ? i.duration = i.delay = 1 : (i.duration *= parseFloat(y.mock) || 1, i.delay *= parseFloat(y.mock) || 1)), i.easing = l(i.easing, i.duration), i.begin && !u.isFunction(i.begin) && (i.begin = null), i.progress && !u.isFunction(i.progress) && (i.progress = null), i.complete && !u.isFunction(i.complete) && (i.complete = null), i.display !== d && null !== i.display && (i.display = i.display.toString().toLowerCase(), "auto" === i.display && (i.display = y.CSS.Values.getDisplayType(a))), i.visibility !== d && null !== i.visibility && (i.visibility = i.visibility.toString().toLowerCase()), i.mobileHA = i.mobileHA && y.State.isMobile && !y.State.isGingerbread, i.queue === !1) if (i.delay) { var k = y.State.delayedElements.count++; y.State.delayedElements[k] = a; var n = function(a) { return function() { y.State.delayedElements[a] = !1, f() } }(k); g(a).delayBegin = (new Date).getTime(), g(a).delay = parseFloat(i.delay), g(a).delayTimer = { setTimeout: setTimeout(f, parseFloat(i.delay)), next: n } } else f(); else o.queue(a, i.queue, function(a, b) { if (b === !0) return z.promise && z.resolver(r), !0; y.velocityQueueEntryFlag = !0, f(a) }); "" !== i.queue && "fx" !== i.queue || "inprogress" === o.queue(a)[0] || o.dequeue(a) } var j, k, p, q, r, s, v, x = arguments[0] && (arguments[0].p || o.isPlainObject(arguments[0].properties) && !arguments[0].properties.names || u.isString(arguments[0].properties)); u.isWrapped(this) ? (k = !1, q = 0, r = this, p = this) : (k = !0, q = 1, r = x ? arguments[0].elements || arguments[0].e : arguments[0]); var z = { promise: null, resolver: null, rejecter: null }; if (k && y.Promise && (z.promise = new y.Promise(function(a, b) { z.resolver = a, z.rejecter = b } )), x ? (s = arguments[0].properties || arguments[0].p, v = arguments[0].options || arguments[0].o) : (s = arguments[q], v = arguments[q + 1]), !(r = f(r))) return void (z.promise && (s && v && v.promiseRejectEmpty === !1 ? z.resolver() : z.rejecter())); var C = r.length , D = 0; if (!/^(stop|finish|finishAll|pause|resume)$/i.test(s) && !o.isPlainObject(v)) { var E = q + 1; v = {}; for (var F = E; F < arguments.length; F++) u.isArray(arguments[F]) || !/^(fast|normal|slow)$/i.test(arguments[F]) && !/^\d/.test(arguments[F]) ? u.isString(arguments[F]) || u.isArray(arguments[F]) ? v.easing = arguments[F] : u.isFunction(arguments[F]) && (v.complete = arguments[F]) : v.duration = arguments[F] } var G; switch (s) { case "scroll": G = "scroll"; break; case "reverse": G = "reverse"; break; case "pause": var H = (new Date).getTime(); return o.each(r, function(a, b) { h(b, H) }), o.each(y.State.calls, function(a, b) { var c = !1; b && o.each(b[1], function(a, e) { var f = v === d ? "" : v; return f !== !0 && b[2].queue !== f && (v !== d || b[2].queue !== !1) || (o.each(r, function(a, d) { if (d === e) return b[5] = { resume: !1 }, c = !0, !1 }), !c && void 0) }) }), a(); case "resume": return o.each(r, function(a, b) { i(b, H) }), o.each(y.State.calls, function(a, b) { var c = !1; b && o.each(b[1], function(a, e) { var f = v === d ? "" : v; return f !== !0 && b[2].queue !== f && (v !== d || b[2].queue !== !1) || (!b[5] || (o.each(r, function(a, d) { if (d === e) return b[5].resume = !0, c = !0, !1 }), !c && void 0)) }) }), a(); case "finish": case "finishAll": case "stop": o.each(r, function(a, b) { g(b) && g(b).delayTimer && (clearTimeout(g(b).delayTimer.setTimeout), g(b).delayTimer.next && g(b).delayTimer.next(), delete g(b).delayTimer), "finishAll" !== s || v !== !0 && !u.isString(v) || (o.each(o.queue(b, u.isString(v) ? v : ""), function(a, b) { u.isFunction(b) && b() }), o.queue(b, u.isString(v) ? v : "", [])) }); var I = []; return o.each(y.State.calls, function(a, b) { b && o.each(b[1], function(c, e) { var f = v === d ? "" : v; if (f !== !0 && b[2].queue !== f && (v !== d || b[2].queue !== !1)) return !0; o.each(r, function(c, d) { if (d === e) if ((v === !0 || u.isString(v)) && (o.each(o.queue(d, u.isString(v) ? v : ""), function(a, b) { u.isFunction(b) && b(null, !0) }), o.queue(d, u.isString(v) ? v : "", [])), "stop" === s) { var h = g(d); h && h.tweensContainer && f !== !1 && o.each(h.tweensContainer, function(a, b) { b.endValue = b.currentValue }), I.push(a) } else "finish" !== s && "finishAll" !== s || (b[2].duration = 1) }) }) }), "stop" === s && (o.each(I, function(a, b) { n(b, !0) }), z.promise && z.resolver(r)), a(); default: if (!o.isPlainObject(s) || u.isEmptyObject(s)) { if (u.isString(s) && y.Redirects[s]) { j = o.extend({}, v); var J = j.duration , K = j.delay || 0; return j.backwards === !0 && (r = o.extend(!0, [], r).reverse()), o.each(r, function(a, b) { parseFloat(j.stagger) ? j.delay = K + parseFloat(j.stagger) * a : u.isFunction(j.stagger) && (j.delay = K + j.stagger.call(b, a, C)), j.drag && (j.duration = parseFloat(J) || (/^(callout|transition)/.test(s) ? 1e3 : w), j.duration = Math.max(j.duration * (j.backwards ? 1 - a / C : (a + 1) / C), .75 * j.duration, 200)), y.Redirects[s].call(b, b, j || {}, a, C, r, z.promise ? z : d) }), a() } var L = "Velocity: First argument (" + s + ") was not a property map, a known action, or a registered redirect. Aborting."; return z.promise ? z.rejecter(new Error(L)) : b.console && console.log(L), a() } G = "start" } var M = { lastParent: null, lastPosition: null, lastFontSize: null, lastPercentToPxWidth: null, lastPercentToPxHeight: null, lastEmToPx: null, remToPx: null, vwToPx: null, vhToPx: null } , N = []; o.each(r, function(a, b) { u.isNode(b) && e(b, a) }), j = o.extend({}, y.defaults, v), j.loop = parseInt(j.loop, 10); var O = 2 * j.loop - 1; if (j.loop) for (var P = 0; P < O; P++) { var Q = { delay: j.delay, progress: j.progress }; P === O - 1 && (Q.display = j.display, Q.visibility = j.visibility, Q.complete = j.complete), B(r, "reverse", Q) } return a() }; y = o.extend(B, y), y.animate = B; var C = b.requestAnimationFrame || q; if (!y.State.isMobile && c.hidden !== d) { var D = function() { c.hidden ? (C = function(a) { return setTimeout(function() { a(!0) }, 16) } , m()) : C = b.requestAnimationFrame || q }; D(), c.addEventListener("visibilitychange", D) } return a.Velocity = y, a !== b && (a.fn.velocity = B, a.fn.velocity.defaults = y.defaults), o.each(["Down", "Up"], function(a, b) { y.Redirects["slide" + b] = function(a, c, e, f, g, h) { var i = o.extend({}, c) , j = i.begin , k = i.complete , l = {} , m = { height: "", marginTop: "", marginBottom: "", paddingTop: "", paddingBottom: "" }; i.display === d && (i.display = "Down" === b ? "inline" === y.CSS.Values.getDisplayType(a) ? "inline-block" : "block" : "none"), i.begin = function() { 0 === e && j && j.call(g, g); for (var c in m) if (m.hasOwnProperty(c)) { l[c] = a.style[c]; var d = A.getPropertyValue(a, c); m[c] = "Down" === b ? [d, 0] : [0, d] } l.overflow = a.style.overflow, a.style.overflow = "hidden" } , i.complete = function() { for (var b in l) l.hasOwnProperty(b) && (a.style[b] = l[b]); e === f - 1 && (k && k.call(g, g), h && h.resolver(g)) } , y(a, m, i) } }), o.each(["In", "Out"], function(a, b) { y.Redirects["fade" + b] = function(a, c, e, f, g, h) { var i = o.extend({}, c) , j = i.complete , k = { opacity: "In" === b ? 1 : 0 }; 0 !== e && (i.begin = null), i.complete = e !== f - 1 ? null : function() { j && j.call(g, g), h && h.resolver(g) } , i.display === d && (i.display = "In" === b ? "auto" : "none"), y(this, k, i) } }), y }(window.jQuery || window.Zepto || window, window, window ? window.document : undefined) });