1/*! 2 * Materialize v0.99.0 (http://materializecss.com) 3 * Copyright 2014-2017 Materialize 4 * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE) 5 *Was changed for OWI-39: All conflicting functions like mtabs , tooltip , accordian were prefixed with "m" like mmmtabs() 6 */ 7 8if (void 0 === jQuery) { 9 var jQuery; 10 jQuery = "function" == typeof require ? $ = require("jquery") : $ 11}! function(a) { 12 "function" == typeof define && define.amd ? define(["jquery"], function(b) { 13 return a(b) 14 }) : "object" == typeof module && "object" == typeof module.exports ? exports = a(require("jquery")) : a(jQuery) 15}(function(a) { 16 function b(a) { 17 var b = 7.5625, 18 c = 2.75; 19 return a < 1 / c ? b * a * a : a < 2 / c ? b * (a -= 1.5 / c) * a + .75 : a < 2.5 / c ? b * (a -= 2.25 / c) * a + .9375 : b * (a -= 2.625 / c) * a + .984375 20 } 21 a.easing.jswing = a.easing.swing; 22 var c = Math.pow, 23 d = Math.sqrt, 24 e = Math.sin, 25 f = Math.cos, 26 g = Math.PI, 27 h = 1.70158, 28 i = 1.525 * h, 29 j = 2 * g / 3, 30 k = 2 * g / 4.5; 31 a.extend(a.easing, { 32 def: "easeOutQuad", 33 swing: function(b) { 34 return a.easing[a.easing.def](b) 35 }, 36 easeInQuad: function(a) { 37 return a * a 38 }, 39 easeOutQuad: function(a) { 40 return 1 - (1 - a) * (1 - a) 41 }, 42 easeInOutQuad: function(a) { 43 return a < .5 ? 2 * a * a : 1 - c(-2 * a + 2, 2) / 2 44 }, 45 easeInCubic: function(a) { 46 return a * a * a 47 }, 48 easeOutCubic: function(a) { 49 return 1 - c(1 - a, 3) 50 }, 51 easeInOutCubic: function(a) { 52 return a < .5 ? 4 * a * a * a : 1 - c(-2 * a + 2, 3) / 2 53 }, 54 easeInQuart: function(a) { 55 return a * a * a * a 56 }, 57 easeOutQuart: function(a) { 58 return 1 - c(1 - a, 4) 59 }, 60 easeInOutQuart: function(a) { 61 return a < .5 ? 8 * a * a * a * a : 1 - c(-2 * a + 2, 4) / 2 62 }, 63 easeInQuint: function(a) { 64 return a * a * a * a * a 65 }, 66 easeOutQuint: function(a) { 67 return 1 - c(1 - a, 5) 68 }, 69 easeInOutQuint: function(a) { 70 return a < .5 ? 16 * a * a * a * a * a : 1 - c(-2 * a + 2, 5) / 2 71 }, 72 easeInSine: function(a) { 73 return 1 - f(a * g / 2) 74 }, 75 easeOutSine: function(a) { 76 return e(a * g / 2) 77 }, 78 easeInOutSine: function(a) { 79 return -(f(g * a) - 1) / 2 80 }, 81 easeInExpo: function(a) { 82 return 0 === a ? 0 : c(2, 10 * a - 10) 83 }, 84 easeOutExpo: function(a) { 85 return 1 === a ? 1 : 1 - c(2, -10 * a) 86 }, 87 easeInOutExpo: function(a) { 88 return 0 === a ? 0 : 1 === a ? 1 : a < .5 ? c(2, 20 * a - 10) / 2 : (2 - c(2, -20 * a + 10)) / 2 89 }, 90 easeInCirc: function(a) { 91 return 1 - d(1 - c(a, 2)) 92 }, 93 easeOutCirc: function(a) { 94 return d(1 - c(a - 1, 2)) 95 }, 96 easeInOutCirc: function(a) { 97 return a < .5 ? (1 - d(1 - c(2 * a, 2))) / 2 : (d(1 - c(-2 * a + 2, 2)) + 1) / 2 98 }, 99 easeInElastic: function(a) { 100 return 0 === a ? 0 : 1 === a ? 1 : -c(2, 10 * a - 10) * e((10 * a - 10.75) * j) 101 }, 102 easeOutElastic: function(a) { 103 return 0 === a ? 0 : 1 === a ? 1 : c(2, -10 * a) * e((10 * a - .75) * j) + 1 104 }, 105 easeInOutElastic: function(a) { 106 return 0 === a ? 0 : 1 === a ? 1 : a < .5 ? -c(2, 20 * a - 10) * e((20 * a - 11.125) * k) / 2 : c(2, -20 * a + 10) * e((20 * a - 11.125) * k) / 2 + 1 107 }, 108 easeInBack: function(a) { 109 return 2.70158 * a * a * a - h * a * a 110 }, 111 easeOutBack: function(a) { 112 return 1 + 2.70158 * c(a - 1, 3) + h * c(a - 1, 2) 113 }, 114 easeInOutBack: function(a) { 115 return a < .5 ? c(2 * a, 2) * (7.189819 * a - i) / 2 : (c(2 * a - 2, 2) * ((i + 1) * (2 * a - 2) + i) + 2) / 2 116 }, 117 easeInBounce: function(a) { 118 return 1 - b(1 - a) 119 }, 120 easeOutBounce: b, 121 easeInOutBounce: function(a) { 122 return a < .5 ? (1 - b(1 - 2 * a)) / 2 : (1 + b(2 * a - 1)) / 2 123 } 124 }) 125}), jQuery.extend(jQuery.easing, { 126 easeInOutMaterial: function(a, b, c, d, e) { 127 return (b /= e / 2) < 1 ? d / 2 * b * b + c : d / 4 * ((b -= 2) * b * b + 2) + c 128 } 129 }), jQuery.Velocity ? console.log("Velocity is already loaded. You may be needlessly importing Velocity again; note that Materialize includes Velocity.") : (function(a) { 130 function b(a) { 131 var b = a.length, 132 d = c.type(a); 133 return "function" !== d && !c.isWindow(a) && (!(1 !== a.nodeType || !b) || ("array" === d || 0 === b || "number" == typeof b && b > 0 && b - 1 in a)) 134 } 135 if (!a.jQuery) { 136 var c = function(a, b) { 137 return new c.fn.init(a, b) 138 }; 139 c.isWindow = function(a) { 140 return null != a && a == a.window 141 }, c.type = function(a) { 142 return null == a ? a + "" : "object" == typeof a || "function" == typeof a ? e[g.call(a)] || "object" : typeof a 143 }, c.isArray = Array.isArray || function(a) { 144 return "array" === c.type(a) 145 }, c.isPlainObject = function(a) { 146 var b; 147 if (!a || "object" !== c.type(a) || a.nodeType || c.isWindow(a)) return !1; 148 try { 149 if (a.constructor && !f.call(a, "constructor") && !f.call(a.constructor.prototype, "isPrototypeOf")) return !1 150 } catch (a) { 151 return !1 152 } 153 for (b in a); 154 return void 0 === b || f.call(a, b) 155 }, c.each = function(a, c, d) { 156 var e = 0, 157 f = a.length, 158 g = b(a); 159 if (d) { 160 if (g) 161 for (; f > e && !1 !== c.apply(a[e], d); e++); 162 else 163 for (e in a) 164 if (!1 === c.apply(a[e], d)) break 165 } else if (g) 166 for (; f > e && !1 !== c.call(a[e], e, a[e]); e++); 167 else 168 for (e in a) 169 if (!1 === c.call(a[e], e, a[e])) break; 170 return a 171 }, c.data = function(a, b, e) { 172 if (void 0 === e) { 173 var f = a[c.expando], 174 g = f && d[f]; 175 if (void 0 === b) return g; 176 if (g && b in g) return g[b] 177 } else if (void 0 !== b) { 178 var f = a[c.expando] || (a[c.expando] = ++c.uuid); 179 return d[f] = d[f] || {}, d[f][b] = e, e 180 } 181 }, c.removeData = function(a, b) { 182 var e = a[c.expando], 183 f = e && d[e]; 184 f && c.each(b, function(a, b) { 185 delete f[b] 186 }) 187 }, c.extend = function() { 188 var a, b, d, e, f, g, h = arguments[0] || {}, 189 i = 1, 190 j = arguments.length, 191 k = !1; 192 for ("boolean" == typeof h && (k = h, h = arguments[i] || {}, i++), "object" != typeof h && "function" !== c.type(h) && (h = {}), i === j && (h = this, i--); j > i; i++) 193 if (null != (f = arguments[i]))
vendor: 68,276 bytes, lines 194-1304
194 for (e in f) 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)) : void 0 !== d && (h[e] = d)); 195 return h 196 }, c.queue = function(a, d, e) { 197 if (a) { 198 d = (d || "fx") + "queue"; 199 var f = c.data(a, d); 200 return e ? (!f || c.isArray(e) ? f = c.data(a, d, function(a, c) { 201 var d = c || []; 202 return null != a && (b(Object(a)) ? function(a, b) { 203 for (var c = +b.length, d = 0, e = a.length; c > d;) a[e++] = b[d++]; 204 if (c !== c) 205 for (; void 0 !== b[d];) a[e++] = b[d++]; 206 a.length = e 207 }(d, "string" == typeof a ? [a] : a) : [].push.call(d, a)), d 208 }(e)) : f.push(e), f) : f || [] 209 } 210 }, c.dequeue = function(a, b) { 211 c.each(a.nodeType ? [a] : a, function(a, d) { 212 b = b || "fx"; 213 var e = c.queue(d, b), 214 f = e.shift(); 215 "inprogress" === f && (f = e.shift()), f && ("fx" === b && e.unshift("inprogress"), f.call(d, function() { 216 c.dequeue(d, b) 217 })) 218 }) 219 }, c.fn = c.prototype = { 220 init: function(a) { 221 if (a.nodeType) return this[0] = a, this; 222 throw new Error("Not a DOM node.") 223 }, 224 offset: function() { 225 var b = this[0].getBoundingClientRect ? this[0].getBoundingClientRect() : { 226 top: 0, 227 left: 0 228 }; 229 return { 230 top: b.top + (a.pageYOffset || document.scrollTop || 0) - (document.clientTop || 0), 231 left: b.left + (a.pageXOffset || document.scrollLeft || 0) - (document.clientLeft || 0) 232 } 233 }, 234 position: function() { 235 function a() { 236 for (var a = this.offsetParent || document; a && "html" === !a.nodeType.toLowerCase && "static" === a.style.position;) a = a.offsetParent; 237 return a || document 238 } 239 var b = this[0], 240 a = a.apply(b), 241 d = this.offset(), 242 e = /^(?:body|html)$/i.test(a.nodeName) ? { 243 top: 0, 244 left: 0 245 } : c(a).offset(); 246 return d.top -= parseFloat(b.style.marginTop) || 0, d.left -= parseFloat(b.style.marginLeft) || 0, a.style && (e.top += parseFloat(a.style.borderTopWidth) || 0, e.left += parseFloat(a.style.borderLeftWidth) || 0), { 247 top: d.top - e.top, 248 left: d.left - e.left 249 } 250 } 251 }; 252 var d = {}; 253 c.expando = "velocity" + (new Date).getTime(), c.uuid = 0; 254 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(); 255 c.fn.init.prototype = c.fn, a.Velocity = { 256 Utilities: c 257 } 258 } 259 }(window), function(a) { 260 "object" == typeof module && "object" == typeof module.exports ? module.exports = a() : "function" == typeof define && define.amd ? define(a) : a() 261 }(function() { 262 return function(a, b, c, d) { 263 function e(a) { 264 for (var b = -1, c = a ? a.length : 0, d = []; ++b < c;) { 265 var e = a[b]; 266 e && d.push(e) 267 } 268 return d 269 } 270 271 function f(a) { 272 return p.isWrapped(a) ? a = [].slice.call(a) : p.isNode(a) && (a = [a]), a 273 } 274 275 function g(a) { 276 var b = m.data(a, "velocity"); 277 return null === b ? d : b 278 } 279 280 function h(a) { 281 return function(b) { 282 return Math.round(b * a) * (1 / a) 283 } 284 } 285 286 function i(a, c, d, e) { 287 function f(a, b) { 288 return 1 - 3 * b + 3 * a 289 } 290 291 function g(a, b) { 292 return 3 * b - 6 * a 293 } 294 295 function h(a) { 296 return 3 * a 297 } 298 299 function i(a, b, c) { 300 return ((f(b, c) * a + g(b, c)) * a + h(b)) * a 301 } 302 303 function j(a, b, c) { 304 return 3 * f(b, c) * a * a + 2 * g(b, c) * a + h(b) 305 } 306 307 function k(b, c) { 308 for (var e = 0; p > e; ++e) { 309 var f = j(c, a, d); 310 if (0 === f) return c; 311 c -= (i(c, a, d) - b) / f 312 } 313 return c 314 } 315 316 function l() { 317 for (var b = 0; t > b; ++b) x[b] = i(b * u, a, d) 318 } 319 320 function m(b, c, e) { 321 var f, g, h = 0; 322 do { 323 g = c + (e - c) / 2, f = i(g, a, d) - b, f > 0 ? e = g : c = g 324 } while (Math.abs(f) > r && ++h < s); 325 return g 326 } 327 328 function n(b) { 329 for (var c = 0, e = 1, f = t - 1; e != f && x[e] <= b; ++e) c += u; 330 --e; 331 var g = (b - x[e]) / (x[e + 1] - x[e]), 332 h = c + g * u, 333 i = j(h, a, d); 334 return i >= q ? k(b, h) : 0 == i ? h : m(b, c, c + u) 335 } 336 337 function o() { 338 y = !0, (a != c || d != e) && l() 339 } 340 var p = 4, 341 q = .001, 342 r = 1e-7, 343 s = 10, 344 t = 11, 345 u = 1 / (t - 1), 346 v = "Float32Array" in b; 347 if (4 !== arguments.length) return !1; 348 for (var w = 0; 4 > w; ++w) 349 if ("number" != typeof arguments[w] || isNaN(arguments[w]) || !isFinite(arguments[w])) return !1; 350 a = Math.min(a, 1), d = Math.min(d, 1), a = Math.max(a, 0), d = Math.max(d, 0); 351 var x = v ? new Float32Array(t) : new Array(t), 352 y = !1, 353 z = function(b) { 354 return y || o(), a === c && d === e ? b : 0 === b ? 0 : 1 === b ? 1 : i(n(b), c, e) 355 }; 356 z.getControlPoints = function() { 357 return [{ 358 x: a, 359 y: c 360 }, { 361 x: d, 362 y: e 363 }] 364 }; 365 var A = "generateBezier(" + [a, c, d, e] + ")"; 366 return z.toString = function() { 367 return A 368 }, z 369 } 370 371 function j(a, b) { 372 var c = a; 373 return p.isString(a) ? t.Easings[a] || (c = !1) : c = p.isArray(a) && 1 === a.length ? h.apply(null, a) : p.isArray(a) && 2 === a.length ? u.apply(null, a.concat([b])) : !(!p.isArray(a) || 4 !== a.length) && i.apply(null, a), !1 === c && (c = t.Easings[t.defaults.easing] ? t.defaults.easing : s), c 374 } 375 376 function k(a) { 377 if (a) { 378 var b = (new Date).getTime(), 379 c = t.State.calls.length; 380 c > 1e4 && (t.State.calls = e(t.State.calls)); 381 for (var f = 0; c > f; f++) 382 if (t.State.calls[f]) { 383 var h = t.State.calls[f], 384 i = h[0], 385 j = h[2], 386 n = h[3], 387 o = !!n, 388 q = null; 389 n || (n = t.State.calls[f][3] = b - 16); 390 for (var r = Math.min((b - n) / j.duration, 1), s = 0, u = i.length; u > s; s++) { 391 var w = i[s], 392 y = w.element; 393 if (g(y)) { 394 var z = !1; 395 if (j.display !== d && null !== j.display && "none" !== j.display) { 396 if ("flex" === j.display) { 397 var A = ["-webkit-box", "-moz-box", "-ms-flexbox", "-webkit-flex"]; 398 m.each(A, function(a, b) { 399 v.setPropertyValue(y, "display", b) 400 }) 401 } 402 v.setPropertyValue(y, "display", j.display) 403 } 404 j.visibility !== d && "hidden" !== j.visibility && v.setPropertyValue(y, "visibility", j.visibility); 405 for (var B in w) 406 if ("element" !== B) { 407 var C, D = w[B], 408 E = p.isString(D.easing) ? t.Easings[D.easing] : D.easing; 409 if (1 === r) C = D.endValue; 410 else { 411 var F = D.endValue - D.startValue; 412 if (C = D.startValue + F * E(r, j, F), !o && C === D.currentValue) continue 413 } 414 if (D.currentValue = C, "tween" === B) q = C; 415 else { 416 if (v.Hooks.registered[B]) { 417 var G = v.Hooks.getRoot(B), 418 H = g(y).rootPropertyValueCache[G]; 419 H && (D.rootPropertyValue = H) 420 } 421 var I = v.setPropertyValue(y, B, D.currentValue + (0 === parseFloat(C) ? "" : D.unitType), D.rootPropertyValue, D.scrollData); 422 v.Hooks.registered[B] && (g(y).rootPropertyValueCache[G] = v.Normalizations.registered[G] ? v.Normalizations.registered[G]("extract", null, I[1]) : I[1]), "transform" === I[0] && (z = !0) 423 } 424 } j.mobileHA && g(y).transformCache.translate3d === d && (g(y).transformCache.translate3d = "(0px, 0px, 0px)", z = !0), z && v.flushTransformCache(y) 425 } 426 } 427 j.display !== d && "none" !== j.display && (t.State.calls[f][2].display = !1), j.visibility !== d && "hidden" !== j.visibility && (t.State.calls[f][2].visibility = !1), j.progress && j.progress.call(h[1], h[1], r, Math.max(0, n + j.duration - b), n, q), 1 === r && l(f) 428 } 429 } 430 t.State.isTicking && x(k) 431 } 432 433 function l(a, b) { 434 if (!t.State.calls[a]) return !1; 435 for (var c = t.State.calls[a][0], e = t.State.calls[a][1], f = t.State.calls[a][2], h = t.State.calls[a][4], i = !1, j = 0, k = c.length; k > j; j++) { 436 var l = c[j].element; 437 if (b || f.loop || ("none" === f.display && v.setPropertyValue(l, "display", f.display), "hidden" === f.visibility && v.setPropertyValue(l, "visibility", f.visibility)), !0 !== f.loop && (m.queue(l)[1] === d || !/\.velocityQueueEntryFlag/i.test(m.queue(l)[1])) && g(l)) { 438 g(l).isAnimating = !1, g(l).rootPropertyValueCache = {}; 439 var n = !1; 440 m.each(v.Lists.transforms3D, function(a, b) { 441 var c = /^scale/.test(b) ? 1 : 0, 442 e = g(l).transformCache[b]; 443 g(l).transformCache[b] !== d && new RegExp("^\\(" + c + "[^.]").test(e) && (n = !0, delete g(l).transformCache[b]) 444 }), f.mobileHA && (n = !0, delete g(l).transformCache.translate3d), n && v.flushTransformCache(l), v.Values.removeClass(l, "velocity-animating") 445 } 446 if (!b && f.complete && !f.loop && j === k - 1) try { 447 f.complete.call(e, e) 448 } catch (a) { 449 setTimeout(function() { 450 throw a 451 }, 1) 452 } 453 h && !0 !== f.loop && h(e), g(l) && !0 === f.loop && !b && (m.each(g(l).tweensContainer, function(a, b) { 454 /^rotate/.test(a) && 360 === parseFloat(b.endValue) && (b.endValue = 0, b.startValue = 360), /^backgroundPosition/.test(a) && 100 === parseFloat(b.endValue) && "%" === b.unitType && (b.endValue = 0, b.startValue = 100) 455 }), t(l, "reverse", { 456 loop: !0, 457 delay: f.delay 458 })), !1 !== f.queue && m.dequeue(l, f.queue) 459 } 460 t.State.calls[a] = !1; 461 for (var o = 0, p = t.State.calls.length; p > o; o++) 462 if (!1 !== t.State.calls[o]) { 463 i = !0; 464 break 465 }! 1 === i && (t.State.isTicking = !1, delete t.State.calls, t.State.calls = []) 466 } 467 var m, n = function() { 468 if (c.documentMode) return c.documentMode; 469 for (var a = 7; a > 4; a--) { 470 var b = c.createElement("div"); 471 if (b.innerHTML = "\x3c!--[if IE " + a + "]><span></span><![endif]--\x3e", b.getElementsByTagName("span").length) return b = null, a 472 } 473 return d 474 }(), 475 o = function() { 476 var a = 0; 477 return b.webkitRequestAnimationFrame || b.mozRequestAnimationFrame || function(b) { 478 var c, d = (new Date).getTime(); 479 return c = Math.max(0, 16 - (d - a)), a = d + c, setTimeout(function() { 480 b(d + c) 481 }, c) 482 } 483 }(), 484 p = { 485 isString: function(a) { 486 return "string" == typeof a 487 }, 488 isArray: Array.isArray || function(a) { 489 return "[object Array]" === Object.prototype.toString.call(a) 490 }, 491 isFunction: function(a) { 492 return "[object Function]" === Object.prototype.toString.call(a) 493 }, 494 isNode: function(a) { 495 return a && a.nodeType 496 }, 497 isNodeList: function(a) { 498 return "object" == typeof a && /^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(a)) && a.length !== d && (0 === a.length || "object" == typeof a[0] && a[0].nodeType > 0) 499 }, 500 isWrapped: function(a) { 501 return a && (a.jquery || b.Zepto && b.Zepto.zepto.isZ(a)) 502 }, 503 isSVG: function(a) { 504 return b.SVGElement && a instanceof b.SVGElement 505 }, 506 isEmptyObject: function(a) { 507 for (var b in a) return !1; 508 return !0 509 } 510 }, 511 q = !1; 512 if (a.fn && a.fn.jquery ? (m = a, q = !0) : m = b.Velocity.Utilities, 8 >= n && !q) throw new Error("Velocity: IE8 and below require jQuery to be loaded before Velocity."); 513 if (7 >= n) return void(jQuery.fn.velocity = jQuery.fn.animate); 514 var r = 400, 515 s = "swing", 516 t = { 517 State: { 518 isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent), 519 isAndroid: /Android/i.test(navigator.userAgent), 520 isGingerbread: /Android 2\.3\.[3-7]/i.test(navigator.userAgent), 521 isChrome: b.chrome, 522 isFirefox: /Firefox/i.test(navigator.userAgent), 523 prefixElement: c.createElement("div"), 524 prefixMatches: {}, 525 scrollAnchor: null, 526 scrollPropertyLeft: null, 527 scrollPropertyTop: null, 528 isTicking: !1, 529 calls: [] 530 }, 531 CSS: {}, 532 Utilities: m, 533 Redirects: {}, 534 Easings: {}, 535 Promise: b.Promise, 536 defaults: { 537 queue: "", 538 duration: r, 539 easing: s, 540 begin: d, 541 complete: d, 542 progress: d, 543 display: d, 544 visibility: d, 545 loop: !1, 546 delay: !1, 547 mobileHA: !0, 548 _cacheValues: !0 549 }, 550 init: function(a) { 551 m.data(a, "velocity", { 552 isSVG: p.isSVG(a), 553 isAnimating: !1, 554 computedStyle: null, 555 tweensContainer: null, 556 rootPropertyValueCache: {}, 557 transformCache: {} 558 }) 559 }, 560 hook: null, 561 mock: !1, 562 version: { 563 major: 1, 564 minor: 2, 565 patch: 2 566 }, 567 debug: !1 568 }; 569 b.pageYOffset !== d ? (t.State.scrollAnchor = b, t.State.scrollPropertyLeft = "pageXOffset", t.State.scrollPropertyTop = "pageYOffset") : (t.State.scrollAnchor = c.documentElement || c.body.parentNode || c.body, t.State.scrollPropertyLeft = "scrollLeft", t.State.scrollPropertyTop = "scrollTop"); 570 var u = function() { 571 function a(a) { 572 return -a.tension * a.x - a.friction * a.v 573 } 574 575 function b(b, c, d) { 576 var e = { 577 x: b.x + d.dx * c, 578 v: b.v + d.dv * c, 579 tension: b.tension, 580 friction: b.friction 581 }; 582 return { 583 dx: e.v, 584 dv: a(e) 585 } 586 } 587 588 function c(c, d) { 589 var e = { 590 dx: c.v, 591 dv: a(c) 592 }, 593 f = b(c, .5 * d, e), 594 g = b(c, .5 * d, f), 595 h = b(c, d, g), 596 i = 1 / 6 * (e.dx + 2 * (f.dx + g.dx) + h.dx), 597 j = 1 / 6 * (e.dv + 2 * (f.dv + g.dv) + h.dv); 598 return c.x = c.x + i * d, c.v = c.v + j * d, c 599 } 600 return function a(b, d, e) { 601 var f, g, h, i = { 602 x: -1, 603 v: 0, 604 tension: null, 605 friction: null 606 }, 607 j = [0], 608 k = 0; 609 for (b = parseFloat(b) || 500, d = parseFloat(d) || 20, e = e || null, i.tension = b, i.friction = d, f = null !== e, f ? (k = a(b, d), g = k / e * .016) : g = .016; h = c(h || i, g), j.push(1 + h.x), k += 16, Math.abs(h.x) > 1e-4 && Math.abs(h.v) > 1e-4;); 610 return f ? function(a) { 611 return j[a * (j.length - 1) | 0] 612 } : k 613 } 614 }(); 615 t.Easings = { 616 linear: function(a) { 617 return a 618 }, 619 swing: function(a) { 620 return .5 - Math.cos(a * Math.PI) / 2 621 }, 622 spring: function(a) { 623 return 1 - Math.cos(4.5 * a * Math.PI) * Math.exp(6 * -a) 624 } 625 }, m.each([ 626 ["ease", [.25, .1, .25, 1]], 627 ["ease-in", [.42, 0, 1, 1]], 628 ["ease-out", [0, 0, .58, 1]], 629 ["ease-in-out", [.42, 0, .58, 1]], 630 ["easeInSine", [.47, 0, .745, .715]], 631 ["easeOutSine", [.39, .575, .565, 1]], 632 ["easeInOutSine", [.445, .05, .55, .95]], 633 ["easeInQuad", [.55, .085, .68, .53]], 634 ["easeOutQuad", [.25, .46, .45, .94]], 635 ["easeInOutQuad", [.455, .03, .515, .955]], 636 ["easeInCubic", [.55, .055, .675, .19]], 637 ["easeOutCubic", [.215, .61, .355, 1]], 638 ["easeInOutCubic", [.645, .045, .355, 1]], 639 ["easeInQuart", [.895, .03, .685, .22]], 640 ["easeOutQuart", [.165, .84, .44, 1]], 641 ["easeInOutQuart", [.77, 0, .175, 1]], 642 ["easeInQuint", [.755, .05, .855, .06]], 643 ["easeOutQuint", [.23, 1, .32, 1]], 644 ["easeInOutQuint", [.86, 0, .07, 1]], 645 ["easeInExpo", [.95, .05, .795, .035]], 646 ["easeOutExpo", [.19, 1, .22, 1]], 647 ["easeInOutExpo", [1, 0, 0, 1]], 648 ["easeInCirc", [.6, .04, .98, .335]], 649 ["easeOutCirc", [.075, .82, .165, 1]], 650 ["easeInOutCirc", [.785, .135, .15, .86]] 651 ], function(a, b) { 652 t.Easings[b[0]] = i.apply(null, b[1]) 653 }); 654 var v = t.CSS = { 655 RegEx: { 656 isHex: /^#([A-f\d]{3}){1,2}$/i, 657 valueUnwrap: /^[A-z]+\((.*)\)$/i, 658 wrappedValueAlreadyExtracted: /[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/, 659 valueSplit: /([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi 660 }, 661 Lists: { 662 colors: ["fill", "stroke", "stopColor", "color", "backgroundColor", "borderColor", "borderTopColor", "borderRightColor", "borderBottomColor", "borderLeftColor", "outlineColor"], 663 transformsBase: ["translateX", "translateY", "scale", "scaleX", "scaleY", "skewX", "skewY", "rotateZ"], 664 transforms3D: ["transformPerspective", "translateZ", "scaleZ", "rotateX", "rotateY"] 665 }, 666 Hooks: { 667 templates: { 668 textShadow: ["Color X Y Blur", "black 0px 0px 0px"], 669 boxShadow: ["Color X Y Blur Spread", "black 0px 0px 0px 0px"], 670 clip: ["Top Right Bottom Left", "0px 0px 0px 0px"], 671 backgroundPosition: ["X Y", "0% 0%"], 672 transformOrigin: ["X Y Z", "50% 50% 0px"], 673 perspectiveOrigin: ["X Y", "50% 50%"] 674 }, 675 registered: {}, 676 register: function() { 677 for (var a = 0; a < v.Lists.colors.length; a++) { 678 var b = "color" === v.Lists.colors[a] ? "0 0 0 1" : "255 255 255 1"; 679 v.Hooks.templates[v.Lists.colors[a]] = ["Red Green Blue Alpha", b] 680 } 681 var c, d, e; 682 if (n) 683 for (c in v.Hooks.templates) { 684 d = v.Hooks.templates[c], e = d[0].split(" "); 685 var f = d[1].match(v.RegEx.valueSplit); 686 "Color" === e[0] && (e.push(e.shift()), f.push(f.shift()), v.Hooks.templates[c] = [e.join(" "), f.join(" ")]) 687 } 688 for (c in v.Hooks.templates) { 689 d = v.Hooks.templates[c], e = d[0].split(" "); 690 for (var a in e) { 691 var g = c + e[a], 692 h = a; 693 v.Hooks.registered[g] = [c, h] 694 } 695 } 696 }, 697 getRoot: function(a) { 698 var b = v.Hooks.registered[a]; 699 return b ? b[0] : a 700 }, 701 cleanRootPropertyValue: function(a, b) { 702 return v.RegEx.valueUnwrap.test(b) && (b = b.match(v.RegEx.valueUnwrap)[1]), v.Values.isCSSNullValue(b) && (b = v.Hooks.templates[a][1]), b 703 }, 704 extractValue: function(a, b) { 705 var c = v.Hooks.registered[a]; 706 if (c) { 707 var d = c[0], 708 e = c[1]; 709 return b = v.Hooks.cleanRootPropertyValue(d, b), b.toString().match(v.RegEx.valueSplit)[e] 710 } 711 return b 712 }, 713 injectValue: function(a, b, c) { 714 var d = v.Hooks.registered[a]; 715 if (d) { 716 var e, f = d[0], 717 g = d[1]; 718 return c = v.Hooks.cleanRootPropertyValue(f, c), e = c.toString().match(v.RegEx.valueSplit), e[g] = b, e.join(" ") 719 } 720 return c 721 } 722 }, 723 Normalizations: { 724 registered: { 725 clip: function(a, b, c) { 726 switch (a) { 727 case "name": 728 return "clip"; 729 case "extract": 730 var d; 731 return v.RegEx.wrappedValueAlreadyExtracted.test(c) ? d = c : (d = c.toString().match(v.RegEx.valueUnwrap), d = d ? d[1].replace(/,(\s+)?/g, " ") : c), d; 732 case "inject": 733 return "rect(" + c + ")" 734 } 735 }, 736 blur: function(a, b, c) { 737 switch (a) { 738 case "name": 739 return t.State.isFirefox ? "filter" : "-webkit-filter"; 740 case "extract": 741 var d = parseFloat(c); 742 if (!d && 0 !== d) { 743 var e = c.toString().match(/blur\(([0-9]+[A-z]+)\)/i); 744 d = e ? e[1] : 0 745 } 746 return d; 747 case "inject": 748 return parseFloat(c) ? "blur(" + c + ")" : "none" 749 } 750 }, 751 opacity: function(a, b, c) { 752 if (8 >= n) switch (a) { 753 case "name": 754 return "filter"; 755 case "extract": 756 var d = c.toString().match(/alpha\(opacity=(.*)\)/i); 757 return c = d ? d[1] / 100 : 1; 758 case "inject": 759 return b.style.zoom = 1, parseFloat(c) >= 1 ? "" : "alpha(opacity=" + parseInt(100 * parseFloat(c), 10) + ")" 760 } else switch (a) { 761 case "name": 762 return "opacity"; 763 case "extract": 764 case "inject": 765 return c 766 } 767 } 768 }, 769 register: function() { 770 9 >= n || t.State.isGingerbread || (v.Lists.transformsBase = v.Lists.transformsBase.concat(v.Lists.transforms3D)); 771 for (var a = 0; a < v.Lists.transformsBase.length; a++) ! function() { 772 var b = v.Lists.transformsBase[a]; 773 v.Normalizations.registered[b] = function(a, c, e) { 774 switch (a) { 775 case "name": 776 return "transform"; 777 case "extract": 778 return g(c) === d || g(c).transformCache[b] === d ? /^scale/i.test(b) ? 1 : 0 : g(c).transformCache[b].replace(/[()]/g, ""); 779 case "inject": 780 var f = !1; 781 switch (b.substr(0, b.length - 1)) { 782 case "translate": 783 f = !/(%|px|em|rem|vw|vh|\d)$/i.test(e); 784 break; 785 case "scal": 786 case "scale": 787 t.State.isAndroid && g(c).transformCache[b] === d && 1 > e && (e = 1), f = !/(\d)$/i.test(e); 788 break; 789 case "skew": 790 f = !/(deg|\d)$/i.test(e); 791 break; 792 case "rotate": 793 f = !/(deg|\d)$/i.test(e) 794 } 795 return f || (g(c).transformCache[b] = "(" + e + ")"), g(c).transformCache[b] 796 } 797 } 798 }(); 799 for (var a = 0; a < v.Lists.colors.length; a++) ! function() { 800 var b = v.Lists.colors[a]; 801 v.Normalizations.registered[b] = function(a, c, e) { 802 switch (a) { 803 case "name": 804 return b; 805 case "extract": 806 var f; 807 if (v.RegEx.wrappedValueAlreadyExtracted.test(e)) f = e; 808 else { 809 var g, h = { 810 black: "rgb(0, 0, 0)", 811 blue: "rgb(0, 0, 255)", 812 gray: "rgb(128, 128, 128)", 813 green: "rgb(0, 128, 0)", 814 red: "rgb(255, 0, 0)", 815 white: "rgb(255, 255, 255)" 816 }; 817 /^[A-z]+$/i.test(e) ? g = h[e] !== d ? h[e] : h.black : v.RegEx.isHex.test(e) ? g = "rgb(" + v.Values.hexToRgb(e).join(" ") + ")" : /^rgba?\(/i.test(e) || (g = h.black), f = (g || e).toString().match(v.RegEx.valueUnwrap)[1].replace(/,(\s+)?/g, " ") 818 } 819 return 8 >= n || 3 !== f.split(" ").length || (f += " 1"), f; 820 case "inject": 821 return 8 >= n ? 4 === e.split(" ").length && (e = e.split(/\s+/).slice(0, 3).join(" ")) : 3 === e.split(" ").length && (e += " 1"), (8 >= n ? "rgb" : "rgba") + "(" + e.replace(/\s+/g, ",").replace(/\.(\d)+(?=,)/g, "") + ")" 822 } 823 } 824 }() 825 } 826 }, 827 Names: { 828 camelCase: function(a) { 829 return a.replace(/-(\w)/g, function(a, b) { 830 return b.toUpperCase() 831 }) 832 }, 833 SVGAttribute: function(a) { 834 var b = "width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2"; 835 return (n || t.State.isAndroid && !t.State.isChrome) && (b += "|transform"), new RegExp("^(" + b + ")$", "i").test(a) 836 }, 837 prefixCheck: function(a) { 838 if (t.State.prefixMatches[a]) return [t.State.prefixMatches[a], !0]; 839 for (var b = ["", "Webkit", "Moz", "ms", "O"], c = 0, d = b.length; d > c; c++) { 840 var e; 841 if (e = 0 === c ? a : b[c] + a.replace(/^\w/, function(a) { 842 return a.toUpperCase() 843 }), p.isString(t.State.prefixElement.style[e])) return t.State.prefixMatches[a] = e, [e, !0] 844 } 845 return [a, !1] 846 } 847 }, 848 Values: { 849 hexToRgb: function(a) { 850 var b, c = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i; 851 return a = a.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, function(a, b, c, d) { 852 return b + b + c + c + d + d 853 }), b = c.exec(a), b ? [parseInt(b[1], 16), parseInt(b[2], 16), parseInt(b[3], 16)] : [0, 0, 0] 854 }, 855 isCSSNullValue: function(a) { 856 return 0 == a || /^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(a) 857 }, 858 getUnitType: function(a) { 859 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" 860 }, 861 getDisplayType: function(a) { 862 var b = a && a.tagName.toString().toLowerCase(); 863 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" 864 }, 865 addClass: function(a, b) { 866 a.classList ? a.classList.add(b) : a.className += (a.className.length ? " " : "") + b 867 }, 868 removeClass: function(a, b) { 869 a.classList ? a.classList.remove(b) : a.className = a.className.toString().replace(new RegExp("(^|\\s)" + b.split(" ").join("|") + "(\\s|$)", "gi"), " ") 870 } 871 }, 872 getPropertyValue: function(a, c, e, f) { 873 function h(a, c) { 874 function e() { 875 j && v.setPropertyValue(a, "display", "none") 876 } 877 var i = 0; 878 if (8 >= n) i = m.css(a, c); 879 else { 880 var j = !1; 881 if (/^(width|height)$/.test(c) && 0 === v.getPropertyValue(a, "display") && (j = !0, v.setPropertyValue(a, "display", v.Values.getDisplayType(a))), !f) { 882 if ("height" === c && "border-box" !== v.getPropertyValue(a, "boxSizing").toString().toLowerCase()) { 883 var k = a.offsetHeight - (parseFloat(v.getPropertyValue(a, "borderTopWidth")) || 0) - (parseFloat(v.getPropertyValue(a, "borderBottomWidth")) || 0) - (parseFloat(v.getPropertyValue(a, "paddingTop")) || 0) - (parseFloat(v.getPropertyValue(a, "paddingBottom")) || 0); 884 return e(), k 885 } 886 if ("width" === c && "border-box" !== v.getPropertyValue(a, "boxSizing").toString().toLowerCase()) { 887 var l = a.offsetWidth - (parseFloat(v.getPropertyValue(a, "borderLeftWidth")) || 0) - (parseFloat(v.getPropertyValue(a, "borderRightWidth")) || 0) - (parseFloat(v.getPropertyValue(a, "paddingLeft")) || 0) - (parseFloat(v.getPropertyValue(a, "paddingRight")) || 0); 888 return e(), l 889 } 890 } 891 var o; 892 o = g(a) === d ? b.getComputedStyle(a, null) : g(a).computedStyle ? g(a).computedStyle : g(a).computedStyle = b.getComputedStyle(a, null), "borderColor" === c && (c = "borderTopColor"), i = 9 === n && "filter" === c ? o.getPropertyValue(c) : o[c], ("" === i || null === i) && (i = a.style[c]), e() 893 } 894 if ("auto" === i && /^(top|right|bottom|left)$/i.test(c)) { 895 var p = h(a, "position"); 896 ("fixed" === p || "absolute" === p && /top|left/i.test(c)) && (i = m(a).position()[c] + "px") 897 } 898 return i 899 } 900 var i; 901 if (v.Hooks.registered[c]) { 902 var j = c, 903 k = v.Hooks.getRoot(j); 904 e === d && (e = v.getPropertyValue(a, v.Names.prefixCheck(k)[0])), v.Normalizations.registered[k] && (e = v.Normalizations.registered[k]("extract", a, e)), i = v.Hooks.extractValue(j, e) 905 } else if (v.Normalizations.registered[c]) { 906 var l, o; 907 l = v.Normalizations.registered[c]("name", a), "transform" !== l && (o = h(a, v.Names.prefixCheck(l)[0]), v.Values.isCSSNullValue(o) && v.Hooks.templates[c] && (o = v.Hooks.templates[c][1])), i = v.Normalizations.registered[c]("extract", a, o) 908 } 909 if (!/^[\d-]/.test(i)) 910 if (g(a) && g(a).isSVG && v.Names.SVGAttribute(c)) 911 if (/^(height|width)$/i.test(c)) try { 912 i = a.getBBox()[c] 913 } catch (a) { 914 i = 0 915 } else i = a.getAttribute(c); 916 else i = h(a, v.Names.prefixCheck(c)[0]); 917 return v.Values.isCSSNullValue(i) && (i = 0), t.debug >= 2 && console.log("Get " + c + ": " + i), i 918 }, 919 setPropertyValue: function(a, c, d, e, f) { 920 var h = c; 921 if ("scroll" === c) f.container ? f.container["scroll" + f.direction] = d : "Left" === f.direction ? b.scrollTo(d, f.alternateValue) : b.scrollTo(f.alternateValue, d); 922 else if (v.Normalizations.registered[c] && "transform" === v.Normalizations.registered[c]("name", a)) v.Normalizations.registered[c]("inject", a, d), h = "transform", d = g(a).transformCache[c]; 923 else { 924 if (v.Hooks.registered[c]) { 925 var i = c, 926 j = v.Hooks.getRoot(c); 927 e = e || v.getPropertyValue(a, j), d = v.Hooks.injectValue(i, d, e), c = j 928 } 929 if (v.Normalizations.registered[c] && (d = v.Normalizations.registered[c]("inject", a, d), c = v.Normalizations.registered[c]("name", a)), h = v.Names.prefixCheck(c)[0], 8 >= n) try { 930 a.style[h] = d 931 } catch (a) { 932 t.debug && console.log("Browser does not support [" + d + "] for [" + h + "]") 933 } else g(a) && g(a).isSVG && v.Names.SVGAttribute(c) ? a.setAttribute(c, d) : a.style[h] = d; 934 t.debug >= 2 && console.log("Set " + c + " (" + h + "): " + d) 935 } 936 return [h, d] 937 }, 938 flushTransformCache: function(a) { 939 function b(b) { 940 return parseFloat(v.getPropertyValue(a, b)) 941 } 942 var c = ""; 943 if ((n || t.State.isAndroid && !t.State.isChrome) && g(a).isSVG) { 944 var d = { 945 translate: [b("translateX"), b("translateY")], 946 skewX: [b("skewX")], 947 skewY: [b("skewY")], 948 scale: 1 !== b("scale") ? [b("scale"), b("scale")] : [b("scaleX"), b("scaleY")], 949 rotate: [b("rotateZ"), 0, 0] 950 }; 951 m.each(g(a).transformCache, function(a) { 952 /^translate/i.test(a) ? a = "translate" : /^scale/i.test(a) ? a = "scale" : /^rotate/i.test(a) && (a = "rotate"), d[a] && (c += a + "(" + d[a].join(" ") + ") ", delete d[a]) 953 }) 954 } else { 955 var e, f; 956 m.each(g(a).transformCache, function(b) { 957 return e = g(a).transformCache[b], "transformPerspective" === b ? (f = e, !0) : (9 === n && "rotateZ" === b && (b = "rotate"), void(c += b + e + " ")) 958 }), f && (c = "perspective" + f + " " + c) 959 } 960 v.setPropertyValue(a, "transform", c) 961 } 962 }; 963 v.Hooks.register(), v.Normalizations.register(), t.hook = function(a, b, c) { 964 var e = d; 965 return a = f(a), m.each(a, function(a, f) { 966 if (g(f) === d && t.init(f), c === d) e === d && (e = t.CSS.getPropertyValue(f, b)); 967 else { 968 var h = t.CSS.setPropertyValue(f, b, c); 969 "transform" === h[0] && t.CSS.flushTransformCache(f), e = h 970 } 971 }), e 972 }; 973 var w = function() { 974 function a() { 975 return h ? B.promise || null : i 976 } 977 978 function e() { 979 function a(a) { 980 function l(a, b) { 981 var c = d, 982 e = d, 983 g = d; 984 return p.isArray(a) ? (c = a[0], !p.isArray(a[1]) && /^[\d-]/.test(a[1]) || p.isFunction(a[1]) || v.RegEx.isHex.test(a[1]) ? g = a[1] : (p.isString(a[1]) && !v.RegEx.isHex.test(a[1]) || p.isArray(a[1])) && (e = b ? a[1] : j(a[1], h.duration), a[2] !== d && (g = a[2]))) : c = a, b || (e = e || h.easing), p.isFunction(c) && (c = c.call(f, y, x)), p.isFunction(g) && (g = g.call(f, y, x)), [c || 0, e, g] 985 } 986 987 function n(a, b) { 988 var c, d; 989 return d = (b || "0").toString().toLowerCase().replace(/[%A-z]+$/, function(a) { 990 return c = a, "" 991 }), c || (c = v.Values.getUnitType(a)), [d, c] 992 } 993 if (h.begin && 0 === y) try { 994 h.begin.call(o, o) 995 } catch (a) { 996 setTimeout(function() { 997 throw a 998 }, 1) 999 } 1000 if ("scroll" === C) { 1001 var r, u, w, z = /^x$/i.test(h.axis) ? "Left" : "Top", 1002 A = parseFloat(h.offset) || 0; 1003 h.container ? p.isWrapped(h.container) || p.isNode(h.container) ? (h.container = h.container[0] || h.container, r = h.container["scroll" + z], w = r + m(f).position()[z.toLowerCase()] + A) : h.container = null : (r = t.State.scrollAnchor[t.State["scrollProperty" + z]], u = t.State.scrollAnchor[t.State["scrollProperty" + ("Left" === z ? "Top" : "Left")]], w = m(f).offset()[z.toLowerCase()] + A), i = { 1004 scroll: { 1005 rootPropertyValue: !1, 1006 startValue: r, 1007 currentValue: r, 1008 endValue: w, 1009 unitType: "", 1010 easing: h.easing, 1011 scrollData: { 1012 container: h.container, 1013 direction: z, 1014 alternateValue: u 1015 } 1016 }, 1017 element: f 1018 }, t.debug && console.log("tweensContainer (scroll): ", i.scroll, f) 1019 } else if ("reverse" === C) { 1020 if (!g(f).tweensContainer) return void m.dequeue(f, h.queue); 1021 "none" === g(f).opts.display && (g(f).opts.display = "auto"), "hidden" === g(f).opts.visibility && (g(f).opts.visibility = "visible"), g(f).opts.loop = !1, g(f).opts.begin = null, g(f).opts.complete = null, s.easing || delete h.easing, s.duration || delete h.duration, h = m.extend({}, g(f).opts, h); 1022 var D = m.extend(!0, {}, g(f).tweensContainer); 1023 for (var E in D) 1024 if ("element" !== E) { 1025 var F = D[E].startValue; 1026 D[E].startValue = D[E].currentValue = D[E].endValue, D[E].endValue = F, p.isEmptyObject(s) || (D[E].easing = h.easing), t.debug && console.log("reverse tweensContainer (" + E + "): " + JSON.stringify(D[E]), f) 1027 } i = D 1028 } else if ("start" === C) { 1029 var D; 1030 g(f).tweensContainer && !0 === g(f).isAnimating && (D = g(f).tweensContainer), m.each(q, function(a, b) { 1031 if (RegExp("^" + v.Lists.colors.join("$|^") + "$").test(a)) { 1032 var c = l(b, !0), 1033 e = c[0], 1034 f = c[1], 1035 g = c[2]; 1036 if (v.RegEx.isHex.test(e)) { 1037 for (var h = ["Red", "Green", "Blue"], i = v.Values.hexToRgb(e), j = g ? v.Values.hexToRgb(g) : d, k = 0; k < h.length; k++) { 1038 var m = [i[k]]; 1039 f && m.push(f), j !== d && m.push(j[k]), q[a + h[k]] = m 1040 } 1041 delete q[a] 1042 } 1043 } 1044 }); 1045 for (var G in q) { 1046 var H = l(q[G]), 1047 K = H[0], 1048 L = H[1], 1049 M = H[2]; 1050 G = v.Names.camelCase(G); 1051 var N = v.Hooks.getRoot(G), 1052 O = !1; 1053 if (g(f).isSVG || "tween" === N || !1 !== v.Names.prefixCheck(N)[1] || v.Normalizations.registered[N] !== d) { 1054 (h.display !== d && null !== h.display && "none" !== h.display || h.visibility !== d && "hidden" !== h.visibility) && /opacity|filter/.test(G) && !M && 0 !== K && (M = 0), h._cacheValues && D && D[G] ? (M === d && (M = D[G].endValue + D[G].unitType), O = g(f).rootPropertyValueCache[N]) : v.Hooks.registered[G] ? M === d ? (O = v.getPropertyValue(f, N), M = v.getPropertyValue(f, G, O)) : O = v.Hooks.templates[N][1] : M === d && (M = v.getPropertyValue(f, G)); 1055 var P, Q, R, S = !1; 1056 if (P = n(G, M), M = P[0], R = P[1], P = n(G, K), K = P[0].replace(/^([+-\/*])=/, function(a, b) { 1057 return S = b, "" 1058 }), Q = P[1], M = parseFloat(M) || 0, K = parseFloat(K) || 0, "%" === Q && (/^(fontSize|lineHeight)$/.test(G) ? (K /= 100, Q = "em") : /^scale/.test(G) ? (K /= 100, Q = "") : /(Red|Green|Blue)$/i.test(G) && (K = K / 100 * 255, Q = "")), /[\/*]/.test(S)) Q = R; 1059 else if (R !== Q && 0 !== M) 1060 if (0 === K) Q = R; 1061 else { 1062 e = e || function() { 1063 var a = { 1064 myParent: f.parentNode || c.body, 1065 position: v.getPropertyValue(f, "position"), 1066 fontSize: v.getPropertyValue(f, "fontSize") 1067 }, 1068 d = a.position === I.lastPosition && a.myParent === I.lastParent, 1069 e = a.fontSize === I.lastFontSize; 1070 I.lastParent = a.myParent, I.lastPosition = a.position, I.lastFontSize = a.fontSize; 1071 var h = 100, 1072 i = {}; 1073 if (e && d) i.emToPx = I.lastEmToPx, i.percentToPxWidth = I.lastPercentToPxWidth, i.percentToPxHeight = I.lastPercentToPxHeight; 1074 else { 1075 var j = g(f).isSVG ? c.createElementNS("http://www.w3.org/2000/svg", "rect") : c.createElement("div"); 1076 t.init(j), a.myParent.appendChild(j), m.each(["overflow", "overflowX", "overflowY"], function(a, b) { 1077 t.CSS.setPropertyValue(j, b, "hidden") 1078 }), t.CSS.setPropertyValue(j, "position", a.position), t.CSS.setPropertyValue(j, "fontSize", a.fontSize), t.CSS.setPropertyValue(j, "boxSizing", "content-box"), m.each(["minWidth", "maxWidth", "width", "minHeight", "maxHeight", "height"], function(a, b) { 1079 t.CSS.setPropertyValue(j, b, h + "%") 1080 }), t.CSS.setPropertyValue(j, "paddingLeft", h + "em"), i.percentToPxWidth = I.lastPercentToPxWidth = (parseFloat(v.getPropertyValue(j, "width", null, !0)) || 1) / h, i.percentToPxHeight = I.lastPercentToPxHeight = (parseFloat(v.getPropertyValue(j, "height", null, !0)) || 1) / h, i.emToPx = I.lastEmToPx = (parseFloat(v.getPropertyValue(j, "paddingLeft")) || 1) / h, a.myParent.removeChild(j) 1081 } 1082 return null === I.remToPx && (I.remToPx = parseFloat(v.getPropertyValue(c.body, "fontSize")) || 16), null === I.vwToPx && (I.vwToPx = parseFloat(b.innerWidth) / 100, I.vhToPx = parseFloat(b.innerHeight) / 100), i.remToPx = I.remToPx, i.vwToPx = I.vwToPx, i.vhToPx = I.vhToPx, t.debug >= 1 && console.log("Unit ratios: " + JSON.stringify(i), f), i 1083 }(); 1084 var T = /margin|padding|left|right|width|text|word|letter/i.test(G) || /X$/.test(G) || "x" === G ? "x" : "y"; 1085 switch (R) { 1086 case "%": 1087 M *= "x" === T ? e.percentToPxWidth : e.percentToPxHeight; 1088 break; 1089 case "px": 1090 break; 1091 default: 1092 M *= e[R + "ToPx"] 1093 } 1094 switch (Q) { 1095 case "%": 1096 M *= 1 / ("x" === T ? e.percentToPxWidth : e.percentToPxHeight); 1097 break; 1098 case "px": 1099 break; 1100 default: 1101 M *= 1 / e[Q + "ToPx"] 1102 } 1103 } switch (S) { 1104 case "+": 1105 K = M + K; 1106 break; 1107 case "-": 1108 K = M - K; 1109 break; 1110 case "*": 1111 K *= M; 1112 break; 1113 case "/": 1114 K = M / K 1115 } 1116 i[G] = { 1117 rootPropertyValue: O, 1118 startValue: M, 1119 currentValue: M, 1120 endValue: K, 1121 unitType: Q, 1122 easing: L 1123 }, t.debug && console.log("tweensContainer (" + G + "): " + JSON.stringify(i[G]), f) 1124 } else t.debug && console.log("Skipping [" + N + "] due to a lack of browser support.") 1125 } 1126 i.element = f 1127 } 1128 i.element && (v.Values.addClass(f, "velocity-animating"), J.push(i), "" === h.queue && (g(f).tweensContainer = i, g(f).opts = h), g(f).isAnimating = !0, y === x - 1 ? (t.State.calls.push([J, o, h, null, B.resolver]), !1 === t.State.isTicking && (t.State.isTicking = !0, k())) : y++) 1129 } 1130 var e, f = this, 1131 h = m.extend({}, t.defaults, s), 1132 i = {}; 1133 switch (g(f) === d && t.init(f), parseFloat(h.delay) && !1 !== h.queue && m.queue(f, h.queue, function(a) { 1134 t.velocityQueueEntryFlag = !0, g(f).delayTimer = { 1135 setTimeout: setTimeout(a, parseFloat(h.delay)), 1136 next: a 1137 } 1138 }), 1139 h.duration.toString().toLowerCase()) { 1140 case "fast": 1141 h.duration = 200; 1142 break; 1143 case "normal": 1144 h.duration = r; 1145 break; 1146 case "slow": 1147 h.duration = 600; 1148 break; 1149 default: 1150 h.duration = parseFloat(h.duration) || 1 1151 }!1 !== t.mock && (!0 === t.mock ? h.duration = h.delay = 1 : (h.duration *= parseFloat(t.mock) || 1, h.delay *= parseFloat(t.mock) || 1)), h.easing = j(h.easing, h.duration), h.begin && !p.isFunction(h.begin) && (h.begin = null), h.progress && !p.isFunction(h.progress) && (h.progress = null), h.complete && !p.isFunction(h.complete) && (h.complete = null), h.display !== d && null !== h.display && (h.display = h.display.toString().toLowerCase(), "auto" === h.display && (h.display = t.CSS.Values.getDisplayType(f))), h.visibility !== d && null !== h.visibility && (h.visibility = h.visibility.toString().toLowerCase()), h.mobileHA = h.mobileHA && t.State.isMobile && !t.State.isGingerbread, !1 === h.queue ? h.delay ? setTimeout(a, h.delay) : a() : m.queue(f, h.queue, function(b, c) { 1152 return !0 === c ? (B.promise && B.resolver(o), !0) : (t.velocityQueueEntryFlag = !0, void a(b)) 1153 }), "" !== h.queue && "fx" !== h.queue || "inprogress" === m.queue(f)[0] || m.dequeue(f) 1154 } 1155 var h, i, n, o, q, s, u = arguments[0] && (arguments[0].p || m.isPlainObject(arguments[0].properties) && !arguments[0].properties.names || p.isString(arguments[0].properties)); 1156 if (p.isWrapped(this) ? (h = !1, n = 0, o = this, i = this) : (h = !0, n = 1, o = u ? arguments[0].elements || arguments[0].e : arguments[0]), o = f(o)) { 1157 u ? (q = arguments[0].properties || arguments[0].p, s = arguments[0].options || arguments[0].o) : (q = arguments[n], s = arguments[n + 1]); 1158 var x = o.length, 1159 y = 0; 1160 if (!/^(stop|finish)$/i.test(q) && !m.isPlainObject(s)) { 1161 var z = n + 1; 1162 s = {}; 1163 for (var A = z; A < arguments.length; A++) p.isArray(arguments[A]) || !/^(fast|normal|slow)$/i.test(arguments[A]) && !/^\d/.test(arguments[A]) ? p.isString(arguments[A]) || p.isArray(arguments[A]) ? s.easing = arguments[A] : p.isFunction(arguments[A]) && (s.complete = arguments[A]) : s.duration = arguments[A] 1164 } 1165 var B = { 1166 promise: null, 1167 resolver: null, 1168 rejecter: null 1169 }; 1170 h && t.Promise && (B.promise = new t.Promise(function(a, b) { 1171 B.resolver = a, B.rejecter = b 1172 })); 1173 var C; 1174 switch (q) { 1175 case "scroll": 1176 C = "scroll"; 1177 break; 1178 case "reverse": 1179 C = "reverse"; 1180 break; 1181 case "finish": 1182 case "stop": 1183 m.each(o, function(a, b) { 1184 g(b) && g(b).delayTimer && (clearTimeout(g(b).delayTimer.setTimeout), g(b).delayTimer.next && g(b).delayTimer.next(), delete g(b).delayTimer) 1185 }); 1186 var D = []; 1187 return m.each(t.State.calls, function(a, b) { 1188 b && m.each(b[1], function(c, e) { 1189 var f = s === d ? "" : s; 1190 return !0 !== f && b[2].queue !== f && (s !== d || !1 !== b[2].queue) || void m.each(o, function(c, d) { 1191 d === e && ((!0 === s || p.isString(s)) && (m.each(m.queue(d, p.isString(s) ? s : ""), function(a, b) { 1192 p.isFunction(b) && b(null, !0) 1193 }), m.queue(d, p.isString(s) ? s : "", [])), "stop" === q ? (g(d) && g(d).tweensContainer && !1 !== f && m.each(g(d).tweensContainer, function(a, b) { 1194 b.endValue = b.currentValue 1195 }), D.push(a)) : "finish" === q && (b[2].duration = 1)) 1196 }) 1197 }) 1198 }), "stop" === q && (m.each(D, function(a, b) { 1199 l(b, !0) 1200 }), B.promise && B.resolver(o)), a(); 1201 default: 1202 if (!m.isPlainObject(q) || p.isEmptyObject(q)) { 1203 if (p.isString(q) && t.Redirects[q]) { 1204 var E = m.extend({}, s), 1205 F = E.duration, 1206 G = E.delay || 0; 1207 return !0 === E.backwards && (o = m.extend(!0, [], o).reverse()), m.each(o, function(a, b) { 1208 parseFloat(E.stagger) ? E.delay = G + parseFloat(E.stagger) * a : p.isFunction(E.stagger) && (E.delay = G + E.stagger.call(b, a, x)), E.drag && (E.duration = parseFloat(F) || (/^(callout|transition)/.test(q) ? 1e3 : r), E.duration = Math.max(E.duration * (E.backwards ? 1 - a / x : (a + 1) / x), .75 * E.duration, 200)), t.Redirects[q].call(b, b, E || {}, a, x, o, B.promise ? B : d) 1209 }), a() 1210 } 1211 var H = "Velocity: First argument (" + q + ") was not a property map, a known action, or a registered redirect. Aborting."; 1212 return B.promise ? B.rejecter(new Error(H)) : console.log(H), a() 1213 } 1214 C = "start" 1215 } 1216 var I = { 1217 lastParent: null, 1218 lastPosition: null, 1219 lastFontSize: null, 1220 lastPercentToPxWidth: null, 1221 lastPercentToPxHeight: null, 1222 lastEmToPx: null, 1223 remToPx: null, 1224 vwToPx: null, 1225 vhToPx: null 1226 }, 1227 J = []; 1228 m.each(o, function(a, b) { 1229 p.isNode(b) && e.call(b) 1230 }); 1231 var K, E = m.extend({}, t.defaults, s); 1232 if (E.loop = parseInt(E.loop), K = 2 * E.loop - 1, E.loop) 1233 for (var L = 0; K > L; L++) { 1234 var M = { 1235 delay: E.delay, 1236 progress: E.progress 1237 }; 1238 L === K - 1 && (M.display = E.display, M.visibility = E.visibility, M.complete = E.complete), w(o, "reverse", M) 1239 } 1240 return a() 1241 } 1242 }; 1243 t = m.extend(w, t), t.animate = w; 1244 var x = b.requestAnimationFrame || o; 1245 return t.State.isMobile || c.hidden === d || c.addEventListener("visibilitychange", function() { 1246 c.hidden ? (x = function(a) { 1247 return setTimeout(function() { 1248 a(!0) 1249 }, 16) 1250 }, k()) : x = b.requestAnimationFrame || o 1251 }), a.Velocity = t, a !== b && (a.fn.velocity = w, a.fn.velocity.defaults = t.defaults), m.each(["Down", "Up"], function(a, b) { 1252 t.Redirects["slide" + b] = function(a, c, e, f, g, h) { 1253 var i = m.extend({}, c), 1254 j = i.begin, 1255 k = i.complete, 1256 l = { 1257 height: "", 1258 marginTop: "", 1259 marginBottom: "", 1260 paddingTop: "", 1261 paddingBottom: "" 1262 }, 1263 n = {}; 1264 i.display === d && (i.display = "Down" === b ? "inline" === t.CSS.Values.getDisplayType(a) ? "inline-block" : "block" : "none"), i.begin = function() { 1265 j && j.call(g, g); 1266 for (var c in l) { 1267 n[c] = a.style[c]; 1268 var d = t.CSS.getPropertyValue(a, c); 1269 l[c] = "Down" === b ? [d, 0] : [0, d] 1270 } 1271 n.overflow = a.style.overflow, a.style.overflow = "hidden" 1272 }, i.complete = function() { 1273 for (var b in n) a.style[b] = n[b]; 1274 k && k.call(g, g), h && h.resolver(g) 1275 }, t(a, l, i) 1276 } 1277 }), m.each(["In", "Out"], function(a, b) { 1278 t.Redirects["fade" + b] = function(a, c, e, f, g, h) { 1279 var i = m.extend({}, c), 1280 j = { 1281 opacity: "In" === b ? 1 : 0 1282 }, 1283 k = i.complete; 1284 i.complete = e !== f - 1 ? i.begin = null : function() { 1285 k && k.call(g, g), h && h.resolver(g) 1286 }, i.display === d && (i.display = "In" === b ? "auto" : "none"), t(this, j, i) 1287 } 1288 }), t 1289 }(window.jQuery || window.Zepto || window, window, document) 1290 })), 1291 function(a, b, c, d) { 1292 "use strict"; 1293 1294 function e(a, b, c) { 1295 return setTimeout(k(a, c), b) 1296 } 1297 1298 function f(a, b, c) { 1299 return !!Array.isArray(a) && (g(a, c[b], c), !0) 1300 } 1301 1302 function g(a, b, c) { 1303 var e; 1304 if (a)
vendor: 27,221 bytes, lines 1305-2029
1305 if (a.forEach) a.forEach(b, c); 1306 else if (a.length !== d) 1307 for (e = 0; e < a.length;) b.call(c, a[e], e, a), e++; 1308 else 1309 for (e in a) a.hasOwnProperty(e) && b.call(c, a[e], e, a) 1310 } 1311 1312 function h(a, b, c) { 1313 for (var e = Object.keys(b), f = 0; f < e.length;)(!c || c && a[e[f]] === d) && (a[e[f]] = b[e[f]]), f++; 1314 return a 1315 } 1316 1317 function i(a, b) { 1318 return h(a, b, !0) 1319 } 1320 1321 function j(a, b, c) { 1322 var d, e = b.prototype; 1323 d = a.prototype = Object.create(e), d.constructor = a, d._super = e, c && h(d, c) 1324 } 1325 1326 function k(a, b) { 1327 return function() { 1328 return a.apply(b, arguments) 1329 } 1330 } 1331 1332 function l(a, b) { 1333 return typeof a == ka ? a.apply(b ? b[0] || d : d, b) : a 1334 } 1335 1336 function m(a, b) { 1337 return a === d ? b : a 1338 } 1339 1340 function n(a, b, c) { 1341 g(r(b), function(b) { 1342 a.addEventListener(b, c, !1) 1343 }) 1344 } 1345 1346 function o(a, b, c) { 1347 g(r(b), function(b) { 1348 a.removeEventListener(b, c, !1) 1349 }) 1350 } 1351 1352 function p(a, b) { 1353 for (; a;) { 1354 if (a == b) return !0; 1355 a = a.parentNode 1356 } 1357 return !1 1358 } 1359 1360 function q(a, b) { 1361 return a.indexOf(b) > -1 1362 } 1363 1364 function r(a) { 1365 return a.trim().split(/\s+/g) 1366 } 1367 1368 function s(a, b, c) { 1369 if (a.indexOf && !c) return a.indexOf(b); 1370 for (var d = 0; d < a.length;) { 1371 if (c && a[d][c] == b || !c && a[d] === b) return d; 1372 d++ 1373 } 1374 return -1 1375 } 1376 1377 function t(a) { 1378 return Array.prototype.slice.call(a, 0) 1379 } 1380 1381 function u(a, b, c) { 1382 for (var d = [], e = [], f = 0; f < a.length;) { 1383 var g = b ? a[f][b] : a[f]; 1384 s(e, g) < 0 && d.push(a[f]), e[f] = g, f++ 1385 } 1386 return c && (d = b ? d.sort(function(a, c) { 1387 return a[b] > c[b] 1388 }) : d.sort()), d 1389 } 1390 1391 function v(a, b) { 1392 for (var c, e, f = b[0].toUpperCase() + b.slice(1), g = 0; g < ia.length;) { 1393 if (c = ia[g], (e = c ? c + f : b) in a) return e; 1394 g++ 1395 } 1396 return d 1397 } 1398 1399 function w() { 1400 return oa++ 1401 } 1402 1403 function x(a) { 1404 var b = a.ownerDocument; 1405 return b.defaultView || b.parentWindow 1406 } 1407 1408 function y(a, b) { 1409 var c = this; 1410 this.manager = a, this.callback = b, this.element = a.element, this.target = a.options.inputTarget, this.domHandler = function(b) { 1411 l(a.options.enable, [a]) && c.handler(b) 1412 }, this.init() 1413 } 1414 1415 function z(a) { 1416 var b = a.options.inputClass; 1417 return new(b || (ra ? N : sa ? Q : qa ? S : M))(a, A) 1418 } 1419 1420 function A(a, b, c) { 1421 var d = c.pointers.length, 1422 e = c.changedPointers.length, 1423 f = b & wa && 0 == d - e, 1424 g = b & (ya | za) && 0 == d - e; 1425 c.isFirst = !!f, c.isFinal = !!g, f && (a.session = {}), c.eventType = b, B(a, c), a.emit("hammer.input", c), a.recognize(c), a.session.prevInput = c 1426 } 1427 1428 function B(a, b) { 1429 var c = a.session, 1430 d = b.pointers, 1431 e = d.length; 1432 c.firstInput || (c.firstInput = E(b)), e > 1 && !c.firstMultiple ? c.firstMultiple = E(b) : 1 === e && (c.firstMultiple = !1); 1433 var f = c.firstInput, 1434 g = c.firstMultiple, 1435 h = g ? g.center : f.center, 1436 i = b.center = F(d); 1437 b.timeStamp = na(), b.deltaTime = b.timeStamp - f.timeStamp, b.angle = J(h, i), b.distance = I(h, i), C(c, b), b.offsetDirection = H(b.deltaX, b.deltaY), b.scale = g ? L(g.pointers, d) : 1, b.rotation = g ? K(g.pointers, d) : 0, D(c, b); 1438 var j = a.element; 1439 p(b.srcEvent.target, j) && (j = b.srcEvent.target), b.target = j 1440 } 1441 1442 function C(a, b) { 1443 var c = b.center, 1444 d = a.offsetDelta || {}, 1445 e = a.prevDelta || {}, 1446 f = a.prevInput || {}; 1447 (b.eventType === wa || f.eventType === ya) && (e = a.prevDelta = { 1448 x: f.deltaX || 0, 1449 y: f.deltaY || 0 1450 }, d = a.offsetDelta = { 1451 x: c.x, 1452 y: c.y 1453 }), b.deltaX = e.x + (c.x - d.x), b.deltaY = e.y + (c.y - d.y) 1454 } 1455 1456 function D(a, b) { 1457 var c, e, f, g, h = a.lastInterval || b, 1458 i = b.timeStamp - h.timeStamp; 1459 if (b.eventType != za && (i > va || h.velocity === d)) { 1460 var j = h.deltaX - b.deltaX, 1461 k = h.deltaY - b.deltaY, 1462 l = G(i, j, k); 1463 e = l.x, f = l.y, c = ma(l.x) > ma(l.y) ? l.x : l.y, g = H(j, k), a.lastInterval = b 1464 } else c = h.velocity, e = h.velocityX, f = h.velocityY, g = h.direction; 1465 b.velocity = c, b.velocityX = e, b.velocityY = f, b.direction = g 1466 } 1467 1468 function E(a) { 1469 for (var b = [], c = 0; c < a.pointers.length;) b[c] = { 1470 clientX: la(a.pointers[c].clientX), 1471 clientY: la(a.pointers[c].clientY) 1472 }, c++; 1473 return { 1474 timeStamp: na(), 1475 pointers: b, 1476 center: F(b), 1477 deltaX: a.deltaX, 1478 deltaY: a.deltaY 1479 } 1480 } 1481 1482 function F(a) { 1483 var b = a.length; 1484 if (1 === b) return { 1485 x: la(a[0].clientX), 1486 y: la(a[0].clientY) 1487 }; 1488 for (var c = 0, d = 0, e = 0; b > e;) c += a[e].clientX, d += a[e].clientY, e++; 1489 return { 1490 x: la(c / b), 1491 y: la(d / b) 1492 } 1493 } 1494 1495 function G(a, b, c) { 1496 return { 1497 x: b / a || 0, 1498 y: c / a || 0 1499 } 1500 } 1501 1502 function H(a, b) { 1503 return a === b ? Aa : ma(a) >= ma(b) ? a > 0 ? Ba : Ca : b > 0 ? Da : Ea 1504 } 1505 1506 function I(a, b, c) { 1507 c || (c = Ia); 1508 var d = b[c[0]] - a[c[0]], 1509 e = b[c[1]] - a[c[1]]; 1510 return Math.sqrt(d * d + e * e) 1511 } 1512 1513 function J(a, b, c) { 1514 c || (c = Ia); 1515 var d = b[c[0]] - a[c[0]], 1516 e = b[c[1]] - a[c[1]]; 1517 return 180 * Math.atan2(e, d) / Math.PI 1518 } 1519 1520 function K(a, b) { 1521 return J(b[1], b[0], Ja) - J(a[1], a[0], Ja) 1522 } 1523 1524 function L(a, b) { 1525 return I(b[0], b[1], Ja) / I(a[0], a[1], Ja) 1526 } 1527 1528 function M() { 1529 this.evEl = La, this.evWin = Ma, this.allow = !0, this.pressed = !1, y.apply(this, arguments) 1530 } 1531 1532 function N() { 1533 this.evEl = Pa, this.evWin = Qa, y.apply(this, arguments), this.store = this.manager.session.pointerEvents = [] 1534 } 1535 1536 function O() { 1537 this.evTarget = Sa, this.evWin = Ta, this.started = !1, y.apply(this, arguments) 1538 } 1539 1540 function P(a, b) { 1541 var c = t(a.touches), 1542 d = t(a.changedTouches); 1543 return b & (ya | za) && (c = u(c.concat(d), "identifier", !0)), [c, d] 1544 } 1545 1546 function Q() { 1547 this.evTarget = Va, this.targetIds = {}, y.apply(this, arguments) 1548 } 1549 1550 function R(a, b) { 1551 var c = t(a.touches), 1552 d = this.targetIds; 1553 if (b & (wa | xa) && 1 === c.length) return d[c[0].identifier] = !0, [c, c]; 1554 var e, f, g = t(a.changedTouches), 1555 h = [], 1556 i = this.target; 1557 if (f = c.filter(function(a) { 1558 return p(a.target, i) 1559 }), b === wa) 1560 for (e = 0; e < f.length;) d[f[e].identifier] = !0, e++; 1561 for (e = 0; e < g.length;) d[g[e].identifier] && h.push(g[e]), b & (ya | za) && delete d[g[e].identifier], e++; 1562 return h.length ? [u(f.concat(h), "identifier", !0), h] : void 0 1563 } 1564 1565 function S() { 1566 y.apply(this, arguments); 1567 var a = k(this.handler, this); 1568 this.touch = new Q(this.manager, a), this.mouse = new M(this.manager, a) 1569 } 1570 1571 function T(a, b) { 1572 this.manager = a, this.set(b) 1573 } 1574 1575 function U(a) { 1576 if (q(a, _a)) return _a; 1577 var b = q(a, ab), 1578 c = q(a, bb); 1579 return b && c ? ab + " " + bb : b || c ? b ? ab : bb : q(a, $a) ? $a : Za 1580 } 1581 1582 function V(a) { 1583 this.id = w(), this.manager = null, this.options = i(a || {}, this.defaults), this.options.enable = m(this.options.enable, !0), this.state = cb, this.simultaneous = {}, this.requireFail = [] 1584 } 1585 1586 function W(a) { 1587 return a & hb ? "cancel" : a & fb ? "end" : a & eb ? "move" : a & db ? "start" : "" 1588 } 1589 1590 function X(a) { 1591 return a == Ea ? "down" : a == Da ? "up" : a == Ba ? "left" : a == Ca ? "right" : "" 1592 } 1593 1594 function Y(a, b) { 1595 var c = b.manager; 1596 return c ? c.get(a) : a 1597 } 1598 1599 function Z() { 1600 V.apply(this, arguments) 1601 } 1602 1603 function $() { 1604 Z.apply(this, arguments), this.pX = null, this.pY = null 1605 } 1606 1607 function _() { 1608 Z.apply(this, arguments) 1609 } 1610 1611 function aa() { 1612 V.apply(this, arguments), this._timer = null, this._input = null 1613 } 1614 1615 function ba() { 1616 Z.apply(this, arguments) 1617 } 1618 1619 function ca() { 1620 Z.apply(this, arguments) 1621 } 1622 1623 function da() { 1624 V.apply(this, arguments), this.pTime = !1, this.pCenter = !1, this._timer = null, this._input = null, this.count = 0 1625 } 1626 1627 function ea(a, b) { 1628 return b = b || {}, b.recognizers = m(b.recognizers, ea.defaults.preset), new fa(a, b) 1629 } 1630 1631 function fa(a, b) { 1632 b = b || {}, this.options = i(b, ea.defaults), this.options.inputTarget = this.options.inputTarget || a, this.handlers = {}, this.session = {}, this.recognizers = [], this.element = a, this.input = z(this), this.touchAction = new T(this, this.options.touchAction), ga(this, !0), g(b.recognizers, function(a) { 1633 var b = this.add(new a[0](a[1])); 1634 a[2] && b.recognizeWith(a[2]), a[3] && b.requireFailure(a[3]) 1635 }, this) 1636 } 1637 1638 function ga(a, b) { 1639 var c = a.element; 1640 g(a.options.cssProps, function(a, d) { 1641 c.style[v(c.style, d)] = b ? a : "" 1642 }) 1643 } 1644 1645 function ha(a, c) { 1646 var d = b.createEvent("Event"); 1647 d.initEvent(a, !0, !0), d.gesture = c, c.target.dispatchEvent(d) 1648 } 1649 var ia = ["", "webkit", "moz", "MS", "ms", "o"], 1650 ja = b.createElement("div"), 1651 ka = "function", 1652 la = Math.round, 1653 ma = Math.abs, 1654 na = Date.now, 1655 oa = 1, 1656 pa = /mobile|tablet|ip(ad|hone|od)|android/i, 1657 qa = "ontouchstart" in a, 1658 ra = v(a, "PointerEvent") !== d, 1659 sa = qa && pa.test(navigator.userAgent), 1660 ta = "touch", 1661 ua = "mouse", 1662 va = 25, 1663 wa = 1, 1664 xa = 2, 1665 ya = 4, 1666 za = 8, 1667 Aa = 1, 1668 Ba = 2, 1669 Ca = 4, 1670 Da = 8, 1671 Ea = 16, 1672 Fa = Ba | Ca, 1673 Ga = Da | Ea, 1674 Ha = Fa | Ga, 1675 Ia = ["x", "y"], 1676 Ja = ["clientX", "clientY"]; 1677 y.prototype = { 1678 handler: function() {}, 1679 init: function() { 1680 this.evEl && n(this.element, this.evEl, this.domHandler), this.evTarget && n(this.target, this.evTarget, this.domHandler), this.evWin && n(x(this.element), this.evWin, this.domHandler) 1681 }, 1682 destroy: function() { 1683 this.evEl && o(this.element, this.evEl, this.domHandler), this.evTarget && o(this.target, this.evTarget, this.domHandler), this.evWin && o(x(this.element), this.evWin, this.domHandler) 1684 } 1685 }; 1686 var Ka = { 1687 mousedown: wa, 1688 mousemove: xa, 1689 mouseup: ya 1690 }, 1691 La = "mousedown", 1692 Ma = "mousemove mouseup"; 1693 j(M, y, { 1694 handler: function(a) { 1695 var b = Ka[a.type]; 1696 b & wa && 0 === a.button && (this.pressed = !0), b & xa && 1 !== a.which && (b = ya), this.pressed && this.allow && (b & ya && (this.pressed = !1), this.callback(this.manager, b, { 1697 pointers: [a], 1698 changedPointers: [a], 1699 pointerType: ua, 1700 srcEvent: a 1701 })) 1702 } 1703 }); 1704 var Na = { 1705 pointerdown: wa, 1706 pointermove: xa, 1707 pointerup: ya, 1708 pointercancel: za, 1709 pointerout: za 1710 }, 1711 Oa = { 1712 2: ta, 1713 3: "pen", 1714 4: ua, 1715 5: "kinect" 1716 }, 1717 Pa = "pointerdown", 1718 Qa = "pointermove pointerup pointercancel"; 1719 a.MSPointerEvent && (Pa = "MSPointerDown", Qa = "MSPointerMove MSPointerUp MSPointerCancel"), j(N, y, { 1720 handler: function(a) { 1721 var b = this.store, 1722 c = !1, 1723 d = a.type.toLowerCase().replace("ms", ""), 1724 e = Na[d], 1725 f = Oa[a.pointerType] || a.pointerType, 1726 g = f == ta, 1727 h = s(b, a.pointerId, "pointerId"); 1728 e & wa && (0 === a.button || g) ? 0 > h && (b.push(a), h = b.length - 1) : e & (ya | za) && (c = !0), 0 > h || (b[h] = a, this.callback(this.manager, e, { 1729 pointers: b, 1730 changedPointers: [a], 1731 pointerType: f, 1732 srcEvent: a 1733 }), c && b.splice(h, 1)) 1734 } 1735 }); 1736 var Ra = { 1737 touchstart: wa, 1738 touchmove: xa, 1739 touchend: ya, 1740 touchcancel: za 1741 }, 1742 Sa = "touchstart", 1743 Ta = "touchstart touchmove touchend touchcancel"; 1744 j(O, y, { 1745 handler: function(a) { 1746 var b = Ra[a.type]; 1747 if (b === wa && (this.started = !0), this.started) { 1748 var c = P.call(this, a, b); 1749 b & (ya | za) && 0 == c[0].length - c[1].length && (this.started = !1), this.callback(this.manager, b, { 1750 pointers: c[0], 1751 changedPointers: c[1], 1752 pointerType: ta, 1753 srcEvent: a 1754 }) 1755 } 1756 } 1757 }); 1758 var Ua = { 1759 touchstart: wa, 1760 touchmove: xa, 1761 touchend: ya, 1762 touchcancel: za 1763 }, 1764 Va = "touchstart touchmove touchend touchcancel"; 1765 j(Q, y, { 1766 handler: function(a) { 1767 var b = Ua[a.type], 1768 c = R.call(this, a, b); 1769 c && this.callback(this.manager, b, { 1770 pointers: c[0], 1771 changedPointers: c[1], 1772 pointerType: ta, 1773 srcEvent: a 1774 }) 1775 } 1776 }), j(S, y, { 1777 handler: function(a, b, c) { 1778 var d = c.pointerType == ta, 1779 e = c.pointerType == ua; 1780 if (d) this.mouse.allow = !1; 1781 else if (e && !this.mouse.allow) return; 1782 b & (ya | za) && (this.mouse.allow = !0), this.callback(a, b, c) 1783 }, 1784 destroy: function() { 1785 this.touch.destroy(), this.mouse.destroy() 1786 } 1787 }); 1788 var Wa = v(ja.style, "touchAction"), 1789 Xa = Wa !== d, 1790 Ya = "compute", 1791 Za = "auto", 1792 $a = "manipulation", 1793 _a = "none", 1794 ab = "pan-x", 1795 bb = "pan-y"; 1796 T.prototype = { 1797 set: function(a) { 1798 a == Ya && (a = this.compute()), Xa && (this.manager.element.style[Wa] = a), this.actions = a.toLowerCase().trim() 1799 }, 1800 update: function() { 1801 this.set(this.manager.options.touchAction) 1802 }, 1803 compute: function() { 1804 var a = []; 1805 return g(this.manager.recognizers, function(b) { 1806 l(b.options.enable, [b]) && (a = a.concat(b.getTouchAction())) 1807 }), U(a.join(" ")) 1808 }, 1809 preventDefaults: function(a) { 1810 if (!Xa) { 1811 var b = a.srcEvent, 1812 c = a.offsetDirection; 1813 if (this.manager.session.prevented) return void b.preventDefault(); 1814 var d = this.actions, 1815 e = q(d, _a), 1816 f = q(d, bb), 1817 g = q(d, ab); 1818 return e || f && c & Fa || g && c & Ga ? this.preventSrc(b) : void 0 1819 } 1820 }, 1821 preventSrc: function(a) { 1822 this.manager.session.prevented = !0, a.preventDefault() 1823 } 1824 }; 1825 var cb = 1, 1826 db = 2, 1827 eb = 4, 1828 fb = 8, 1829 gb = fb, 1830 hb = 16; 1831 V.prototype = { 1832 defaults: {}, 1833 set: function(a) { 1834 return h(this.options, a), this.manager && this.manager.touchAction.update(), this 1835 }, 1836 recognizeWith: function(a) { 1837 if (f(a, "recognizeWith", this)) return this; 1838 var b = this.simultaneous; 1839 return a = Y(a, this), b[a.id] || (b[a.id] = a, a.recognizeWith(this)), this 1840 }, 1841 dropRecognizeWith: function(a) { 1842 return f(a, "dropRecognizeWith", this) ? this : (a = Y(a, this), delete this.simultaneous[a.id], this) 1843 }, 1844 requireFailure: function(a) { 1845 if (f(a, "requireFailure", this)) return this; 1846 var b = this.requireFail; 1847 return a = Y(a, this), -1 === s(b, a) && (b.push(a), a.requireFailure(this)), this 1848 }, 1849 dropRequireFailure: function(a) { 1850 if (f(a, "dropRequireFailure", this)) return this; 1851 a = Y(a, this); 1852 var b = s(this.requireFail, a); 1853 return b > -1 && this.requireFail.splice(b, 1), this 1854 }, 1855 hasRequireFailures: function() { 1856 return this.requireFail.length > 0 1857 }, 1858 canRecognizeWith: function(a) { 1859 return !!this.simultaneous[a.id] 1860 }, 1861 emit: function(a) { 1862 function b(b) { 1863 c.manager.emit(c.options.event + (b ? W(d) : ""), a) 1864 } 1865 var c = this, 1866 d = this.state; 1867 fb > d && b(!0), b(), d >= fb && b(!0) 1868 }, 1869 tryEmit: function(a) { 1870 return this.canEmit() ? this.emit(a) : void(this.state = 32) 1871 }, 1872 canEmit: function() { 1873 for (var a = 0; a < this.requireFail.length;) { 1874 if (!(this.requireFail[a].state & (32 | cb))) return !1; 1875 a++ 1876 } 1877 return !0 1878 }, 1879 recognize: function(a) { 1880 var b = h({}, a); 1881 return l(this.options.enable, [this, b]) ? (this.state & (gb | hb | 32) && (this.state = cb), this.state = this.process(b), void(this.state & (db | eb | fb | hb) && this.tryEmit(b))) : (this.reset(), void(this.state = 32)) 1882 }, 1883 process: function() {}, 1884 getTouchAction: function() {}, 1885 reset: function() {} 1886 }, j(Z, V, { 1887 defaults: { 1888 pointers: 1 1889 }, 1890 attrTest: function(a) { 1891 var b = this.options.pointers; 1892 return 0 === b || a.pointers.length === b 1893 }, 1894 process: function(a) { 1895 var b = this.state, 1896 c = a.eventType, 1897 d = b & (db | eb), 1898 e = this.attrTest(a); 1899 return d && (c & za || !e) ? b | hb : d || e ? c & ya ? b | fb : b & db ? b | eb : db : 32 1900 } 1901 }), j($, Z, { 1902 defaults: { 1903 event: "pan", 1904 threshold: 10, 1905 pointers: 1, 1906 direction: Ha 1907 }, 1908 getTouchAction: function() { 1909 var a = this.options.direction, 1910 b = []; 1911 return a & Fa && b.push(bb), a & Ga && b.push(ab), b 1912 }, 1913 directionTest: function(a) { 1914 var b = this.options, 1915 c = !0, 1916 d = a.distance, 1917 e = a.direction, 1918 f = a.deltaX, 1919 g = a.deltaY; 1920 return e & b.direction || (b.direction & Fa ? (e = 0 === f ? Aa : 0 > f ? Ba : Ca, c = f != this.pX, d = Math.abs(a.deltaX)) : (e = 0 === g ? Aa : 0 > g ? Da : Ea, c = g != this.pY, d = Math.abs(a.deltaY))), a.direction = e, c && d > b.threshold && e & b.direction 1921 }, 1922 attrTest: function(a) { 1923 return Z.prototype.attrTest.call(this, a) && (this.state & db || !(this.state & db) && this.directionTest(a)) 1924 }, 1925 emit: function(a) { 1926 this.pX = a.deltaX, this.pY = a.deltaY; 1927 var b = X(a.direction); 1928 b && this.manager.emit(this.options.event + b, a), this._super.emit.call(this, a) 1929 } 1930 }), j(_, Z, { 1931 defaults: { 1932 event: "pinch", 1933 threshold: 0, 1934 pointers: 2 1935 }, 1936 getTouchAction: function() { 1937 return [_a] 1938 }, 1939 attrTest: function(a) { 1940 return this._super.attrTest.call(this, a) && (Math.abs(a.scale - 1) > this.options.threshold || this.state & db) 1941 }, 1942 emit: function(a) { 1943 if (this._super.emit.call(this, a), 1 !== a.scale) { 1944 var b = a.scale < 1 ? "in" : "out"; 1945 this.manager.emit(this.options.event + b, a) 1946 } 1947 } 1948 }), j(aa, V, { 1949 defaults: { 1950 event: "press", 1951 pointers: 1, 1952 time: 500, 1953 threshold: 5 1954 }, 1955 getTouchAction: function() { 1956 return [Za] 1957 }, 1958 process: function(a) { 1959 var b = this.options, 1960 c = a.pointers.length === b.pointers, 1961 d = a.distance < b.threshold, 1962 f = a.deltaTime > b.time; 1963 if (this._input = a, !d || !c || a.eventType & (ya | za) && !f) this.reset(); 1964 else if (a.eventType & wa) this.reset(), this._timer = e(function() { 1965 this.state = gb, this.tryEmit() 1966 }, b.time, this); 1967 else if (a.eventType & ya) return gb; 1968 return 32 1969 }, 1970 reset: function() { 1971 clearTimeout(this._timer) 1972 }, 1973 emit: function(a) { 1974 this.state === gb && (a && a.eventType & ya ? this.manager.emit(this.options.event + "up", a) : (this._input.timeStamp = na(), this.manager.emit(this.options.event, this._input))) 1975 } 1976 }), j(ba, Z, { 1977 defaults: { 1978 event: "rotate", 1979 threshold: 0, 1980 pointers: 2 1981 }, 1982 getTouchAction: function() { 1983 return [_a] 1984 }, 1985 attrTest: function(a) { 1986 return this._super.attrTest.call(this, a) && (Math.abs(a.rotation) > this.options.threshold || this.state & db) 1987 } 1988 }), j(ca, Z, { 1989 defaults: { 1990 event: "swipe", 1991 threshold: 10, 1992 velocity: .65, 1993 direction: Fa | Ga, 1994 pointers: 1 1995 }, 1996 getTouchAction: function() { 1997 return $.prototype.getTouchAction.call(this) 1998 }, 1999 attrTest: function(a) { 2000 var b, c = this.options.direction; 2001 return c & (Fa | Ga) ? b = a.velocity : c & Fa ? b = a.velocityX : c & Ga && (b = a.velocityY), this._super.attrTest.call(this, a) && c & a.direction && a.distance > this.options.threshold && ma(b) > this.options.velocity && a.eventType & ya 2002 }, 2003 emit: function(a) { 2004 var b = X(a.direction); 2005 b && this.manager.emit(this.options.event + b, a), this.manager.emit(this.options.event, a) 2006 } 2007 }), j(da, V, { 2008 defaults: { 2009 event: "tap", 2010 pointers: 1, 2011 taps: 1, 2012 interval: 300, 2013 time: 250, 2014 threshold: 2, 2015 posThreshold: 10 2016 }, 2017 getTouchAction: function() { 2018 return [$a] 2019 }, 2020 process: function(a) { 2021 var b = this.options, 2022 c = a.pointers.length === b.pointers, 2023 d = a.distance < b.threshold, 2024 f = a.deltaTime < b.time; 2025 if (this.reset(), a.eventType & wa && 0 === this.count) return this.failTimeout(); 2026 if (d && f && c) { 2027 if (a.eventType != ya) return this.failTimeout(); 2028 var g = !this.pTime || a.timeStamp - this.pTime < b.interval, 2029 h = !this.pCenter || I(this.pCenter, a.center) < b.posThreshold;
2030 this.pTime = a.timeStamp, this.pCenter = a.center, h && g ? this.count += 1 : this.count = 1, this._input = a; 2031 if (0 === this.count % b.taps) return this.hasRequireFailures() ? (this._timer = e(function() { 2032 this.state = gb, this.tryEmit() 2033 }, b.interval, this), db) : gb 2034 } 2035 return 32 2036 }, 2037 failTimeout: function() { 2038 return this._timer = e(function() { 2039 this.state = 32 2040 }, this.options.interval, this), 32 2041 }, 2042 reset: function() { 2043 clearTimeout(this._timer) 2044 }, 2045 emit: function() { 2046 this.state == gb && (this._input.tapCount = this.count, this.manager.emit(this.options.event, this._input)) 2047 } 2048 }), ea.VERSION = "2.0.4", ea.defaults = { 2049 domEvents: !1, 2050 touchAction: Ya, 2051 enable: !0, 2052 inputTarget: null, 2053 inputClass: null, 2054 preset: [ 2055 [ba, { 2056 enable: !1 2057 }], 2058 [_, { 2059 enable: !1 2060 }, 2061 ["rotate"] 2062 ], 2063 [ca, { 2064 direction: Fa 2065 }], 2066 [$, { 2067 direction: Fa 2068 }, 2069 ["swipe"] 2070 ], 2071 [da], 2072 [da, { 2073 event: "doubletap", 2074 taps: 2 2075 }, 2076 ["tap"] 2077 ], 2078 [aa] 2079 ], 2080 cssProps: { 2081 userSelect: "default", 2082 touchSelect: "none", 2083 touchCallout: "none", 2084 contentZooming: "none", 2085 userDrag: "none", 2086 tapHighlightColor: "rgba(0,0,0,0)" 2087 } 2088 }; 2089 fa.prototype = { 2090 set: function(a) { 2091 return h(this.options, a), a.touchAction && this.touchAction.update(), a.inputTarget && (this.input.destroy(), this.input.target = a.inputTarget, this.input.init()), this 2092 }, 2093 stop: function(a) { 2094 this.session.stopped = a ? 2 : 1 2095 }, 2096 recognize: function(a) { 2097 var b = this.session; 2098 if (!b.stopped) { 2099 this.touchAction.preventDefaults(a); 2100 var c, d = this.recognizers, 2101 e = b.curRecognizer; 2102 (!e || e && e.state & gb) && (e = b.curRecognizer = null); 2103 for (var f = 0; f < d.length;) c = d[f], 2 === b.stopped || e && c != e && !c.canRecognizeWith(e) ? c.reset() : c.recognize(a), !e && c.state & (db | eb | fb) && (e = b.curRecognizer = c), f++ 2104 } 2105 }, 2106 get: function(a) { 2107 if (a instanceof V) return a; 2108 for (var b = this.recognizers, c = 0; c < b.length; c++) 2109 if (b[c].options.event == a) return b[c]; 2110 return null 2111 }, 2112 add: function(a) { 2113 if (f(a, "add", this)) return this; 2114 var b = this.get(a.options.event); 2115 return b && this.remove(b), this.recognizers.push(a), a.manager = this, this.touchAction.update(), a 2116 }, 2117 remove: function(a) { 2118 if (f(a, "remove", this)) return this; 2119 var b = this.recognizers; 2120 return a = this.get(a), b.splice(s(b, a), 1), this.touchAction.update(), this 2121 }, 2122 on: function(a, b) { 2123 var c = this.handlers; 2124 return g(r(a), function(a) { 2125 c[a] = c[a] || [], c[a].push(b) 2126 }), this 2127 }, 2128 off: function(a, b) { 2129 var c = this.handlers; 2130 return g(r(a), function(a) { 2131 b ? c[a].splice(s(c[a], b), 1) : delete c[a] 2132 }), this 2133 }, 2134 emit: function(a, b) { 2135 this.options.domEvents && ha(a, b); 2136 var c = this.handlers[a] && this.handlers[a].slice(); 2137 if (c && c.length) { 2138 b.type = a, b.preventDefault = function() { 2139 b.srcEvent.preventDefault() 2140 }; 2141 for (var d = 0; d < c.length;) c[d](b), d++ 2142 } 2143 }, 2144 destroy: function() { 2145 this.element && ga(this, !1), this.handlers = {}, this.session = {}, this.input.destroy(), this.element = null 2146 } 2147 }, h(ea, { 2148 INPUT_START: wa, 2149 INPUT_MOVE: xa, 2150 INPUT_END: ya, 2151 INPUT_CANCEL: za, 2152 STATE_POSSIBLE: cb, 2153 STATE_BEGAN: db, 2154 STATE_CHANGED: eb, 2155 STATE_ENDED: fb, 2156 STATE_RECOGNIZED: gb, 2157 STATE_CANCELLED: hb, 2158 STATE_FAILED: 32, 2159 DIRECTION_NONE: Aa, 2160 DIRECTION_LEFT: Ba, 2161 DIRECTION_RIGHT: Ca, 2162 DIRECTION_UP: Da, 2163 DIRECTION_DOWN: Ea, 2164 DIRECTION_HORIZONTAL: Fa, 2165 DIRECTION_VERTICAL: Ga, 2166 DIRECTION_ALL: Ha, 2167 Manager: fa, 2168 Input: y, 2169 TouchAction: T, 2170 TouchInput: Q, 2171 MouseInput: M, 2172 PointerEventInput: N, 2173 TouchMouseInput: S, 2174 SingleTouchInput: O, 2175 Recognizer: V, 2176 AttrRecognizer: Z, 2177 Tap: da, 2178 Pan: $, 2179 Swipe: ca, 2180 Pinch: _, 2181 Rotate: ba, 2182 Press: aa, 2183 on: n, 2184 off: o, 2185 each: g, 2186 merge: i, 2187 extend: h, 2188 inherit: j, 2189 bindFn: k, 2190 prefixed: v 2191 }), typeof define == ka && define.amd ? define(function() { 2192 return ea 2193 }) : "undefined" != typeof module && module.exports ? module.exports = ea : a.Hammer = ea 2194 }(window, document), 2195 function(a) { 2196 "function" == typeof define && define.amd ? define(["jquery", "hammerjs"], a) : "object" == typeof exports ? a(require("jquery"), require("hammerjs")) : a(jQuery, Hammer) 2197 }(function(a, b) { 2198 function c(c, d) { 2199 var e = a(c); 2200 e.data("hammer") || e.data("hammer", new b(e[0], d)) 2201 } 2202 a.fn.hammer = function(a) { 2203 return this.each(function() { 2204 c(this, a) 2205 }) 2206 }, b.Manager.prototype.emit = function(b) { 2207 return function(c, d) { 2208 b.call(this, c, d), a(this.element).trigger({ 2209 type: c, 2210 gesture: d 2211 }) 2212 } 2213 }(b.Manager.prototype.emit) 2214 }), 2215 function(a) { 2216 a.Package ? Materialize = {} : a.Materialize = {} 2217 }(window), 2218 function(a) { 2219 for (var b = 0, c = ["webkit", "moz"], d = a.requestAnimationFrame, e = a.cancelAnimationFrame, f = c.length; --f >= 0 && !d;) d = a[c[f] + "RequestAnimationFrame"], e = a[c[f] + "CancelRequestAnimationFrame"]; 2220 d && e || (d = function(a) { 2221 var c = +Date.now(), 2222 d = Math.max(b + 16, c); 2223 return setTimeout(function() { 2224 a(b = d) 2225 }, d - c) 2226 }, e = clearTimeout), a.requestAnimationFrame = d, a.cancelAnimationFrame = e 2227 }
2227(window), Materialize.objectSelectorString = function(a) { 2228 return ((a.prop("tagName") || "") + (a.attr("id") || "") + (a.attr("class") || "")).replace(/\s/g, "") 2229 }, Materialize.guid = function() { 2230 function a() { 2231 return Math.floor(65536 * (1 + Math.random())).toString(16).substring(1) 2232 } 2233 return function() { 2234 return a() + a() + "-" + a() + "-" + a() + "-" + a() + "-" + a() + a() + a() 2235 } 2236 }(), Materialize.escapeHash = function(a) { 2237 return a.replace(/(:|\.|\[|\]|,|=)/g, "\\$1") 2238 }, Materialize.elementOrParentIsFixed = function(a) { 2239 var b = $(a), 2240 c = b.add(b.parents()), 2241 d = !1; 2242 return c.each(function() { 2243 if ("fixed" === $(this).css("position")) return d = !0, !1 2244 }), d 2245 }; 2246var getTime = Date.now || function() { 2247 return (new Date).getTime() 2248}; 2249Materialize.throttle = function(a, b, c) { 2250 var d, e, f, g = null, 2251 h = 0; 2252 c || (c = {}); 2253 var i = function() { 2254 h = !1 === c.leading ? 0 : getTime(), g = null, f = a.apply(d, e), d = e = null 2255 }; 2256 return function() { 2257 var j = getTime(); 2258 h || !1 !== c.leading || (h = j); 2259 var k = b - (j - h); 2260 return d = this, e = arguments, k <= 0 ? (clearTimeout(g), g = null, h = j, f = a.apply(d, e), d = e = null) : g || !1 === c.trailing || (g = setTimeout(i, k)), f 2261 } 2262}; 2263var Vel; 2264Vel = jQuery ? jQuery.Velocity : $ ? $.Velocity : Velocity, 2265 function(a) { 2266 a.fn.mcollapsible = function(b, c) { 2267 var d = { 2268 accordion: void 0, 2269 onOpen: void 0, 2270 onClose: void 0 2271 }, 2272 e = b; 2273 return b = a.extend(d, b), this.each(function() { 2274 function d(b) { 2275 m = l.find("> li > .mcollapsible-header"), b.hasClass("active") ? b.parent().addClass("active") : b.parent().removeClass("active"), b.parent().hasClass("active") ? b.siblings(".mcollapsible-body").stop(!0, !1).slideDown({ 2276 duration: 350, 2277 easing: "easeOutQuart", 2278 queue: !1, 2279 complete: function() { 2280 a(this).css("height", "") 2281 } 2282 }) : b.siblings(".mcollapsible-body").stop(!0, !1).slideUp({ 2283 duration: 350, 2284 easing: "easeOutQuart", 2285 queue: !1, 2286 complete: function() { 2287 a(this).css("height", "") 2288 } 2289 }), m.not(b).removeClass("active").parent().removeClass("active"), m.not(b).parent().children(".mcollapsible-body").stop(!0, !1).each(function() { 2290 a(this).is(":visible") && a(this).slideUp({ 2291 duration: 350, 2292 easing: "easeOutQuart", 2293 queue: !1, 2294 complete: function() { 2295 a(this).css("height", ""), h(a(this).siblings(".mcollapsible-header")) 2296 } 2297 }) 2298 }) 2299 } 2300 2301 function f(b) { 2302 b.hasClass("active") ? b.parent().addClass("active") : b.parent().removeClass("active"), b.parent().hasClass("active") ? b.siblings(".mcollapsible-body").stop(!0, !1).slideDown({ 2303 duration: 350, 2304 easing: "easeOutQuart", 2305 queue: !1, 2306 complete: function() { 2307 a(this).css("height", "") 2308 } 2309 }) : b.siblings(".mcollapsible-body").stop(!0, !1).slideUp({ 2310 duration: 350, 2311 easing: "easeOutQuart", 2312 queue: !1, 2313 complete: function() { 2314 a(this).css("height", "") 2315 } 2316 }) 2317 } 2318 2319 function g(a, c) { 2320 c || a.toggleClass("active"), b.accordion || "accordion" === n || void 0 === n ? d(a) : f(a), h(a) 2321 } 2322 2323 function h(a) { 2324 a.hasClass("active") ? "function" == typeof b.onOpen && b.onOpen.call(this, a.parent()) : "function" == typeof b.onClose && b.onClose.call(this, a.parent()) 2325 } 2326 2327 function i(a) { 2328 return j(a).length > 0 2329 } 2330 2331 function j(a) { 2332 return a.closest("li > .mcollapsible-header") 2333 } 2334 2335 function k() { 2336 l.off("click.collapse", "> li > .mcollapsible-header") 2337 } 2338 var l = a(this), 2339 m = a(this).find("> li > .mcollapsible-header"), 2340 n = l.data("mcollapsible"); 2341 if ("destroy" === e) return void k(); 2342 if (c >= 0 && c < m.length) { 2343 var o = m.eq(c); 2344 return void(o.length && ("open" === e || "close" === e && o.hasClass("active")) && g(o)) 2345 } 2346 k(), l.on("click.collapse", "> li > .mcollapsible-header", function(b) { 2347 var c = a(b.target); 2348 i(c) && (c = j(c)), g(c) 2349 }), b.accordion || "accordion" === n || void 0 === n ? g(m.filter(".active").first(), !0) : m.filter(".active").each(function() { 2350 g(a(this), !0) 2351 }) 2352 }) 2353 }, a(document).ready(function() { 2354 a(".mcollapsible").mcollapsible() 2355 }) 2356 }(jQuery), 2357 function(a) { 2358 a.fn.scrollTo = function(b) { 2359 return a(this).scrollTop(a(this).scrollTop() - a(this).offset().top + a(b).offset().top), this 2360 }, a.fn.dropdown = function(b) { 2361 var c = { 2362 inDuration: 300, 2363 outDuration: 225, 2364 constrainWidth: !0, 2365 hover: !1, 2366 gutter: 0, 2367 belowOrigin: !1, 2368 alignment: "left", 2369 stopPropagation: !1 2370 }; 2371 return "open" === b ? (this.each(function() { 2372 a(this).trigger("open") 2373 }), !1) : "close" === b ? (this.each(function() { 2374 a(this).trigger("close") 2375 }), !1) : void this.each(function() { 2376 function d() { 2377 void 0 !== g.data("induration") && (h.inDuration = g.data("induration")), void 0 !== g.data("outduration") && (h.outDuration = g.data("outduration")), void 0 !== g.data("constrainwidth") && (h.constrainWidth = g.data("constrainwidth")), void 0 !== g.data("hover") && (h.hover = g.data("hover")), void 0 !== g.data("gutter") && (h.gutter = g.data("gutter")), void 0 !== g.data("beloworigin") && (h.belowOrigin = g.data("beloworigin")), void 0 !== g.data("alignment") && (h.alignment = g.data("alignment")), void 0 !== g.data("stoppropagation") && (h.stopPropagation = g.data("stoppropagation")) 2378 } 2379 2380 function e(b) { 2381 "focus" === b && (i = !0), d(), j.addClass("active"), g.addClass("active"), !0 === h.constrainWidth ? j.css("width", g.outerWidth()) : j.css("white-space", "nowrap"); 2382 var c = window.innerHeight,
2383 e = g.innerHeight(), 2384 k = g.offset().left, 2385 l = g.offset().top - a(window).scrollTop(), 2386 m = h.alignment, 2387 n = 0, 2388 o = 0, 2389 p = 0; 2390 !0 === h.belowOrigin && (p = e); 2391 var q = 0, 2392 r = 0, 2393 s = g.parent(); 2394 if (s.is("body") || (s[0].scrollHeight > s[0].clientHeight && (q = s[0].scrollTop), s[0].scrollWidth > s[0].clientWidth && (r = s[0].scrollLeft)), k + j.innerWidth() > a(window).width() ? m = "right" : k - j.innerWidth() + g.innerWidth() < 0 && (m = "left"), l + j.innerHeight() > c) 2395 if (l + e - j.innerHeight() < 0) { 2396 var t = c - l - p; 2397 j.css("max-height", t) 2398 } else p || (p += e), p -= j.innerHeight(); 2399 if ("left" === m) n = h.gutter, o = g.position().left + n; 2400 else if ("right" === m) { 2401 j.stop(!0, !0).css({ 2402 opacity: 0, 2403 left: 0 2404 }); 2405 var u = g.position().left + g.outerWidth() - j.outerWidth(); 2406 n = -h.gutter, o = u + n 2407 } 2408 j.css({ 2409 position: "absolute", 2410 top: g.position().top + p + q, 2411 left: o + r 2412 }), j.slideDown({ 2413 queue: !1, 2414 duration: h.inDuration, 2415 easing: "easeOutCubic", 2416 complete: function() { 2417 a(this).css("height", "") 2418 } 2419 }).animate({ 2420 opacity: 1 2421 }, { 2422 queue: !1, 2423 duration: h.inDuration, 2424 easing: "easeOutSine" 2425 }), setTimeout(function() { 2426 a(document).on("click." + j.attr("id"), function(b) { 2427 f(), a(document).off("click." + j.attr("id")) 2428 }) 2429 }, 0) 2430 } 2431 2432 function f() { 2433 i = !1, j.fadeOut(h.outDuration), j.removeClass("active"), g.removeClass("active"), a(document).off("click." + j.attr("id")), setTimeout(function() { 2434 j.css("max-height", "") 2435 }, h.outDuration) 2436 } 2437 var g = a(this), 2438 h = a.extend({}, c, b), 2439 i = !1, 2440 j = a("#" + g.attr("data-activates")); 2441 if (d(), g.after(j), h.hover) { 2442 var k = !1; 2443 g.off("click." + g.attr("id")), g.on("mouseenter", function(a) { 2444 !1 === k && (e(), k = !0) 2445 }), g.on("mouseleave", function(b) { 2446 var c = b.toElement || b.relatedTarget; 2447 a(c).closest(".dropdown-content").is(j) || (j.stop(!0, !0), f(), k = !1) 2448 }), j.on("mouseleave", function(b) { 2449 var c = b.toElement || b.relatedTarget; 2450 a(c).closest(".dropdown-button").is(g) || (j.stop(!0, !0), f(), k = !1) 2451 }) 2452 } else g.off("click." + g.attr("id")), g.on("click." + g.attr("id"), function(b) { 2453 i || (g[0] != b.currentTarget || g.hasClass("active") || 0 !== a(b.target).closest(".dropdown-content").length ? g.hasClass("active") && (f(), a(document).off("click." + j.attr("id"))) : (b.preventDefault(), h.stopPropagation && b.stopPropagation(), e("click"))) 2454 }); 2455 g.on("open", function(a, b) { 2456 e(b) 2457 }), g.on("close", f) 2458 }) 2459 }, a(document).ready(function() { 2460 a(".dropdown-button").dropdown() 2461 }) 2462 }(jQuery), 2463 function(a) { 2464 var b = 0, 2465 c = 0, 2466 d = function() { 2467 return "materialize-modal-overlay-" + ++c 2468 }, 2469 e = { 2470 init: function(c) { 2471 var e = { 2472 opacity: .5, 2473 inDuration: 350, 2474 outDuration: 250, 2475 ready: void 0, 2476 complete: void 0,
2477 dismissible: !0, 2478 startingTop: "4%", 2479 endingTop: "10%" 2480 }; 2481 return c = a.extend(e, c), this.each(function() { 2482 var e = a(this), 2483 f = a(this).attr("id") || "#" + a(this).data("target"), 2484 g = function() { 2485 var d = e.data("overlay-id"), 2486 f = a("#" + d); 2487 e.removeClass("open"), a("body").css({ 2488 overflow: "", 2489 width: "" 2490 }), e.find(".modal-close").off("click.close"), a(document).off("keyup.modal" + d), f.velocity({ 2491 opacity: 0 2492 }, { 2493 duration: c.outDuration, 2494 queue: !1, 2495 ease: "easeOutQuart" 2496 }); 2497 var g = { 2498 duration: c.outDuration, 2499 queue: !1, 2500 ease: "easeOutCubic", 2501 complete: function() { 2502 a(this).css({ 2503 display: "none" 2504 }), "function" == typeof c.complete && c.complete.call(this, e), f.remove(), b-- 2505 } 2506 }; 2507 e.hasClass("bottom-sheet") ? e.velocity({ 2508 bottom: "-100%", 2509 opacity: 0 2510 }, g) : e.velocity({ 2511 top: c.startingTop, 2512 opacity: 0, 2513 scaleX: .7 2514 }, g) 2515 }, 2516 h = function(f) { 2517 var h = a("body"), 2518 i = h.innerWidth(); 2519 if (h.css("overflow", "hidden"), h.width(i), !e.hasClass("open")) { 2520 var j = d(), 2521 k = a('<div class="modal-overlay"></div>'), 2522 l = ++b; 2523 k.attr("id", j).css("z-index", 1e3 + 2 * l), 2524 e.data("overlay-id", j).css("z-index", 1e3 + 2 * l + 1), e.addClass("open"), a("body").append(k), c.dismissible && (k.click(function() { 2525 g() 2526 }), a(document).on("keyup.modal" + j, function(a) { 2527 27 === a.keyCode && g() 2528 })), e.find(".modal-close").on("click.close", function(a) { 2529 g() 2530 }), k.css({ 2531 display: "block", 2532 opacity: 0 2533 }), e.css({ 2534 display: "block", 2535 opacity: 0 2536 }), k.velocity({ 2537 opacity: c.opacity 2538 }, { 2539 duration: c.inDuration, 2540 queue: !1, 2541 ease: "easeOutCubic" 2542 }), e.data("associated-overlay", k[0]); 2543 var m = { 2544 duration: c.inDuration, 2545 queue: !1, 2546 ease: "easeOutCubic", 2547 complete: function() { 2548 "function" == typeof c.ready && c.ready.call(this, e, f) 2549 } 2550 }; 2551 e.hasClass("bottom-sheet") ? e.velocity({ 2552 bottom: "0", 2553 opacity: 1 2554 }, m) : (a.Velocity.hook(e, "scaleX", .7), e.css({ 2555 top: c.startingTop 2556 }), e.velocity({ 2557 top: c.endingTop, 2558 opacity: 1, 2559 scaleX: "1" 2560 }, m)) 2561 } 2562 };
2563 a(document).off("click.modalTrigger", 'a[href="#' + f + '"], [data-target="' + f + '"]'), a(this).off("openModal"), a(this).off("closeModal"), a(document).on("click.modalTrigger", 'a[href="#' + f + '"], [data-target="' + f + '"]', function(b) { 2564 c.startingTop = (a(this).offset().top - a(window).scrollTop()) / 1.15, h(a(this)), b.preventDefault() 2565 }), a(this).on("openModal", function() { 2566 a(this).attr("href") || a(this).data("target"); 2567 h() 2568 }), a(this).on("closeModal", function() { 2569 g() 2570 }) 2571 }) 2572 }, 2573 open: function() { 2574 e.init.apply(this, arguments), a(this).trigger("openModal") 2575 }, 2576 close: function() { 2577 a(this).trigger("closeModal") 2578 } 2579 }; 2580 a.fn.modal = function(b) { 2581 return e[b] ? e[b].apply(this, Array.prototype.slice.call(arguments, 1)) : "object" != typeof b && b ? void a.error("Method " + b + " does not exist on jQuery.modal") : e.init.apply(this, arguments) 2582 } 2583 }(jQuery), 2584 function(a) { 2585 a.fn.materialbox = function() { 2586 return this.each(function() { 2587 function b() { 2588 f = !1; 2589 var b = h.parent(".material-placeholder"), 2590 d = (window.innerWidth, window.innerHeight, h.data("width")), 2591 i = h.data("height"); 2592 h.velocity("stop", !0), a("#materialbox-overlay").velocity("stop", !0), a(".materialbox-caption").velocity("stop", !0), a(window).off("scroll.materialbox"), a(document).off("keyup.materialbox"), a(window).off("resize.materialbox"), a("#materialbox-overlay").velocity({ 2593 opacity: 0 2594 }, { 2595 duration: g, 2596 queue: !1, 2597 easing: "easeOutQuad", 2598 complete: function() { 2599 e = !1, a(this).remove() 2600 } 2601 }), h.velocity({ 2602 width: d, 2603 height: i, 2604 left: 0, 2605 top: 0 2606 }, { 2607 duration: g, 2608 queue: !1, 2609 easing: "easeOutQuad", 2610 complete: function() { 2611 b.css({ 2612 height: "", 2613 width: "", 2614 position: "", 2615 top: "", 2616 left: "" 2617 }), h.removeAttr("style"), h.attr("style", j), h.removeClass("active"), f = !0, c && c.css("overflow", "") 2618 } 2619 }), a(".materialbox-caption").velocity({ 2620 opacity: 0 2621 }, { 2622 duration: g, 2623 queue: !1, 2624 easing: "easeOutQuad", 2625 complete: function() { 2626 a(this).remove() 2627 } 2628 }) 2629 } 2630 if (!a(this).hasClass("initialized")) { 2631 a(this).addClass("initialized"); 2632 var c, d, e = !1, 2633 f = !0, 2634 g = 200, 2635 h = a(this), 2636 i = a("<div></div>").addClass("material-placeholder"), 2637 j = h.attr("style"); 2638 h.wrap(i), h.on("click", function() { 2639 var g = h.parent(".material-placeholder"), 2640 i = window.innerWidth, 2641 j = window.innerHeight, 2642 k = h.width(), 2643 l = h.height(); 2644 if (!1 === f) return b(), !1; 2645 if (e && !0 === f) return b(), !1; 2646 f = !1, h.addClass("active"), e = !0, g.css({ 2647 width: g[0].getBoundingClientRect().width, 2648 height: g[0].getBoundingClientRect().height, 2649 position: "relative", 2650 top: 0, 2651 left: 0 2652 }), c = void 0, d = g[0].parentNode; 2653 for (; null !== d && !a(d).is(document);) { 2654 var m = a(d); 2655 "visible" !== m.css("overflow") && (m.css("overflow", "visible"), c = void 0 === c ? m : c.add(m)), d = d.parentNode 2656 } 2657 h.css({ 2658 position: "absolute",
2659 "z-index": 1e3, 2660 "will-change": "left, top, width, height" 2661 }).data("width", k).data("height", l); 2662 var n = a('<div id="materialbox-overlay"></div>').css({ 2663 opacity: 0 2664 }).click(function() { 2665 !0 === f && b() 2666 }); 2667 h.before(n); 2668 var o = n[0].getBoundingClientRect(); 2669 if (n.css({ 2670 width: i, 2671 height: j, 2672 left: -1 * o.left, 2673 top: -1 * o.top 2674 }), n.velocity({ 2675 opacity: 1 2676 }, { 2677 duration: 275, 2678 queue: !1, 2679 easing: "easeOutQuad" 2680 }), "" !== h.data("caption")) { 2681 var p = a('<div class="materialbox-caption"></div>'); 2682 p.text(h.data("caption")), a("body").append(p), p.css({ 2683 display: "inline" 2684 }), p.velocity({ 2685 opacity: 1 2686 }, { 2687 duration: 275, 2688 queue: !1, 2689 easing: "easeOutQuad" 2690 }) 2691 } 2692 var q = 0, 2693 r = k / i, 2694 s = l / j, 2695 t = 0, 2696 u = 0; 2697 r > s ? (q = l / k, t = .9 * i, u = .9 * i * q) : (q = k / l, t = .9 * j * q, u = .9 * j), h.hasClass("responsive-img") ? h.velocity({ 2698 "max-width": t, 2699 width: k 2700 }, { 2701 duration: 0, 2702 queue: !1, 2703 complete: function() { 2704 h.css({ 2705 left: 0, 2706 top: 0 2707 }).velocity({ 2708 height: u, 2709 width: t, 2710 left: a(document).scrollLeft() + i / 2 - h.parent(".material-placeholder").offset().left - t / 2, 2711 top: a(document).scrollTop() + j / 2 - h.parent(".material-placeholder").offset().top - u / 2 2712 }, { 2713 duration: 275, 2714 queue: !1, 2715 easing: "easeOutQuad", 2716 complete: function() { 2717 f = !0 2718 } 2719 }) 2720 } 2721 }) : h.css("left", 0).css("top", 0).velocity({ 2722 height: u, 2723 width: t, 2724 left: a(document).scrollLeft() + i / 2 - h.parent(".material-placeholder").offset().left - t / 2, 2725 top: a(document).scrollTop() + j / 2 - h.parent(".material-placeholder").offset().top - u / 2 2726 }, { 2727 duration: 275, 2728 queue: !1, 2729 easing: "easeOutQuad", 2730 complete: function() { 2731 f = !0 2732 } 2733 }), a(window).on("scroll.materialbox", function() { 2734 e && b() 2735 }), a(window).on("resize.materialbox", function() { 2736 e && b() 2737 }), a(document).on("keyup.materialbox", function(a) { 2738 27 === a.keyCode && !0 === f && e && b() 2739 }) 2740 }) 2741 } 2742 }) 2743 }, a(document).ready(function() { 2744 a(".materialboxed").materialbox() 2745 }) 2746 }(jQuery), 2747 function(a) { 2748 a.fn.parallax = function() { 2749 var b = a(window).width(); 2750 return this.each(function(c) { 2751 function d(c) { 2752 var d; 2753 d = b < 601 ? e.height() > 0 ? e.height() : e.children("img").height() : e.height() > 0 ? e.height() : 500; 2754 var f = e.children("img").first(), 2755 g = f.height(), 2756 h = g - d, 2757 i = e.offset().top + d, 2758 j = e.offset().top, 2759 k = a(window).scrollTop(), 2760 l = window.innerHeight, 2761 m = k + l, 2762 n = (m - j) / (d + l), 2763 o = Math.round(h * n); 2764 c && f.css("display", "block"), i > k && j < k + l && f.css("transform", "translate3D(-50%," + o + "px, 0)") 2765 } 2766 var e = a(this); 2767 e.addClass("parallax"), e.children("img").one("load", function() { 2768 d(!0) 2769 }).each(function() { 2770 this.complete && a(this).trigger("load") 2771 }), a(window).scroll(function() { 2772 b = a(window).width(), d(!1) 2773 }), a(window).resize(function() { 2774 b = a(window).width(), d(!1) 2775 }) 2776 }) 2777 } 2778 }(jQuery), 2779 function(a) { 2780 var b = { 2781 init: function(b) { 2782 var c = { 2783 onShow: null, 2784 swipeable: !1, 2785 responsiveThreshold: 1 / 0 2786 }; 2787 b = a.extend(c, b);
2788 var d = Materialize.objectSelectorString(a(this)); 2789 return this.each(function(c) { 2790 var e, f, g, h, i, j = d + c, 2791 k = a(this), 2792 l = a(window).width(), 2793 m = k.find("li.tab a"), 2794 n = k.width(), 2795 o = a(), 2796 p = Math.max(n, k[0].scrollWidth) / m.length, 2797 q = prev_index = 0, 2798 r = !1, 2799 s = function(a) { 2800 return Math.ceil(n - a.position().left - a.outerWidth() - k.scrollLeft()) 2801 }, 2802 t = function(a) { 2803 return Math.floor(a.position().left + k.scrollLeft()) 2804 }, 2805 u = function(a) { 2806 q - a >= 0 ? (h.velocity({ 2807 right: s(e) 2808 }, { 2809 duration: 300, 2810 queue: !1, 2811 easing: "easeOutQuad" 2812 }), h.velocity({ 2813 left: t(e) 2814 }, { 2815 duration: 300, 2816 queue: !1, 2817 easing: "easeOutQuad", 2818 delay: 90 2819 })) : (h.velocity({ 2820 left: t(e) 2821 }, { 2822 duration: 300, 2823 queue: !1, 2824 easing: "easeOutQuad" 2825 }), h.velocity({ 2826 right: s(e) 2827 }, { 2828 duration: 300, 2829 queue: !1, 2830 easing: "easeOutQuad", 2831 delay: 90 2832 })) 2833 }; 2834 b.swipeable && l > b.responsiveThreshold && (b.swipeable = !1), e = a(m.filter('[href="' + location.hash + '"]')), 0 === e.length && (e = a(this).find("li.tab a.active").first()), 0 === e.length && (e = a(this).find("li.tab a").first()), e.addClass("active"), q = m.index(e), q < 0 && (q = 0), void 0 !== e[0] && (f = a(e[0].hash), f.addClass("active")), k.find(".indicator").length || k.append('<li class="indicator"></li>'), h = k.find(".indicator"), k.append(h), k.is(":visible") && setTimeout(function() { 2835 h.css({ 2836 right: s(e) 2837 }), h.css({ 2838 left: t(e) 2839 }) 2840 }, 0), a(window).off("resize.mtabs-" + j).on("resize.mtabs-" + j, function() { 2841 n = k.width(), p = Math.max(n, k[0].scrollWidth) / m.length, q < 0 && (q = 0), 0 !== p && 0 !== n && (h.css({ 2842 right: s(e) 2843 }), h.css({ 2844 left: t(e) 2845 })) 2846 }), b.swipeable ? (m.each(function() { 2847 var b = a(Materialize.escapeHash(this.hash)); 2848 b.addClass("mcarousel-item"), o = o.add(b) 2849 }), g = o.wrapAll('<div class="mtabs-content mcarousel"></div>'), o.css("display", ""), a(".mtabs-content.mcarousel").mcarousel({ 2850 fullWidth: !0, 2851 noWrap: !0, 2852 onCycleTo: function(a) { 2853 if (!r) { 2854 var c = q; 2855 q = g.index(a), e = m.eq(q), u(c), "function" == typeof b.onShow && b.onShow.call(k[0], f) 2856 } 2857 } 2858 })) : m.not(e).each(function() { 2859 a(Materialize.escapeHash(this.hash)).hide() 2860 }), k.off("click.mtabs").on("click.mtabs", "a", function(c) { 2861 if (a(this).parent().hasClass("disabled")) return void c.preventDefault(); 2862 if (!a(this).attr("target")) { 2863 r = !0, n = k.width(), p = Math.max(n, k[0].scrollWidth) / m.length, e.removeClass("active"); 2864 var d = f; 2865 e = a(this), f = a(Materialize.escapeHash(this.hash)), m = k.find("li.tab a"); 2866 e.position(); 2867 e.addClass("active"), prev_index = q, q = m.index(a(this)), q < 0 && (q = 0), b.swipeable ? o.length && o.mcarousel("set", q, function() { 2868 "function" == typeof b.onShow && b.onShow.call(k[0], f) 2869 }) : (void 0 !== f && (f.show(), f.addClass("active"), "function" == typeof b.onShow && b.onShow.call(this, f)), void 0 === d || d.is(f) || (d.hide(), d.removeClass("active"))), i = setTimeout(function() { 2870 r = !1 2871 }, 300), u(prev_index), c.preventDefault() 2872 } 2873 }) 2874 }) 2875 }, 2876 select_tab: function(a) { 2877 this.find('a[href="#' + a + '"]').trigger("click") 2878 } 2879 }; 2880 a.fn.mtabs = function(c) { 2881 return b[c] ? b[c].apply(this, Array.prototype.slice.call(arguments, 1)) : "object" != typeof c && c ? void a.error("Method " + c + " does not exist on jQuery.tabs") : b.init.a
2881pply(this, arguments) 2882 }, a(document).ready(function() { /*a("ul.tabs").mtabs()*/ }) 2883 }(jQuery), 2884 function(a) { 2885 a.fn.mtooltip = function(c) { 2886 var d = { 2887 delay: 350, 2888 mtooltip: "", 2889 position: "bottom", 2890 html: !1 2891 }; 2892 return "remove" === c ? (this.each(function() { 2893 a("#" + a(this).attr("data-mtooltip-id")).remove(), a(this).off("mouseenter.mtooltip mouseleave.mtooltip") 2894 }), !1) : (c = a.extend(d, c), this.each(function() { 2895 var d = Materialize.guid(), 2896 e = a(this); 2897 e.attr("data-mtooltip-id") && a("#" + e.attr("data-mtooltip-id")).remove(), e.attr("data-mtooltip-id", d); 2898 var f, g, h, i, j, k, l = function() { 2899 f = e.attr("data-html") ? "true" === e.attr("data-html") : c.html, g = e.attr("data-delay"), g = void 0 === g || "" === g ? c.delay : g, h = e.attr("data-position"), h = void 0 === h || "" === h ? c.position : h, i = e.attr("data-mtooltip"), i = void 0 === i || "" === i ? c.mtooltip : i 2900 }; 2901 l(); 2902 j = function() { 2903 var b = a('<div class="material-mtooltip"></div>'); 2904 return i = f ? a("<span></span>").html(i) : a("<span></span>").text(i), b.append(i).appendTo(a("body")).attr("id", d), k = a('<div class="backdrop"></div>'), k.appendTo(b), b 2905 }(), e.off("mouseenter.mtooltip mouseleave.mtooltip"); 2906 var m, n = !1; 2907 e.on({ 2908 "mouseenter.mtooltip": function(a) { 2909 var c = function() { 2910 l(), n = !0, j.velocity("stop"), k.velocity("stop"), j.css({ 2911 visibility: "visible", 2912 left: "0px", 2913 top: "0px" 2914 }); 2915 var a, c, d, f = e.outerWidth(), 2916 g = e.outerHeight(), 2917 i = j.outerHeight(), 2918 m = j.outerWidth(), 2919 o = "0px", 2920 p = "0px", 2921 q = k[0].offsetWidth, 2922 r = k[0].offsetHeight, 2923 s = 8, 2924 t = 8, 2925 u = 0; 2926 "top" === h ? (a = e.offset().top - i - 5, c = e.offset().left + f / 2 - m / 2, d = b(c, a, m, i), o = "-10px", k.css({ 2927 bottom: 0, 2928 left: 0, 2929 borderRadius: "14px 14px 0 0", 2930 transformOrigin: "50% 100%", 2931 marginTop: i, 2932 marginLeft: m / 2 - q / 2 2933 })) : "left" === h ? (a = e.offset().top + g / 2 - i / 2, c = e.offset().left - m - 5, d = b(c, a, m, i), p = "-10px", k.css({ 2934 top: "-7px", 2935 right: 0, 2936 width: "14px", 2937 height: "14px", 2938 borderRadius: "14px 0 0 14px", 2939 transformOrigin: "95% 50%", 2940 marginTop: i / 2, 2941 marginLeft: m 2942 })) : "right" === h ? (a = e.offset().top + g / 2 - i / 2, c = e.offset().left + f + 5, d = b(c, a, m, i), p = "+10px", k.css({ 2943 top: "-7px", 2944 left: 0, 2945 width: "14px", 2946 height: "14px", 2947 borderRadius: "0 14px 14px 0", 2948 transformOrigin: "5% 50%", 2949 marginTop: i / 2, 2950 marginLeft: "0px" 2951 })) : (a = e.offset().top + e.outerHeight() + 5, c = e.offset().left + f / 2 - m / 2, d = b(c, a, m, i), o = "+10px", k.css({ 2952 top: 0, 2953 left: 0, 2954 marginLeft: m / 2 - q / 2 2955 })), j.css({ 2956 top: d.y, 2957 left: d.x 2958 }), s = Math.SQRT2 * m / parseInt(q), t = Math.SQRT2 * i / parseInt(r), u = Math.max(s, t), j.velocity({ 2959 translateY: o, 2960 translateX: p 2961 }, { 2962 duration: 350, 2963 queue: !1 2964 }).velocity({ 2965 opacity: 1 2966 }, { 2967 duration: 300, 2968 delay: 50, 2969 queue: !1 2970 }), k.css({ 2971 visibility: "visible" 2972 }).velocity({ 2973 opacity: 1 2974 }, { 2975 duration: 55, 2976 delay: 0, 2977 queue: !1 2978 }).velocity({ 2979 scaleX: u, 2980 scaleY: u 2981 }, { 2982 duration: 300, 2983 delay: 0, 2984 queue: !1, 2985 easing: "easeInOutQuad" 2986 }) 2987 }; 2988 m = setTimeout(c, g) 2989 }, 2990 "mouseleave.mtooltip": function() { 2991 n = !1, clearTimeout(m), setTimeout(function() { 2992 !0 !== n && (j.velocity({ 2993 opacity: 0, 2994 translateY: 0, 2995 translateX: 0 2996 }, { 2997 duration: 225, 2998 queue: !1 2999 }), k.velocity({ 3000 opacity: 0, 3001 scaleX: 1, 3002 scaleY: 1 3003 }, { 3004 duration: 225, 3005 queue: !1, 3006 complete: function() { 3007 k.css({ 3008 visibility: "hidden" 3009 }), j.css({ 3010 visibility: "hidden" 3011 }), n = !1 3012 } 3013 })) 3014 }, 225) 3015 } 3016 }) 3017 })) 3018 }; 3019 var b = function(b, c, d, e) { 3020 var f = b, 3021 g = c; 3022 return f < 0 ? f = 4 : f + d > window.innerWidth && (f -= f + d - window.innerWidth), g < 0 ? g = 4 : g + e > window.innerHeight + a(window).scrollTop && (g -= g + e - window.innerHeight), { 3023 x: f, 3024 y: g 3025 } 3026 }; 3027 a(document).ready(function() { 3028 a(".mtooltipped").mtooltip() 3029 }) 3030 }(jQuery), 3031 function(a) { 3032 "use strict"; 3033 3034 function b(a) { 3035 return null !== a && a === a.window 3036 } 3037 3038 function c(a) { 3039 return b(a) ? a : 9 === a.nodeType && a.defaultView 3040 } 3041 3042 function d(a) { 3043 var b, d, e = { 3044 top: 0, 3045 left: 0 3046 }, 3047 f = a && a.ownerDocument; 3048 return b = f.documentElement, void 0 !== a.getBoundingClientRect && (e = a.getBoundingClientRect()), d = c(f), { 3049 top: e.top + d.pageYOffset - b.clientTop, 3050 left: e.left + d.pageXOffset - b.clientLeft 3051 } 3052 } 3053 3054 function e(a) { 3055 var b = ""; 3056 for (var c in a) a.hasOwnProperty(c) && (b += c + ":" + a[c] + ";"); 3057 return b 3058 } 3059 3060 function f(a) { 3061 if (!1 === k.allowEvent(a)) return null; 3062 for (var b = null, c = a.target || a.srcElement; null !== c.parentElement;) { 3063 if (!(c instanceof SVGElement || -1 === c.className.indexOf("waves-effect"))) { 3064 b = c; 3065 break 3066 } 3067 if (-1 !== c.className.indexOf("waves-effect")) { 3068 b = c; 3069 break 3070 } 3071 c = c.parentElement 3072 } 3073 return b 3074 } 3075 3076 function g(b) { 3077 var c = f(b); 3078 null !== c && (j.show(b, c), "ontouchstart" in a && (c.addEventListener("touchend", j.hide, !1), c.addEventListener("touchcancel", j.hide, !1)), c.addEventListener("mouseup", j.hide, !1), c.addEventListener("mouseleave", j.hide, !1)) 3079 } 3080 var h = h || {}, 3081 i = document.querySelectorAll.bind(document), 3082 j = { 3083 duration: 750, 3084 show: function(a, b) { 3085 if (2 === a.button) return !1; 3086 var c = b || this, 3087 f = document.createElement("div"); 3088 f.className = "waves-ripple", c.appendChild(f); 3089 var g = d(c), 3090 h = a.pageY - g.top,
3091 i = a.pageX - g.left, 3092 k = "scale(" + c.clientWidth / 100 * 10 + ")"; 3093 "touches" in a && (h = a.touches[0].pageY - g.top, i = a.touches[0].pageX - g.left), f.setAttribute("data-hold", Date.now()), f.setAttribute("data-scale", k), f.setAttribute("data-x", i), f.setAttribute("data-y", h); 3094 var l = { 3095 top: h + "px", 3096 left: i + "px" 3097 }; 3098 f.className = f.className + " waves-notransition", f.setAttribute("style", e(l)), f.className = f.className.replace("waves-notransition", ""), l["-webkit-transform"] = k, l["-moz-transform"] = k, l["-ms-transform"] = k, l["-o-transform"] = k, l.transform = k, l.opacity = "1", l["-webkit-transition-duration"] = j.duration + "ms", l["-moz-transition-duration"] = j.duration + "ms", l["-o-transition-duration"] = j.duration + "ms", l["transition-duration"] = j.duration + "ms", l["-webkit-transition-timing-function"] = "cubic-bezier(0.250, 0.460, 0.450, 0.940)", l["-moz-transition-timing-function"] = "cubic-bezier(0.250, 0.460, 0.450, 0.940)", l["-o-transition-timing-function"] = "cubic-bezier(0.250, 0.460, 0.450, 0.940)", l["transition-timing-function"] = "cubic-bezier(0.250, 0.460, 0.450, 0.940)", f.setAttribute("style", e(l)) 3099 }, 3100 hide: function(a) { 3101 k.touchup(a); 3102 var b = this, 3103 c = (b.clientWidth, null), 3104 d = b.getElementsByClassName("waves-ripple"); 3105 if (!(d.length > 0)) return !1; 3106 c = d[d.length - 1]; 3107 var f = c.getAttribute("data-x"), 3108 g = c.getAttribute("data-y"), 3109 h = c.getAttribute("data-scale"), 3110 i = Date.now() - Number(c.getAttribute("data-hold")), 3111 l = 350 - i; 3112 l < 0 && (l = 0), setTimeout(function() { 3113 var a = { 3114 top: g + "px", 3115 left: f + "px", 3116 opacity: "0", 3117 "-webkit-transition-duration": j.duration + "ms", 3118 "-moz-transition-duration": j.duration + "ms", 3119 "-o-transition-duration": j.duration + "ms", 3120 "transition-duration": j.duration + "ms", 3121 "-webkit-transform": h, 3122 "-moz-transform": h, 3123 "-ms-transform": h, 3124 "-o-transform": h, 3125 transform: h 3126 }; 3127 c.setAttribute("style", e(a)), setTimeout(function() { 3128 try { 3129 b.removeChild(c) 3130 } catch (a) { 3131 return !1 3132 } 3133 }, j.duration) 3134 }, l) 3135 }, 3136 wrapInput: function(a) { 3137 for (var b = 0; b < a.length; b++) { 3138 var c = a[b]; 3139 if ("input" === c.tagName.toLowerCase()) { 3140 var d = c.parentNode; 3141 if ("i" === d.tagName.toLowerCase() && -1 !== d.className.indexOf("waves-effect")) continue; 3142 var e = document.createElement("i"); 3143 e.className = c.className + " waves-input-wrapper"; 3144 var f = c.getAttribute("style"); 3145 f || (f = ""), e.setAttribute("style", f), c.className = "waves-button-input", c.removeAttribute("style"), d.replaceChild(e, c), e.appendChild(c) 3146 } 3147 } 3148 } 3149 }, 3150 k = { 3151 touches: 0, 3152 allowEvent: function(a) { 3153 var b = !0; 3154 return "touchstart" === a.type ? k.touches += 1 : "touchend" === a.type || "touchcancel" === a.type ? setTimeout(function() { 3155 k.touches > 0 && (k.touches -= 1) 3156 }, 500) : "mousedown" === a.type && k.touches > 0 && (b = !1), b 3157 }, 3158 touchup: function(a) { 3159 k.allowEvent(a) 3160 } 3161 }; 3162 h.displayEffect = function(b) { 3163 b = b || {}, "duration" in b && (j.duration = b.duration), j.wrapInput(i(".waves-effect")), "ontouchstart" in a && document.body.addEventListener("touchstart", g, !1), document.body.addEventListener("mousedown", g, !1) 3164 }, h.attach = function(b) { 3165 "input" === b.tagName.toLowerCase() && (j.wrapInput([b]), b = b.parentElement), "ontouchstart" in a && b.addEventListener("touchstart", g, !1), b.addEventListener("mousedown", g, !1) 3166 }, a.Waves = h, document.addEventListener("DOMContentLoaded", function() { 3167 h.displayEffect() 3168 }, !1) 3169 }(window), Materialize.toast = function(a, b, c, d) { 3170 c = c || ""; 3171 var e = document.getElementById("toast-container");
3172 null === e && (e = document.createElement("div"), e.id = "toast-container", document.body.appendChild(e)); 3173 var f = function(a) { 3174 var b = document.createElement("div"); 3175 if (b.classList.add("toast"), c) 3176 for (var e = c.split(" "), f = 0, g = e.length; f < g; f++) b.classList.add(e[f]); 3177 ("object" == typeof HTMLElement ? a instanceof HTMLElement : a && "object" == typeof a && null !== a && 1 === a.nodeType && "string" == typeof a.nodeName) ? b.appendChild(a): a instanceof jQuery ? b.appendChild(a[0]) : b.innerHTML = a; 3178 var h = new Hammer(b, { 3179 prevent_default: !1 3180 }); 3181 return h.on("pan", function(a) { 3182 var c = a.deltaX; 3183 b.classList.contains("panning") || b.classList.add("panning"); 3184 var d = 1 - Math.abs(c / 80); 3185 d < 0 && (d = 0), Vel(b, { 3186 left: c, 3187 opacity: d 3188 }, { 3189 duration: 50, 3190 queue: !1, 3191 easing: "easeOutQuad" 3192 }) 3193 }), h.on("panend", function(a) { 3194 var c = a.deltaX; 3195 Math.abs(c) > 80 ? Vel(b, { 3196 marginTop: "-40px" 3197 }, { 3198 duration: 375, 3199 easing: "easeOutExpo", 3200 queue: !1, 3201 complete: function() { 3202 "function" == typeof d && d(), b.parentNode.removeChild(b) 3203 } 3204 }) : (b.classList.remove("panning"), Vel(b, { 3205 left: 0, 3206 opacity: 1 3207 }, { 3208 duration: 300, 3209 easing: "easeOutExpo", 3210 queue: !1 3211 })) 3212 }), b 3213 }(a); 3214 a && e.appendChild(f), f.style.opacity = 0, Vel(f, { 3215 translateY: "-35px", 3216 opacity: 1 3217 }, { 3218 duration: 300, 3219 easing: "easeOutCubic", 3220 queue: !1 3221 }); 3222 var g, h = b; 3223 null != h && (g = setInterval(function() { 3224 null === f.parentNode && window.clearInterval(g), f.classList.contains("panning") || (h -= 20), h <= 0 && (Vel(f, { 3225 opacity: 0, 3226 marginTop: "-40px" 3227 }, { 3228 duration: 375, 3229 easing: "easeOutExpo", 3230 queue: !1, 3231 complete: function() { 3232 "function" == typeof d && d(), this[0].parentNode.removeChild(this[0]) 3233 } 3234 }), window.clearInterval(g)) 3235 }, 20)) 3236 }, 3237 function(a) { 3238 var b = { 3239 init: function(b) { 3240 var c = { 3241 menuWidth: 300, 3242 edge: "left", 3243 closeOnClick: !1, 3244 draggable: !0, 3245 onOpen: null, 3246 onClose: null 3247 }; 3248 b = a.extend(c, b), a(this).each(function() { 3249 var c = a(this), 3250 d = c.attr("data-activates"), 3251 e = a("#" + d); 3252 300 != b.menuWidth && e.css("width", b.menuWidth); 3253 var f = a('.drag-target[data-sidenav="' + d + '"]'); 3254 b.draggable ? (f.length && f.remove(), f = a('<div class="drag-target"></div>').attr("data-sidenav", d), a("body").append(f)) : f = a(), "left" == b.edge ? (e.css("transform", "translateX(-100%)"), f.css({ 3255 left: 0 3256 })) : (e.addClass("right-aligned").css("transform", "translateX(100%)"), f.css({ 3257 right: 0 3258 })), e.hasClass("fixed") && window.innerWidth > 992 && e.css("transform", "translateX(0)"), e.hasClass("fixed") && a(window).resize(function() { 3259 window.innerWidth > 992 ? 0 !== a("#sidenav-overlay").length && i ? g(!0) : e.css("transform", "translateX(0%)") : !1 === i && ("left" === b.edge ? e.css("transform", "translateX(-100%)") : e.css("transform", "translateX(100%)")) 3260 }), !0 === b.closeOnClick && e.on("click.itemclick", "a:not(.mcollapsible-header)", function() { 3261 window.innerWidth > 992 && e.hasClass("fixed") || g() 3262 }); 3263 var g = function(c) { 3264 h = !1, i = !1, a("body").css({ 3265 overflow: "", 3266 width: "" 3267 }), a("#sidenav-overlay").velocity({ 3268 opacity: 0 3269 }, { 3270 duration: 200, 3271 queue: !1, 3272 easing: "easeOutQuad", 3273 complete: function() { 3274 a(this).remove() 3275 } 3276 }), "left" === b.edge ? (f.css({ 3277 width: "", 3278 right: "", 3279 left: "0" 3280 }), e.velocity({ 3281 translateX: "-100%" 3282 }, { 3283 duration: 200, 3284 queue: !1, 3285 easing: "easeOutCubic", 3286 complete: function() { 3287 !0 === c && (e.removeAttr("style"), e.css("width", b.menuWidth)) 3288 } 3289 })) : (f.css({ 3290 width: "", 3291 right: "0", 3292 left: "" 3293 }), e.velocity({ 3294 translateX: "100%" 3295 }, { 3296 duration: 200, 3297 queue: !1, 3298 easing: "easeOutCubic", 3299 complete: function() { 3300 !0 === c && (e.removeAttr("style"), e.css("width", b.menuWidth)) 3301 } 3302 })), "function" == typeof b.onClose && b.onClose.call(this, e) 3303 }, 3304 h = !1, 3305 i = !1; 3306 b.draggable && (f.on("click", function() { 3307 i && g() 3308 }), f.hammer({ 3309 prevent_default: !1 3310 }).on("pan", function(c) { 3311 if ("touch" == c.gesture.pointerType) { 3312 var d = (c.gesture.direction, c.gesture.center.x), 3313 f = c.gesture.center.y; 3314 c.gesture.velocityX; 3315 if (0 === d && 0 === f) return; 3316 var h = a("body"), 3317 j = a("#sidenav-overlay"), 3318 k = h.innerWidth(); 3319 if (h.css("overflow", "hidden"), h.width(k), 0 === j.length && (j = a('<div id="sidenav-overlay"></div>'), j.css("opacity", 0).click(function() { 3320 g() 3321 }), "function" == typeof b.onOpen && b.onOpen.call(this, e), a("body").append(j)), "left" === b.edge && (d > b.menuWidth ? d = b.menuWidth : d < 0 && (d = 0)), "left" === b.edge) d < b.menuWidth / 2 ? i = !1 : d >= b.menuWidth / 2 && (i = !0), e.css("transform", "translateX("
3321+ (d - b.menuWidth) + "px)"); 3322 else { 3323 d < window.innerWidth - b.menuWidth / 2 ? i = !0 : d >= window.innerWidth - b.menuWidth / 2 && (i = !1); 3324 var l = d - b.menuWidth / 2; 3325 l < 0 && (l = 0), e.css("transform", "translateX(" + l + "px)") 3326 } 3327 var m; 3328 "left" === b.edge ? (m = d / b.menuWidth, j.velocity({ 3329 opacity: m 3330 }, { 3331 duration: 10, 3332 queue: !1, 3333 easing: "easeOutQuad" 3334 })) : (m = Math.abs((d - window.innerWidth) / b.menuWidth), j.velocity({ 3335 opacity: m 3336 }, { 3337 duration: 10, 3338 queue: !1, 3339 easing: "easeOutQuad" 3340 })) 3341 } 3342 }).on("panend", function(c) { 3343 if ("touch" == c.gesture.pointerType) { 3344 var d = a("#sidenav-overlay"), 3345 g = c.gesture.velocityX, 3346 j = c.gesture.center.x, 3347 k = j - b.menuWidth, 3348 l = j - b.menuWidth / 2; 3349 k > 0 && (k = 0), l < 0 && (l = 0), h = !1, "left" === b.edge ? i && g <= .3 || g < -.5 ? (0 !== k && e.velocity({ 3350 translateX: [0, k] 3351 }, { 3352 duration: 300, 3353 queue: !1, 3354 easing: "easeOutQuad" 3355 }), d.velocity({ 3356 opacity: 1 3357 }, { 3358 duration: 50, 3359 queue: !1, 3360 easing: "easeOutQuad" 3361 }), f.css({ 3362 width: "50%", 3363 right: 0, 3364 left: "" 3365 }), i = !0) : (!i || g > .3) && (a("body").css({ 3366 overflow: "", 3367 width: "" 3368 }), e.velocity({ 3369 translateX: [-1 * b.menuWidth - 10, k] 3370 }, { 3371 duration: 200, 3372 queue: !1, 3373 easing: "easeOutQuad" 3374 }), d.velocity({ 3375 opacity: 0 3376 }, { 3377 duration: 200, 3378 queue: !1, 3379 easing: "easeOutQuad", 3380 complete: function() { 3381 "function" == typeof b.onClose && b.onClose.call(this, e), a(this).remove() 3382 } 3383 }), f.css({ 3384 width: "10px", 3385 right: "", 3386 left: 0 3387 })) : i && g >= -.3 || g > .5 ? (0 !== l && e.velocity({ 3388 translateX: [0, l] 3389 }, { 3390 duration: 300, 3391 queue: !1, 3392 easing: "easeOutQuad" 3393 }), d.velocity({ 3394 opacity: 1 3395 }, { 3396 duration: 50, 3397 queue: !1, 3398 easing: "easeOutQuad" 3399 }), f.css({ 3400 width: "50%", 3401 right: "", 3402 left: 0 3403 }), i = !0) : (!i || g < -.3) && (a("body").css({ 3404 overflow: "", 3405 width: "" 3406 }), e.velocity({ 3407 translateX: [b.menuWidth + 10, l] 3408 }, { 3409 duration: 200, 3410 queue: !1, 3411 easing: "easeOutQuad" 3412 }), d.velocity({ 3413 opacity: 0 3414 }, { 3415 duration: 200, 3416 queue: !1, 3417 easing: "easeOutQuad", 3418 complete: function() { 3419 a(this).remove() 3420 } 3421 }), f.css({ 3422 width: "10px", 3423 right: 0, 3424 left: "" 3425 })) 3426 } 3427 })), c.off("click.sidenav").on("click.sidenav", function() { 3428 if (!0 === i) i = !1, h = !1, g(); 3429 else { 3430 var c = a("body"), 3431 d = a('<div id="sidenav-overlay"></div>'), 3432 j = c.innerWidth(); 3433 c.css("overflow", "hidden"), c.width(j), a("body").append(f), "left" === b.edge ? (f.css({ 3434 width: "50%", 3435 right: 0, 3436 left: "" 3437 }), e.velocity({ 3438 translateX: [0, -1 * b.menuWidth] 3439 }, { 3440 duration: 300, 3441 queue: !1, 3442 easing: "easeOutQuad" 3443 })) : (f.css({ 3444 width: "50%", 3445 right: "", 3446 left: 0 3447 }), e.velocity({ 3448 translateX: [0, b.menuWidth] 3449 }, { 3450 duration: 300, 3451 queue: !1, 3452 easing: "easeOutQuad" 3453 })), d.css("opacity", 0).click(function() { 3454 i = !1, h = !1, g(), d.velocity({ 3455 opacity: 0 3456 }, { 3457 duration: 300, 3458 queue: !1, 3459 easing: "easeOutQuad", 3460 complete: function() { 3461 a(this).remove() 3462 } 3463 }) 3464 }), a("body").append(d), d.velocity({ 3465 opacity: 1 3466 }, { 3467 duration: 300, 3468 queue: !1, 3469 easing: "easeOutQuad", 3470 complete: function() { 3471 i = !0, h = !1 3472 } 3473 }), "function" == typeof b.onOpen && b.onOpen.call(this, e) 3474 } 3475 return !1 3476 }) 3477 }) 3478 }, 3479 destroy: function() { 3480 var b = a("#sidenav-overlay"), 3481 c = a('.drag-target[data-sidenav="' + a(this).attr("data-activates") + '"]'); 3482 b.trigger("click"), c.remove(), a(this).off("click"), b.remove() 3483 }, 3484 show: function() { 3485 this.trigger("click") 3486 }, 3487 hide: function() { 3488 a("#sidenav-overlay").trigger("click") 3489 } 3490 }; 3491 a.fn.sideNav = function(c) { 3492 return b[c] ? b[c].apply(this, Array.prototype.slice.call(arguments, 1)) : "object" != typeof c && c ? void a.error("Method " + c + " does not exist on jQuery.sideNav") : b.init.a
3492pply(this, arguments) 3493 } 3494 }(jQuery), 3495 function(a) { 3496 function b(b, c, d, e) { 3497 var g = a(); 3498 return a.each(f, function(a, f) { 3499 if (f.height() > 0) { 3500 var h = f.offset().top, 3501 i = f.offset().left, 3502 j = i + f.width(), 3503 k = h + f.height(); 3504 !(i > c || j < e || h > d || k < b) && g.push(f) 3505 } 3506 }), g 3507 } 3508 3509 function c(c) { 3510 ++i; 3511 var d = e.scrollTop(), 3512 f = e.scrollLeft(), 3513 h = f + e.width(), 3514 k = d + e.height(), 3515 l = b(d + j.top + c || 200, h + j.right, k + j.bottom, f + j.left); 3516 a.each(l, function(a, b) { 3517 "number" != typeof b.data("scrollSpy:ticks") && b.triggerHandler("scrollSpy:enter"), b.data("scrollSpy:ticks", i) 3518 }), a.each(g, function(a, b) { 3519 var c = b.data("scrollSpy:ticks"); 3520 "number" == typeof c && c !== i && (b.triggerHandler("scrollSpy:exit"), b.data("scrollSpy:ticks", null)) 3521 }), g = l 3522 } 3523 3524 function d() { 3525 e.trigger("scrollSpy:winSize") 3526 } 3527 var e = a(window), 3528 f = [], 3529 g = [], 3530 h = !1, 3531 i = 0, 3532 j = { 3533 top: 0, 3534 right: 0, 3535 bottom: 0, 3536 left: 0 3537 }; 3538 a.scrollSpy = function(b, d) { 3539 var g = { 3540 throttle: 100, 3541 scrollOffset: 200, 3542 activeClass: "active", 3543 getActiveElement: function(a) { 3544 return 'a[href="#' + a + '"]' 3545 } 3546 }; 3547 d = a.extend(g, d); 3548 var i = []; 3549 b = a(b), b.each(function(b, c) { 3550 f.push(a(c)), a(c).data("scrollSpy:id", b), a('a[href="#' + a(c).attr("id") + '"]').click(function(b) { 3551 b.preventDefault(); 3552 var c = a(Materialize.escapeHash(this.hash)).offset().top + 1; 3553 a("html, body").animate({ 3554 scrollTop: c - d.scrollOffset 3555 }, { 3556 duration: 400, 3557 queue: !1, 3558 easing: "easeOutCubic" 3559 }) 3560 }) 3561 }), j.top = d.offsetTop || 0, j.right = d.offsetRight || 0, j.bottom = d.offsetBottom || 0, j.left = d.offsetLeft || 0; 3562 var k = Materialize.throttle(function() { 3563 c(d.scrollOffset) 3564 }, d.throttle || 100), 3565 l = function() { 3566 a(document).ready(k) 3567 }; 3568 return h || (e.on("scroll", l), e.on("resize", l), h = !0), setTimeout(l, 0), b.on("scrollSpy:enter", function() { 3569 i = a.grep(i, function(a) { 3570 return 0 != a.height() 3571 }); 3572 var b = a(this); 3573 i[0] ? (a(d.getActiveElement(i[0].attr("id"))).removeClass(d.activeClass), b.data("scrollSpy:id") < i[0].data("scrollSpy:id") ? i.unshift(a(this)) : i.push(a(this))) : i.push(a(this)), a(d.getActiveElement(i[0].attr("id"))).addClass(d.activeClass) 3574 }), b.on("scrollSpy:exit", function() { 3575 if (i = a.grep(i, function(a) { 3576 return 0 != a.height() 3577 }), i[0]) { 3578 a(d.getActiveElement(i[0].attr("id"))).removeClass(d.activeClass); 3579 var b = a(this); 3580 i = a.grep(i, function(a) { 3581 return a.attr("id") != b.attr("id") 3582 }), i[0] && a(d.getActiveElement(i[0].attr("id"))).addClass(d.activeClass) 3583 } 3584 }), b 3585 }, a.winSizeSpy = function(b) { 3586 return a.winSizeSpy = function() { 3587 return e 3588 }, b = b || { 3589 throttle: 100 3590 }, e.on("resize", Materialize.throttle(d, b.throttle || 100)) 3591 }, a.fn.scrollSpy = function(b) { 3592 return a.scrollSpy(a(this), b) 3593 } 3594 }(jQuery), 3595 function(a) { 3596 a(document).ready(function() { 3597 function b(b) { 3598 var c = b.css("font-family"), 3599 e = b.css("font-size"), 3600 f = b.css("line-height"); 3601 e && d.css("font-size", e), c && d.css("font-family", c), f && d.css("line-height", f), b.data("original-height") || b.data("original-height", b.height()), "off" === b.attr("wrap") && d.css("overflow-wrap", "normal").css("white-space", "pre"), d.text(b.val() + "\n"); 3602 var g = d.html().replace(/\n/g, "<br>"); 3603 d.html(g), b.is(":visible") ? d.css("width", b.width()) : d.css("width", a(window).width() / 2), b.data("original-height") <= d.height() ? b.css("height", d.height()) : b.val().length < b.data("previous-length") && b.css("height", b.data("original-height")), b.data("previous-length", b.val().length) 3604 } 3605 Materialize.updateTextFields = function() { 3606 a("input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], textarea").each(function(b, c) { 3607 var d = a(this); 3608 a(c).val().length > 0 || a(c).is(":focus") || c.autofocus || void 0 !== d.attr("placeholder") ? d.siblings("label").addClass("active") : a(c)[0].validity ? d.siblings("label").toggleClass("active", !0 === a(c)[0].validity.badInput) : d.siblings("label").removeClass("active") 3609 }) 3610 }; 3611 var c = "input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], textarea"; 3612 a(document).on("change", c, function() { 3613 0 === a(this).val().length && void 0 === a(this).attr("placeholder") || a(this).siblings("label").addClass("active"), validate_field(a(this)) 3614 }), a(document).ready(function() { 3615 Materialize.updateTextFields() 3616 }), a(document).on("reset", function(b) { 3617 var d = a(b.target);
3618 d.is("form") && (d.find(c).removeClass("valid").removeClass("invalid"), d.find(c).each(function() { 3619 "" === a(this).attr("value") && a(this).siblings("label").removeClass("active") 3620 }), d.find("select.initialized").each(function() { 3621 var a = d.find("option[selected]").text(); 3622 d.siblings("input.select-dropdown").val(a) 3623 })) 3624 }), a(document).on("focus", c, function() { 3625 a(this).siblings("label, .prefix").addClass("active") 3626 }), a(document).on("blur", c, function() { 3627 var b = a(this), 3628 c = ".prefix"; 3629 0 === b.val().length && !0 !== b[0].validity.badInput && void 0 === b.attr("placeholder") && (c += ", label"), b.siblings(c).removeClass("active"), validate_field(b) 3630 }), window.validate_field = function(a) { 3631 var b = void 0 !== a.attr("data-length"), 3632 c = parseInt(a.attr("data-length")), 3633 d = a.val().length; 3634 0 === a.val().length && !1 === a[0].validity.badInput ? a.hasClass("val
3634idate") && (a.removeClass("valid"), a.removeClass("invalid")) : a.hasClass("validate") && (a.is(":valid") && b && d <= c || a.is(":valid") && !b ? (a.removeClass("invalid"), a.addClass("valid")) : (a.removeClass("valid"), a.addClass("invalid"))) 3635 }; 3636 a(document).on("keyup.radio", "input[type=radio], input[type=checkbox]", function(b) { 3637 if (9 === b.which) { 3638 a(this).addClass("tabbed"); 3639 return void a(this).one("blur", function(b) { 3640 a(this).removeClass("tabbed") 3641 }) 3642 } 3643 }); 3644 var d = a(".hiddendiv").first(); 3645 d.length || (d = a('<div class="hiddendiv common"></div>'), a("body").append(d)); 3646 a(".materialize-textarea").each(function() { 3647 var b = a(this); 3648 b.data("original-height", b.height()), b.data("previous-length", b.val().length) 3649 }), a("body").on("keyup keydown autoresize", ".materialize-textarea", function() { 3650 b(a(this)) 3651 }), a(document).on("change", '.file-field input[type="file"]', function() { 3652 for (var b = a(this).closest(".file-field"), c = b.find("input.file-path"), d = a(this)[0].files, e = [], f = 0; f < d.length; f++) e.push(d[f].name); 3653 c.val(e.join(", ")), c.trigger("change") 3654 }); 3655 var e = "input[type=range]", 3656 f = !1; 3657 a(e).each(function() { 3658 var b = a('<span class="thumb"><span class="value"></span></span>'); 3659 a(this).after(b) 3660 }); 3661 var g = function(a) { 3662 var b = parseInt(a.parent().css("padding-left")), 3663 c = -7 + b + "px"; 3664 a.velocity({ 3665 height: "30px", 3666 width: "30px", 3667 top: "-30px", 3668 marginLeft: c 3669 }, { 3670 duration: 300, 3671 easing: "easeOutExpo" 3672 }) 3673 }, 3674 h = function(a) { 3675 var b = a.width() - 15, 3676 c = parseFloat(a.attr("max")), 3677 d = parseFloat(a.attr("min")); 3678 return (parseFloat(a.val()) - d) / (c - d) * b 3679 }; 3680 a(document).on("change", e, function(b) { 3681 var c = a(this).siblings(".thumb"); 3682 c.find(".value").html(a(this).val()), c.hasClass("active") || g(c); 3683 var d = h(a(this)); 3684 c.addClass("active").css("left", d) 3685 }), a(document).on("mousedown touchstart", e, function(b) { 3686 var c = a(this).siblings(".thumb"); 3687 if (c.length <= 0 && (c = a('<span class="thumb"><span class="value"></span></span>'), a(this).after(c)), c.find(".value").html(a(this).val()), f = !0, a(this).addClass("active"), c.hasClass("active") || g(c), "input" !== b.type) { 3688 var d = h(a(this)); 3689 c.addClass("active").css("left", d) 3690 } 3691 }), a(document).on("mouseup touchend", ".range-field", function() { 3692 f = !1, a(this).removeClass("active") 3693 }), a(document).on("input mousemove touchmove", ".range-field", function(b) { 3694 var c = a(this).children(".thumb"), 3695 d = a(this).find(e); 3696 if (f) { 3697 c.hasClass("active") || g(c); 3698 var i = h(d); 3699 c.addClass("active").css("left", i), c.find(".value").html(c.siblings(e).val()) 3700 } 3701 }), a(document).on("mouseout touchleave", ".range-field", function() { 3702 if (!f) { 3703 var b = a(this).children(".thumb"), 3704 c = parseInt(a(this).css("padding-left")), 3705 d = 7 + c + "px"; 3706 b.hasClass("active") && b.velocity({ 3707 height: "0", 3708 width: "0", 3709 top: "10px", 3710 marginLeft: d 3711 }, { 3712 duration: 100 3713 }), b.removeClass("active") 3714 } 3715 }), a.fn.autocomplete = function(b) { 3716 var c = { 3717 data: {}, 3718 limit: 1 / 0, 3719 onAutocomplete: null, 3720 minLength: 1 3721 }; 3722 return b = a.extend(c, b), this.each(function() { 3723 var c, d = a(this), 3724 e = b.data, 3725 f = 0, 3726 g = -1, 3727 h = d.closest(".input-field"); 3728 if (!a.isEmptyObject(e)) { 3729 var i, j = a('<ul class="autocomplete-content dropdown-content"></ul>'); 3730 h.length ? (i = h.children(".autocomplete-content.dropdown-content").first(), i.length || h.append(j)) : (i = d.next(".autocomplete-content.dropdown-content"), i.length || d.after(j)), i.length && (j = i); 3731 var k = function(a, b) { 3732 var c = b.find("img"), 3733 d = b.text().toLowerCase().indexOf("" + a.toLowerCase()), 3734 e = d + a.length - 1, 3735 f = b.text().slice(0, d), 3736 g = b.text().slice(d, e + 1), 3737 h = b.text().slice(e + 1); 3738 b.html("<span>" + f + "<span class='highlight'>" + g + "</span>" + h + "</span>"), c.length && b.prepend(c) 3739 }, 3740 l = function() { 3741 g = -1, j.find(".active").removeClass("active") 3742 }, 3743 m = function() { 3744 j.empty(), l(), c = void 0 3745 }; 3746 d.off("blur.autocomplete").on("blur.autocomplete", function() { 3747 m() 3748 }), d.off("keyup.autocomplete focus.autocomplete").on("keyup.autocomplete focus.autocomplete", function(g) { 3749 f = 0; 3750 var h = d.val().toLowerCase(); 3751 if (13 !== g.which && 38 !== g.which && 40 !== g.which) { 3752 if (c !== h && (m(), h.length >= b.minLength)) 3753 for (var i in e) 3754 if (e.hasOwnProperty(i) && -1 !== i.toLowerCase().indexOf(h) && i.toLowerCase() !== h) { 3755 if (f >= b.limit) break; 3756 var l = a("<li></li>"); 3757 e[i] ? l.append('<img src="' + e[i] + '" class="right circle"><span>' + i + "</span>") : l.append("<span>" + i + "</span>"), j.append(l), k(h, l), f++ 3758 } c = h 3759 } 3760 }), d.off("keydown.autocomplete").on("keydown.autocomplete", function(a) { 3761 var b, c = a.which, 3762 d = j.children("li").length, 3763 e = j.children(".active").first(); 3764 if (13 === c && g >= 0) return b = j.children("li").eq(g), void(b.length && (b.trigger("mousedown.autocomplete"), a.preventDefault())); 3765 38 !== c && 40 !== c || (a.preventDefault(), 38 === c && g > 0 && g--, 40 === c && g < d - 1 && g++, e.removeClass("active"), g >= 0 && j.children("li").eq(g).addClass("active")) 3766 }), j.on("mousedown.autocomplete touchstart.autocomplete", "li", function() { 3767 var c = a(this).text().trim(); 3768 d.val(c), d.trigger("change"), m(), 3769 "function" == typeof b.onAutocomplete && b.onAutocomplete.call(this, c) 3770 }) 3771 } 3772 }) 3773 } 3774 }), a.fn.material_select = function(b) { 3775 function c(a, b, c) { 3776 var e = a.indexOf(b), 3777 f = -1 === e; 3778 return f ? a.push(b) : a.splice(e, 1), c.siblings("ul.dropdown-content").find("li:not(.optgroup)").eq(b).toggleClass("active"), c.find("option").eq(b).prop("selected", f), d(a, c), f 3779 } 3780 3781 function d(a, b) { 3782 for (var c = "", d = 0, e = a.length; d < e; d++) { 3783 var f = b.find("option").eq(a[d]).text(); 3784 c += 0 === d ? f : ", " + f 3785 } 3786 "" === c && (c = b.find("option:disabled").eq(0).text()), b.siblings("input.select-dropdown").val('(filtered)') 3787 3788 if(c === '') { 3789 b.siblings("input.select-dropdown").val('') 3790 } 3791 } 3792 a(this).each(function() { 3793 var d = a(this); 3794 if (!d.hasClass("browser-default")) { 3795 var e = !!d.attr("multiple"), 3796 f = d.data("select-id"); 3797 if (f && (d.parent().find("span.caret").remove(), d.parent().find("input").remove(), d.unwrap(), a("ul#select-options-" + f).remove()), "destroy" === b) return void d.data("select-id", null).removeClass("initialized"); 3798 var g = Materialize.guid(); 3799 d.data("select-id", g); 3800 var h = a('<div class="select-wrapper"></div>'); 3801 h.addClass(d.attr("class")); 3802 var i = a('<ul id="select-options-' + g + '" class="dropdown-content select-dropdown ' + (e ? "multiple-select-dropdown" : "") + '"></ul>'), 3803 j = d.children("option, optgroup"), 3804 k = [], 3805 l = !1, 3806 m = d.find("option:selected").html() || d.find("option:first").html() || "", 3807 n = function(b, c, d) { 3808 var f = c.is(":disabled") ? "disabled " : "", 3809 g = "optgroup-option" === d ? "optgroup-option " : "", 3810 h = e ? '<input type="checkbox"' + f + "/><label></label>" : "", 3811 j = c.data("icon"), 3812 k = c.attr("class"); 3813 if (j) { 3814 var l = ""; 3815 return k && (l = ' class="' + k + '"'), i.append(a('<li class="' + f + g + '"><img alt="" src="' + j + '"' + l + "><span>" + h + c.html() + "</span></li>")), !0 3816 } 3817 i.append(a('<li class="' + f + g + '"><span>' + h + c.html() + "</span></li>")) 3818 }; 3819 j.length && j.each(function() { 3820 if (a(this).is("option")) e ? n(0, a(this), "multiple") : n(0, a(this)); 3821 else if (a(this).is("optgroup")) { 3822 var b = a(this).children("option"); 3823 i.append(a('<li class="optgroup"><span>' + a(this).attr("label") + "</span></li>")), b.each(function() { 3824 n(0, a(this), "optgroup-option") 3825 }) 3826 } 3827 }), i.find("li:not(.optgroup)").each(function(f) { 3828 a(this).click(function(g) { 3829 if (!a(this).hasClass("disabled") && !a(this).hasClass("optgroup")) { 3830 var h = !0; 3831 e ? (a('input[type="checkbox"]', this).prop("checked", function(a, b) { 3832 return !b 3833 }), h = c(k, f, d), q.trigger("focus")) : (i.find("li").removeClass("active"), a(this).toggleClass("active"), q.val(a(this).text())), r(i, a(this)), d.find("option").eq(f).prop("selected", h), d.trigger("change"), void 0 !== b && b() 3834 } 3835 g.stopPropagation() 3836 }) 3837 }), d.wrap(h); 3838 var o = a('<span class="caret">▼</span>'); 3839 d.is(":disabled") && o.addClass("disabled"); 3840 var p = m.replace(/"/g, """), 3841 q = a('<input type="text" class="select-dropdown" readonly="true" ' + (d.is(":disabled") ? "disabled" : "") + ' data-activates="select-options-' + g + '" value="' + p + '"/>'); 3842 d.before(q), q.before(o), q.after(i), d.is(":disabled") || q.dropdown({ 3843 hover: !1 3844 }), d.attr("tabindex") && a(q[0]).attr("tabindex", d.attr("tabindex")), d.addClass("initialized"), q.on({ 3845 focus: function() { 3846 if (a("ul.select-dropdown").not(i[0]).is(":visible") && a("input.select-dropdown").trigger("close"), !i.is(":visible")) { 3847 a(this).trigger("open", ["focus"]);
3848 var b = a(this).val(); 3849 e && b.indexOf(",") >= 0 && (b = b.split(",")[0]); 3850 var c = i.find("li").filter(function() { 3851 return a(this).text().toLowerCase() === b.toLowerCase() 3852 })[0]; 3853 r(i, c, !0) 3854 } 3855 }, 3856 click: function(a) { 3857 a.stopPropagation() 3858 } 3859 }), q.on("blur", function() { 3860 e || a(this).trigger("close"), i.find("li.selected").removeClass("selected") 3861 }), i.hover(function() { 3862 l = !0 3863 }, function() { 3864 l = !1 3865 }), a(window).on({ 3866 click: function() { 3867 e && (l || q.trigger("close")) 3868 } 3869 }), e && d.find("option:selected:not(:disabled)").each(function() { 3870 var b = a(this).index(); 3871 c(k, b, d), i.find("li").eq(b).find(":checkbox").prop("checked", !0) 3872 }); 3873 var r = function(b, c, d) { 3874 if (c) { 3875 b.find("li.selected").removeClass("selected"); 3876 var f = a(c); 3877 f.addClass("selected"), e && !d || i.scrollTo(f) 3878 } 3879 }, 3880 s = [], 3881 t = function(b) { 3882 if (9 == b.which) return void q.trigger("close"); 3883 if (40 == b.which && !i.is(":visible")) return void q.trigger("open"); 3884 if (13 != b.which || i.is(":visible")) { 3885 b.preventDefault(); 3886 var c = String.fromCharCode(b.which).toLowerCase(), 3887 d = [9, 13, 27, 38, 40]; 3888 if (c && -1 === d.indexOf(b.which)) { 3889 s.push(c); 3890 var f = s.join(""), 3891 g = i.find("li").filter(function() { 3892 return 0 === a(this).text().toLowerCase().indexOf(f) 3893 })[0]; 3894 g && r(i, g) 3895 } 3896 if (13 == b.which) { 3897 var h = i.find("li.selected:not(.disabled)")[0]; 3898 h && (a(h).trigger("click"), e || q.trigger("close")) 3899 } 3900 40 == b.which && (g = i.find("li.selected").length ? i.find("li.selected").next("li:not(.disabled)")[0] : i.find("li:not(.disabled)")[0], r(i, g)), 27 == b.which && q.trigger("close"), 38 == b.which && (g = i.find("li.selected").prev("li:not(.disabled)")[0]) && r(i, g), setTimeout(function() { 3901 s = [] 3902 }, 1e3) 3903 } 3904 }; 3905 q.on("keydown", t) 3906 } 3907 }) 3908 } 3909 }(jQuery), 3910 function(a) { 3911 var b = { 3912 init: function(b) { 3913 var c = { 3914 indicators: !0, 3915 height: 400, 3916 transition: 500, 3917 interval: 6e3 3918 }; 3919 return b = a.extend(c, b), this.each(function() { 3920 function c(a, b) { 3921 a.hasClass("center-align") ? a.velocity({ 3922 opacity: 0, 3923 translateY: -100 3924 }, { 3925 duration: b, 3926 queue: !1 3927 }) : a.hasClass("right-align") ? a.velocity({ 3928 opacity: 0, 3929 translateX: 100 3930 }, { 3931 duration: b, 3932 queue: !1 3933 }) : a.hasClass("left-align") && a.velocity({ 3934 opacity: 0, 3935 translateX: -100 3936 }, { 3937 duration: b, 3938 queue: !1 3939 }) 3940 } 3941 3942 function d(a) { 3943 a >= j.length ? a = 0 : a < 0 && (a = j.length - 1), (k = i.find(".active").index()) != a && (e = j.eq(k), $caption = e.find(".caption"), e.removeClass("active"), e.velocity({ 3944 opacity: 0 3945 }, { 3946 duration: b.transition, 3947 queue: !1, 3948 easing: "easeOutQuad", 3949 complete: function() { 3950 j.not(".active").velocity({ 3951 opacity: 0, 3952 translateX: 0, 3953 translateY: 0 3954 }, { 3955 duration: 0, 3956 queue: !1 3957 }) 3958 } 3959 }), c($caption, b.transition), b.indicators && f.eq(k).removeClass("active"), j.eq(a).velocity({ 3960 opacity: 1 3961 }, { 3962 duration: b.transition, 3963 queue: !1, 3964 easing: "easeOutQuad" 3965 }), j.eq(a).find(".caption").velocity({ 3966 opacity: 1, 3967 translateX: 0, 3968 translateY: 0 3969 }, { 3970 duration: b.transition, 3971 delay: b.transition, 3972 queue: !1, 3973 easing: "easeOutQuad" 3974 }), j.eq(a).addClass("active"), b.indicators && f.eq(a).addClass("active")) 3975 } 3976 var e, f, g, h = a(this), 3977 i = h.find("ul.slides").first(), 3978 j = i.find("> li"), 3979 k = i.find(".active").index(); - 1 != k && (e = j.eq(k)), h.hasClass("fullscreen") || (b.indicators ? h.height(b.height + 40) : h.height(b.height), i.height(b.height)), j.find(".caption").each(function() { 3980 c(a(this), 0) 3981 }), j.find("img").each(function() { 3982 var b = "data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="; 3983 a(this).attr("src") !== b && (a(this).css("background-image", 'url("' + a(this).attr("src") + '")'), a(this).attr("src", b)) 3984 }), b.indicators && (f = a('<ul class="indicators"></ul>'), j.each(function(c) { 3985 var e = a('<li class="indicator-item"></li>'); 3986 e.click(function() { 3987 d(i.parent().find(a(this)).index()), clearInterval(g), g = setInterval(function() { 3988 k = i.find(".active").index(), j.length == k + 1 ? k = 0 : k += 1, d(k) 3989 }, b.transition + b.interval) 3990 }), f.append(e) 3991 }), h.append(f), f = h.find("ul.indicators").find("li.indicator-item")), e ? e.show() : (j.first().addClass("active").velocity({ 3992 opacity: 1 3993 }, { 3994 duration: b.transition, 3995 queue: !1, 3996 easing: "easeOutQuad" 3997 }), k = 0, e = j.eq(k), b.indicators && f.eq(k).addClass("active")), e.find("img").each(function() { 3998 e.find(".caption").velocity({ 3999 opacity: 1, 4000 translateX: 0, 4001 translateY: 0 4002 }, { 4003 duration: b.transition, 4004 queue: !1, 4005 easing: "easeOutQuad" 4006 }) 4007 }), g = setInterval(function() { 4008 k = i.find(".active").index(), d(k + 1) 4009 }, b.transition + b.interval); 4010 var l = !1, 4011 m = !1, 4012 n = !1; 4013 h.hammer({ 4014 prevent_default: !1 4015 }).on("pan", function(a) { 4016 if ("touch" === a.gesture.pointerType) { 4017 clearInterval(g); 4018 var b = a.gesture.direction, 4019 c = a.gesture.deltaX, 4020 d = a.gesture.velocityX, 4021 e = a.gesture.velocityY; 4022 $curr_slide = i.find(".active"), Math.abs(d) > Math.abs(e) && $curr_slide.velocity({ 4023 translateX: c 4024 }, { 4025 duration: 50, 4026 queue: !1, 4027 easing: "easeOutQuad" 4028 }), 4 === b && (c > h.innerWidth() / 2 || d < -.65) ? n = !0 : 2 === b && (c < -1 * h.innerWidth() / 2 || d > .65) && (m = !0); 4029 var f; 4030 m && (f = $curr_slide.next(), 0 === f.length && (f = j.first()), f.velocity({ 4031 opacity: 1 4032 }, { 4033 duration: 300, 4034 queue: !1, 4035 easing: "easeOutQuad" 4036 })), n && (f = $curr_slide.prev(), 0 === f.length && (f = j.last()), f.velocity({ 4037 opacity: 1 4038 }, { 4039 duration: 300, 4040 queue: !1, 4041 easing: "easeOutQuad" 4042 })) 4043 } 4044 }).on("panend", function(a) { 4045 "touch" === a.gesture.pointerType && ($curr_slide = i.find(".active"), l = !1, curr_index = i.find(".active").index(), !n && !m || j.length <= 1 ? $curr_slide.velocity({ 4046 translateX: 0 4047 }, { 4048 duration: 300, 4049 queue: !1, 4050 easing: "easeOutQuad" 4051 }) : m ? (d(curr_index + 1), $curr_slide.velocity({ 4052 translateX: -1 * h.innerWidth() 4053 }, { 4054 duration: 300, 4055 queue: !1, 4056 easing: "easeOutQuad", 4057 complete: function() { 4058 $curr_slide.velocity({ 4059 opacity: 0, 4060 translateX: 0 4061 }, { 4062 duration: 0, 4063 queue: !1 4064 }) 4065 } 4066 })) : n && (d(curr_index - 1), $curr_slide.velocity({ 4067 translateX: h.innerWidth() 4068 }, { 4069 duration: 300, 4070 queue: !1, 4071 easing: "easeOutQuad", 4072 complete: function() { 4073 $curr_slide.velocity({ 4074 opacity: 0, 4075 translateX: 0 4076 }, { 4077 duration: 0, 4078 queue: !1 4079 }) 4080 } 4081 })), m = !1, n = !1, clearInterval(g), g = setInterval(function() { 4082 k = i.find(".active").index(), j.length == k + 1 ? k = 0 : k += 1, d(k) 4083 }, b.transition + b.interval)) 4084 }), h.on("sliderPause", function() { 4085 clearInterval(g) 4086 }), h.on("sliderStart", function() { 4087 clearInterval(g), g = setInterval(function() { 4088 k = i.find(".active").index(), j.length == k + 1 ? k = 0 : k += 1, d(k) 4089 }, b.transition + b.interval) 4090 }), h.on("sliderNext", function() { 4091 k = i.find(".active").index(), d(k + 1) 4092 }), h.on("sliderPrev", function() { 4093 k = i.find(".active").index(), d(k - 1) 4094 }) 4095 }) 4096 }, 4097 pause: function() { 4098 a(this).trigger("sliderPause") 4099 }, 4100 start: function() { 4101 a(this).trigger("sliderStart") 4102 }, 4103 next: function() { 4104 a(this).trigger("sliderNext") 4105 }, 4106 prev: function() { 4107 a(this).trigger("sliderPrev") 4108 } 4109 }; 4110 a.fn.slider = function(c) { 4111 return b[c] ? b[c].apply(this, Array.prototype.slice.call(arguments, 1)) : "object" != typeof c && c ? void a.error("Method " + c + " does not exist on jQuery.mtooltip") : b.init.a
4111pply(this, arguments) 4112 } 4113 }(jQuery), 4114 function(a) { 4115 a(document).ready(function() { 4116 a(document).on("click.card", ".card", function(b) { 4117 if (a(this).find("> .card-reveal").length) { 4118 var c = a(b.target).closest(".card"); 4119 void 0 === c.data("initialOverflow") && c.data("initialOverflow", void 0 === c.css("overflow") ? "" : c.css("overflow")), a(b.target).is(a(".card-reveal .card-title")) || a(b.target).is(a(".card-reveal .card-title i")) ? a(this).find(".card-reveal").velocity({ 4120 translateY: 0 4121 }, { 4122 duration: 225, 4123 queue: !1, 4124 easing: "easeInOutQuad", 4125 complete: function() { 4126 a(this).css({ 4127 display: "none" 4128 }), c.css("overflow", c.data("initialOverflow")) 4129 } 4130 }) : (a(b.target).is(a(".card .activator")) || a(b.target).is(a(".card .activator i"))) && (c.css("overflow", "hidden"), a(this).find(".card-reveal").css({ 4131 display: "block" 4132 }).velocity("stop", !1).velocity({ 4133 translateY: "-100%" 4134 }, { 4135 duration: 300, 4136 queue: !1, 4137 easing: "easeInOutQuad" 4138 })) 4139 } 4140 }) 4141 }) 4142 }(jQuery), 4143 function(a) { 4144 var b = { 4145 data: [], 4146 placeholder: "", 4147 secondaryPlaceholder: "", 4148 autocompleteOptions: {} 4149 }; 4150 a(document).ready(function() { 4151 a(document).on("click", ".chip .close", function(b) { 4152 a(this).closest(".chips").attr("data-initialized") || a(this).closest(".chip").remove() 4153 }) 4154 }), a.fn.material_chip = function(c) { 4155 var d = this; 4156 if (this.$el = a(this), this.$document = a(document), this.SELS = { 4157 CHIPS: ".chips", 4158 CHIP: ".chip", 4159 INPUT: "input", 4160 DELETE: ".material-icons", 4161 SELECTED_CHIP: ".selected" 4162 }, "data" === c) return this.$el.data("chips"); 4163 var e = a.extend({}, b, c); 4164 d.hasAutocomplete = !a.isEmptyObject(e.autocompleteOptions.data), this.init = function() { 4165 var b = 0; 4166 d.$el.each(function() { 4167 var c = a(this), 4168 f = Materialize.guid(); 4169 d.chipId = f, e.data && e.data instanceof Array || (e.data = []), c.data("chips", e.data), c.attr("data-index", b), c.attr("data-initialized", !0), c.hasClass(d.SELS.CHIPS) || c.addClass("chips"), d.chips(c, f), b++ 4170 }) 4171 }, this.handleEvents = function() { 4172 var b = d.SELS; 4173 d.$document.off("click.chips-focus", b.CHIPS).on("click.chips-focus", b.CHIPS, function(c) { 4174 a(c.target).find(b.INPUT).focus() 4175 }), d.$document.off("click.chips-select", b.CHIP).on("click.chips-select", b.CHIP, function(c) { 4176 var e = a(c.target); 4177 if (e.length) { 4178 var f = e.hasClass("selected"), 4179 g = e.closest(b.CHIPS); 4180 a(b.CHIP).removeClass("selected"), f || d.selectChip(e.index(), g) 4181 } 4182 }), d.$document.off("keydown.chips").on("keydown.chips", function(c) { 4183 if (!a(c.target).is("input, textarea")) { 4184 var e, f = d.$document.find(b.CHIP + b.SELECTED_CHIP), 4185 g = f.closest(b.CHIPS), 4186 h = f.siblings(b.CHIP).length; 4187 if (f.length) 4188 if (8 === c.which || 46 === c.which) { 4189 c.preventDefault(), e = f.index(), d.deleteChip(e, g); 4190 var i = null; 4191 e + 1 < h ? i = e : e !== h && e + 1 !== h || (i = h - 1), i < 0 && (i = null), null !== i && d.selectChip(i, g), h || g.find("input").focus() 4192 } else if (37 === c.which) { 4193 if ((e = f.index() - 1) < 0) return; 4194 a(b.CHIP).removeClass("selected"), d.selectChip(e, g) 4195 } else if (39 === c.which) { 4196 if (e = f.index() + 1, a(b.CHIP).removeClass("selected"), e > h) return void g.find("input").focus(); 4197 d.selectChip(e, g) 4198 } 4199 } 4200 }), d.$document.off("focusin.chips", b.CHIPS + " " + b.INPUT).on("focusin.chips", b.CHIPS + " " + b.INPUT, function(c) { 4201 var d = a(c.target).closest(b.CHIPS); 4202 d.addClass("focus"), d.siblings("label, .prefix").addClass("active"), a(b.CHIP).removeClass("selected") 4203 }), d.$document.off("focusout.chips", b.CHIPS + " " + b.INPUT).on("focusout.chips", b.CHIPS + " " + b.INPUT, function(c) { 4204 var d = a(c.target).closest(b.CHIPS); 4205 d.removeClass("focus"), void 0 !== d.data("chips") && d.data("chips").length || d.siblings("label").removeClass("active"), d.siblings(".prefix").removeClass("active") 4206 }), d.$document.off("keydown.chips-add", b.CHIPS + " " + b.INPUT).on("keydown.chips-add", b.CHIPS + " " + b.INPUT, function(c) { 4207 var e = a(c.target), 4208 f = e.closest(b.CHIPS), 4209 g = f.children(b.CHIP).length; 4210 if (13 === c.which) { 4211 if (d.hasAutocomplete && f.find(".autocomplete-content.dropdown-content").length && f.find(".autocomplete-content.dropdown-content").children().length) return; 4212 return c.preventDefault(), d.addChip({ 4213 tag: e.val() 4214 }, f), void e.val("") 4215 } 4216 if ((8 === c.keyCode || 37 === c.keyCode) && "" === e.val() && g) return c.preventDefault(), d.selectChip(g - 1, f), void e.blur() 4217 }), d.$document.off("click.chips-delete", b.CHIPS + " " + b.DELET
4217E).on("click.chips-delete", b.CHIPS + " " + b.DELETE, function(c) { 4218 var e = a(c.target), 4219 f = e.closest(b.CHIPS), 4220 g = e.closest(b.CHIP); 4221 c.stopPropagation(), d.deleteChip(g.index(), f), f.find("input").focus() 4222 }) 4223 }, this.chips = function(b, c) { 4224 b.empty(), b.data("chips").forEach(function(a) { 4225 b.append(d.renderChip(a)) 4226 }), b.append(a('<input id="' + c + '" class="input" placeholder="">')), d.setPlaceholder(b); 4227 var f = b.next("label"); 4228 f.length && (f.attr("for", c), void 0 !== b.data("chips") && b.data("chips").length && f.addClass("active")); 4229 var g = a("#" + c); 4230 d.hasAutocomplete && (e.autocompleteOptions.onAutocomplete = function(a) { 4231 d.addChip({ 4232 tag: a 4233 }, b), g.val(""), g.focus() 4234 }, g.autocomplete(e.autocompleteOptions)) 4235 }, this.renderChip = function(b) { 4236 if (b.tag) { 4237 var c = a('<div class="chip"></div>'); 4238 return c.text(b.tag), b.image && c.prepend(a("<img />").attr("src", b.image)), c.append(a('<i class="material-icons close">close</i>')), c 4239 } 4240 }, this.setPlaceholder = function(a) { 4241 void 0 !== a.data("chips") && a.data("chips").length && e.placeholder ? a.find("input").prop("placeholder", e.placeholder) : void 0 !== a.data("chips") && a.data("chips").length || !e.secondaryPlaceholder || a.find("input").prop("placeholder", e.secondaryPlaceholder) 4242 }, this.isValid = function(a, b) { 4243 for (var c = a.data("chips"), d = !1, e = 0; e < c.length; e++) 4244 if (c[e].tag === b.tag) return void(d = !0); 4245 return "" !== b.tag && !d 4246 }, this.addChip = function(a, b) { 4247 if (d.isValid(b, a)) { 4248 for (var c = d.renderChip(a), e = [], f = b.data("chips"), g = 0; g < f.length; g++) e.push(f[g]); 4249 e.push(a), b.data("chips", e), c.insertBefore(b.find("input")), b.trigger("chip.add", a), d.setPlaceholder(b) 4250 } 4251 }, this.deleteChip = function(a, b) { 4252 var c = b.data("chips")[a]; 4253 b.find(".chip").eq(a).remove(); 4254 for (var e = [], f = b.data("chips"), g = 0; g < f.length; g++) g !== a && e.push(f[g]); 4255 b.data("chips", e), b.trigger("chip.delete", c), d.setPlaceholder(b) 4256 }, this.selectChip = function(a, b) { 4257 var c = b.find(".chip").eq(a); 4258 c && !1 === c.hasClass("selected") && (c.addClass("selected"), b.trigger("chip.select", b.data("chips")[a])) 4259 }, this.getChipsElement = function(a, b) { 4260 return b.eq(a) 4261 }, this.init(), this.handleEvents() 4262 } 4263 }(jQuery), 4264 function(a) { 4265 a.fn.pushpin = function(b) { 4266 var c = { 4267 top: 0, 4268 bottom: 1 / 0, 4269 offset: 0 4270 }; 4271 return "remove" === b ? (this.each(function() { 4272 (id = a(this).data("pushpin-id")) && (a(window).off("scroll." + id), a(this).removeData("pushpin-id").removeClass("pin-top pinned pin-bottom").removeAttr("style")) 4273 }), !1) : (b = a.extend(c, b), $index = 0, this.each(function() { 4274 function c(a) { 4275 a.removeClass("pin-top"), a.removeClass("pinned"), a.removeClass("pin-bottom") 4276 } 4277 4278 function d(d, e) { 4279 d.each(function() { 4280 b.top <= e && b.bottom >= e && !a(this).hasClass("pinned") && (c(a(this)), a(this).css("top", b.offset), a(this).addClass("pinned")), e < b.top && !a(this).hasClass("pin-top") && (c(a(this)), a(this).css("top", 0), a(this).addClass("pin-top")), e > b.bottom && !a(this).hasClass("pin-bottom") && (c(a(this)), a(this).addClass("pin-bottom"), a(this).css("top", b.bottom - g)) 4281 }) 4282 } 4283 var e = Materialize.guid(), 4284 f = a(this), 4285 g = a(this).offset().top; 4286 a(this).data("pushpin-id", e), d(f, a(window).scrollTop()), a(window).on("scroll." + e, function() { 4287 var c = a(window).scrollTop() + b.offset; 4288 d(f, c) 4289 }) 4290 })) 4291 } 4292 }(jQuery), 4293 function(a) { 4294 a(document).ready(function() { 4295 a.fn.reverse = [].reverse, a(document).on("mouseenter.fixedActionBtn", ".fixed-action-btn:not(.click-to-toggle):not(.toolbar)", function(c) { 4296 var d = a(this); 4297 b(d) 4298 }), a(document).on("mouseleave.fixedActionBtn", ".fixed-action-btn:not(.click-to-toggle):not(.toolbar)", function(b) { 4299 var d = a(this); 4300 c(d) 4301 }), a(document).on("click.fabClickToggle", ".fixed-action-btn.click-to-toggle > a", function(d) { 4302 var e = a(this), 4303 f = e.parent(); 4304 f.hasClass("active") ? c(f) : b(f) 4305 }), a(document).on("click.fabToolbar", ".fixed-action-btn.toolbar > a", function(b) { 4306 var c = a(this), 4307 e = c.parent(); 4308 d(e) 4309 }) 4310 }), a.fn.extend({ 4311 openFAB: function() { 4312 b(a(this)) 4313 }, 4314 closeFAB: function() { 4315 c(a(this)) 4316 }, 4317 openToolbar: function() { 4318 d(a(this)) 4319 }, 4320 closeToolbar: function() { 4321 e(a(this)) 4322 } 4323 }); 4324 var b = function(b) { 4325 var c = b; 4326 if (!1 === c.hasClass("active")) { 4327 var d, e, f = c.hasClass("horizontal"); 4328 !0 === f ? e = 40 : d = 40, c.addClass("active"), c.find("ul .btn-floating").velocity({ 4329 scaleY: ".4", 4330 scaleX: ".4", 4331 translateY: d + "px", 4332 translateX: e + "px" 4333 }, { 4334 duration: 0 4335 }); 4336 var g = 0; 4337 c.find("ul .btn-floating").reverse().each(function() { 4338 a(this).velocity({ 4339 opacity: "1", 4340 scaleX: "1", 4341 scaleY: "1", 4342 translateY: "0", 4343 translateX: "0" 4344 }, {
4345 duration: 80, 4346 delay: g 4347 }), g += 40 4348 }) 4349 } 4350 }, 4351 c = function(a) { 4352 var b, c, d = a, 4353 e = d.hasClass("horizontal"); 4354 !0 === e ? c = 40 : b = 40, d.removeClass("active"); 4355 d.find("ul .btn-floating").velocity("stop", !0), d.find("ul .btn-floating").velocity({ 4356 opacity: "0", 4357 scaleX: ".4", 4358 scaleY: ".4", 4359 translateY: b + "px", 4360 translateX: c + "px" 4361 }, { 4362 duration: 80 4363 }) 4364 }, 4365 d = function(b) { 4366 if ("true" !== b.attr("data-open")) { 4367 var c, d, f, g = window.innerWidth, 4368 h = window.innerHeight, 4369 i = b[0].getBoundingClientRect(), 4370 j = b.find("> a").first(), 4371 k = b.find("> ul").first(), 4372 l = a('<div class="fab-backdrop"></div>'), 4373 m = j.css("background-color"); 4374 j.append(l), c = i.left - g / 2 + i.width / 2, d = h - i.bottom, f = g / l.width(), b.attr("data-origin-bottom", i.bottom), b.attr("data-origin-left", i.left), b.attr("data-origin-width", i.width), b.addClass("active"), b.attr("data-open", !0), b.css({ 4375 "text-align": "center", 4376 width: "100%", 4377 bottom: 0, 4378 left: 0, 4379 transform: "translateX(" + c + "px)", 4380 transition: "none" 4381 }), j.css({ 4382 transform: "translateY(" + -d + "px)", 4383 transition: "none" 4384 }), l.css({ 4385 "background-color": m 4386 }), setTimeout(function() { 4387 b.css({ 4388 transform: "", 4389 transition: "transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s" 4390 }), j.css({ 4391 overflow: "visible", 4392 transform: "", 4393 transition: "transform .2s" 4394 }), setTimeout(function() { 4395 b.css({ 4396 overflow: "hidden", 4397 "background-color": m 4398 }), l.css({ 4399 transform: "scale(" + f + ")", 4400 transition: "transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)" 4401 }), k.find("> li > a").css({ 4402 opacity: 1 4403 }), a(window).on("scroll.fabToolbarClose", function() { 4404 e(b), a(window).off("scroll.fabToolbarClose"), a(document).off("click.fabToolbarClose") 4405 }), a(document).on("click.fabToolbarClose", function(c) { 4406 a(c.target).closest(k).length || (e(b), a(window).off("scroll.fabToolbarClose"), a(document).off("click.fabToolbarClose")) 4407 }) 4408 }, 100) 4409 }, 0) 4410 } 4411 }, 4412 e = function(a) { 4413 if ("true" === a.attr("data-open")) { 4414 var b, c, d = window.innerWidth, 4415 e = window.innerHeight, 4416 f = a.attr("data-origin-width"), 4417 g = a.attr("data-origin-bottom"), 4418 h = a.attr("data-origin-left"), 4419 i = a.find("> .btn-floating").first(), 4420 j = a.find("> ul").first(), 4421 k = a.find(".fab-backdrop"), 4422 l = i.css("background-color"); 4423 b = h - d / 2 + f / 2, c = e - g, d / k.width(), a.removeClass("active"), a.attr("data-open", !1), a.css({ 4424 "background-color": "transparent", 4425 transition: "none" 4426 }), i.css({ 4427 transition: "none" 4428 }), k.css({ 4429 transform: "scale(0)", 4430 "background-color": l 4431 }), j.find("> li > a").css({ 4432 opacity: "" 4433 }), setTimeout(function() { 4434 k.remove(), a.css({ 4435 "text-align": "", 4436 width: "", 4437 bottom: "", 4438 left: "", 4439 overflow: "", 4440 "background-color": "", 4441 transform: "translate3d(" + -b + "px,0,0)" 4442 }), i.css({ 4443 overflow: "", 4444 transform: "translate3d(0," + c + "px,0)" 4445 }), setTimeout(function() { 4446 a.css({
4447 transform: "translate3d(0,0,0)", 4448 transition: "transform .2s" 4449 }), i.css({ 4450 transform: "translate3d(0,0,0)", 4451 transition: "transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)" 4452 }) 4453 }, 20) 4454 }, 200) 4455 } 4456 } 4457 }(jQuery), 4458 function(a) { 4459 Materialize.fadeInImage = function(b) { 4460 var c; 4461 if ("string" == typeof b) c = a(b); 4462 else { 4463 if ("object" != typeof b) return; 4464 c = b 4465 } 4466 c.css({ 4467 opacity: 0 4468 }), a(c).velocity({ 4469 opacity: 1 4470 }, { 4471 duration: 650, 4472 queue: !1, 4473 easing: "easeOutSine" 4474 }), a(c).velocity({ 4475 opacity: 1 4476 }, { 4477 duration: 1300, 4478 queue: !1, 4479 easing: "swing", 4480 step: function(b, c) { 4481 c.start = 100; 4482 var d = b / 100, 4483 e = 150 - (100 - b) / 1.75; 4484 e < 100 && (e = 100), b >= 0 && a(this).css({ 4485 "-webkit-filter": "grayscale(" + d + ")brightness(" + e + "%)", 4486 filter: "grayscale(" + d + ")brightness(" + e + "%)" 4487 }) 4488 } 4489 }) 4490 }, Materialize.showStaggeredList = function(b) { 4491 var c; 4492 if ("string" == typeof b) c = a(b); 4493 else { 4494 if ("object" != typeof b) return; 4495 c = b 4496 } 4497 var d = 0; 4498 c.find("li").velocity({ 4499 translateX: "-100px" 4500 }, { 4501 duration: 0 4502 }), c.find("li").each(function() { 4503 a(this).velocity({ 4504 opacity: "1", 4505 translateX: "0" 4506 }, { 4507 duration: 800, 4508 delay: d, 4509 easing: [60, 10] 4510 }), d += 120 4511 }) 4512 }, a(document).ready(function() { 4513 var b = !1, 4514 c = !1; 4515 a(".dismissable").each(function() { 4516 a(this).hammer({ 4517 prevent_default: !1 4518 }).on("pan", function(d) { 4519 if ("touch" === d.gesture.pointerType) { 4520 var e = a(this), 4521 f = d.gesture.direction, 4522 g = d.gesture.deltaX, 4523 h = d.gesture.velocityX; 4524 e.velocity({ 4525 translateX: g 4526 }, { 4527 duration: 50, 4528 queue: !1, 4529 easing: "easeOutQuad" 4530 }), 4 === f && (g > e.innerWidth() / 2 || h < -.75) && (b = !0), 2 === f && (g < -1 * e.innerWidth() / 2 || h > .75) && (c = !0) 4531 } 4532 }).on("panend", function(d) { 4533 if (Math.abs(d.gesture.deltaX) < a(this).innerWidth() / 2 && (c = !1, b = !1), "touch" === d.gesture.pointerType) { 4534 var e = a(this); 4535 if (b || c) { 4536 var f; 4537 f = b ? e.innerWidth() : -1 * e.innerWidth(), e.velocity({ 4538 translateX: f 4539 }, { 4540 duration: 100, 4541 queue: !1, 4542 easing: "easeOutQuad", 4543 complete: function() { 4544 e.css("border", "none"), e.velocity({ 4545 height: 0, 4546 padding: 0 4547 }, { 4548 duration: 200, 4549 queue: !1, 4550 easing: "easeOutQuad", 4551 complete: function() { 4552 e.remove() 4553 } 4554 }) 4555 } 4556 }) 4557 } else e.velocity({ 4558 translateX: 0 4559 }, { 4560 duration: 100, 4561 queue: !1, 4562 easing: "easeOutQuad" 4563 }); 4564 b = !1, c = !1 4565 } 4566 }) 4567 }) 4568 }) 4569 }(jQuery), 4570 function(a) { 4571 var b = !1; 4572 Materialize.scrollFire = function(a) { 4573 var c = function() { 4574 for (var b = window.pageYOffset + window.innerHeight, c = 0; c < a.length; c++) { 4575 var d = a[c], 4576 e = d.selector, 4577 f = d.offset, 4578 g = d.callback, 4579 h = document.querySelector(e); 4580 if (null !== h) { 4581 if (b > h.getBoundingClientRect().top + window.pageYOffset + f && !0 !== d.done) { 4582 if ("function" == typeof g) g.call(this, h); 4583 else if ("string" == typeof g) { 4584 var i = new Function(g); 4585 i(h) 4586 } 4587 d.done = !0 4588 } 4589 } 4590 } 4591 }, 4592 d = Materialize.throttle(function() { 4593 c() 4594 }, a.throttle || 100); 4595 b || (window.addEventListener("scroll", d), window.addEventListener("resize", d), b = !0), setTimeout(d, 0) 4596 } 4597 }(), 4598 function(a) { 4599 "function" == typeof define && define.amd ? define("picker", ["jquery"], a) : "object" == typeof exports ? module.exports = a(require("jquery")) : this.Picker = a(jQuery) 4600 }(function(a) { 4601 function b(f, g, i, l) { 4602 function m() {
4603 return b._.node("div", b._.node("div", b._.node("div", b._.node("div", y.component.nodes(t.open), v.box), v.wrap), v.frame), v.holder) 4604 } 4605 4606 function n() { 4607 w.data(g, y).addClass(v.input).attr("tabindex", -1).val(w.data("value") ? y.get("select", u.format) : f.value), u.editable || w.on("focus." + t.id + " click." + t.id, function(a) { 4608 a.preventDefault(), y.$root.eq(0).focus() 4609 }).on("keydown." + t.id, q), e(f, { 4610 haspopup: !0, 4611 expanded: !1, 4612 readonly: !1, 4613 owns: f.id + "_root" 4614 }) 4615 } 4616 4617 function o() { 4618 y.$root.on({ 4619 keydown: q, 4620 focusin: function(a) { 4621 y.$root.removeClass(v.focused), a.stopPropagation() 4622 }, 4623 "mousedown click": function(b) { 4624 var c = b.target; 4625 c != y.$root.children()[0] && (b.stopPropagation(), "mousedown" != b.type || a(c).is("input, select, textarea, button, option") || (b.preventDefault(), y.$root.eq(0).focus())) 4626 } 4627 }).on({ 4628 focus: function() { 4629 w.addClass(v.target) 4630 }, 4631 blur: function() { 4632 w.removeClass(v.target) 4633 } 4634 }).on("focus.toOpen", r).on("click", "[data-pick], [data-nav], [data-clear], [data-close]", function() { 4635 var b = a(this), 4636 c = b.data(), 4637 d = b.hasClass(v.navDisabled) || b.hasClass(v.disabled), 4638 e = h(); 4639 e = e && (e.type || e.href), (d || e && !a.contains(y.$root[0], e)) && y.$root.eq(0).focus(), !d && c.nav ? y.set("highlight", y.component.item.highlight, { 4640 nav: c.nav 4641 }) : !d && "pick" in c ? y.set("select", c.pick) : c.clear ? y.clear().close(!0) : c.close && y.close(!0) 4642 }), e(y.$root[0], "hidden", !0) 4643 } 4644 4645 function p() { 4646 var b; 4647 !0 === u.hiddenName ? (b = f.name, f.name = "") : (b = ["string" == typeof u.hiddenPrefix ? u.hiddenPrefix : "", "string" == typeof u.hiddenSuffix ? u.hiddenSuffix : "_submit"], b = b[0] + f.name + b[1]), y._hidden = a('<input type=hidden name="' + b + '"' + (w.data("value") || f.value ? ' value="' + y.get("select", u.formatSubmit) + '"' : "") + ">")[0], w.on("change." + t.id, function() { 4648 y._hidden.value = f.value ? y.get("select", u.formatSubmit) : "" 4649 }), u.container ? a(u.container).append(y._hidden) : w.after(y._hidden) 4650 } 4651 4652 function q(a) { 4653 var b = a.keyCode, 4654 c = /^(8|46)$/.test(b); 4655 if (27 == b) return y.close(), !1; 4656 (32 == b || c || !t.open && y.component.key[b]) && (a.preventDefault(), a.stopPropagation(), c ? y.clear().close() : y.open()) 4657 } 4658 4659 function r(a) { 4660 a.stopPropagation(), "focus" == a.type && y.$root.addClass(v.focused), y.open() 4661 } 4662 if (!f) return b; 4663 var s = !1, 4664 t = { 4665 id: f.id || "P" + Math.abs(~~(Math.random() * new Date)) 4666 }, 4667 u = i ? a.extend(!0, {}, i.defaults, l) : l || {}, 4668 v = a.extend({}, b.klasses(), u.klass), 4669 w = a(f), 4670 x = function() { 4671 return this.start() 4672 }, 4673 y = x.prototype = { 4674 constructor: x, 4675 $node: w, 4676 start: function() { 4677 return t && t.start ? y : (t.methods = {}, t.start = !0, t.open = !1, t.type = f.type, f.autofocus = f == h(), f.readOnly = !u.editable, f.id = f.id || t.id, "text" != f.type && (f.type = "text"), y.c
4677omponent = new i(y, u), y.$root = a(b._.node("div", m(), v.picker, 'id="' + f.id + '_root" tabindex="0"')), o(), u.formatSubmit && p(), n(), u.container ? a(u.container).append(y.$root) : w.after(y.$root), y.on({ 4678 start: y.component.onStart, 4679 render: y.component.onRender, 4680 stop: y.component.onStop, 4681 open: y.component.onOpen, 4682 close: y.component.onClose, 4683 set: y.component.onSet 4684 }).on({ 4685 start: u.onStart, 4686 render: u.onRender, 4687 stop: u.onStop, 4688 open: u.onOpen, 4689 close: u.onClose, 4690 set: u.onSet 4691 }), s = c(y.$root.children()[0]), f.autofocus && y.open(), y.trigger("start").trigger("render")) 4692 }, 4693 render: function(a) { 4694 return a ? y.$root.html(m()) : y.$root.find("." + v.box).html(y.component.nodes(t.open)), y.trigger("render") 4695 }, 4696 stop: function() { 4697 return t.start ? (y.close(), y._hidden && y._hidden.parentNode.removeChild(y._hidden), y.$root.remove(), w.removeClass(v.input).removeData(g), setTimeout(function() { 4698 w.off("." + t.id) 4699 }, 0), f.type = t.type, f.readOnly = !1, y.trigger("stop"), t.methods = {}, t.start = !1, y) : y 4700 }, 4701 open: function(c) { 4702 return t.open ? y : (w.addClass(v.active), e(f, "expanded", !0), setTimeout(function() { 4703 y.$root.addClass(v.opened), e(y.$root[0], "hidden", !1) 4704 }, 0), !1 !== c && (t.open = !0, s && k.css("overflow", "hidden").css("padding-right", "+=" + d()), y.$root.eq(0).focus(), j.on("click." + t.id + " focusin." + t.id, function(a) { 4705 var b = a.target; 4706 b != f && b != document && 3 != a.which && y.close(b === y.$root.children()[0]) 4707 }).on("keydown." + t.id, function(c) { 4708 var d = c.keyCode, 4709 e = y.component.key[d], 4710 f = c.target; 4711 27 == d ? y.close(!0) : f != y.$root[0] || !e && 13 != d ? a.contains(y.$root[0], f) && 13 == d && (c.preventDefault(), f.click()) : (c.preventDefault(), e ? b._.trigger(y.component.key.go, y, [b._.trigger(e)]) : y.$root.find("." + v.highlighted).hasClass(v.disabled) || y.set("select", y.component.item.highlight).close()) 4712 })), y.trigger("open")) 4713 }, 4714 close: function(a) { 4715 return a && (y.$root.off("focus.toOpen").eq(0).focus(), setTimeout(function() { 4716 y.$root.on("focus.toOpen", r) 4717 }, 0)), w.removeClass(v.active), e(f, "expanded", !1), setTimeout(function() { 4718 y.$root.removeClass(v.opened + " " + v.focused), e(y.$root[0], "hidden", !0) 4719 }, 0), t.open ? (t.open = !1, s && k.css("overflow", "").css("padding-right", "-=" + d()), j.off("." + t.id), y.trigger("close")) : y 4720 }, 4721 clear: function(a) { 4722 return y.set("clear", null, a) 4723 }, 4724 set: function(b, c, d) { 4725 var e, f, g = a.isPlainObject(b), 4726 h = g ? b : {}; 4727 if (d = g && a.isPlainObject(c) ? c : d || {}, b) { 4728 g || (h[b] = c); 4729 for (e in h) f = h[e], e in y.component.item && (void 0 === f && (f = null), y.component.set(e, f, d)), "select" != e && "clear" != e || w.val("clear" == e ? "" : y.get(e, u.format)).trigger("change"); 4730 y.render() 4731 } 4732 return d.muted ? y : y.trigger("set", h) 4733 }, 4734 get: function(a, c) { 4735 if (a = a || "value", null != t[a]) return t[a]; 4736 if ("valueSubmit" == a) { 4737 if (y._hidden) return y._hidden.value; 4738 a = "value" 4739 } 4740 if ("value" == a) return f.value; 4741 if (a in y.component.item) { 4742 if ("string" == typeof c) { 4743 var d = y.component.get(a); 4744 return d ? b._.trigger(y.component.formats.toString, y.component, [c, d]) : "" 4745 } 4746 return y.component.get(a) 4747 } 4748 }, 4749 on: function(b, c, d) { 4750 var e, f, g = a.isPlainObject(b), 4751 h = g ? b : {}; 4752 if (b) { 4753 g || (h[b] = c); 4754 for (e in h) f = h[e], d && (e = "_" + e), t.methods[e] = t.methods[e] || [], t.methods[e].push(f) 4755 } 4756 return y 4757 }, 4758 off: function() { 4759 var a, b, c = arguments; 4760 for (a = 0, namesCount = c.length; a < namesCount; a += 1)(b = c[a]) in t.methods && delete t.methods[b]; 4761 return y 4762 }, 4763 trigger: function(a, c) { 4764 var d = function(a) { 4765 var d = t.methods[a]; 4766 d && d.map(function(a) { 4767 b._.trigger(a, y, [c]) 4768 }) 4769 }; 4770 return d("_" + a), d(a), y 4771 } 4772 }; 4773 return new x 4774 } 4775 4776 function c(a) { 4777 var b; 4778 return a.currentStyle ? b = a.currentStyle.position : window.getComputedStyle && (b = getComputedStyle(a).position), "fixed" == b 4779 } 4780 4781 function d() { 4782 if (k.height() <= i.height()) return 0; 4783 var b = a('<div style="visibility:hidden;width:100px" />').appendTo("body"), 4784 c = b[0].offsetWidth; 4785 b.css("overflow", "scroll"); 4786 var d = a('<div style="width:100%" />').appendTo(b), 4787 e = d[0].offsetWidth; 4788 return b.remove(), c - e 4789 } 4790 4791 function e(b, c, d) { 4792 if (a.isPlainObject(c)) 4793 for (var e in c) f(b, e, c[e]); 4794 else f(b, c, d) 4795 } 4796 4797 function f(a, b, c) { 4798 a.setAttribute(("role" == b ? "" : "aria-") + b, c) 4799 } 4800 4801 function g(b, c) { 4802 a.isPlainObject(b) || (b = { 4803 attribute: c 4804 }), c = ""; 4805 for (var d in b) { 4806 var e = ("role" == d ? "" : "aria-") + d; 4807 c += null == b[d] ? "" : e + '="' + b[d] + '"' 4808 } 4809 return c 4810 } 4811 4812 function h() { 4813 try { 4814 return document.activeElement 4815 } catch (a) {} 4816 } 4817 var i = a(window), 4818 j = a(document), 4819 k = a(document.documentElement); 4820 return b.klasses = function(a) { 4821 return a = a || "picker", { 4822 picker: a, 4823 opened: a + "--opened", 4824 focused: a + "--focused", 4825 input: a + "__input", 4826 active: a + "__input--active", 4827 target: a + "__input--target", 4828 holder: a + "__holder", 4829 frame: a + "__frame", 4830 wrap: a + "__wrap", 4831 box: a + "__box" 4832 } 4833 }, b._ = { 4834 group: function(a) { 4835 for (var c, d = "", e = b._.trigger(a.min, a); e <= b._.trigger(a.max, a, [e]); e += a.i) c = b._.trigger(a.item, a, [e]), d += b._.node(a.node, c[0], c[1], c[2]); 4836 return d 4837 }, 4838 node: function(b, c, d, e) { 4839 return c ? (c = a.isArray(c) ? c.join("") : c, d = d ? ' class="' + d + '"' : "", e = e ? " " + e : "", "<" + b + d + e + ">" + c + "</" + b + ">") : "" 4840 }, 4841 lead: function(a) { 4842 return (a < 10 ? "0" : "") + a 4843 }, 4844 trigger: function(a, b, c) { 4845 return "function" == typeof a ? a.apply(b, c || []) : a 4846 }, 4847 digits: function(a) { 4848 return /\d/.test(a[1]) ? 2 : 1 4849 }, 4850 isDate: function(a) { 4851 return {}.toString.call(a).indexOf("Date") > -1 && this.isInteger(a.getDate()) 4852 }, 4853 isInteger: function(a) { 4854 return {}.toString.call(a).indexOf("Number") > -1 && a % 1 == 0 4855 }, 4856 ariaAttr: g 4857 }, b.extend = function(c, d) { 4858 a.fn[c] = function(e, f) { 4859 var g = this.data(c); 4860 return "picker" == e ? g : g && "string" == typeof e ? b._.trigger(g[e], g, [f]) : this.each(function() { 4861 a(this).data(c) || new b(this, c, d, e) 4862 }) 4863 }, a.fn[c].defaults = d.defaults 4864 }, b 4865 }), 4866 function(a) { 4867 "function" == typeof define && define.amd ? define(["picker", "jquery"], a) : "object" == typeof exports ? module.exports = a(require("./picker.js"), require("jquery")) : a(Picker, jQuery) 4868 }(function(a, b) { 4869 function c(a, b) { 4870 var c = this, 4871 d = a.$node[0], 4872 e = d.value, 4873 f = a.$node.data("value"), 4874 g = f || e, 4875 h = f ? b.formatSubmit : b.format, 4876 i = function() { 4877 return d.currentStyle ? "rtl" == d.currentStyle.direction : "rtl" == getComputedStyle(a.$root[0]).direction 4878 };
4879 c.settings = b, c.$node = a.$node, c.queue = { 4880 min: "measure create", 4881 max: "measure create", 4882 now: "now create", 4883 select: "parse create validate", 4884 highlight: "parse navigate create validate", 4885 view: "parse create validate viewset", 4886 disable: "deactivate", 4887 enable: "activate" 4888 }, c.item = {}, c.item.clear = null, c.item.disable = (b.disable || []).slice(0), c.item.enable = - function(a) { 4889 return !0 === a[0] ? a.shift() : -1 4890 }(c.item.disable), c.set("min", b.min).set("max", b.max).set("now"), g ? c.set("select", g, { 4891 format: h 4892 }) : c.set("select", null).set("highlight", c.item.now), c.key = { 4893 40: 7, 4894 38: -7, 4895 39: function() { 4896 return i() ? -1 : 1 4897 }, 4898 37: function() { 4899 return i() ? 1 : -1 4900 }, 4901 go: function(a) { 4902 var b = c.item.highlight, 4903 d = new Date(b.year, b.month, b.date + a); 4904 c.set("highlight", d, { 4905 interval: a 4906 }), this.render() 4907 } 4908 }, a.on("render", function() { 4909 a.$root.find("." + b.klass.selectMonth).on("change", function() { 4910 var c = this.value; 4911 c && (a.set("highlight", [a.get("view").year, c, a.get("highlight").date]), a.$root.find("." + b.klass.selectMonth).trigger("focus")) 4912 }), a.$root.find("." + b.klass.selectYear).on("change", function() { 4913 var c = this.value; 4914 c && (a.set("highlight", [c, a.get("view").month, a.get("highlight").date]), a.$root.find("." + b.klass.selectYear).trigger("focus")) 4915 }) 4916 }, 1).on("open", function() { 4917 var d = ""; 4918 c.disabled(c.get("now")) && (d = ":not(." + b.klass.buttonToday + ")"), a.$root.find("button" + d + ", select").attr("disabled", !1) 4919 }, 1).on("close", function() { 4920 a.$root.find("button, select").attr("disabled", !0) 4921 }, 1) 4922 } 4923 var d = a._; 4924 c.prototype.set = function(a, b, c) { 4925 var d = this, 4926 e = d.item; 4927 return null === b ? ("clear" == a && (a = "select"), e[a] = b, d) : (e["enable" == a ? "disable" : "flip" == a ? "enable" : a] = d.queue[a].split(" ").map(function(e) { 4928 return b = d[e](a, b, c) 4929 }).pop(), 4930 "select" == a ? d.set("highlight", e.select, c) : "highlight" == a ? d.set("view", e.highlight, c) : a.match(/^(flip|min|max|disable|enable)$/) && (e.select && d.disabled(e.select) && d.set("select", e.select, c), e.highlight && d.disabled(e.highlight) && d.set("highlight", e.highlight, c)), d) 4931 }, c.prototype.get = function(a) { 4932 return this.item[a] 4933 }, c.prototype.create = function(a, c, e) { 4934 var f, g = this; 4935 return c = void 0 === c ? a : c, c == -1 / 0 || c == 1 / 0 ? f = c : b.isPlainObject(c) && d.isInteger(c.pick) ? c = c.obj : b.isArray(c) ? (c = new Date(c[0], c[1], c[2]), c = d.isDate(c) ? c : g.create().obj) : c = d.isInteger(c) || d.isDate(c) ? g.normalize(new Date(c), e) : g.now(a, c, e), { 4936 year: f || c.getFullYear(), 4937 month: f || c.getMonth(), 4938 date: f || c.getDate(), 4939 day: f || c.getDay(), 4940 obj: f || c, 4941 pick: f || c.getTime() 4942 } 4943 }, c.prototype.createRange = function(a, c) { 4944 var e = this, 4945 f = function(a) { 4946 return !0 === a || b.isArray(a) || d.isDate(a) ? e.create(a) : a 4947 }; 4948 return d.isInteger(a) || (a = f(a)), d.isInteger(c) || (c = f(c)), d.isInteger(a) && b.isPlainObject(c) ? a = [c.year, c.month, c.date + a] : d.isInteger(c) && b.isPlainObject(a) && (c = [a.year, a.month, a.date + c]), { 4949 from: f(a), 4950 to: f(c) 4951 } 4952 }, c.prototype.withinRange = function(a, b) { 4953 return a = this.createRange(a.from, a.to), b.pick >= a.from.pick && b.pick <= a.to.pick 4954 }, c.prototype.overlapRanges = function(a, b) { 4955 var c = this; 4956 return a = c.createRange(a.from, a.to), b = c.createRange(b.from, b.to), c.withinRange(a, b.from) || c.withinRange(a, b.to) || c.withinRange(b, a.from) || c.withinRange(b, a.to) 4957 }, c.prototype.now = function(a, b, c) { 4958 return b = new Date, c && c.rel && b.setDate(b.getDate() + c.rel), this.normalize(b, c) 4959 }, c.prototype.navigate = function(a, c, d) { 4960 var e, f, g, h, i = b.isArray(c), 4961 j = b.isPlainObject(c), 4962 k = this.item.view; 4963 if (i || j) { 4964 for (j ? (f = c.year, g = c.month, h = c.date) : (f = +c[0], g = +c[1], h = +c[2]), d && d.nav && k && k.month !== g && (f = k.year, g = k.month), e = new Date(f, g + (d && d.nav ? d.nav : 0), 1), f = e.getFullYear(), g = e.getMonth(); new Date(f, g, h).getMonth() !== g;) h -= 1; 4965 c = [f, g, h] 4966 } 4967 return c 4968 }, c.prototype.normalize = function(a) { 4969 return a.setHours(0, 0, 0, 0), a 4970 }, c.prototype.measure = function(a, b) { 4971 var c = this; 4972 return b ? "string" == typeof b ? b = c.parse(a, b) : d.isInteger(b) && (b = c.now(a, b, { 4973 rel: b 4974 })) : b = "min" == a ? -1 / 0 : 1 / 0, b 4975 }, c.prototype.viewset = function(a, b) { 4976 return this.create([b.year, b.month, 1]) 4977 }, c.prototype.validate = function(a, c, e) { 4978 var f, g, h, i, j = this, 4979 k = c, 4980 l = e && e.interval ? e.interval : 1, 4981 m = -1 === j.item.enable, 4982 n = j.item.min, 4983 o = j.item.max, 4984 p = m && j.item.disable.filter(function(a) { 4985 if (b.isArray(a)) { 4986 var e = j.create(a).pick; 4987 e < c.pick ? f = !0 : e > c.pick && (g = !0) 4988 } 4989 return d.isInteger(a) 4990 }).length; 4991 if ((!e || !e.nav) && (!m && j.disabled(c) || m && j.disabled(c) && (p || f || g) || !m && (c.pick <= n.pick || c.pick >= o.pick))) 4992 for (m && !p && (!g && l > 0 || !f && l < 0) && (l *= -1); j.disabled(c) && (Math.abs(l) > 1 && (c.month < k.month || c.month > k.month) && (c = k, l = l > 0 ? 1 : -1), c.pick <= n.pick ? (h = !0, l = 1, c = j.create([n.year, n.month, n.date + (c.pick === n.pick ? 0 : -1)])) : c.pick >= o.pick && (i = !0, l = -1, c = j.create([o.year, o.month, o.date + (c.pick === o.pick ? 0 : 1)])), !h || !i);) c = j.create([c.year, c.month, c.date + l]); 4993 return c 4994 }, c.prototype.disabled = function(a) { 4995 var c = this, 4996 e = c.item.disable.filter(function(e) { 4997 return d.isInteger(e) ? a.day === (c.settings.firstDay ? e : e - 1) % 7 : b.isArray(e) || d.isDate(e) ? a.pick === c.create(e).pick : b.isPlainObject(e) ? c.withinRange(e, a) : void 0 4998 }); 4999 return e = e.length && !e.filter(function(a) { 5000 return b.isArray(a) && "inverted" == a[3] || b.isPlainObject(a) && a.inverted 5001 }).length, -1 === c.item.enable ? !e : e || a.pick < c.item.min.pick || a.pick > c.item.max.pick 5002 }, c.prototype.parse = function(a, b, c) { 5003 var e = this, 5004 f = {}; 5005 return b && "string" == typeof b ? (c && c.format || (c = c || {}, c.format = e.settings.format), e.formats.toArray(c.format).map(function(a) { 5006 var c = e.formats[a], 5007 g = c ? d.trigger(c, e, [b, f]) : a.replace(/^!/, "").length; 5008 c && (f[a] = b.substr(0, g)), b = b.substr(g) 5009 }), [f.yyyy || f.yy, +(f.mm || f.m) - 1, f.dd || f.d]) : b 5010 }, c.prototype.formats = function() { 5011 function a(a, b, c) { 5012 var d = a.match(/\w+/)[0]; 5013 return c.mm || c.m || (c.m = b.indexOf(d) + 1), d.length 5014 } 5015 5016 function b(a) { 5017 return a.match(/\w+/)[0].length 5018 } 5019 return { 5020 d: function(a, b) { 5021 return a ? d.digits(a) : b.date 5022 }, 5023 dd: function(a, b) { 5024 return a ? 2 : d.lead(b.date) 5025 }, 5026 ddd: function(a, c) { 5027 return a ? b(a) : this.settings.weekdaysShort[c.day] 5028 }, 5029 dddd: function(a, c) { 5030 return a ? b(a) : this.settings.weekdaysFull[c.day] 5031 }, 5032 m: function(a, b) { 5033 return a ? d.digits(a) : b.month + 1 5034 }, 5035 mm: function(a, b) { 5036 return a ? 2 : d.lead(b.month + 1) 5037 }, 5038 mmm: function(b, c) { 5039 var d = this.settings.monthsShort; 5040 return b ? a(b, d, c) : d[c.month] 5041 }, 5042 mmmm: function(b, c) { 5043 var d = this.settings.monthsFull; 5044 return b ? a(b, d, c) : d[c.month] 5045 }, 5046 yy: function(a, b) { 5047 return a ? 2 : ("" + b.year).slice(2) 5048 }, 5049 yyyy: function(a, b) { 5050 return a ? 4 : b.year 5051 }, 5052 toArray: function(a) { 5053 return a.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g) 5054 }, 5055 toString: function(a, b) { 5056 var c = this; 5057 return c.formats.toArray(a).map(function(a) { 5058 return d.trigger(c.formats[a], c, [0, b]) || a.replace(/^!/, "") 5059 }).join("") 5060 } 5061 } 5062 }(), c.prototype.isDateExact = function(a, c) { 5063 var e = this; 5064 return d.isInteger(a) && d.isInteger(c) || "boolean" == typeof a && "boolean" == typeof c ? a === c : (d.isDate(a) || b.isArray(a)) && (d.isDate(c) || b.isArray(c)) ? e.create(a).pick === e.create(c).pick : !(!b.isPlainObject(a) || !b.isPlainObject(c)) && (e.isDateExact(a.from, c.from) && e.isDateExact(a.to, c.to)) 5065 }, c.prototype.isDateOverlap = function(a, c) { 5066 var e = this, 5067 f = e.settings.firstDay ? 1 : 0; 5068 return d.isInteger(a) && (d.isDate(c) || b.isArray(c)) ? (a = a % 7 + f) === e.create(c).day + 1 : d.isInteger(c) && (d.isDate(a) || b.isArray(a)) ? (c = c % 7 + f) === e.create(a).day + 1 : !(!b.isPlainObject(a) || !b.isPlainObject(c)) && e.overlapRanges(a, c) 5069 }, c.prototype.flipEnable = function(a) { 5070 var b = this.item; 5071 b.enable = a || (-1 == b.enable ? 1 : -1) 5072 }, c.prototype.deactivate = function(a, c) { 5073 var e = this, 5074 f = e.item.disable.slice(0); 5075 return "flip" == c ? e.flipEnable() : !1 === c ? (e.flipEnable(1), f = []) : !0 === c ? (e.flipEnable(-1), f = []) : c.map(function(a) { 5076 for (var c, g = 0; g < f.length; g += 1) 5077 if (e.isDateExact(a, f[g])) { 5078 c = !0; 5079 break 5080 } c || (d.isInteger(a) || d.isDate(a) || b.isArray(a) || b.isPlainObject(a) && a.from && a.to) && f.push(a) 5081 }), f
5082 }, c.prototype.activate = function(a, c) { 5083 var e = this, 5084 f = e.item.disable, 5085 g = f.length; 5086 return "flip" == c ? e.flipEnable() : !0 === c ? (e.flipEnable(1), f = []) : !1 === c ? (e.flipEnable(-1), f = []) : c.map(function(a) { 5087 var c, h, i, j; 5088 for (i = 0; i < g; i += 1) { 5089 if (h = f[i], e.isDateExact(h, a)) { 5090 c = f[i] = null, j = !0; 5091 break 5092 } 5093 if (e.isDateOverlap(h, a)) { 5094 b.isPlainObject(a) ? (a.inverted = !0, c = a) : b.isArray(a) ? (c = a, c[3] || c.push("inverted")) : d.isDate(a) && (c = [a.getFullYear(), a.getMonth(), a.getDate(), "inverted"]); 5095 break 5096 } 5097 } 5098 if (c) 5099 for (i = 0; i < g; i += 1) 5100 if (e.isDateExact(f[i], a)) { 5101 f[i] = null; 5102 break 5103 } if (j) 5104 for (i = 0; i < g; i += 1) 5105 if (e.isDateOverlap(f[i], a)) { 5106 f[i] = null; 5107 break 5108 } c && f.push(c) 5109 }), f.filter(function(a) { 5110 return null != a 5111 }) 5112 }, c.prototype.nodes = function(a) { 5113 var b = this, 5114 c = b.settings, 5115 e = b.item, 5116 f = e.now, 5117 g = e.select, 5118 h = e.highlight, 5119 i = e.view, 5120 j = e.disable, 5121 k = e.min, 5122 l = e.max, 5123 m = function(a, b) { 5124 return c.firstDay && (a.push(a.shift()), b.push(b.shift())), d.node("thead", d.node("tr", d.group({ 5125 min: 0, 5126 max: 6, 5127 i: 1, 5128 node: "th", 5129 item: function(d) { 5130 return [a[d], c.klass.weekdays, 'scope=col title="' + b[d] + '"'] 5131 } 5132 }))) 5133 }((c.showWeekdaysFull ? c.weekdaysFull : c.weekdaysLetter).slice(0), c.weekdaysFull.slice(0)), 5134 n = function(a) { 5135 return d.node("div", " ", c.klass["nav" + (a ? "Next" : "Prev")] + (a && i.year >= l.year && i.month >= l.month || !a && i.year <= k.year && i.month <= k.month ? " " + c.klass.navDisabled : ""), "data-nav=" + (a || -1) + " " + d.ariaAttr({ 5136 role: "button", 5137 controls: b.$node[0].id + "_table" 5138 }) + ' title="' + (a ? c.labelMonthNext : c.labelMonthPrev) + '"') 5139 }, 5140 o = function(e) { 5141 var f = c.showMonthsShort ? c.monthsShort : c.monthsFull; 5142 return "short_months" == e && (f = c.monthsShort), c.selectMonths && void 0 == e ? d.node("select", d.group({ 5143 min: 0, 5144 max: 11, 5145 i: 1, 5146 node: "option", 5147 item: function(a) { 5148 return [f[a], 0, "value=" + a + (i.month == a ? " selected" : "") + (i.year == k.year && a < k.month || i.year == l.year && a > l.month ? " disabled" : "")] 5149 } 5150 }), c.klass.selectMonth + " browser-default", (a ? "" : "disabled") + " " + d.ariaAttr({ 5151 controls: b.$node[0].id + "_table" 5152 }) + ' title="' + c.labelMonthSelect + '"') : "short_months" == e ? null != g ? f[g.month] : f[i.month] : d.node("div", f[i.month], c.klass.month) 5153 }, 5154 p = function(e) { 5155 var f = i.year, 5156 g = !0 === c.selectYears ? 5 : ~~(c.selectYears / 2); 5157 if (g) { 5158 var h = k.year, 5159 j = l.year, 5160 m = f - g, 5161 n = f + g; 5162 if (h > m && (n += h - m, m = h), j < n) { 5163 var o = m - h, 5164 p = n - j; 5165 m -= o > p ? p : o, n = j 5166 } 5167 if (c.selectYears && void 0 == e) return d.node("select", d.group({ 5168 min: m, 5169 max: n, 5170 i: 1, 5171 node: "option", 5172 item: function(a) { 5173 return [a, 0, "value=" + a + (f == a ? " selected" : "")] 5174 } 5175 }), c.klass.selectYear + " browser-default", (a ? "" : "disabled") + " " + d.ariaAttr({ 5176 controls: b.$node[0].id + "_table" 5177 }) + ' title="' + c.labelYearSelect + '"') 5178 } 5179 return "raw" == e ? d.node("div", f) : d.node("div", f, c.klass.year) 5180 }; 5181 return createDayLabel = function() { 5182 return null != g ? g.date : f.date 5183 }, createWeekdayLabel = function() { 5184 var a; 5185 return a = null != g ? g.day : f.day, c.weekdaysShort[a] 5186 }
5186, d.node("div", d.node("div", p("raw"), c.klass.year_display) + d.node("span", createWeekdayLabel() + ", ", "picker__weekday-display") + d.node("span", o("short_months") + " ", c.klass.month_display) + d.node("span", createDayLabel(), c.klass.day_display), c.klass.date_display) + d.node("div", d.node("div", d.node("div", (c.selectYears, o() + p() + n() + n(1)), c.klass.header) + d.node("table", m + d.node("tbody", d.group({ 5187 min: 0, 5188 max: 5, 5189 i: 1, 5190 node: "tr", 5191 item: function(a) { 5192 var e = c.firstDay && 0 === b.create([i.year, i.month, 1]).day ? -7 : 0; 5193 return [d.group({ 5194 min: 7 * a - i.day + e + 1, 5195 max: function() { 5196 return this.min + 7 - 1 5197 }, 5198 i: 1, 5199 node: "td", 5200 item: function(a) { 5201 a = b.create([i.year, i.month, a + (c.firstDay ? 1 : 0)]); 5202 var e = g && g.pick == a.pick, 5203 m = h && h.pick == a.pick, 5204 n = j && b.disabled(a) || a.pick < k.pick || a.pick > l.pick, 5205 o = d.trigger(b.formats.toString, b, [c.format, a]); 5206 return [d.node("div", a.date, function(b) { 5207 return b.push(i.month == a.month ? c.klass.infocus : c.klass.outfocus), f.pick == a.pick && b.push(c.klass.now), e && b.push(c.klass.selected), m && b.push(c.klass.highlighted), n && b.push(c.klass.disabled), b.join(" ") 5208 }([c.klass.day]), "data-pick=" + a.pick + " " + d.ariaAttr({ 5209 role: "gridcell", 5210 label: o, 5211 selected: !(!e || b.$node.val() !== o) || null, 5212 activedescendant: !!m || null, 5213 disabled: !!n || null 5214 })), "", d.ariaAttr({ 5215 role: "presentation" 5216 })] 5217 } 5218 })] 5219 } 5220 })), c.klass.table, 'id="' + b.$node[0].id + '_table" ' + d.ariaAttr({ 5221 role: "grid", 5222 controls: b.$node[0].id, 5223 readonly: !0 5224 })), c.klass.calendar_container) + d.node("div", d.node("button", c.today, "btn-flat picker__today waves-effect", "type=button data-pick=" + f.pick + (a && !b.disabled(f) ? "" : " disabled") + " " + d.ariaAttr({ 5225 controls: b.$node[0].id 5226 })) + d.node("button", c.clear, "btn-flat picker__clear waves-effect", "type=button data-clear=1" + (a ? "" : " disabled") + " " + d.ariaAttr({ 5227 controls: b.$node[0].id 5228 })) + d.node("button", c.close, "btn-flat picker__close waves-effect", "type=button data-close=true " + (a ? "" : " disabled") + " " + d.ariaAttr({ 5229 controls: b.$node[0].id 5230 })), c.klass.footer), "picker__container__wrapper") 5231 }, c.defaults = function(a) { 5232 return { 5233 labelMonthNext: "Next month", 5234 labelMonthPrev: "Previous month", 5235 labelMonthSelect: "Select a month", 5236 labelYearSelect: "Select a year", 5237 monthsFull: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "
5237November", "December"], 5238 monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], 5239 weekdaysFull: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], 5240 weekdaysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], 5241 weekdaysLetter: ["S", "M", "T", "W", "T", "F", "S"], 5242 today: "Today", 5243 clear: "Clear", 5244 close: "Ok", 5245 format: "d mmmm, yyyy", 5246 klass: { 5247 table: a + "table", 5248 header: a + "header", 5249 date_display: a + "date-display", 5250 day_display: a + "day-display", 5251 month_display: a + "month-display", 5252 year_display: a + "year-display", 5253 calendar_container: a + "calendar-container", 5254 navPrev: a + "nav--prev", 5255 navNext: a + "nav--next", 5256 navDisabled: a + "nav--disabled", 5257 month: a + "month", 5258 year: a + "year", 5259 selectMonth: a + "select--month", 5260 selectYear: a + "select--year", 5261 weekdays: a + "weekday", 5262 day: a + "day", 5263 disabled: a + "day--disabled", 5264 selected: a + "day--selected", 5265 highlighted: a + "day--highlighted", 5266 now: a + "day--today", 5267 infocus: a + "day--infocus", 5268 outfocus: a + "day--outfocus", 5269 footer: a + "footer", 5270 buttonClear: a + "button--clear", 5271 buttonToday: a + "button--today", 5272 buttonClose: a + "button--close" 5273 } 5274 } 5275 }(a.klasses().picker + "__"), a.extend("pickadate", c) 5276 }), 5277 function() { 5278 function a(a) { 5279 return document.createElementNS(i, a) 5280 } 5281 5282 function b(a) { 5283 return (a < 10 ? "0" : "") + a 5284 } 5285 5286 function c(a) { 5287 var b = ++q + ""; 5288 return a ? a + b : b 5289 } 5290 5291 function d(d, g) { 5292 function i(a, b) { 5293 var c = l.offset(), 5294 d = /^touch/.test(a.type), 5295 e = c.left + r, 5296 f = c.top + r, 5297 i = (d ? a.originalEvent.touches[0] : a).pageX - e, 5298 j = (d ? a.originalEvent.touches[0] : a).pageY - f, 5299 k = Math.sqrt(i * i + j * j), 5300 m = !1; 5301 if (!b || !(k < s - u || k > s + u)) { 5302 a.preventDefault(); 5303 var p = setTimeout(function() { 5304 D.popover.addClass("clockpicker-moving") 5305 }, 200); 5306 D.setHand(i, j, !b, !0), h.off(n).on(n, function(a) { 5307 a.preventDefault(); 5308 var b = /^touch/.test(a.type), 5309 c = (b ? a.originalEvent.touches[0] : a).pageX - e, 5310 d = (b ? a.originalEvent.touches[0] : a).pageY - f; 5311 (m || c !== i || d !== j) && (m = !0, D.setHand(c, d, !1, !0)) 5312 }), h.off(o).on(o, function(a) { 5313 h.off(o), a.preventDefault(); 5314 var c = /^touch/.test(a.type), 5315 d = (c ? a.originalEvent.changedTouches[0] : a).pageX - e, 5316 k = (c ? a.originalEvent.changedTouches[0] : a).pageY - f; 5317 (b || m) && d === i && k === j && D.setHand(d, k), "hours" === D.currentView ? D.toggleView("minutes", w / 2) : g.autoclose && (D.minutesView.addClass("clockpicker-dial-out"), setTimeout(function() { 5318 D.done() 5319 }, w / 2)), l.prepend(K), clearTimeout(p), D.popover.removeClass("clockpicker-moving"), h.off(n) 5320 }) 5321 } 5322 } 5323 var k = f(x), 5324 l = k.find(".clockpicker-plate"), 5325 p = k.find(".picker__holder"), 5326 q = k.find(".clockpicker-hours"), 5327 y = k.find(".clockpicker-minutes"), 5328 z = k.find(".clockpicker-am-pm-block"), 5329 A = "INPUT" === d.prop("tagName"), 5330 B = A ? d : d.find("input"), 5331 C = f("label[for=" + B.attr("id") + "]"), 5332 D = this; 5333 this.id = c("cp"), this.element = d, this.holder = p, this.options = g, this.isAppended = !1, this.isShown = !1, this.currentView = "hours", this.isInput = A, this.input = B, this.label = C, this.popover = k, this.plate = l, this.hoursView = q, this.minutesView = y, this.amPmBlock = z, this.spanHours = k.find(".clockpicker-span-hours"), this.spanMinutes = k.find(".clockpicker-span-minutes"), this.spanAmPm = k.find(".clockpicker-span-am-pm"), this.footer = k.find(".picker__footer"), this.amOrPm = "PM", g.twelvehour && (g.ampmclickable ? (this.spanAmPm.empty(), f('<div id="click-am">AM</div>').on("click", function() { 5334 D.spanAmPm.children("#click-am").addClass("text-primary"), D.spanAmPm.children("#click-pm").removeClass("text-primary"), D.amOrPm = "AM" 5335 }).appendTo(this.spanAmPm), f('<div id="click-pm">PM</div>').on("click", function() { 5336 D.spanAmPm.children("#click-pm").addClass("text-primary"), D.spanAmPm.children("#click-am").removeClass("text-primary"), D.amOrPm = "PM" 5337 }).appendTo(this.spanAmPm)) : (this.spanAmPm.empty(), f('<div id="click-am">AM</div>').appendTo(this.spanAmPm), f('<div id="click-pm">PM</div>').appendTo(this.spanAmPm))), f('<button type="button" class="btn-flat picker__clear" tabindex="' + (g.twelvehour ? "3" : "1") + '">' + g.cleartext + "</button>").click(f.proxy(this.clear, this)).appendTo(this.footer), f('<button type="button" class="btn-flat picker__close" tabindex="' + (g.twelvehour ? "3" : "1") + '">' + g.canceltext + "</button>").click(f.proxy(this.hide, this)).appendTo(this.footer), f('<button type="button" class="btn-flat picker__close" tabindex="' + (g.twelvehour ? "3" : "1") + '">' + g.donetext + "</button>").click(f.proxy(this.done, this)).appendTo(this.footer), this.spanHours.click(f.proxy(this.toggleView, this, "hours")), this.spanMinutes.click(f.proxy(this.toggleView, this, "minutes")), B.on("focus.clockpicker click.clockpicker", f.proxy(this.show, this)); 5338 var E, F, G, H, I = f('<div class="clockpicker-tick"></div>'); 5339 if (g.twelvehour) 5340 for (E = 1; E < 13; E += 1) F = I.clone(), G = E / 6 * Math.PI, H = s, F.css({ 5341 left: r + Math.sin(G) * H - u,
5342 top: r - Math.cos(G) * H - u 5343 }), F.html(0 === E ? "00" : E), q.append(F), F.on(m, i); 5344 else 5345 for (E = 0; E < 24; E += 1) { 5346 F = I.clone(), G = E / 6 * Math.PI; 5347 var J = E > 0 && E < 13; 5348 H = J ? t : s, F.css({ 5349 left: r + Math.sin(G) * H - u, 5350 top: r - Math.cos(G) * H - u 5351 }), F.html(0 === E ? "00" : E), q.append(F), F.on(m, i) 5352 } 5353 for (E = 0; E < 60; E += 5) F = I.clone(), G = E / 30 * Math.PI, F.css({ 5354 left: r + Math.sin(G) * s - u, 5355 top: r - Math.cos(G) * s - u 5356 }), F.html(b(E)), y.append(F), F.on(m, i); 5357 if (l.on(m, function(a) { 5358 0 === f(a.target).closest(".clockpicker-tick").length && i(a, !0) 5359 }), j) { 5360 var K = k.find(".clockpicker-canvas"), 5361 L = a("svg"); 5362 L.setAttribute("class", "clockpicker-svg"), L.setAttribute("width", v), L.setAttribute("height", v); 5363 var M = a("g"); 5364 M.setAttribute("transform", "translate(" + r + "," + r + ")"); 5365 var N = a("circle"); 5366 N.setAttribute("class", "clockpicker-canvas-bearing"), N.setAttribute("cx", 0), N.setAttribute("cy", 0), N.setAttribute("r", 4); 5367 var O = a("line"); 5368 O.setAttribute("x1", 0), O.setAttribute("y1", 0); 5369 var P = a("circle"); 5370 P.setAttribute("class", "clockpicker-canvas-bg"), P.setAttribute("r", u), M.appendChild(O), M.appendChild(P), M.appendChild(N), L.appendChild(M), K.append(L), this.hand = O, this.bg = P, this.bearing = N, this.g = M, this.canvas = K 5371 } 5372 e(this.options.init) 5373 } 5374 5375 function e(a) { 5376 a && "function" == typeof a && a() 5377 } 5378 var f = window.jQuery, 5379 g = f(window), 5380 h = f(document), 5381 i = "http://www.w3.org/2000/svg", 5382 j = "SVGAngle" in window && function() { 5383 var a, b = document.createElement("div"); 5384 return b.innerHTML = "<svg/>", a = (b.firstChild && b.firstChild.namespaceURI) == i, b.innerHTML = "", a 5385 }(), 5386 k = function() { 5387 var a = document.createElement("div").style; 5388 return "transition" in a || "WebkitTransition" in a || "MozTransition" in a || "msTransition" in a || "OTransition" in a 5389 }(), 5390 l = "ontouchstart" in window, 5391 m = "mousedown" + (l ? " touchstart" : ""), 5392 n = "mousemove.clockpicker" + (l ? " touchmove.clockpicker" : ""), 5393 o = "mouseup.clockpicker" + (l ? " touchend.clockpicker" : ""), 5394 p = navigator.vibrate ? "vibrate" : navigator.webkitVibrate ? "webkitVibrate" : null, 5395 q = 0, 5396 r = 135, 5397 s = 105, 5398 t = 80, 5399 u = 20, 5400 v = 2 * r, 5401 w = k ? 350 : 1, 5402 x = ['<div class="clockpicker picker">', '<div class="picker__holder">', '<div class="picker__frame">', '<div class="picker__wrap">', '<div class="picker__box">', '<div class="picker__date-display">', '<div class="clockpicker-display">', '<div class="clockpicker-display-column">', '<span class="clockpicker-span-hours text-primary"></span>', ":", '<span class="clockpicker-span-minutes"></span>', "</div>", '<div class="clockpicker-display-column clockpicker-display-am-pm">', '<div class="clockpicker-span-am-pm"></div>', "</div>", "</div>", "</div>", '<div class="picker__container__wrapper">', '<div class="picker__calendar-container">', '<div class="clockpicker-plate">', '<div class="clockpicker-canvas"></div>', '<div class="clockpicker-dial clockpicker-hours"></div>', '<div class="clockpicker-dial clockpicker-minutes clockpicker-dial-out"></div>', "</div>", '<div class="clockpicker-am-pm-block">', "</div>", "</div>", '<div class="picker__footer">', "</div>", "</div>", "</div>", "</div>", "</div>", "</div>", "</div>"].join(""); 5403 d.DEFAULTS = { 5404 default: "", 5405 fromnow: 0, 5406 donetext: "Ok", 5407 cleartext: "Clear", 5408 canceltext: "Cancel", 5409 autoclose: !1, 5410 ampmclickable: !0, 5411 darktheme: !1, 5412 twelvehour: !0, 5413 vibrate: !0 5414 }, d.prototype.toggle = function() { 5415 this[this.isShown ? "hide" : "show"]() 5416 }, d.prototype.locate = function() { 5417 var a = this.element, 5418 b = this.popover; 5419 a.offset(), a.outerWidth(), a.outerHeight(), this.options.align; 5420 b.show() 5421 }, d.prototype.show = function(a) { 5422 if (!this.isShown) { 5423 e(this.options.beforeShow), f(":input").each(function() { 5424 f(this).attr("tabindex", -1) 5425 }); 5426 var c = this; 5427 this.input.blur(), this.popover.addClass("picker--opened"), this.input.addClass("picker__input picker__input--active"), f(document.body).css("overflow", "hidden"); 5428 var d = ((this.input.prop("value") || this.options.default || "") + "").split(":"); 5429 if (this.options.twelvehour && void 0 !== d[1] && (d[1].indexOf("AM") > 0 ? this.amOrPm = "AM" : this.amOrPm = "PM", d[1] = d[1].replace("AM", "").replace("PM", "")), "n
5429ow" === d[0]) { 5430 var i = new Date(+new Date + this.options.fromnow); 5431 d = [i.getHours(), i.getMinutes()] 5432 } 5433 this.hours = +d[0] || 0, this.minutes = +d[1] || 0, this.spanHours.html(this.hours), this.spanMinutes.html(b(this.minutes)), this.isAppended || (this.popover.insertAfter(this.input), this.options.twelvehour && ("PM" === this.amOrPm ? (this.spanAmPm.children("#click-pm").addClass("text-primary"), this.spanAmPm.children("#click-am").removeClass("text-primary")) : (this.spanAmPm.children("#click-am").addClass("text-primary"), this.spanAmPm.children("#click-pm").removeClass("text-primary"))), g.on("resize.clockpicker" + this.id, function() { 5434 c.isShown && c.locate() 5435 }), this.isAppended = !0), this.toggleView("hours"), this.locate(), this.isShown = !0, h.on("click.clockpicker." + this.id + " focusin.clockpicker." + this.id, function(a) { 5436 var b = f(a.target); 5437 0 === b.closest(c.popover.find(".picker__wrap")).length && 0 === b.closest(c.input).length && c.hide() 5438 }), h.on("keyup.clockpicker." + this.id, function(a) { 5439 27 === a.keyCode && c.hide() 5440 }), e(this.options.afterShow) 5441 } 5442 }, d.prototype.hide = function() { 5443 e(this.options.beforeHide), this.input.removeClass("picker__input picker__input--active"), this.popover.removeClass("picker--opened"), f(document.body).css("overflow", "visible"), this.isShown = !1, f(":input").each(function(a) { 5444 f(this).attr("tabindex", a + 1) 5445 }), h.off("click.clockpicker." + this.id + " focusin.clockpicker." + this.id), h.off("keyup.clockpicker." + this.id), this.popover.hide(), e(this.options.afterHide) 5446 }, d.prototype.toggleView = function(a, b) { 5447 var c = !1; 5448 "minutes" === a && "visible" === f(this.hoursView).css("visibility") && (e(this.options.beforeHourSelect), c = !0); 5449 var d = "hours" === a, 5450 g = d ? this.hoursView : this.minutesView, 5451 h = d ? this.minutesView : this.hoursView; 5452 this.currentView = a, this.spanHours.toggleClass("text-primary", d), this.spanMinutes.toggleClass("text-primary", !d), h.addClass("clockpicker-dial-out"), g.css("visibility", "visible").removeClass("clockpicker-dial-out"), this.resetClock(b), clearTimeout(this.toggleViewTimer), this.toggleViewTimer = setTimeout(function() { 5453 h.css("visibility", "hidden") 5454 }, w), c && e(this.options.afterHourSelect) 5455 }, d.prototype.resetClock = function(a) { 5456 var b = this.currentView, 5457 c = this[b], 5458 d = "hours" === b, 5459 e = Math.PI / (d ? 6 : 30), 5460 f = c * e, 5461 g = d && c > 0 && c < 13 ? t : s, 5462 h = Math.sin(f) * g, 5463 i = -Math.cos(f) * g, 5464 k = this; 5465 j && a ? (k.canvas.addClass("clockpicker-canvas-out"), setTimeout(function() { 5466 k.canvas.removeClass("clockpicker-canvas-out"), k.setHand(h, i) 5467 }, a)) : this.setHand(h, i) 5468 }, d.prototype.setHand = function(a, c, d, e) { 5469 var g, h = Math.atan2(a, -c), 5470 i = "hours" === this.currentView, 5471 k = Math.PI / (i || d ? 6 : 30), 5472 l = Math.sqrt(a * a + c * c), 5473 m = this.options, 5474 n = i && l < (s + t) / 2, 5475 o = n ? t : s; 5476 if (m.twelvehour && (o = s), h < 0 && (h = 2 * Math.PI + h), g = Math.round(h / k), h = g * k, m.twelvehour ? i ? 0 === g && (g = 12) : (d && (g *= 5), 60 === g && (g = 0)) : i ? (12 === g && (g = 0), g = n ? 0 === g ? 12 : g : 0 === g ? 0 : g + 12) : (d && (g *= 5), 60 === g && (g = 0)), this[this.currentView] !== g && p && this.options.vibrate && (this.vibrateTimer || (navigator[p](10), this.vibrateTimer = setTimeout(f.proxy(function() { 5477 this.vibrateTimer = null 5478 }, this), 100))), this[this.currentView] = g, i ? this.spanHours.html(g) : this.spanMinutes.html(b(g)), !j) return void this[i ? "hoursView" : "minutesView"].find(".clockpicker-tick").each(function() { 5479 var a = f(this); 5480 a.toggleClass("active", g === +a.html()) 5481 }); 5482 var q = Math.sin(h) * (o - u), 5483 r = -Math.cos(h) * (o - u), 5484 v = Math.sin(h) * o, 5485 w = -Math.cos(h) * o; 5486 this.hand.setAttribute("x2", q), this.hand.setAttribute("y2", r), this.bg.setAttribute("cx", v), this.bg.setAttribute("cy", w) 5487 }, d.prototype.done = function() { 5488 e(this.options.beforeDone), this.hide(), this.label.addClass("active"); 5489 var a = this.input.prop("value"), 5490 c = b(this.hours) + ":" + b(this.minutes); 5491 this.options.twelvehour && (c += this.amOrPm), this.input.prop("value", c), c !== a && (this.input.triggerHandler("change"), this.isInput || this.element.trigger("change")), this.options.autoclose && this.input.trigger("blur"), e(this.options.afterDone) 5492 }, d.prototype.clear = function() { 5493 this.hide(), this.label.removeClass("active"); 5494 var a = this.input.prop("value"); 5495 this.input.prop("value", ""), "" !== a && (this.input.triggerHandler("change"), this.isInput || this.element.trigger("change")), this.options.autoclose && this.input.trigger("blur") 5496 }, d.prototype.remove = function() { 5497 this.element.removeData("clockpicker"), this.input.off("focus.clockpicker click.clockpicker"), this.isShown && this.hide(), this.isAppended && (g.off("resize.clockpicker" + this.id), this.popover.remove()) 5498 }, f.fn.pickatime = function(a) { 5499 var b = Array.prototype.slice.call(arguments, 1); 5500 return this.each(function() { 5501 var c = f(this), 5502 e = c.data("clockpicker"); 5503 if (e) "function" == typeof e[a] && e[a].apply(e, b); 5504 else { 5505 var g = f.extend({}, d.DEFAULTS, c.data(), "object" == typeof a && a); 5506 c.data("clockpicker", new d(c, g)) 5507 } 5508 }) 5509 } 5510 }(), 5511 function(a) { 5512 function b() { 5513 var b = +a(this).attr("data-length"), 5514 c = +a(this).val().length, 5515 d = c <= b; 5516 a(this).parent().find('span[class="character-counter"]').html(c + "/" + b), e(d, a(this)) 5517 } 5518 5519 function c(b) { 5520 var c = b.parent().find('span[class="character-counter"]'); 5521 c.length || (c = a("<span/>").addClass("character-counter").css("float", "right").css("font-size", "12px").css("height", 1), b.parent().append(c)) 5522 } 5523 5524 function d() { 5525 a(this).parent().find('span[class="character-counter"]').html("") 5526 } 5527 5528 function e(a, b) { 5529 var c = b.hasClass("invalid"); 5530 a && c ? b.removeClass("invalid") : a || c || (b.removeClass("val
5530id"), b.addClass("invalid")) 5531 } 5532 a.fn.characterCounter = function() { 5533 return this.each(function() { 5534 var e = a(this); 5535 e.parent().find('span[class="character-counter"]').length || void 0 !== e.attr("data-length") && (e.on("input", b), e.on("focus", b), e.on("blur", d), c(e)) 5536 }) 5537 }, a(document).ready(function() { 5538 a("input, textarea").characterCounter() 5539 }) 5540 }(jQuery), 5541 function(a) { 5542 var b = { 5543 init: function(b) { 5544 var c = { 5545 duration: 200, 5546 dist: -100, 5547 shift: 0, 5548 padding: 0, 5549 fullWidth: !1, 5550 indicators: !1, 5551 noWrap: !1, 5552 onCycleTo: null 5553 }; 5554 b = a.extend(c, b); 5555 var d = Materialize.objectSelectorString(a(this)); 5556 return this.each(function(c) { 5557 function e(a) { 5558 return a.targetTouches && a.targetTouches.length >= 1 ? a.targetTouches[0].clientX : a.clientX 5559 } 5560 5561 function f(a) { 5562 return a.targetTouches && a.targetTouches.length >= 1 ? a.targetTouches[0].clientY : a.clientY 5563 } 5564 5565 function g(a) { 5566 return a >= w ? a % w : a < 0 ? g(w + a % w) : a 5567 } 5568 5569 function h(c) { 5570 D = !0, O.hasClass("scrolling") || O.addClass("scrolling"), null != M && window.clearTimeout(M), M = window.setTimeout(function() { 5571 D = !1, O.removeClass("scrolling") 5572 }, b.duration); 5573 var d, e, f, h, i, j, k, l = t; 5574 if (s = "number" == typeof c ? c : s, t = Math.floor((s + v / 2) / v), f = s - t * v, h = f < 0 ? 1 : -1, i = -h * f * 2 / v, e = w >> 1, b.fullWidth ? k = "translateX(0)" : (k = "translateX(" + (O[0].clientWidth - q) / 2 + "px) ", k += "translateY(" + (O[0].clientHeight - r) / 2 + "px)"), P) { 5575 var m = t % w, 5576 n = L.find(".indicator-item.active"); 5577 n.index() !== m && (n.removeClass("active"), L.find(".indicator-item").eq(m).addClass("active")) 5578 } 5579 for ((!b.noWrap || t >= 0 && t < w) && (j = p[g(t)], a(j).hasClass("active") || (O.find(".mcarousel-item").removeClass("active"), a(j).addClass("active")), j.style[E] = k + " translateX(" + -f / 2 + "px) translateX(" + h * b.shift * i * d + "px) translateZ(" + b.dist * i + "px)", j.style.zIndex = 0, b.fullWidth ? tweenedOpacity = 1 : tweenedOpacity = 1 - .2 * i, j.style.opacity = tweenedOpacity, j.style.display = "block"), d = 1; d <= e; ++d) b.fullWidth ? (zTranslation = b.dist, tweenedOpacity = d === e && f < 0 ? 1 - i : 1) : (zTranslation = b.dist * (2 * d + i * h), tweenedOpacity = 1 - .2 * (2 * d + i * h)), (!b.noWrap || t + d < w) && (j = p[g(t + d)], j.style[E] = k + " translateX(" + (b.shift + (v * d - f) / 2) + "px) translateZ(" + zTranslation + "px)", j.style.zIndex = -d, j.style.opacity = tweenedOpacity, j.style.display = "block"), b.fullWidth ? (zTranslation = b.dist, tweenedOpacity = d === e && f > 0 ? 1 - i : 1) : (zTranslation = b.dist * (2 * d - i * h), tweenedOpacity = 1 - .2 * (2 * d - i * h)), (!b.noWrap || t - d >= 0) && (j = p[g(t - d)], j.style[E] = k + " translateX(" + (-b.shift + (-v * d - f) / 2) + "px) translateZ(" + zTranslation + "px)", j.style.zIndex = -d, j.style.opacity = tweenedOpacity, j.style.display = "block"); 5580 if ((!b.noWrap || t >= 0 && t < w) && (j = p[g(t)], j.style[E] = k + " translateX(" + -f / 2 + "px) translateX(" + h * b.shift * i + "px) translateZ(" + b.dist * i + "px)", j.style.zIndex = 0, b.fullWidth ? tweenedOpacity = 1 : tweenedOpacity = 1 - .2 * i, j.style.opacity = tweenedOpacity, j.style.display = "block"), l !== t && "function" == typeof b.onCycleTo) { 5581 var o = O.find(".mcarousel-item").eq(g(t)); 5582 b.onCycleTo.call(this, o, I) 5583 } 5584 "function" == typeof N && (N.call(this, o, I), N = null) 5585 } 5586 5587 function i() { 5588 var a, b, c, d; 5589 a = Date.now(), b = a - G, G = a, c = s - F, F = s, d = 1e3 * c / (1 + b), C = .8 * d + .2 * C 5590 } 5591 5592 function j() { 5593 var a, c; 5594 A && (a = Date.now() - G, c = A * Math.exp(-a / b.duration), c > 2 || c < -2 ? (h(B - c), requestAnimationFrame(j)) : h(B)) 5595 } 5596 5597 function k(c) { 5598 if (I) return c.preventDefault(), c.stopPropagation(), !1; 5599 if (!b.fullWidth) { 5600 var d = a(c.target).closest(".mcarousel-item").index(); 5601 0 !== g(t) - d && (c.preventDefault(), c.stopPropagation()), l(d) 5602 } 5603 } 5604 5605 function l(a) { 5606 var c = t % w - a; 5607 b.noWrap || (c < 0 ? Math.abs(c + w) < Math.abs(c) && (c += w) : c > 0 && Math.abs(c - w) < c && (c -= w)), c < 0 ? O.trigger("mcarouselNext", [Math.abs(c)]) : c > 0 && O.trigger("mcarouselPrev", [c]) 5608 } 5609 5610 function m(a) { 5611 "mousedown" === a.type && a.preventDefault(), u = !0, I = !1, J = !1, x = e(a), z = f(a), C = A = 0, F = s, G = Date.now(), clearInterval(H), H = setInterval(i, 100) 5612 } 5613 5614 function n(a) { 5615 var b, c; 5616 if (u) 5617 if (b = e(a), y = f(a), c = x - b, Math.abs(z - y) < 30 && !J)(c > 2 || c < -2) && (I = !0, x = b, h(s + c)); 5618 else { 5619 if (I) return a.preventDefault(), a.stopPropagation(), !1; 5620 J = !0 5621 } if (I) return a.preventDefault(), a.stopPropagation(), !1 5622 } 5623 5624 function o(a) { 5625 if (u) return u = !1, clearInterval(H), B = s, (C > 10 || C < -10) && (A = .9 * C, B = s + A), B = Math.round(B / v) * v, b.noWrap && (B >= v * (w - 1) ? B = v * (w - 1) : B < 0 && (B = 0)), A = B - s, G = Date.now(), requestAnimationFrame(j), I && (a.preventDefault(), a.stopPropagation()), !1 5626 } 5627 var p, q, r, s, t, u, v, w, x, z, A, B, C, D, E, F, G, H, I, J, K = d + c, 5628 L = a('<ul class="indicators"></ul>'), 5629 M = null, 5630 N = null, 5631 O = a(this), 5632 P = O.attr("data-indicators") || b.indicators; 5633 if (b.fullWidth && (b.dist = 0, function() { 5634 var b = O.find(".mcarousel-item img").first(); 5635 if (b.length) b.prop("complete") ? O.css("height", b.height()) : b.on("load", function() { 5636 O.css("height", a(this).height()) 5637 }); 5638 else { 5639 var c = O.find(".mcarousel-item").first().height(); 5640 O.css("height", c) 5641 } 5642 }(), P && O.find(".mcarousel-fixed-item").addClass("with-indicators")), O.hasClass("initialized")) return a(window).trigger("resize"), a(this).trigger("mcarouselNext", [1e-6]), !0; 5643 O.addClass("initialized"), u = !1, s = B = 0, p = [], q = O.find(".mcarousel-item").first().innerWidth(), r = O.find(".mcarousel-item").first().innerHeight(), v = 2 * q + b.padding, O.find(".mcarousel-item").each(function(b) { 5644 if (p.push(a(this)[0]), P) { 5645 var c = a('<li class="indicator-item"></li>'); 5646 0 === b && c.addClass("active"), c.click(function(b) { 5647 b.stopPropagation(), l(a(this).index()) 5648 }), L.append(c) 5649 } 5650 }), P && O.append(L), w = p.length, E = "transform", ["webkit", "Moz", "O", "ms"].every(function(a) { 5651 var b = a + "Transform"; 5652 return void 0 === document.body.style[b] || (E = b, !1) 5653 }), a(window).off("resize.mcarousel-" + K).on("resize.mcarousel-" + K, function() { 5654 b.fullWidth ? (q = O.find(".mcarousel-item").first().innerWidth(), r = O.find(".mcarousel-item").first().innerHeight(), v = 2 * q + b.padding, s = 2 * t * q, B = s) : h() 5655 }), 5656 function() { 5657 void 0 !== window.ontouchstart && (O[0].addEventListener("touchstart", m), O[0].addEventListener("touchmove", n), O[0].addEventListener("touchend", o)), O[0].addEventListener("mousedown", m), O[0].addEventListener("mousemove", n), O[0].addEventListener("mouseup", o), O[0].addEventListener("mouseleave", o), O[0].addEventListener("click", k) 5658 }(), h(s), a(this).on("mcarouselNext", function(a, b, c) { 5659 void 0 === b && (b = 1), "function" == typeof c && (N = c), B = v * Math.round(s / v) + v * b, s !== B && (A = B - s, G = Date.now(), requestAnimationFrame(j)) 5660 }), a(this).on("mcarouselPrev", function(a, b, c) { 5661 void 0 === b && (b = 1), "function" == typeof c && (N = c), B = v * Math.round(s / v) - v * b, s !== B && (A = B - s, G = Date.now(), requestAnimationFrame(j)) 5662 }), a(this).on("mcarouselSet", function(a, b, c) { 5663 void 0 === b && (b = 0), "function" == typeof c && (N = c), l(b) 5664 }) 5665 }) 5666 }, 5667 next: function(b, c) { 5668 a(this).trigger("mcarouselNext", [b, c]) 5669 }, 5670 prev: function(b, c) { 5671 a(this).trigger("mcarouselPrev", [b, c]) 5672 }, 5673 set: function(b, c) { 5674 a(this).trigger("mcarouselSet", [b, c]) 5675 } 5676 }; 5677 a.fn.mcarousel = function(c) { 5678 return b[c] ? b[c].apply(this, Array.prototype.slice.call(arguments, 1)) : "object" != typeof c && c ? void a.error("Method " + c + " does not exist on jQuery.mcarousel") : b.init.a
5678pply(this, arguments) 5679 } 5680 }(jQuery), 5681 function(a) { 5682 var b = { 5683 init: function(b) { 5684 return this.each(function() { 5685 var c = a("#" + a(this).attr("data-activates")), 5686 d = (a("body"), a(this)), 5687 e = d.parent(".tap-target-wrapper"), 5688 f = e.find(".tap-target-wave"), 5689 g = e.find(".tap-target-origin"), 5690 h = d.find(".tap-target-content"); 5691 e.length || (e = d.wrap(a('<div class="tap-target-wrapper"></div>')).parent()), h.length || (h = a('<div class="tap-target-content"></div>'), d.append(h)), f.length || (f = a('<div class="tap-target-wave"></div>'), g.length || (g = c.clone(!0, !0), g.addClass("tap-target-origin"), g.removeAttr("id"), g.removeAttr("style"), f.append(g)), e.append(f)); 5692 var i = function() { 5693 e.is(".open") && (e.removeClass("open"), g.off("click.tapTarget"), a(document).off("click.tapTarget"), a(window).off("resize.tapTarget")) 5694 }, 5695 j = function() { 5696 var b = "fixed" === c.css("position"); 5697 if (!b) 5698 for (var g = c.parents(), i = 0; i < g.length && !(b = "fixed" == a(g[i]).css("position")); i++); 5699 var j = c.outerWidth(), 5700 k = c.outerHeight(), 5701 l = b ? c.offset().top - a(document).scrollTop() : c.offset().top, 5702 m = b ? c.offset().left - a(document).scrollLeft() : c.offset().left, 5703 n = a(window).width(), 5704 o = a(window).height(), 5705 p = n / 2, 5706 q = o / 2, 5707 r = m <= p, 5708 s = m > p, 5709 t = l <= q, 5710 u = l > q, 5711 v = m >= .25 * n && m <= .75 * n, 5712 w = d.outerWidth(), 5713 x = d.outerHeight(), 5714 y = l + k / 2 - x / 2, 5715 z = m + j / 2 - w / 2, 5716 A = b ? "fixed" : "absolute", 5717 B = v ? w : w / 2 + j, 5718 C = x / 2, 5719 D = t ? x / 2 : 0, 5720 E = r && !v ? w / 2 - j : 0, 5721 F = j, 5722 G = u ? "bottom" : "top", 5723 H = 2 * j, 5724 I = H, 5725 J = x / 2 - I / 2, 5726 K = w / 2 - H / 2, 5727 L = {}; 5728 L.top = t ? y : "", L.right = s ? n - z - w : "", L.bottom = u ? o - y - x : "", L.left = r ? z : "", L.position = A, e.css(L), h.css({ 5729 width: B, 5730 height: C, 5731 top: D, 5732 right: 0, 5733 bottom: 0, 5734 left: E, 5735 padding: F, 5736 verticalAlign: G 5737 }), f.css({ 5738 top: J, 5739 left: K, 5740 width: H, 5741 height: I 5742 }) 5743 }; 5744 "open" == b && (j(), function() { 5745 e.is(".open") || (e.addClass("open"), setTimeout(function() { 5746 g.off("click.tapTarget").on("click.tapTarget", function(a) { 5747 i(), g.off("click.tapTarget") 5748 }
5748), a(document).off("click.tapTarget").on("click.tapTarget", function(b) { 5749 i(), a(document).off("click.tapTarget") 5750 }); 5751 var b = Materialize.throttle(function() { 5752 j() 5753 }, 200); 5754 a(window).off("resize.tapTarget").on("resize.tapTarget", b) 5755 }, 0)) 5756 }()), "close" == b && i() 5757 }) 5758 }, 5759 open: function() {}, 5760 close: function() {} 5761 }; 5762 a.fn.tapTarget = function(c) { 5763 if (b[c] || "object" == typeof c) return b.init.apply(this, arguments); 5764 a.error("Method " + c + " does not exist on jQuery.tap-target") 5765 } 5766 }(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.