text: /*!
   * Materialize v0.99.0 (http://materializecss.com)
   * Copyright 2014-2017 Materialize
   * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
   */
  if (void 0 === jQuery) {
      var jQuery;
      jQuery = "function" == typeof require ? $ = require("jquery") : $
  }! function (t) {
      "function" == typeof define && define.amd ? define(["jquery"], function (e) {
          return t(e)
      }) : "object" == typeof module && "object" == typeof module.exports ? exports = t(require("jquery")) : t(jQuery)
  }(function (t) {
      function e(t) {
          var e = 7.5625,
              i = 2.75;
          return t < 1 / i ? e * t * t : t < 2 / i ? e * (t -= 1.5 / i) * t + .75 : t < 2.5 / i ? e * (t -= 2.25 / i) * t + .9375 : e * (t -= 2.625 / i) * t + .984375
      }
      t.easing.jswing = t.easing.swing;
      var i = Math.pow,
          n = Math.sqrt,
          o = Math.sin,
          a = Math.cos,
          r = Math.PI,
          s = 1.70158,
          l = 1.525 * s,
          c = 2 * r / 3,
          u = 2 * r / 4.5;
      t.extend(t.easing, {
          def: "easeOutQuad",
          swing: function (e) {
              return t.easing[t.easing.def](e)
          },
          easeInQuad: function (t) {
              return t * t
          },
          easeOutQuad: function (t) {
              return 1 - (1 - t) * (1 - t)
          },
          easeInOutQuad: function (t) {
              return t < .5 ? 2 * t * t : 1 - i(-2 * t + 2, 2) / 2
          },
          easeInCubic: function (t) {
              return t * t * t
          },
          easeOutCubic: function (t) {
              return 1 - i(1 - t, 3)
          },
          easeInOutCubic: function (t) {
              return t < .5 ? 4 * t * t * t : 1 - i(-2 * t + 2, 3) / 2
          },
          easeInQuart: function (t) {
              return t * t * t * t
          },
          easeOutQuart: function (t) {
              return 1 - i(1 - t, 4)
          },
          easeInOutQuart: function (t) {
              return t < .5 ? 8 * t * t * t * t : 1 - i(-2 * t + 2, 4) / 2
          },
          easeInQuint: function (t) {
              return t * t * t * t * t
          },
          easeOutQuint: function (t) {
              return 1 - i(1 - t, 5)
          },
          easeInOutQuint: function (t) {
              return t < .5 ? 16 * t * t * t * t * t : 1 - i(-2 * t + 2, 5) / 2
          },
          easeInSine: function (t) {
              return 1 - a(t * r / 2)
          },
          easeOutSine: function (t) {
              return o(t * r / 2)
          },
          easeInOutSine: function (t) {
              return -(a(r * t) - 1) / 2
          },
          easeInExpo: function (t) {
              return 0 === t ? 0 : i(2, 10 * t - 10)
          },
          easeOutExpo: function (t) {
              return 1 === t ? 1 : 1 - i(2, -10 * t)
          },
          easeInOutExpo: function (t) {
              return 0 === t ? 0 : 1 === t ? 1 : t < .5 ? i(2, 20 * t - 10) / 2 : (2 - i(2, -20 * t + 10)) / 2
          },
          easeInCirc: function (t) {
              return 1 - n(1 - i(t, 2))
          },
          easeOutCirc: function (t) {
              return n(1 - i(t - 1, 2))
          },
          easeInOutCirc: function (t) {
              return t < .5 ? (1 - n(1 - i(2 * t, 2))) / 2 : (n(1 - i(-2 * t + 2, 2)) + 1) / 2
          },
          easeInElastic: function (t) {
              return 0 === t ? 0 : 1 === t ? 1 : -i(2, 10 * t - 10) * o((10 * t - 10.75) * c)
          },
          easeOutElastic: function (t) {
              return 0 === t ? 0 : 1 === t ? 1 : i(2, -10 * t) * o((10 * t - .75) * c) + 1
          },
          easeInOutElastic: function (t) {
              return 0 === t ? 0 : 1 === t ? 1 : t < .5 ? -i(2, 20 * t - 10) * o((20 * t - 11.125) * u) / 2 : i(2, -20 * t + 10) * o((20 * t - 11.125) * u) / 2 + 1
          },
          easeInBack: function (t) {
              return 2.70158 * t * t * t - s * t * t
          },
          easeOutBack: function (t) {
              return 1 + 2.70158 * i(t - 1, 3) + s * i(t - 1, 2)
          },
          easeInOutBack: function (t) {
              return t < .5 ? i(2 * t, 2) * (7.189819 * t - l) / 2 : (i(2 * t - 2, 2) * ((l + 1) * (2 * t - 2) + l) + 2) / 2
          },
          easeInBounce: function (t) {
              return 1 - e(1 - t)
          },
          easeOutBounce: e,
          easeInOutBounce: function (t) {
              return t < .5 ? (1 - e(1 - 2 * t)) / 2 : (1 + e(2 * t - 1)) / 2
          }
      })
  }), jQuery.extend(jQuery.easing, {
          easeInOutMaterial: function (t, e, i, n, o) {
              return (e /= o / 2) < 1 ? n / 2 * e * e + i : n / 4 * ((e -= 2) * e * e + 2) + i
          }
      }), jQuery.Velocity ? console.log("Velocity is already loaded. You may be needlessly importing Velocity again; note that Materialize includes Velocity.") : (function (t) {
          function e(t) {
              var e = t.length,
                  n = i.type(t);
              return "function" !== n && !i.isWindow(t) && (!(1 !== t.nodeType || !e) || ("array" === n || 0 === e || "number" == typeof e && e > 0 && e - 1 in t))
          }
          if (!t.jQuery) {
              var i = function (t, e) {
                  return new i.fn.init(t, e)
              };
              i.isWindow = function (t) {
                  return null != t && t == t.window
              }, i.type = function (t) {
                  return null == t ? t + "" : "object" == typeof t || "function" == typeof t ? o[r.call(t)] || "object" : typeof t
              }, i.isArray = Array.isArray || function (t) {
                  return "array" === i.type(t)
              }, i.isPlainObject = function (t) {
                  var e;
                  if (!t || "object" !== i.type(t) || t.nodeType || i.isWindow(t)) return !1;
                  try {
                      if (t.constructor && !a.call(t, "constructor") && !a.call(t.constructor.prototype, "isPrototypeOf")) return !1
                  } catch (t) {
                      return !1
                  }
                  for (e in t);
                  return void 0 === e || a.call(t, e)
              }, i.each = function (t, i, n) {
                  var o = 0,
                      a = t.length,
                      r = e(t);
                  if (n) {
                      if (r)
                          for (; a > o && !1 !== i.apply(t[o], n); o++);
                      else
                          for (o in t)
                              if (!1 === i.apply(t[o], n)) break
                  } else if (r)
                      for (; a > o && !1 !== i.call(t[o], o, t[o]); o++);
                  else
                      for (o in t)
                          if (!1 === i.call(t[o], o, t[o])) break;
                  return t
              }, i.data = function (t, e, o) {
                  if (void 0 === o) {
                      var a = (r = t[i.expando]) && n[r];
                      if (void 0 === e) return a;
                      if (a && e in a) return a[e]
                  } else if (void 0 !== e) {
                      var r = t[i.expando] || (t[i.expando] = ++i.uuid);
                      return n[r] = n[r] || {}, n[r][e] = o, o
                  }
              }, i.removeData = function (t, e) {
                  var o = t[i.expando],
                      a = o && n[o];
                  a && i.each(e, function (t, e) {
                      delete a[e]
                  })
              }, i.extend = function () {
                  var t, e, n, o, a, r, s = arguments[0] || {},
                      l = 1,
                      c = arguments.length,
                      u = !1;
                  for ("boolean" == typeof s && (u = s, s = arguments[l] || {}, l++), "object" != typeof s && "function" !== i.type(s) && (s = {}), l === c && (s = this, l--); c > l; l++)
                      if (null != (a = arguments[l]))
                          for (o in a) t = s[o], n = a[o], s !== n && (u && n && (i.isPlainObject(n) || (e = i.isArray(n))) ? (e ? (e = !1, r = t && i.isArray(t) ? t : []) : r = t && i.isPlainObject(t) ? t : {}, s[o] = i.extend(u, r, n)) : void 0 !== n && (s[o] = n));
                  return s
              }, i.queue = function (t, n, o) {
                  if (t) {
                      n = (n || "fx") + "queue";
                      var a = i.data(t, n);
                      return o ? (!a || i.isArray(o) ? a = i.data(t, n, function (t, i) {
                          var n = i || [];
                          return null != t && (e(Object(t)) ? function (t, e) {
                              for (var i = +e.length, n = 0, o = t.length; i > n;) t[o++] = e[n++];
                              if (i !== i)
                                  for (; void 0 !== e[n];) t[o++] = e[n++];
                              t.length = o
                          }(n, "string" == typeof t ? [t] : t) : [].push.call(n, t)), n
                      }(o)) : a.push(o), a) : a || []
                  }
              }, i.dequeue = function (t, e) {
                  i.each(t.nodeType ? [t] : t, function (t, n) {
                      e = e || "fx";
                      var o = i.queue(n, e),
                          a = o.shift();
                      "inprogress" === a && (a = o.shift()), a && ("fx" === e && o.unshift("inprogress"), a.call(n, function () {
                          i.dequeue(n, e)
                      }))
                  })
              }, i.fn = i.prototype = {
                  init: function (t) {
                      if (t.nodeType) return this[0] = t, this;
                      throw new Error("Not a DOM node.")
                  },
                  offset: function () {
                      var e = this[0].getBoundingClientRect ? this[0].getBoundingClientRect() : {
                          top: 0,
                          left: 0
                      };
                      return {
                          top: e.top + (t.pageYOffset || document.scrollTop || 0) - (document.clientTop || 0),
                          left: e.left + (t.pageXOffset || document.scrollLeft || 0) - (document.clientLeft || 0)
                      }
                  },
                  position: function () {
                      function t() {
                          for (var t = this.offsetParent || document; t && "html" === !t.nodeType.toLowerCase && "static" === t.style.position;) t = t.offsetParent;
                          return t || document
                      }
                      var e = this[0],
                          t = t.apply(e),
                          n = this.offset(),
                          o = /^(?:body|html)$/i.test(t.nodeName) ? {
                              top: 0,
                              left: 0
                          } : i(t).offset();
                      return n.top -= parseFloat(e.style.marginTop) || 0, n.left -= parseFloat(e.style.marginLeft) || 0, t.style && (o.top += parseFloat(t.style.borderTopWidth) || 0, o.left += parseFloat(t.style.borderLeftWidth) || 0), {
                          top: n.top - o.top,
                          left: n.left - o.left
                      }
                  }
              };
              var n = {};
              i.expando = "velocity" + (new Date).getTime(), i.uuid = 0;
              for (var o = {}, a = o.hasOwnProperty, r = o.toString, s = "Boolean Number String Function Array Date RegExp Object Error".split(" "), l = 0; l < s.length; l++) o["[object " + s[l] + "]"] = s[l].toLowerCase();
              i.fn.init.prototype = i.fn, t.Velocity = {
                  Utilities: i
              }
          }
      }(window), function (t) {
          "object" == typeof module && "object" == typeof module.exports ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : t()
      }(function () {
          return function (t, e, i, n) {
              function o(t) {
                  for (var e = -1, i = t ? t.length : 0, n = []; ++e < i;) {
                      var o = t[e];
                      o && n.push(o)
                  }
                  return n
              }
  
              function a(t) {
                  return v.isWrapped(t) ? t = [].slice.call(t) : v.isNode(t) && (t = [t]), t
              }
  
              function r(t) {
                  var e = p.data(t, "velocity");
                  return null === e ? n : e
              }
  
              function s(t) {
                  return function (e) {
                      return Math.round(e * t) * (1 / t)
                  }
              }
  
              function l(t, i, n, o) {
                  function a(t, e) {
                      return 1 - 3 * e + 3 * t
                  }
  
                  function r(t, e) {
                      return 3 * e - 6 * t
                  }
  
                  function s(t) {
                      return 3 * t
                  }
  
                  function l(t, e, i) {
                      return ((a(e, i) * t + r(e, i)) * t + s(e)) * t
                  }
  
                  function c(t, e, i) {
                      return 3 * a(e, i) * t * t + 2 * r(e, i) * t + s(e)
                  }
  
                  function u(e, i) {
                      for (var o = 0; v > o; ++o) {
                          var a = c(i, t, n);
                          if (0 === a) return i;
                          i -= (l(i, t, n) - e) / a
                      }
                      return i
                  }
  
                  function d() {
                      for (var e = 0; b > e; ++e) C[e] = l(e * w, t, n)
                  }
  
                  function p(e, i, o) {
                      var a, r, s = 0;
                      do {
                          r = i + (o - i) / 2, a = l(r, t, n) - e, a > 0 ? o = r : i = r
                      } while (Math.abs(a) > m && ++s < y);
                      return r
                  }
  
                  function h(e) {
                      for (var i = 0, o = 1, a = b - 1; o != a && C[o] <= e; ++o) i += w;
                      var r = i + (e - C[--o]) / (C[o + 1] - C[o]) * w,
                          s = c(r, t, n);
                      return s >= g ? u(e, r) : 0 == s ? r : p(e, i, i + w)
                  }
  
                  function f() {
                      T = !0, (t != i || n != o) && d()
                  }
                  var v = 4,
                      g = .001,
                      m = 1e-7,
                      y = 10,
                      b = 11,
                      w = 1 / (b - 1),
                      x = "Float32Array" in e;
                  if (4 !== arguments.length) return !1;
                  for (var k = 0; 4 > k; ++k)
                      if ("number" != typeof arguments[k] || isNaN(arguments[k]) || !isFinite(arguments[k])) return !1;
                  t = Math.min(t, 1), n = Math.min(n, 1), t = Math.max(t, 0), n = Math.max(n, 0);
                  var C = x ? new Float32Array(b) : new Array(b),
                      T = !1,
                      S = function (e) {
                          return T || f(), t === i && n === o ? e : 0 === e ? 0 : 1 === e ? 1 : l(h(e), i, o)
                      };
                  S.getControlPoints = function () {
                      return [{
                          x: t,
                          y: i
                      }, {
                          x: n,
                          y: o
                      }]
                  };
                  var P = "generateBezier(" + [t, i, n, o] + ")";
                  return S.toString = function () {
                      return P
                  }, S
              }
  
              function c(t, e) {
                  var i = t;
                  return v.isString(t) ? b.Easings[t] || (i = !1) : i = v.isArray(t) && 1 === t.length ? s.apply(null, t) : v.isArray(t) && 2 === t.length ? w.apply(null, t.concat([e])) : !(!v.isArray(t) || 4 !== t.length) && l.apply(null, t), !1 === i && (i = b.Easings[b.defaults.easing] ? b.defaults.easing : y), i
              }
  
              function u(t) {
                  if (t) {
                      var e = (new Date).getTime(),
                          i = b.State.calls.length;
                      i > 1e4 && (b.State.calls = o(b.State.calls));
                      for (var a = 0; i > a; a++)
                          if (b.State.calls[a]) {
                              var s = b.State.calls[a],
                                  l = s[0],
                                  c = s[2],
                                  h = s[3],
                                  f = !!h,
                                  g = null;
                              h || (h = b.State.calls[a][3] = e - 16);
                              for (var m = Math.min((e - h) / c.duration, 1), y = 0, w = l.length; w > y; y++) {
                                  var k = l[y],
                                      T = k.element;
                                  if (r(T)) {
                                      var S = !1;
                                      if (c.display !== n && null !== c.display && "none" !== c.display) {
                                          if ("flex" === c.display) {
                                              var P = ["-webkit-box", "-moz-box", "-ms-flexbox", "-webkit-flex"];
                                              p.each(P, function (t, e) {
                                                  x.setPropertyValue(T, "display", e)
                                              })
                                          }
                                          x.setPropertyValue(T, "display", c.display)
                                      }
                                      c.visibility !== n && "hidden" !== c.visibility && x.setPropertyValue(T, "visibility", c.visibility);
                                      for (var A in k)
                                          if ("element" !== A) {
                                              var O, E = k[A],
                                                  M = v.isString(E.easing) ? b.Easings[E.easing] : E.easing;
                                              if (1 === m) O = E.endValue;
                                              else {
                                                  var I = E.endValue - E.startValue;
                                                  if (O = E.startValue + I * M(m, c, I), !f && O === E.currentValue) continue
                                              }
                                              if (E.currentValue = O, "tween" === A) g = O;
                                              else {
                                                  if (x.Hooks.registered[A]) {
                                                      var q = x.Hooks.getRoot(A),
                                                          _ = r(T).rootPropertyValueCache[q];
                                                      _ && (E.rootPropertyValue = _)
                                                  }
                                                  var V = x.setPropertyValue(T, A, E.currentValue + (0 === parseFloat(O) ? "" : E.unitType), E.rootPropertyValue, E.scrollData);
                                                  x.Hooks.registered[A] && (r(T).rootPropertyValueCache[q] = x.Normalizations.registered[q] ? x.Normalizations.registered[q]("extract", null, V[1]) : V[1]), "transform" === V[0] && (S = !0)
                                              }
                                          }
                                      c.mobileHA && r(T).transformCache.translate3d === n && (r(T).transformCache.translate3d = "(0px, 0px, 0px)", S = !0), S && x.flushTransformCache(T)
                                  }
                              }
                              c.display !== n && "none" !== c.display && (b.State.calls[a][2].display = !1), c.visibility !== n && "hidden" !== c.visibility && (b.State.calls[a][2].visibility = !1), c.progress && c.progress.call(s[1], s[1], m, Math.max(0, h + c.duration - e), h, g), 1 === m && d(a)
                          }
                  }
                  b.State.isTicking && C(u)
              }
  
              function d(t, e) {
                  if (!b.State.calls[t]) return !1;
                  for (var i = b.State.calls[t][0], o = b.State.calls[t][1], a = b.State.calls[t][2], s = b.State.calls[t][4], l = !1, c = 0, u = i.length; u > c; c++) {
                      var d = i[c].element;
                      if (e || a.loop || ("none" === a.display && x.setPropertyValue(d, "display", a.display), "hidden" === a.visibility && x.setPropertyValue(d, "visibility", a.visibility)), !0 !== a.loop && (p.queue(d)[1] === n || !/\.velocityQueueEntryFlag/i.test(p.queue(d)[1])) && r(d)) {
                          r(d).isAnimating = !1, r(d).rootPropertyValueCache = {};
                          var h = !1;
                          p.each(x.Lists.transforms3D, function (t, e) {
                              var i = /^scale/.test(e) ? 1 : 0,
                                  o = r(d).transformCache[e];
                              r(d).transformCache[e] !== n && new RegExp("^\\(" + i + "[^.]").test(o) && (h = !0, delete r(d).transformCache[e])
                          }), a.mobileHA && (h = !0, delete r(d).transformCache.translate3d), h && x.flushTransformCache(d), x.Values.removeClass(d, "velocity-animating")
                      }
                      if (!e && a.complete && !a.loop && c === u - 1) try {
                          a.complete.call(o, o)
                      } catch (t) {
                          setTimeout(function () {
                              throw t
                          }, 1)
                      }
                      s && !0 !== a.loop && s(o), r(d) && !0 === a.loop && !e && (p.each(r(d).tweensContainer, function (t, e) {
                          /^rotate/.test(t) && 360 === parseFloat(e.endValue) && (e.endValue = 0, e.startValue = 360), /^backgroundPosition/.test(t) && 100 === parseFloat(e.endValue) && "%" === e.unitType && (e.endValue = 0, e.startValue = 100)
                      }), b(d, "reverse", {
                          loop: !0,
                          delay: a.delay
                      })), !1 !== a.queue && p.dequeue(d, a.queue)
                  }
                  b.State.calls[t] = !1;
                  for (var f = 0, v = b.State.calls.length; v > f; f++)
                      if (!1 !== b.State.calls[f]) {
                          l = !0;
                          break
                      }!1 === l && (b.State.isTicking = !1, delete b.State.calls, b.State.calls = [])
              }
              var p, h = function () {
                      if (i.documentMode) return i.documentMode;
                      for (var t = 7; t > 4; t--) {
                          var e = i.createElement("div");
                          if (e.innerHTML = "\x3c!--[if IE " + t + "]><span></span><![endif]--\x3e", e.getElementsByTagName("span").length) return e = null, t
                      }
                      return n
                  }(),
                  f = function () {
                      var t = 0;
                      return e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || function (e) {
                          var i, n = (new Date).getTime();
                          return i = Math.max(0, 16 - (n - t)), t = n + i, setTimeout(function () {
                              e(n + i)
                          }, i)
                      }
                  }(),
                  v = {
                      isString: function (t) {
                          return "string" == typeof t
                      },
                      isArray: Array.isArray || function (t) {
                          return "[object Array]" === Object.prototype.toString.call(t)
                      },
                      isFunction: function (t) {
                          return "[object Function]" === Object.prototype.toString.call(t)
                      },
                      isNode: function (t) {
                          return t && t.nodeType
                      },
                      isNodeList: function (t) {
                          return "object" == typeof t && /^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(t)) && t.length !== n && (0 === t.length || "object" == typeof t[0] && t[0].nodeType > 0)
                      },
                      isWrapped: function (t) {
                          return t && (t.jquery || e.Zepto && e.Zepto.zepto.isZ(t))
                      },
                      isSVG: function (t) {
                          return e.SVGElement && t instanceof e.SVGElement
                      },
                      isEmptyObject: function (t) {
                          for (var e in t) return !1;
                          return !0
                      }
                  },
                  g = !1;
              if (t.fn && t.fn.jquery ? (p = t, g = !0) : p = e.Velocity.Utilities, 8 >= h && !g) throw new Error("Velocity: IE8 and below require jQuery to be loaded before Velocity."); {
                  if (!(7 >= h)) {
                      var m = 400,
                          y = "swing",
                          b = {
                              State: {
                                  isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),
                                  isAndroid: /Android/i.test(navigator.userAgent),
                                  isGingerbread: /Android 2\.3\.[3-7]/i.test(navigator.userAgent),
                                  isChrome: e.chrome,
                                  isFirefox: /Firefox/i.test(navigator.userAgent),
                                  prefixElement: i.createElement("div"),
                                  prefixMatches: {},
                                  scrollAnchor: null,
                                  scrollPropertyLeft: null,
                                  scrollPropertyTop: null,
                                  isTicking: !1,
                                  calls: []
                              },
                              CSS: {},
                              Utilities: p,
                              Redirects: {},
                              Easings: {},
                              Promise: e.Promise,
                              defaults: {
                                  queue: "",
                                  duration: m,
                                  easing: y,
                                  begin: n,
                                  complete: n,
                                  progress: n,
                                  display: n,
                                  visibility: n,
                                  loop: !1,
                                  delay: !1,
                                  mobileHA: !0,
                                  _cacheValues: !0
                              },
                              init: function (t) {
                                  p.data(t, "velocity", {
                                      isSVG: v.isSVG(t),
                                      isAnimating: !1,
                                      computedStyle: null,
                                      tweensContainer: null,
                                      rootPropertyValueCache: {},
                                      transformCache: {}
                                  })
                              },
                              hook: null,
                              mock: !1,
                              version: {
                                  major: 1,
                                  minor: 2,
                                  patch: 2
                              },
                              debug: !1
                          };
                      e.pageYOffset !== n ? (b.State.scrollAnchor = e, b.State.scrollPropertyLeft = "pageXOffset", b.State.scrollPropertyTop = "pageYOffset") : (b.State.scrollAnchor = i.documentElement || i.body.parentNode || i.body, b.State.scrollPropertyLeft = "scrollLeft", b.State.scrollPropertyTop = "scrollTop");
                      var w = function () {
                          function t(t) {
                              return -t.tension * t.x - t.friction * t.v
                          }
  
                          function e(e, i, n) {
                              var o = {
                                  x: e.x + n.dx * i,
                                  v: e.v + n.dv * i,
                                  tension: e.tension,
                                  friction: e.friction
                              };
                              return {
                                  dx: o.v,
                                  dv: t(o)
                              }
                          }
  
                          function i(i, n) {
                              var o = {
                                      dx: i.v,
                                      dv: t(i)
                                  },
                                  a = e(i, .5 * n, o),
                                  r = e(i, .5 * n, a),
                                  s = e(i, n, r),
                                  l = 1 / 6 * (o.dx + 2 * (a.dx + r.dx) + s.dx),
                                  c = 1 / 6 * (o.dv + 2 * (a.dv + r.dv) + s.dv);
                              return i.x = i.x + l * n, i.v = i.v + c * n, i
                          }
                          return function t(e, n, o) {
                              var a, r, s, l = {
                                      x: -1,
                                      v: 0,
                                      tension: null,
                                      friction: null
                                  },
                                  c = [0],
                                  u = 0;
                              for (e = parseFloat(e) || 500, n = parseFloat(n) || 20, o = o || null, l.tension = e, l.friction = n, (a = null !== o) ? (u = t(e, n), r = u / o * .016) : r = .016; s = i(s || l, r), c.push(1 + s.x), u += 16, Math.abs(s.x) > 1e-4 && Math.abs(s.v) > 1e-4;);
                              return a ? function (t) {
                                  return c[t * (c.length - 1) | 0]
                              } : u
                          }
                      }();
                      b.Easings = {
                          linear: function (t) {
                              return t
                          },
                          swing: function (t) {
                              return .5 - Math.cos(t * Math.PI) / 2
                          },
                          spring: function (t) {
                              return 1 - Math.cos(4.5 * t * Math.PI) * Math.exp(6 * -t)
                          }
                      }, p.each([
                          ["ease", [.25, .1, .25, 1]],
                          ["ease-in", [.42, 0, 1, 1]],
                          ["ease-out", [0, 0, .58, 1]],
                          ["ease-in-out", [.42, 0, .58, 1]],
                          ["easeInSine", [.47, 0, .745, .715]],
                          ["easeOutSine", [.39, .575, .565, 1]],
                          ["easeInOutSine", [.445, .05, .55, .95]],
                          ["easeInQuad", [.55, .085, .68, .53]],
                          ["easeOutQuad", [.25, .46, .45, .94]],
                          ["easeInOutQuad", [.455, .03, .515, .955]],
                          ["easeInCubic", [.55, .055, .675, .19]],
                          ["easeOutCubic", [.215, .61, .355, 1]],
                          ["easeInOutCubic", [.645, .045, .355, 1]],
                          ["easeInQuart", [.895, .03, .685, .22]],
                          ["easeOutQuart", [.165, .84, .44, 1]],
                          ["easeInOutQuart", [.77, 0, .175, 1]],
                          ["easeInQuint", [.755, .05, .855, .06]],
                          ["easeOutQuint", [.23, 1, .32, 1]],
                          ["easeInOutQuint", [.86, 0, .07, 1]],
                          ["easeInExpo", [.95, .05, .795, .035]],
                          ["easeOutExpo", [.19, 1, .22, 1]],
                          ["easeInOutExpo", [1, 0, 0, 1]],
                          ["easeInCirc", [.6, .04, .98, .335]],
                          ["easeOutCirc", [.075, .82, .165, 1]],
                          ["easeInOutCirc", [.785, .135, .15, .86]]
                      ], function (t, e) {
                          b.Easings[e[0]] = l.apply(null, e[1])
                      });
                      var x = b.CSS = {
                          RegEx: {
                              isHex: /^#([A-f\d]{3}){1,2}$/i,
                              valueUnwrap: /^[A-z]+\((.*)\)$/i,
                              wrappedValueAlreadyExtracted: /[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/,
                              valueSplit: /([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi
                          },
                          Lists: {
                              colors: ["fill", "stroke", "stopColor", "color", "backgroundColor", "borderColor", "borderTopColor", "borderRightColor", "borderBottomColor", "borderLeftColor", "outlineColor"],
                              transformsBase: ["translateX", "translateY", "scale", "scaleX", "scaleY", "skewX", "skewY", "rotateZ"],
                              transforms3D: ["transformPerspective", "translateZ", "scaleZ", "rotateX", "rotateY"]
                          },
                          Hooks: {
                              templates: {
                                  textShadow: ["Color X Y Blur", "black 0px 0px 0px"],
                                  boxShadow: ["Color X Y Blur Spread", "black 0px 0px 0px 0px"],
                                  clip: ["Top Right Bottom Left", "0px 0px 0px 0px"],
                                  backgroundPosition: ["X Y", "0% 0%"],
                                  transformOrigin: ["X Y Z", "50% 50% 0px"],
                                  perspectiveOrigin: ["X Y", "50% 50%"]
                              },
                              registered: {},
                              register: function () {
                                  for (a = 0; a < x.Lists.colors.length; a++) {
                                      var t = "color" === x.Lists.colors[a] ? "0 0 0 1" : "255 255 255 1";
                                      x.Hooks.templates[x.Lists.colors[a]] = ["Red Green Blue Alpha", t]
                                  }
                                  var e, i, n;
                                  if (h)
                                      for (e in x.Hooks.templates) {
                                          n = (i = x.Hooks.templates[e])[0].split(" ");
                                          var o = i[1].match(x.RegEx.valueSplit);
                                          "Color" === n[0] && (n.push(n.shift()), o.push(o.shift()), x.Hooks.templates[e] = [n.join(" "), o.join(" ")])
                                      }
                                  for (e in x.Hooks.templates) {
                                      n = (i = x.Hooks.templates[e])[0].split(" ");
                                      for (var a in n) {
                                          var r = e + n[a],
                                              s = a;
                                          x.Hooks.registered[r] = [e, s]
                                      }
                                  }
                              },
                              getRoot: function (t) {
                                  var e = x.Hooks.registered[t];
                                  return e ? e[0] : t
                              },
                              cleanRootPropertyValue: function (t, e) {
                                  return x.RegEx.valueUnwrap.test(e) && (e = e.match(x.RegEx.valueUnwrap)[1]), x.Values.isCSSNullValue(e) && (e = x.Hooks.templates[t][1]), e
                              },
                              extractValue: function (t, e) {
                                  var i = x.Hooks.registered[t];
                                  if (i) {
                                      var n = i[0],
                                          o = i[1];
                                      return (e = x.Hooks.cleanRootPropertyValue(n, e)).toString().match(x.RegEx.valueSplit)[o]
                                  }
                                  return e
                              },
                              injectValue: function (t, e, i) {
                                  var n = x.Hooks.registered[t];
                                  if (n) {
                                      var o, a = n[0],
                                          r = n[1];
                                      return i = x.Hooks.cleanRootPropertyValue(a, i), o = i.toString().match(x.RegEx.valueSplit), o[r] = e, o.join(" ")
                                  }
                                  return i
                              }
                          },
                          Normalizations: {
                              registered: {
                                  clip: function (t, e, i) {
                                      switch (t) {
                                          case "name":
                                              return "clip";
                                          case "extract":
                                              var n;
                                              return x.RegEx.wrappedValueAlreadyExtracted.test(i) ? n = i : (n = i.toString().match(x.RegEx.valueUnwrap), n = n ? n[1].replace(/,(\s+)?/g, " ") : i), n;
                                          case "inject":
                                              return "rect(" + i + ")"
                                      }
                                  },
                                  blur: function (t, e, i) {
                                      switch (t) {
                                          case "name":
                                              return b.State.isFirefox ? "filter" : "-webkit-filter";
                                          case "extract":
                                              var n = parseFloat(i);
                                              if (!n && 0 !== n) {
                                                  var o = i.toString().match(/blur\(([0-9]+[A-z]+)\)/i);
                                                  n = o ? o[1] : 0
                                              }
                                              return n;
                                          case "inject":
                                              return parseFloat(i) ? "blur(" + i + ")" : "none"
                                      }
                                  },
                                  opacity: function (t, e, i) {
                                      if (8 >= h) switch (t) {
                                          case "name":
                                              return "filter";
                                          case "extract":
                                              var n = i.toString().match(/alpha\(opacity=(.*)\)/i);
                                              return i = n ? n[1] / 100 : 1;
                                          case "inject":
                                              return e.style.zoom = 1, parseFloat(i) >= 1 ? "" : "alpha(opacity=" + parseInt(100 * parseFloat(i), 10) + ")"
                                      } else switch (t) {
                                          case "name":
                                              return "opacity";
                                          case "extract":
                                          case "inject":
                                              return i
                                      }
                                  }
                              },
                              register: function () {
                                  9 >= h || b.State.isGingerbread || (x.Lists.transformsBase = x.Lists.transformsBase.concat(x.Lists.transforms3D));
                                  for (t = 0; t < x.Lists.transformsBase.length; t++) ! function () {
                                      var e = x.Lists.transformsBase[t];
                                      x.Normalizations.registered[e] = function (t, i, o) {
                                          switch (t) {
                                              case "name":
                                                  return "transform";
                                              case "extract":
                                                  return r(i) === n || r(i).transformCache[e] === n ? /^scale/i.test(e) ? 1 : 0 : r(i).transformCache[e].replace(/[()]/g, "");
                                              case "inject":
                                                  var a = !1;
                                                  switch (e.substr(0, e.length - 1)) {
                                                      case "translate":
                                                          a = !/(%|px|em|rem|vw|vh|\d)$/i.test(o);
                                                          break;
                                                      case "scal":
                                                      case "scale":
                                                          b.State.isAndroid && r(i).transformCache[e] === n && 1 > o && (o = 1), a = !/(\d)$/i.test(o);
                                                          break;
                                                      case "skew":
                                                          a = !/(deg|\d)$/i.test(o);
                                                          break;
                                                      case "rotate":
                                                          a = !/(deg|\d)$/i.test(o)
                                                  }
                                                  return a || (r(i).transformCache[e] = "(" + o + ")"), r(i).transformCache[e]
                                          }
                                      }
                                  }();
                                  for (var t = 0; t < x.Lists.colors.length; t++) ! function () {
                                      var e = x.Lists.colors[t];
                                      x.Normalizations.registered[e] = function (t, i, o) {
                                          switch (t) {
                                              case "name":
                                                  return e;
                                              case "extract":
                                                  var a;
                                                  if (x.RegEx.wrappedValueAlreadyExtracted.test(o)) a = o;
                                                  else {
                                                      var r, s = {
                                                          black: "rgb(0, 0, 0)",
                                                          blue: "rgb(0, 0, 255)",
                                                          gray: "rgb(128, 128, 128)",
                                                          green: "rgb(0, 128, 0)",
                                                          red: "rgb(255, 0, 0)",
                                                          white: "rgb(255, 255, 255)"
                                                      };
                                                      /^[A-z]+$/i.test(o) ? r = s[o] !== n ? s[o] : s.black : x.RegEx.isHex.test(o) ? r = "rgb(" + x.Values.hexToRgb(o).join(" ") + ")" : /^rgba?\(/i.test(o) || (r = s.black), a = (r || o).toString().match(x.RegEx.valueUnwrap)[1].replace(/,(\s+)?/g, " ")
                                                  }
                                                  return 8 >= h || 3 !== a.split(" ").length || (a += " 1"), a;
                                              case "inject":
                                                  return 8 >= h ? 4 === o.split(" ").length && (o = o.split(/\s+/).slice(0, 3).join(" ")) : 3 === o.split(" ").length && (o += " 1"), (8 >= h ? "rgb" : "rgba") + "(" + o.replace(/\s+/g, ",").replace(/\.(\d)+(?=,)/g, "") + ")"
                                          }
                                      }
                                  }()
                              }
                          },
                          Names: {
                              camelCase: function (t) {
                                  return t.replace(/-(\w)/g, function (t, e) {
                                      return e.toUpperCase()
                                  })
                              },
                              SVGAttribute: function (t) {
                                  var e = "width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2";
                                  return (h || b.State.isAndroid && !b.State.isChrome) && (e += "|transform"), new RegExp("^(" + e + ")$", "i").test(t)
                              },
                              prefixCheck: function (t) {
                                  if (b.State.prefixMatches[t]) return [b.State.prefixMatches[t], !0];
                                  for (var e = ["", "Webkit", "Moz", "ms", "O"], i = 0, n = e.length; n > i; i++) {
                                      var o;
                                      if (o = 0 === i ? t : e[i] + t.replace(/^\w/, function (t) {
                                              return t.toUpperCase()
                                          }), v.isString(b.State.prefixElement.style[o])) return b.State.prefixMatches[t] = o, [o, !0]
                                  }
                                  return [t, !1]
                              }
                          },
                          Values: {
                              hexToRgb: function (t) {
                                  var e, i = /^#?([a-f\d])([a-f\d])([a-f\d])$/i,
                                      n = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i;
                                  return t = t.replace(i, function (t, e, i, n) {
                                      return e + e + i + i + n + n
                                  }), e = n.exec(t), e ? [parseInt(e[1], 16), parseInt(e[2], 16), parseInt(e[3], 16)] : [0, 0, 0]
                              },
                              isCSSNullValue: function (t) {
                                  return 0 == t || /^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(t)
                              },
                              getUnitType: function (t) {
                                  return /^(rotate|skew)/i.test(t) ? "deg" : /(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(t) ? "" : "px"
                              },
                              getDisplayType: function (t) {
                                  var e = t && t.tagName.toString().toLowerCase();
                                  return /^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(e) ? "inline" : /^(li)$/i.test(e) ? "list-item" : /^(tr)$/i.test(e) ? "table-row" : /^(table)$/i.test(e) ? "table" : /^(tbody)$/i.test(e) ? "table-row-group" : "block"
                              },
                              addClass: function (t, e) {
                                  t.classList ? t.classList.add(e) : t.className += (t.className.length ? " " : "") + e
                              },
                              removeClass: function (t, e) {
                                  t.classList ? t.classList.remove(e) : t.className = t.className.toString().replace(new RegExp("(^|\\s)" + e.split(" ").join("|") + "(\\s|$)", "gi"), " ")
                              }
                          },
                          getPropertyValue: function (t, i, o, a) {
                              function s(t, i) {
                                  function o() {
                                      c && x.setPropertyValue(t, "display", "none")
                                  }
                                  var l = 0;
                                  if (8 >= h) l = p.css(t, i);
                                  else {
                                      var c = !1;
                                      if (/^(width|height)$/.test(i) && 0 === x.getPropertyValue(t, "display") && (c = !0, x.setPropertyValue(t, "display", x.Values.getDisplayType(t))), !a) {
                                          if ("height" === i && "border-box" !== x.getPropertyValue(t, "boxSizing").toString().toLowerCase()) {
                                              var u = t.offsetHeight - (parseFloat(x.getPropertyValue(t, "borderTopWidth")) || 0) - (parseFloat(x.getPropertyValue(t, "borderBottomWidth")) || 0) - (parseFloat(x.getPropertyValue(t, "paddingTop")) || 0) - (parseFloat(x.getPropertyValue(t, "paddingBottom")) || 0);
                                              return o(), u
                                          }
                                          if ("width" === i && "border-box" !== x.getPropertyValue(t, "boxSizing").toString().toLowerCase()) {
                                              var d = t.offsetWidth - (parseFloat(x.getPropertyValue(t, "borderLeftWidth")) || 0) - (parseFloat(x.getPropertyValue(t, "borderRightWidth")) || 0) - (parseFloat(x.getPropertyValue(t, "paddingLeft")) || 0) - (parseFloat(x.getPropertyValue(t, "paddingRight")) || 0);
                                              return o(), d
                                          }
                                      }
                                      var f;
                                      f = r(t) === n ? e.getComputedStyle(t, null) : r(t).computedStyle ? r(t).computedStyle : r(t).computedStyle = e.getComputedStyle(t, null), "borderColor" === i && (i = "borderTopColor"), ("" === (l = 9 === h && "filter" === i ? f.getPropertyValue(i) : f[i]) || null === l) && (l = t.style[i]), o()
                                  }
                                  if ("auto" === l && /^(top|right|bottom|left)$/i.test(i)) {
                                      var v = s(t, "position");
                                      ("fixed" === v || "absolute" === v && /top|left/i.test(i)) && (l = p(t).position()[i] + "px")
                                  }
                                  return l
                              }
                              var l;
                              if (x.Hooks.registered[i]) {
                                  var c = i,
                                      u = x.Hooks.getRoot(c);
                                  o === n && (o = x.getPropertyValue(t, x.Names.prefixCheck(u)[0])), x.Normalizations.registered[u] && (o = x.Normalizations.registered[u]("extract", t, o)), l = x.Hooks.extractValue(c, o)
                              } else if (x.Normalizations.registered[i]) {
                                  var d, f;
                                  "transform" !== (d = x.Normalizations.registered[i]("name", t)) && (f = s(t, x.Names.prefixCheck(d)[0]), x.Values.isCSSNullValue(f) && x.Hooks.templates[i] && (f = x.Hooks.templates[i][1])), l = x.Normalizations.registered[i]("extract", t, f)
                              }
                              if (!/^[\d-]/.test(l))
                                  if (r(t) && r(t).isSVG && x.Names.SVGAttribute(i))
                                      if (/^(height|width)$/i.test(i)) try {
                                          l = t.getBBox()[i]
                                      } catch (t) {
                                          l = 0
                                      } else l = t.getAttribute(i);
                                      else l = s(t, x.Names.prefixCheck(i)[0]);
                              return x.Values.isCSSNullValue(l) && (l = 0), b.debug >= 2 && console.log("Get " + i + ": " + l), l
                          },
                          setPropertyValue: function (t, i, n, o, a) {
                              var s = i;
                              if ("scroll" === i) a.container ? a.container["scroll" + a.direction] = n : "Left" === a.direction ? e.scrollTo(n, a.alternateValue) : e.scrollTo(a.alternateValue, n);
                              else if (x.Normalizations.registered[i] && "transform" === x.Normalizations.registered[i]("name", t)) x.Normalizations.registered[i]("inject", t, n), s = "transform", n = r(t).transformCache[i];
                              else {
                                  if (x.Hooks.registered[i]) {
                                      var l = i,
                                          c = x.Hooks.getRoot(i);
                                      o = o || x.getPropertyValue(t, c), n = x.Hooks.injectValue(l, n, o), i = c
                                  }
                                  if (x.Normalizations.registered[i] && (n = x.Normalizations.registered[i]("inject", t, n), i = x.Normalizations.registered[i]("name", t)), s = x.Names.prefixCheck(i)[0], 8 >= h) try {
                                      t.style[s] = n
                                  } catch (t) {
                                      b.debug && console.log("Browser does not support [" + n + "] for [" + s + "]")
                                  } else r(t) && r(t).isSVG && x.Names.SVGAttribute(i) ? t.setAttribute(i, n) : t.style[s] = n;
                                  b.debug >= 2 && console.log("Set " + i + " (" + s + "): " + n)
                              }
                              return [s, n]
                          },
                          flushTransformCache: function (t) {
                              function e(e) {
                                  return parseFloat(x.getPropertyValue(t, e))
                              }
                              var i = "";
                              if ((h || b.State.isAndroid && !b.State.isChrome) && r(t).isSVG) {
                                  var n = {
                                      translate: [e("translateX"), e("translateY")],
                                      skewX: [e("skewX")],
                                      skewY: [e("skewY")],
                                      scale: 1 !== e("scale") ? [e("scale"), e("scale")] : [e("scaleX"), e("scaleY")],
                                      rotate: [e("rotateZ"), 0, 0]
                                  };
                                  p.each(r(t).transformCache, function (t) {
                                      /^translate/i.test(t) ? t = "translate" : /^scale/i.test(t) ? t = "scale" : /^rotate/i.test(t) && (t = "rotate"), n[t] && (i += t + "(" + n[t].join(" ") + ") ", delete n[t])
                                  })
                              } else {
                                  var o, a;
                                  p.each(r(t).transformCache, function (e) {
                                      return o = r(t).transformCache[e], "transformPerspective" === e ? (a = o, !0) : (9 === h && "rotateZ" === e && (e = "rotate"), void(i += e + o + " "))
                                  }), a && (i = "perspective" + a + " " + i)
                              }
                              x.setPropertyValue(t, "transform", i)
                          }
                      };
                      x.Hooks.register(), x.Normalizations.register(), b.hook = function (t, e, i) {
                          var o = n;
                          return t = a(t), p.each(t, function (t, a) {
                              if (r(a) === n && b.init(a), i === n) o === n && (o = b.CSS.getPropertyValue(a, e));
                              else {
                                  var s = b.CSS.setPropertyValue(a, e, i);
                                  "transform" === s[0] && b.CSS.flushTransformCache(a), o = s
                              }
                          }), o
                      };
                      var k = function () {
                          function t() {
                              return s ? P.promise || null : l
                          }
  
                          function o() {
                              function t(t) {
                                  function d(t, e) {
                                      var i = n,
                                          o = n,
                                          r = n;
                                      return v.isArray(t) ? (i = t[0], !v.isArray(t[1]) && /^[\d-]/.test(t[1]) || v.isFunction(t[1]) || x.RegEx.isHex.test(t[1]) ? r = t[1] : (v.isString(t[1]) && !x.RegEx.isHex.test(t[1]) || v.isArray(t[1])) && (o = e ? t[1] : c(t[1], s.duration), t[2] !== n && (r = t[2]))) : i = t, e || (o = o || s.easing), v.isFunction(i) && (i = i.call(a, T, C)), v.isFunction(r) && (r = r.call(a, T, C)), [i || 0, o, r]
                                  }
  
                                  function h(t, e) {
                                      var i, n;
                                      return n = (e || "0").toString().toLowerCase().replace(/[%A-z]+$/, function (t) {
                                          return i = t, ""
                                      }), i || (i = x.Values.getUnitType(t)), [n, i]
                                  }
                                  if (s.begin && 0 === T) try {
                                      s.begin.call(f, f)
                                  } catch (t) {
                                      setTimeout(function () {
                                          throw t
                                      }, 1)
                                  }
                                  if ("scroll" === A) {
                                      var m, w, k, S = /^x$/i.test(s.axis) ? "Left" : "Top",
                                          O = parseFloat(s.offset) || 0;
                                      s.container ? v.isWrapped(s.container) || v.isNode(s.container) ? (s.container = s.container[0] || s.container, m = s.container["scroll" + S], k = m + p(a).position()[S.toLowerCase()] + O) : s.container = null : (m = b.State.scrollAnchor[b.State["scrollProperty" + S]], w = b.State.scrollAnchor[b.State["scrollProperty" + ("Left" === S ? "Top" : "Left")]], k = p(a).offset()[S.toLowerCase()] + O), l = {
                                          scroll: {
                                              rootPropertyValue: !1,
                                              startValue: m,
                                              currentValue: m,
                                              endValue: k,
                                              unitType: "",
                                              easing: s.easing,
                                              scrollData: {
                                                  container: s.container,
                                                  direction: S,
                                                  alternateValue: w
                                              }
                                          },
                                          element: a
                                      }, b.debug && console.log("tweensContainer (scroll): ", l.scroll, a)
                                  } else if ("reverse" === A) {
                                      if (!r(a).tweensContainer) return void p.dequeue(a, s.queue);
                                      "none" === r(a).opts.display && (r(a).opts.display = "auto"), "hidden" === r(a).opts.visibility && (r(a).opts.visibility = "visible"), r(a).opts.loop = !1, r(a).opts.begin = null, r(a).opts.complete = null, y.easing || delete s.easing, y.duration || delete s.duration, s = p.extend({}, r(a).opts, s);
                                      I = p.extend(!0, {}, r(a).tweensContainer);
                                      for (var E in I)
                                          if ("element" !== E) {
                                              var M = I[E].startValue;
                                              I[E].startValue = I[E].currentValue = I[E].endValue, I[E].endValue = M, v.isEmptyObject(y) || (I[E].easing = s.easing), b.debug && console.log("reverse tweensContainer (" + E + "): " + JSON.stringify(I[E]), a)
                                          }
                                      l = I
                                  } else if ("start" === A) {
                                      var I;
                                      r(a).tweensContainer && !0 === r(a).isAnimating && (I = r(a).tweensContainer), p.each(g, function (t, e) {
                                          if (RegExp("^" + x.Lists.colors.join("$|^") + "$").test(t)) {
                                              var i = d(e, !0),
                                                  o = i[0],
                                                  a = i[1],
                                                  r = i[2];
                                              if (x.RegEx.isHex.test(o)) {
                                                  for (var s = ["Red", "Green", "Blue"], l = x.Values.hexToRgb(o), c = r ? x.Values.hexToRgb(r) : n, u = 0; u < s.length; u++) {
                                                      var p = [l[u]];
                                                      a && p.push(a), c !== n && p.push(c[u]), g[t + s[u]] = p
                                                  }
                                                  delete g[t]
                                              }
                                          }
                                      });
                                      for (var V in g) {
                                          var z = d(g[V]),
                                              D = z[0],
                                              j = z[1],
                                              H = z[2];
                                          V = x.Names.camelCase(V);
                                          var L = x.Hooks.getRoot(V),
                                              W = !1;
                                          if (r(a).isSVG || "tween" === L || !1 !== x.Names.prefixCheck(L)[1] || x.Normalizations.registered[L] !== n) {
                                              (s.display !== n && null !== s.display && "none" !== s.display || s.visibility !== n && "hidden" !== s.visibility) && /opacity|filter/.test(V) && !H && 0 !== D && (H = 0), s._cacheValues && I && I[V] ? (H === n && (H = I[V].endValue + I[V].unitType), W = r(a).rootPropertyValueCache[L]) : x.Hooks.registered[V] ? H === n ? (W = x.getPropertyValue(a, L), H = x.getPropertyValue(a, V, W)) : W = x.Hooks.templates[L][1] : H === n && (H = x.getPropertyValue(a, V));
                                              var N, F, Q, $ = !1;
                                              if (N = h(V, H), H = N[0], Q = N[1], N = h(V, D), D = N[0].replace(/^([+-\/*])=/, function (t, e) {
                                                      return $ = e, ""
                                                  }), F = N[1], H = parseFloat(H) || 0, D = parseFloat(D) || 0, "%" === F && (/^(fontSize|lineHeight)$/.test(V) ? (D /= 100, F = "em") : /^scale/.test(V) ? (D /= 100, F = "") : /(Red|Green|Blue)$/i.test(V) && (D = D / 100 * 255, F = "")), /[\/*]/.test($)) F = Q;
                                              else if (Q !== F && 0 !== H)
                                                  if (0 === D) F = Q;
                                                  else {
                                                      o = o || function () {
                                                          var t = {
                                                                  myParent: a.parentNode || i.body,
                                                                  position: x.getPropertyValue(a, "position"),
                                                                  fontSize: x.getPropertyValue(a, "fontSize")
                                                              },
                                                              n = t.position === q.lastPosition && t.myParent === q.lastParent,
                                                              o = t.fontSize === q.lastFontSize;
                                                          q.lastParent = t.myParent, q.lastPosition = t.position, q.lastFontSize = t.fontSize;
                                                          var s = 100,
                                                              l = {};
                                                          if (o && n) l.emToPx = q.lastEmToPx, l.percentToPxWidth = q.lastPercentToPxWidth, l.percentToPxHeight = q.lastPercentToPxHeight;
                                                          else {
                                                              var c = r(a).isSVG ? i.createElementNS("http://www.w3.org/2000/svg", "rect") : i.createElement("div");
                                                              b.init(c), t.myParent.appendChild(c), p.each(["overflow", "overflowX", "overflowY"], function (t, e) {
                                                                  b.CSS.setPropertyValue(c, e, "hidden")
                                                              }), b.CSS.setPropertyValue(c, "position", t.position), b.CSS.setPropertyValue(c, "fontSize", t.fontSize), b.CSS.setPropertyValue(c, "boxSizing", "content-box"), p.each(["minWidth", "maxWidth", "width", "minHeight", "maxHeight", "height"], function (t, e) {
                                                                  b.CSS.setPropertyValue(c, e, s + "%")
                                                              }), b.CSS.setPropertyValue(c, "paddingLeft", s + "em"), l.percentToPxWidth = q.lastPercentToPxWidth = (parseFloat(x.getPropertyValue(c, "width", null, !0)) || 1) / s, l.percentToPxHeight = q.lastPercentToPxHeight = (parseFloat(x.getPropertyValue(c, "height", null, !0)) || 1) / s, l.emToPx = q.lastEmToPx = (parseFloat(x.getPropertyValue(c, "paddingLeft")) || 1) / s, t.myParent.removeChild(c)
                                                          }
                                                          return null === q.remToPx && (q.remToPx = parseFloat(x.getPropertyValue(i.body, "fontSize")) || 16), null === q.vwToPx && (q.vwToPx = parseFloat(e.innerWidth) / 100, q.vhToPx = parseFloat(e.innerHeight) / 100), l.remToPx = q.remToPx, l.vwToPx = q.vwToPx, l.vhToPx = q.vhToPx, b.debug >= 1 && console.log("Unit ratios: " + JSON.stringify(l), a), l
                                                      }();
                                                      var X = /margin|padding|left|right|width|text|word|letter/i.test(V) || /X$/.test(V) || "x" === V ? "x" : "y";
                                                      switch (Q) {
                                                          case "%":
                                                              H *= "x" === X ? o.percentToPxWidth : o.percentToPxHeight;
                                                              break;
                                                          case "px":
                                                              break;
                                                          default:
                                                              H *= o[Q + "ToPx"]
                                                      }
                                                      switch (F) {
                                                          case "%":
                                                              H *= 1 / ("x" === X ? o.percentToPxWidth : o.percentToPxHeight);
                                                              break;
                                                          case "px":
                                                              break;
                                                          default:
                                                              H *= 1 / o[F + "ToPx"]
                                                      }
                                                  }
                                              switch ($) {
                                                  case "+":
                                                      D = H + D;
                                                      break;
                                                  case "-":
                                                      D = H - D;
                                                      break;
                                                  case "*":
                                                      D *= H;
                                                      break;
                                                  case "/":
                                                      D = H / D
                                              }
                                              l[V] = {
                                                  rootPropertyValue: W,
                                                  startValue: H,
                                                  currentValue: H,
                                                  endValue: D,
                                                  unitType: F,
                                                  easing: j
                                              }, b.debug && console.log("tweensContainer (" + V + "): " + JSON.stringify(l[V]), a)
                                          } else b.debug && console.log("Skipping [" + L + "] due to a lack of browser support.")
                                      }
                                      l.element = a
                                  }
                                  l.element && (x.Values.addClass(a, "velocity-animating"), _.push(l), "" === s.queue && (r(a).tweensContainer = l, r(a).opts = s), r(a).isAnimating = !0, T === C - 1 ? (b.State.calls.push([_, f, s, null, P.resolver]), !1 === b.State.isTicking && (b.State.isTicking = !0, u())) : T++)
                              }
                              var o, a = this,
                                  s = p.extend({}, b.defaults, y),
                                  l = {};
                              switch (r(a) === n && b.init(a), parseFloat(s.delay) && !1 !== s.queue && p.queue(a, s.queue, function (t) {
                                  b.velocityQueueEntryFlag = !0, r(a).delayTimer = {
                                      setTimeout: setTimeout(t, parseFloat(s.delay)),
                                      next: t
                                  }
                              }), s.duration.toString().toLowerCase()) {
                                  case "fast":
                                      s.duration = 200;
                                      break;
                                  case "normal":
                                      s.duration = m;
                                      break;
                                  case "slow":
                                      s.duration = 600;
                                      break;
                                  default:
                                      s.duration = parseFloat(s.duration) || 1
                              }!1 !== b.mock && (!0 === b.mock ? s.duration = s.delay = 1 : (s.duration *= parseFloat(b.mock) || 1, s.delay *= parseFloat(b.mock) || 1)), s.easing = c(s.easing, s.duration), s.begin && !v.isFunction(s.begin) && (s.begin = null), s.progress && !v.isFunction(s.progress) && (s.progress = null), s.complete && !v.isFunction(s.complete) && (s.complete = null), s.display !== n && null !== s.display && (s.display = s.display.toString().toLowerCase(), "auto" === s.display && (s.display = b.CSS.Values.getDisplayType(a))), s.visibility !== n && null !== s.visibility && (s.visibility = s.visibility.toString().toLowerCase()), s.mobileHA = s.mobileHA && b.State.isMobile && !b.State.isGingerbread, !1 === s.queue ? s.delay ? setTimeout(t, s.delay) : t() : p.queue(a, s.queue, function (e, i) {
                                  return !0 === i ? (P.promise && P.resolver(f), !0) : (b.velocityQueueEntryFlag = !0, void t(e))
                              }), "" !== s.queue && "fx" !== s.queue || "inprogress" === p.queue(a)[0] || p.dequeue(a)
                          }
                          var s, l, h, f, g, y, w = arguments[0] && (arguments[0].p || p.isPlainObject(arguments[0].properties) && !arguments[0].properties.names || v.isString(arguments[0].properties));
                          if (v.isWrapped(this) ? (s = !1, h = 0, f = this, l = this) : (s = !0, h = 1, f = w ? arguments[0].elements || arguments[0].e : arguments[0]), f = a(f)) {
                              w ? (g = arguments[0].properties || arguments[0].p, y = arguments[0].options || arguments[0].o) : (g = arguments[h], y = arguments[h + 1]);
                              var C = f.length,
                                  T = 0;
                              if (!/^(stop|finish)$/i.test(g) && !p.isPlainObject(y)) {
                                  y = {};
                                  for (var S = h + 1; S < arguments.length; S++) v.isArray(arguments[S]) || !/^(fast|normal|slow)$/i.test(arguments[S]) && !/^\d/.test(arguments[S]) ? v.isString(arguments[S]) || v.isArray(arguments[S]) ? y.easing = arguments[S] : v.isFunction(arguments[S]) && (y.complete = arguments[S]) : y.duration = arguments[S]
                              }
                              var P = {
                                  promise: null,
                                  resolver: null,
                                  rejecter: null
                              };
                              s && b.Promise && (P.promise = new b.Promise(function (t, e) {
                                  P.resolver = t, P.rejecter = e
                              }));
                              var A;
                              switch (g) {
                                  case "scroll":
                                      A = "scroll";
                                      break;
                                  case "reverse":
                                      A = "reverse";
                                      break;
                                  case "finish":
                                  case "stop":
                                      p.each(f, function (t, e) {
                                          r(e) && r(e).delayTimer && (clearTimeout(r(e).delayTimer.setTimeout), r(e).delayTimer.next && r(e).delayTimer.next(), delete r(e).delayTimer)
                                      });
                                      var O = [];
                                      return p.each(b.State.calls, function (t, e) {
                                          e && p.each(e[1], function (i, o) {
                                              var a = y === n ? "" : y;
                                              return !0 !== a && e[2].queue !== a && (y !== n || !1 !== e[2].queue) || void p.each(f, function (i, n) {
                                                  n === o && ((!0 === y || v.isString(y)) && (p.each(p.queue(n, v.isString(y) ? y : ""), function (t, e) {
                                                      v.isFunction(e) && e(null, !0)
                                                  }), p.queue(n, v.isString(y) ? y : "", [])), "stop" === g ? (r(n) && r(n).tweensContainer && !1 !== a && p.each(r(n).tweensContainer, function (t, e) {
                                                      e.endValue = e.currentValue
                                                  }), O.push(t)) : "finish" === g && (e[2].duration = 1))
                                              })
                                          })
                                      }), "stop" === g && (p.each(O, function (t, e) {
                                          d(e, !0)
                                      }), P.promise && P.resolver(f)), t();
                                  default:
                                      if (!p.isPlainObject(g) || v.isEmptyObject(g)) {
                                          if (v.isString(g) && b.Redirects[g]) {
                                              var E = (z = p.extend({}, y)).duration,
                                                  M = z.delay || 0;
                                              return !0 === z.backwards && (f = p.extend(!0, [], f).reverse()), p.each(f, function (t, e) {
                                                  parseFloat(z.stagger) ? z.delay = M + parseFloat(z.stagger) * t : v.isFunction(z.stagger) && (z.delay = M + z.stagger.call(e, t, C)), z.drag && (z.duration = parseFloat(E) || (/^(callout|transition)/.test(g) ? 1e3 : m), z.duration = Math.max(z.duration * (z.backwards ? 1 - t / C : (t + 1) / C), .75 * z.duration, 200)), b.Redirects[g].call(e, e, z || {}, t, C, f, P.promise ? P : n)
                                              }), t()
                                          }
                                          var I = "Velocity: First argument (" + g + ") was not a property map, a known action, or a registered redirect. Aborting.";
                                          return P.promise ? P.rejecter(new Error(I)) : console.log(I), t()
                                      }
                                      A = "start"
                              }
                              var q = {
                                      lastParent: null,
                                      lastPosition: null,
                                      lastFontSize: null,
                                      lastPercentToPxWidth: null,
                                      lastPercentToPxHeight: null,
                                      lastEmToPx: null,
                                      remToPx: null,
                                      vwToPx: null,
                                      vhToPx: null
                                  },
                                  _ = [];
                              p.each(f, function (t, e) {
                                  v.isNode(e) && o.call(e)
                              });
                              var V, z = p.extend({}, b.defaults, y);
                              if (z.loop = parseInt(z.loop), V = 2 * z.loop - 1, z.loop)
                                  for (var D = 0; V > D; D++) {
                                      var j = {
                                          delay: z.delay,
                                          progress: z.progress
                                      };
                                      D === V - 1 && (j.display = z.display, j.visibility = z.visibility, j.complete = z.complete), k(f, "reverse", j)
                                  }
                              return t()
                          }
                      };
                      (b = p.extend(k, b)).animate = k;
                      var C = e.requestAnimationFrame || f;
                      return b.State.isMobile || i.hidden === n || i.addEventListener("visibilitychange", function () {
                          i.hidden ? (C = function (t) {
                              return setTimeout(function () {
                                  t(!0)
                              }, 16)
                          }, u()) : C = e.requestAnimationFrame || f
                      }), t.Velocity = b, t !== e && (t.fn.velocity = k, t.fn.velocity.defaults = b.defaults), p.each(["Down", "Up"], function (t, e) {
                          b.Redirects["slide" + e] = function (t, i, o, a, r, s) {
                              var l = p.extend({}, i),
                                  c = l.begin,
                                  u = l.complete,
                                  d = {
                                      height: "",
                                      marginTop: "",
                                      marginBottom: "",
                                      paddingTop: "",
                                      paddingBottom: ""
                                  },
                                  h = {};
                              l.display === n && (l.display = "Down" === e ? "inline" === b.CSS.Values.getDisplayType(t) ? "inline-block" : "block" : "none"), l.begin = function () {
                                  c && c.call(r, r);
                                  for (var i in d) {
                                      h[i] = t.style[i];
                                      var n = b.CSS.getPropertyValue(t, i);
                                      d[i] = "Down" === e ? [n, 0] : [0, n]
                                  }
                                  h.overflow = t.style.overflow, t.style.overflow = "hidden"
                              }, l.complete = function () {
                                  for (var e in h) t.style[e] = h[e];
                                  u && u.call(r, r), s && s.resolver(r)
                              }, b(t, d, l)
                          }
                      }), p.each(["In", "Out"], function (t, e) {
                          b.Redirects["fade" + e] = function (t, i, o, a, r, s) {
                              var l = p.extend({}, i),
                                  c = {
                                      opacity: "In" === e ? 1 : 0
                                  },
                                  u = l.complete;
                              l.complete = o !== a - 1 ? l.begin = null : function () {
                                  u && u.call(r, r), s && s.resolver(r)
                              }, l.display === n && (l.display = "In" === e ? "auto" : "none"), b(this, c, l)
                          }
                      }), b
                  }
                  jQuery.fn.velocity = jQuery.fn.animate
              }
          }(window.jQuery || window.Zepto || window, window, document)
      })),
      function (t, e, i, n) {
          "use strict";
  
          function o(t, e, i) {
              return setTimeout(u(t, i), e)
          }
  
          function a(t, e, i) {
              return !!Array.isArray(t) && (r(t, i[e], i), !0)
          }
  
          function r(t, e, i) {
              var o;
              if (t)
                  if (t.forEach) t.forEach(e, i);
                  else if (t.length !== n)
                  for (o = 0; o < t.length;) e.call(i, t[o], o, t), o++;
              else
                  for (o in t) t.hasOwnProperty(o) && e.call(i, t[o], o, t)
          }
  
          function s(t, e, i) {
              for (var o = Object.keys(e), a = 0; a < o.length;)(!i || i && t[o[a]] === n) && (t[o[a]] = e[o[a]]), a++;
              return t
          }
  
          function l(t, e) {
              return s(t, e, !0)
          }
  
          function c(t, e, i) {
              var n, o = e.prototype;
              (n = t.prototype = Object.create(o)).constructor = t, n._super = o, i && s(n, i)
          }
  
          function u(t, e) {
              return function () {
                  return t.apply(e, arguments)
              }
          }
  
          function d(t, e) {
              return typeof t == ut ? t.apply(e ? e[0] || n : n, e) : t
          }
  
          function p(t, e) {
              return t === n ? e : t
          }
  
          function h(t, e, i) {
              r(m(e), function (e) {
                  t.addEventListener(e, i, !1)
              })
          }
  
          function f(t, e, i) {
              r(m(e), function (e) {
                  t.removeEventListener(e, i, !1)
              })
          }
  
          function v(t, e) {
              for (; t;) {
                  if (t == e) return !0;
                  t = t.parentNode
              }
              return !1
          }
  
          function g(t, e) {
              return t.indexOf(e) > -1
          }
  
          function m(t) {
              return t.trim().split(/\s+/g)
          }
  
          function y(t, e, i) {
              if (t.indexOf && !i) return t.indexOf(e);
              for (var n = 0; n < t.length;) {
                  if (i && t[n][i] == e || !i && t[n] === e) return n;
                  n++
              }
              return -1
          }
  
          function b(t) {
              return Array.prototype.slice.call(t, 0)
          }
  
          function w(t, e, i) {
              for (var n = [], o = [], a = 0; a < t.length;) {
                  var r = e ? t[a][e] : t[a];
                  y(o, r) < 0 && n.push(t[a]), o[a] = r, a++
              }
              return i && (n = e ? n.sort(function (t, i) {
                  return t[e] > i[e]
              }) : n.sort()), n
          }
  
          function x(t, e) {
              for (var i, o, a = e[0].toUpperCase() + e.slice(1), r = 0; r < lt.length;) {
                  if (i = lt[r], (o = i ? i + a : e) in t) return o;
                  r++
              }
              return n
          }
  
          function k() {
              return ft++
          }
  
          function C(t) {
              var e = t.ownerDocument;
              return e.defaultView || e.parentWindow
          }
  
          function T(t, e) {
              var i = this;
              this.manager = t, this.callback = e, this.element = t.element, this.target = t.options.inputTarget, this.domHandler = function (e) {
                  d(t.options.enable, [t]) && i.handler(e)
              }, this.init()
          }
  
          function S(t) {
              var e = t.options.inputClass;
              return new(e || (mt ? L : yt ? F : gt ? $ : H))(t, P)
          }
  
          function P(t, e, i) {
              var n = i.pointers.length,
                  o = i.changedPointers.length,
                  a = e & kt && 0 == n - o,
                  r = e & (Tt | St) && 0 == n - o;
              i.isFirst = !!a, i.isFinal = !!r, a && (t.session = {}), i.eventType = e, A(t, i), t.emit("hammer.input", i), t.recognize(i), t.session.prevInput = i
          }
  
          function A(t, e) {
              var i = t.session,
                  n = e.pointers,
                  o = n.length;
              i.firstInput || (i.firstInput = M(e)), o > 1 && !i.firstMultiple ? i.firstMultiple = M(e) : 1 === o && (i.firstMultiple = !1);
              var a = i.firstInput,
                  r = i.firstMultiple,
                  s = r ? r.center : a.center,
                  l = e.center = I(n);
              e.timeStamp = ht(), e.deltaTime = e.timeStamp - a.timeStamp, e.angle = z(s, l), e.distance = V(s, l), O(i, e), e.offsetDirection = _(e.deltaX, e.deltaY), e.scale = r ? j(r.pointers, n) : 1, e.rotation = r ? D(r.pointers, n) : 0, E(i, e);
              var c = t.element;
              v(e.srcEvent.target, c) && (c = e.srcEvent.target), e.target = c
          }
  
          function O(t, e) {
              var i = e.center,
                  n = t.offsetDelta || {},
                  o = t.prevDelta || {},
                  a = t.prevInput || {};
              (e.eventType === kt || a.eventType === Tt) && (o = t.prevDelta = {
                  x: a.deltaX || 0,
                  y: a.deltaY || 0
              }, n = t.offsetDelta = {
                  x: i.x,
                  y: i.y
              }), e.deltaX = o.x + (i.x - n.x), e.deltaY = o.y + (i.y - n.y)
          }
  
          function E(t, e) {
              var i, o, a, r, s = t.lastInterval || e,
                  l = e.timeStamp - s.timeStamp;
              if (e.eventType != St && (l > xt || s.velocity === n)) {
                  var c = s.deltaX - e.deltaX,
                      u = s.deltaY - e.deltaY,
                      d = q(l, c, u);
                  o = d.x, a = d.y, i = pt(d.x) > pt(d.y) ? d.x : d.y, r = _(c, u), t.lastInterval = e
              } else i = s.velocity, o = s.velocityX, a = s.velocityY, r = s.direction;
              e.velocity = i, e.velocityX = o, e.velocityY = a, e.direction = r
          }
  
          function M(t) {
              for (var e = [], i = 0; i < t.pointers.length;) e[i] = {
                  clientX: dt(t.pointers[i].clientX),
                  clientY: dt(t.pointers[i].clientY)
              }, i++;
              return {
                  timeStamp: ht(),
                  pointers: e,
                  center: I(e),
                  deltaX: t.deltaX,
                  deltaY: t.deltaY
              }
          }
  
          function I(t) {
              var e = t.length;
              if (1 === e) return {
                  x: dt(t[0].clientX),
                  y: dt(t[0].clientY)
              };
              for (var i = 0, n = 0, o = 0; e > o;) i += t[o].clientX, n += t[o].clientY, o++;
              return {
                  x: dt(i / e),
                  y: dt(n / e)
              }
          }
  
          function q(t, e, i) {
              return {
                  x: e / t || 0,
                  y: i / t || 0
              }
          }
  
          function _(t, e) {
              return t === e ? Pt : pt(t) >= pt(e) ? t > 0 ? At : Ot : e > 0 ? Et : Mt
          }
  
          function V(t, e, i) {
              i || (i = Vt);
              var n = e[i[0]] - t[i[0]],
                  o = e[i[1]] - t[i[1]];
              return Math.sqrt(n * n + o * o)
          }
  
          function z(t, e, i) {
              i || (i = Vt);
              var n = e[i[0]] - t[i[0]],
                  o = e[i[1]] - t[i[1]];
              return 180 * Math.atan2(o, n) / Math.PI
          }
  
          function D(t, e) {
              return z(e[1], e[0], zt) - z(t[1], t[0], zt)
          }
  
          function j(t, e) {
              return V(e[0], e[1], zt) / V(t[0], t[1], zt)
          }
  
          function H() {
              this.evEl = jt, this.evWin = Ht, this.allow = !0, this.pressed = !1, T.apply(this, arguments)
          }
  
          function L() {
              this.evEl = Nt, this.evWin = Ft, T.apply(this, arguments), this.store = this.manager.session.pointerEvents = []
          }
  
          function W() {
              this.evTarget = $t, this.evWin = Xt, this.started = !1, T.apply(this, arguments)
          }
  
          function N(t, e) {
              var i = b(t.touches),
                  n = b(t.changedTouches);
              return e & (Tt | St) && (i = w(i.concat(n), "identifier", !0)), [i, n]
          }
  
          function F() {
              this.evTarget = Yt, this.targetIds = {}, T.apply(this, arguments)
          }
  
          function Q(t, e) {
              var i = b(t.touches),
                  n = this.targetIds;
              if (e & (kt | Ct) && 1 === i.length) return n[i[0].identifier] = !0, [i, i];
              var o, a, r = b(t.changedTouches),
                  s = [],
                  l = this.target;
              if (a = i.filter(function (t) {
                      return v(t.target, l)
                  }), e === kt)
                  for (o = 0; o < a.length;) n[a[o].identifier] = !0, o++;
              for (o = 0; o < r.length;) n[r[o].identifier] && s.push(r[o]), e & (Tt | St) && delete n[r[o].identifier], o++;
              return s.length ? [w(a.concat(s), "identifier", !0), s] : void 0
          }
  
          function $() {
              T.apply(this, arguments);
              var t = u(this.handler, this);
              this.touch = new F(this.manager, t), this.mouse = new H(this.manager, t)
          }
  
          function X(t, e) {
              this.manager = t, this.set(e)
          }
  
          function R(t) {
              if (g(t, Kt)) return Kt;
              var e = g(t, te),
                  i = g(t, ee);
              return e && i ? te + " " + ee : e || i ? e ? te : ee : g(t, Jt) ? Jt : Zt
          }
  
          function Y(t) {
              this.id = k(), this.manager = null, this.options = l(t || {}, this.defaults), this.options.enable = p(this.options.enable, !0), this.state = ie, this.simultaneous = {}, this.requireFail = []
          }
  
          function B(t) {
              return t & se ? "cancel" : t & ae ? "end" : t & oe ? "move" : t & ne ? "start" : ""
          }
  
          function U(t) {
              return t == Mt ? "down" : t == Et ? "up" : t == At ? "left" : t == Ot ? "right" : ""
          }
  
          function G(t, e) {
              var i = e.manager;
              return i ? i.get(t) : t
          }
  
          function Z() {
              Y.apply(this, arguments)
          }
  
          function J() {
              Z.apply(this, arguments), this.pX = null, this.pY = null
          }
  
          function K() {
              Z.apply(this, arguments)
          }
  
          function tt() {
              Y.apply(this, arguments), this._timer = null, this._input = null
          }
  
          function et() {
              Z.apply(this, arguments)
          }
  
          function it() {
              Z.apply(this, arguments)
          }
  
          function nt() {
              Y.apply(this, arguments), this.pTime = !1, this.pCenter = !1, this._timer = null, this._input = null, this.count = 0
          }
  
          function ot(t, e) {
              return e = e || {}, e.recognizers = p(e.recognizers, ot.defaults.preset), new at(t, e)
          }
  
          function at(t, e) {
              e = e || {}, this.options = l(e, ot.defaults), this.options.inputTarget = this.options.inputTarget || t, this.handlers = {}, this.session = {}, this.recognizers = [], this.element = t, this.input = S(this), this.touchAction = new X(this, this.options.touchAction), rt(this, !0), r(e.recognizers, function (t) {
                  var e = this.add(new t[0](t[1]));
                  t[2] && e.recognizeWith(t[2]), t[3] && e.requireFailure(t[3])
              }, this)
          }
  
          function rt(t, e) {
              var i = t.element;
              r(t.options.cssProps, function (t, n) {
                  i.style[x(i.style, n)] = e ? t : ""
              })
          }
  
          function st(t, i) {
              var n = e.createEvent("Event");
              n.initEvent(t, !0, !0), n.gesture = i, i.target.dispatchEvent(n)
          }
          var lt = ["", "webkit", "moz", "MS", "ms", "o"],
              ct = e.createElement("div"),
              ut = "function",
              dt = Math.round,
              pt = Math.abs,
              ht = Date.now,
              ft = 1,
              vt = /mobile|tablet|ip(ad|hone|od)|android/i,
              gt = "ontouchstart" in t,
              mt = x(t, "PointerEvent") !== n,
              yt = gt && vt.test(navigator.userAgent),
              bt = "touch",
              wt = "mouse",
              xt = 25,
              kt = 1,
              Ct = 2,
              Tt = 4,
              St = 8,
              Pt = 1,
              At = 2,
              Ot = 4,
              Et = 8,
              Mt = 16,
              It = At | Ot,
              qt = Et | Mt,
              _t = It | qt,
              Vt = ["x", "y"],
              zt = ["clientX", "clientY"];
          T.prototype = {
              handler: function () {},
              init: function () {
                  this.evEl && h(this.element, this.evEl, this.domHandler), this.evTarget && h(this.target, this.evTarget, this.domHandler), this.evWin && h(C(this.element), this.evWin, this.domHandler)
              },
              destroy: function () {
                  this.evEl && f(this.element, this.evEl, this.domHandler), this.evTarget && f(this.target, this.evTarget, this.domHandler), this.evWin && f(C(this.element), this.evWin, this.domHandler)
              }
          };
          var Dt = {
                  mousedown: kt,
                  mousemove: Ct,
                  mouseup: Tt
              },
              jt = "mousedown",
              Ht = "mousemove mouseup";
          c(H, T, {
              handler: function (t) {
                  var e = Dt[t.type];
                  e & kt && 0 === t.button && (this.pressed = !0), e & Ct && 1 !== t.which && (e = Tt), this.pressed && this.allow && (e & Tt && (this.pressed = !1), this.callback(this.manager, e, {
                      pointers: [t],
                      changedPointers: [t],
                      pointerType: wt,
                      srcEvent: t
                  }))
              }
          });
          var Lt = {
                  pointerdown: kt,
                  pointermove: Ct,
                  pointerup: Tt,
                  pointercancel: St,
                  pointerout: St
              },
              Wt = {
                  2: bt,
                  3: "pen",
                  4: wt,
                  5: "kinect"
              },
              Nt = "pointerdown",
              Ft = "pointermove pointerup pointercancel";
          t.MSPointerEvent && (Nt = "MSPointerDown", Ft = "MSPointerMove MSPointerUp MSPointerCancel"), c(L, T, {
              handler: function (t) {
                  var e = this.store,
                      i = !1,
                      n = t.type.toLowerCase().replace("ms", ""),
                      o = Lt[n],
                      a = Wt[t.pointerType] || t.pointerType,
                      r = a == bt,
                      s = y(e, t.pointerId, "pointerId");
                  o & kt && (0 === t.button || r) ? 0 > s && (e.push(t), s = e.length - 1) : o & (Tt | St) && (i = !0), 0 > s || (e[s] = t, this.callback(this.manager, o, {
                      pointers: e,
                      changedPointers: [t],
                      pointerType: a,
                      srcEvent: t
                  }), i && e.splice(s, 1))
              }
          });
          var Qt = {
                  touchstart: kt,
                  touchmove: Ct,
                  touchend: Tt,
                  touchcancel: St
              },
              $t = "touchstart",
              Xt = "touchstart touchmove touchend touchcancel";
          c(W, T, {
              handler: function (t) {
                  var e = Qt[t.type];
                  if (e === kt && (this.started = !0), this.started) {
                      var i = N.call(this, t, e);
                      e & (Tt | St) && 0 == i[0].length - i[1].length && (this.started = !1), this.callback(this.manager, e, {
                          pointers: i[0],
                          changedPointers: i[1],
                          pointerType: bt,
                          srcEvent: t
                      })
                  }
              }
          });
          var Rt = {
                  touchstart: kt,
                  touchmove: Ct,
                  touchend: Tt,
                  touchcancel: St
              },
              Yt = "touchstart touchmove touchend touchcancel";
          c(F, T, {
              handler: function (t) {
                  var e = Rt[t.type],
                      i = Q.call(this, t, e);
                  i && this.callback(this.manager, e, {
                      pointers: i[0],
                      changedPointers: i[1],
                      pointerType: bt,
                      srcEvent: t
                  })
              }
          }), c($, T, {
              handler: function (t, e, i) {
                  var n = i.pointerType == bt,
                      o = i.pointerType == wt;
                  if (n) this.mouse.allow = !1;
                  else if (o && !this.mouse.allow) return;
                  e & (Tt | St) && (this.mouse.allow = !0), this.callback(t, e, i)
              },
              destroy: function () {
                  this.touch.destroy(), this.mouse.destroy()
              }
          });
          var Bt = x(ct.style, "touchAction"),
              Ut = Bt !== n,
              Gt = "compute",
              Zt = "auto",
              Jt = "manipulation",
              Kt = "none",
              te = "pan-x",
              ee = "pan-y";
          X.prototype = {
              set: function (t) {
                  t == Gt && (t = this.compute()), Ut && (this.manager.element.style[Bt] = t), this.actions = t.toLowerCase().trim()
              },
              update: function () {
                  this.set(this.manager.options.touchAction)
              },
              compute: function () {
                  var t = [];
                  return r(this.manager.recognizers, function (e) {
                      d(e.options.enable, [e]) && (t = t.concat(e.getTouchAction()))
                  }), R(t.join(" "))
              },
              preventDefaults: function (t) {
                  if (!Ut) {
                      var e = t.srcEvent,
                          i = t.offsetDirection;
                      if (this.manager.session.prevented) return void e.preventDefault();
                      var n = this.actions,
                          o = g(n, Kt),
                          a = g(n, ee),
                          r = g(n, te);
                      return o || a && i & It || r && i & qt ? this.preventSrc(e) : void 0
                  }
              },
              preventSrc: function (t) {
                  this.manager.session.prevented = !0, t.preventDefault()
              }
          };
          var ie = 1,
              ne = 2,
              oe = 4,
              ae = 8,
              re = ae,
              se = 16;
          Y.prototype = {
              defaults: {},
              set: function (t) {
                  return s(this.options, t), this.manager && this.manager.touchAction.update(), this
              },
              recognizeWith: function (t) {
                  if (a(t, "recognizeWith", this)) return this;
                  var e = this.simultaneous;
                  return t = G(t, this), e[t.id] || (e[t.id] = t, t.recognizeWith(this)), this
              },
              dropRecognizeWith: function (t) {
                  return a(t, "dropRecognizeWith", this) ? this : (t = G(t, this), delete this.simultaneous[t.id], this)
              },
              requireFailure: function (t) {
                  if (a(t, "requireFailure", this)) return this;
                  var e = this.requireFail;
                  return t = G(t, this), -1 === y(e, t) && (e.push(t), t.requireFailure(this)), this
              },
              dropRequireFailure: function (t) {
                  if (a(t, "dropRequireFailure", this)) return this;
                  t = G(t, this);
                  var e = y(this.requireFail, t);
                  return e > -1 && this.requireFail.splice(e, 1), this
              },
              hasRequireFailures: function () {
                  return this.requireFail.length > 0
              },
              canRecognizeWith: function (t) {
                  return !!this.simultaneous[t.id]
              },
              emit: function (t) {
                  function e(e) {
                      i.manager.emit(i.options.event + (e ? B(n) : ""), t)
                  }
                  var i = this,
                      n = this.state;
                  ae > n && e(!0), e(), n >= ae && e(!0)
              },
              tryEmit: function (t) {
                  return this.canEmit() ? this.emit(t) : void(this.state = 32)
              },
              canEmit: function () {
                  for (var t = 0; t < this.requireFail.length;) {
                      if (!(this.requireFail[t].state & (32 | ie))) return !1;
                      t++
                  }
                  return !0
              },
              recognize: function (t) {
                  var e = s({}, t);
                  return d(this.options.enable, [this, e]) ? (this.state & (re | se | 32) && (this.state = ie), this.state = this.process(e), void(this.state & (ne | oe | ae | se) && this.tryEmit(e))) : (this.reset(), void(this.state = 32))
              },
              process: function () {},
              getTouchAction: function () {},
              reset: function () {}
          }, c(Z, Y, {
              defaults: {
                  pointers: 1
              },
              attrTest: function (t) {
                  var e = this.options.pointers;
                  return 0 === e || t.pointers.length === e
              },
              process: function (t) {
                  var e = this.state,
                      i = t.eventType,
                      n = e & (ne | oe),
                      o = this.attrTest(t);
                  return n && (i & St || !o) ? e | se : n || o ? i & Tt ? e | ae : e & ne ? e | oe : ne : 32
              }
          }), c(J, Z, {
              defaults: {
                  event: "pan",
                  threshold: 10,
                  pointers: 1,
                  direction: _t
              },
              getTouchAction: function () {
                  var t = this.options.direction,
                      e = [];
                  return t & It && e.push(ee), t & qt && e.push(te), e
              },
              directionTest: function (t) {
                  var e = this.options,
                      i = !0,
                      n = t.distance,
                      o = t.direction,
                      a = t.deltaX,
                      r = t.deltaY;
                  return o & e.direction || (e.direction & It ? (o = 0 === a ? Pt : 0 > a ? At : Ot, i = a != this.pX, n = Math.abs(t.deltaX)) : (o = 0 === r ? Pt : 0 > r ? Et : Mt, i = r != this.pY, n = Math.abs(t.deltaY))), t.direction = o, i && n > e.threshold && o & e.direction
              },
              attrTest: function (t) {
                  return Z.prototype.attrTest.call(this, t) && (this.state & ne || !(this.state & ne) && this.directionTest(t))
              },
              emit: function (t) {
                  this.pX = t.deltaX, this.pY = t.deltaY;
                  var e = U(t.direction);
                  e && this.manager.emit(this.options.event + e, t), this._super.emit.call(this, t)
              }
          }), c(K, Z, {
              defaults: {
                  event: "pinch",
                  threshold: 0,
                  pointers: 2
              },
              getTouchAction: function () {
                  return [Kt]
              },
              attrTest: function (t) {
                  return this._super.attrTest.call(this, t) && (Math.abs(t.scale - 1) > this.options.threshold || this.state & ne)
              },
              emit: function (t) {
                  if (this._super.emit.call(this, t), 1 !== t.scale) {
                      var e = t.scale < 1 ? "in" : "out";
                      this.manager.emit(this.options.event + e, t)
                  }
              }
          }), c(tt, Y, {
              defaults: {
                  event: "press",
                  pointers: 1,
                  time: 500,
                  threshold: 5
              },
              getTouchAction: function () {
                  return [Zt]
              },
              process: function (t) {
                  var e = this.options,
                      i = t.pointers.length === e.pointers,
                      n = t.distance < e.threshold,
                      a = t.deltaTime > e.time;
                  if (this._input = t, !n || !i || t.eventType & (Tt | St) && !a) this.reset();
                  else if (t.eventType & kt) this.reset(), this._timer = o(function () {
                      this.state = re, this.tryEmit()
                  }, e.time, this);
                  else if (t.eventType & Tt) return re;
                  return 32
              },
              reset: function () {
                  clearTimeout(this._timer)
              },
              emit: function (t) {
                  this.state === re && (t && t.eventType & Tt ? this.manager.emit(this.options.event + "up", t) : (this._input.timeStamp = ht(), this.manager.emit(this.options.event, this._input)))
              }
          }), c(et, Z, {
              defaults: {
                  event: "rotate",
                  threshold: 0,
                  pointers: 2
              },
              getTouchAction: function () {
                  return [Kt]
              },
              attrTest: function (t) {
                  return this._super.attrTest.call(this, t) && (Math.abs(t.rotation) > this.options.threshold || this.state & ne)
              }
          }), c(it, Z, {
              defaults: {
                  event: "swipe",
                  threshold: 10,
                  velocity: .65,
                  direction: It | qt,
                  pointers: 1
              },
              getTouchAction: function () {
                  return J.prototype.getTouchAction.call(this)
              },
              attrTest: function (t) {
                  var e, i = this.options.direction;
                  return i & (It | qt) ? e = t.velocity : i & It ? e = t.velocityX : i & qt && (e = t.velocityY), this._super.attrTest.call(this, t) && i & t.direction && t.distance > this.options.threshold && pt(e) > this.options.velocity && t.eventType & Tt
              },
              emit: function (t) {
                  var e = U(t.direction);
                  e && this.manager.emit(this.options.event + e, t), this.manager.emit(this.options.event, t)
              }
          }), c(nt, Y, {
              defaults: {
                  event: "tap",
                  pointers: 1,
                  taps: 1,
                  interval: 300,
                  time: 250,
                  threshold: 2,
                  posThreshold: 10
              },
              getTouchAction: function () {
                  return [Jt]
              },
              process: function (t) {
                  var e = this.options,
                      i = t.pointers.length === e.pointers,
                      n = t.distance < e.threshold,
                      a = t.deltaTime < e.time;
                  if (this.reset(), t.eventType & kt && 0 === this.count) return this.failTimeout();
                  if (n && a && i) {
                      if (t.eventType != Tt) return this.failTimeout();
                      var r = !this.pTime || t.timeStamp - this.pTime < e.interval,
                          s = !this.pCenter || V(this.pCenter, t.center) < e.posThreshold;
                      if (this.pTime = t.timeStamp, this.pCenter = t.center, s && r ? this.count += 1 : this.count = 1, this._input = t, 0 === this.count % e.taps) return this.hasRequireFailures() ? (this._timer = o(function () {
                          this.state = re, this.tryEmit()
                      }, e.interval, this), ne) : re
                  }
                  return 32
              },
              failTimeout: function () {
                  return this._timer = o(function () {
                      this.state = 32
                  }, this.options.interval, this), 32
              },
              reset: function () {
                  clearTimeout(this._timer)
              },
              emit: function () {
                  this.state == re && (this._input.tapCount = this.count, this.manager.emit(this.options.event, this._input))
              }
          }), ot.VERSION = "2.0.4", ot.defaults = {
              domEvents: !1,
              touchAction: Gt,
              enable: !0,
              inputTarget: null,
              inputClass: null,
              preset: [
                  [et, {
                      enable: !1
                  }],
                  [K, {
                          enable: !1
                      },
                      ["rotate"]
                  ],
                  [it, {
                      direction: It
                  }],
                  [J, {
                          direction: It
                      },
                      ["swipe"]
                  ],
                  [nt],
                  [nt, {
                          event: "doubletap",
                          taps: 2
                      },
                      ["tap"]
                  ],
                  [tt]
              ],
              cssProps: {
                  userSelect: "default",
                  touchSelect: "none",
                  touchCallout: "none",
                  contentZooming: "none",
                  userDrag: "none",
                  tapHighlightColor: "rgba(0,0,0,0)"
              }
          };
          at.prototype = {
              set: function (t) {
                  return s(this.options, t), t.touchAction && this.touchAction.update(), t.inputTarget && (this.input.destroy(), this.input.target = t.inputTarget, this.input.init()), this
              },
              stop: function (t) {
                  this.session.stopped = t ? 2 : 1
              },
              recognize: function (t) {
                  var e = this.session;
                  if (!e.stopped) {
                      this.touchAction.preventDefaults(t);
                      var i, n = this.recognizers,
                          o = e.curRecognizer;
                      (!o || o && o.state & re) && (o = e.curRecognizer = null);
                      for (var a = 0; a < n.length;) i = n[a], 2 === e.stopped || o && i != o && !i.canRecognizeWith(o) ? i.reset() : i.recognize(t), !o && i.state & (ne | oe | ae) && (o = e.curRecognizer = i), a++
                  }
              },
              get: function (t) {
                  if (t instanceof Y) return t;
                  for (var e = this.recognizers, i = 0; i < e.length; i++)
                      if (e[i].options.event == t) return e[i];
                  return null
              },
              add: function (t) {
                  if (a(t, "add", this)) return this;
                  var e = this.get(t.options.event);
                  return e && this.remove(e), this.recognizers.push(t), t.manager = this, this.touchAction.update(), t
              },
              remove: function (t) {
                  if (a(t, "remove", this)) return this;
                  var e = this.recognizers;
                  return t = this.get(t), e.splice(y(e, t), 1), this.touchAction.update(), this
              },
              on: function (t, e) {
                  var i = this.handlers;
                  return r(m(t), function (t) {
                      i[t] = i[t] || [], i[t].push(e)
                  }), this
              },
              off: function (t, e) {
                  var i = this.handlers;
                  return r(m(t), function (t) {
                      e ? i[t].splice(y(i[t], e), 1) : delete i[t]
                  }), this
              },
              emit: function (t, e) {
                  this.options.domEvents && st(t, e);
                  var i = this.handlers[t] && this.handlers[t].slice();
                  if (i && i.length) {
                      e.type = t, e.preventDefault = function () {
                          e.srcEvent.preventDefault()
                      };
                      for (var n = 0; n < i.length;) i[n](e), n++
                  }
              },
              destroy: function () {
                  this.element && rt(this, !1), this.handlers = {}, this.session = {}, this.input.destroy(), this.element = null
              }
          }, s(ot, {
              INPUT_START: kt,
              INPUT_MOVE: Ct,
              INPUT_END: Tt,
              INPUT_CANCEL: St,
              STATE_POSSIBLE: ie,
              STATE_BEGAN: ne,
              STATE_CHANGED: oe,
              STATE_ENDED: ae,
              STATE_RECOGNIZED: re,
              STATE_CANCELLED: se,
              STATE_FAILED: 32,
              DIRECTION_NONE: Pt,
              DIRECTION_LEFT: At,
              DIRECTION_RIGHT: Ot,
              DIRECTION_UP: Et,
              DIRECTION_DOWN: Mt,
              DIRECTION_HORIZONTAL: It,
              DIRECTION_VERTICAL: qt,
              DIRECTION_ALL: _t,
              Manager: at,
              Input: T,
              TouchAction: X,
              TouchInput: F,
              MouseInput: H,
              PointerEventInput: L,
              TouchMouseInput: $,
              SingleTouchInput: W,
              Recognizer: Y,
              AttrRecognizer: Z,
              Tap: nt,
              Pan: J,
              Swipe: it,
              Pinch: K,
              Rotate: et,
              Press: tt,
              on: h,
              off: f,
              each: r,
              merge: l,
              extend: s,
              inherit: c,
              bindFn: u,
              prefixed: x
          }), typeof define == ut && define.amd ? define(function () {
              return ot
          }) : "undefined" != typeof module && module.exports ? module.exports = ot : t.Hammer = ot
      }(window, document),
      function (t) {
          "function" == typeof define && define.amd ? define(["jquery", "hammerjs"], t) : "object" == typeof exports ? t(require("jquery"), require("hammerjs")) : t(jQuery, Hammer)
      }(function (t, e) {
          function i(i, n) {
              var o = t(i);
              o.data("hammer") || o.data("hammer", new e(o[0], n))
          }
          t.fn.hammer = function (t) {
              return this.each(function () {
                  i(this, t)
              })
          }, e.Manager.prototype.emit = function (e) {
              return function (i, n) {
                  e.call(this, i, n), t(this.element).trigger({
                      type: i,
                      gesture: n
                  })
              }
          }(e.Manager.prototype.emit)
      }),
      function (t) {
          t.Package ? Materialize = {} : t.Materialize = {}
      }(window),
      function (t) {
          for (var e = 0, i = ["webkit", "moz"], n = t.requestAnimationFrame, o = t.cancelAnimationFrame, a = i.length; --a >= 0 && !n;) n = t[i[a] + "RequestAnimationFrame"], o = t[i[a] + "CancelRequestAnimationFrame"];
          n && o || (n = function (t) {
              var i = +Date.now(),
                  n = Math.max(e + 16, i);
              return setTimeout(function () {
                  t(e = n)
              }, n - i)
          }, o = clearTimeout), t.requestAnimationFrame = n, t.cancelAnimationFrame = o
      }(window), Materialize.objectSelectorString = function (t) {
          return ((t.prop("tagName") || "") + (t.attr("id") || "") + (t.attr("class") || "")).replace(/\s/g, "")
      }, Materialize.guid = function () {
          function t() {
              return Math.floor(65536 * (1 + Math.random())).toString(16).substring(1)
          }
          return function () {
              return t() + t() + "-" + t() + "-" + t() + "-" + t() + "-" + t() + t() + t()
          }
      }(), Materialize.escapeHash = function (t) {
          return t.replace(/(:|\.|\[|\]|,|=)/g, "\\$1")
      }, Materialize.elementOrParentIsFixed = function (t) {
          var e = $(t),
              i = !1;
          return e.add(e.parents()).each(function () {
              if ("fixed" === $(this).css("position")) return i = !0, !1
          }), i
      };
  var getTime = Date.now || function () {
      return (new Date).getTime()
  };
  Materialize.throttle = function (t, e, i) {
      var n, o, a, r = null,
          s = 0;
      i || (i = {});
      var l = function () {
          s = !1 === i.leading ? 0 : getTime(), r = null, a = t.apply(n, o), n = o = null
      };
      return function () {
          var c = getTime();
          s || !1 !== i.leading || (s = c);
          var u = e - (c - s);
          return n = this, o = arguments, u <= 0 ? (clearTimeout(r), r = null, s = c, a = t.apply(n, o), n = o = null) : r || !1 === i.trailing || (r = setTimeout(l, u)), a
      }
  };
  var Vel;
  Vel = jQuery ? jQuery.Velocity : $ ? $.Velocity : Velocity,
      function (t) {
          t.fn.collapsible = function (e, i) {
              var n = {
                      accordion: void 0,
                      onOpen: void 0,
                      onClose: void 0
                  },
                  o = e;
              return e = t.extend(n, e), this.each(function () {
                  function n(e) {
                      p = d.find("> li > .collapsible-header"), e.hasClass("active") ? e.parent().addClass("active") : e.parent().removeClass("active"), e.parent().hasClass("active") ? e.siblings(".collapsible-body").stop(!0, !1).slideDown({
                          duration: 350,
                          easing: "easeOutQuart",
                          queue: !1,
                          complete: function () {
                              t(this).css("height", "")
                          }
                      }) : e.siblings(".collapsible-body").stop(!0, !1).slideUp({
                          duration: 350,
                          easing: "easeOutQuart",
                          queue: !1,
                          complete: function () {
                              t(this).css("height", "")
                          }
                      }), p.not(e).removeClass("active").parent().removeClass("active"), p.not(e).parent().children(".collapsible-body").stop(!0, !1).each(function () {
                          t(this).is(":visible") && t(this).slideUp({
                              duration: 350,
                              easing: "easeOutQuart",
                              queue: !1,
                              complete: function () {
                                  t(this).css("height", ""), s(t(this).siblings(".collapsible-header"))
                              }
                          })
                      })
                  }
  
                  function a(e) {
                      e.hasClass("active") ? e.parent().addClass("active") : e.parent().removeClass("active"), e.parent().hasClass("active") ? e.siblings(".collapsible-body").stop(!0, !1).slideDown({
                          duration: 350,
                          easing: "easeOutQuart",
                          queue: !1,
                          complete: function () {
                              t(this).css("height", "")
                          }
                      }) : e.siblings(".collapsible-body").stop(!0, !1).slideUp({
                          duration: 350,
                          easing: "easeOutQuart",
                          queue: !1,
                          complete: function () {
                              t(this).css("height", "")
                          }
                      })
                  }
  
                  function r(t, i) {
                      i || t.toggleClass("active"), e.accordion || "accordion" === h || void 0 === h ? n(t) : a(t), s(t)
                  }
  
                  function s(t) {
                      t.hasClass("active") ? "function" == typeof e.onOpen && e.onOpen.call(this, t.parent()) : "function" == typeof e.onClose && e.onClose.call(this, t.parent())
                  }
  
                  function l(t) {
                      return c(t).length > 0
                  }
  
                  function c(t) {
                      return t.closest("li > .collapsible-header")
                  }
  
                  function u() {
                      d.off("click.collapse", "> li > .collapsible-header")
                  }
                  var d = t(this),
                      p = t(this).find("> li > .collapsible-header"),
                      h = d.data("collapsible");
                  if ("destroy" !== o)
                      if (i >= 0 && i < p.length) {
                          var f = p.eq(i);
                          f.length && ("open" === o || "close" === o && f.hasClass("active")) && r(f)
                      } else u(), d.on("click.collapse", "> li > .collapsible-header", function (e) {
                          var i = t(e.target);
                          l(i) && (i = c(i)), r(i)
                      }), e.accordion || "accordion" === h || void 0 === h ? r(p.filter(".active").first(), !0) : p.filter(".active").each(function () {
                          r(t(this), !0)
                      });
                  else u()
              })
          }, t(document).ready(function () {
              t(".collapsible").collapsible()
          })
      }(jQuery),
      function (t) {
          t.fn.scrollTo = function (e) {
              return t(this).scrollTop(t(this).scrollTop() - t(this).offset().top + t(e).offset().top), this
          }, t.fn.dropdown = function (e) {
              var i = {
                  inDuration: 300,
                  outDuration: 225,
                  constrainWidth: !0,
                  hover: !1,
                  gutter: 0,
                  belowOrigin: !1,
                  alignment: "left",
                  stopPropagation: !1
              };
              return "open" === e ? (this.each(function () {
                  t(this).trigger("open")
              }), !1) : "close" === e ? (this.each(function () {
                  t(this).trigger("close")
              }), !1) : void this.each(function () {
                  function n() {
                      void 0 !== r.data("induration") && (s.inDuration = r.data("induration")), void 0 !== r.data("outduration") && (s.outDuration = r.data("outduration")), void 0 !== r.data("constrainwidth") && (s.constrainWidth = r.data("constrainwidth")), void 0 !== r.data("hover") && (s.hover = r.data("hover")), void 0 !== r.data("gutter") && (s.gutter = r.data("gutter")), void 0 !== r.data("beloworigin") && (s.belowOrigin = r.data("beloworigin")), void 0 !== r.data("alignment") && (s.alignment = r.data("alignment")), void 0 !== r.data("stoppropagation") && (s.stopPropagation = r.data("stoppropagation"))
                  }
  
                  function o(e) {
                      "focus" === e && (l = !0), n(), c.addClass("active"), r.addClass("active"), !0 === s.constrainWidth ? c.css("width", r.outerWidth()) : c.css("white-space", "nowrap");
                      var i = window.innerHeight,
                          o = r.innerHeight(),
                          u = r.offset().left,
                          d = r.offset().top - t(window).scrollTop(),
                          p = s.alignment,
                          h = 0,
                          f = 0,
                          v = 0;
                      !0 === s.belowOrigin && (v = o);
                      var g = 0,
                          m = 0,
                          y = r.parent();
                      if (y.is("body") || (y[0].scrollHeight > y[0].clientHeight && (g = y[0].scrollTop), y[0].scrollWidth > y[0].clientWidth && (m = y[0].scrollLeft)), u + c.innerWidth() > t(window).width() ? p = "right" : u - c.innerWidth() + r.innerWidth() < 0 && (p = "left"), d + c.innerHeight() > i)
                          if (d + o - c.innerHeight() < 0) {
                              var b = i - d - v;
                              c.css("max-height", b)
                          } else v || (v += o), v -= c.innerHeight();
                      "left" === p ? (h = s.gutter, f = r.position().left + h) : "right" === p && (c.stop(!0, !0).css({
                          opacity: 0,
                          left: 0
                      }), f = r.position().left + r.outerWidth() - c.outerWidth() + (h = -s.gutter)), c.css({
                          position: "absolute",
                          top: r.position().top + v + g,
                          left: f + m
                      }), c.slideDown({
                          queue: !1,
                          duration: s.inDuration,
                          easing: "easeOutCubic",
                          complete: function () {
                              t(this).css("height", "")
                          }
                      }).animate({
                          opacity: 1
                      }, {
                          queue: !1,
                          duration: s.inDuration,
                          easing: "easeOutSine"
                      }), setTimeout(function () {
                          t(document).on("click." + c.attr("id"), function (e) {
                              a(), t(document).off("click." + c.attr("id"))
                          })
                      }, 0)
                  }
  
                  function a() {
                      l = !1, c.fadeOut(s.outDuration), c.removeClass("active"), r.removeClass("active"), t(document).off("click." + c.attr("id")), setTimeout(function () {
                          c.css("max-height", "")
                      }, s.outDuration)
                  }
                  var r = t(this),
                      s = t.extend({}, i, e),
                      l = !1,
                      c = t("#" + r.attr("data-activates"));
                  if (n(), r.after(c), s.hover) {
                      var u = !1;
                      r.off("click." + r.attr("id")), r.on("mouseenter", function (t) {
                          !1 === u && (o(), u = !0)
                      }), r.on("mouseleave", function (e) {
                          var i = e.toElement || e.relatedTarget;
                          t(i).closest(".dropdown-content").is(c) || (c.stop(!0, !0), a(), u = !1)
                      }), c.on("mouseleave", function (e) {
                          var i = e.toElement || e.relatedTarget;
                          t(i).closest(".dropdown-button").is(r) || (c.stop(!0, !0), a(), u = !1)
                      })
                  } else r.off("click." + r.attr("id")), r.on("click." + r.attr("id"), function (e) {
                      l || (r[0] != e.currentTarget || r.hasClass("active") || 0 !== t(e.target).closest(".dropdown-content").length ? r.hasClass("active") && (a(), t(document).off("click." + c.attr("id"))) : (e.preventDefault(), s.stopPropagation && e.stopPropagation(), o("click")))
                  });
                  r.on("open", function (t, e) {
                      o(e)
                  }), r.on("close", a)
              })
          }, t(document).ready(function () {
              t(".dropdown-button").dropdown()
          })
      }(jQuery),
      function (t) {
          var e = 0,
              i = 0,
              n = function () {
                  return "materialize-modal-overlay-" + ++i
              },
              o = {
                  init: function (i) {
                      var o = {
                          opacity: .5,
                          inDuration: 350,
                          outDuration: 250,
                          ready: void 0,
                          complete: void 0,
                          dismissible: !0,
                          startingTop: "4%",
                          endingTop: "10%"
                      };
                      return i = t.extend(o, i), this.each(function () {
                          var o = t(this),
                              a = t(this).attr("id") || "#" + t(this).data("target"),
                              r = function () {
                                  var n = o.data("overlay-id"),
                                      a = t("#" + n);
                                  o.removeClass("open"), t("body").css({
                                      overflow: "",
                                      width: ""
                                  }), o.find(".modal-close").off("click.close"), t(document).off("keyup.modal" + n), a.velocity({
                                      opacity: 0
                                  }, {
                                      duration: i.outDuration,
                                      queue: !1,
                                      ease: "easeOutQuart"
                                  });
                                  var r = {
                                      duration: i.outDuration,
                                      queue: !1,
                                      ease: "easeOutCubic",
                                      complete: function () {
                                          t(this).css({
                                              display: "none"
                                          }), "function" == typeof i.complete && i.complete.call(this, o), a.remove(), e--
                                      }
                                  };
                                  o.hasClass("bottom-sheet") ? o.velocity({
                                      bottom: "-100%",
                                      opacity: 0
                                  }, r) : o.velocity({
                                      top: i.startingTop,
                                      opacity: 0,
                                      scaleX: .7
                                  }, r)
                              },
                              s = function (a) {
                                  var s = t("body"),
                                      l = s.innerWidth();
                                  if (s.css("overflow", "hidden"), s.width(l), !o.hasClass("open")) {
                                      var c = n(),
                                          u = t('<div class="modal-overlay"></div>'),
                                          d = ++e;
                                      u.attr("id", c).css("z-index", 1e3 + 2 * d), o.data("overlay-id", c).css("z-index", 1e3 + 2 * d + 1), o.addClass("open"), t("body").append(u), i.dismissible && (u.click(function () {
                                          r()
                                      }), t(document).on("keyup.modal" + c, function (t) {
                                          27 === t.keyCode && r()
                                      })), o.find(".modal-close").on("click.close", function (t) {
                                          r()
                                      }), u.css({
                                          display: "block",
                                          opacity: 0
                                      }), o.css({
                                          display: "block",
                                          opacity: 0
                                      }), u.velocity({
                                          opacity: i.opacity
                                      }, {
                                          duration: i.inDuration,
                                          queue: !1,
                                          ease: "easeOutCubic"
                                      }), o.data("associated-overlay", u[0]);
                                      var p = {
                                          duration: i.inDuration,
                                          queue: !1,
                                          ease: "easeOutCubic",
                                          complete: function () {
                                              "function" == typeof i.ready && i.ready.call(this, o, a)
                                          }
                                      };
                                      o.hasClass("bottom-sheet") ? o.velocity({
                                          bottom: "0",
                                          opacity: 1
                                      }, p) : (t.Velocity.hook(o, "scaleX", .7), o.css({
                                          top: i.startingTop
                                      }), o.velocity({
                                          top: i.endingTop,
                                          opacity: 1,
                                          scaleX: "1"
                                      }, p))
                                  }
                              };
                          t(document).off("click.modalTrigger", 'a[href="#' + a + '"], [data-target="' + a + '"]'), t(this).off("openModal"), t(this).off("closeModal"), t(document).on("click.modalTrigger", 'a[href="#' + a + '"], [data-target="' + a + '"]', function (e) {
                              i.startingTop = (t(this).offset().top - t(window).scrollTop()) / 1.15, s(t(this)), e.preventDefault()
                          }), t(this).on("openModal", function () {
                              t(this).attr("href") || t(this).data("target");
                              s()
                          }), t(this).on("closeModal", function () {
                              r()
                          })
                      })
                  },
                  open: function () {
                      o.init.apply(this, arguments), t(this).trigger("openModal")
                  },
                  close: function () {
                      t(this).trigger("closeModal")
                  }
              };
          t.fn.modal = function (e) {
              return o[e] ? o[e].apply(this, Array.prototype.slice.call(arguments, 1)) : "object" != typeof e && e ? void t.error("Method " + e + " does not exist on jQuery.modal") : o.init.apply(this, arguments)
          }
      }(jQuery),
      function (t) {
          t.fn.materialbox = function () {
              return this.each(function () {
                  function e() {
                      a = !1;
                      var e = s.parent(".material-placeholder"),
                          n = (window.innerWidth, window.innerHeight, s.data("width")),
                          l = s.data("height");
                      s.velocity("stop", !0), t("#materialbox-overlay").velocity("stop", !0), t(".materialbox-caption").velocity("stop", !0), t(window).off("scroll.materialbox"), t(document).off("keyup.materialbox"), t(window).off("resize.materialbox"), t("#materialbox-overlay").velocity({
                          opacity: 0
                      }, {
                          duration: r,
                          queue: !1,
                          easing: "easeOutQuad",
                          complete: function () {
                              o = !1, t(this).remove()
                          }
                      }), s.velocity({
                          width: n,
                          height: l,
                          left: 0,
                          top: 0
                      }, {
                          duration: r,
                          queue: !1,
                          easing: "easeOutQuad",
                          complete: function () {
                              e.css({
                                  height: "",
                                  width: "",
                                  position: "",
                                  top: "",
                                  left: ""
                              }), s.removeAttr("style"), s.attr("style", c), s.removeClass("active"), a = !0, i && i.css("overflow", "")
                          }
                      }), t(".materialbox-caption").velocity({
                          opacity: 0
                      }, {
                          duration: r,
                          queue: !1,
                          easing: "easeOutQuad",
                          complete: function () {
                              t(this).remove()
                          }
                      })
                  }
                  if (!t(this).hasClass("initialized")) {
                      t(this).addClass("initialized");
                      var i, n, o = !1,
                          a = !0,
                          r = 200,
                          s = t(this),
                          l = t("<div></div>").addClass("material-placeholder"),
                          c = s.attr("style");
                      s.wrap(l), s.on("click", function () {
                          var r = s.parent(".material-placeholder"),
                              l = window.innerWidth,
                              c = window.innerHeight,
                              u = s.width(),
                              d = s.height();
                          if (!1 === a) return e(), !1;
                          if (o && !0 === a) return e(), !1;
                          a = !1, s.addClass("active"), o = !0, r.css({
                              width: r[0].getBoundingClientRect().width,
                              height: r[0].getBoundingClientRect().height,
                              position: "relative",
                              top: 0,
                              left: 0
                          }), i = void 0, n = r[0].parentNode;
                          for (; null !== n && !t(n).is(document);) {
                              var p = t(n);
                              "visible" !== p.css("overflow") && (p.css("overflow", "visible"), i = void 0 === i ? p : i.add(p)), n = n.parentNode
                          }
                          s.css({
                              position: "absolute",
                              "z-index": 1e3,
                              "will-change": "left, top, width, height"
                          }).data("width", u).data("height", d);
                          var h = t('<div id="materialbox-overlay"></div>').css({
                              opacity: 0
                          }).click(function () {
                              !0 === a && e()
                          });
                          s.before(h);
                          var f = h[0].getBoundingClientRect();
                          if (h.css({
                                  width: l,
                                  height: c,
                                  left: -1 * f.left,
                                  top: -1 * f.top
                              }), h.velocity({
                                  opacity: 1
                              }, {
                                  duration: 275,
                                  queue: !1,
                                  easing: "easeOutQuad"
                              }), "" !== s.data("caption")) {
                              var v = t('<div class="materialbox-caption"></div>');
                              v.text(s.data("caption")), t("body").append(v), v.css({
                                  display: "inline"
                              }), v.velocity({
                                  opacity: 1
                              }, {
                                  duration: 275,
                                  queue: !1,
                                  easing: "easeOutQuad"
                              })
                          }
                          var g = 0,
                              m = 0;
                          u / l > d / c ? (g = .9 * l, m = .9 * l * (d / u)) : (g = .9 * c * (u / d), m = .9 * c), s.hasClass("responsive-img") ? s.velocity({
                              "max-width": g,
                              width: u
                          }, {
                              duration: 0,
                              queue: !1,
                              complete: function () {
                                  s.css({
                                      left: 0,
                                      top: 0
                                  }).velocity({
                                      height: m,
                                      width: g,
                                      left: t(document).scrollLeft() + l / 2 - s.parent(".material-placeholder").offset().left - g / 2,
                                      top: t(document).scrollTop() + c / 2 - s.parent(".material-placeholder").offset().top - m / 2
                                  }, {
                                      duration: 275,
                                      queue: !1,
                                      easing: "easeOutQuad",
                                      complete: function () {
                                          a = !0
                                      }
                                  })
                              }
                          }) : s.css("left", 0).css("top", 0).velocity({
                              height: m,
                              width: g,
                              left: t(document).scrollLeft() + l / 2 - s.parent(".material-placeholder").offset().left - g / 2,
                              top: t(document).scrollTop() + c / 2 - s.parent(".material-placeholder").offset().top - m / 2
                          }, {
                              duration: 275,
                              queue: !1,
                              easing: "easeOutQuad",
                              complete: function () {
                                  a = !0
                              }
                          }), t(window).on("scroll.materialbox", function () {
                              o && e()
                          }), t(window).on("resize.materialbox", function () {
                              o && e()
                          }), t(document).on("keyup.materialbox", function (t) {
                              27 === t.keyCode && !0 === a && o && e()
                          })
                      })
                  }
              })
          }, t(document).ready(function () {
              t(".materialboxed").materialbox()
          })
      }(jQuery),
      function (t) {
          t.fn.parallax = function () {
              var e = t(window).width();
              return this.each(function (i) {
                  function n(i) {
                      var n;
                      n = e < 601 ? o.height() > 0 ? o.height() : o.children("img").height() : o.height() > 0 ? o.height() : 500;
                      var a = o.children("img").first(),
                          r = a.height() - n,
                          s = o.offset().top + n,
                          l = o.offset().top,
                          c = t(window).scrollTop(),
                          u = window.innerHeight,
                          d = (c + u - l) / (n + u),
                          p = Math.round(r * d);
                      i && a.css("display", "block"), s > c && l < c + u && a.css("transform", "translate3D(-50%," + p + "px, 0)")
                  }
                  var o = t(this);
                  o.addClass("parallax"), o.children("img").one("load", function () {
                      n(!0)
                  }).each(function () {
                      this.complete && t(this).trigger("load")
                  }), t(window).scroll(function () {
                      e = t(window).width(), n(!1)
                  }), t(window).resize(function () {
                      e = t(window).width(), n(!1)
                  })
              })
          }
      }(jQuery),
      function (t) {
          var e = {
              init: function (e) {
                  var i = {
                      onShow: null,
                      swipeable: !1,
                      responsiveThreshold: 1 / 0
                  };
                  e = t.extend(i, e);
                  var n = Materialize.objectSelectorString(t(this));
                  return this.each(function (i) {
                      var o, a, r, s, l, c = n + i,
                          u = t(this),
                          d = t(window).width(),
                          p = u.find("li.tab a"),
                          h = u.width(),
                          f = t(),
                          v = Math.max(h, u[0].scrollWidth) / p.length,
                          g = prev_index = 0,
                          m = !1,
                          y = function (t) {
                              return Math.ceil(h - t.position().left - t.outerWidth() - u.scrollLeft())
                          },
                          b = function (t) {
                              return Math.floor(t.position().left + u.scrollLeft())
                          },
                          w = function (t) {
                              g - t >= 0 ? (s.velocity({
                                  right: y(o)
                              }, {
                                  duration: 300,
                                  queue: !1,
                                  easing: "easeOutQuad"
                              }), s.velocity({
                                  left: b(o)
                              }, {
                                  duration: 300,
                                  queue: !1,
                                  easing: "easeOutQuad",
                                  delay: 90
                              })) : (s.velocity({
                                  left: b(o)
                              }, {
                                  duration: 300,
                                  queue: !1,
                                  easing: "easeOutQuad"
                              }), s.velocity({
                                  right: y(o)
                              }, {
                                  duration: 300,
                                  queue: !1,
                                  easing: "easeOutQuad",
                                  delay: 90
                              }))
                          };
                      e.swipeable && d > e.responsiveThreshold && (e.swipeable = !1), 0 === (o = t(p.filter('[href="' + location.hash + '"]'))).length && (o = t(this).find("li.tab a.active").first()), 0 === o.length && (o = t(this).find("li.tab a").first()), o.addClass("active"), (g = p.index(o)) < 0 && (g = 0), void 0 !== o[0] && (a = t(o[0].hash)).addClass("active"), u.find(".indicator").length || u.append('<li class="indicator"></li>'), s = u.find(".indicator"), u.append(s), u.is(":visible") && setTimeout(function () {
                          s.css({
                              right: y(o)
                          }), s.css({
                              left: b(o)
                          })
                      }, 0), t(window).off("resize.tabs-" + c).on("resize.tabs-" + c, function () {
                          h = u.width(), v = Math.max(h, u[0].scrollWidth) / p.length, g < 0 && (g = 0), 0 !== v && 0 !== h && (s.css({
                              right: y(o)
                          }), s.css({
                              left: b(o)
                          }))
                      }), e.swipeable ? (p.each(function () {
                          var e = t(Materialize.escapeHash(this.hash));
                          e.addClass("carousel-item"), f = f.add(e)
                      }), r = f.wrapAll('<div class="tabs-content carousel"></div>'), f.css("display", ""), t(".tabs-content.carousel").carousel({
                          fullWidth: !0,
                          noWrap: !0,
                          onCycleTo: function (t) {
                              if (!m) {
                                  var i = g;
                                  g = r.index(t), o = p.eq(g), w(i), "function" == typeof e.onShow && e.onShow.call(u[0], a)
                              }
                          }
                      })) : p.not(o).each(function () {
                          t(Materialize.escapeHash(this.hash)).hide()
                      }), u.off("click.tabs").on("click.tabs", "a", function (i) {
                          if (t(this).parent().hasClass("disabled")) i.preventDefault();
                          else if (!t(this).attr("target")) {
                              m = !0, h = u.width(), v = Math.max(h, u[0].scrollWidth) / p.length, o.removeClass("active");
                              var n = a;
                              o = t(this), a = t(Materialize.escapeHash(this.hash)), p = u.find("li.tab a");
                              o.position();
                              o.addClass("active"), prev_index = g, (g = p.index(t(this))) < 0 && (g = 0), e.swipeable ? f.length && f.carousel("set", g, function () {
                                  "function" == typeof e.onShow && e.onShow.call(u[0], a)
                              }) : (void 0 !== a && (a.show(), a.addClass("active"), "function" == typeof e.onShow && e.onShow.call(this, a)), void 0 === n || n.is(a) || (n.hide(), n.removeClass("active"))), l = setTimeout(function () {
                                  m = !1
                              }, 300), w(prev_index), i.preventDefault()
                          }
                      })
                  })
              },
              select_tab: function (t) {
                  this.find('a[href="#' + t + '"]').trigger("click")
              }
          };
          t.fn.tabs = function (i) {
              return e[i] ? e[i].apply(this, Array.prototype.slice.call(arguments, 1)) : "object" != typeof i && i ? void t.error("Method " + i + " does not exist on jQuery.tabs") : e.init.apply(this, arguments)
          }, t(document).ready(function () {
              t("ul.tabs").tabs()
          })
      }(jQuery),
      function (t) {
          t.fn.tooltip = function (i) {
              var n = {
                  delay: 350,
                  tooltip: "",
                  position: "bottom",
                  html: !1
              };
              return "remove" === i ? (this.each(function () {
                  t("#" + t(this).attr("data-tooltip-id")).remove(), t(this).off("mouseenter.tooltip mouseleave.tooltip")
              }), !1) : (i = t.extend(n, i), this.each(function () {
                  var n = Materialize.guid(),
                      o = t(this);
                  o.attr("data-tooltip-id") && t("#" + o.attr("data-tooltip-id")).remove(), o.attr("data-tooltip-id", n);
                  var a, r, s, l, c, u, d = function () {
                      a = o.attr("data-html") ? "true" === o.attr("data-html") : i.html, r = o.attr("data-delay"), r = void 0 === r || "" === r ? i.delay : r, s = o.attr("data-position"), s = void 0 === s || "" === s ? i.position : s, l = o.attr("data-tooltip"), l = void 0 === l || "" === l ? i.tooltip : l
                  };
                  d();
                  c = function () {
                      var e = t('<div class="material-tooltip"></div>');
                      return l = a ? t("<span></span>").html(l) : t("<span></span>").text(l), e.append(l).appendTo(t("body")).attr("id", n), (u = t('<div class="backdrop"></div>')).appendTo(e), e
                  }(), o.off("mouseenter.tooltip mouseleave.tooltip");
                  var p, h = !1;
                  o.on({
                      "mouseenter.tooltip": function (t) {
                          p = setTimeout(function () {
                              d(), h = !0, c.velocity("stop"), u.velocity("stop"), c.css({
                                  visibility: "visible",
                                  left: "0px",
                                  top: "0px"
                              });
                              var t, i, n, a = o.outerWidth(),
                                  r = o.outerHeight(),
                                  l = c.outerHeight(),
                                  p = c.outerWidth(),
                                  f = "0px",
                                  v = "0px",
                                  g = u[0].offsetWidth,
                                  m = u[0].offsetHeight,
                                  y = 8,
                                  b = 8,
                                  w = 0;
                              "top" === s ? (t = o.offset().top - l - 5, i = o.offset().left + a / 2 - p / 2, n = e(i, t, p, l), f = "-10px", u.css({
                                  bottom: 0,
                                  left: 0,
                                  borderRadius: "14px 14px 0 0",
                                  transformOrigin: "50% 100%",
                                  marginTop: l,
                                  marginLeft: p / 2 - g / 2
                              })) : "left" === s ? (t = o.offset().top + r / 2 - l / 2, i = o.offset().left - p - 5, n = e(i, t, p, l), v = "-10px", u.css({
                                  top: "-7px",
                                  right: 0,
                                  width: "14px",
                                  height: "14px",
                                  borderRadius: "14px 0 0 14px",
                                  transformOrigin: "95% 50%",
                                  marginTop: l / 2,
                                  marginLeft: p
                              })) : "right" === s ? (t = o.offset().top + r / 2 - l / 2, i = o.offset().left + a + 5, n = e(i, t, p, l), v = "+10px", u.css({
                                  top: "-7px",
                                  left: 0,
                                  width: "14px",
                                  height: "14px",
                                  borderRadius: "0 14px 14px 0",
                                  transformOrigin: "5% 50%",
                                  marginTop: l / 2,
                                  marginLeft: "0px"
                              })) : (t = o.offset().top + o.outerHeight() + 5, i = o.offset().left + a / 2 - p / 2, n = e(i, t, p, l), f = "+10px", u.css({
                                  top: 0,
                                  left: 0,
                                  marginLeft: p / 2 - g / 2
                              })), c.css({
                                  top: n.y,
                                  left: n.x
                              }), y = Math.SQRT2 * p / parseInt(g), b = Math.SQRT2 * l / parseInt(m), w = Math.max(y, b), c.velocity({
                                  translateY: f,
                                  translateX: v
                              }, {
                                  duration: 350,
                                  queue: !1
                              }).velocity({
                                  opacity: 1
                              }, {
                                  duration: 300,
                                  delay: 50,
                                  queue: !1
                              }), u.css({
                                  visibility: "visible"
                              }).velocity({
                                  opacity: 1
                              }, {
                                  duration: 55,
                                  delay: 0,
                                  queue: !1
                              }).velocity({
                                  scaleX: w,
                                  scaleY: w
                              }, {
                                  duration: 300,
                                  delay: 0,
                                  queue: !1,
                                  easing: "easeInOutQuad"
                              })
                          }, r)
                      },
                      "mouseleave.tooltip": function () {
                          h = !1, clearTimeout(p), setTimeout(function () {
                              !0 !== h && (c.velocity({
                                  opacity: 0,
                                  translateY: 0,
                                  translateX: 0
                              }, {
                                  duration: 225,
                                  queue: !1
                              }), u.velocity({
                                  opacity: 0,
                                  scaleX: 1,
                                  scaleY: 1
                              }, {
                                  duration: 225,
                                  queue: !1,
                                  complete: function () {
                                      u.css({
                                          visibility: "hidden"
                                      }), c.css({
                                          visibility: "hidden"
                                      }), h = !1
                                  }
                              }))
                          }, 225)
                      }
                  })
              }))
          };
          var e = function (e, i, n, o) {
              var a = e,
                  r = i;
              return a < 0 ? a = 4 : a + n > window.innerWidth && (a -= a + n - window.innerWidth), r < 0 ? r = 4 : r + o > window.innerHeight + t(window).scrollTop && (r -= r + o - window.innerHeight), {
                  x: a,
                  y: r
              }
          };
          t(document).ready(function () {
              t(".tooltipped").tooltip()
          })
      }(jQuery),
      function (t) {
          "use strict";
  
          function e(t) {
              return null !== t && t === t.window
          }
  
          function i(t) {
              return e(t) ? t : 9 === t.nodeType && t.defaultView
          }
  
          function n(t) {
              var e, n, o = {
                      top: 0,
                      left: 0
                  },
                  a = t && t.ownerDocument;
              return e = a.documentElement, void 0 !== t.getBoundingClientRect && (o = t.getBoundingClientRect()), n = i(a), {
                  top: o.top + n.pageYOffset - e.clientTop,
                  left: o.left + n.pageXOffset - e.clientLeft
              }
          }
  
          function o(t) {
              var e = "";
              for (var i in t) t.hasOwnProperty(i) && (e += i + ":" + t[i] + ";");
              return e
          }
  
          function a(t) {
              if (!1 === u.allowEvent(t)) return null;
              for (var e = null, i = t.target || t.srcElement; null !== i.parentElement;) {
                  if (!(i instanceof SVGElement || -1 === i.className.indexOf("waves-effect"))) {
                      e = i;
                      break
                  }
                  if (-1 !== i.className.indexOf("waves-effect")) {
                      e = i;
                      break
                  }
                  i = i.parentElement
              }
              return e
          }
  
          function r(e) {
              var i = a(e);
              null !== i && (c.show(e, i), "ontouchstart" in t && (i.addEventListener("touchend", c.hide, !1), i.addEventListener("touchcancel", c.hide, !1)), i.addEventListener("mouseup", c.hide, !1), i.addEventListener("mouseleave", c.hide, !1))
          }
          var s = s || {},
              l = document.querySelectorAll.bind(document),
              c = {
                  duration: 750,
                  show: function (t, e) {
                      if (2 === t.button) return !1;
                      var i = e || this,
                          a = document.createElement("div");
                      a.className = "waves-ripple", i.appendChild(a);
                      var r = n(i),
                          s = t.pageY - r.top,
                          l = t.pageX - r.left,
                          u = "scale(" + i.clientWidth / 100 * 10 + ")";
                      "touches" in t && (s = t.touches[0].pageY - r.top, l = t.touches[0].pageX - r.left), a.setAttribute("data-hold", Date.now()), a.setAttribute("data-scale", u), a.setAttribute("data-x", l), a.setAttribute("data-y", s);
                      var d = {
                          top: s + "px",
                          left: l + "px"
                      };
                      a.className = a.className + " waves-notransition", a.setAttribute("style", o(d)), a.className = a.className.replace("waves-notransition", ""), d["-webkit-transform"] = u, d["-moz-transform"] = u, d["-ms-transform"] = u, d["-o-transform"] = u, d.transform = u, d.opacity = "1", d["-webkit-transition-duration"] = c.duration + "ms", d["-moz-transition-duration"] = c.duration + "ms", d["-o-transition-duration"] = c.duration + "ms", d["transition-duration"] = c.duration + "ms", d["-webkit-transition-timing-function"] = "cubic-bezier(0.250, 0.460, 0.450, 0.940)", d["-moz-transition-timing-function"] = "cubic-bezier(0.250, 0.460, 0.450, 0.940)", d["-o-transition-timing-function"] = "cubic-bezier(0.250, 0.460, 0.450, 0.940)", d["transition-timing-function"] = "cubic-bezier(0.250, 0.460, 0.450, 0.940)", a.setAttribute("style", o(d))
                  },
                  hide: function (t) {
                      u.touchup(t);
                      var e = this,
                          i = (e.clientWidth, null),
                          n = e.getElementsByClassName("waves-ripple");
                      if (!(n.length > 0)) return !1;
                      var a = (i = n[n.length - 1]).getAttribute("data-x"),
                          r = i.getAttribute("data-y"),
                          s = i.getAttribute("data-scale"),
                          l = 350 - (Date.now() - Number(i.getAttribute("data-hold")));
                      l < 0 && (l = 0), setTimeout(function () {
                          var t = {
                              top: r + "px",
                              left: a + "px",
                              opacity: "0",
                              "-webkit-transition-duration": c.duration + "ms",
                              "-moz-transition-duration": c.duration + "ms",
                              "-o-transition-duration": c.duration + "ms",
                              "transition-duration": c.duration + "ms",
                              "-webkit-transform": s,
                              "-moz-transform": s,
                              "-ms-transform": s,
                              "-o-transform": s,
                              transform: s
                          };
                          i.setAttribute("style", o(t)), setTimeout(function () {
                              try {
                                  e.removeChild(i)
                              } catch (t) {
                                  return !1
                              }
                          }, c.duration)
                      }, l)
                  },
                  wrapInput: function (t) {
                      for (var e = 0; e < t.length; e++) {
                          var i = t[e];
                          if ("input" === i.tagName.toLowerCase()) {
                              var n = i.parentNode;
                              if ("i" === n.tagName.toLowerCase() && -1 !== n.className.indexOf("waves-effect")) continue;
                              var o = document.createElement("i");
                              o.className = i.className + " waves-input-wrapper";
                              var a = i.getAttribute("style");
                              a || (a = ""), o.setAttribute("style", a), i.className = "waves-button-input", i.removeAttribute("style"), n.replaceChild(o, i), o.appendChild(i)
                          }
                      }
                  }
              },
              u = {
                  touches: 0,
                  allowEvent: function (t) {
                      var e = !0;
                      return "touchstart" === t.type ? u.touches += 1 : "touchend" === t.type || "touchcancel" === t.type ? setTimeout(function () {
                          u.touches > 0 && (u.touches -= 1)
                      }, 500) : "mousedown" === t.type && u.touches > 0 && (e = !1), e
                  },
                  touchup: function (t) {
                      u.allowEvent(t)
                  }
              };
          s.displayEffect = function (e) {
              "duration" in (e = e || {}) && (c.duration = e.duration), c.wrapInput(l(".waves-effect")), "ontouchstart" in t && document.body.addEventListener("touchstart", r, !1), document.body.addEventListener("mousedown", r, !1)
          }, s.attach = function (e) {
              "input" === e.tagName.toLowerCase() && (c.wrapInput([e]), e = e.parentElement), "ontouchstart" in t && e.addEventListener("touchstart", r, !1), e.addEventListener("mousedown", r, !1)
          }, t.Waves = s, document.addEventListener("DOMContentLoaded", function () {
              s.displayEffect()
          }, !1)
      }(window), Materialize.toast = function (t, e, i, n) {
          i = i || "";
          var o = document.getElementById("toast-container");
          null === o && ((o = document.createElement("div")).id = "toast-container", document.body.appendChild(o));
          var a = function (t) {
              var e = document.createElement("div");
              if (e.classList.add("toast"), i)
                  for (var o = i.split(" "), a = 0, r = o.length; a < r; a++) e.classList.add(o[a]);
              ("object" == typeof HTMLElement ? t instanceof HTMLElement : t && "object" == typeof t && null !== t && 1 === t.nodeType && "string" == typeof t.nodeName) ? e.appendChild(t): t instanceof jQuery ? e.appendChild(t[0]) : e.innerHTML = t;
              var s = new Hammer(e, {
                  prevent_default: !1
              });
              return s.on("pan", function (t) {
                  var i = t.deltaX;
                  e.classList.contains("panning") || e.classList.add("panning");
                  var n = 1 - Math.abs(i / 80);
                  n < 0 && (n = 0), Vel(e, {
                      left: i,
                      opacity: n
                  }, {
                      duration: 50,
                      queue: !1,
                      easing: "easeOutQuad"
                  })
              }), s.on("panend", function (t) {
                  var i = t.deltaX;
                  Math.abs(i) > 80 ? Vel(e, {
                      marginTop: "-40px"
                  }, {
                      duration: 375,
                      easing: "easeOutExpo",
                      queue: !1,
                      complete: function () {
                          "function" == typeof n && n(), e.parentNode.removeChild(e)
                      }
                  }) : (e.classList.remove("panning"), Vel(e, {
                      left: 0,
                      opacity: 1
                  }, {
                      duration: 300,
                      easing: "easeOutExpo",
                      queue: !1
                  }))
              }), e
          }(t);
          t && o.appendChild(a), a.style.opacity = 0, Vel(a, {
              translateY: "-35px",
              opacity: 1
          }, {
              duration: 300,
              easing: "easeOutCubic",
              queue: !1
          });
          var r, s = e;
          null != s && (r = setInterval(function () {
              null === a.parentNode && window.clearInterval(r), a.classList.contains("panning") || (s -= 20), s <= 0 && (Vel(a, {
                  opacity: 0,
                  marginTop: "-40px"
              }, {
                  duration: 375,
                  easing: "easeOutExpo",
                  queue: !1,
                  complete: function () {
                      "function" == typeof n && n(), this[0].parentNode.removeChild(this[0])
                  }
              }), window.clearInterval(r))
          }, 20))
      },
      function (t) {
          var e = {
              init: function (e) {
                  var i = {
                      menuWidth: 300,
                      edge: "left",
                      closeOnClick: !1,
                      draggable: !0,
                      onOpen: null,
                      onClose: null
                  };
                  e = t.extend(i, e), t(this).each(function () {
                      var i = t(this),
                          n = i.attr("data-activates"),
                          o = t("#" + n);
                      300 != e.menuWidth && o.css("width", e.menuWidth);
                      var a = t('.drag-target[data-sidenav="' + n + '"]');
                      e.draggable ? (a.length && a.remove(), a = t('<div class="drag-target"></div>').attr("data-sidenav", n), t("body").append(a)) : a = t(), "left" == e.edge ? (o.css("transform", "translateX(-100%)"), a.css({
                          left: 0
                      })) : (o.addClass("right-aligned").css("transform", "translateX(100%)"), a.css({
                          right: 0
                      })), o.hasClass("fixed") && window.innerWidth > 992 && o.css("transform", "translateX(0)"), o.hasClass("fixed") && t(window).resize(function () {
                          window.innerWidth > 992 ? 0 !== t("#sidenav-overlay").length && l ? r(!0) : o.css("transform", "translateX(0%)") : !1 === l && ("left" === e.edge ? o.css("transform", "translateX(-100%)") : o.css("transform", "translateX(100%)"))
                      }), !0 === e.closeOnClick && o.on("click.itemclick", "a:not(.collapsible-header)", function () {
                          window.innerWidth > 992 && o.hasClass("fixed") || r()
                      });
                      var r = function (i) {
                              s = !1, l = !1, t("body").css({
                                  overflow: "",
                                  width: ""
                              }), t("#sidenav-overlay").velocity({
                                  opacity: 0
                              }, {
                                  duration: 200,
                                  queue: !1,
                                  easing: "easeOutQuad",
                                  complete: function () {
                                      t(this).remove()
                                  }
                              }), "left" === e.edge ? (a.css({
                                  width: "",
                                  right: "",
                                  left: "0"
                              }), o.velocity({
                                  translateX: "-100%"
                              }, {
                                  duration: 200,
                                  queue: !1,
                                  easing: "easeOutCubic",
                                  complete: function () {
                                      !0 === i && (o.removeAttr("style"), o.css("width", e.menuWidth))
                                  }
                              })) : (a.css({
                                  width: "",
                                  right: "0",
                                  left: ""
                              }), o.velocity({
                                  translateX: "100%"
                              }, {
                                  duration: 200,
                                  queue: !1,
                                  easing: "easeOutCubic",
                                  complete: function () {
                                      !0 === i && (o.removeAttr("style"), o.css("width", e.menuWidth))
                                  }
                              })), "function" == typeof e.onClose && e.onClose.call(this, o)
                          },
                          s = !1,
                          l = !1;
                      e.draggable && (a.on("click", function () {
                          l && r()
                      }), a.hammer({
                          prevent_default: !1
                      }).on("pan", function (i) {
                          if ("touch" == i.gesture.pointerType) {
                              i.gesture.direction;
                              var n = i.gesture.center.x,
                                  a = i.gesture.center.y;
                              i.gesture.velocityX;
                              if (0 === n && 0 === a) return;
                              var s = t("body"),
                                  c = t("#sidenav-overlay"),
                                  u = s.innerWidth();
                              if (s.css("overflow", "hidden"), s.width(u), 0 === c.length && ((c = t('<div id="sidenav-overlay"></div>')).css("opacity", 0).click(function () {
                                      r()
                                  }), "function" == typeof e.onOpen && e.onOpen.call(this, o), t("body").append(c)), "left" === e.edge && (n > e.menuWidth ? n = e.menuWidth : n < 0 && (n = 0)), "left" === e.edge) n < e.menuWidth / 2 ? l = !1 : n >= e.menuWidth / 2 && (l = !0), o.css("transform", "translateX(" + (n - e.menuWidth) + "px)");
                              else {
                                  n < window.innerWidth - e.menuWidth / 2 ? l = !0 : n >= window.innerWidth - e.menuWidth / 2 && (l = !1);
                                  var d = n - e.menuWidth / 2;
                                  d < 0 && (d = 0), o.css("transform", "translateX(" + d + "px)")
                              }
                              var p;
                              "left" === e.edge ? (p = n / e.menuWidth, c.velocity({
                                  opacity: p
                              }, {
                                  duration: 10,
                                  queue: !1,
                                  easing: "easeOutQuad"
                              })) : (p = Math.abs((n - window.innerWidth) / e.menuWidth), c.velocity({
                                  opacity: p
                              }, {
                                  duration: 10,
                                  queue: !1,
                                  easing: "easeOutQuad"
                              }))
                          }
                      }).on("panend", function (i) {
                          if ("touch" == i.gesture.pointerType) {
                              var n = t("#sidenav-overlay"),
                                  r = i.gesture.velocityX,
                                  c = i.gesture.center.x,
                                  u = c - e.menuWidth,
                                  d = c - e.menuWidth / 2;
                              u > 0 && (u = 0), d < 0 && (d = 0), s = !1, "left" === e.edge ? l && r <= .3 || r < -.5 ? (0 !== u && o.velocity({
                                  translateX: [0, u]
                              }, {
                                  duration: 300,
                                  queue: !1,
                                  easing: "easeOutQuad"
                              }), n.velocity({
                                  opacity: 1
                              }, {
                                  duration: 50,
                                  queue: !1,
                                  easing: "easeOutQuad"
                              }), a.css({
                                  width: "50%",
                                  right: 0,
                                  left: ""
                              }), l = !0) : (!l || r > .3) && (t("body").css({
                                  overflow: "",
                                  width: ""
                              }), o.velocity({
                                  translateX: [-1 * e.menuWidth - 10, u]
                              }, {
                                  duration: 200,
                                  queue: !1,
                                  easing: "easeOutQuad"
                              }), n.velocity({
                                  opacity: 0
                              }, {
                                  duration: 200,
                                  queue: !1,
                                  easing: "easeOutQuad",
                                  complete: function () {
                                      "function" == typeof e.onClose && e.onClose.call(this, o), t(this).remove()
                                  }
                              }), a.css({
                                  width: "10px",
                                  right: "",
                                  left: 0
                              })) : l && r >= -.3 || r > .5 ? (0 !== d && o.velocity({
                                  translateX: [0, d]
                              }, {
                                  duration: 300,
                                  queue: !1,
                                  easing: "easeOutQuad"
                              }), n.velocity({
                                  opacity: 1
                              }, {
                                  duration: 50,
                                  queue: !1,
                                  easing: "easeOutQuad"
                              }), a.css({
                                  width: "50%",
                                  right: "",
                                  left: 0
                              }), l = !0) : (!l || r < -.3) && (t("body").css({
                                  overflow: "",
                                  width: ""
                              }), o.velocity({
                                  translateX: [e.menuWidth + 10, d]
                              }, {
                                  duration: 200,
                                  queue: !1,
                                  easing: "easeOutQuad"
                              }), n.velocity({
                                  opacity: 0
                              }, {
                                  duration: 200,
                                  queue: !1,
                                  easing: "easeOutQuad",
                                  complete: function () {
                                      t(this).remove()
                                  }
                              }), a.css({
                                  width: "10px",
                                  right: 0,
                                  left: ""
                              }))
                          }
                      })), i.off("click.sidenav").on("click.sidenav", function () {
                          if (!0 === l) l = !1, s = !1, r();
                          else {
                              var i = t("body"),
                                  n = t('<div id="sidenav-overlay"></div>'),
                                  c = i.innerWidth();
                              i.css("overflow", "hidden"), i.width(c), t("body").append(a), "left" === e.edge ? (a.css({
                                  width: "50%",
                                  right: 0,
                                  left: ""
                              }), o.velocity({
                                  translateX: [0, -1 * e.menuWidth]
                              }, {
                                  duration: 300,
                                  queue: !1,
                                  easing: "easeOutQuad"
                              })) : (a.css({
                                  width: "50%",
                                  right: "",
                                  left: 0
                              }), o.velocity({
                                  translateX: [0, e.menuWidth]
                              }, {
                                  duration: 300,
                                  queue: !1,
                                  easing: "easeOutQuad"
                              })), n.css("opacity", 0).click(function () {
                                  l = !1, s = !1, r(), n.velocity({
                                      opacity: 0
                                  }, {
                                      duration: 300,
                                      queue: !1,
                                      easing: "easeOutQuad",
                                      complete: function () {
                                          t(this).remove()
                                      }
                                  })
                              }), t("body").append(n), n.velocity({
                                  opacity: 1
                              }, {
                                  duration: 300,
                                  queue: !1,
                                  easing: "easeOutQuad",
                                  complete: function () {
                                      l = !0, s = !1
                                  }
                              }), "function" == typeof e.onOpen && e.onOpen.call(this, o)
                          }
                          return !1
                      })
                  })
              },
              destroy: function () {
                  var e = t("#sidenav-overlay"),
                      i = t('.drag-target[data-sidenav="' + t(this).attr("data-activates") + '"]');
                  e.trigger("click"), i.remove(), t(this).off("click"), e.remove()
              },
              show: function () {
                  this.trigger("click")
              },
              hide: function () {
                  t("#sidenav-overlay").trigger("click")
              }
          };
          t.fn.sideNav = function (i) {
              return e[i] ? e[i].apply(this, Array.prototype.slice.call(arguments, 1)) : "object" != typeof i && i ? void t.error("Method " + i + " does not exist on jQuery.sideNav") : e.init.apply(this, arguments)
          }
      }(jQuery),
      function (t) {
          function e(e, i, n, o) {
              var r = t();
              return t.each(a, function (t, a) {
                  if (a.height() > 0) {
                      var s = a.offset().top,
                          l = a.offset().left,
                          c = l + a.width(),
                          u = s + a.height();
                      !(l > i || c < o || s > n || u < e) && r.push(a)
                  }
              }), r
          }
  
          function i(i) {
              ++l;
              var n = o.scrollTop(),
                  a = o.scrollLeft(),
                  s = a + o.width(),
                  u = n + o.height(),
                  d = e(n + c.top + i || 200, s + c.right, u + c.bottom, a + c.left);
              t.each(d, function (t, e) {
                  "number" != typeof e.data("scrollSpy:ticks") && e.triggerHandler("scrollSpy:enter"), e.data("scrollSpy:ticks", l)
              }), t.each(r, function (t, e) {
                  var i = e.data("scrollSpy:ticks");
                  "number" == typeof i && i !== l && (e.triggerHandler("scrollSpy:exit"), e.data("scrollSpy:ticks", null))
              }), r = d
          }
  
          function n() {
              o.trigger("scrollSpy:winSize")
          }
          var o = t(window),
              a = [],
              r = [],
              s = !1,
              l = 0,
              c = {
                  top: 0,
                  right: 0,
                  bottom: 0,
                  left: 0
              };
          t.scrollSpy = function (e, n) {
              var r = {
                  throttle: 100,
                  scrollOffset: 200,
                  activeClass: "active",
                  getActiveElement: function (t) {
                      return 'a[href="#' + t + '"]'
                  }
              };
              n = t.extend(r, n);
              var l = [];
              (e = t(e)).each(function (e, i) {
                  a.push(t(i)), t(i).data("scrollSpy:id", e), t('a[href="#' + t(i).attr("id") + '"]').click(function (e) {
                      e.preventDefault();
                      var i = t(Materialize.escapeHash(this.hash)).offset().top + 1;
                      t("html, body").animate({
                          scrollTop: i - n.scrollOffset
                      }, {
                          duration: 400,
                          queue: !1,
                          easing: "easeOutCubic"
                      })
                  })
              }), c.top = n.offsetTop || 0, c.right = n.offsetRight || 0, c.bottom = n.offsetBottom || 0, c.left = n.offsetLeft || 0;
              var u = Materialize.throttle(function () {
                      i(n.scrollOffset)
                  }, n.throttle || 100),
                  d = function () {
                      t(document).ready(u)
                  };
              return s || (o.on("scroll", d), o.on("resize", d), s = !0), setTimeout(d, 0), e.on("scrollSpy:enter", function () {
                  l = t.grep(l, function (t) {
                      return 0 != t.height()
                  });
                  var e = t(this);
                  l[0] ? (t(n.getActiveElement(l[0].attr("id"))).removeClass(n.activeClass), e.data("scrollSpy:id") < l[0].data("scrollSpy:id") ? l.unshift(t(this)) : l.push(t(this))) : l.push(t(this)), t(n.getActiveElement(l[0].attr("id"))).addClass(n.activeClass)
              }), e.on("scrollSpy:exit", function () {
                  if ((l = t.grep(l, function (t) {
                          return 0 != t.height()
                      }))[0]) {
                      t(n.getActiveElement(l[0].attr("id"))).removeClass(n.activeClass);
                      var e = t(this);
                      (l = t.grep(l, function (t) {
                          return t.attr("id") != e.attr("id")
                      }))[0] && t(n.getActiveElement(l[0].attr("id"))).addClass(n.activeClass)
                  }
              }), e
          }, t.winSizeSpy = function (e) {
              return t.winSizeSpy = function () {
                  return o
              }, e = e || {
                  throttle: 100
              }, o.on("resize", Materialize.throttle(n, e.throttle || 100))
          }, t.fn.scrollSpy = function (e) {
              return t.scrollSpy(t(this), e)
          }
      }(jQuery),
      function (t) {
          t(document).ready(function () {
              function e(e) {
                  var i = e.css("font-family"),
                      o = e.css("font-size"),
                      a = e.css("line-height");
                  o && n.css("font-size", o), i && n.css("font-family", i), a && n.css("line-height", a), e.data("original-height") || e.data("original-height", e.height()), "off" === e.attr("wrap") && n.css("overflow-wrap", "normal").css("white-space", "pre"), n.text(e.val() + "\n");
                  var r = n.html().replace(/\n/g, "<br>");
                  n.html(r), e.is(":visible") ? n.css("width", e.width()) : n.css("width", t(window).width() / 2), e.data("original-height") <= n.height() ? e.css("height", n.height()) : e.val().length < e.data("previous-length") && e.css("height", e.data("original-height")), e.data("previous-length", e.val().length)
              }
              Materialize.updateTextFields = function () {
                  t("input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], textarea").each(function (e, i) {
                      var n = t(this);
                      t(i).val().length > 0 || t(i).is(":focus") || i.autofocus || void 0 !== n.attr("placeholder") ? n.siblings("label").addClass("active") : t(i)[0].validity ? n.siblings("label").toggleClass("active", !0 === t(i)[0].validity.badInput) : n.siblings("label").removeClass("active")
                  })
              };
              var i = "input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], textarea";
              t(document).on("change", i, function () {
                  0 === t(this).val().length && void 0 === t(this).attr("placeholder") || t(this).siblings("label").addClass("active"), validate_field(t(this))
              }), t(document).ready(function () {
                  Materialize.updateTextFields()
              }), t(document).on("reset", function (e) {
                  var n = t(e.target);
                  n.is("form") && (n.find(i).removeClass("valid").removeClass("invalid"), n.find(i).each(function () {
                      "" === t(this).attr("value") && t(this).siblings("label").removeClass("active")
                  }), n.find("select.initialized").each(function () {
                      var t = n.find("option[selected]").text();
                      n.siblings("input.select-dropdown").val(t)
                  }))
              }), t(document).on("focus", i, function () {
                  t(this).siblings("label, .prefix").addClass("active")
              }), t(document).on("blur", i, function () {
                  var e = t(this),
                      i = ".prefix";
                  0 === e.val().length && !0 !== e[0].validity.badInput && void 0 === e.attr("placeholder") && (i += ", label"), e.siblings(i).removeClass("active"), validate_field(e)
              }), window.validate_field = function (t) {
                  var e = void 0 !== t.attr("data-length"),
                      i = parseInt(t.attr("data-length")),
                      n = t.val().length;
                  0 === t.val().length && !1 === t[0].validity.badInput ? t.hasClass("validate") && (t.removeClass("valid"), t.removeClass("invalid")) : t.hasClass("validate") && (t.is(":valid") && e && n <= i || t.is(":valid") && !e ? (t.removeClass("invalid"), t.addClass("valid")) : (t.removeClass("valid"), t.addClass("invalid")))
              };
              t(document).on("keyup.radio", "input[type=radio], input[type=checkbox]", function (e) {
                  if (9 === e.which) return t(this).addClass("tabbed"), void t(this).one("blur", function (e) {
                      t(this).removeClass("tabbed")
                  })
              });
              var n = t(".hiddendiv").first();
              n.length || (n = t('<div class="hiddendiv common"></div>'), t("body").append(n));
              t(".materialize-textarea").each(function () {
                  var e = t(this);
                  e.data("original-height", e.height()), e.data("previous-length", e.val().length)
              }), t("body").on("keyup keydown autoresize", ".materialize-textarea", function () {
                  e(t(this))
              }), t(document).on("change", '.file-field input[type="file"]', function () {
                  for (var e = t(this).closest(".file-field").find("input.file-path"), i = t(this)[0].files, n = [], o = 0; o < i.length; o++) n.push(i[o].name);
                  e.val(n.join(", ")), e.trigger("change")
              });
              var o = "input[type=range]",
                  a = !1;
              t(o).each(function () {
                  var e = t('<span class="thumb"><span class="value"></span></span>');
                  t(this).after(e)
              });
              var r = function (t) {
                      var e = -7 + parseInt(t.parent().css("padding-left")) + "px";
                      t.velocity({
                          height: "30px",
                          width: "30px",
                          top: "-30px",
                          marginLeft: e
                      }, {
                          duration: 300,
                          easing: "easeOutExpo"
                      })
                  },
                  s = function (t) {
                      var e = t.width() - 15,
                          i = parseFloat(t.attr("max")),
                          n = parseFloat(t.attr("min"));
                      return (parseFloat(t.val()) - n) / (i - n) * e
                  };
              t(document).on("change", o, function (e) {
                  var i = t(this).siblings(".thumb");
                  i.find(".value").html(t(this).val()), i.hasClass("active") || r(i);
                  var n = s(t(this));
                  i.addClass("active").css("left", n)
              }), t(document).on("mousedown touchstart", o, function (e) {
                  var i = t(this).siblings(".thumb");
                  if (i.length <= 0 && (i = t('<span class="thumb"><span class="value"></span></span>'), t(this).after(i)), i.find(".value").html(t(this).val()), a = !0, t(this).addClass("active"), i.hasClass("active") || r(i), "input" !== e.type) {
                      var n = s(t(this));
                      i.addClass("active").css("left", n)
                  }
              }), t(document).on("mouseup touchend", ".range-field", function () {
                  a = !1, t(this).removeClass("active")
              }), t(document).on("input mousemove touchmove", ".range-field", function (e) {
                  var i = t(this).children(".thumb"),
                      n = t(this).find(o);
                  if (a) {
                      i.hasClass("active") || r(i);
                      var l = s(n);
                      i.addClass("active").css("left", l), i.find(".value").html(i.siblings(o).val())
                  }
              }), t(document).on("mouseout touchleave", ".range-field", function () {
                  if (!a) {
                      var e = t(this).children(".thumb"),
                          i = 7 + parseInt(t(this).css("padding-left")) + "px";
                      e.hasClass("active") && e.velocity({
                          height: "0",
                          width: "0",
                          top: "10px",
                          marginLeft: i
                      }, {
                          duration: 100
                      }), e.removeClass("active")
                  }
              }), t.fn.autocomplete = function (e) {
                  var i = {
                      data: {},
                      limit: 1 / 0,
                      onAutocomplete: null,
                      minLength: 1
                  };
                  return e = t.extend(i, e), this.each(function () {
                      var i, n = t(this),
                          o = e.data,
                          a = 0,
                          r = -1,
                          s = n.closest(".input-field");
                      if (!t.isEmptyObject(o)) {
                          var l, c = t('<ul class="autocomplete-content dropdown-content"></ul>');
                          s.length ? (l = s.children(".autocomplete-content.dropdown-content").first()).length || s.append(c) : (l = n.next(".autocomplete-content.dropdown-content")).length || n.after(c), l.length && (c = l);
                          var u = function (t, e) {
                                  var i = e.find("img"),
                                      n = e.text().toLowerCase().indexOf("" + t.toLowerCase()),
                                      o = n + t.length - 1,
                                      a = e.text().slice(0, n),
                                      r = e.text().slice(n, o + 1),
                                      s = e.text().slice(o + 1);
                                  e.html("<span>" + a + "<span class='highlight'>" + r + "</span>" + s + "</span>"), i.length && e.prepend(i)
                              },
                              d = function () {
                                  r = -1, c.find(".active").removeClass("active")
                              },
                              p = function () {
                                  c.empty(), d(), i = void 0
                              };
                          n.off("blur.autocomplete").on("blur.autocomplete", function () {
                              p()
                          }), n.off("keyup.autocomplete focus.autocomplete").on("keyup.autocomplete focus.autocomplete", function (r) {
                              a = 0;
                              var s = n.val().toLowerCase();
                              if (13 !== r.which && 38 !== r.which && 40 !== r.which) {
                                  if (i !== s && (p(), s.length >= e.minLength))
                                      for (var l in o)
                                          if (o.hasOwnProperty(l) && -1 !== l.toLowerCase().indexOf(s) && l.toLowerCase() !== s) {
                                              if (a >= e.limit) break;
                                              var d = t("<li></li>");
                                              o[l] ? d.append('<img src="' + o[l] + '" class="right circle"><span>' + l + "</span>") : d.append("<span>" + l + "</span>"), c.append(d), u(s, d), a++
                                          }
                                  i = s
                              }
                          }), n.off("keydown.autocomplete").on("keydown.autocomplete", function (t) {
                              var e, i = t.which,
                                  n = c.children("li").length,
                                  o = c.children(".active").first();
                              13 === i && r >= 0 ? (e = c.children("li").eq(r)).length && (e.trigger("mousedown.autocomplete"), t.preventDefault()) : 38 !== i && 40 !== i || (t.preventDefault(), 38 === i && r > 0 && r--, 40 === i && r < n - 1 && r++, o.removeClass("active"), r >= 0 && c.children("li").eq(r).addClass("active"))
                          }), c.on("mousedown.autocomplete touchstart.autocomplete", "li", function () {
                              var i = t(this).text().trim();
                              n.val(i), n.trigger("change"), p(), "function" == typeof e.onAutocomplete && e.onAutocomplete.call(this, i)
                          })
                      }
                  })
              }
          }), t.fn.material_select = function (e) {
              
          }
      }(jQuery),
      function (t) {
          var e = {
              init: function (e) {
                  var i = {
                      indicators: !0,
                      height: 400,
                      transition: 500,
                      interval: 6e3
                  };
                  return e = t.extend(i, e), this.each(function () {
                      function i(t, e) {
                          t.hasClass("center-align") ? t.velocity({
                              opacity: 0,
                              translateY: -100
                          }, {
                              duration: e,
                              queue: !1
                          }) : t.hasClass("right-align") ? t.velocity({
                              opacity: 0,
                              translateX: 100
                          }, {
                              duration: e,
                              queue: !1
                          }) : t.hasClass("left-align") && t.velocity({
                              opacity: 0,
                              translateX: -100
                          }, {
                              duration: e,
                              queue: !1
                          })
                      }
  
                      function n(t) {
                          t >= c.length ? t = 0 : t < 0 && (t = c.length - 1), (u = l.find(".active").index()) != t && (o = c.eq(u), $caption = o.find(".caption"), o.removeClass("active"), o.velocity({
                              opacity: 0
                          }, {
                              duration: e.transition,
                              queue: !1,
                              easing: "easeOutQuad",
                              complete: function () {
                                  c.not(".active").velocity({
                                      opacity: 0,
                                      translateX: 0,
                                      translateY: 0
                                  }, {
                                      duration: 0,
                                      queue: !1
                                  })
                              }
                          }), i($caption, e.transition), e.indicators && a.eq(u).removeClass("active"), c.eq(t).velocity({
                              opacity: 1
                          }, {
                              duration: e.transition,
                              queue: !1,
                              easing: "easeOutQuad"
                          }), c.eq(t).find(".caption").velocity({
                              opacity: 1,
                              translateX: 0,
                              translateY: 0
                          }, {
                              duration: e.transition,
                              delay: e.transition,
                              queue: !1,
                              easing: "easeOutQuad"
                          }), c.eq(t).addClass("active"), e.indicators && a.eq(t).addClass("active"))
                      }
                      var o, a, r, s = t(this),
                          l = s.find("ul.slides").first(),
                          c = l.find("> li"),
                          u = l.find(".active").index(); - 1 != u && (o = c.eq(u)), s.hasClass("fullscreen") || (e.indicators ? s.height(e.height + 40) : s.height(e.height), l.height(e.height)), c.find(".caption").each(function () {
                          i(t(this), 0)
                      }), c.find("img").each(function () {
                          var e = "data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";
                          t(this).attr("src") !== e && (t(this).css("background-image", 'url("' + t(this).attr("src") + '")'), t(this).attr("src", e))
                      }), e.indicators && (a = t('<ul class="indicators"></ul>'), c.each(function (i) {
                          var o = t('<li class="indicator-item"></li>');
                          o.click(function () {
                              n(l.parent().find(t(this)).index()), clearInterval(r), r = setInterval(function () {
                                  u = l.find(".active").index(), c.length == u + 1 ? u = 0 : u += 1, n(u)
                              }, e.transition + e.interval)
                          }), a.append(o)
                      }), s.append(a), a = s.find("ul.indicators").find("li.indicator-item")), o ? o.show() : (c.first().addClass("active").velocity({
                          opacity: 1
                      }, {
                          duration: e.transition,
                          queue: !1,
                          easing: "easeOutQuad"
                      }), u = 0, o = c.eq(u), e.indicators && a.eq(u).addClass("active")), o.find("img").each(function () {
                          o.find(".caption").velocity({
                              opacity: 1,
                              translateX: 0,
                              translateY: 0
                          }, {
                              duration: e.transition,
                              queue: !1,
                              easing: "easeOutQuad"
                          })
                      }), r = setInterval(function () {
                          n((u = l.find(".active").index()) + 1)
                      }, e.transition + e.interval);
                      var d = !1,
                          p = !1,
                          h = !1;
                      s.hammer({
                          prevent_default: !1
                      }).on("pan", function (t) {
                          if ("touch" === t.gesture.pointerType) {
                              clearInterval(r);
                              var e = t.gesture.direction,
                                  i = t.gesture.deltaX,
                                  n = t.gesture.velocityX,
                                  o = t.gesture.velocityY;
                              $curr_slide = l.find(".active"), Math.abs(n) > Math.abs(o) && $curr_slide.velocity({
                                  translateX: i
                              }, {
                                  duration: 50,
                                  queue: !1,
                                  easing: "easeOutQuad"
                              }), 4 === e && (i > s.innerWidth() / 2 || n < -.65) ? h = !0 : 2 === e && (i < -1 * s.innerWidth() / 2 || n > .65) && (p = !0);
                              var a;
                              p && (0 === (a = $curr_slide.next()).length && (a = c.first()), a.velocity({
                                  opacity: 1
                              }, {
                                  duration: 300,
                                  queue: !1,
                                  easing: "easeOutQuad"
                              })), h && (0 === (a = $curr_slide.prev()).length && (a = c.last()), a.velocity({
                                  opacity: 1
                              }, {
                                  duration: 300,
                                  queue: !1,
                                  easing: "easeOutQuad"
                              }))
                          }
                      }).on("panend", function (t) {
                          "touch" === t.gesture.pointerType && ($curr_slide = l.find(".active"), d = !1, curr_index = l.find(".active").index(), !h && !p || c.length <= 1 ? $curr_slide.velocity({
                              translateX: 0
                          }, {
                              duration: 300,
                              queue: !1,
                              easing: "easeOutQuad"
                          }) : p ? (n(curr_index + 1), $curr_slide.velocity({
                              translateX: -1 * s.innerWidth()
                          }, {
                              duration: 300,
                              queue: !1,
                              easing: "easeOutQuad",
                              complete: function () {
                                  $curr_slide.velocity({
                                      opacity: 0,
                                      translateX: 0
                                  }, {
                                      duration: 0,
                                      queue: !1
                                  })
                              }
                          })) : h && (n(curr_index - 1), $curr_slide.velocity({
                              translateX: s.innerWidth()
                          }, {
                              duration: 300,
                              queue: !1,
                              easing: "easeOutQuad",
                              complete: function () {
                                  $curr_slide.velocity({
                                      opacity: 0,
                                      translateX: 0
                                  }, {
                                      duration: 0,
                                      queue: !1
                                  })
                              }
                          })), p = !1, h = !1, clearInterval(r), r = setInterval(function () {
                              u = l.find(".active").index(), c.length == u + 1 ? u = 0 : u += 1, n(u)
                          }, e.transition + e.interval))
                      }), s.on("sliderPause", function () {
                          clearInterval(r)
                      }), s.on("sliderStart", function () {
                          clearInterval(r), r = setInterval(function () {
                              u = l.find(".active").index(), c.length == u + 1 ? u = 0 : u += 1, n(u)
                          }, e.transition + e.interval)
                      }), s.on("sliderNext", function () {
                          n((u = l.find(".active").index()) + 1)
                      }), s.on("sliderPrev", function () {
                          n((u = l.find(".active").index()) - 1)
                      })
                  })
              },
              pause: function () {
                  t(this).trigger("sliderPause")
              },
              start: function () {
                  t(this).trigger("sliderStart")
              },
              next: function () {
                  t(this).trigger("sliderNext")
              },
              prev: function () {
                  t(this).trigger("sliderPrev")
              }
          };
          t.fn.slider = function (i) {
              return e[i] ? e[i].apply(this, Array.prototype.slice.call(arguments, 1)) : "object" != typeof i && i ? void t.error("Method " + i + " does not exist on jQuery.tooltip") : e.init.apply(this, arguments)
          }
      }(jQuery),
      function (t) {
          t(document).ready(function () {
              t(document).on("click.card", ".card", function (e) {
                  if (t(this).find("> .card-reveal").length) {
                      var i = t(e.target).closest(".card");
                      void 0 === i.data("initialOverflow") && i.data("initialOverflow", void 0 === i.css("overflow") ? "" : i.css("overflow")), t(e.target).is(t(".card-reveal .card-title")) || t(e.target).is(t(".card-reveal .card-title i")) ? t(this).find(".card-reveal").velocity({
                          translateY: 0
                      }, {
                          duration: 225,
                          queue: !1,
                          easing: "easeInOutQuad",
                          complete: function () {
                              t(this).css({
                                  display: "none"
                              }), i.css("overflow", i.data("initialOverflow"))
                          }
                      }) : (t(e.target).is(t(".card .activator")) || t(e.target).is(t(".card .activator i"))) && (i.css("overflow", "hidden"), t(this).find(".card-reveal").css({
                          display: "block"
                      }).velocity("stop", !1).velocity({
                          translateY: "-100%"
                      }, {
                          duration: 300,
                          queue: !1,
                          easing: "easeInOutQuad"
                      }))
                  }
              })
          })
      }(jQuery),
      function (t) {
          var e = {
              data: [],
              placeholder: "",
              secondaryPlaceholder: "",
              autocompleteOptions: {}
          };
          t(document).ready(function () {
              t(document).on("click", ".chip .close", function (e) {
                  t(this).closest(".chips").attr("data-initialized") || t(this).closest(".chip").remove()
              })
          }), t.fn.material_chip = function (i) {
              var n = this;
              if (this.$el = t(this), this.$document = t(document), this.SELS = {
                      CHIPS: ".chips",
                      CHIP: ".chip",
                      INPUT: "input",
                      DELETE: ".material-icons",
                      SELECTED_CHIP: ".selected"
                  }, "data" === i) return this.$el.data("chips");
              var o = t.extend({}, e, i);
              n.hasAutocomplete = !t.isEmptyObject(o.autocompleteOptions.data), this.init = function () {
                  var e = 0;
                  n.$el.each(function () {
                      var i = t(this),
                          a = Materialize.guid();
                      n.chipId = a, o.data && o.data instanceof Array || (o.data = []), i.data("chips", o.data), i.attr("data-index", e), i.attr("data-initialized", !0), i.hasClass(n.SELS.CHIPS) || i.addClass("chips"), n.chips(i, a), e++
                  })
              }, this.handleEvents = function () {
                  var e = n.SELS;
                  n.$document.off("click.chips-focus", e.CHIPS).on("click.chips-focus", e.CHIPS, function (i) {
                      t(i.target).find(e.INPUT).focus()
                  }), n.$document.off("click.chips-select", e.CHIP).on("click.chips-select", e.CHIP, function (i) {
                      var o = t(i.target);
                      if (o.length) {
                          var a = o.hasClass("selected"),
                              r = o.closest(e.CHIPS);
                          t(e.CHIP).removeClass("selected"), a || n.selectChip(o.index(), r)
                      }
                  }), n.$document.off("keydown.chips").on("keydown.chips", function (i) {
                      if (!t(i.target).is("input, textarea")) {
                          var o, a = n.$document.find(e.CHIP + e.SELECTED_CHIP),
                              r = a.closest(e.CHIPS),
                              s = a.siblings(e.CHIP).length;
                          if (a.length)
                              if (8 === i.which || 46 === i.which) {
                                  i.preventDefault(), o = a.index(), n.deleteChip(o, r);
                                  var l = null;
                                  o + 1 < s ? l = o : o !== s && o + 1 !== s || (l = s - 1), l < 0 && (l = null), null !== l && n.selectChip(l, r), s || r.find("input").focus()
                              } else if (37 === i.which) {
                              if ((o = a.index() - 1) < 0) return;
                              t(e.CHIP).removeClass("selected"), n.selectChip(o, r)
                          } else if (39 === i.which) {
                              if (o = a.index() + 1, t(e.CHIP).removeClass("selected"), o > s) return void r.find("input").focus();
                              n.selectChip(o, r)
                          }
                      }
                  }), n.$document.off("focusin.chips", e.CHIPS + " " + e.INPUT).on("focusin.chips", e.CHIPS + " " + e.INPUT, function (i) {
                      var n = t(i.target).closest(e.CHIPS);
                      n.addClass("focus"), n.siblings("label, .prefix").addClass("active"), t(e.CHIP).removeClass("selected")
                  }), n.$document.off("focusout.chips", e.CHIPS + " " + e.INPUT).on("focusout.chips", e.CHIPS + " " + e.INPUT, function (i) {
                      var n = t(i.target).closest(e.CHIPS);
                      n.removeClass("focus"), void 0 !== n.data("chips") && n.data("chips").length || n.siblings("label").removeClass("active"), n.siblings(".prefix").removeClass("active")
                  }), n.$document.off("keydown.chips-add", e.CHIPS + " " + e.INPUT).on("keydown.chips-add", e.CHIPS + " " + e.INPUT, function (i) {
                      var o = t(i.target),
                          a = o.closest(e.CHIPS),
                          r = a.children(e.CHIP).length;
                      if (13 === i.which) {
                          if (n.hasAutocomplete && a.find(".autocomplete-content.dropdown-content").length && a.find(".autocomplete-content.dropdown-content").children().length) return;
                          return i.preventDefault(), n.addChip({
                              tag: o.val()
                          }, a), void o.val("")
                      }
                      if ((8 === i.keyCode || 37 === i.keyCode) && "" === o.val() && r) return i.preventDefault(), n.selectChip(r - 1, a), void o.blur()
                  }), n.$document.off("click.chips-delete", e.CHIPS + " " + e.DELETE).on("click.chips-delete", e.CHIPS + " " + e.DELETE, function (i) {
                      var o = t(i.target),
                          a = o.closest(e.CHIPS),
                          r = o.closest(e.CHIP);
                      i.stopPropagation(), n.deleteChip(r.index(), a), a.find("input").focus()
                  })
              }, this.chips = function (e, i) {
                  e.empty(), e.data("chips").forEach(function (t) {
                      e.append(n.renderChip(t))
                  }), e.append(t('<input id="' + i + '" class="input" placeholder="">')), n.setPlaceholder(e);
                  var a = e.next("label");
                  a.length && (a.attr("for", i), void 0 !== e.data("chips") && e.data("chips").length && a.addClass("active"));
                  var r = t("#" + i);
                  n.hasAutocomplete && (o.autocompleteOptions.onAutocomplete = function (t) {
                      n.addChip({
                          tag: t
                      }, e), r.val(""), r.focus()
                  }, r.autocomplete(o.autocompleteOptions))
              }, this.renderChip = function (e) {
                  if (e.tag) {
                      var i = t('<div class="chip"></div>');
                      return i.text(e.tag), e.image && i.prepend(t("<img />").attr("src", e.image)), i.append(t('<i class="material-icons close">close</i>')), i
                  }
              }, this.setPlaceholder = function (t) {
                  void 0 !== t.data("chips") && t.data("chips").length && o.placeholder ? t.find("input").prop("placeholder", o.placeholder) : void 0 !== t.data("chips") && t.data("chips").length || !o.secondaryPlaceholder || t.find("input").prop("placeholder", o.secondaryPlaceholder)
              }, this.isValid = function (t, e) {
                  for (var i = t.data("chips"), n = !1, o = 0; o < i.length; o++)
                      if (i[o].tag === e.tag) return void(n = !0);
                  return "" !== e.tag && !n
              }, this.addChip = function (t, e) {
                  if (n.isValid(e, t)) {
                      for (var i = n.renderChip(t), o = [], a = e.data("chips"), r = 0; r < a.length; r++) o.push(a[r]);
                      o.push(t), e.data("chips", o), i.insertBefore(e.find("input")), e.trigger("chip.add", t), n.setPlaceholder(e)
                  }
              }, this.deleteChip = function (t, e) {
                  var i = e.data("chips")[t];
                  e.find(".chip").eq(t).remove();
                  for (var o = [], a = e.data("chips"), r = 0; r < a.length; r++) r !== t && o.push(a[r]);
                  e.data("chips", o), e.trigger("chip.delete", i), n.setPlaceholder(e)
              }, this.selectChip = function (t, e) {
                  var i = e.find(".chip").eq(t);
                  i && !1 === i.hasClass("selected") && (i.addClass("selected"), e.trigger("chip.select", e.data("chips")[t]))
              }, this.getChipsElement = function (t, e) {
                  return e.eq(t)
              }, this.init(), this.handleEvents()
          }
      }(jQuery),
      function (t) {
          t.fn.pushpin = function (e) {
              var i = {
                  top: 0,
                  bottom: 1 / 0,
                  offset: 0
              };
              return "remove" === e ? (this.each(function () {
                  (id = t(this).data("pushpin-id")) && (t(window).off("scroll." + id), t(this).removeData("pushpin-id").removeClass("pin-top pinned pin-bottom").removeAttr("style"))
              }), !1) : (e = t.extend(i, e), $index = 0, this.each(function () {
                  function i(t) {
                      t.removeClass("pin-top"), t.removeClass("pinned"), t.removeClass("pin-bottom")
                  }
  
                  function n(n, o) {
                      n.each(function () {
                          e.top <= o && e.bottom >= o && !t(this).hasClass("pinned") && (i(t(this)), t(this).css("top", e.offset), t(this).addClass("pinned")), o < e.top && !t(this).hasClass("pin-top") && (i(t(this)), t(this).css("top", 0), t(this).addClass("pin-top")), o > e.bottom && !t(this).hasClass("pin-bottom") && (i(t(this)), t(this).addClass("pin-bottom"), t(this).css("top", e.bottom - r))
                      })
                  }
                  var o = Materialize.guid(),
                      a = t(this),
                      r = t(this).offset().top;
                  t(this).data("pushpin-id", o), n(a, t(window).scrollTop()), t(window).on("scroll." + o, function () {
                      var i = t(window).scrollTop() + e.offset;
                      n(a, i)
                  })
              }))
          }
      }(jQuery),
      function (t) {
          t(document).ready(function () {
              t.fn.reverse = [].reverse, t(document).on("mouseenter.fixedActionBtn", ".fixed-action-btn:not(.click-to-toggle):not(.toolbar)", function (i) {
                  var n = t(this);
                  e(n)
              }), t(document).on("mouseleave.fixedActionBtn", ".fixed-action-btn:not(.click-to-toggle):not(.toolbar)", function (e) {
                  var n = t(this);
                  i(n)
              }), t(document).on("click.fabClickToggle", ".fixed-action-btn.click-to-toggle > a", function (n) {
                  var o = t(this).parent();
                  o.hasClass("active") ? i(o) : e(o)
              }), t(document).on("click.fabToolbar", ".fixed-action-btn.toolbar > a", function (e) {
                  var i = t(this).parent();
                  n(i)
              })
          }), t.fn.extend({
              openFAB: function () {
                  e(t(this))
              },
              closeFAB: function () {
                  i(t(this))
              },
              openToolbar: function () {
                  n(t(this))
              },
              closeToolbar: function () {
                  o(t(this))
              }
          });
          var e = function (e) {
                  var i = e;
                  if (!1 === i.hasClass("active")) {
                      var n, o;
                      !0 === i.hasClass("horizontal") ? o = 40 : n = 40, i.addClass("active"), i.find("ul .btn-floating").velocity({
                          scaleY: ".4",
                          scaleX: ".4",
                          translateY: n + "px",
                          translateX: o + "px"
                      }, {
                          duration: 0
                      });
                      var a = 0;
                      i.find("ul .btn-floating").reverse().each(function () {
                          t(this).velocity({
                              opacity: "1",
                              scaleX: "1",
                              scaleY: "1",
                              translateY: "0",
                              translateX: "0"
                          }, {
                              duration: 80,
                              delay: a
                          }), a += 40
                      })
                  }
              },
              i = function (t) {
                  var e, i, n = t;
                  !0 === n.hasClass("horizontal") ? i = 40 : e = 40, n.removeClass("active");
                  n.find("ul .btn-floating").velocity("stop", !0), n.find("ul .btn-floating").velocity({
                      opacity: "0",
                      scaleX: ".4",
                      scaleY: ".4",
                      translateY: e + "px",
                      translateX: i + "px"
                  }, {
                      duration: 80
                  })
              },
              n = function (e) {
                  if ("true" !== e.attr("data-open")) {
                      var i, n, a, r = window.innerWidth,
                          s = window.innerHeight,
                          l = e[0].getBoundingClientRect(),
                          c = e.find("> a").first(),
                          u = e.find("> ul").first(),
                          d = t('<div class="fab-backdrop"></div>'),
                          p = c.css("background-color");
                      c.append(d), i = l.left - r / 2 + l.width / 2, n = s - l.bottom, a = r / d.width(), e.attr("data-origin-bottom", l.bottom), e.attr("data-origin-left", l.left), e.attr("data-origin-width", l.width), e.addClass("active"), e.attr("data-open", !0), e.css({
                          "text-align": "center",
                          width: "100%",
                          bottom: 0,
                          left: 0,
                          transform: "translateX(" + i + "px)",
                          transition: "none"
                      }), c.css({
                          transform: "translateY(" + -n + "px)",
                          transition: "none"
                      }), d.css({
                          "background-color": p
                      }), setTimeout(function () {
                          e.css({
                              transform: "",
                              transition: "transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s"
                          }), c.css({
                              overflow: "visible",
                              transform: "",
                              transition: "transform .2s"
                          }), setTimeout(function () {
                              e.css({
                                  overflow: "hidden",
                                  "background-color": p
                              }), d.css({
                                  transform: "scale(" + a + ")",
                                  transition: "transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"
                              }), u.find("> li > a").css({
                                  opacity: 1
                              }), t(window).on("scroll.fabToolbarClose", function () {
                                  o(e), t(window).off("scroll.fabToolbarClose"), t(document).off("click.fabToolbarClose")
                              }), t(document).on("click.fabToolbarClose", function (i) {
                                  t(i.target).closest(u).length || (o(e), t(window).off("scroll.fabToolbarClose"), t(document).off("click.fabToolbarClose"))
                              })
                          }, 100)
                      }, 0)
                  }
              },
              o = function (t) {
                  if ("true" === t.attr("data-open")) {
                      var e, i, n = window.innerWidth,
                          o = window.innerHeight,
                          a = t.attr("data-origin-width"),
                          r = t.attr("data-origin-bottom"),
                          s = t.attr("data-origin-left"),
                          l = t.find("> .btn-floating").first(),
                          c = t.find("> ul").first(),
                          u = t.find(".fab-backdrop"),
                          d = l.css("background-color");
                      e = s - n / 2 + a / 2, i = o - r, n / u.width(), t.removeClass("active"), t.attr("data-open", !1), t.css({
                          "background-color": "transparent",
                          transition: "none"
                      }), l.css({
                          transition: "none"
                      }), u.css({
                          transform: "scale(0)",
                          "background-color": d
                      }), c.find("> li > a").css({
                          opacity: ""
                      }), setTimeout(function () {
                          u.remove(), t.css({
                              "text-align": "",
                              width: "",
                              bottom: "",
                              left: "",
                              overflow: "",
                              "background-color": "",
                              transform: "translate3d(" + -e + "px,0,0)"
                          }), l.css({
                              overflow: "",
                              transform: "translate3d(0," + i + "px,0)"
                          }), setTimeout(function () {
                              t.css({
                                  transform: "translate3d(0,0,0)",
                                  transition: "transform .2s"
                              }), l.css({
                                  transform: "translate3d(0,0,0)",
                                  transition: "transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"
                              })
                          }, 20)
                      }, 200)
                  }
              }
      }(jQuery),
      function (t) {
          Materialize.fadeInImage = function (e) {
              var i;
              if ("string" == typeof e) i = t(e);
              else {
                  if ("object" != typeof e) return;
                  i = e
              }
              i.css({
                  opacity: 0
              }), t(i).velocity({
                  opacity: 1
              }, {
                  duration: 650,
                  queue: !1,
                  easing: "easeOutSine"
              }), t(i).velocity({
                  opacity: 1
              }, {
                  duration: 1300,
                  queue: !1,
                  easing: "swing",
                  step: function (e, i) {
                      i.start = 100;
                      var n = e / 100,
                          o = 150 - (100 - e) / 1.75;
                      o < 100 && (o = 100), e >= 0 && t(this).css({
                          "-webkit-filter": "grayscale(" + n + ")brightness(" + o + "%)",
                          filter: "grayscale(" + n + ")brightness(" + o + "%)"
                      })
                  }
              })
          }, Materialize.showStaggeredList = function (e) {
              var i;
              if ("string" == typeof e) i = t(e);
              else {
                  if ("object" != typeof e) return;
                  i = e
              }
              var n = 0;
              i.find("li").velocity({
                  translateX: "-100px"
              }, {
                  duration: 0
              }), i.find("li").each(function () {
                  t(this).velocity({
                      opacity: "1",
                      translateX: "0"
                  }, {
                      duration: 800,
                      delay: n,
                      easing: [60, 10]
                  }), n += 120
              })
          }, t(document).ready(function () {
              var e = !1,
                  i = !1;
              t(".dismissable").each(function () {
                  t(this).hammer({
                      prevent_default: !1
                  }).on("pan", function (n) {
                      if ("touch" === n.gesture.pointerType) {
                          var o = t(this),
                              a = n.gesture.direction,
                              r = n.gesture.deltaX,
                              s = n.gesture.velocityX;
                          o.velocity({
                              translateX: r
                          }, {
                              duration: 50,
                              queue: !1,
                              easing: "easeOutQuad"
                          }), 4 === a && (r > o.innerWidth() / 2 || s < -.75) && (e = !0), 2 === a && (r < -1 * o.innerWidth() / 2 || s > .75) && (i = !0)
                      }
                  }).on("panend", function (n) {
                      if (Math.abs(n.gesture.deltaX) < t(this).innerWidth() / 2 && (i = !1, e = !1), "touch" === n.gesture.pointerType) {
                          var o = t(this);
                          if (e || i) {
                              var a;
                              a = e ? o.innerWidth() : -1 * o.innerWidth(), o.velocity({
                                  translateX: a
                              }, {
                                  duration: 100,
                                  queue: !1,
                                  easing: "easeOutQuad",
                                  complete: function () {
                                      o.css("border", "none"), o.velocity({
                                          height: 0,
                                          padding: 0
                                      }, {
                                          duration: 200,
                                          queue: !1,
                                          easing: "easeOutQuad",
                                          complete: function () {
                                              o.remove()
                                          }
                                      })
                                  }
                              })
                          } else o.velocity({
                              translateX: 0
                          }, {
                              duration: 100,
                              queue: !1,
                              easing: "easeOutQuad"
                          });
                          e = !1, i = !1
                      }
                  })
              })
          })
      }(jQuery),
      function (t) {
          var e = !1;
          Materialize.scrollFire = function (t) {
              var i = function () {
                      for (var e = window.pageYOffset + window.innerHeight, i = 0; i < t.length; i++) {
                          var n = t[i],
                              o = n.selector,
                              a = n.offset,
                              r = n.callback,
                              s = document.querySelector(o);
                          null !== s && e > s.getBoundingClientRect().top + window.pageYOffset + a && !0 !== n.done && ("function" == typeof r ? r.call(this, s) : "string" == typeof r && new Function(r)(s), n.done = !0)
                      }
                  },
                  n = Materialize.throttle(function () {
                      i()
                  }, t.throttle || 100);
              e || (window.addEventListener("scroll", n), window.addEventListener("resize", n), e = !0), setTimeout(n, 0)
          }
      }(),
      function (t) {
          "function" == typeof define && define.amd ? define("picker", ["jquery"], t) : "object" == typeof exports ? module.exports = t(require("jquery")) : this.Picker = t(jQuery)
      }(function (t) {
          function e(a, s, u, d) {
              function p() {
                  return e._.node("div", e._.node("div", e._.node("div", e._.node("div", T.component.nodes(b.open), x.box), x.wrap), x.frame), x.holder)
              }
  
              function h() {
                  k.data(s, T).addClass(x.input).attr("tabindex", -1).val(k.data("value") ? T.get("select", w.format) : a.value), w.editable || k.on("focus." + b.id + " click." + b.id, function (t) {
                      t.preventDefault(), T.$root.eq(0).focus()
                  }).on("keydown." + b.id, g), o(a, {
                      haspopup: !0,
                      expanded: !1,
                      readonly: !1,
                      owns: a.id + "_root"
                  })
              }
  
              function f() {
                  T.$root.on({
                      keydown: g,
                      focusin: function (t) {
                          T.$root.removeClass(x.focused), t.stopPropagation()
                      },
                      "mousedown click": function (e) {
                          var i = e.target;
                          i != T.$root.children()[0] && (e.stopPropagation(), "mousedown" != e.type || t(i).is("input, select, textarea, button, option") || (e.preventDefault(), T.$root.eq(0).focus()))
                      }
                  }).on({
                      focus: function () {
                          k.addClass(x.target)
                      },
                      blur: function () {
                          k.removeClass(x.target)
                      }
                  }).on("focus.toOpen", m).on("click", "[data-pick], [data-nav], [data-clear], [data-close]", function () {
                      var e = t(this),
                          i = e.data(),
                          n = e.hasClass(x.navDisabled) || e.hasClass(x.disabled),
                          o = r();
                      o = o && (o.type || o.href), (n || o && !t.contains(T.$root[0], o)) && T.$root.eq(0).focus(), !n && i.nav ? T.set("highlight", T.component.item.highlight, {
                          nav: i.nav
                      }) : !n && "pick" in i ? T.set("select", i.pick) : i.clear ? T.clear().close(!0) : i.close && T.close(!0)
                  }), o(T.$root[0], "hidden", !0)
              }
  
              function v() {
                  var e;
                  !0 === w.hiddenName ? (e = a.name, a.name = "") : e = (e = ["string" == typeof w.hiddenPrefix ? w.hiddenPrefix : "", "string" == typeof w.hiddenSuffix ? w.hiddenSuffix : "_submit"])[0] + a.name + e[1], T._hidden = t('<input type=hidden name="' + e + '"' + (k.data("value") || a.value ? ' value="' + T.get("select", w.formatSubmit) + '"' : "") + ">")[0], k.on("change." + b.id, function () {
                      T._hidden.value = a.value ? T.get("select", w.formatSubmit) : ""
                  }), w.container ? t(w.container).append(T._hidden) : k.after(T._hidden)
              }
  
              function g(t) {
                  var e = t.keyCode,
                      i = /^(8|46)$/.test(e);
                  if (27 == e) return T.close(), !1;
                  (32 == e || i || !b.open && T.component.key[e]) && (t.preventDefault(), t.stopPropagation(), i ? T.clear().close() : T.open())
              }
  
              function m(t) {
                  t.stopPropagation(), "focus" == t.type && T.$root.addClass(x.focused), T.open()
              }
              if (!a) return e;
              var y = !1,
                  b = {
                      id: a.id || "P" + Math.abs(~~(Math.random() * new Date))
                  },
                  w = u ? t.extend(!0, {}, u.defaults, d) : d || {},
                  x = t.extend({}, e.klasses(), w.klass),
                  k = t(a),
                  C = function () {
                      return this.start()
                  },
                  T = C.prototype = {
                      constructor: C,
                      $node: k,
                      start: function () {
                          return b && b.start ? T : (b.methods = {}, b.start = !0, b.open = !1, b.type = a.type, a.autofocus = a == r(), a.readOnly = !w.editable, a.id = a.id || b.id, "text" != a.type && (a.type = "text"), T.component = new u(T, w), T.$root = t(e._.node("div", p(), x.picker, 'id="' + a.id + '_root" tabindex="0"')), f(), w.formatSubmit && v(), h(), w.container ? t(w.container).append(T.$root) : k.after(T.$root), T.on({
                              start: T.component.onStart,
                              render: T.component.onRender,
                              stop: T.component.onStop,
                              open: T.component.onOpen,
                              close: T.component.onClose,
                              set: T.component.onSet
                          }).on({
                              start: w.onStart,
                              render: w.onRender,
                              stop: w.onStop,
                              open: w.onOpen,
                              close: w.onClose,
                              set: w.onSet
                          }), y = i(T.$root.children()[0]), a.autofocus && T.open(), T.trigger("start").trigger("render"))
                      },
                      render: function (t) {
                          return t ? T.$root.html(p()) : T.$root.find("." + x.box).html(T.component.nodes(b.open)), T.trigger("render")
                      },
                      stop: function () {
                          return b.start ? (T.close(), T._hidden && T._hidden.parentNode.removeChild(T._hidden), T.$root.remove(), k.removeClass(x.input).removeData(s), setTimeout(function () {
                              k.off("." + b.id)
                          }, 0), a.type = b.type, a.readOnly = !1, T.trigger("stop"), b.methods = {}, b.start = !1, T) : T
                      },
                      open: function (i) {
                          return b.open ? T : (k.addClass(x.active), o(a, "expanded", !0), setTimeout(function () {
                              T.$root.addClass(x.opened), o(T.$root[0], "hidden", !1)
                          }, 0), !1 !== i && (b.open = !0, y && c.css("overflow", "hidden").css("padding-right", "+=" + n()), T.$root.eq(0).focus(), l.on("click." + b.id + " focusin." + b.id, function (t) {
                              var e = t.target;
                              e != a && e != document && 3 != t.which && T.close(e === T.$root.children()[0])
                          }).on("keydown." + b.id, function (i) {
                              var n = i.keyCode,
                                  o = T.component.key[n],
                                  a = i.target;
                              27 == n ? T.close(!0) : a != T.$root[0] || !o && 13 != n ? t.contains(T.$root[0], a) && 13 == n && (i.preventDefault(), a.click()) : (i.preventDefault(), o ? e._.trigger(T.component.key.go, T, [e._.trigger(o)]) : T.$root.find("." + x.highlighted).hasClass(x.disabled) || T.set("select", T.component.item.highlight).close())
                          })), T.trigger("open"))
                      },
                      close: function (t) {
                          return t && (T.$root.off("focus.toOpen").eq(0).focus(), setTimeout(function () {
                              T.$root.on("focus.toOpen", m)
                          }, 0)), k.removeClass(x.active), o(a, "expanded", !1), setTimeout(function () {
                              T.$root.removeClass(x.opened + " " + x.focused), o(T.$root[0], "hidden", !0)
                          }, 0), b.open ? (b.open = !1, y && c.css("overflow", "").css("padding-right", "-=" + n()), l.off("." + b.id), T.trigger("close")) : T
                      },
                      clear: function (t) {
                          return T.set("clear", null, t)
                      },
                      set: function (e, i, n) {
                          var o, a, r = t.isPlainObject(e),
                              s = r ? e : {};
                          if (n = r && t.isPlainObject(i) ? i : n || {}, e) {
                              r || (s[e] = i);
                              for (o in s) a = s[o], o in T.component.item && (void 0 === a && (a = null), T.component.set(o, a, n)), "select" != o && "clear" != o || k.val("clear" == o ? "" : T.get(o, w.format)).trigger("change");
                              T.render()
                          }
                          return n.muted ? T : T.trigger("set", s)
                      },
                      get: function (t, i) {
                          if (t = t || "value", null != b[t]) return b[t];
                          if ("valueSubmit" == t) {
                              if (T._hidden) return T._hidden.value;
                              t = "value"
                          }
                          if ("value" == t) return a.value;
                          if (t in T.component.item) {
                              if ("string" == typeof i) {
                                  var n = T.component.get(t);
                                  return n ? e._.trigger(T.component.formats.toString, T.component, [i, n]) : ""
                              }
                              return T.component.get(t)
                          }
                      },
                      on: function (e, i, n) {
                          var o, a, r = t.isPlainObject(e),
                              s = r ? e : {};
                          if (e) {
                              r || (s[e] = i);
                              for (o in s) a = s[o], n && (o = "_" + o), b.methods[o] = b.methods[o] || [], b.methods[o].push(a)
                          }
                          return T
                      },
                      off: function () {
                          var t, e, i = arguments;
                          for (t = 0, namesCount = i.length; t < namesCount; t += 1)(e = i[t]) in b.methods && delete b.methods[e];
                          return T
                      },
                      trigger: function (t, i) {
                          var n = function (t) {
                              var n = b.methods[t];
                              n && n.map(function (t) {
                                  e._.trigger(t, T, [i])
                              })
                          };
                          return n("_" + t), n(t), T
                      }
                  };
              return new C
          }
  
          function i(t) {
              var e;
              return t.currentStyle ? e = t.currentStyle.position : window.getComputedStyle && (e = getComputedStyle(t).position), "fixed" == e
          }
  
          function n() {
              if (c.height() <= s.height()) return 0;
              var e = t('<div style="visibility:hidden;width:100px" />').appendTo("body"),
                  i = e[0].offsetWidth;
              e.css("overflow", "scroll");
              var n = t('<div style="width:100%" />').appendTo(e)[0].offsetWidth;
              return e.remove(), i - n
          }
  
          function o(e, i, n) {
              if (t.isPlainObject(i))
                  for (var o in i) a(e, o, i[o]);
              else a(e, i, n)
          }
  
          function a(t, e, i) {
              t.setAttribute(("role" == e ? "" : "aria-") + e, i)
          }
  
          function r() {
              try {
                  return document.activeElement
              } catch (t) {}
          }
          var s = t(window),
              l = t(document),
              c = t(document.documentElement);
          return e.klasses = function (t) {
              return t = t || "picker", {
                  picker: t,
                  opened: t + "--opened",
                  focused: t + "--focused",
                  input: t + "__input",
                  active: t + "__input--active",
                  target: t + "__input--target",
                  holder: t + "__holder",
                  frame: t + "__frame",
                  wrap: t + "__wrap",
                  box: t + "__box"
              }
          }, e._ = {
              group: function (t) {
                  for (var i, n = "", o = e._.trigger(t.min, t); o <= e._.trigger(t.max, t, [o]); o += t.i) i = e._.trigger(t.item, t, [o]), n += e._.node(t.node, i[0], i[1], i[2]);
                  return n
              },
              node: function (e, i, n, o) {
                  return i ? (i = t.isArray(i) ? i.join("") : i, n = n ? ' class="' + n + '"' : "", o = o ? " " + o : "", "<" + e + n + o + ">" + i + "</" + e + ">") : ""
              },
              lead: function (t) {
                  return (t < 10 ? "0" : "") + t
              },
              trigger: function (t, e, i) {
                  return "function" == typeof t ? t.apply(e, i || []) : t
              },
              digits: function (t) {
                  return /\d/.test(t[1]) ? 2 : 1
              },
              isDate: function (t) {
                  return {}.toString.call(t).indexOf("Date") > -1 && this.isInteger(t.getDate())
              },
              isInteger: function (t) {
                  return {}.toString.call(t).indexOf("Number") > -1 && t % 1 == 0
              },
              ariaAttr: function (e, i) {
                  t.isPlainObject(e) || (e = {
                      attribute: i
                  }), i = "";
                  for (var n in e) {
                      var o = ("role" == n ? "" : "aria-") + n;
                      i += null == e[n] ? "" : o + '="' + e[n] + '"'
                  }
                  return i
              }
          }, e.extend = function (i, n) {
              t.fn[i] = function (o, a) {
                  var r = this.data(i);
                  return "picker" == o ? r : r && "string" == typeof o ? e._.trigger(r[o], r, [a]) : this.each(function () {
                      t(this).data(i) || new e(this, i, n, o)
                  })
              }, t.fn[i].defaults = n.defaults
          }, e
      }),
      function (t) {
          "function" == typeof define && define.amd ? define(["picker", "jquery"], t) : "object" == typeof exports ? module.exports = t(require("./picker.js"), require("jquery")) : t(Picker, jQuery)
      }(function (t, e) {
          function i(t, e) {
              var i = this,
                  n = t.$node[0],
                  o = n.value,
                  a = t.$node.data("value"),
                  r = a || o,
                  s = a ? e.formatSubmit : e.format,
                  l = function () {
                      return n.currentStyle ? "rtl" == n.currentStyle.direction : "rtl" == getComputedStyle(t.$root[0]).direction
                  };
              i.settings = e, i.$node = t.$node, i.queue = {
                  min: "measure create",
                  max: "measure create",
                  now: "now create",
                  select: "parse create validate",
                  highlight: "parse navigate create validate",
                  view: "parse create validate viewset",
                  disable: "deactivate",
                  enable: "activate"
              }, i.item = {}, i.item.clear = null, i.item.disable = (e.disable || []).slice(0), i.item.enable = - function (t) {
                  return !0 === t[0] ? t.shift() : -1
              }(i.item.disable), i.set("min", e.min).set("max", e.max).set("now"), r ? i.set("select", r, {
                  format: s
              }) : i.set("select", null).set("highlight", i.item.now), i.key = {
                  40: 7,
                  38: -7,
                  39: function () {
                      return l() ? -1 : 1
                  },
                  37: function () {
                      return l() ? 1 : -1
                  },
                  go: function (t) {
                      var e = i.item.highlight,
                          n = new Date(e.year, e.month, e.date + t);
                      i.set("highlight", n, {
                          interval: t
                      }), this.render()
                  }
              }, t.on("render", function () {
                  t.$root.find("." + e.klass.selectMonth).on("change", function () {
                      var i = this.value;
                      i && (t.set("highlight", [t.get("view").year, i, t.get("highlight").date]), t.$root.find("." + e.klass.selectMonth).trigger("focus"))
                  }), t.$root.find("." + e.klass.selectYear).on("change", function () {
                      var i = this.value;
                      i && (t.set("highlight", [i, t.get("view").month, t.get("highlight").date]), t.$root.find("." + e.klass.selectYear).trigger("focus"))
                  })
              }, 1).on("open", function () {
                  var n = "";
                  i.disabled(i.get("now")) && (n = ":not(." + e.klass.buttonToday + ")"), t.$root.find("button" + n + ", select").attr("disabled", !1)
              }, 1).on("close", function () {
                  t.$root.find("button, select").attr("disabled", !0)
              }, 1)
          }
          var n = t._;
          i.prototype.set = function (t, e, i) {
              var n = this,
                  o = n.item;
              return null === e ? ("clear" == t && (t = "select"), o[t] = e, n) : (o["enable" == t ? "disable" : "flip" == t ? "enable" : t] = n.queue[t].split(" ").map(function (o) {
                  return e = n[o](t, e, i)
              }).pop(), "select" == t ? n.set("highlight", o.select, i) : "highlight" == t ? n.set("view", o.highlight, i) : t.match(/^(flip|min|max|disable|enable)$/) && (o.select && n.disabled(o.select) && n.set("select", o.select, i), o.highlight && n.disabled(o.highlight) && n.set("highlight", o.highlight, i)), n)
          }, i.prototype.get = function (t) {
              return this.item[t]
          }, i.prototype.create = function (t, i, o) {
              var a, r = this;
              return i = void 0 === i ? t : i, i == -1 / 0 || i == 1 / 0 ? a = i : e.isPlainObject(i) && n.isInteger(i.pick) ? i = i.obj : e.isArray(i) ? (i = new Date(i[0], i[1], i[2]), i = n.isDate(i) ? i : r.create().obj) : i = n.isInteger(i) || n.isDate(i) ? r.normalize(new Date(i), o) : r.now(t, i, o), {
                  year: a || i.getFullYear(),
                  month: a || i.getMonth(),
                  date: a || i.getDate(),
                  day: a || i.getDay(),
                  obj: a || i,
                  pick: a || i.getTime()
              }
          }, i.prototype.createRange = function (t, i) {
              var o = this,
                  a = function (t) {
                      return !0 === t || e.isArray(t) || n.isDate(t) ? o.create(t) : t
                  };
              return n.isInteger(t) || (t = a(t)), n.isInteger(i) || (i = a(i)), n.isInteger(t) && e.isPlainObject(i) ? t = [i.year, i.month, i.date + t] : n.isInteger(i) && e.isPlainObject(t) && (i = [t.year, t.month, t.date + i]), {
                  from: a(t),
                  to: a(i)
              }
          }, i.prototype.withinRange = function (t, e) {
              return t = this.createRange(t.from, t.to), e.pick >= t.from.pick && e.pick <= t.to.pick
          }, i.prototype.overlapRanges = function (t, e) {
              var i = this;
              return t = i.createRange(t.from, t.to), e = i.createRange(e.from, e.to), i.withinRange(t, e.from) || i.withinRange(t, e.to) || i.withinRange(e, t.from) || i.withinRange(e, t.to)
          }, i.prototype.now = function (t, e, i) {
              return e = new Date, i && i.rel && e.setDate(e.getDate() + i.rel), this.normalize(e, i)
          }, i.prototype.navigate = function (t, i, n) {
              var o, a, r, s, l = e.isArray(i),
                  c = e.isPlainObject(i),
                  u = this.item.view;
              if (l || c) {
                  for (c ? (a = i.year, r = i.month, s = i.date) : (a = +i[0], r = +i[1], s = +i[2]), n && n.nav && u && u.month !== r && (a = u.year, r = u.month), a = (o = new Date(a, r + (n && n.nav ? n.nav : 0), 1)).getFullYear(), r = o.getMonth(); new Date(a, r, s).getMonth() !== r;) s -= 1;
                  i = [a, r, s]
              }
              return i
          }, i.prototype.normalize = function (t) {
              return t.setHours(0, 0, 0, 0), t
          }, i.prototype.measure = function (t, e) {
              var i = this;
              return e ? "string" == typeof e ? e = i.parse(t, e) : n.isInteger(e) && (e = i.now(t, e, {
                  rel: e
              })) : e = "min" == t ? -1 / 0 : 1 / 0, e
          }, i.prototype.viewset = function (t, e) {
              return this.create([e.year, e.month, 1])
          }, i.prototype.validate = function (t, i, o) {
              var a, r, s, l, c = this,
                  u = i,
                  d = o && o.interval ? o.interval : 1,
                  p = -1 === c.item.enable,
                  h = c.item.min,
                  f = c.item.max,
                  v = p && c.item.disable.filter(function (t) {
                      if (e.isArray(t)) {
                          var o = c.create(t).pick;
                          o < i.pick ? a = !0 : o > i.pick && (r = !0)
                      }
                      return n.isInteger(t)
                  }).length;
              if ((!o || !o.nav) && (!p && c.disabled(i) || p && c.disabled(i) && (v || a || r) || !p && (i.pick <= h.pick || i.pick >= f.pick)))
                  for (p && !v && (!r && d > 0 || !a && d < 0) && (d *= -1); c.disabled(i) && (Math.abs(d) > 1 && (i.month < u.month || i.month > u.month) && (i = u, d = d > 0 ? 1 : -1), i.pick <= h.pick ? (s = !0, d = 1, i = c.create([h.year, h.month, h.date + (i.pick === h.pick ? 0 : -1)])) : i.pick >= f.pick && (l = !0, d = -1, i = c.create([f.year, f.month, f.date + (i.pick === f.pick ? 0 : 1)])), !s || !l);) i = c.create([i.year, i.month, i.date + d]);
              return i
          }, i.prototype.disabled = function (t) {
              var i = this,
                  o = i.item.disable.filter(function (o) {
                      return n.isInteger(o) ? t.day === (i.settings.firstDay ? o : o - 1) % 7 : e.isArray(o) || n.isDate(o) ? t.pick === i.create(o).pick : e.isPlainObject(o) ? i.withinRange(o, t) : void 0
                  });
              return o = o.length && !o.filter(function (t) {
                  return e.isArray(t) && "inverted" == t[3] || e.isPlainObject(t) && t.inverted
              }).length, -1 === i.item.enable ? !o : o || t.pick < i.item.min.pick || t.pick > i.item.max.pick
          }, i.prototype.parse = function (t, e, i) {
              var o = this,
                  a = {};
              return e && "string" == typeof e ? (i && i.format || ((i = i || {}).format = o.settings.format), o.formats.toArray(i.format).map(function (t) {
                  var i = o.formats[t],
                      r = i ? n.trigger(i, o, [e, a]) : t.replace(/^!/, "").length;
                  i && (a[t] = e.substr(0, r)), e = e.substr(r)
              }), [a.yyyy || a.yy, +(a.mm || a.m) - 1, a.dd || a.d]) : e
          }, i.prototype.formats = function () {
              function t(t, e, i) {
                  var n = t.match(/\w+/)[0];
                  return i.mm || i.m || (i.m = e.indexOf(n) + 1), n.length
              }
  
              function e(t) {
                  return t.match(/\w+/)[0].length
              }
              return {
                  d: function (t, e) {
                      return t ? n.digits(t) : e.date
                  },
                  dd: function (t, e) {
                      return t ? 2 : n.lead(e.date)
                  },
                  ddd: function (t, i) {
                      return t ? e(t) : this.settings.weekdaysShort[i.day]
                  },
                  dddd: function (t, i) {
                      return t ? e(t) : this.settings.weekdaysFull[i.day]
                  },
                  m: function (t, e) {
                      return t ? n.digits(t) : e.month + 1
                  },
                  mm: function (t, e) {
                      return t ? 2 : n.lead(e.month + 1)
                  },
                  mmm: function (e, i) {
                      var n = this.settings.monthsShort;
                      return e ? t(e, n, i) : n[i.month]
                  },
                  mmmm: function (e, i) {
                      var n = this.settings.monthsFull;
                      return e ? t(e, n, i) : n[i.month]
                  },
                  yy: function (t, e) {
                      return t ? 2 : ("" + e.year).slice(2)
                  },
                  yyyy: function (t, e) {
                      return t ? 4 : e.year
                  },
                  toArray: function (t) {
                      return t.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g)
                  },
                  toString: function (t, e) {
                      var i = this;
                      return i.formats.toArray(t).map(function (t) {
                          return n.trigger(i.formats[t], i, [0, e]) || t.replace(/^!/, "")
                      }).join("")
                  }
              }
          }(), i.prototype.isDateExact = function (t, i) {
              var o = this;
              return n.isInteger(t) && n.isInteger(i) || "boolean" == typeof t && "boolean" == typeof i ? t === i : (n.isDate(t) || e.isArray(t)) && (n.isDate(i) || e.isArray(i)) ? o.create(t).pick === o.create(i).pick : !(!e.isPlainObject(t) || !e.isPlainObject(i)) && (o.isDateExact(t.from, i.from) && o.isDateExact(t.to, i.to))
          }, i.prototype.isDateOverlap = function (t, i) {
              var o = this,
                  a = o.settings.firstDay ? 1 : 0;
              return n.isInteger(t) && (n.isDate(i) || e.isArray(i)) ? (t = t % 7 + a) === o.create(i).day + 1 : n.isInteger(i) && (n.isDate(t) || e.isArray(t)) ? (i = i % 7 + a) === o.create(t).day + 1 : !(!e.isPlainObject(t) || !e.isPlainObject(i)) && o.overlapRanges(t, i)
          }, i.prototype.flipEnable = function (t) {
              var e = this.item;
              e.enable = t || (-1 == e.enable ? 1 : -1)
          }, i.prototype.deactivate = function (t, i) {
              var o = this,
                  a = o.item.disable.slice(0);
              return "flip" == i ? o.flipEnable() : !1 === i ? (o.flipEnable(1), a = []) : !0 === i ? (o.flipEnable(-1), a = []) : i.map(function (t) {
                  for (var i, r = 0; r < a.length; r += 1)
                      if (o.isDateExact(t, a[r])) {
                          i = !0;
                          break
                      }
                  i || (n.isInteger(t) || n.isDate(t) || e.isArray(t) || e.isPlainObject(t) && t.from && t.to) && a.push(t)
              }), a
          }, i.prototype.activate = function (t, i) {
              var o = this,
                  a = o.item.disable,
                  r = a.length;
              return "flip" == i ? o.flipEnable() : !0 === i ? (o.flipEnable(1), a = []) : !1 === i ? (o.flipEnable(-1), a = []) : i.map(function (t) {
                  var i, s, l, c;
                  for (l = 0; l < r; l += 1) {
                      if (s = a[l], o.isDateExact(s, t)) {
                          i = a[l] = null, c = !0;
                          break
                      }
                      if (o.isDateOverlap(s, t)) {
                          e.isPlainObject(t) ? (t.inverted = !0, i = t) : e.isArray(t) ? (i = t)[3] || i.push("inverted") : n.isDate(t) && (i = [t.getFullYear(), t.getMonth(), t.getDate(), "inverted"]);
                          break
                      }
                  }
                  if (i)
                      for (l = 0; l < r; l += 1)
                          if (o.isDateExact(a[l], t)) {
                              a[l] = null;
                              break
                          }
                  if (c)
                      for (l = 0; l < r; l += 1)
                          if (o.isDateOverlap(a[l], t)) {
                              a[l] = null;
                              break
                          }
                  i && a.push(i)
              }), a.filter(function (t) {
                  return null != t
              })
          }, i.prototype.nodes = function (t) {
              var e = this,
                  i = e.settings,
                  o = e.item,
                  a = o.now,
                  r = o.select,
                  s = o.highlight,
                  l = o.view,
                  c = o.disable,
                  u = o.min,
                  d = o.max,
                  p = function (t, e) {
                      return i.firstDay && (t.push(t.shift()), e.push(e.shift())), n.node("thead", n.node("tr", n.group({
                          min: 0,
                          max: 6,
                          i: 1,
                          node: "th",
                          item: function (n) {
                              return [t[n], i.klass.weekdays, 'scope=col title="' + e[n] + '"']
                          }
                      })))
                  }((i.showWeekdaysFull ? i.weekdaysFull : i.weekdaysLetter).slice(0), i.weekdaysFull.slice(0)),
                  h = function (t) {
                      return n.node("div", " ", i.klass["nav" + (t ? "Next" : "Prev")] + (t && l.year >= d.year && l.month >= d.month || !t && l.year <= u.year && l.month <= u.month ? " " + i.klass.navDisabled : ""), "data-nav=" + (t || -1) + " " + n.ariaAttr({
                          role: "button",
                          controls: e.$node[0].id + "_table"
                      }) + ' title="' + (t ? i.labelMonthNext : i.labelMonthPrev) + '"')
                  },
                  f = function (o) {
                      var a = i.showMonthsShort ? i.monthsShort : i.monthsFull;
                      return "short_months" == o && (a = i.monthsShort), i.selectMonths && void 0 == o ? n.node("select", n.group({
                          min: 0,
                          max: 11,
                          i: 1,
                          node: "option",
                          item: function (t) {
                              return [a[t], 0, "value=" + t + (l.month == t ? " selected" : "") + (l.year == u.year && t < u.month || l.year == d.year && t > d.month ? " disabled" : "")]
                          }
                      }), i.klass.selectMonth + " browser-default", (t ? "" : "disabled") + " " + n.ariaAttr({
                          controls: e.$node[0].id + "_table"
                      }) + ' title="' + i.labelMonthSelect + '"') : "short_months" == o ? null != r ? a[r.month] : a[l.month] : n.node("div", a[l.month], i.klass.month)
                  },
                  v = function (o) {
                      var a = l.year,
                          r = !0 === i.selectYears ? 5 : ~~(i.selectYears / 2);
                      if (r) {
                          var s = u.year,
                              c = d.year,
                              p = a - r,
                              h = a + r;
                          if (s > p && (h += s - p, p = s), c < h) {
                              var f = p - s,
                                  v = h - c;
                              p -= f > v ? v : f, h = c
                          }
                          if (i.selectYears && void 0 == o) return n.node("select", n.group({
                              min: p,
                              max: h,
                              i: 1,
                              node: "option",
                              item: function (t) {
                                  return [t, 0, "value=" + t + (a == t ? " selected" : "")]
                              }
                          }), i.klass.selectYear + " browser-default", (t ? "" : "disabled") + " " + n.ariaAttr({
                              controls: e.$node[0].id + "_table"
                          }) + ' title="' + i.labelYearSelect + '"')
                      }
                      return "raw" == o ? n.node("div", a) : n.node("div", a, i.klass.year)
                  };
              return createDayLabel = function () {
                  return null != r ? r.date : a.date
              }, createWeekdayLabel = function () {
                  var t;
                  return t = null != r ? r.day : a.day, i.weekdaysShort[t]
              }, n.node("div", n.node("div", v("raw"), i.klass.year_display) + n.node("span", createWeekdayLabel() + ", ", "picker__weekday-display") + n.node("span", f("short_months") + " ", i.klass.month_display) + n.node("span", createDayLabel(), i.klass.day_display), i.klass.date_display) + n.node("div", n.node("div", n.node("div", (i.selectYears, f() + v() + h() + h(1)), i.klass.header) + n.node("table", p + n.node("tbody", n.group({
                  min: 0,
                  max: 5,
                  i: 1,
                  node: "tr",
                  item: function (t) {
                      var o = i.firstDay && 0 === e.create([l.year, l.month, 1]).day ? -7 : 0;
                      return [n.group({
                          min: 7 * t - l.day + o + 1,
                          max: function () {
                              return this.min + 7 - 1
                          },
                          i: 1,
                          node: "td",
                          item: function (t) {
                              t = e.create([l.year, l.month, t + (i.firstDay ? 1 : 0)]);
                              var o = r && r.pick == t.pick,
                                  p = s && s.pick == t.pick,
                                  h = c && e.disabled(t) || t.pick < u.pick || t.pick > d.pick,
                                  f = n.trigger(e.formats.toString, e, [i.format, t]);
                              return [n.node("div", t.date, function (e) {
                                  return e.push(l.month == t.month ? i.klass.infocus : i.klass.outfocus), a.pick == t.pick && e.push(i.klass.now), o && e.push(i.klass.selected), p && e.push(i.klass.highlighted), h && e.push(i.klass.disabled), e.join(" ")
                              }([i.klass.day]), "data-pick=" + t.pick + " " + n.ariaAttr({
                                  role: "gridcell",
                                  label: f,
                                  selected: !(!o || e.$node.val() !== f) || null,
                                  activedescendant: !!p || null,
                                  disabled: !!h || null
                              })), "", n.ariaAttr({
                                  role: "presentation"
                              })]
                          }
                      })]
                  }
              })), i.klass.table, 'id="' + e.$node[0].id + '_table" ' + n.ariaAttr({
                  role: "grid",
                  controls: e.$node[0].id,
                  readonly: !0
              })), i.klass.calendar_container) + n.node("div", n.node("button", i.today, "btn-flat picker__today waves-effect", "type=button data-pick=" + a.pick + (t && !e.disabled(a) ? "" : " disabled") + " " + n.ariaAttr({
                  controls: e.$node[0].id
              })) + n.node("button", i.clear, "btn-flat picker__clear waves-effect", "type=button data-clear=1" + (t ? "" : " disabled") + " " + n.ariaAttr({
                  controls: e.$node[0].id
              })) + n.node("button", i.close, "btn-flat picker__close waves-effect", "type=button data-close=true " + (t ? "" : " disabled") + " " + n.ariaAttr({
                  controls: e.$node[0].id
              })), i.klass.footer), "picker__container__wrapper")
          }, i.defaults = function (t) {
              return {
                  labelMonthNext: "Next month",
                  labelMonthPrev: "Previous month",
                  labelMonthSelect: "Select a month",
                  labelYearSelect: "Select a year",
                  monthsFull: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
                  monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
                  weekdaysFull: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
                  weekdaysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
                  weekdaysLetter: ["S", "M", "T", "W", "T", "F", "S"],
                  today: "Today",
                  clear: "Clear",
                  close: "Ok",
                  format: "d mmmm, yyyy",
                  klass: {
                      table: t + "table",
                      header: t + "header",
                      date_display: t + "date-display",
                      day_display: t + "day-display",
                      month_display: t + "month-display",
                      year_display: t + "year-display",
                      calendar_container: t + "calendar-container",
                      navPrev: t + "nav--prev",
                      navNext: t + "nav--next",
                      navDisabled: t + "nav--disabled",
                      month: t + "month",
                      year: t + "year",
                      selectMonth: t + "select--month",
                      selectYear: t + "select--year",
                      weekdays: t + "weekday",
                      day: t + "day",
                      disabled: t + "day--disabled",
                      selected: t + "day--selected",
                      highlighted: t + "day--highlighted",
                      now: t + "day--today",
                      infocus: t + "day--infocus",
                      outfocus: t + "day--outfocus",
                      footer: t + "footer",
                      buttonClear: t + "button--clear",
                      buttonToday: t + "button--today",
                      buttonClose: t + "button--close"
                  }
              }
          }(t.klasses().picker + "__"), t.extend("pickadate", i)
      }),
      function () {
          function t(t) {
              return document.createElementNS(l, t)
          }
  
          function e(t) {
              return (t < 10 ? "0" : "") + t
          }
  
          function i(t) {
              var e = ++g + "";
              return t ? t + e : e
          }
  
          function n(n, r) {
              function l(t, e) {
                  var i = d.offset(),
                      n = /^touch/.test(t.type),
                      o = i.left + m,
                      a = i.top + m,
                      l = (n ? t.originalEvent.touches[0] : t).pageX - o,
                      c = (n ? t.originalEvent.touches[0] : t).pageY - a,
                      u = Math.sqrt(l * l + c * c),
                      p = !1;
                  if (!e || !(u < y - w || u > y + w)) {
                      t.preventDefault();
                      var v = setTimeout(function () {
                          E.popover.addClass("clockpicker-moving")
                      }, 200);
                      E.setHand(l, c, !e, !0), s.off(h).on(h, function (t) {
                          t.preventDefault();
                          var e = /^touch/.test(t.type),
                              i = (e ? t.originalEvent.touches[0] : t).pageX - o,
                              n = (e ? t.originalEvent.touches[0] : t).pageY - a;
                          (p || i !== l || n !== c) && (p = !0, E.setHand(i, n, !1, !0))
                      }), s.off(f).on(f, function (t) {
                          s.off(f), t.preventDefault();
                          var i = /^touch/.test(t.type),
                              n = (i ? t.originalEvent.changedTouches[0] : t).pageX - o,
                              u = (i ? t.originalEvent.changedTouches[0] : t).pageY - a;
                          (e || p) && n === l && u === c && E.setHand(n, u), "hours" === E.currentView ? E.toggleView("minutes", k / 2) : r.autoclose && (E.minutesView.addClass("clockpicker-dial-out"), setTimeout(function () {
                              E.done()
                          }, k / 2)), d.prepend(z), clearTimeout(v), E.popover.removeClass("clockpicker-moving"), s.off(h)
                      })
                  }
              }
              var u = a(C),
                  d = u.find(".clockpicker-plate"),
                  v = u.find(".picker__holder"),
                  g = u.find(".clockpicker-hours"),
                  T = u.find(".clockpicker-minutes"),
                  S = u.find(".clockpicker-am-pm-block"),
                  P = "INPUT" === n.prop("tagName"),
                  A = P ? n : n.find("input"),
                  O = a("label[for=" + A.attr("id") + "]"),
                  E = this;
              this.id = i("cp"), this.element = n, this.holder = v, this.options = r, this.isAppended = !1, this.isShown = !1, this.currentView = "hours", this.isInput = P, this.input = A, this.label = O, this.popover = u, this.plate = d, this.hoursView = g, this.minutesView = T, this.amPmBlock = S, this.spanHours = u.find(".clockpicker-span-hours"), this.spanMinutes = u.find(".clockpicker-span-minutes"), this.spanAmPm = u.find(".clockpicker-span-am-pm"), this.footer = u.find(".picker__footer"), this.amOrPm = "PM", r.twelvehour && (r.ampmclickable ? (this.spanAmPm.empty(), a('<div id="click-am">AM</div>').on("click", function () {
                  E.spanAmPm.children("#click-am").addClass("text-primary"), E.spanAmPm.children("#click-pm").removeClass("text-primary"), E.amOrPm = "AM"
              }).appendTo(this.spanAmPm), a('<div id="click-pm">PM</div>').on("click", function () {
                  E.spanAmPm.children("#click-pm").addClass("text-primary"), E.spanAmPm.children("#click-am").removeClass("text-primary"), E.amOrPm = "PM"
              }).appendTo(this.spanAmPm)) : (this.spanAmPm.empty(), a('<div id="click-am">AM</div>').appendTo(this.spanAmPm), a('<div id="click-pm">PM</div>').appendTo(this.spanAmPm))), a('<button type="button" class="btn-flat picker__clear" tabindex="' + (r.twelvehour ? "3" : "1") + '">' + r.cleartext + "</button>").click(a.proxy(this.clear, this)).appendTo(this.footer), a('<button type="button" class="btn-flat picker__close" tabindex="' + (r.twelvehour ? "3" : "1") + '">' + r.canceltext + "</button>").click(a.proxy(this.hide, this)).appendTo(this.footer), a('<button type="button" class="btn-flat picker__close" tabindex="' + (r.twelvehour ? "3" : "1") + '">' + r.donetext + "</button>").click(a.proxy(this.done, this)).appendTo(this.footer), this.spanHours.click(a.proxy(this.toggleView, this, "hours")), this.spanMinutes.click(a.proxy(this.toggleView, this, "minutes")), A.on("focus.clockpicker click.clockpicker", a.proxy(this.show, this));
              var M, I, q, _, V = a('<div class="clockpicker-tick"></div>');
              if (r.twelvehour)
                  for (M = 1; M < 13; M += 1) I = V.clone(), q = M / 6 * Math.PI, _ = y, I.css({
                      left: m + Math.sin(q) * _ - w,
                      top: m - Math.cos(q) * _ - w
                  }), I.html(0 === M ? "00" : M), g.append(I), I.on(p, l);
              else
                  for (M = 0; M < 24; M += 1) I = V.clone(), q = M / 6 * Math.PI, _ = M > 0 && M < 13 ? b : y, I.css({
                      left: m + Math.sin(q) * _ - w,
                      top: m - Math.cos(q) * _ - w
                  }), I.html(0 === M ? "00" : M), g.append(I), I.on(p, l);
              for (M = 0; M < 60; M += 5) I = V.clone(), q = M / 30 * Math.PI, I.css({
                  left: m + Math.sin(q) * y - w,
                  top: m - Math.cos(q) * y - w
              }), I.html(e(M)), T.append(I), I.on(p, l);
              if (d.on(p, function (t) {
                      0 === a(t.target).closest(".clockpicker-tick").length && l(t, !0)
                  }), c) {
                  var z = u.find(".clockpicker-canvas"),
                      D = t("svg");
                  D.setAttribute("class", "clockpicker-svg"), D.setAttribute("width", x), D.setAttribute("height", x);
                  var j = t("g");
                  j.setAttribute("transform", "translate(" + m + "," + m + ")");
                  var H = t("circle");
                  H.setAttribute("class", "clockpicker-canvas-bearing"), H.setAttribute("cx", 0), H.setAttribute("cy", 0), H.setAttribute("r", 4);
                  var L = t("line");
                  L.setAttribute("x1", 0), L.setAttribute("y1", 0);
                  var W = t("circle");
                  W.setAttribute("class", "clockpicker-canvas-bg"), W.setAttribute("r", w), j.appendChild(L), j.appendChild(W), j.appendChild(H), D.appendChild(j), z.append(D), this.hand = L, this.bg = W, this.bearing = H, this.g = j, this.canvas = z
              }
              o(this.options.init)
          }
  
          function o(t) {
              t && "function" == typeof t && t()
          }
          var a = window.jQuery,
              r = a(window),
              s = a(document),
              l = "http://www.w3.org/2000/svg",
              c = "SVGAngle" in window && function () {
                  var t, e = document.createElement("div");
                  return e.innerHTML = "<svg/>", t = (e.firstChild && e.firstChild.namespaceURI) == l, e.innerHTML = "", t
              }(),
              u = function () {
                  var t = document.createElement("div").style;
                  return "transition" in t || "WebkitTransition" in t || "MozTransition" in t || "msTransition" in t || "OTransition" in t
              }(),
              d = "ontouchstart" in window,
              p = "mousedown" + (d ? " touchstart" : ""),
              h = "mousemove.clockpicker" + (d ? " touchmove.clockpicker" : ""),
              f = "mouseup.clockpicker" + (d ? " touchend.clockpicker" : ""),
              v = navigator.vibrate ? "vibrate" : navigator.webkitVibrate ? "webkitVibrate" : null,
              g = 0,
              m = 135,
              y = 105,
              b = 80,
              w = 20,
              x = 2 * m,
              k = u ? 350 : 1,
              C = ['<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("");
          n.DEFAULTS = {
              default: "",
              fromnow: 0,
              donetext: "Ok",
              cleartext: "Clear",
              canceltext: "Cancel",
              autoclose: !1,
              ampmclickable: !0,
              darktheme: !1,
              twelvehour: !0,
              vibrate: !0
          }, n.prototype.toggle = function () {
              this[this.isShown ? "hide" : "show"]()
          }, n.prototype.locate = function () {
              var t = this.element,
                  e = this.popover;
              t.offset(), t.outerWidth(), t.outerHeight(), this.options.align;
              e.show()
          }, n.prototype.show = function (t) {
              if (!this.isShown) {
                  o(this.options.beforeShow), a(":input").each(function () {
                      a(this).attr("tabindex", -1)
                  });
                  var i = this;
                  this.input.blur(), this.popover.addClass("picker--opened"), this.input.addClass("picker__input picker__input--active"), a(document.body).css("overflow", "hidden");
                  var n = ((this.input.prop("value") || this.options.default || "") + "").split(":");
                  if (this.options.twelvehour && void 0 !== n[1] && (n[1].indexOf("AM") > 0 ? this.amOrPm = "AM" : this.amOrPm = "PM", n[1] = n[1].replace("AM", "").replace("PM", "")), "now" === n[0]) {
                      var l = new Date(+new Date + this.options.fromnow);
                      n = [l.getHours(), l.getMinutes()]
                  }
                  this.hours = +n[0] || 0, this.minutes = +n[1] || 0, this.spanHours.html(this.hours), this.spanMinutes.html(e(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"))), r.on("resize.clockpicker" + this.id, function () {
                      i.isShown && i.locate()
                  }), this.isAppended = !0), this.toggleView("hours"), this.locate(), this.isShown = !0, s.on("click.clockpicker." + this.id + " focusin.clockpicker." + this.id, function (t) {
                      var e = a(t.target);
                      0 === e.closest(i.popover.find(".picker__wrap")).length && 0 === e.closest(i.input).length && i.hide()
                  }), s.on("keyup.clockpicker." + this.id, function (t) {
                      27 === t.keyCode && i.hide()
                  }), o(this.options.afterShow)
              }
          }, n.prototype.hide = function () {
              o(this.options.beforeHide), this.input.removeClass("picker__input picker__input--active"), this.popover.removeClass("picker--opened"), a(document.body).css("overflow", "visible"), this.isShown = !1, a(":input").each(function (t) {
                  a(this).attr("tabindex", t + 1)
              }), s.off("click.clockpicker." + this.id + " focusin.clockpicker." + this.id), s.off("keyup.clockpicker." + this.id), this.popover.hide(), o(this.options.afterHide)
          }, n.prototype.toggleView = function (t, e) {
              var i = !1;
              "minutes" === t && "visible" === a(this.hoursView).css("visibility") && (o(this.options.beforeHourSelect), i = !0);
              var n = "hours" === t,
                  r = n ? this.hoursView : this.minutesView,
                  s = n ? this.minutesView : this.hoursView;
              this.currentView = t, this.spanHours.toggleClass("text-primary", n), this.spanMinutes.toggleClass("text-primary", !n), s.addClass("clockpicker-dial-out"), r.css("visibility", "visible").removeClass("clockpicker-dial-out"), this.resetClock(e), clearTimeout(this.toggleViewTimer), this.toggleViewTimer = setTimeout(function () {
                  s.css("visibility", "hidden")
              }, k), i && o(this.options.afterHourSelect)
          }, n.prototype.resetClock = function (t) {
              var e = this.currentView,
                  i = this[e],
                  n = "hours" === e,
                  o = i * (Math.PI / (n ? 6 : 30)),
                  a = n && i > 0 && i < 13 ? b : y,
                  r = Math.sin(o) * a,
                  s = -Math.cos(o) * a,
                  l = this;
              c && t ? (l.canvas.addClass("clockpicker-canvas-out"), setTimeout(function () {
                  l.canvas.removeClass("clockpicker-canvas-out"), l.setHand(r, s)
              }, t)) : this.setHand(r, s)
          }, n.prototype.setHand = function (t, i, n, o) {
              var r, s = Math.atan2(t, -i),
                  l = "hours" === this.currentView,
                  u = Math.PI / (l || n ? 6 : 30),
                  d = Math.sqrt(t * t + i * i),
                  p = this.options,
                  h = l && d < (y + b) / 2,
                  f = h ? b : y;
              if (p.twelvehour && (f = y), s < 0 && (s = 2 * Math.PI + s), r = Math.round(s / u), s = r * u, p.twelvehour ? l ? 0 === r && (r = 12) : (n && (r *= 5), 60 === r && (r = 0)) : l ? (12 === r && (r = 0), r = h ? 0 === r ? 12 : r : 0 === r ? 0 : r + 12) : (n && (r *= 5), 60 === r && (r = 0)), this[this.currentView] !== r && v && this.options.vibrate && (this.vibrateTimer || (navigator[v](10), this.vibrateTimer = setTimeout(a.proxy(function () {
                      this.vibrateTimer = null
                  }, this), 100))), this[this.currentView] = r, l ? this.spanHours.html(r) : this.spanMinutes.html(e(r)), c) {
                  var g = Math.sin(s) * (f - w),
                      m = -Math.cos(s) * (f - w),
                      x = Math.sin(s) * f,
                      k = -Math.cos(s) * f;
                  this.hand.setAttribute("x2", g), this.hand.setAttribute("y2", m), this.bg.setAttribute("cx", x), this.bg.setAttribute("cy", k)
              } else this[l ? "hoursView" : "minutesView"].find(".clockpicker-tick").each(function () {
                  var t = a(this);
                  t.toggleClass("active", r === +t.html())
              })
          }, n.prototype.done = function () {
              o(this.options.beforeDone), this.hide(), this.label.addClass("active");
              var t = this.input.prop("value"),
                  i = e(this.hours) + ":" + e(this.minutes);
              this.options.twelvehour && (i += this.amOrPm), this.input.prop("value", i), i !== t && (this.input.triggerHandler("change"), this.isInput || this.element.trigger("change")), this.options.autoclose && this.input.trigger("blur"), o(this.options.afterDone)
          }, n.prototype.clear = function () {
              this.hide(), this.label.removeClass("active");
              var t = this.input.prop("value");
              this.input.prop("value", ""), "" !== t && (this.input.triggerHandler("change"), this.isInput || this.element.trigger("change")), this.options.autoclose && this.input.trigger("blur")
          }, n.prototype.remove = function () {
              this.element.removeData("clockpicker"), this.input.off("focus.clockpicker click.clockpicker"), this.isShown && this.hide(), this.isAppended && (r.off("resize.clockpicker" + this.id), this.popover.remove())
          }, a.fn.pickatime = function (t) {
              var e = Array.prototype.slice.call(arguments, 1);
              return this.each(function () {
                  var i = a(this),
                      o = i.data("clockpicker");
                  if (o) "function" == typeof o[t] && o[t].apply(o, e);
                  else {
                      var r = a.extend({}, n.DEFAULTS, i.data(), "object" == typeof t && t);
                      i.data("clockpicker", new n(i, r))
                  }
              })
          }
      }(),
      function (t) {
          function e() {
              var e = +t(this).attr("data-length"),
                  i = +t(this).val().length,
                  n = i <= e;
              t(this).parent().find('span[class="character-counter"]').html(i + "/" + e), o(n, t(this))
          }
  
          function i(e) {
              var i = e.parent().find('span[class="character-counter"]');
              i.length || (i = t("<span/>").addClass("character-counter").css("float", "right").css("font-size", "12px").css("height", 1), e.parent().append(i))
          }
  
          function n() {
              t(this).parent().find('span[class="character-counter"]').html("")
          }
  
          function o(t, e) {
              var i = e.hasClass("invalid");
              t && i ? e.removeClass("invalid") : t || i || (e.removeClass("valid"), e.addClass("invalid"))
          }
          t.fn.characterCounter = function () {
              return this.each(function () {
                  var o = t(this);
                  o.parent().find('span[class="character-counter"]').length || void 0 !== o.attr("data-length") && (o.on("input", e), o.on("focus", e), o.on("blur", n), i(o))
              })
          }, t(document).ready(function () {
              t("input, textarea").characterCounter()
          })
      }(jQuery),
      function (t) {
          var e = {
              init: function (e) {
                  var i = {
                      duration: 200,
                      dist: -100,
                      shift: 0,
                      padding: 0,
                      fullWidth: !1,
                      indicators: !1,
                      noWrap: !1,
                      onCycleTo: null
                  };
                  e = t.extend(i, e);
                  var n = Materialize.objectSelectorString(t(this));
                  return this.each(function (i) {
                      function o(t) {
                          return t.targetTouches && t.targetTouches.length >= 1 ? t.targetTouches[0].clientX : t.clientX
                      }
  
                      function a(t) {
                          return t.targetTouches && t.targetTouches.length >= 1 ? t.targetTouches[0].clientY : t.clientY
                      }
  
                      function r(t) {
                          return t >= C ? t % C : t < 0 ? r(C + t % C) : t
                      }
  
                      function s(i) {
                          E = !0, W.hasClass("scrolling") || W.addClass("scrolling"), null != H && window.clearTimeout(H), H = window.setTimeout(function () {
                              E = !1, W.removeClass("scrolling")
                          }, e.duration);
                          var n, o, a, s, l, c, u, d = w;
                          if (b = "number" == typeof i ? i : b, w = Math.floor((b + k / 2) / k), a = b - w * k, s = a < 0 ? 1 : -1, l = -s * a * 2 / k, o = C >> 1, e.fullWidth ? u = "translateX(0)" : (u = "translateX(" + (W[0].clientWidth - g) / 2 + "px) ", u += "translateY(" + (W[0].clientHeight - m) / 2 + "px)"), N) {
                              var p = w % C,
                                  h = j.find(".indicator-item.active");
                              h.index() !== p && (h.removeClass("active"), j.find(".indicator-item").eq(p).addClass("active"))
                          }
                          for ((!e.noWrap || w >= 0 && w < C) && (c = v[r(w)], t(c).hasClass("active") || (W.find(".carousel-item").removeClass("active"), t(c).addClass("active")), c.style[M] = u + " translateX(" + -a / 2 + "px) translateX(" + s * e.shift * l * n + "px) translateZ(" + e.dist * l + "px)", c.style.zIndex = 0, e.fullWidth ? tweenedOpacity = 1 : tweenedOpacity = 1 - .2 * l, c.style.opacity = tweenedOpacity, c.style.display = "block"), n = 1; n <= o; ++n) e.fullWidth ? (zTranslation = e.dist, tweenedOpacity = n === o && a < 0 ? 1 - l : 1) : (zTranslation = e.dist * (2 * n + l * s), tweenedOpacity = 1 - .2 * (2 * n + l * s)), (!e.noWrap || w + n < C) && ((c = v[r(w + n)]).style[M] = u + " translateX(" + (e.shift + (k * n - a) / 2) + "px) translateZ(" + zTranslation + "px)", c.style.zIndex = -n, c.style.opacity = tweenedOpacity, c.style.display = "block"), e.fullWidth ? (zTranslation = e.dist, tweenedOpacity = n === o && a > 0 ? 1 - l : 1) : (zTranslation = e.dist * (2 * n - l * s), tweenedOpacity = 1 - .2 * (2 * n - l * s)), (!e.noWrap || w - n >= 0) && ((c = v[r(w - n)]).style[M] = u + " translateX(" + (-e.shift + (-k * n - a) / 2) + "px) translateZ(" + zTranslation + "px)", c.style.zIndex = -n, c.style.opacity = tweenedOpacity, c.style.display = "block");
                          if ((!e.noWrap || w >= 0 && w < C) && ((c = v[r(w)]).style[M] = u + " translateX(" + -a / 2 + "px) translateX(" + s * e.shift * l + "px) translateZ(" + e.dist * l + "px)", c.style.zIndex = 0, e.fullWidth ? tweenedOpacity = 1 : tweenedOpacity = 1 - .2 * l, c.style.opacity = tweenedOpacity, c.style.display = "block"), d !== w && "function" == typeof e.onCycleTo) {
                              var f = W.find(".carousel-item").eq(r(w));
                              e.onCycleTo.call(this, f, V)
                          }
                          "function" == typeof L && (L.call(this, f, V), L = null)
                      }
  
                      function l() {
                          var t, e, i;
                          e = (t = Date.now()) - q, q = t, i = b - I, I = b, O = .8 * (1e3 * i / (1 + e)) + .2 * O
                      }
  
                      function c() {
                          var t, i;
                          P && (t = Date.now() - q, (i = P * Math.exp(-t / e.duration)) > 2 || i < -2 ? (s(A - i), requestAnimationFrame(c)) : s(A))
                      }
  
                      function u(i) {
                          if (V) return i.preventDefault(), i.stopPropagation(), !1;
                          if (!e.fullWidth) {
                              var n = t(i.target).closest(".carousel-item").index();
                              0 !== r(w) - n && (i.preventDefault(), i.stopPropagation()), d(n)
                          }
                      }
  
                      function d(t) {
                          var i = w % C - t;
                          e.noWrap || (i < 0 ? Math.abs(i + C) < Math.abs(i) && (i += C) : i > 0 && Math.abs(i - C) < i && (i -= C)), i < 0 ? W.trigger("carouselNext", [Math.abs(i)]) : i > 0 && W.trigger("carouselPrev", [i])
                      }
  
                      function p(t) {
                          "mousedown" === t.type && t.preventDefault(), x = !0, V = !1, z = !1, T = o(t), S = a(t), O = P = 0, I = b, q = Date.now(), clearInterval(_), _ = setInterval(l, 100)
                      }
  
                      function h(t) {
                          var e, i;
                          if (x)
                              if (e = o(t), y = a(t), i = T - e, Math.abs(S - y) < 30 && !z)(i > 2 || i < -2) && (V = !0, T = e, s(b + i));
                              else {
                                  if (V) return t.preventDefault(), t.stopPropagation(), !1;
                                  z = !0
                              }
                          if (V) return t.preventDefault(), t.stopPropagation(), !1
                      }
  
                      function f(t) {
                          if (x) return x = !1, clearInterval(_), A = b, (O > 10 || O < -10) && (A = b + (P = .9 * O)), A = Math.round(A / k) * k, e.noWrap && (A >= k * (C - 1) ? A = k * (C - 1) : A < 0 && (A = 0)), P = A - b, q = Date.now(), requestAnimationFrame(c), V && (t.preventDefault(), t.stopPropagation()), !1
                      }
                      var v, g, m, b, w, x, k, C, T, S, P, A, O, E, M, I, q, _, V, z, D = n + i,
                          j = t('<ul class="indicators"></ul>'),
                          H = null,
                          L = null,
                          W = t(this),
                          N = W.attr("data-indicators") || e.indicators;
                      if (e.fullWidth && (e.dist = 0, function () {
                              var e = W.find(".carousel-item img").first();
                              if (e.length) e.prop("complete") ? W.css("height", e.height()) : e.on("load", function () {
                                  W.css("height", t(this).height())
                              });
                              else {
                                  var i = W.find(".carousel-item").first().height();
                                  W.css("height", i)
                              }
                          }(), N && W.find(".carousel-fixed-item").addClass("with-indicators")), W.hasClass("initialized")) return t(window).trigger("resize"), t(this).trigger("carouselNext", [1e-6]), !0;
                      W.addClass("initialized"), x = !1, b = A = 0, v = [], g = W.find(".carousel-item").first().innerWidth(), m = W.find(".carousel-item").first().innerHeight(), k = 2 * g + e.padding, W.find(".carousel-item").each(function (e) {
                          if (v.push(t(this)[0]), N) {
                              var i = t('<li class="indicator-item"></li>');
                              0 === e && i.addClass("active"), i.click(function (e) {
                                  e.stopPropagation(), d(t(this).index())
                              }), j.append(i)
                          }
                      }), N && W.append(j), C = v.length, M = "transform", ["webkit", "Moz", "O", "ms"].every(function (t) {
                          var e = t + "Transform";
                          return void 0 === document.body.style[e] || (M = e, !1)
                      }), t(window).off("resize.carousel-" + D).on("resize.carousel-" + D, function () {
                          e.fullWidth ? (g = W.find(".carousel-item").first().innerWidth(), m = W.find(".carousel-item").first().innerHeight(), k = 2 * g + e.padding, A = b = 2 * w * g) : s()
                      }), void 0 !== window.ontouchstart && (W[0].addEventListener("touchstart", p), W[0].addEventListener("touchmove", h), W[0].addEventListener("touchend", f)), W[0].addEventListener("mousedown", p), W[0].addEventListener("mousemove", h), W[0].addEventListener("mouseup", f), W[0].addEventListener("mouseleave", f), W[0].addEventListener("click", u), s(b), t(this).on("carouselNext", function (t, e, i) {
                          void 0 === e && (e = 1), "function" == typeof i && (L = i), A = k * Math.round(b / k) + k * e, b !== A && (P = A - b, q = Date.now(), requestAnimationFrame(c))
                      }), t(this).on("carouselPrev", function (t, e, i) {
                          void 0 === e && (e = 1), "function" == typeof i && (L = i), A = k * Math.round(b / k) - k * e, b !== A && (P = A - b, q = Date.now(), requestAnimationFrame(c))
                      }), t(this).on("carouselSet", function (t, e, i) {
                          void 0 === e && (e = 0), "function" == typeof i && (L = i), d(e)
                      })
                  })
              },
              next: function (e, i) {
                  t(this).trigger("carouselNext", [e, i])
              },
              prev: function (e, i) {
                  t(this).trigger("carouselPrev", [e, i])
              },
              set: function (e, i) {
                  t(this).trigger("carouselSet", [e, i])
              }
          };
          t.fn.carousel = function (i) {
              return e[i] ? e[i].apply(this, Array.prototype.slice.call(arguments, 1)) : "object" != typeof i && i ? void t.error("Method " + i + " does not exist on jQuery.carousel") : e.init.apply(this, arguments)
          }
      }(jQuery),
      function (t) {
          var e = {
              init: function (e) {
                  return this.each(function () {
                      var i = t("#" + t(this).attr("data-activates")),
                          n = (t("body"), t(this)),
                          o = n.parent(".tap-target-wrapper"),
                          a = o.find(".tap-target-wave"),
                          r = o.find(".tap-target-origin"),
                          s = n.find(".tap-target-content");
                      o.length || (o = n.wrap(t('<div class="tap-target-wrapper"></div>')).parent()), s.length || (s = t('<div class="tap-target-content"></div>'), n.append(s)), a.length || (a = t('<div class="tap-target-wave"></div>'), r.length || ((r = i.clone(!0, !0)).addClass("tap-target-origin"), r.removeAttr("id"), r.removeAttr("style"), a.append(r)), o.append(a));
                      var l = function () {
                              o.is(".open") && (o.removeClass("open"), r.off("click.tapTarget"), t(document).off("click.tapTarget"), t(window).off("resize.tapTarget"))
                          },
                          c = function () {
                              var e = "fixed" === i.css("position");
                              if (!e)
                                  for (var r = i.parents(), l = 0; l < r.length && !(e = "fixed" == t(r[l]).css("position")); l++);
                              var c = i.outerWidth(),
                                  u = i.outerHeight(),
                                  d = e ? i.offset().top - t(document).scrollTop() : i.offset().top,
                                  p = e ? i.offset().left - t(document).scrollLeft() : i.offset().left,
                                  h = t(window).width(),
                                  f = t(window).height(),
                                  v = h / 2,
                                  g = f / 2,
                                  m = p <= v,
                                  y = p > v,
                                  b = d <= g,
                                  w = d > g,
                                  x = p >= .25 * h && p <= .75 * h,
                                  k = n.outerWidth(),
                                  C = n.outerHeight(),
                                  T = d + u / 2 - C / 2,
                                  S = p + c / 2 - k / 2,
                                  P = e ? "fixed" : "absolute",
                                  A = x ? k : k / 2 + c,
                                  O = C / 2,
                                  E = b ? C / 2 : 0,
                                  M = m && !x ? k / 2 - c : 0,
                                  I = c,
                                  q = w ? "bottom" : "top",
                                  _ = 2 * c,
                                  V = _,
                                  z = C / 2 - V / 2,
                                  D = k / 2 - _ / 2,
                                  j = {};
                              j.top = b ? T : "", j.right = y ? h - S - k : "", j.bottom = w ? f - T - C : "", j.left = m ? S : "", j.position = P, o.css(j), s.css({
                                  width: A,
                                  height: O,
                                  top: E,
                                  right: 0,
                                  bottom: 0,
                                  left: M,
                                  padding: I,
                                  verticalAlign: q
                              }), a.css({
                                  top: z,
                                  left: D,
                                  width: _,
                                  height: V
                              })
                          };
                      "open" == e && (c(), o.is(".open") || (o.addClass("open"), setTimeout(function () {
                          r.off("click.tapTarget").on("click.tapTarget", function (t) {
                              l(), r.off("click.tapTarget")
                          }), t(document).off("click.tapTarget").on("click.tapTarget", function (e) {
                              l(), t(document).off("click.tapTarget")
                          });
                          var e = Materialize.throttle(function () {
                              c()
                          }, 200);
                          t(window).off("resize.tapTarget").on("resize.tapTarget", e)
                      }, 0))), "close" == e && l()
                  })
              },
              open: function () {},
              close: function () {}
          };
          t.fn.tapTarget = function (i) {
              if (e[i] || "object" == typeof i) return e.init.apply(this, arguments);
              t.error("Method " + i + " does not exist on jQuery.tap-target")
          }
      }(jQuery);