<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">/*!
 * ScrollTrigger 3.10.4
 * https://greensock.com
 * 
 * @license Copyright 2022, GreenSock. All rights reserved.
 * Subject to the terms at https://greensock.com/standard-license or for Club GreenSock members, the agreement issued with that membership.
 * @author: Jack Doyle, jack@greensock.com
 */

! function(e, t) { "object" == typeof exports &amp;&amp; "undefined" != typeof module ? t(exports) : "function" == typeof define &amp;&amp; define.amd ? define(["exports"], t) : t((e = e || self).window = e.window || {}) }(this, function(e) { "use strict";

    function _defineProperties(e, t) { for (var r = 0; r &lt; t.length; r++) { var n = t[r];
            n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n &amp;&amp; (n.writable = !0), Object.defineProperty(e, n.key, n) } }

    function q() { return we || "undefined" != typeof window &amp;&amp; (we = window.gsap) &amp;&amp; we.registerPlugin &amp;&amp; we }

    function y(e, t) { return ~Le.indexOf(e) &amp;&amp; Le[Le.indexOf(e) + 1][t] }

    function z(e) { return !!~t.indexOf(e) }

    function A(e, t, r, n, i) { return e.addEventListener(t, r, { passive: !n, capture: !!i }) }

    function B(e, t, r, n) { return e.removeEventListener(t, r, !!n) }

    function E() { return De &amp;&amp; De.isPressed || T.cache++ }

    function F(r, n) {
        function Uc(e) { if (e || 0 === e) { i &amp;&amp; (Me.history.scrollRestoration = "manual"); var t = De &amp;&amp; De.isPressed;
                e = Uc.v = Math.round(e) || (De &amp;&amp; De.iOS ? 1 : 0), r(e), Uc.cacheID = T.cache, t &amp;&amp; o("ss", e) } else(n || T.cache !== Uc.cacheID || o("ref")) &amp;&amp; (Uc.cacheID = T.cache, Uc.v = r()); return Uc.v + Uc.offset } return Uc.offset = 0, r &amp;&amp; Uc }

    function I(e) { return we.utils.toArray(e)[0] || ("string" == typeof e &amp;&amp; !1 !== we.config().nullTargetWarn ? console.warn("Element not found:", e) : null) }

    function J(t, e) { var r = e.s,
            n = e.sc,
            i = T.indexOf(t),
            o = n === Ne.sc ? 1 : 2; return ~i || (i = T.push(t) - 1), T[i + o] || (T[i + o] = F(y(t, r), !0) || (z(t) ? n : F(function(e) { return arguments.length ? t[r] = e : t[r] }))) }

    function K(e, t, i) {
        function od(e, t) { var r = He();
            t || n &lt; r - s ? (a = o, o = e, l = s, s = r) : i ? o += e : o = a + (e - a) / (r - l) * (s - l) } var o = e,
            a = e,
            s = He(),
            l = s,
            n = t || 50,
            c = Math.max(500, 3 * n); return { update: od, reset: function reset() { a = o = i ? 0 : o, l = s = 0 }, getVelocity: function getVelocity(e) { var t = l,
                    r = a,
                    n = He(); return !e &amp;&amp; 0 !== e || e === o || od(e), s === l || c &lt; n - l ? 0 : (o + (i ? r : -r)) / ((i ? n : s) - t) * 1e3 } } }

    function L(e, t) { return t &amp;&amp; !e._gsapAllow &amp;&amp; e.preventDefault(), e.changedTouches ? e.changedTouches[0] : e }

    function M(e) { var t = Math.max.apply(Math, e),
            r = Math.min.apply(Math, e); return Math.abs(t) &gt;= Math.abs(r) ? t : r }

    function N() {
        (Be = we.core.globals().ScrollTrigger) &amp;&amp; Be.core &amp;&amp; function _integrate() { var e = Be.core,
                r = e.bridge || {},
                t = e._scrollers,
                n = e._proxies;
            t.push.apply(t, T), n.push.apply(n, Le), T = t, Le = n, o = function _bridge(e, t) { return r[e](t) } }() }

    function O(e) { return (we = e || q()) &amp;&amp; "undefined" != typeof document &amp;&amp; document.body &amp;&amp; (Me = window, Ce = (Ae = document).documentElement, Oe = Ae.body, t = [Me, Ae, Ce, Oe], we.utils.clamp, Ie = "onpointerenter" in Oe ? "pointer" : "mouse", Ee = k.isTouch = Me.matchMedia &amp;&amp; Me.matchMedia("(hover: none), (pointer: coarse)").matches ? 1 : "ontouchstart" in Me || 0 &lt; navigator.maxTouchPoints || 0 &lt; navigator.msMaxTouchPoints ? 2 : 0, ze = k.eventTypes = ("ontouchstart" in Ce ? "touchstart,touchmove,touchcancel,touchend" : "onpointerdown" in Ce ? "pointerdown,pointermove,pointercancel,pointerup" : "mousedown,mousemove,mouseup,mouseup").split(","), setTimeout(function() { return i = 0 }, 500), N(), ke = 1), ke } var we, ke, Me, Ae, Ce, Oe, Ee, Ie, Be, t, De, ze, i = 1,
        Fe = [],
        T = [],
        Le = [],
        He = Date.now,
        o = function _bridge(e, t) { return t },
        r = "scrollLeft",
        n = "scrollTop",
        Re = { s: r, p: "left", p2: "Left", os: "right", os2: "Right", d: "width", d2: "Width", a: "x", sc: F(function(e) { return arguments.length ? Me.scrollTo(e, Ne.sc()) : Me.pageXOffset || Ae[r] || Ce[r] || Oe[r] || 0 }) },
        Ne = { s: n, p: "top", p2: "Top", os: "bottom", os2: "Bottom", d: "height", d2: "Height", a: "y", op: Re, sc: F(function(e) { return arguments.length ? Me.scrollTo(Re.sc(), e) : Me.pageYOffset || Ae[n] || Ce[n] || Oe[n] || 0 }) };
    Re.op = Ne, T.cache = 0; var k = (Observer.prototype.init = function init(e) { ke || O(we) || console.warn("Please gsap.registerPlugin(Observer)"), Be || N(); var i = e.tolerance,
            a = e.dragMinimum,
            t = e.type,
            n = e.target,
            r = e.lineHeight,
            o = e.debounce,
            s = e.preventDefault,
            l = e.onStop,
            c = e.onStopDelay,
            u = e.ignore,
            f = e.wheelSpeed,
            d = e.event,
            p = e.onDragStart,
            g = e.onDragEnd,
            h = e.onDrag,
            v = e.onPress,
            b = e.onRelease,
            m = e.onRight,
            y = e.onLeft,
            x = e.onUp,
            w = e.onDown,
            S = e.onChangeX,
            _ = e.onChangeY,
            T = e.onChange,
            k = e.onToggleX,
            C = e.onToggleY,
            P = e.onHover,
            D = e.onHoverEnd,
            Y = e.onMove,
            X = e.ignoreCheck,
            F = e.isNormalizer,
            H = e.onGestureStart,
            R = e.onGestureEnd,
            U = e.onWheel,
            V = e.onEnable,
            W = e.onDisable,
            j = e.onClick,
            Q = e.scrollSpeed,
            q = e.capture,
            G = e.allowClicks,
            Z = e.lockAxis,
            $ = e.onLockAxis;

        function Pe() { return ye = He() }

        function Qe(e, t) { return (se.event = e) &amp;&amp; u &amp;&amp; ~u.indexOf(e.target) || t &amp;&amp; ge &amp;&amp; "touch" !== e.pointerType || X &amp;&amp; X(e, t) }

        function Se() { var e = se.deltaX = M(be),
                t = se.deltaY = M(me),
                r = Math.abs(e) &gt;= i,
                n = Math.abs(t) &gt;= i;
            T &amp;&amp; (r || n) &amp;&amp; T(se, e, t, be, me), r &amp;&amp; (m &amp;&amp; 0 &lt; se.deltaX &amp;&amp; m(se), y &amp;&amp; se.deltaX &lt; 0 &amp;&amp; y(se), S &amp;&amp; S(se), k &amp;&amp; se.deltaX &lt; 0 != le &lt; 0 &amp;&amp; k(se), le = se.deltaX, be[0] = be[1] = be[2] = 0), n &amp;&amp; (w &amp;&amp; 0 &lt; se.deltaY &amp;&amp; w(se), x &amp;&amp; se.deltaY &lt; 0 &amp;&amp; x(se), _ &amp;&amp; _(se), C &amp;&amp; se.deltaY &lt; 0 != ce &lt; 0 &amp;&amp; C(se), ce = se.deltaY, me[0] = me[1] = me[2] = 0), (ne || re) &amp;&amp; (Y &amp;&amp; Y(se), $ &amp;&amp; oe &amp;&amp; $(se), re &amp;&amp; (h(se), re = !1), ne = oe = !1), ie &amp;&amp; (U(se), ie = !1), ee = 0 }

        function Te(e, t, r) { be[r] += e, me[r] += t, se._vx.update(e), se._vy.update(t), o ? ee = ee || requestAnimationFrame(Se) : Se() }

        function Ue(e, t) { "y" !== ae &amp;&amp; (be[2] += e, se._vx.update(e, !0)), "x" !== ae &amp;&amp; (me[2] += t, se._vy.update(t, !0)), Z &amp;&amp; !ae &amp;&amp; (se.axis = ae = Math.abs(e) &gt; Math.abs(t) ? "x" : "y", oe = !0), o ? ee = ee || requestAnimationFrame(Se) : Se() }

        function Ve(e) { if (!Qe(e, 1)) { var t = (e = L(e, s)).clientX,
                    r = e.clientY,
                    n = t - se.x,
                    i = r - se.y,
                    o = se.isDragging;
                se.x = t, se.y = r, (o || Math.abs(se.startX - t) &gt;= a || Math.abs(se.startY - r) &gt;= a) &amp;&amp; (h &amp;&amp; (re = !0), o || (se.isDragging = !0), Ue(n, i), o || p &amp;&amp; p(se)) } }

        function Xe(t) { if (!Qe(t, 1)) { B(F ? n : ve, ze[1], Ve, !0); var e = se.isDragging &amp;&amp; (3 &lt; Math.abs(se.x - se.startX) || 3 &lt; Math.abs(se.y - se.startY)),
                    r = L(t);
                e || (se._vx.reset(), se._vy.reset(), s &amp;&amp; G &amp;&amp; we.delayedCall(.08, function() { if (300 &lt; He() - ye &amp;&amp; !t.defaultPrevented)
                        if (t.target.click) t.target.click();
                        else if (ve.createEvent) { var e = ve.createEvent("MouseEvents");
                        e.initMouseEvent("click", !0, !0, Me, 1, r.screenX, r.screenY, r.clientX, r.clientY, !1, !1, !1, !1, 0, null), t.target.dispatchEvent(e) } })), se.isDragging = se.isGesturing = se.isPressed = !1, l &amp;&amp; !F &amp;&amp; te.restart(!0), g &amp;&amp; e &amp;&amp; g(se), b &amp;&amp; b(se, e) } }

        function Ye(e) { return e.touches &amp;&amp; 1 &lt; e.touches.length &amp;&amp; (se.isGesturing = !0) &amp;&amp; H(e, se.isDragging) }

        function Ze() { return (se.isGesturing = !1) || R(se) }

        function $e(e) { if (!Qe(e)) { var t = ue(),
                    r = fe();
                Te((t - de) * Q, (r - pe) * Q, 1), de = t, pe = r, l &amp;&amp; te.restart(!0) } }

        function _e(e) { if (!Qe(e)) { e = L(e, s), U &amp;&amp; (ie = !0); var t = (1 === e.deltaMode ? r : 2 === e.deltaMode ? Me.innerHeight : 1) * f;
                Te(e.deltaX * t, e.deltaY * t, 0), l &amp;&amp; !F &amp;&amp; te.restart(!0) } }

        function af(e) { if (!Qe(e)) { var t = e.clientX,
                    r = e.clientY,
                    n = t - se.x,
                    i = r - se.y;
                se.x = t, se.y = r, ne = !0, (n || i) &amp;&amp; Ue(n, i) } }

        function bf(e) { se.event = e, P(se) }

        function cf(e) { se.event = e, D(se) }

        function df(e) { return Qe(e) || L(e, s) &amp;&amp; j(se) }
        this.target = n = I(n) || Ce, this.vars = e, u = u &amp;&amp; we.utils.toArray(u), i = i || 0, a = a || 0, f = f || 1, Q = Q || 1, t = t || "wheel,touch,pointer", o = !1 !== o, r = r || parseFloat(Me.getComputedStyle(Oe).lineHeight) || 22; var ee, te, re, ne, ie, oe, ae, se = this,
            le = 0,
            ce = 0,
            ue = J(n, Re),
            fe = J(n, Ne),
            de = ue(),
            pe = fe(),
            ge = ~t.indexOf("touch") &amp;&amp; !~t.indexOf("pointer") &amp;&amp; "pointerdown" === ze[0],
            he = z(n),
            ve = n.ownerDocument || Ae,
            be = [0, 0, 0],
            me = [0, 0, 0],
            ye = 0,
            xe = se.onPress = function(e) { Qe(e, 1) || (se.axis = ae = null, te.pause(), se.isPressed = !0, e = L(e), le = ce = 0, se.startX = se.x = e.clientX, se.startY = se.y = e.clientY, se._vx.reset(), se._vy.reset(), A(F ? n : ve, ze[1], Ve, s, !0), se.deltaX = se.deltaY = 0, v &amp;&amp; v(se)) };
        te = se._dc = we.delayedCall(c || .25, function onStopFunc() { se._vx.reset(), se._vy.reset(), te.pause(), l &amp;&amp; l(se) }).pause(), se.deltaX = se.deltaY = 0, se._vx = K(0, 50, !0), se._vy = K(0, 50, !0), se.scrollX = ue, se.scrollY = fe, se.isDragging = se.isGesturing = se.isPressed = !1, se.enable = function(e) { return se.isEnabled || (A(he ? ve : n, "scroll", E), 0 &lt;= t.indexOf("scroll") &amp;&amp; A(he ? ve : n, "scroll", $e, s, q), 0 &lt;= t.indexOf("wheel") &amp;&amp; A(n, "wheel", _e, s, q), (0 &lt;= t.indexOf("touch") &amp;&amp; Ee || 0 &lt;= t.indexOf("pointer")) &amp;&amp; (A(n, ze[0], xe, s, q), A(ve, ze[2], Xe), A(ve, ze[3], Xe), G &amp;&amp; A(n, "click", Pe, !1, !0), j &amp;&amp; A(n, "click", df), H &amp;&amp; A(ve, "gesturestart", Ye), R &amp;&amp; A(ve, "gestureend", Ze), P &amp;&amp; A(n, Ie + "enter", bf), D &amp;&amp; A(n, Ie + "leave", cf), Y &amp;&amp; A(n, Ie + "move", af)), se.isEnabled = !0, e &amp;&amp; e.type &amp;&amp; xe(e), V &amp;&amp; V(se)), se }, se.disable = function() { se.isEnabled &amp;&amp; (Fe.filter(function(e) { return e !== se &amp;&amp; z(e.target) }).length || B(he ? ve : n, "scroll", E), se.isPressed &amp;&amp; (se._vx.reset(), se._vy.reset(), B(F ? n : ve, ze[1], Ve, !0)), B(he ? ve : n, "scroll", $e, q), B(n, "wheel", _e, q), B(n, ze[0], xe, q), B(ve, ze[2], Xe), B(ve, ze[3], Xe), B(n, "click", Pe, !0), B(n, "click", df), B(ve, "gesturestart", Ye), B(ve, "gestureend", Ze), B(n, Ie + "enter", bf), B(n, Ie + "leave", cf), B(n, Ie + "move", af), se.isEnabled = se.isPressed = se.isDragging = !1, W &amp;&amp; W(se)) }, se.kill = function() { se.disable(); var e = Fe.indexOf(se);
            0 &lt;= e &amp;&amp; Fe.splice(e, 1), De === se &amp;&amp; (De = 0) }, Fe.push(se), F &amp;&amp; z(n) &amp;&amp; (De = se), se.enable(d) }, function _createClass(e, t, r) { return t &amp;&amp; _defineProperties(e.prototype, t), r &amp;&amp; _defineProperties(e, r), e }(Observer, [{ key: "velocityX", get: function get() { return this._vx.getVelocity() } }, { key: "velocityY", get: function get() { return this._vy.getVelocity() } }]), Observer);

    function Observer(e) { this.init(e) }
    k.version = "3.10.4", k.create = function(e) { return new k(e) }, k.register = O, k.getAll = function() { return Fe.slice() }, k.getById = function(t) { return Fe.filter(function(e) { return e.vars.id === t })[0] }, q() &amp;&amp; we.registerPlugin(k);

    function va() { return nt = 1 }

    function wa() { return nt = 0 }

    function xa(e) { return e }

    function ya(e) { return Math.round(1e5 * e) / 1e5 || 0 }

    function za() { return "undefined" != typeof window }

    function Aa() { return We || za() &amp;&amp; (We = window.gsap) &amp;&amp; We.registerPlugin &amp;&amp; We }

    function Ba(e) { return !!~s.indexOf(e) }

    function Ca(e) { return y(e, "getBoundingClientRect") || (Ba(e) ? function() { return Bt.width = je.innerWidth, Bt.height = je.innerHeight, Bt } : function() { return Mt(e) }) }

    function Fa(e, t) { var r = t.s,
            n = t.d2,
            i = t.d,
            o = t.a; return (r = "scroll" + n) &amp;&amp; (o = y(e, r)) ? o() - Ca(e)()[i] : Ba(e) ? (qe[r] || Ge[r]) - (je["inner" + n] || qe["client" + n] || Ge["client" + n]) : e[r] - e["offset" + n] }

    function Ga(e, t) { for (var r = 0; r &lt; p.length; r += 3) t &amp;&amp; !~t.indexOf(p[r + 1]) || e(p[r], p[r + 1], p[r + 2]) }

    function Ha(e) { return "string" == typeof e }

    function Ia(e) { return "function" == typeof e }

    function Ja(e) { return "number" == typeof e }

    function Ka(e) { return "object" == typeof e }

    function La(e) { return Ia(e) &amp;&amp; e() }

    function Ma(r, n) { return function() { var e = La(r),
                t = La(n); return function() { La(e), La(t) } } }

    function Na(e, t, r) { return e &amp;&amp; e.progress(t ? 0 : 1) &amp;&amp; r &amp;&amp; e.pause() }

    function Oa(e, t) { if (e.enabled) { var r = t(e);
            r &amp;&amp; r.totalTime &amp;&amp; (e.callbackAnimation = r) } }

    function db(e) { return je.getComputedStyle(e) }

    function fb(e, t) { for (var r in t) r in e || (e[r] = t[r]); return e }

    function hb(e, t) { var r = t.d2; return e["offset" + r] || e["client" + r] || 0 }

    function ib(e) { var t, r = [],
            n = e.labels,
            i = e.duration(); for (t in n) r.push(n[t] / i); return r }

    function kb(i) { var o = We.utils.snap(i),
            a = Array.isArray(i) &amp;&amp; i.slice(0).sort(function(e, t) { return e - t }); return a ? function(e, t, r) { var n; if (void 0 === r &amp;&amp; (r = .001), !t) return o(e); if (0 &lt; t) { for (e -= r, n = 0; n &lt; a.length; n++)
                    if (a[n] &gt;= e) return a[n];
                return a[n - 1] } for (n = a.length, e += r; n--;)
                if (a[n] &lt;= e) return a[n];
            return a[0] } : function(e, t, r) { void 0 === r &amp;&amp; (r = .001); var n = o(e); return !t || Math.abs(n - e) &lt; r || n - e &lt; 0 == t &lt; 0 ? n : o(t &lt; 0 ? e - i : e + i) } }

    function mb(t, r, e, n) { return e.split(",").forEach(function(e) { return t(r, e, n) }) }

    function nb(e, t, r, n, i) { return e.addEventListener(t, r, { passive: !n, capture: !!i }) }

    function ob(e, t, r, n) { return e.removeEventListener(t, r, !!n) }

    function pb(e, t, r) { return r &amp;&amp; r.wheelHandler &amp;&amp; e(t, "wheel", r) }

    function tb(e, t) { if (Ha(e)) { var r = e.indexOf("="),
                n = ~r ? (e.charAt(r - 1) + 1) * parseFloat(e.substr(r + 1)) : 0;~r &amp;&amp; (e.indexOf("%") &gt; r &amp;&amp; (n *= t / 100), e = e.substr(0, r - 1)), e = n + (e in Y ? Y[e] * t : ~e.indexOf("%") ? parseFloat(e) * t / 100 : parseFloat(e) || 0) } return e }

    function ub(e, t, r, n, i, o, a, s) { var l = i.startColor,
            c = i.endColor,
            u = i.fontSize,
            f = i.indent,
            d = i.fontWeight,
            p = Je.createElement("div"),
            g = Ba(r) || "fixed" === y(r, "pinType"),
            h = -1 !== e.indexOf("scroller"),
            v = g ? Ge : r,
            b = -1 !== e.indexOf("start"),
            m = b ? l : c,
            x = "border-color:" + m + ";font-size:" + u + ";color:" + m + ";font-weight:" + d + ";pointer-events:none;white-space:nowrap;font-family:sans-serif,Arial;z-index:1000;padding:4px 8px;border-width:0;border-style:solid;"; return x += "position:" + ((h || s) &amp;&amp; g ? "fixed;" : "absolute;"), !h &amp;&amp; !s &amp;&amp; g || (x += (n === Ne ? _ : P) + ":" + (o + parseFloat(f)) + "px;"), a &amp;&amp; (x += "box-sizing:border-box;text-align:left;width:" + a.offsetWidth + "px;"), p._isStart = b, p.setAttribute("class", "gsap-marker-" + e + (t ? " marker-" + t : "")), p.style.cssText = x, p.innerText = t || 0 === t ? e + "-" + t : e, v.children[0] ? v.insertBefore(p, v.children[0]) : v.appendChild(p), p._offset = p["offset" + n.op.d2], X(p, 0, n, b), p }

    function zb() { return 34 &lt; dt() - pt &amp;&amp; ee() }

    function Ab() { h &amp;&amp; h.isPressed &amp;&amp; !(h.startX &gt; Ge.clientWidth) || (T.cache++, x = x || requestAnimationFrame(ee), pt || V("scrollStart"), pt = dt()) }

    function Bb() { m = je.innerWidth, b = je.innerHeight }

    function Cb() { T.cache++, rt || g || Je.fullscreenElement || Je.webkitFullscreenElement || v &amp;&amp; m === je.innerWidth &amp;&amp; !(Math.abs(je.innerHeight - b) &gt; .25 * je.innerHeight) || l.restart(!0) }

    function Ib(e) { var t, r = We.ticker.frame,
            n = [],
            i = 0; if (w !== r || ft) { for (Q(); i &lt; U.length; i += 4)(t = je.matchMedia(U[i]).matches) !== U[i + 3] &amp;&amp; ((U[i + 3] = t) ? n.push(i) : Q(1, U[i]) || Ia(U[i + 2]) &amp;&amp; U[i + 2]()); for (j(), i = 0; i &lt; n.length; i++) t = n[i], lt = U[t], U[t + 2] = U[t + 1](e);
            lt = 0, a &amp;&amp; Z(0, 1), w = r, V("matchMedia") } }

    function Jb() { return ob(oe, "scrollEnd", Jb) || Z(!0) }

    function Ob() { return T.cache++ &amp;&amp; T.forEach(function(e) { return "function" == typeof e &amp;&amp; (e.rec = 0) }) }

    function Zb(e, t, r, n) { if (e.parentNode !== t) { for (var i, o = te.length, a = t.style, s = e.style; o--;) a[i = te[o]] = r[i];
            a.position = "absolute" === r.position ? "absolute" : "relative", "inline" === r.display &amp;&amp; (a.display = "inline-block"), s[P] = s[_] = a.flexBasis = "auto", a.overflow = "visible", a.boxSizing = "border-box", a[vt] = hb(e, Re) + kt, a[bt] = hb(e, Ne) + kt, a[St] = s[_t] = s.top = s.left = "0", It(n), s[vt] = s.maxWidth = r[vt], s[bt] = s.maxHeight = r[bt], s[St] = r[St], e.parentNode.insertBefore(t, e), t.appendChild(e) } }

    function ac(e) { for (var t = re.length, r = e.style, n = [], i = 0; i &lt; t; i++) n.push(re[i], r[re[i]]); return n.t = e, n }

    function dc(e, t, r, n, i, o, a, s, l, c, u, f, d) { Ia(e) &amp;&amp; (e = e(s)), Ha(e) &amp;&amp; "max" === e.substr(0, 3) &amp;&amp; (e = f + ("=" === e.charAt(4) ? tb("0" + e.substr(3), r) : 0)); var p, g, h, v = d ? d.time() : 0; if (d &amp;&amp; d.seek(0), Ja(e)) a &amp;&amp; X(a, r, n, !0);
        else { Ia(t) &amp;&amp; (t = t(s)); var b, m, y, x, w = e.split(" ");
            h = I(t) || Ge, (b = Mt(h) || {}) &amp;&amp; (b.left || b.top) || "none" !== db(h).display || (x = h.style.display, h.style.display = "block", b = Mt(h), x ? h.style.display = x : h.style.removeProperty("display")), m = tb(w[0], b[n.d]), y = tb(w[1] || "0", r), e = b[n.p] - l[n.p] - c + m + i - y, a &amp;&amp; X(a, y, n, r - y &lt; 20 || a._isStart &amp;&amp; 20 &lt; y), r -= r - y } if (o) { var S = e + r,
                _ = o._isStart;
            p = "scroll" + n.d2, X(o, S, n, _ &amp;&amp; 20 &lt; S || !_ &amp;&amp; (u ? Math.max(Ge[p], qe[p]) : o.parentNode[p]) &lt;= S + 1), u &amp;&amp; (l = Mt(a), u &amp;&amp; (o.style[n.op.p] = l[n.op.p] - n.op.m - o._offset + kt)) } return d &amp;&amp; h &amp;&amp; (p = Mt(h), d.seek(f), g = Mt(h), d._caScrollDist = p[n.p] - g[n.p], e = e / d._caScrollDist * f), d &amp;&amp; d.seek(v), d ? e : Math.round(e) }

    function fc(e, t, r, n) { if (e.parentNode !== t) { var i, o, a = e.style; if (t === Ge) { for (i in e._stOrig = a.cssText, o = db(e)) + i || ie.test(i) || !o[i] || "string" != typeof a[i] || "0" === i || (a[i] = o[i]);
                a.top = r, a.left = n } else a.cssText = e._stOrig;
            We.core.getCache(e).uncache = 1, t.appendChild(e) } }

    function gc(l, e) {
        function Qj(e, t, r, n, i) { var o = Qj.tween,
                a = t.onComplete,
                s = {}; return r = r || f(), i = n &amp;&amp; i || 0, n = n || e - r, o &amp;&amp; o.kill(), c = Math.round(r), t[d] = e, (t.modifiers = s)[d] = function(e) { return (e = ya(f())) !== c &amp;&amp; e !== u &amp;&amp; 2 &lt; Math.abs(e - c) &amp;&amp; 2 &lt; Math.abs(e - u) ? (o.kill(), Qj.tween = 0) : e = r + n * o.ratio + i * o.ratio * o.ratio, u = c, c = ya(e) }, t.onComplete = function() { Qj.tween = 0, a &amp;&amp; a.call(o) }, o = Qj.tween = We.to(l, t) } var c, u, f = J(l, e),
            d = "_scroll" + e.p2; return (l[d] = f).wheelHandler = function() { return Qj.tween &amp;&amp; Qj.tween.kill() &amp;&amp; (Qj.tween = 0) }, nb(l, "wheel", f.wheelHandler), Qj } var We, a, je, Je, qe, Ge, s, l, Ke, et, tt, c, rt, nt, u, it, f, d, p, ot, at, g, h, v, b, m, C, st, x, lt, w, ct, ut, ft = 1,
        dt = Date.now,
        S = dt(),
        pt = 0,
        gt = 0,
        ht = Math.abs,
        _ = "right",
        P = "bottom",
        vt = "width",
        bt = "height",
        mt = "Right",
        yt = "Left",
        xt = "Top",
        wt = "Bottom",
        St = "padding",
        _t = "margin",
        Tt = "Width",
        D = "Height",
        kt = "px",
        Mt = function _getBounds(e, t) { var r = t &amp;&amp; "matrix(1, 0, 0, 1, 0, 0)" !== db(e)[u] &amp;&amp; We.to(e, { x: 0, y: 0, xPercent: 0, yPercent: 0, rotation: 0, rotationX: 0, rotationY: 0, scale: 1, skewX: 0, skewY: 0 }).progress(1),
                n = e.getBoundingClientRect(); return r &amp;&amp; r.progress(0).kill(), n },
        At = { startColor: "green", endColor: "red", indent: 0, fontSize: "16px", fontWeight: "normal" },
        Ct = { toggleActions: "play", anticipatePin: 0 },
        Y = { top: 0, left: 0, center: .5, bottom: 1, right: 1 },
        X = function _positionMarker(e, t, r, n) { var i = { display: "block" },
                o = r[n ? "os2" : "p2"],
                a = r[n ? "p2" : "os2"];
            e._isFlipped = n, i[r.a + "Percent"] = n ? -100 : 0, i[r.a] = n ? "1px" : 0, i["border" + o + Tt] = 1, i["border" + a + Tt] = 0, i[r.p] = t + "px", We.set(e, i) },
        Ot = [],
        Pt = {},
        H = {},
        R = [],
        U = [],
        V = function _dispatch(e) { return H[e] &amp;&amp; H[e].map(function(e) { return e() }) || R },
        W = [],
        j = function _revertRecorded(e) { for (var t = 0; t &lt; W.length; t += 5) e &amp;&amp; W[t + 4] !== e || (W[t].style.cssText = W[t + 1], W[t].getBBox &amp;&amp; W[t].setAttribute("transform", W[t + 2] || ""), W[t + 3].uncache = 1) },
        Q = function _revertAll(e, t) { var r; for (it = 0; it &lt; Ot.length; it++) r = Ot[it], t &amp;&amp; r.media !== t || (e ? r.kill(1) : r.revert());
            t &amp;&amp; j(t), t || V("revert") },
        G = 0,
        Z = function _refreshAll(e, t) { if (!pt || e) { ct = !0; var r = V("refreshInit");
                ot &amp;&amp; oe.sort(), t || Q(), Ot.slice(0).forEach(function(e) { return e.refresh() }), Ot.forEach(function(e) { return "max" === e.vars.end &amp;&amp; e.setPositions(e.start, Fa(e.scroller, e._dir)) }), r.forEach(function(e) { return e &amp;&amp; e.render &amp;&amp; e.render(-1) }), Ob(), l.pause(), G++, ct = !1, V("refresh") } else nb(oe, "scrollEnd", Jb) },
        $ = 0,
        Et = 1,
        ee = function _updateAll() { if (!ct) { oe.isUpdating = !0, ut &amp;&amp; ut.update(0); var e = Ot.length,
                    t = dt(),
                    r = 50 &lt;= t - S,
                    n = e &amp;&amp; Ot[0].scroll(); if (Et = n &lt; $ ? -1 : 1, $ = n, r &amp;&amp; (pt &amp;&amp; !nt &amp;&amp; 200 &lt; t - pt &amp;&amp; (pt = 0, V("scrollEnd")), tt = S, S = t), Et &lt; 0) { for (it = e; 0 &lt; it--;) Ot[it] &amp;&amp; Ot[it].update(0, r);
                    Et = 1 } else
                    for (it = 0; it &lt; e; it++) Ot[it] &amp;&amp; Ot[it].update(0, r);
                oe.isUpdating = !1 }
            x = 0 },
        te = ["left", "top", P, _, _t + wt, _t + mt, _t + xt, _t + yt, "display", "flexShrink", "float", "zIndex", "gridColumnStart", "gridColumnEnd", "gridRowStart", "gridRowEnd", "gridArea", "justifySelf", "alignSelf", "placeSelf", "order"],
        re = te.concat([vt, bt, "boxSizing", "max" + Tt, "max" + D, "position", _t, St, St + xt, St + mt, St + wt, St + yt]),
        ne = /([A-Z])/g,
        It = function _setState(e) { if (e) { var t, r, n = e.t.style,
                    i = e.length,
                    o = 0; for ((e.t._gsap || We.core.getCache(e.t)).uncache = 1; o &lt; i; o += 2) r = e[o + 1], t = e[o], r ? n[t] = r : n[t] &amp;&amp; n.removeProperty(t.replace(ne, "-$1").toLowerCase()) } },
        Bt = { left: 0, top: 0 },
        ie = /(webkit|moz|length|cssText|inset)/i,
        oe = (ScrollTrigger.prototype.init = function init(_, T) { if (this.progress = this.start = 0, this.vars &amp;&amp; this.kill(!0, !0), gt) { var k, n, p, M, A, C, O, P, E, B, D, e, z, Y, X, F, L, t, H, b, R, N, m, U, x, w, r, S, V, W, i, g, j, Q, q, G, K, o, Z = (_ = fb(Ha(_) || Ja(_) || _.nodeType ? { trigger: _ } : _, Ct)).onUpdate,
                    $ = _.toggleClass,
                    a = _.id,
                    ee = _.onToggle,
                    te = _.onRefresh,
                    re = _.scrub,
                    ne = _.trigger,
                    ie = _.pin,
                    oe = _.pinSpacing,
                    ae = _.invalidateOnRefresh,
                    se = _.anticipatePin,
                    s = _.onScrubComplete,
                    h = _.onSnapComplete,
                    le = _.once,
                    ce = _.snap,
                    ue = _.pinReparent,
                    l = _.pinSpacer,
                    fe = _.containerAnimation,
                    de = _.fastScrollEnd,
                    pe = _.preventOverlaps,
                    ge = _.horizontal || _.containerAnimation &amp;&amp; !1 !== _.horizontal ? Re : Ne,
                    he = !re &amp;&amp; 0 !== re,
                    ve = I(_.scroller || je),
                    c = We.core.getCache(ve),
                    be = Ba(ve),
                    me = "fixed" === ("pinType" in _ ? _.pinType : y(ve, "pinType") || be &amp;&amp; "fixed"),
                    ye = [_.onEnter, _.onLeave, _.onEnterBack, _.onLeaveBack],
                    xe = he &amp;&amp; _.toggleActions.split(" "),
                    u = "markers" in _ ? _.markers : Ct.markers,
                    we = be ? 0 : parseFloat(db(ve)["border" + ge.p2 + Tt]) || 0,
                    Se = this,
                    _e = _.onRefreshInit &amp;&amp; function() { return _.onRefreshInit(Se) },
                    Te = function _getSizeFunc(e, t, r) { var n = r.d,
                            i = r.d2,
                            o = r.a; return (o = y(e, "getBoundingClientRect")) ? function() { return o()[n] } : function() { return (t ? je["inner" + i] : e["client" + i]) || 0 } }(ve, be, ge),
                    ke = function _getOffsetsFunc(e, t) { return !t || ~Le.indexOf(e) ? Ca(e) : function() { return Bt } }(ve, be),
                    Me = 0,
                    Ae = 0,
                    Ce = J(ve, ge); if (Se.media = lt, Se._dir = ge, se *= 45, Se.scroller = ve, Se.scroll = fe ? fe.time.bind(fe) : Ce, M = Ce(), Se.vars = _, T = T || _.animation, "refreshPriority" in _ &amp;&amp; (ot = 1, -9999 === _.refreshPriority &amp;&amp; (ut = Se)), c.tweenScroll = c.tweenScroll || { top: gc(ve, Ne), left: gc(ve, Re) }, Se.tweenTo = k = c.tweenScroll[ge.p], Se.scrubDuration = function(e) {
                        (i = Ja(e) &amp;&amp; e) ? W ? W.duration(e) : W = We.to(T, { ease: "expo", totalProgress: "+=0.001", duration: i, paused: !0, onComplete: function onComplete() { return s &amp;&amp; s(Se) } }): (W &amp;&amp; W.progress(1).kill(), W = 0) }, T &amp;&amp; (T.vars.lazy = !1, T._initted || !1 !== T.vars.immediateRender &amp;&amp; !1 !== _.immediateRender &amp;&amp; T.render(0, !0, !0), Se.animation = T.pause(), (T.scrollTrigger = Se).scrubDuration(re), S = 0, a = a || T.vars.id), Ot.push(Se), ce &amp;&amp; (Ka(ce) &amp;&amp; !ce.push || (ce = { snapTo: ce }), "scrollBehavior" in Ge.style &amp;&amp; We.set(be ? [Ge, qe] : ve, { scrollBehavior: "auto" }), p = Ia(ce.snapTo) ? ce.snapTo : "labels" === ce.snapTo ? function _getClosestLabel(t) { return function(e) { return We.utils.snap(ib(t), e) } }(T) : "labelsDirectional" === ce.snapTo ? function _getLabelAtDirection(r) { return function(e, t) { return kb(ib(r))(e, t.direction) } }(T) : !1 !== ce.directional ? function(e, t) { return kb(ce.snapTo)(e, dt() - Ae &lt; 500 ? 0 : t.direction) } : We.utils.snap(ce.snapTo), g = ce.duration || { min: .1, max: 2 }, g = Ka(g) ? et(g.min, g.max) : et(g, g), j = We.delayedCall(ce.delay || i / 2 || .1, function() { var e = Ce(),
                            t = dt() - Ae &lt; 500,
                            r = k.tween; if (!(t || Math.abs(Se.getVelocity()) &lt; 10) || r || nt || Me === e) Se.isActive &amp;&amp; Me !== e &amp;&amp; j.restart(!0);
                        else { var n = (e - C) / z,
                                i = T &amp;&amp; !he ? T.totalProgress() : n,
                                o = t ? 0 : (i - V) / (dt() - tt) * 1e3 || 0,
                                a = We.utils.clamp(-n, 1 - n, ht(o / 2) * o / .185),
                                s = n + (!1 === ce.inertia ? 0 : a),
                                l = et(0, 1, p(s, Se)),
                                c = Math.round(C + l * z),
                                u = ce.onStart,
                                f = ce.onInterrupt,
                                d = ce.onComplete; if (e &lt;= O &amp;&amp; C &lt;= e &amp;&amp; c !== e) { if (r &amp;&amp; !r._initted &amp;&amp; r.data &lt;= ht(c - e)) return;!1 === ce.inertia &amp;&amp; (a = l - n), k(c, { duration: g(ht(.185 * Math.max(ht(s - i), ht(l - i)) / o / .05 || 0)), ease: ce.ease || "power3", data: ht(c - e), onInterrupt: function onInterrupt() { return j.restart(!0) &amp;&amp; f &amp;&amp; f(Se) }, onComplete: function onComplete() { Se.update(), Me = Ce(), S = V = T &amp;&amp; !he ? T.totalProgress() : Se.progress, h &amp;&amp; h(Se), d &amp;&amp; d(Se) } }, e, a * z, c - e - a * z), u &amp;&amp; u(Se, k.tween) } } }).pause()), a &amp;&amp; (Pt[a] = Se), o = (o = (ne = Se.trigger = I(ne || ie)) &amp;&amp; ne._gsap &amp;&amp; ne._gsap.stRevert) &amp;&amp; o(Se), ie = !0 === ie ? ne : I(ie), Ha($) &amp;&amp; ($ = { targets: ne, className: $ }), ie &amp;&amp; (!1 === oe || oe === _t || (oe = !(!oe &amp;&amp; "flex" === db(ie.parentNode).display) &amp;&amp; St), Se.pin = ie, !1 !== _.force3D &amp;&amp; We.set(ie, { force3D: !0 }), (n = We.core.getCache(ie)).spacer ? Y = n.pinState : (l &amp;&amp; ((l = I(l)) &amp;&amp; !l.nodeType &amp;&amp; (l = l.current || l.nativeElement), n.spacerIsNative = !!l, l &amp;&amp; (n.spacerState = ac(l))), n.spacer = L = l || Je.createElement("div"), L.classList.add("pin-spacer"), a &amp;&amp; L.classList.add("pin-spacer-" + a), n.pinState = Y = ac(ie)), Se.spacer = L = n.spacer, r = db(ie), m = r[oe + ge.os2], H = We.getProperty(ie), b = We.quickSetter(ie, ge.a, kt), Zb(ie, L, r), F = ac(ie)), u) { e = Ka(u) ? fb(u, At) : At, B = ub("scroller-start", a, ve, ge, e, 0), D = ub("scroller-end", a, ve, ge, e, 0, B), t = B["offset" + ge.op.d2]; var f = I(y(ve, "content") || ve);
                    P = this.markerStart = ub("start", a, f, ge, e, t, 0, fe), E = this.markerEnd = ub("end", a, f, ge, e, t, 0, fe), fe &amp;&amp; (K = We.quickSetter([P, E], ge.a, kt)), me || Le.length &amp;&amp; !0 === y(ve, "fixedMarkers") || (function _makePositionable(e) { var t = db(e).position;
                        e.style.position = "absolute" === t || "fixed" === t ? t : "relative" }(be ? Ge : ve), We.set([B, D], { force3D: !0 }), x = We.quickSetter(B, ge.a, kt), w = We.quickSetter(D, ge.a, kt)) } if (fe) { var d = fe.vars.onUpdate,
                        v = fe.vars.onUpdateParams;
                    fe.eventCallback("onUpdate", function() { Se.update(0, 0, 1), d &amp;&amp; d.apply(v || []) }) }
                Se.previous = function() { return Ot[Ot.indexOf(Se) - 1] }, Se.next = function() { return Ot[Ot.indexOf(Se) + 1] }, Se.revert = function(e) { var t = !1 !== e || !Se.enabled,
                        r = rt;
                    t !== Se.isReverted &amp;&amp; (t &amp;&amp; (!Se.scroll.rec &amp;&amp; rt &amp;&amp; ct &amp;&amp; (Se.scroll.rec = Ce()), q = Math.max(Ce(), Se.scroll.rec || 0), Q = Se.progress, G = T &amp;&amp; T.progress()), P &amp;&amp; [P, E, B, D].forEach(function(e) { return e.style.display = t ? "none" : "block" }), t &amp;&amp; (rt = 1), Se.update(t), rt = r, ie &amp;&amp; (t ? function _swapPinOut(e, t, r) { It(r); var n = e._gsap; if (n.spacerIsNative) It(n.spacerState);
                        else if (e.parentNode === t) { var i = t.parentNode;
                            i &amp;&amp; (i.insertBefore(e, t), i.removeChild(t)) } }(ie, L, Y) : ue &amp;&amp; Se.isActive || Zb(ie, L, db(ie), U)), Se.isReverted = t) }, Se.refresh = function(e, t) { if (!rt &amp;&amp; Se.enabled || t)
                        if (ie &amp;&amp; e &amp;&amp; pt) nb(ScrollTrigger, "scrollEnd", Jb);
                        else {!ct &amp;&amp; _e &amp;&amp; _e(Se), rt = 1, Ae = dt(), k.tween &amp;&amp; (k.tween.kill(), k.tween = 0), W &amp;&amp; W.pause(), ae &amp;&amp; T &amp;&amp; T.time(-.01, !0).invalidate(), Se.isReverted || Se.revert(); for (var r, n, i, o, a, s, l, c, u, f, d = Te(), p = ke(), g = fe ? fe.duration() : Fa(ve, ge), h = 0, v = 0, b = _.end, m = _.endTrigger || ne, y = _.start || (0 !== _.start &amp;&amp; ne ? ie ? "0 0" : "0 100%" : 0), x = Se.pinnedContainer = _.pinnedContainer &amp;&amp; I(_.pinnedContainer), w = ne &amp;&amp; Math.max(0, Ot.indexOf(Se)) || 0, S = w; S--;)(s = Ot[S]).end || s.refresh(0, 1) || (rt = 1), !(l = s.pin) || l !== ne &amp;&amp; l !== ie || s.isReverted || ((f = f || []).unshift(s), s.revert()), s !== Ot[S] &amp;&amp; (w--, S--); for (Ia(y) &amp;&amp; (y = y(Se)), C = dc(y, ne, d, ge, Ce(), P, B, Se, p, we, me, g, fe) || (ie ? -.001 : 0), Ia(b) &amp;&amp; (b = b(Se)), Ha(b) &amp;&amp; !b.indexOf("+=") &amp;&amp; (~b.indexOf(" ") ? b = (Ha(y) ? y.split(" ")[0] : "") + b : (h = tb(b.substr(2), d), b = Ha(y) ? y : C + h, m = ne)), O = Math.max(C, dc(b || (m ? "100% 0" : g), m, d, ge, Ce() + h, E, D, Se, p, we, me, g, fe)) || -.001, z = O - C || (C -= .01) &amp;&amp; .001, h = 0, S = w; S--;)(l = (s = Ot[S]).pin) &amp;&amp; s.start - s._pinPush &lt; C &amp;&amp; !fe &amp;&amp; 0 &lt; s.end &amp;&amp; (r = s.end - s.start, l !== ne &amp;&amp; l !== x || Ja(y) || (h += r * (1 - s.progress)), l === ie &amp;&amp; (v += r)); if (C += h, O += h, Se._pinPush = v, P &amp;&amp; h &amp;&amp; ((r = {})[ge.a] = "+=" + h, x &amp;&amp; (r[ge.p] = "-=" + Ce()), We.set([P, E], r)), ie) r = db(ie), o = ge === Ne, i = Ce(), R = parseFloat(H(ge.a)) + v, !g &amp;&amp; 1 &lt; O &amp;&amp; ((be ? Ge : ve).style["overflow-" + ge.a] = "scroll"), Zb(ie, L, r), F = ac(ie), n = Mt(ie, !0), c = me &amp;&amp; J(ve, o ? Re : Ne)(), oe &amp;&amp; ((U = [oe + ge.os2, z + v + kt]).t = L, (S = oe === St ? hb(ie, ge) + z + v : 0) &amp;&amp; U.push(ge.d, S + kt), It(U), me &amp;&amp; Ce(q)), me &amp;&amp; ((a = { top: n.top + (o ? i - C : c) + kt, left: n.left + (o ? c : i - C) + kt, boxSizing: "border-box", position: "fixed" })[vt] = a.maxWidth = Math.ceil(n.width) + kt, a[bt] = a.maxHeight = Math.ceil(n.height) + kt, a[_t] = a[_t + xt] = a[_t + mt] = a[_t + wt] = a[_t + yt] = "0", a[St] = r[St], a[St + xt] = r[St + xt], a[St + mt] = r[St + mt], a[St + wt] = r[St + wt], a[St + yt] = r[St + yt], X = function _copyState(e, t, r) { for (var n, i = [], o = e.length, a = r ? 8 : 0; a &lt; o; a += 2) n = e[a], i.push(n, n in t ? t[n] : e[a + 1]); return i.t = e.t, i }(Y, a, ue)), T ? (u = T._initted, at(1), T.render(T.duration(), !0, !0), N = H(ge.a) - R + z + v, z !== N &amp;&amp; me &amp;&amp; X.splice(X.length - 2, 2), T.render(0, !0, !0), u || T.invalidate(), at(0)) : N = z;
                            else if (ne &amp;&amp; Ce() &amp;&amp; !fe)
                                for (n = ne.parentNode; n &amp;&amp; n !== Ge;) n._pinOffset &amp;&amp; (C -= n._pinOffset, O -= n._pinOffset), n = n.parentNode;
                            f &amp;&amp; f.forEach(function(e) { return e.revert(!1) }), Se.start = C, Se.end = O, M = A = Ce(), fe || (M &lt; q &amp;&amp; Ce(q), Se.scroll.rec = 0), Se.revert(!1), j &amp;&amp; (Me = -1, Se.isActive &amp;&amp; Ce(C + z * Q), j.restart(!0)), rt = 0, T &amp;&amp; he &amp;&amp; (T._initted || G) &amp;&amp; T.progress() !== G &amp;&amp; T.progress(G, !0).render(T.time(), !0, !0), Q === Se.progress &amp;&amp; !fe || (T &amp;&amp; !he &amp;&amp; T.totalProgress(Q, !0), Se.progress = Q, Se.update(0, 0, 1)), ie &amp;&amp; oe &amp;&amp; (L._pinOffset = Math.round(Se.progress * N)), te &amp;&amp; te(Se) } }, Se.getVelocity = function() { return (Ce() - A) / (dt() - tt) * 1e3 || 0 }, Se.endAnimation = function() { Na(Se.callbackAnimation), T &amp;&amp; (W ? W.progress(1) : T.paused() ? he || Na(T, Se.direction &lt; 0, 1) : Na(T, T.reversed())) }, Se.labelToScroll = function(e) { return T &amp;&amp; T.labels &amp;&amp; (C || Se.refresh() || C) + T.labels[e] / T.duration() * z || 0 }, Se.getTrailing = function(t) { var e = Ot.indexOf(Se),
                        r = 0 &lt; Se.direction ? Ot.slice(0, e).reverse() : Ot.slice(e + 1); return (Ha(t) ? r.filter(function(e) { return e.vars.preventOverlaps === t }) : r).filter(function(e) { return 0 &lt; Se.direction ? e.end &lt;= C : e.start &gt;= O }) }, Se.update = function(e, t, r) { if (!fe || r || e) { var n, i, o, a, s, l, c, u = Se.scroll(),
                            f = e ? 0 : (u - C) / z,
                            d = f &lt; 0 ? 0 : 1 &lt; f ? 1 : f || 0,
                            p = Se.progress; if (t &amp;&amp; (A = M, M = fe ? Ce() : u, ce &amp;&amp; (V = S, S = T &amp;&amp; !he ? T.totalProgress() : d)), se &amp;&amp; !d &amp;&amp; ie &amp;&amp; !rt &amp;&amp; !ft &amp;&amp; pt &amp;&amp; C &lt; u + (u - A) / (dt() - tt) * se &amp;&amp; (d = 1e-4), d !== p &amp;&amp; Se.enabled) { if (a = (s = (n = Se.isActive = !!d &amp;&amp; d &lt; 1) != (!!p &amp;&amp; p &lt; 1)) || !!d != !!p, Se.direction = p &lt; d ? 1 : -1, Se.progress = d, a &amp;&amp; !rt &amp;&amp; (i = d &amp;&amp; !p ? 0 : 1 === d ? 1 : 1 === p ? 2 : 3, he &amp;&amp; (o = !s &amp;&amp; "none" !== xe[i + 1] &amp;&amp; xe[i + 1] || xe[i], c = T &amp;&amp; ("complete" === o || "reset" === o || o in T))), pe &amp;&amp; (s || c) &amp;&amp; (c || re || !T) &amp;&amp; (Ia(pe) ? pe(Se) : Se.getTrailing(pe).forEach(function(e) { return e.endAnimation() })), he || (!W || rt || ft ? T &amp;&amp; T.totalProgress(d, !!rt) : ((fe || ut &amp;&amp; ut !== Se) &amp;&amp; W.render(W._dp._time - W._start), W.resetTo ? W.resetTo("totalProgress", d, T._tTime / T._tDur) : (W.vars.totalProgress = d, W.invalidate().restart()))), ie)
                                if (e &amp;&amp; oe &amp;&amp; (L.style[oe + ge.os2] = m), me) { if (a) { if (l = !e &amp;&amp; p &lt; d &amp;&amp; u &lt; O + 1 &amp;&amp; u + 1 &gt;= Fa(ve, ge), ue)
                                            if (e || !n &amp;&amp; !l) fc(ie, L);
                                            else { var g = Mt(ie, !0),
                                                    h = u - C;
                                                fc(ie, Ge, g.top + (ge === Ne ? h : 0) + kt, g.left + (ge === Ne ? 0 : h) + kt) }
                                        It(n || l ? X : F), N !== z &amp;&amp; d &lt; 1 &amp;&amp; n || b(R + (1 !== d || l ? 0 : N)) } } else b(ya(R + N * d));
                                !ce || k.tween || rt || ft || j.restart(!0), $ &amp;&amp; (s || le &amp;&amp; d &amp;&amp; (d &lt; 1 || !st)) &amp;&amp; Ke($.targets).forEach(function(e) { return e.classList[n || le ? "add" : "remove"]($.className) }), !Z || he || e || Z(Se), a &amp;&amp; !rt ? (he &amp;&amp; (c &amp;&amp; ("complete" === o ? T.pause().totalProgress(1) : "reset" === o ? T.restart(!0).pause() : "restart" === o ? T.restart(!0) : T[o]()), Z &amp;&amp; Z(Se)), !s &amp;&amp; st || (ee &amp;&amp; s &amp;&amp; Oa(Se, ee), ye[i] &amp;&amp; Oa(Se, ye[i]), le &amp;&amp; (1 === d ? Se.kill(!1, 1) : ye[i] = 0), s || ye[i = 1 === d ? 1 : 3] &amp;&amp; Oa(Se, ye[i])), de &amp;&amp; !n &amp;&amp; Math.abs(Se.getVelocity()) &gt; (Ja(de) ? de : 2500) &amp;&amp; (Na(Se.callbackAnimation), W ? W.progress(1) : Na(T, !d, 1))) : he &amp;&amp; Z &amp;&amp; !rt &amp;&amp; Z(Se) } if (w) { var v = fe ? u / fe.duration() * (fe._caScrollDist || 0) : u;
                            x(v + (B._isFlipped ? 1 : 0)), w(v) }
                        K &amp;&amp; K(-u / fe.duration() * (fe._caScrollDist || 0)) } }, Se.enable = function(e, t) { Se.enabled || (Se.enabled = !0, nb(ve, "resize", Cb), nb(be ? Je : ve, "scroll", Ab), _e &amp;&amp; nb(ScrollTrigger, "refreshInit", _e), !1 !== e &amp;&amp; (Se.progress = Q = 0, M = A = Me = Ce()), !1 !== t &amp;&amp; Se.refresh()) }, Se.getTween = function(e) { return e &amp;&amp; k ? k.tween : W }, Se.setPositions = function(e, t) { ie &amp;&amp; (R += e - C, N += t - e - z), Se.start = C = e, Se.end = O = t, z = t - e, Se.update() }, Se.disable = function(e, t) { if (Se.enabled &amp;&amp; (!1 !== e &amp;&amp; Se.revert(), Se.enabled = Se.isActive = !1, t || W &amp;&amp; W.pause(), q = 0, n &amp;&amp; (n.uncache = 1), _e &amp;&amp; ob(ScrollTrigger, "refreshInit", _e), j &amp;&amp; (j.pause(), k.tween &amp;&amp; k.tween.kill() &amp;&amp; (k.tween = 0)), !be)) { for (var r = Ot.length; r--;)
                            if (Ot[r].scroller === ve &amp;&amp; Ot[r] !== Se) return;
                        ob(ve, "resize", Cb), ob(ve, "scroll", Ab) } }, Se.kill = function(e, t) { Se.disable(e, t), W &amp;&amp; !t &amp;&amp; W.kill(), a &amp;&amp; delete Pt[a]; var r = Ot.indexOf(Se);
                    0 &lt;= r &amp;&amp; Ot.splice(r, 1), r === it &amp;&amp; 0 &lt; Et &amp;&amp; it--, r = 0, Ot.forEach(function(e) { return e.scroller === Se.scroller &amp;&amp; (r = 1) }), r || (Se.scroll.rec = 0), T &amp;&amp; (T.scrollTrigger = null, e &amp;&amp; T.render(-1), t || T.kill()), P &amp;&amp; [P, E, B, D].forEach(function(e) { return e.parentNode &amp;&amp; e.parentNode.removeChild(e) }), ut === Se &amp;&amp; (ut = 0), ie &amp;&amp; (n &amp;&amp; (n.uncache = 1), r = 0, Ot.forEach(function(e) { return e.pin === ie &amp;&amp; r++ }), r || (n.spacer = 0)), _.onKill &amp;&amp; _.onKill(Se) }, Se.enable(!1, !1), o &amp;&amp; o(Se), T &amp;&amp; T.add &amp;&amp; !z ? We.delayedCall(.01, function() { return C || O || Se.refresh() }) &amp;&amp; (z = .01) &amp;&amp; (C = O = 0) : Se.refresh() } else this.update = this.refresh = this.kill = xa }, ScrollTrigger.register = function register(e) { return a || (We = e || Aa(), za() &amp;&amp; window.document &amp;&amp; ScrollTrigger.enable(), a = gt), a }, ScrollTrigger.defaults = function defaults(e) { if (e)
                for (var t in e) Ct[t] = e[t]; return Ct }, ScrollTrigger.disable = function disable(t, r) { gt = 0, Ot.forEach(function(e) { return e[r ? "kill" : "disable"](t) }), ob(je, "wheel", Ab), ob(Je, "scroll", Ab), clearInterval(c), ob(Je, "touchcancel", xa), ob(Ge, "touchstart", xa), mb(ob, Je, "pointerdown,touchstart,mousedown", va), mb(ob, Je, "pointerup,touchend,mouseup", wa), l.kill(), Ga(ob); for (var e = 0; e &lt; T.length; e += 3) pb(ob, T[e], T[e + 1]), pb(ob, T[e], T[e + 2]) }, ScrollTrigger.enable = function enable() { if (je = window, Je = document, qe = Je.documentElement, Ge = Je.body, We &amp;&amp; (Ke = We.utils.toArray, et = We.utils.clamp, at = We.core.suppressOverwrites || xa, We.core.globals("ScrollTrigger", ScrollTrigger), Ge)) { gt = 1, k.register(We), ScrollTrigger.isTouch = k.isTouch, C = k.isTouch &amp;&amp; /(iPad|iPhone|iPod|Mac)/g.test(navigator.userAgent), nb(je, "wheel", Ab), s = [je, Je, qe, Ge], ScrollTrigger.matchMedia({ "(orientation: portrait)": function orientationPortrait() { return Bb(), Bb } }), nb(Je, "scroll", Ab); var e, t, r = Ge.style,
                    n = r.borderTopStyle; for (r.borderTopStyle = "solid", e = Mt(Ge), Ne.m = Math.round(e.top + Ne.sc()) || 0, Re.m = Math.round(e.left + Re.sc()) || 0, n ? r.borderTopStyle = n : r.removeProperty("border-top-style"), c = setInterval(zb, 250), We.delayedCall(.5, function() { return ft = 0 }), nb(Je, "touchcancel", xa), nb(Ge, "touchstart", xa), mb(nb, Je, "pointerdown,touchstart,mousedown", va), mb(nb, Je, "pointerup,touchend,mouseup", wa), u = We.utils.checkPrefix("transform"), re.push(u), a = dt(), l = We.delayedCall(.2, Z).pause(), p = [Je, "visibilitychange", function() { var e = je.innerWidth,
                            t = je.innerHeight;
                        Je.hidden ? (f = e, d = t) : f === e &amp;&amp; d === t || Cb() }, Je, "DOMContentLoaded", Z, je, "load", Z, je, "resize", Cb], Ga(nb), Ot.forEach(function(e) { return e.enable(0, 1) }), t = 0; t &lt; T.length; t += 3) pb(ob, T[t], T[t + 1]), pb(ob, T[t], T[t + 2]) } }, ScrollTrigger.config = function config(e) { "limitCallbacks" in e &amp;&amp; (st = !!e.limitCallbacks); var t = e.syncInterval;
            t &amp;&amp; clearInterval(c) || (c = t) &amp;&amp; setInterval(zb, t), "ignoreMobileResize" in e &amp;&amp; (v = 1 === ScrollTrigger.isTouch &amp;&amp; e.ignoreMobileResize), "autoRefreshEvents" in e &amp;&amp; (Ga(ob) || Ga(nb, e.autoRefreshEvents || "none"), g = -1 === (e.autoRefreshEvents + "").indexOf("resize")) }, ScrollTrigger.scrollerProxy = function scrollerProxy(e, t) { var r = I(e),
                n = T.indexOf(r),
                i = Ba(r);~n &amp;&amp; T.splice(n, i ? 6 : 2), t &amp;&amp; (i ? Le.unshift(je, t, Ge, t, qe, t) : Le.unshift(r, t)) }, ScrollTrigger.matchMedia = function matchMedia(e) { var t, r, n, i, o; for (r in e) n = U.indexOf(r), i = e[r], "all" === (lt = r) ? i() : (t = je.matchMedia(r)) &amp;&amp; (t.matches &amp;&amp; (o = i()), ~n ? (U[n + 1] = Ma(U[n + 1], i), U[n + 2] = Ma(U[n + 2], o)) : (n = U.length, U.push(r, i, o), t.addListener ? t.addListener(Ib) : t.addEventListener("change", Ib)), U[n + 3] = t.matches), lt = 0; return U }, ScrollTrigger.clearMatchMedia = function clearMatchMedia(e) { e || (U.length = 0), 0 &lt;= (e = U.indexOf(e)) &amp;&amp; U.splice(e, 4) }, ScrollTrigger.isInViewport = function isInViewport(e, t, r) { var n = (Ha(e) ? I(e) : e).getBoundingClientRect(),
                i = n[r ? vt : bt] * t || 0; return r ? 0 &lt; n.right - i &amp;&amp; n.left + i &lt; je.innerWidth : 0 &lt; n.bottom - i &amp;&amp; n.top + i &lt; je.innerHeight }, ScrollTrigger.positionInViewport = function positionInViewport(e, t, r) { Ha(e) &amp;&amp; (e = I(e)); var n = e.getBoundingClientRect(),
                i = n[r ? vt : bt],
                o = null == t ? i / 2 : t in Y ? Y[t] * i : ~t.indexOf("%") ? parseFloat(t) * i / 100 : parseFloat(t) || 0; return r ? (n.left + o) / je.innerWidth : (n.top + o) / je.innerHeight }, ScrollTrigger);

    function ScrollTrigger(e, t) { a || ScrollTrigger.register(We) || console.warn("Please gsap.registerPlugin(ScrollTrigger)"), this.init(e, t) }
    oe.version = "3.10.4", oe.saveStyles = function(e) { return e ? Ke(e).forEach(function(e) { if (e &amp;&amp; e.style) { var t = W.indexOf(e);
                0 &lt;= t &amp;&amp; W.splice(t, 5), W.push(e, e.style.cssText, e.getBBox &amp;&amp; e.getAttribute("transform"), We.core.getCache(e), lt) } }) : W }, oe.revert = function(e, t) { return Q(!e, t) }, oe.create = function(e, t) { return new oe(e, t) }, oe.refresh = function(e) { return e ? Cb() : (a || oe.register()) &amp;&amp; Z(!0) }, oe.update = ee, oe.clearScrollMemory = Ob, oe.maxScroll = function(e, t) { return Fa(e, t ? Re : Ne) }, oe.getScrollFunc = function(e, t) { return J(I(e), t ? Re : Ne) }, oe.getById = function(e) { return Pt[e] }, oe.getAll = function() { return Ot.filter(function(e) { return "ScrollSmoother" !== e.vars.id }) }, oe.isScrolling = function() { return !!pt }, oe.snapDirectional = kb, oe.addEventListener = function(e, t) { var r = H[e] || (H[e] = []);~r.indexOf(t) || r.push(t) }, oe.removeEventListener = function(e, t) { var r = H[e],
            n = r &amp;&amp; r.indexOf(t);
        0 &lt;= n &amp;&amp; r.splice(n, 1) }, oe.batch = function(e, t) {
        function to(e, t) { var r = [],
                n = [],
                i = We.delayedCall(o, function() { t(r, n), r = [], n = [] }).pause(); return function(e) { r.length || i.restart(!0), r.push(e.trigger), n.push(e), a &lt;= r.length &amp;&amp; i.progress(1) } } var r, n = [],
            i = {},
            o = t.interval || .016,
            a = t.batchMax || 1e9; for (r in t) i[r] = "on" === r.substr(0, 2) &amp;&amp; Ia(t[r]) &amp;&amp; "onRefreshInit" !== r ? to(0, t[r]) : t[r]; return Ia(a) &amp;&amp; (a = a(), nb(oe, "refresh", function() { return a = t.batchMax() })), Ke(e).forEach(function(e) { var t = {}; for (r in i) t[r] = i[r];
            t.trigger = e, n.push(oe.create(t)) }), n };

    function ic(e, t, r, n) { return n &lt; t ? e(n) : t &lt; 0 &amp;&amp; e(0), n &lt; r ? (n - t) / (r - t) : r &lt; 0 ? t / (t - r) : 1 }

    function jc(e, t) {!0 === t ? e.style.removeProperty("touch-action") : e.style.touchAction = !0 === t ? "auto" : t ? "pan-" + t + (k.isTouch ? " pinch-zoom" : "") : "none", e === qe &amp;&amp; jc(Ge, t) }

    function lc(e) { var t, r = e.event,
            n = e.target,
            i = e.axis,
            o = (r.changedTouches ? r.changedTouches[0] : r).target,
            a = o._gsap || We.core.getCache(o),
            s = dt(); if (!a._isScrollT || 2e3 &lt; s - a._isScrollT) { for (; o &amp;&amp; o.scrollHeight &lt;= o.clientHeight;) o = o.parentNode;
            a._isScroll = o &amp;&amp; !Ba(o) &amp;&amp; o !== n &amp;&amp; (se[(t = db(o)).overflowY] || se[t.overflowX]), a._isScrollT = s }!a._isScroll &amp;&amp; "x" !== i || (r._gsapAllow = !0) }

    function mc(e, t, r, n) { return k.create({ target: e, capture: !0, debounce: !1, lockAxis: !0, type: t, onWheel: n = n &amp;&amp; lc, onPress: n, onDrag: n, onScroll: n, onEnable: function onEnable() { return r &amp;&amp; nb(Je, k.eventTypes[0], ce, !1, !0) }, onDisable: function onDisable() { return ob(Je, k.eventTypes[0], ce, !0) } }) }

    function qc(e) {
        function op() { return n = !1 }

        function rp() { o = Fa(d, Ne), _ = et(C ? 1 : 0, o), f &amp;&amp; (S = et(0, Fa(d, Re))), a = G }

        function xp() { rp(), s.isActive() &amp;&amp; s.vars.scrollY &gt; o &amp;&amp; (h() &gt; o ? s.progress(1) &amp;&amp; h(o) : s.resetTo("scrollY", o)) }
        Ka(e) || (e = {}), e.preventDefault = e.isNormalizer = e.allowClicks = !0, e.type || (e.type = "wheel,touch"), e.debounce = !!e.debounce, e.id = e.id || "normalizer"; var r, o, n, a, s, l, c, u, f = e.normalizeScrollX,
            t = e.momentum,
            i = e.allowNestedScroll,
            d = I(e.target) || qe,
            p = We.core.globals().ScrollSmoother,
            g = C &amp;&amp; (e.content &amp;&amp; I(e.content) || p &amp;&amp; p.get() &amp;&amp; p.get().content()),
            h = J(d, Ne),
            v = J(d, Re),
            b = 1,
            m = (k.isTouch &amp;&amp; je.visualViewport ? je.visualViewport.scale * je.visualViewport.width : je.outerWidth) / je.innerWidth,
            y = 0,
            x = Ia(t) ? function() { return t(r) } : function() { return t || 2.8 },
            w = mc(d, e.type, !0, i),
            S = xa,
            _ = xa; return e.ignoreCheck = function(e) { return C &amp;&amp; "touchmove" === e.type &amp;&amp; function ignoreDrag() { if (n) { requestAnimationFrame(op); var e = ya(r.deltaY / 2),
                        t = _(h.v - e); return g &amp;&amp; t !== h.v + h.offset &amp;&amp; (h.offset = t - h.v, g.style.transform = "translateY(" + -h.offset + "px)", g._gsap &amp;&amp; (g._gsap.y = -h.offset + "px"), h.cacheID = T.cache, ee()), !0 }
                g &amp;&amp; (g.style.transform = "translateY(0px)", h.offset = h.cacheID = 0, g._gsap &amp;&amp; (g._gsap.y = "0px")), n = !0 }() || 1.05 &lt; b &amp;&amp; "touchstart" !== e.type || r.isGesturing || e.touches &amp;&amp; 1 &lt; e.touches.length }, e.onPress = function() { var e = b;
            b = ya((je.visualViewport &amp;&amp; je.visualViewport.scale || 1) / m), s.pause(), e !== b &amp;&amp; jc(d, 1.01 &lt; b || !f &amp;&amp; "x"), n = !1, l = v(), c = h(), rp(), a = G }, e.onRelease = e.onGestureStart = function(e, t) { if (g &amp;&amp; (g.style.transform = "translateY(0px)", h.offset = h.cacheID = 0, g._gsap &amp;&amp; (g._gsap.y = "0px")), t) { T.cache++; var r, n, i = x();
                f &amp;&amp; (n = (r = v()) + .05 * i * -e.velocityX / .227, i *= ic(v, r, n, Fa(d, Re)), s.vars.scrollX = S(n)), n = (r = h()) + .05 * i * -e.velocityY / .227, i *= ic(h, r, n, Fa(d, Ne)), s.vars.scrollY = _(n), s.invalidate().duration(i).play(.01), (C &amp;&amp; s.vars.scrollY &gt;= o || o - 1 &lt;= r) &amp;&amp; We.to({}, { onUpdate: xp, duration: i }) } else u.restart(!0) }, e.onWheel = function() { s._ts &amp;&amp; s.pause(), 1e3 &lt; dt() - y &amp;&amp; (a = 0, y = dt()) }, e.onChange = function(e, t, r, n, i) { G !== a &amp;&amp; rp(), t &amp;&amp; f &amp;&amp; v(S(n[2] === t ? l + (e.startX - e.x) : v() + t - n[1])), r &amp;&amp; h(_(i[2] === r ? c + (e.startY - e.y) : h() + r - i[1])), ee() }, e.onEnable = function() { jc(d, !f &amp;&amp; "x"), nb(je, "resize", xp), w.enable() }, e.onDisable = function() { jc(d, !0), ob(je, "resize", xp), w.kill() }, ((r = new k(e)).iOS = C) &amp;&amp; !h() &amp;&amp; h(1), u = r._dc, s = We.to(r, { ease: "power4", paused: !0, scrollX: f ? "+=0.1" : "+=0", scrollY: "+=0.1", onComplete: u.vars.onComplete }), r } var ae, se = { auto: 1, scroll: 1 },
        le = /(input|label|select|textarea)/i,
        ce = function _captureInputs(e) { var t = le.test(e.target.tagName);
            (t || ae) &amp;&amp; (e._gsapAllow = !0, ae = t) };
    oe.sort = function(e) { return Ot.sort(e || function(e, t) { return -1e6 * (e.vars.refreshPriority || 0) + e.start - (t.start + -1e6 * (t.vars.refreshPriority || 0)) }) }, oe.observe = function(e) { return new k(e) }, oe.normalizeScroll = function(e) { if (void 0 === e) return h; if (!0 === e &amp;&amp; h) return h.enable(); if (!1 === e) return h &amp;&amp; h.kill(); var t = e instanceof k ? e : qc(e); return h &amp;&amp; h.target === t.target &amp;&amp; h.kill(), Ba(t.target) &amp;&amp; (h = t), t }, oe.core = { _getVelocityProp: K, _inputObserver: mc, _scrollers: T, _proxies: Le, bridge: { ss: function ss() { pt || V("scrollStart"), pt = dt() }, ref: function ref() { return rt } } }, Aa() &amp;&amp; We.registerPlugin(oe), e.ScrollTrigger = oe, e.default = oe; if (typeof(window) === "undefined" || window !== e) { Object.defineProperty(e, "__esModule", { value: !0 }) } else { delete e.default } });</pre></body></html>