text: /*!
   * VERSION: 1.17.0
   * DATE: 2015-05-27
   * UPDATES AND DOCS AT: http://greensock.com
   *
   * @license Copyright (c) 2008-2015, GreenSock. All rights reserved.
   * This work is subject to the terms at http://greensock.com/standard-license or for
   * Club GreenSock members, the software agreement that was issued with your membership.
   * 
   * @author: Jack Doyle, jack@greensock.com
   */
  (function (t, e) {
          "use strict";
          var i = t.GreenSockGlobals = t.GreenSockGlobals || t;
          if (!i.TweenLite) {
              var s, n, r, a, o, l = function (t) {
                      var e, s = t.split("."), n = i;
                      for (e = 0; s.length > e; e++)
                          n[s[e]] = n = n[s[e]] || {};
                      return n
                  }, h = l("com.greensock"), _ = 1e-10, u = function (t) {
                      var e, i = [], s = t.length;
                      for (e = 0; e !== s; i.push(t[e++]))
                          ;
                      return i
                  }, m = function () {
                  }, f = function () {
                      var t = Object.prototype.toString
                          , e = t.call([]);
                      return function (i) {
                          return null != i && (i instanceof Array || "object" == typeof i && !!i.push && t.call(i) === e)
                      }
                  }(), c = {}, p = function (s, n, r, a) {
                      this.sc = c[s] ? c[s].sc : [],
                          c[s] = this,
                          this.gsClass = null,
                          this.func = r;
                      var o = [];
                      this.check = function (h) {
                          for (var _, u, m, f, d = n.length, v = d; --d > -1;)
                              (_ = c[n[d]] || new p(n[d], [])).gsClass ? (o[d] = _.gsClass,
                                  v--) : h && _.sc.push(this);
                          if (0 === v && r)
                              for (u = ("com.greensock." + s).split("."),
                                       m = u.pop(),
                                       f = l(u.join("."))[m] = this.gsClass = r.apply(r, o),
                                   a && (i[m] = f,
                                       "function" == typeof define && define.amd ? define((t.GreenSockAMDPath ? t.GreenSockAMDPath + "/" : "") + s.split(".").pop(), [], function () {
                                           return f
                                       }) : s === e && "undefined" != typeof module && module.exports && (module.exports = f)),
                                       d = 0; this.sc.length > d; d++)
                                  this.sc[d].check()
                      }
                          ,
                          this.check(!0)
                  }, d = t._gsDefine = function (t, e, i, s) {
                      return new p(t, e, i, s)
                  }
                  , v = h._class = function (t, e, i) {
                      return e = e || function () {
                      }
                          ,
                          d(t, [], function () {
                              return e
                          }, i),
                          e
                  }
              ;
              d.globals = i;
              var g = [0, 0, 1, 1]
                  , T = []
                  , y = v("easing.Ease", function (t, e, i, s) {
                      this._func = t,
                          this._type = i || 0,
                          this._power = s || 0,
                          this._params = e ? g.concat(e) : g
                  }, !0)
                  , w = y.map = {}
                  , P = y.register = function (t, e, i, s) {
                      for (var n, r, a, o, l = e.split(","), _ = l.length, u = (i || "easeIn,easeOut,easeInOut").split(","); --_ > -1;)
                          for (r = l[_],
                                   n = s ? v("easing." + r, null, !0) : h.easing[r] || {},
                                   a = u.length; --a > -1;)
                              o = u[a],
                                  w[r + "." + o] = w[o + r] = n[o] = t.getRatio ? t : t[o] || new t
                  }
              ;
              for (r = y.prototype,
                       r._calcEnd = !1,
                       r.getRatio = function (t) {
                           if (this._func)
                               return this._params[0] = t,
                                   this._func.apply(null, this._params);
                           var e = this._type
                               , i = this._power
                               , s = 1 === e ? 1 - t : 2 === e ? t : .5 > t ? 2 * t : 2 * (1 - t);
                           return 1 === i ? s *= s : 2 === i ? s *= s * s : 3 === i ? s *= s * s * s : 4 === i && (s *= s * s * s * s),
                               1 === e ? 1 - s : 2 === e ? s : .5 > t ? s / 2 : 1 - s / 2
                       }
                       ,
                       s = ["Linear", "Quad", "Cubic", "Quart", "Quint,Strong"],
                       n = s.length; --n > -1;)
                  r = s[n] + ",Power" + n,
                      P(new y(null, null, 1, n), r, "easeOut", !0),
                      P(new y(null, null, 2, n), r, "easeIn" + (0 === n ? ",easeNone" : "")),
                      P(new y(null, null, 3, n), r, "easeInOut");
              w.linear = h.easing.Linear.easeIn,
                  w.swing = h.easing.Quad.easeInOut;
              var b = v("events.EventDispatcher", function (t) {
                  this._listeners = {},
                      this._eventTarget = t || this
              });
              r = b.prototype,
                  r.addEventListener = function (t, e, i, s, n) {
                      n = n || 0;
                      var r, l, h = this._listeners[t], _ = 0;
                      for (null == h && (this._listeners[t] = h = []),
                               l = h.length; --l > -1;)
                          r = h[l],
                              r.c === e && r.s === i ? h.splice(l, 1) : 0 === _ && n > r.pr && (_ = l + 1);
                      h.splice(_, 0, {
                          c: e,
                          s: i,
                          up: s,
                          pr: n
                      }),
                      this !== a || o || a.wake()
                  }
                  ,
                  r.removeEventListener = function (t, e) {
                      var i, s = this._listeners[t];
                      if (s)
                          for (i = s.length; --i > -1;)
                              if (s[i].c === e)
                                  return s.splice(i, 1),
                                      void 0
                  }
                  ,
                  r.dispatchEvent = function (t) {
                      var e, i, s, n = this._listeners[t];
                      if (n)
                          for (e = n.length,
                                   i = this._eventTarget; --e > -1;)
                              s = n[e],
                              s && (s.up ? s.c.call(s.s || i, {
                                  type: t,
                                  target: i
                              }) : s.c.call(s.s || i))
                  }
              ;
              var k = t.requestAnimationFrame
                  , A = t.cancelAnimationFrame
                  , S = Date.now || function () {
                  return (new Date).getTime()
              }
                  , x = S();
              for (s = ["ms", "moz", "webkit", "o"],
                       n = s.length; --n > -1 && !k;)
                  k = t[s[n] + "RequestAnimationFrame"],
                      A = t[s[n] + "CancelAnimationFrame"] || t[s[n] + "CancelRequestAnimationFrame"];
              v("Ticker", function (t, e) {
                  var i, s, n, r, l, h = this, u = S(), f = e !== !1 && k, c = 500, p = 33, d = "tick", v = function (t) {
                      var e, a, o = S() - x;
                      o > c && (u += o - p),
                          x += o,
                          h.time = (x - u) / 1e3,
                          e = h.time - l,
                      (!i || e > 0 || t === !0) && (h.frame++,
                          l += e + (e >= r ? .004 : r - e),
                          a = !0),
                      t !== !0 && (n = s(v)),
                      a && h.dispatchEvent(d)
                  };
                  b.call(h),
                      h.time = h.frame = 0,
                      h.tick = function () {
                          v(!0)
                      }
                      ,
                      h.lagSmoothing = function (t, e) {
                          c = t || 1 / _,
                              p = Math.min(e, c, 0)
                      }
                      ,
                      h.sleep = function () {
                          null != n && (f && A ? A(n) : clearTimeout(n),
                              s = m,
                              n = null,
                          h === a && (o = !1))
                      }
                      ,
                      h.wake = function () {
                          null !== n ? h.sleep() : h.frame > 10 && (x = S() - c + 5),
                              s = 0 === i ? m : f && k ? k : function (t) {
                                  return setTimeout(t, 0 | 1e3 * (l - h.time) + 1)
                              }
                              ,
                          h === a && (o = !0),
                              v(2)
                      }
                      ,
                      h.fps = function (t) {
                          return arguments.length ? (i = t,
                              r = 1 / (i || 60),
                              l = this.time + r,
                              h.wake(),
                              void 0) : i
                      }
                      ,
                      h.useRAF = function (t) {
                          return arguments.length ? (h.sleep(),
                              f = t,
                              h.fps(i),
                              void 0) : f
                      }
                      ,
                      h.fps(t),
                      setTimeout(function () {
                          f && 5 > h.frame && h.useRAF(!1)
                      }, 1500)
              }),
                  r = h.Ticker.prototype = new h.events.EventDispatcher,
                  r.constructor = h.Ticker;
              var R = v("core.Animation", function (t, e) {
                  if (this.vars = e = e || {},
                      this._duration = this._totalDuration = t || 0,
                      this._delay = Number(e.delay) || 0,
                      this._timeScale = 1,
                      this._active = e.immediateRender === !0,
                      this.data = e.data,
                      this._reversed = e.reversed === !0,
                      B) {
                      o || a.wake();
                      var i = this.vars.useFrames ? q : B;
                      i.add(this, i._time),
                      this.vars.paused && this.paused(!0)
                  }
              });
              a = R.ticker = new h.Ticker,
                  r = R.prototype,
                  r._dirty = r._gc = r._initted = r._paused = !1,
                  r._totalTime = r._time = 0,
                  r._rawPrevTime = -1,
                  r._next = r._last = r._onUpdate = r._timeline = r.timeline = null,
                  r._paused = !1;
              var C = function () {
                  o && S() - x > 2e3 && a.wake(),
                      setTimeout(C, 2e3)
              };
              C(),
                  r.play = function (t, e) {
                      return null != t && this.seek(t, e),
                          this.reversed(!1).paused(!1)
                  }
                  ,
                  r.pause = function (t, e) {
                      return null != t && this.seek(t, e),
                          this.paused(!0)
                  }
                  ,
                  r.resume = function (t, e) {
                      return null != t && this.seek(t, e),
                          this.paused(!1)
                  }
                  ,
                  r.seek = function (t, e) {
                      return this.totalTime(Number(t), e !== !1)
                  }
                  ,
                  r.restart = function (t, e) {
                      return this.reversed(!1).paused(!1).totalTime(t ? -this._delay : 0, e !== !1, !0)
                  }
                  ,
                  r.reverse = function (t, e) {
                      return null != t && this.seek(t || this.totalDuration(), e),
                          this.reversed(!0).paused(!1)
                  }
                  ,
                  r.render = function () {
                  }
                  ,
                  r.invalidate = function () {
                      return this._time = this._totalTime = 0,
                          this._initted = this._gc = !1,
                          this._rawPrevTime = -1,
                      (this._gc || !this.timeline) && this._enabled(!0),
                          this
                  }
                  ,
                  r.isActive = function () {
                      var t, e = this._timeline, i = this._startTime;
                      return !e || !this._gc && !this._paused && e.isActive() && (t = e.rawTime()) >= i && i + this.totalDuration() / this._timeScale > t
                  }
                  ,
                  r._enabled = function (t, e) {
                      return o || a.wake(),
                          this._gc = !t,
                          this._active = this.isActive(),
                      e !== !0 && (t && !this.timeline ? this._timeline.add(this, this._startTime - this._delay) : !t && this.timeline && this._timeline._remove(this, !0)),
                          !1
                  }
                  ,
                  r._kill = function () {
                      return this._enabled(!1, !1)
                  }
                  ,
                  r.kill = function (t, e) {
                      return this._kill(t, e),
                          this
                  }
                  ,
                  r._uncache = function (t) {
                      for (var e = t ? this : this.timeline; e;)
                          e._dirty = !0,
                              e = e.timeline;
                      return this
                  }
                  ,
                  r._swapSelfInParams = function (t) {
                      for (var e = t.length, i = t.concat(); --e > -1;)
                          "{self}" === t[e] && (i[e] = this);
                      return i
                  }
                  ,
                  r._callback = function (t) {
                      var e = this.vars;
                      e[t].apply(e[t + "Scope"] || e.callbackScope || this, e[t + "Params"] || T)
                  }
                  ,
                  r.eventCallback = function (t, e, i, s) {
                      if ("on" === (t || "").substr(0, 2)) {
                          var n = this.vars;
                          if (1 === arguments.length)
                              return n[t];
                          null == e ? delete n[t] : (n[t] = e,
                              n[t + "Params"] = f(i) && -1 !== i.join("").indexOf("{self}") ? this._swapSelfInParams(i) : i,
                              n[t + "Scope"] = s),
                          "onUpdate" === t && (this._onUpdate = e)
                      }
                      return this
                  }
                  ,
                  r.delay = function (t) {
                      return arguments.length ? (this._timeline.smoothChildTiming && this.startTime(this._startTime + t - this._delay),
                          this._delay = t,
                          this) : this._delay
                  }
                  ,
                  r.duration = function (t) {
                      return arguments.length ? (this._duration = this._totalDuration = t,
                          this._uncache(!0),
                      this._timeline.smoothChildTiming && this._time > 0 && this._time < this._duration && 0 !== t && this.totalTime(this._totalTime * (t / this._duration), !0),
                          this) : (this._dirty = !1,
                          this._duration)
                  }
                  ,
                  r.totalDuration = function (t) {
                      return this._dirty = !1,
                          arguments.length ? this.duration(t) : this._totalDuration
                  }
                  ,
                  r.time = function (t, e) {
                      return arguments.length ? (this._dirty && this.totalDuration(),
                          this.totalTime(t > this._duration ? this._duration : t, e)) : this._time
                  }
                  ,
                  r.totalTime = function (t, e, i) {
                      if (o || a.wake(),
                          !arguments.length)
                          return this._totalTime;
                      if (this._timeline) {
                          if (0 > t && !i && (t += this.totalDuration()),
                              this._timeline.smoothChildTiming) {
                              this._dirty && this.totalDuration();
                              var s = this._totalDuration
                                  , n = this._timeline;
                              if (t > s && !i && (t = s),
                                  this._startTime = (this._paused ? this._pauseTime : n._time) - (this._reversed ? s - t : t) / this._timeScale,
                              n._dirty || this._uncache(!1),
                                  n._timeline)
                                  for (; n._timeline;)
                                      n._timeline._time !== (n._startTime + n._totalTime) / n._timeScale && n.totalTime(n._totalTime, !0),
                                          n = n._timeline
                          }
                          this._gc && this._enabled(!0, !1),
                          (this._totalTime !== t || 0 === this._duration) && (this.render(t, e, !1),
                          z.length && $())
                      }
                      return this
                  }
                  ,
                  r.progress = r.totalProgress = function (t, e) {
                      return arguments.length ? this.totalTime(this.duration() * t, e) : this._time / this.duration()
                  }
                  ,
                  r.startTime = function (t) {
                      return arguments.length ? (t !== this._startTime && (this._startTime = t,
                      this.timeline && this.timeline._sortChildren && this.timeline.add(this, t - this._delay)),
                          this) : this._startTime
                  }
                  ,
                  r.endTime = function (t) {
                      return this._startTime + (0 != t ? this.totalDuration() : this.duration()) / this._timeScale
                  }
                  ,
                  r.timeScale = function (t) {
                      if (!arguments.length)
                          return this._timeScale;
                      if (t = t || _,
                      this._timeline && this._timeline.smoothChildTiming) {
                          var e = this._pauseTime
                              , i = e || 0 === e ? e : this._timeline.totalTime();
                          this._startTime = i - (i - this._startTime) * this._timeScale / t
                      }
                      return this._timeScale = t,
                          this._uncache(!1)
                  }
                  ,
                  r.reversed = function (t) {
                      return arguments.length ? (t != this._reversed && (this._reversed = t,
                          this.totalTime(this._timeline && !this._timeline.smoothChildTiming ? this.totalDuration() - this._totalTime : this._totalTime, !0)),
                          this) : this._reversed
                  }
                  ,
                  r.paused = function (t) {
                      if (!arguments.length)
                          return this._paused;
                      var e, i, s = this._timeline;
                      return t != this._paused && s && (o || t || a.wake(),
                          e = s.rawTime(),
                          i = e - this._pauseTime,
                      !t && s.smoothChildTiming && (this._startTime += i,
                          this._uncache(!1)),
                          this._pauseTime = t ? e : null,
                          this._paused = t,
                          this._active = this.isActive(),
                      !t && 0 !== i && this._initted && this.duration() && this.render(s.smoothChildTiming ? this._totalTime : (e - this._startTime) / this._timeScale, !0, !0)),
                      this._gc && !t && this._enabled(!0, !1),
                          this
                  }
              ;
              var D = v("core.SimpleTimeline", function (t) {
                  R.call(this, 0, t),
                      this.autoRemoveChildren = this.smoothChildTiming = !0
              });
              r = D.prototype = new R,
                  r.constructor = D,
                  r.kill()._gc = !1,
                  r._first = r._last = r._recent = null,
                  r._sortChildren = !1,
                  r.add = r.insert = function (t, e) {
                      var i, s;
                      if (t._startTime = Number(e || 0) + t._delay,
                      t._paused && this !== t._timeline && (t._pauseTime = t._startTime + (this.rawTime() - t._startTime) / t._timeScale),
                      t.timeline && t.timeline._remove(t, !0),
                          t.timeline = t._timeline = this,
                      t._gc && t._enabled(!0, !0),
                          i = this._last,
                          this._sortChildren)
                          for (s = t._startTime; i && i._startTime > s;)
                              i = i._prev;
                      return i ? (t._next = i._next,
                          i._next = t) : (t._next = this._first,
                          this._first = t),
                          t._next ? t._next._prev = t : this._last = t,
                          t._prev = i,
                          this._recent = t,
                      this._timeline && this._uncache(!0),
                          this
                  }
                  ,
                  r._remove = function (t, e) {
                      return t.timeline === this && (e || t._enabled(!1, !0),
                          t._prev ? t._prev._next = t._next : this._first === t && (this._first = t._next),
                          t._next ? t._next._prev = t._prev : this._last === t && (this._last = t._prev),
                          t._next = t._prev = t.timeline = null,
                      t === this._recent && (this._recent = this._last),
                      this._timeline && this._uncache(!0)),
                          this
                  }
                  ,
                  r.render = function (t, e, i) {
                      var s, n = this._first;
                      for (this._totalTime = this._time = this._rawPrevTime = t; n;)
                          s = n._next,
                          (n._active || t >= n._startTime && !n._paused) && (n._reversed ? n.render((n._dirty ? n.totalDuration() : n._totalDuration) - (t - n._startTime) * n._timeScale, e, i) : n.render((t - n._startTime) * n._timeScale, e, i)),
                              n = s
                  }
                  ,
                  r.rawTime = function () {
                      return o || a.wake(),
                          this._totalTime
                  }
              ;
              var I = v("TweenLite", function (e, i, s) {
                  if (R.call(this, i, s),
                      this.render = I.prototype.render,
                  null == e)
                      throw "Cannot tween a null target.";
                  this.target = e = "string" != typeof e ? e : I.selector(e) || e;
                  var n, r, a,
                      o = e.jquery || e.length && e !== t && e[0] && (e[0] === t || e[0].nodeType && e[0].style && !e.nodeType),
                      l = this.vars.overwrite;
                  if (this._overwrite = l = null == l ? Q[I.defaultOverwrite] : "number" == typeof l ? l >> 0 : Q[l],
                  (o || e instanceof Array || e.push && f(e)) && "number" != typeof e[0])
                      for (this._targets = a = u(e),
                               this._propLookup = [],
                               this._siblings = [],
                               n = 0; a.length > n; n++)
                          r = a[n],
                              r ? "string" != typeof r ? r.length && r !== t && r[0] && (r[0] === t || r[0].nodeType && r[0].style && !r.nodeType) ? (a.splice(n--, 1),
                                  this._targets = a = a.concat(u(r))) : (this._siblings[n] = K(r, this, !1),
                              1 === l && this._siblings[n].length > 1 && J(r, this, null, 1, this._siblings[n])) : (r = a[n--] = I.selector(r),
                              "string" == typeof r && a.splice(n + 1, 1)) : a.splice(n--, 1);
                  else
                      this._propLookup = {},
                          this._siblings = K(e, this, !1),
                      1 === l && this._siblings.length > 1 && J(e, this, null, 1, this._siblings);
                  (this.vars.immediateRender || 0 === i && 0 === this._delay && this.vars.immediateRender !== !1) && (this._time = -_,
                      this.render(-this._delay))
              }, !0)
                  , E = function (e) {
                  return e && e.length && e !== t && e[0] && (e[0] === t || e[0].nodeType && e[0].style && !e.nodeType)
              }
                  , O = function (t, e) {
                  var i, s = {};
                  for (i in t)
                      G[i] || i in e && "transform" !== i && "x" !== i && "y" !== i && "width" !== i && "height" !== i && "className" !== i && "border" !== i || !(!F[i] || F[i] && F[i]._autoCSS) || (s[i] = t[i],
                          delete t[i]);
                  t.css = s
              };
              r = I.prototype = new R,
                  r.constructor = I,
                  r.kill()._gc = !1,
                  r.ratio = 0,
                  r._firstPT = r._targets = r._overwrittenProps = r._startAt = null,
                  r._notifyPluginsOfEnabled = r._lazy = !1,
                  I.version = "1.17.0",
                  I.defaultEase = r._ease = new y(null, null, 1, 1),
                  I.defaultOverwrite = "auto",
                  I.ticker = a,
                  I.autoSleep = 120,
                  I.lagSmoothing = function (t, e) {
                      a.lagSmoothing(t, e)
                  }
                  ,
                  I.selector = t.$ || t.jQuery || function (e) {
                      var i = t.$ || t.jQuery;
                      return i ? (I.selector = i,
                          i(e)) : "undefined" == typeof document ? e : document.querySelectorAll ? document.querySelectorAll(e) : document.getElementById("#" === e.charAt(0) ? e.substr(1) : e)
                  }
              ;
              var z = []
                  , N = {}
                  , L = I._internals = {
                      isArray: f,
                      isSelector: E,
                      lazyTweens: z
                  }
                  , F = I._plugins = {}
                  , U = L.tweenLookup = {}
                  , j = 0
                  , G = L.reservedProps = {
                      ease: 1,
                      delay: 1,
                      overwrite: 1,
                      onComplete: 1,
                      onCompleteParams: 1,
                      onCompleteScope: 1,
                      useFrames: 1,
                      runBackwards: 1,
                      startAt: 1,
                      onUpdate: 1,
                      onUpdateParams: 1,
                      onUpdateScope: 1,
                      onStart: 1,
                      onStartParams: 1,
                      onStartScope: 1,
                      onReverseComplete: 1,
                      onReverseCompleteParams: 1,
                      onReverseCompleteScope: 1,
                      onRepeat: 1,
                      onRepeatParams: 1,
                      onRepeatScope: 1,
                      easeParams: 1,
                      yoyo: 1,
                      immediateRender: 1,
                      repeat: 1,
                      repeatDelay: 1,
                      data: 1,
                      paused: 1,
                      reversed: 1,
                      autoCSS: 1,
                      lazy: 1,
                      onOverwrite: 1,
                      callbackScope: 1
                  }
                  , Q = {
                      none: 0,
                      all: 1,
                      auto: 2,
                      concurrent: 3,
                      allOnStart: 4,
                      preexisting: 5,
                      "true": 1,
                      "false": 0
                  }
                  , q = R._rootFramesTimeline = new D
                  , B = R._rootTimeline = new D
                  , M = 30
                  , $ = L.lazyRender = function () {
                      var t, e = z.length;
                      for (N = {}; --e > -1;)
                          t = z[e],
                          t && t._lazy !== !1 && (t.render(t._lazy[0], t._lazy[1], !0),
                              t._lazy = !1);
                      z.length = 0
                  }
              ;
              B._startTime = a.time,
                  q._startTime = a.frame,
                  B._active = q._active = !0,
                  setTimeout($, 1),
                  R._updateRoot = I.render = function () {
                      var t, e, i;
                      if (z.length && $(),
                          B.render((a.time - B._startTime) * B._timeScale, !1, !1),
                          q.render((a.frame - q._startTime) * q._timeScale, !1, !1),
                      z.length && $(),
                      a.frame >= M) {
                          M = a.frame + (parseInt(I.autoSleep, 10) || 120);
                          for (i in U) {
                              for (e = U[i].tweens,
                                       t = e.length; --t > -1;)
                                  e[t]._gc && e.splice(t, 1);
                              0 === e.length && delete U[i]
                          }
                          if (i = B._first,
                          (!i || i._paused) && I.autoSleep && !q._first && 1 === a._listeners.tick.length) {
                              for (; i && i._paused;)
                                  i = i._next;
                              i || a.sleep()
                          }
                      }
                  }
                  ,
                  a.addEventListener("tick", R._updateRoot);
              var K = function (t, e, i) {
                  var s, n, r = t._gsTweenID;
                  if (U[r || (t._gsTweenID = r = "t" + j++)] || (U[r] = {
                      target: t,
                      tweens: []
                  }),
                  e && (s = U[r].tweens,
                      s[n = s.length] = e,
                      i))
                      for (; --n > -1;)
                          s[n] === e && s.splice(n, 1);
                  return U[r].tweens
              }
                  , H = function (t, e, i, s) {
                  var n, r, a = t.vars.onOverwrite;
                  return a && (n = a(t, e, i, s)),
                      a = I.onOverwrite,
                  a && (r = a(t, e, i, s)),
                  n !== !1 && r !== !1
              }
                  , J = function (t, e, i, s, n) {
                  var r, a, o, l;
                  if (1 === s || s >= 4) {
                      for (l = n.length,
                               r = 0; l > r; r++)
                          if ((o = n[r]) !== e)
                              o._gc || o._kill(null, t, e) && (a = !0);
                          else if (5 === s)
                              break;
                      return a
                  }
                  var h, u = e._startTime + _, m = [], f = 0, c = 0 === e._duration;
                  for (r = n.length; --r > -1;)
                      (o = n[r]) === e || o._gc || o._paused || (o._timeline !== e._timeline ? (h = h || V(e, 0, c),
                      0 === V(o, h, c) && (m[f++] = o)) : u >= o._startTime && o._startTime + o.totalDuration() / o._timeScale > u && ((c || !o._initted) && 2e-10 >= u - o._startTime || (m[f++] = o)));
                  for (r = f; --r > -1;)
                      if (o = m[r],
                      2 === s && o._kill(i, t, e) && (a = !0),
                      2 !== s || !o._firstPT && o._initted) {
                          if (2 !== s && !H(o, e))
                              continue;
                          o._enabled(!1, !1) && (a = !0)
                      }
                  return a
              }
                  , V = function (t, e, i) {
                  for (var s = t._timeline, n = s._timeScale, r = t._startTime; s._timeline;) {
                      if (r += s._startTime,
                          n *= s._timeScale,
                          s._paused)
                          return -100;
                      s = s._timeline
                  }
                  return r /= n,
                      r > e ? r - e : i && r === e || !t._initted && 2 * _ > r - e ? _ : (r += t.totalDuration() / t._timeScale / n) > e + _ ? 0 : r - e - _
              };
              r._init = function () {
                  var t, e, i, s, n, r = this.vars, a = this._overwrittenProps, o = this._duration,
                      l = !!r.immediateRender, h = r.ease;
                  if (r.startAt) {
                      this._startAt && (this._startAt.render(-1, !0),
                          this._startAt.kill()),
                          n = {};
                      for (s in r.startAt)
                          n[s] = r.startAt[s];
                      if (n.overwrite = !1,
                          n.immediateRender = !0,
                          n.lazy = l && r.lazy !== !1,
                          n.startAt = n.delay = null,
                          this._startAt = I.to(this.target, 0, n),
                          l)
                          if (this._time > 0)
                              this._startAt = null;
                          else if (0 !== o)
                              return
                  } else if (r.runBackwards && 0 !== o)
                      if (this._startAt)
                          this._startAt.render(-1, !0),
                              this._startAt.kill(),
                              this._startAt = null;
                      else {
                          0 !== this._time && (l = !1),
                              i = {};
                          for (s in r)
                              G[s] && "autoCSS" !== s || (i[s] = r[s]);
                          if (i.overwrite = 0,
                              i.data = "isFromStart",
                              i.lazy = l && r.lazy !== !1,
                              i.immediateRender = l,
                              this._startAt = I.to(this.target, 0, i),
                              l) {
                              if (0 === this._time)
                                  return
                          } else
                              this._startAt._init(),
                                  this._startAt._enabled(!1),
                              this.vars.immediateRender && (this._startAt = null)
                      }
                  if (this._ease = h = h ? h instanceof y ? h : "function" == typeof h ? new y(h, r.easeParams) : w[h] || I.defaultEase : I.defaultEase,
                  r.easeParams instanceof Array && h.config && (this._ease = h.config.apply(h, r.easeParams)),
                      this._easeType = this._ease._type,
                      this._easePower = this._ease._power,
                      this._firstPT = null,
                      this._targets)
                      for (t = this._targets.length; --t > -1;)
                          this._initProps(this._targets[t], this._propLookup[t] = {}, this._siblings[t], a ? a[t] : null) && (e = !0);
                  else
                      e = this._initProps(this.target, this._propLookup, this._siblings, a);
                  if (e && I._onPluginEvent("_onInitAllProps", this),
                  a && (this._firstPT || "function" != typeof this.target && this._enabled(!1, !1)),
                      r.runBackwards)
                      for (i = this._firstPT; i;)
                          i.s += i.c,
                              i.c = -i.c,
                              i = i._next;
                  this._onUpdate = r.onUpdate,
                      this._initted = !0
              }
                  ,
                  r._initProps = function (e, i, s, n) {
                      var r, a, o, l, h, _;
                      if (null == e)
                          return !1;
                      N[e._gsTweenID] && $(),
                      this.vars.css || e.style && e !== t && e.nodeType && F.css && this.vars.autoCSS !== !1 && O(this.vars, e);
                      for (r in this.vars) {
                          if (_ = this.vars[r],
                              G[r])
                              _ && (_ instanceof Array || _.push && f(_)) && -1 !== _.join("").indexOf("{self}") && (this.vars[r] = _ = this._swapSelfInParams(_, this));
                          else if (F[r] && (l = new F[r])._onInitTween(e, this.vars[r], this)) {
                              for (this._firstPT = h = {
                                  _next: this._firstPT,
                                  t: l,
                                  p: "setRatio",
                                  s: 0,
                                  c: 1,
                                  f: !0,
                                  n: r,
                                  pg: !0,
                                  pr: l._priority
                              },
                                       a = l._overwriteProps.length; --a > -1;)
                                  i[l._overwriteProps[a]] = this._firstPT;
                              (l._priority || l._onInitAllProps) && (o = !0),
                              (l._onDisable || l._onEnable) && (this._notifyPluginsOfEnabled = !0)
                          } else
                              this._firstPT = i[r] = h = {
                                  _next: this._firstPT,
                                  t: e,
                                  p: r,
                                  f: "function" == typeof e[r],
                                  n: r,
                                  pg: !1,
                                  pr: 0
                              },
                                  h.s = h.f ? e[r.indexOf("set") || "function" != typeof e["get" + r.substr(3)] ? r : "get" + r.substr(3)]() : parseFloat(e[r]),
                                  h.c = "string" == typeof _ && "=" === _.charAt(1) ? parseInt(_.charAt(0) + "1", 10) * Number(_.substr(2)) : Number(_) - h.s || 0;
                          h && h._next && (h._next._prev = h)
                      }
                      return n && this._kill(n, e) ? this._initProps(e, i, s, n) : this._overwrite > 1 && this._firstPT && s.length > 1 && J(e, this, i, this._overwrite, s) ? (this._kill(i, e),
                          this._initProps(e, i, s, n)) : (this._firstPT && (this.vars.lazy !== !1 && this._duration || this.vars.lazy && !this._duration) && (N[e._gsTweenID] = !0),
                          o)
                  }
                  ,
                  r.render = function (t, e, i) {
                      var s, n, r, a, o = this._time, l = this._duration, h = this._rawPrevTime;
                      if (t >= l)
                          this._totalTime = this._time = l,
                              this.ratio = this._ease._calcEnd ? this._ease.getRatio(1) : 1,
                          this._reversed || (s = !0,
                              n = "onComplete",
                              i = i || this._timeline.autoRemoveChildren),
                          0 === l && (this._initted || !this.vars.lazy || i) && (this._startTime === this._timeline._duration && (t = 0),
                          (0 === t || 0 > h || h === _ && "isPause" !== this.data) && h !== t && (i = !0,
                          h > _ && (n = "onReverseComplete")),
                              this._rawPrevTime = a = !e || t || h === t ? t : _);
                      else if (1e-7 > t)
                          this._totalTime = this._time = 0,
                              this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0,
                          (0 !== o || 0 === l && h > 0) && (n = "onReverseComplete",
                              s = this._reversed),
                          0 > t && (this._active = !1,
                          0 === l && (this._initted || !this.vars.lazy || i) && (h >= 0 && (h !== _ || "isPause" !== this.data) && (i = !0),
                              this._rawPrevTime = a = !e || t || h === t ? t : _)),
                          this._initted || (i = !0);
                      else if (this._totalTime = this._time = t,
                          this._easeType) {
                          var u = t / l
                              , m = this._easeType
                              , f = this._easePower;
                          (1 === m || 3 === m && u >= .5) && (u = 1 - u),
                          3 === m && (u *= 2),
                              1 === f ? u *= u : 2 === f ? u *= u * u : 3 === f ? u *= u * u * u : 4 === f && (u *= u * u * u * u),
                              this.ratio = 1 === m ? 1 - u : 2 === m ? u : .5 > t / l ? u / 2 : 1 - u / 2
                      } else
                          this.ratio = this._ease.getRatio(t / l);
                      if (this._time !== o || i) {
                          if (!this._initted) {
                              if (this._init(),
                              !this._initted || this._gc)
                                  return;
                              if (!i && this._firstPT && (this.vars.lazy !== !1 && this._duration || this.vars.lazy && !this._duration))
                                  return this._time = this._totalTime = o,
                                      this._rawPrevTime = h,
                                      z.push(this),
                                      this._lazy = [t, e],
                                      void 0;
                              this._time && !s ? this.ratio = this._ease.getRatio(this._time / l) : s && this._ease._calcEnd && (this.ratio = this._ease.getRatio(0 === this._time ? 0 : 1))
                          }
                          for (this._lazy !== !1 && (this._lazy = !1),
                               this._active || !this._paused && this._time !== o && t >= 0 && (this._active = !0),
                               0 === o && (this._startAt && (t >= 0 ? this._startAt.render(t, e, i) : n || (n = "_dummyGS")),
                               this.vars.onStart && (0 !== this._time || 0 === l) && (e || this._callback("onStart"))),
                                   r = this._firstPT; r;)
                              r.f ? r.t[r.p](r.c * this.ratio + r.s) : r.t[r.p] = r.c * this.ratio + r.s,
                                  r = r._next;
                          this._onUpdate && (0 > t && this._startAt && t !== -1e-4 && this._startAt.render(t, e, i),
                          e || (this._time !== o || s) && this._callback("onUpdate")),
                          n && (!this._gc || i) && (0 > t && this._startAt && !this._onUpdate && t !== -1e-4 && this._startAt.render(t, e, i),
                          s && (this._timeline.autoRemoveChildren && this._enabled(!1, !1),
                              this._active = !1),
                          !e && this.vars[n] && this._callback(n),
                          0 === l && this._rawPrevTime === _ && a !== _ && (this._rawPrevTime = 0))
                      }
                  }
                  ,
                  r._kill = function (t, e, i) {
                      if ("all" === t && (t = null),
                      null == t && (null == e || e === this.target))
                          return this._lazy = !1,
                              this._enabled(!1, !1);
                      e = "string" != typeof e ? e || this._targets || this.target : I.selector(e) || e;
                      var s, n, r, a, o, l, h, _, u,
                          m = i && this._time && i._startTime === this._startTime && this._timeline === i._timeline;
                      if ((f(e) || E(e)) && "number" != typeof e[0])
                          for (s = e.length; --s > -1;)
                              this._kill(t, e[s], i) && (l = !0);
                      else {
                          if (this._targets) {
                              for (s = this._targets.length; --s > -1;)
                                  if (e === this._targets[s]) {
                                      o = this._propLookup[s] || {},
                                          this._overwrittenProps = this._overwrittenProps || [],
                                          n = this._overwrittenProps[s] = t ? this._overwrittenProps[s] || {} : "all";
                                      break
                                  }
                          } else {
                              if (e !== this.target)
                                  return !1;
                              o = this._propLookup,
                                  n = this._overwrittenProps = t ? this._overwrittenProps || {} : "all"
                          }
                          if (o) {
                              if (h = t || o,
                                  _ = t !== n && "all" !== n && t !== o && ("object" != typeof t || !t._tempKill),
                              i && (I.onOverwrite || this.vars.onOverwrite)) {
                                  for (r in h)
                                      o[r] && (u || (u = []),
                                          u.push(r));
                                  if ((u || !t) && !H(this, i, e, u))
                                      return !1
                              }
                              for (r in h)
                                  (a = o[r]) && (m && (a.f ? a.t[a.p](a.s) : a.t[a.p] = a.s,
                                      l = !0),
                                  a.pg && a.t._kill(h) && (l = !0),
                                  a.pg && 0 !== a.t._overwriteProps.length || (a._prev ? a._prev._next = a._next : a === this._firstPT && (this._firstPT = a._next),
                                  a._next && (a._next._prev = a._prev),
                                      a._next = a._prev = null),
                                      delete o[r]),
                                  _ && (n[r] = 1);
                              !this._firstPT && this._initted && this._enabled(!1, !1)
                          }
                      }
                      return l
                  }
                  ,
                  r.invalidate = function () {
                      return this._notifyPluginsOfEnabled && I._onPluginEvent("_onDisable", this),
                          this._firstPT = this._overwrittenProps = this._startAt = this._onUpdate = null,
                          this._notifyPluginsOfEnabled = this._active = this._lazy = !1,
                          this._propLookup = this._targets ? {} : [],
                          R.prototype.invalidate.call(this),
                      this.vars.immediateRender && (this._time = -_,
                          this.render(-this._delay)),
                          this
                  }
                  ,
                  r._enabled = function (t, e) {
                      if (o || a.wake(),
                      t && this._gc) {
                          var i, s = this._targets;
                          if (s)
                              for (i = s.length; --i > -1;)
                                  this._siblings[i] = K(s[i], this, !0);
                          else
                              this._siblings = K(this.target, this, !0)
                      }
                      return R.prototype._enabled.call(this, t, e),
                          this._notifyPluginsOfEnabled && this._firstPT ? I._onPluginEvent(t ? "_onEnable" : "_onDisable", this) : !1
                  }
                  ,
                  I.to = function (t, e, i) {
                      return new I(t, e, i)
                  }
                  ,
                  I.from = function (t, e, i) {
                      return i.runBackwards = !0,
                          i.immediateRender = 0 != i.immediateRender,
                          new I(t, e, i)
                  }
                  ,
                  I.fromTo = function (t, e, i, s) {
                      return s.startAt = i,
                          s.immediateRender = 0 != s.immediateRender && 0 != i.immediateRender,
                          new I(t, e, s)
                  }
                  ,
                  I.delayedCall = function (t, e, i, s, n) {
                      return new I(e, 0, {
                          delay: t,
                          onComplete: e,
                          onCompleteParams: i,
                          callbackScope: s,
                          onReverseComplete: e,
                          onReverseCompleteParams: i,
                          immediateRender: !1,
                          lazy: !1,
                          useFrames: n,
                          overwrite: 0
                      })
                  }
                  ,
                  I.set = function (t, e) {
                      return new I(t, 0, e)
                  }
                  ,
                  I.getTweensOf = function (t, e) {
                      if (null == t)
                          return [];
                      t = "string" != typeof t ? t : I.selector(t) || t;
                      var i, s, n, r;
                      if ((f(t) || E(t)) && "number" != typeof t[0]) {
                          for (i = t.length,
                                   s = []; --i > -1;)
                              s = s.concat(I.getTweensOf(t[i], e));
                          for (i = s.length; --i > -1;)
                              for (r = s[i],
                                       n = i; --n > -1;)
                                  r === s[n] && s.splice(i, 1)
                      } else
                          for (s = K(t).concat(),
                                   i = s.length; --i > -1;)
                              (s[i]._gc || e && !s[i].isActive()) && s.splice(i, 1);
                      return s
                  }
                  ,
                  I.killTweensOf = I.killDelayedCallsTo = function (t, e, i) {
                      "object" == typeof e && (i = e,
                          e = !1);
                      for (var s = I.getTweensOf(t, e), n = s.length; --n > -1;)
                          s[n]._kill(i, t)
                  }
              ;
              var W = v("plugins.TweenPlugin", function (t, e) {
                  this._overwriteProps = (t || "").split(","),
                      this._propName = this._overwriteProps[0],
                      this._priority = e || 0,
                      this._super = W.prototype
              }, !0);
              if (r = W.prototype,
                  W.version = "1.10.1",
                  W.API = 2,
                  r._firstPT = null,
                  r._addTween = function (t, e, i, s, n, r) {
                      var a, o;
                      return null != s && (a = "number" == typeof s || "=" !== s.charAt(1) ? Number(s) - Number(i) : parseInt(s.charAt(0) + "1", 10) * Number(s.substr(2))) ? (this._firstPT = o = {
                          _next: this._firstPT,
                          t: t,
                          p: e,
                          s: i,
                          c: a,
                          f: "function" == typeof t[e],
                          n: n || e,
                          r: r
                      },
                      o._next && (o._next._prev = o),
                          o) : void 0
                  }
                  ,
                  r.setRatio = function (t) {
                      for (var e, i = this._firstPT, s = 1e-6; i;)
                          e = i.c * t + i.s,
                              i.r ? e = Math.round(e) : s > e && e > -s && (e = 0),
                              i.f ? i.t[i.p](e) : i.t[i.p] = e,
                              i = i._next
                  }
                  ,
                  r._kill = function (t) {
                      var e, i = this._overwriteProps, s = this._firstPT;
                      if (null != t[this._propName])
                          this._overwriteProps = [];
                      else
                          for (e = i.length; --e > -1;)
                              null != t[i[e]] && i.splice(e, 1);
                      for (; s;)
                          null != t[s.n] && (s._next && (s._next._prev = s._prev),
                              s._prev ? (s._prev._next = s._next,
                                  s._prev = null) : this._firstPT === s && (this._firstPT = s._next)),
                              s = s._next;
                      return !1
                  }
                  ,
                  r._roundProps = function (t, e) {
                      for (var i = this._firstPT; i;)
                          (t[this._propName] || null != i.n && t[i.n.split(this._propName + "_").join("")]) && (i.r = e),
                              i = i._next
                  }
                  ,
                  I._onPluginEvent = function (t, e) {
                      var i, s, n, r, a, o = e._firstPT;
                      if ("_onInitAllProps" === t) {
                          for (; o;) {
                              for (a = o._next,
                                       s = n; s && s.pr > o.pr;)
                                  s = s._next;
                              (o._prev = s ? s._prev : r) ? o._prev._next = o : n = o,
                                  (o._next = s) ? s._prev = o : r = o,
                                  o = a
                          }
                          o = e._firstPT = n
                      }
                      for (; o;)
                          o.pg && "function" == typeof o.t[t] && o.t[t]() && (i = !0),
                              o = o._next;
                      return i
                  }
                  ,
                  W.activate = function (t) {
                      for (var e = t.length; --e > -1;)
                          t[e].API === W.API && (F[(new t[e])._propName] = t[e]);
                      return !0
                  }
                  ,
                  d.plugin = function (t) {
                      if (!(t && t.propName && t.init && t.API))
                          throw "illegal plugin definition.";
                      var e, i = t.propName, s = t.priority || 0, n = t.overwriteProps, r = {
                          init: "_onInitTween",
                          set: "setRatio",
                          kill: "_kill",
                          round: "_roundProps",
                          initAll: "_onInitAllProps"
                      }, a = v("plugins." + i.charAt(0).toUpperCase() + i.substr(1) + "Plugin", function () {
                          W.call(this, i, s),
                              this._overwriteProps = n || []
                      }, t.global === !0), o = a.prototype = new W(i);
                      o.constructor = a,
                          a.API = t.API;
                      for (e in r)
                          "function" == typeof t[e] && (o[r[e]] = t[e]);
                      return a.version = t.version,
                          W.activate([a]),
                          a
                  }
                  ,
                  s = t._gsQueue) {
                  for (n = 0; s.length > n; n++)
                      s[n]();
                  for (r in c)
                      c[r].func || t.console.log("GSAP encountered missing dependency: com.greensock." + r)
              }
              o = !1
          }
      }
  )("undefined" != typeof module && module.exports && "undefined" != typeof global ? global : this || window, "TweenLite");
  