Overview

URL https://craguns.com
IP67.227.155.69
ASNAS32244 Liquid Web, Inc.
Location United States
Report completed2018-04-16 18:07:04 CEST
StatusLoading report..
urlQuery Alerts No alerts detected


Settings

UserAgentMozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Referer
Pool
Access Level


Intrusion Detection Systems

Suricata /w Emerging Threats Pro  No alerts detected


Blacklists

MDL  No alerts detected
OpenPhish  No alerts detected
PhishTank  No alerts detected
Fortinet's Web Filter  No alerts detected
DNS-BH  No alerts detected
mnemonic secure dns  No alerts detected


Recent reports on same IP/ASN/Domain

No other reports on IP: 67.227.155.69


Last 10 reports on ASN: AS32244 Liquid Web, Inc.

Date UQ / IDS / BL URL IP
2018-10-18 20:09:45 +0200
0 - 0 - 0 sony.co.be/fr/TEST333.htm 72.52.148.166
2018-10-18 19:47:06 +0200
0 - 1 - 0 sony.co.be 72.52.148.166
2018-10-18 18:41:18 +0200
0 - 0 - 0 www.adultfilmdatabase.com/Graphics/PornStars/ (...) 72.52.156.124
2018-10-18 16:00:31 +0200
0 - 0 - 0 autoprotectionhq.com 67.227.195.156
2018-10-18 14:21:37 +0200
0 - 0 - 0 https://childactorla.com 67.227.166.28
2018-10-18 08:43:48 +0200
0 - 0 - 2 tanjimenterprise.com/mahfv/home/zhhywi=/wu4ztm= 67.225.139.87
2018-10-18 08:33:20 +0200
2 - 2 - 0 e1t1.ca/cloud/adobevf 209.59.138.54
2018-10-18 03:57:36 +0200
0 - 0 - 0 childactorla.com 67.227.166.28
2018-10-18 03:13:54 +0200
0 - 0 - 0 https://childactorla.com/klb!!%40%26*%26*%40% (...) 67.227.166.28
2018-10-18 00:47:18 +0200
1 - 0 - 0 pnspl.co.uk/wp-content/themes/twentyfifteen/i (...) 50.28.12.248

No other reports on domain: craguns.com



JavaScript

Executed Scripts (114)


Executed Evals (31)

#1 JavaScript::Eval (size: 511, repeated: 1) - SHA256: d6ef1173caf0ae70de854d8c645a329646acfd6ff853900df4c95117d7e4a553

                                        (function() {
    for (var a = window.dataLayer.length; 0 < a;) {
        a--;
        if (window.dataLayer[a]["gtm.uniqueEventId"] === google_tag_manager["GTM-WGDDNFX"].macro('gtm14')) return window.dataLayer[a].flipto && window.dataLayer[a].flipto.eventData ? window.dataLayer[a].flipto.eventData.category : window.dataLayer[a]["flipto.eventData"] ? window.dataLayer[a]["flipto.eventData"].category : window.dataLayer[a]["flipto.eventData.category"];
        if (window.dataLayer[a]["gtm.uniqueEventId"] < google_tag_manager["GTM-WGDDNFX"].macro('gtm15')) break
    }
})();
                                    

#2 JavaScript::Eval (size: 511, repeated: 1) - SHA256: cac821518584df836ce62350a172a7ea3c98edfbc7990545dc1201306b10bc4a

                                        (function() {
    for (var a = window.dataLayer.length; 0 < a;) {
        a--;
        if (window.dataLayer[a]["gtm.uniqueEventId"] === google_tag_manager["GTM-WGDDNFX"].macro('gtm20')) return window.dataLayer[a].flipto && window.dataLayer[a].flipto.eventData ? window.dataLayer[a].flipto.eventData.category : window.dataLayer[a]["flipto.eventData"] ? window.dataLayer[a]["flipto.eventData"].category : window.dataLayer[a]["flipto.eventData.category"];
        if (window.dataLayer[a]["gtm.uniqueEventId"] < google_tag_manager["GTM-WGDDNFX"].macro('gtm21')) break
    }
})();
                                    

#3 JavaScript::Eval (size: 505, repeated: 1) - SHA256: 526f280ac0a22aa37952391f82ae13ad100e65f90db20c6f27934480144a26ec

                                        (function() {
    for (var a = window.dataLayer.length; 0 < a;) {
        a--;
        if (window.dataLayer[a]["gtm.uniqueEventId"] === google_tag_manager["GTM-WGDDNFX"].macro('gtm22')) return window.dataLayer[a].flipto && window.dataLayer[a].flipto.eventData ? window.dataLayer[a].flipto.eventData.action : window.dataLayer[a]["flipto.eventData"] ? window.dataLayer[a]["flipto.eventData"].action : window.dataLayer[a]["flipto.eventData.action"];
        if (window.dataLayer[a]["gtm.uniqueEventId"] < google_tag_manager["GTM-WGDDNFX"].macro('gtm23')) break
    }
})();
                                    

#4 JavaScript::Eval (size: 511, repeated: 1) - SHA256: 6c85d5a29857b8281c815b3d50d55f900e272e179284e65049c1c3b9db77fd14

                                        (function() {
    for (var a = window.dataLayer.length; 0 < a;) {
        a--;
        if (window.dataLayer[a]["gtm.uniqueEventId"] === google_tag_manager["GTM-WGDDNFX"].macro('gtm27')) return window.dataLayer[a].flipto && window.dataLayer[a].flipto.eventData ? window.dataLayer[a].flipto.eventData.category : window.dataLayer[a]["flipto.eventData"] ? window.dataLayer[a]["flipto.eventData"].category : window.dataLayer[a]["flipto.eventData.category"];
        if (window.dataLayer[a]["gtm.uniqueEventId"] < google_tag_manager["GTM-WGDDNFX"].macro('gtm28')) break
    }
})();
                                    

#5 JavaScript::Eval (size: 511, repeated: 1) - SHA256: def2e63ed7e3a79a5e24edd170c2d86225b07773f8a21e11801c297e87442247

                                        (function() {
    for (var a = window.dataLayer.length; 0 < a;) {
        a--;
        if (window.dataLayer[a]["gtm.uniqueEventId"] === google_tag_manager["GTM-WGDDNFX"].macro('gtm30')) return window.dataLayer[a].flipto && window.dataLayer[a].flipto.eventData ? window.dataLayer[a].flipto.eventData.category : window.dataLayer[a]["flipto.eventData"] ? window.dataLayer[a]["flipto.eventData"].category : window.dataLayer[a]["flipto.eventData.category"];
        if (window.dataLayer[a]["gtm.uniqueEventId"] < google_tag_manager["GTM-WGDDNFX"].macro('gtm31')) break
    }
})();
                                    

#6 JavaScript::Eval (size: 511, repeated: 1) - SHA256: 1021b2ff302b5d96a3b03056e6680e6c1fc273b17e62645f454a23b530e05470

                                        (function() {
    for (var a = window.dataLayer.length; 0 < a;) {
        a--;
        if (window.dataLayer[a]["gtm.uniqueEventId"] === google_tag_manager["GTM-WGDDNFX"].macro('gtm33')) return window.dataLayer[a].flipto && window.dataLayer[a].flipto.eventData ? window.dataLayer[a].flipto.eventData.category : window.dataLayer[a]["flipto.eventData"] ? window.dataLayer[a]["flipto.eventData"].category : window.dataLayer[a]["flipto.eventData.category"];
        if (window.dataLayer[a]["gtm.uniqueEventId"] < google_tag_manager["GTM-WGDDNFX"].macro('gtm34')) break
    }
})();
                                    

#7 JavaScript::Eval (size: 505, repeated: 1) - SHA256: 1ec8b81cca4e91c95272519a46731c350909dfa0e9d300d82d400c991c3f14da

                                        (function() {
    for (var a = window.dataLayer.length; 0 < a;) {
        a--;
        if (window.dataLayer[a]["gtm.uniqueEventId"] === google_tag_manager["GTM-WGDDNFX"].macro('gtm35')) return window.dataLayer[a].flipto && window.dataLayer[a].flipto.eventData ? window.dataLayer[a].flipto.eventData.action : window.dataLayer[a]["flipto.eventData"] ? window.dataLayer[a]["flipto.eventData"].action : window.dataLayer[a]["flipto.eventData.action"];
        if (window.dataLayer[a]["gtm.uniqueEventId"] < google_tag_manager["GTM-WGDDNFX"].macro('gtm36')) break
    }
})();
                                    

#8 JavaScript::Eval (size: 502, repeated: 1) - SHA256: 7a22c5534818fe097d914deac7299f1a1da16c84a2d20431e1e204a9dfbc323b

                                        (function() {
    for (var a = window.dataLayer.length; 0 < a;) {
        a--;
        if (window.dataLayer[a]["gtm.uniqueEventId"] === google_tag_manager["GTM-WGDDNFX"].macro('gtm38')) return window.dataLayer[a].flipto && window.dataLayer[a].flipto.eventData ? window.dataLayer[a].flipto.eventData.value : window.dataLayer[a]["flipto.eventData"] ? window.dataLayer[a]["flipto.eventData"].value : window.dataLayer[a]["flipto.eventData.value"];
        if (window.dataLayer[a]["gtm.uniqueEventId"] < google_tag_manager["GTM-WGDDNFX"].macro('gtm39')) break
    }
})();
                                    

#9 JavaScript::Eval (size: 511, repeated: 1) - SHA256: 8da998ac471b70bc6e2863cc5ef11588531b4a5653d135bd6f7145bae5f680c8

                                        (function() {
    for (var a = window.dataLayer.length; 0 < a;) {
        a--;
        if (window.dataLayer[a]["gtm.uniqueEventId"] === google_tag_manager["GTM-WGDDNFX"].macro('gtm40')) return window.dataLayer[a].flipto && window.dataLayer[a].flipto.eventData ? window.dataLayer[a].flipto.eventData.category : window.dataLayer[a]["flipto.eventData"] ? window.dataLayer[a]["flipto.eventData"].category : window.dataLayer[a]["flipto.eventData.category"];
        if (window.dataLayer[a]["gtm.uniqueEventId"] < google_tag_manager["GTM-WGDDNFX"].macro('gtm41')) break
    }
})();
                                    

#10 JavaScript::Eval (size: 505, repeated: 1) - SHA256: 7fcf186b2b3bfe54795c02a52dda66f714b6914c962d944257cacad4d0c0f74c

                                        (function() {
    for (var a = window.dataLayer.length; 0 < a;) {
        a--;
        if (window.dataLayer[a]["gtm.uniqueEventId"] === google_tag_manager["GTM-WGDDNFX"].macro('gtm42')) return window.dataLayer[a].flipto && window.dataLayer[a].flipto.eventData ? window.dataLayer[a].flipto.eventData.action : window.dataLayer[a]["flipto.eventData"] ? window.dataLayer[a]["flipto.eventData"].action : window.dataLayer[a]["flipto.eventData.action"];
        if (window.dataLayer[a]["gtm.uniqueEventId"] < google_tag_manager["GTM-WGDDNFX"].macro('gtm43')) break
    }
})();
                                    

#11 JavaScript::Eval (size: 502, repeated: 1) - SHA256: a0c988449ddd13552c955f9ec832b50a0f24c2f95d49d3333057f11ed9f3b0b9

                                        (function() {
    for (var a = window.dataLayer.length; 0 < a;) {
        a--;
        if (window.dataLayer[a]["gtm.uniqueEventId"] === google_tag_manager["GTM-WGDDNFX"].macro('gtm44')) return window.dataLayer[a].flipto && window.dataLayer[a].flipto.eventData ? window.dataLayer[a].flipto.eventData.label : window.dataLayer[a]["flipto.eventData"] ? window.dataLayer[a]["flipto.eventData"].label : window.dataLayer[a]["flipto.eventData.label"];
        if (window.dataLayer[a]["gtm.uniqueEventId"] < google_tag_manager["GTM-WGDDNFX"].macro('gtm45')) break
    }
})();
                                    

#12 JavaScript::Eval (size: 511, repeated: 1) - SHA256: 1bd64252f9c45fd813ac0b1f3d0541553b0122b7abc6892934d358f2dc6dedeb

                                        (function() {
    for (var a = window.dataLayer.length; 0 < a;) {
        a--;
        if (window.dataLayer[a]["gtm.uniqueEventId"] === google_tag_manager["GTM-WGDDNFX"].macro('gtm48')) return window.dataLayer[a].flipto && window.dataLayer[a].flipto.eventData ? window.dataLayer[a].flipto.eventData.category : window.dataLayer[a]["flipto.eventData"] ? window.dataLayer[a]["flipto.eventData"].category : window.dataLayer[a]["flipto.eventData.category"];
        if (window.dataLayer[a]["gtm.uniqueEventId"] < google_tag_manager["GTM-WGDDNFX"].macro('gtm49')) break
    }
})();
                                    

#13 JavaScript::Eval (size: 509, repeated: 1) - SHA256: 0555811eed63bb5b44d38e39fad678b83c5383597519bc7cc0054a2807d39fbe

                                        (function() {
    for (var a = window.dataLayer.length; 0 < a;) {
        a--;
        if (window.dataLayer[a]["gtm.uniqueEventId"] === google_tag_manager["GTM-WGDDNFX"].macro('gtm7')) return window.dataLayer[a].flipto && window.dataLayer[a].flipto.eventData ? window.dataLayer[a].flipto.eventData.category : window.dataLayer[a]["flipto.eventData"] ? window.dataLayer[a]["flipto.eventData"].category : window.dataLayer[a]["flipto.eventData.category"];
        if (window.dataLayer[a]["gtm.uniqueEventId"] < google_tag_manager["GTM-WGDDNFX"].macro('gtm8')) break
    }
})();
                                    

#14 JavaScript::Eval (size: 510, repeated: 1) - SHA256: d502ad8ad6262919c4ca57adf57f3d3451aeab9672ca6e92e8a6f43998a3e097

                                        (function() {
    for (var a = window.dataLayer.length; 0 < a;) {
        a--;
        if (window.dataLayer[a]["gtm.uniqueEventId"] === google_tag_manager["GTM-WGDDNFX"].macro('gtm9')) return window.dataLayer[a].flipto && window.dataLayer[a].flipto.eventData ? window.dataLayer[a].flipto.eventData.category : window.dataLayer[a]["flipto.eventData"] ? window.dataLayer[a]["flipto.eventData"].category : window.dataLayer[a]["flipto.eventData.category"];
        if (window.dataLayer[a]["gtm.uniqueEventId"] < google_tag_manager["GTM-WGDDNFX"].macro('gtm10')) break
    }
})();
                                    

#15 JavaScript::Eval (size: 901, repeated: 1) - SHA256: 6f10f651c1f04b99c856bf3a8bf1d94de3f7c4a9725a64a3dada921391eae68e

                                        (function() {
    return function() {
        var d = document.querySelectorAll(".Header-nav")[0],
            b = document.createElement("A");
        b.setAttribute("href", "http://www.craguns.com/?" + ga.getAll()[0].get("linkerParam"));
        b.setAttribute("class", "Header-logo HeaderButton");
        var c = document.createElement("DIV");
        c.setAttribute("class", "Header-logo-wrapper");
        var a = document.createElement("IMG");
        a.setAttribute("id", "notFullWidthLog");
        a.setAttribute("alt", "Cragun's Hotel and Resort and Legacy Golf Courses");
        a.setAttribute("ng-if", "!fullWidthLogoEnabled");
        a.setAttribute("class", "img-responsive ng-scope");
        a.setAttribute("ng-src", "/assets/hotel/73835/media/brand/small-logo-banner/logo_161x91_enhanced.jpg");
        a.setAttribute("src", "/assets/hotel/73835/media/brand/small-logo-banner/logo_161x91_enhanced.jpg");
        c.appendChild(a);
        b.appendChild(c);
        d.removeChild(document.querySelectorAll(".Header-logo.HeaderButton")[0]);
        d.prepend(b)
    }
})();
                                    

#16 JavaScript::Eval (size: 420, repeated: 2) - SHA256: f552ad643f20210271cc3f34c6b4ea3f9b0cf27d9916735199ec4517a31c6d3c

                                        (function() {
    var a = document;
    if (!a.referrer) return a.referrer;
    var b = a.domain.split("."),
        d = "_ft" + Date.now() + "ft_",
        f = a.domain,
        c;
    for (c = 2; c < b.length; c++) {
        var e = b.slice(b.length - c).join(".");
        a.cookie = d + "\x3d1;domain\x3d" + e;
        if (-1 !== a.cookie.indexOf(d)) {
            a.cookie = d + "\x3d;expires\x3dThu, 01 Jan 1970 00:00:01 GMT;domain\x3d" + e;
            f = e;
            break
        }
    }
    b = a.createElement("a");
    b.href = a.referrer;
    return -1 !== b.hostname.indexOf(f) ? "" : a.referrer
})();
                                    

#17 JavaScript::Eval (size: 118, repeated: 11) - SHA256: 7d5edb721e5a28c394af956695018667b229d795de425afd51b9c6c91331acfb

                                        (function() {
    var a = navigator.doNotTrack || window.doNotTrack || navigator.msDoNotTrack;
    return "1" === a || 1 === a || "yes" === a
})();
                                    

#18 JavaScript::Eval (size: 68737, repeated: 1) - SHA256: 06ad7312ca2143ed50df0c8ce4669f2291c609bd82ce012f7a420b424f96ec57

                                        (function(e) {
    "use strict";
    var t = e.GreenSockGlobals || e;
    if (!t.TweenLite) {
        var n, r, i, s, o, u = function(e) {
                var n, r = e.split("."),
                    i = t;
                for (n = 0; r.length > n; n++) i[r[n]] = i = i[r[n]] || {};
                return i
            },
            a = u("com.greensock"),
            f = 1e-10,
            l = [].slice,
            c = function() {},
            h = function() {
                var e = Object.prototype.toString,
                    t = e.call([]);
                return function(n) {
                    return n instanceof Array || "object" == typeof n && !!n.push && e.call(n) === t
                }
            }(),
            p = {},
            d = function(n, r, i, s) {
                this.sc = p[n] ? p[n].sc : [], p[n] = this, this.gsClass = null, this.func = i;
                var o = [];
                this.check = function(a) {
                    for (var f, l, c, h, v = r.length, m = v; --v > -1;)(f = p[r[v]] || new d(r[v], [])).gsClass ? (o[v] = f.gsClass, m--) : a && f.sc.push(this);
                    if (0 === m && i)
                        for (l = ("com.greensock." + n).split("."), c = l.pop(), h = u(l.join("."))[c] = this.gsClass = i.apply(i, o), s && (t[c] = h, "function" == typeof define && define.amd ? define((e.GreenSockAMDPath ? e.GreenSockAMDPath + "/" : "") + n.split(".").join("/"), [], function() {
                                return h
                            }) : "undefined" != typeof module && module.exports && (module.exports = h)), v = 0; this.sc.length > v; v++) this.sc[v].check()
                }, this.check(!0)
            },
            v = e._gsDefine = function(e, t, n, r) {
                return new d(e, t, n, r)
            },
            m = a._class = function(e, t, n) {
                return t = t || function() {}, v(e, [], function() {
                    return t
                }, n), t
            };
        v.globals = t;
        var g = [0, 0, 1, 1],
            y = [],
            b = m("easing.Ease", function(e, t, n, r) {
                this._func = e, this._type = n || 0, this._power = r || 0, this._params = t ? g.concat(t) : g
            }, !0),
            w = b.map = {},
            E = b.register = function(e, t, n, r) {
                for (var i, s, o, u, f = t.split(","), l = f.length, c = (n || "easeIn,easeOut,easeInOut").split(","); --l > -1;)
                    for (s = f[l], i = r ? m("easing." + s, null, !0) : a.easing[s] || {}, o = c.length; --o > -1;) u = c[o], w[s + "." + u] = w[u + s] = i[u] = e.getRatio ? e : e[u] || new e
            };
        for (i = b.prototype, i._calcEnd = !1, i.getRatio = function(e) {
                if (this._func) return this._params[0] = e, this._func.apply(null, this._params);
                var t = this._type,
                    n = this._power,
                    r = 1 === t ? 1 - e : 2 === t ? e : .5 > e ? 2 * e : 2 * (1 - e);
                return 1 === n ? r *= r : 2 === n ? r *= r * r : 3 === n ? r *= r * r * r : 4 === n && (r *= r * r * r * r), 1 === t ? 1 - r : 2 === t ? r : .5 > e ? r / 2 : 1 - r / 2
            }, n = ["Linear", "Quad", "Cubic", "Quart", "Quint,Strong"], r = n.length; --r > -1;) i = n[r] + ",Power" + r, E(new b(null, null, 1, r), i, "easeOut", !0), E(new b(null, null, 2, r), i, "easeIn" + (0 === r ? ",easeNone" : "")), E(new b(null, null, 3, r), i, "easeInOut");
        w.linear = a.easing.Linear.easeIn, w.swing = a.easing.Quad.easeInOut;
        var S = m("events.EventDispatcher", function(e) {
            this._listeners = {}, this._eventTarget = e || this
        });
        i = S.prototype, i.addEventListener = function(e, t, n, r, i) {
            i = i || 0;
            var u, a, f = this._listeners[e],
                l = 0;
            for (null == f && (this._listeners[e] = f = []), a = f.length; --a > -1;) u = f[a], u.c === t && u.s === n ? f.splice(a, 1) : 0 === l && i > u.pr && (l = a + 1);
            f.splice(l, 0, {
                c: t,
                s: n,
                up: r,
                pr: i
            }), this !== s || o || s.wake()
        }, i.removeEventListener = function(e, t) {
            var n, r = this._listeners[e];
            if (r)
                for (n = r.length; --n > -1;)
                    if (r[n].c === t) return r.splice(n, 1), void 0
        }, i.dispatchEvent = function(e) {
            var t, n, r, i = this._listeners[e];
            if (i)
                for (t = i.length, n = this._eventTarget; --t > -1;) r = i[t], r.up ? r.c.call(r.s || n, {
                    type: e,
                    target: n
                }) : r.c.call(r.s || n)
        };
        var x = e.requestAnimationFrame,
            T = e.cancelAnimationFrame,
            N = Date.now || function() {
                return (new Date).getTime()
            },
            C = N();
        for (n = ["ms", "moz", "webkit", "o"], r = n.length; --r > -1 && !x;) x = e[n[r] + "RequestAnimationFrame"], T = e[n[r] + "CancelAnimationFrame"] || e[n[r] + "CancelRequestAnimationFrame"];
        m("Ticker", function(e, t) {
            var n, r, i, u, a, f = this,
                l = N(),
                h = t !== !1 && x,
                p = function(e) {
                    C = N(), f.time = (C - l) / 1e3;
                    var t, s = f.time - a;
                    (!n || s > 0 || e === !0) && (f.frame++, a += s + (s >= u ? .004 : u - s), t = !0), e !== !0 && (i = r(p)), t && f.dispatchEvent("tick")
                };
            S.call(f), f.time = f.frame = 0, f.tick = function() {
                p(!0)
            }, f.sleep = function() {
                null != i && (h && T ? T(i) : clearTimeout(i), r = c, i = null, f === s && (o = !1))
            }, f.wake = function() {
                null !== i && f.sleep(), r = 0 === n ? c : h && x ? x : function(e) {
                    return setTimeout(e, 0 | 1e3 * (a - f.time) + 1)
                }, f === s && (o = !0), p(2)
            }, f.fps = function(e) {
                return arguments.length ? (n = e, u = 1 / (n || 60), a = this.time + u, f.wake(), void 0) : n
            }, f.useRAF = function(e) {
                return arguments.length ? (f.sleep(), h = e, f.fps(n), void 0) : h
            }, f.fps(e), setTimeout(function() {
                h && (!i || 5 > f.frame) && f.useRAF(!1)
            }, 1500)
        }), i = a.Ticker.prototype = new a.events.EventDispatcher, i.constructor = a.Ticker;
        var k = m("core.Animation", function(e, t) {
            if (this.vars = t = t || {}, this._duration = this._totalDuration = e || 0, this._delay = Number(t.delay) || 0, this._timeScale = 1, this._active = t.immediateRender === !0, this.data = t.data, this._reversed = t.reversed === !0, q) {
                o || s.wake();
                var n = this.vars.useFrames ? I : q;
                n.add(this, n._time), this.vars.paused && this.paused(!0)
            }
        });
        s = k.ticker = new a.Ticker, i = k.prototype, i._dirty = i._gc = i._initted = i._paused = !1, i._totalTime = i._time = 0, i._rawPrevTime = -1, i._next = i._last = i._onUpdate = i._timeline = i.timeline = null, i._paused = !1;
        var L = function() {
            o && N() - C > 2e3 && s.wake(), setTimeout(L, 2e3)
        };
        L(), i.play = function(e, t) {
            return arguments.length && this.seek(e, t), this.reversed(!1).paused(!1)
        }, i.pause = function(e, t) {
            return arguments.length && this.seek(e, t), this.paused(!0)
        }, i.resume = function(e, t) {
            return arguments.length && this.seek(e, t), this.paused(!1)
        }, i.seek = function(e, t) {
            return this.totalTime(Number(e), t !== !1)
        }, i.restart = function(e, t) {
            return this.reversed(!1).paused(!1).totalTime(e ? -this._delay : 0, t !== !1, !0)
        }, i.reverse = function(e, t) {
            return arguments.length && this.seek(e || this.totalDuration(), t), this.reversed(!0).paused(!1)
        }, i.render = function() {}, i.invalidate = function() {
            return this
        }, i.isActive = function() {
            var e, t = this._timeline,
                n = this._startTime;
            return !t || !this._gc && !this._paused && t.isActive() && (e = t.rawTime()) >= n && n + this.totalDuration() / this._timeScale > e
        }, i._enabled = function(e, t) {
            return o || s.wake(), this._gc = !e, this._active = this.isActive(), t !== !0 && (e && !this.timeline ? this._timeline.add(this, this._startTime - this._delay) : !e && this.timeline && this._timeline._remove(this, !0)), !1
        }, i._kill = function() {
            return this._enabled(!1, !1)
        }, i.kill = function(e, t) {
            return this._kill(e, t), this
        }, i._uncache = function(e) {
            for (var t = e ? this : this.timeline; t;) t._dirty = !0, t = t.timeline;
            return this
        }, i._swapSelfInParams = function(e) {
            for (var t = e.length, n = e.concat(); --t > -1;) "{self}" === e[t] && (n[t] = this);
            return n
        }, i.eventCallback = function(e, t, n, r) {
            if ("on" === (e || "").substr(0, 2)) {
                var i = this.vars;
                if (1 === arguments.length) return i[e];
                null == t ? delete i[e] : (i[e] = t, i[e + "Params"] = h(n) && -1 !== n.join("").indexOf("{self}") ? this._swapSelfInParams(n) : n, i[e + "Scope"] = r), "onUpdate" === e && (this._onUpdate = t)
            }
            return this
        }, i.delay = function(e) {
            return arguments.length ? (this._timeline.smoothChildTiming && this.startTime(this._startTime + e - this._delay), this._delay = e, this) : this._delay
        }, i.duration = function(e) {
            return arguments.length ? (this._duration = this._totalDuration = e, this._uncache(!0), this._timeline.smoothChildTiming && this._time > 0 && this._time < this._duration && 0 !== e && this.totalTime(this._totalTime * (e / this._duration), !0), this) : (this._dirty = !1, this._duration)
        }, i.totalDuration = function(e) {
            return this._dirty = !1, arguments.length ? this.duration(e) : this._totalDuration
        }, i.time = function(e, t) {
            return arguments.length ? (this._dirty && this.totalDuration(), this.totalTime(e > this._duration ? this._duration : e, t)) : this._time
        }, i.totalTime = function(e, t, n) {
            if (o || s.wake(), !arguments.length) return this._totalTime;
            if (this._timeline) {
                if (0 > e && !n && (e += this.totalDuration()), this._timeline.smoothChildTiming) {
                    this._dirty && this.totalDuration();
                    var r = this._totalDuration,
                        i = this._timeline;
                    if (e > r && !n && (e = r), this._startTime = (this._paused ? this._pauseTime : i._time) - (this._reversed ? r - e : e) / this._timeScale, i._dirty || this._uncache(!1), i._timeline)
                        for (; i._timeline;) i._timeline._time !== (i._startTime + i._totalTime) / i._timeScale && i.totalTime(i._totalTime, !0), i = i._timeline
                }
                this._gc && this._enabled(!0, !1), (this._totalTime !== e || 0 === this._duration) && this.render(e, t, !1)
            }
            return this
        }, i.progress = i.totalProgress = function(e, t) {
            return arguments.length ? this.totalTime(this.duration() * e, t) : this._time / this.duration()
        }, i.startTime = function(e) {
            return arguments.length ? (e !== this._startTime && (this._startTime = e, this.timeline && this.timeline._sortChildren && this.timeline.add(this, e - this._delay)), this) : this._startTime
        }, i.timeScale = function(e) {
            if (!arguments.length) return this._timeScale;
            if (e = e || f, this._timeline && this._timeline.smoothChildTiming) {
                var t = this._pauseTime,
                    n = t || 0 === t ? t : this._timeline.totalTime();
                this._startTime = n - (n - this._startTime) * this._timeScale / e
            }
            return this._timeScale = e, this._uncache(!1)
        }, i.reversed = function(e) {
            return arguments.length ? (e != this._reversed && (this._reversed = e, this.totalTime(this._totalTime, !0)), this) : this._reversed
        }, i.paused = function(e) {
            if (!arguments.length) return this._paused;
            if (e != this._paused && this._timeline) {
                o || e || s.wake();
                var t = this._timeline,
                    n = t.rawTime(),
                    r = n - this._pauseTime;
                !e && t.smoothChildTiming && (this._startTime += r, this._uncache(!1)), this._pauseTime = e ? n : null, this._paused = e, this._active = this.isActive(), !e && 0 !== r && this._initted && this.duration() && this.render(t.smoothChildTiming ? this._totalTime : (n - this._startTime) / this._timeScale, !0, !0)
            }
            return this._gc && !e && this._enabled(!0, !1), this
        };
        var A = m("core.SimpleTimeline", function(e) {
            k.call(this, 0, e), this.autoRemoveChildren = this.smoothChildTiming = !0
        });
        i = A.prototype = new k, i.constructor = A, i.kill()._gc = !1, i._first = i._last = null, i._sortChildren = !1, i.add = i.insert = function(e, t) {
            var n, r;
            if (e._startTime = Number(t || 0) + e._delay, e._paused && this !== e._timeline && (e._pauseTime = e._startTime + (this.rawTime() - e._startTime) / e._timeScale), e.timeline && e.timeline._remove(e, !0), e.timeline = e._timeline = this, e._gc && e._enabled(!0, !0), n = this._last, this._sortChildren)
                for (r = e._startTime; n && n._startTime > r;) n = n._prev;
            return n ? (e._next = n._next, n._next = e) : (e._next = this._first, this._first = e), e._next ? e._next._prev = e : this._last = e, e._prev = n, this._timeline && this._uncache(!0), this
        }, i._remove = function(e, t) {
            return e.timeline === this && (t || e._enabled(!1, !0), e.timeline = null, e._prev ? e._prev._next = e._next : this._first === e && (this._first = e._next), e._next ? e._next._prev = e._prev : this._last === e && (this._last = e._prev), this._timeline && this._uncache(!0)), this
        }, i.render = function(e, t, n) {
            var r, i = this._first;
            for (this._totalTime = this._time = this._rawPrevTime = e; i;) r = i._next, (i._active || e >= i._startTime && !i._paused) && (i._reversed ? i.render((i._dirty ? i.totalDuration() : i._totalDuration) - (e - i._startTime) * i._timeScale, t, n) : i.render((e - i._startTime) * i._timeScale, t, n)), i = r
        }, i.rawTime = function() {
            return o || s.wake(), this._totalTime
        };
        var O = m("TweenLite", function(t, n, r) {
                if (k.call(this, n, r), this.render = O.prototype.render, null == t) throw "Cannot tween a null target.";
                this.target = t = "string" != typeof t ? t : O.selector(t) || t;
                var i, s, o, u = t.jquery || t.length && t !== e && t[0] && (t[0] === e || t[0].nodeType && t[0].style && !t.nodeType),
                    a = this.vars.overwrite;
                if (this._overwrite = a = null == a ? F[O.defaultOverwrite] : "number" == typeof a ? a >> 0 : F[a], (u || t instanceof Array || t.push && h(t)) && "number" != typeof t[0])
                    for (this._targets = o = l.call(t, 0), this._propLookup = [], this._siblings = [], i = 0; o.length > i; i++) s = o[i], s ? "string" != typeof s ? s.length && s !== e && s[0] && (s[0] === e || s[0].nodeType && s[0].style && !s.nodeType) ? (o.splice(i--, 1), this._targets = o = o.concat(l.call(s, 0))) : (this._siblings[i] = R(s, this, !1), 1 === a && this._siblings[i].length > 1 && U(s, this, null, 1, this._siblings[i])) : (s = o[i--] = O.selector(s), "string" == typeof s && o.splice(i + 1, 1)) : o.splice(i--, 1);
                else this._propLookup = {}, this._siblings = R(t, this, !1), 1 === a && this._siblings.length > 1 && U(t, this, null, 1, this._siblings);
                (this.vars.immediateRender || 0 === n && 0 === this._delay && this.vars.immediateRender !== !1) && this.render(-this._delay, !1, !0)
            }, !0),
            M = function(t) {
                return t.length && t !== e && t[0] && (t[0] === e || t[0].nodeType && t[0].style && !t.nodeType)
            },
            _ = function(e, t) {
                var n, r = {};
                for (n in e) j[n] || n in t && "x" !== n && "y" !== n && "width" !== n && "height" !== n && "className" !== n && "border" !== n || !(!P[n] || P[n] && P[n]._autoCSS) || (r[n] = e[n], delete e[n]);
                e.css = r
            };
        i = O.prototype = new k, i.constructor = O, i.kill()._gc = !1, i.ratio = 0, i._firstPT = i._targets = i._overwrittenProps = i._startAt = null, i._notifyPluginsOfEnabled = !1, O.version = "1.11.2", O.defaultEase = i._ease = new b(null, null, 1, 1), O.defaultOverwrite = "auto", O.ticker = s, O.autoSleep = !0, O.selector = e.$ || e.jQuery || function(t) {
            return e.$ ? (O.selector = e.$, e.$(t)) : e.document ? e.document.getElementById("#" === t.charAt(0) ? t.substr(1) : t) : t
        };
        var D = O._internals = {
                isArray: h,
                isSelector: M
            },
            P = O._plugins = {},
            H = O._tweenLookup = {},
            B = 0,
            j = D.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
            },
            F = {
                none: 0,
                all: 1,
                auto: 2,
                concurrent: 3,
                allOnStart: 4,
                preexisting: 5,
                "true": 1,
                "false": 0
            },
            I = k._rootFramesTimeline = new A,
            q = k._rootTimeline = new A;
        q._startTime = s.time, I._startTime = s.frame, q._active = I._active = !0, k._updateRoot = function() {
            if (q.render((s.time - q._startTime) * q._timeScale, !1, !1), I.render((s.frame - I._startTime) * I._timeScale, !1, !1), !(s.frame % 120)) {
                var e, t, n;
                for (n in H) {
                    for (t = H[n].tweens, e = t.length; --e > -1;) t[e]._gc && t.splice(e, 1);
                    0 === t.length && delete H[n]
                }
                if (n = q._first, (!n || n._paused) && O.autoSleep && !I._first && 1 === s._listeners.tick.length) {
                    for (; n && n._paused;) n = n._next;
                    n || s.sleep()
                }
            }
        }, s.addEventListener("tick", k._updateRoot);
        var R = function(e, t, n) {
                var r, i, s = e._gsTweenID;
                if (H[s || (e._gsTweenID = s = "t" + B++)] || (H[s] = {
                        target: e,
                        tweens: []
                    }), t && (r = H[s].tweens, r[i = r.length] = t, n))
                    for (; --i > -1;) r[i] === t && r.splice(i, 1);
                return H[s].tweens
            },
            U = function(e, t, n, r, i) {
                var s, o, u, a;
                if (1 === r || r >= 4) {
                    for (a = i.length, s = 0; a > s; s++)
                        if ((u = i[s]) !== t) u._gc || u._enabled(!1, !1) && (o = !0);
                        else if (5 === r) break;
                    return o
                }
                var l, c = t._startTime + f,
                    h = [],
                    p = 0,
                    d = 0 === t._duration;
                for (s = i.length; --s > -1;)(u = i[s]) === t || u._gc || u._paused || (u._timeline !== t._timeline ? (l = l || z(t, 0, d), 0 === z(u, l, d) && (h[p++] = u)) : c >= u._startTime && u._startTime + u.totalDuration() / u._timeScale + f > c && ((d || !u._initted) && 2e-10 >= c - u._startTime || (h[p++] = u)));
                for (s = p; --s > -1;) u = h[s], 2 === r && u._kill(n, e) && (o = !0), (2 !== r || !u._firstPT && u._initted) && u._enabled(!1, !1) && (o = !0);
                return o
            },
            z = function(e, t, n) {
                for (var r = e._timeline, i = r._timeScale, s = e._startTime; r._timeline;) {
                    if (s += r._startTime, i *= r._timeScale, r._paused) return -100;
                    r = r._timeline
                }
                return s /= i, s > t ? s - t : n && s === t || !e._initted && 2 * f > s - t ? f : (s += e.totalDuration() / e._timeScale / i) > t + f ? 0 : s - t - f
            };
        i._init = function() {
            var e, t, n, r, i = this.vars,
                s = this._overwrittenProps,
                o = this._duration,
                u = i.immediateRender,
                a = i.ease;
            if (i.startAt) {
                if (this._startAt && this._startAt.render(-1, !0), i.startAt.overwrite = 0, i.startAt.immediateRender = !0, this._startAt = O.to(this.target, 0, i.startAt), u)
                    if (this._time > 0) this._startAt = null;
                    else if (0 !== o) return
            } else if (i.runBackwards && 0 !== o)
                if (this._startAt) this._startAt.render(-1, !0), this._startAt = null;
                else {
                    n = {};
                    for (r in i) j[r] && "autoCSS" !== r || (n[r] = i[r]);
                    if (n.overwrite = 0, n.data = "isFromStart", this._startAt = O.to(this.target, 0, n), i.immediateRender) {
                        if (0 === this._time) return
                    } else this._startAt.render(-1, !0)
                }
            if (this._ease = a ? a instanceof b ? i.easeParams instanceof Array ? a.config.apply(a, i.easeParams) : a : "function" == typeof a ? new b(a, i.easeParams) : w[a] || O.defaultEase : O.defaultEase, this._easeType = this._ease._type, this._easePower = this._ease._power, this._firstPT = null, this._targets)
                for (e = this._targets.length; --e > -1;) this._initProps(this._targets[e], this._propLookup[e] = {}, this._siblings[e], s ? s[e] : null) && (t = !0);
            else t = this._initProps(this.target, this._propLookup, this._siblings, s);
            if (t && O._onPluginEvent("_onInitAllProps", this), s && (this._firstPT || "function" != typeof this.target && this._enabled(!1, !1)), i.runBackwards)
                for (n = this._firstPT; n;) n.s += n.c, n.c = -n.c, n = n._next;
            this._onUpdate = i.onUpdate, this._initted = !0
        }, i._initProps = function(t, n, r, i) {
            var s, o, u, a, f, l;
            if (null == t) return !1;
            this.vars.css || t.style && t !== e && t.nodeType && P.css && this.vars.autoCSS !== !1 && _(this.vars, t);
            for (s in this.vars) {
                if (l = this.vars[s], j[s]) l && (l instanceof Array || l.push && h(l)) && -1 !== l.join("").indexOf("{self}") && (this.vars[s] = l = this._swapSelfInParams(l, this));
                else if (P[s] && (a = new P[s])._onInitTween(t, this.vars[s], this)) {
                    for (this._firstPT = f = {
                            _next: this._firstPT,
                            t: a,
                            p: "setRatio",
                            s: 0,
                            c: 1,
                            f: !0,
                            n: s,
                            pg: !0,
                            pr: a._priority
                        }, o = a._overwriteProps.length; --o > -1;) n[a._overwriteProps[o]] = this._firstPT;
                    (a._priority || a._onInitAllProps) && (u = !0), (a._onDisable || a._onEnable) && (this._notifyPluginsOfEnabled = !0)
                } else this._firstPT = n[s] = f = {
                    _next: this._firstPT,
                    t: t,
                    p: s,
                    f: "function" == typeof t[s],
                    n: s,
                    pg: !1,
                    pr: 0
                }, f.s = f.f ? t[s.indexOf("set") || "function" != typeof t["get" + s.substr(3)] ? s : "get" + s.substr(3)]() : parseFloat(t[s]), f.c = "string" == typeof l && "=" === l.charAt(1) ? parseInt(l.charAt(0) + "1", 10) * Number(l.substr(2)) : Number(l) - f.s || 0;
                f && f._next && (f._next._prev = f)
            }
            return i && this._kill(i, t) ? this._initProps(t, n, r, i) : this._overwrite > 1 && this._firstPT && r.length > 1 && U(t, this, n, this._overwrite, r) ? (this._kill(n, t), this._initProps(t, n, r, i)) : u
        }, i.render = function(e, t, n) {
            var r, i, s, o, u = this._time,
                a = this._duration;
            if (e >= a) this._totalTime = this._time = a, this.ratio = this._ease._calcEnd ? this._ease.getRatio(1) : 1, this._reversed || (r = !0, i = "onComplete"), 0 === a && (o = this._rawPrevTime, (0 === e || 0 > o || o === f) && o !== e && (n = !0, o > f && (i = "onReverseComplete")), this._rawPrevTime = o = !t || e ? e : f);
            else if (1e-7 > e) this._totalTime = this._time = 0, this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0, (0 !== u || 0 === a && this._rawPrevTime > f) && (i = "onReverseComplete", r = this._reversed), 0 > e ? (this._active = !1, 0 === a && (this._rawPrevTime >= 0 && (n = !0), this._rawPrevTime = o = !t || e ? e : f)) : this._initted || (n = !0);
            else if (this._totalTime = this._time = e, this._easeType) {
                var l = e / a,
                    c = this._easeType,
                    h = this._easePower;
                (1 === c || 3 === c && l >= .5) && (l = 1 - l), 3 === c && (l *= 2), 1 === h ? l *= l : 2 === h ? l *= l * l : 3 === h ? l *= l * l * l : 4 === h && (l *= l * l * l * l), this.ratio = 1 === c ? 1 - l : 2 === c ? l : .5 > e / a ? l / 2 : 1 - l / 2
            } else this.ratio = this._ease.getRatio(e / a);
            if (this._time !== u || n) {
                if (!this._initted) {
                    if (this._init(), !this._initted || this._gc) return;
                    this._time && !r ? this.ratio = this._ease.getRatio(this._time / a) : r && this._ease._calcEnd && (this.ratio = this._ease.getRatio(0 === this._time ? 0 : 1))
                }
                for (this._active || !this._paused && this._time !== u && e >= 0 && (this._active = !0), 0 === u && (this._startAt && (e >= 0 ? this._startAt.render(e, t, n) : i || (i = "_dummyGS")), this.vars.onStart && (0 !== this._time || 0 === a) && (t || this.vars.onStart.apply(this.vars.onStartScope || this, this.vars.onStartParams || y))), s = this._firstPT; s;) s.f ? s.t[s.p](s.c * this.ratio + s.s) : s.t[s.p] = s.c * this.ratio + s.s, s = s._next;
                this._onUpdate && (0 > e && this._startAt && this._startTime && this._startAt.render(e, t, n), t || n && 0 === this._time && 0 === u || this._onUpdate.apply(this.vars.onUpdateScope || this, this.vars.onUpdateParams || y)), i && (this._gc || (0 > e && this._startAt && !this._onUpdate && this._startTime && this._startAt.render(e, t, n), r && (this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !t && this.vars[i] && this.vars[i].apply(this.vars[i + "Scope"] || this, this.vars[i + "Params"] || y), 0 === a && this._rawPrevTime === f && o !== f && (this._rawPrevTime = 0)))
            }
        }, i._kill = function(e, t) {
            if ("all" === e && (e = null), null == e && (null == t || t === this.target)) return this._enabled(!1, !1);
            t = "string" != typeof t ? t || this._targets || this.target : O.selector(t) || t;
            var n, r, i, s, o, u, a, f;
            if ((h(t) || M(t)) && "number" != typeof t[0])
                for (n = t.length; --n > -1;) this._kill(e, t[n]) && (u = !0);
            else {
                if (this._targets) {
                    for (n = this._targets.length; --n > -1;)
                        if (t === this._targets[n]) {
                            o = this._propLookup[n] || {}, this._overwrittenProps = this._overwrittenProps || [], r = this._overwrittenProps[n] = e ? this._overwrittenProps[n] || {} : "all";
                            break
                        }
                } else {
                    if (t !== this.target) return !1;
                    o = this._propLookup, r = this._overwrittenProps = e ? this._overwrittenProps || {} : "all"
                }
                if (o) {
                    a = e || o, f = e !== r && "all" !== r && e !== o && ("object" != typeof e || !e._tempKill);
                    for (i in a)(s = o[i]) && (s.pg && s.t._kill(a) && (u = !0), s.pg && 0 !== s.t._overwriteProps.length || (s._prev ? s._prev._next = s._next : s === this._firstPT && (this._firstPT = s._next), s._next && (s._next._prev = s._prev), s._next = s._prev = null), delete o[i]), f && (r[i] = 1);
                    !this._firstPT && this._initted && this._enabled(!1, !1)
                }
            }
            return u
        }, i.invalidate = function() {
            return this._notifyPluginsOfEnabled && O._onPluginEvent("_onDisable", this), this._firstPT = null, this._overwrittenProps = null, this._onUpdate = null, this._startAt = null, this._initted = this._active = this._notifyPluginsOfEnabled = !1, this._propLookup = this._targets ? {} : [], this
        }, i._enabled = function(e, t) {
            if (o || s.wake(), e && this._gc) {
                var n, r = this._targets;
                if (r)
                    for (n = r.length; --n > -1;) this._siblings[n] = R(r[n], this, !0);
                else this._siblings = R(this.target, this, !0)
            }
            return k.prototype._enabled.call(this, e, t), this._notifyPluginsOfEnabled && this._firstPT ? O._onPluginEvent(e ? "_onEnable" : "_onDisable", this) : !1
        }, O.to = function(e, t, n) {
            return new O(e, t, n)
        }, O.from = function(e, t, n) {
            return n.runBackwards = !0, n.immediateRender = 0 != n.immediateRender, new O(e, t, n)
        }, O.fromTo = function(e, t, n, r) {
            return r.startAt = n, r.immediateRender = 0 != r.immediateRender && 0 != n.immediateRender, new O(e, t, r)
        }, O.delayedCall = function(e, t, n, r, i) {
            return new O(t, 0, {
                delay: e,
                onComplete: t,
                onCompleteParams: n,
                onCompleteScope: r,
                onReverseComplete: t,
                onReverseCompleteParams: n,
                onReverseCompleteScope: r,
                immediateRender: !1,
                useFrames: i,
                overwrite: 0
            })
        }, O.set = function(e, t) {
            return new O(e, 0, t)
        }, O.getTweensOf = function(e, t) {
            if (null == e) return [];
            e = "string" != typeof e ? e : O.selector(e) || e;
            var n, r, i, s;
            if ((h(e) || M(e)) && "number" != typeof e[0]) {
                for (n = e.length, r = []; --n > -1;) r = r.concat(O.getTweensOf(e[n], t));
                for (n = r.length; --n > -1;)
                    for (s = r[n], i = n; --i > -1;) s === r[i] && r.splice(n, 1)
            } else
                for (r = R(e).concat(), n = r.length; --n > -1;)(r[n]._gc || t && !r[n].isActive()) && r.splice(n, 1);
            return r
        }, O.killTweensOf = O.killDelayedCallsTo = function(e, t, n) {
            "object" == typeof t && (n = t, t = !1);
            for (var r = O.getTweensOf(e, t), i = r.length; --i > -1;) r[i]._kill(n, e)
        };
        var W = m("plugins.TweenPlugin", function(e, t) {
            this._overwriteProps = (e || "").split(","), this._propName = this._overwriteProps[0], this._priority = t || 0, this._super = W.prototype
        }, !0);
        if (i = W.prototype, W.version = "1.10.1", W.API = 2, i._firstPT = null, i._addTween = function(e, t, n, r, i, s) {
                var o, u;
                return null != r && (o = "number" == typeof r || "=" !== r.charAt(1) ? Number(r) - n : parseInt(r.charAt(0) + "1", 10) * Number(r.substr(2))) ? (this._firstPT = u = {
                    _next: this._firstPT,
                    t: e,
                    p: t,
                    s: n,
                    c: o,
                    f: "function" == typeof e[t],
                    n: i || t,
                    r: s
                }, u._next && (u._next._prev = u), u) : void 0
            }, i.setRatio = function(e) {
                for (var t, n = this._firstPT, r = 1e-6; n;) t = n.c * e + n.s, n.r ? t = 0 | t + (t > 0 ? .5 : -.5) : r > t && t > -r && (t = 0), n.f ? n.t[n.p](t) : n.t[n.p] = t, n = n._next
            }, i._kill = function(e) {
                var t, n = this._overwriteProps,
                    r = this._firstPT;
                if (null != e[this._propName]) this._overwriteProps = [];
                else
                    for (t = n.length; --t > -1;) null != e[n[t]] && n.splice(t, 1);
                for (; r;) null != e[r.n] && (r._next && (r._next._prev = r._prev), r._prev ? (r._prev._next = r._next, r._prev = null) : this._firstPT === r && (this._firstPT = r._next)), r = r._next;
                return !1
            }, i._roundProps = function(e, t) {
                for (var n = this._firstPT; n;)(e[this._propName] || null != n.n && e[n.n.split(this._propName + "_").join("")]) && (n.r = t), n = n._next
            }, O._onPluginEvent = function(e, t) {
                var n, r, i, s, o, u = t._firstPT;
                if ("_onInitAllProps" === e) {
                    for (; u;) {
                        for (o = u._next, r = i; r && r.pr > u.pr;) r = r._next;
                        (u._prev = r ? r._prev : s) ? u._prev._next = u: i = u, (u._next = r) ? r._prev = u : s = u, u = o
                    }
                    u = t._firstPT = i
                }
                for (; u;) u.pg && "function" == typeof u.t[e] && u.t[e]() && (n = !0), u = u._next;
                return n
            }, W.activate = function(e) {
                for (var t = e.length; --t > -1;) e[t].API === W.API && (P[(new e[t])._propName] = e[t]);
                return !0
            }, v.plugin = function(e) {
                if (!(e && e.propName && e.init && e.API)) throw "illegal plugin definition.";
                var t, n = e.propName,
                    r = e.priority || 0,
                    i = e.overwriteProps,
                    s = {
                        init: "_onInitTween",
                        set: "setRatio",
                        kill: "_kill",
                        round: "_roundProps",
                        initAll: "_onInitAllProps"
                    },
                    o = m("plugins." + n.charAt(0).toUpperCase() + n.substr(1) + "Plugin", function() {
                        W.call(this, n, r), this._overwriteProps = i || []
                    }, e.global === !0),
                    u = o.prototype = new W(n);
                u.constructor = o, o.API = e.API;
                for (t in s) "function" == typeof e[t] && (u[s[t]] = e[t]);
                return o.version = e.version, W.activate([o]), o
            }, n = e._gsQueue) {
            for (r = 0; n.length > r; r++) n[r]();
            for (i in p) p[i].func || e.console.log("GSAP encountered missing dependency: com.greensock." + i)
        }
        o = !1
    }
})(window);
(window._gsQueue || (window._gsQueue = [])).push(function() {
    "use strict";
    window._gsDefine("TimelineLite", ["core.Animation", "core.SimpleTimeline", "TweenLite"], function(e, t, n) {
        var r = function(e) {
                t.call(this, e), this._labels = {}, this.autoRemoveChildren = this.vars.autoRemoveChildren === !0, this.smoothChildTiming = this.vars.smoothChildTiming === !0, this._sortChildren = !0, this._onUpdate = this.vars.onUpdate;
                var n, r, i = this.vars;
                for (r in i) n = i[r], o(n) && -1 !== n.join("").indexOf("{self}") && (i[r] = this._swapSelfInParams(n));
                o(i.tweens) && this.add(i.tweens, 0, i.align, i.stagger)
            },
            i = 1e-10,
            s = n._internals.isSelector,
            o = n._internals.isArray,
            u = [],
            a = function(e) {
                var t, n = {};
                for (t in e) n[t] = e[t];
                return n
            },
            f = function(e, t, n, r) {
                e._timeline.pause(e._startTime), t && t.apply(r || e._timeline, n || u)
            },
            l = u.slice,
            c = r.prototype = new t;
        return r.version = "1.11.0", c.constructor = r, c.kill()._gc = !1, c.to = function(e, t, r, i) {
            return t ? this.add(new n(e, t, r), i) : this.set(e, r, i)
        }, c.from = function(e, t, r, i) {
            return this.add(n.from(e, t, r), i)
        }, c.fromTo = function(e, t, r, i, s) {
            return t ? this.add(n.fromTo(e, t, r, i), s) : this.set(e, i, s)
        }, c.staggerTo = function(e, t, i, o, u, f, c, p) {
            var d, v = new r({
                onComplete: f,
                onCompleteParams: c,
                onCompleteScope: p
            });
            for ("string" == typeof e && (e = n.selector(e) || e), s(e) && (e = l.call(e, 0)), o = o || 0, d = 0; e.length > d; d++) i.startAt && (i.startAt = a(i.startAt)), v.to(e[d], t, a(i), d * o);
            return this.add(v, u)
        }, c.staggerFrom = function(e, t, n, r, i, s, o, u) {
            return n.immediateRender = 0 != n.immediateRender, n.runBackwards = !0, this.staggerTo(e, t, n, r, i, s, o, u)
        }, c.staggerFromTo = function(e, t, n, r, i, s, o, u, a) {
            return r.startAt = n, r.immediateRender = 0 != r.immediateRender && 0 != n.immediateRender, this.staggerTo(e, t, r, i, s, o, u, a)
        }, c.call = function(e, t, r, i) {
            return this.add(n.delayedCall(0, e, t, r), i)
        }, c.set = function(e, t, r) {
            return r = this._parseTimeOrLabel(r, 0, !0), null == t.immediateRender && (t.immediateRender = r === this._time && !this._paused), this.add(new n(e, 0, t), r)
        }, r.exportRoot = function(e, t) {
            e = e || {}, null == e.smoothChildTiming && (e.smoothChildTiming = !0);
            var i, s, o = new r(e),
                u = o._timeline;
            for (null == t && (t = !0), u._remove(o, !0), o._startTime = 0, o._rawPrevTime = o._time = o._totalTime = u._time, i = u._first; i;) s = i._next, t && i instanceof n && i.target === i.vars.onComplete || o.add(i, i._startTime - i._delay), i = s;
            return u.add(o, 0), o
        }, c.add = function(i, s, u, a) {
            var f, l, c, h, p, d;
            if ("number" != typeof s && (s = this._parseTimeOrLabel(s, 0, !0, i)), !(i instanceof e)) {
                if (i instanceof Array || i && i.push && o(i)) {
                    for (u = u || "normal", a = a || 0, f = s, l = i.length, c = 0; l > c; c++) o(h = i[c]) && (h = new r({
                        tweens: h
                    })), this.add(h, f), "string" != typeof h && "function" != typeof h && ("sequence" === u ? f = h._startTime + h.totalDuration() / h._timeScale : "start" === u && (h._startTime -= h.delay())), f += a;
                    return this._uncache(!0)
                }
                if ("string" == typeof i) return this.addLabel(i, s);
                if ("function" != typeof i) throw "Cannot add " + i + " into the timeline; it is not a tween, timeline, function, or string.";
                i = n.delayedCall(0, i)
            }
            if (t.prototype.add.call(this, i, s), this._gc && !this._paused && this._duration < this.duration())
                for (p = this, d = p.rawTime() > i._startTime; p._gc && p._timeline;) p._timeline.smoothChildTiming && d ? p.totalTime(p._totalTime, !0) : p._enabled(!0, !1), p = p._timeline;
            return this
        }, c.remove = function(t) {
            if (t instanceof e) return this._remove(t, !1);
            if (t instanceof Array || t && t.push && o(t)) {
                for (var n = t.length; --n > -1;) this.remove(t[n]);
                return this
            }
            return "string" == typeof t ? this.removeLabel(t) : this.kill(null, t)
        }, c._remove = function(e, n) {
            t.prototype._remove.call(this, e, n);
            var r = this._last;
            return r ? this._time > r._startTime + r._totalDuration / r._timeScale && (this._time = this.duration(), this._totalTime = this._totalDuration) : this._time = this._totalTime = 0, this
        }, c.append = function(e, t) {
            return this.add(e, this._parseTimeOrLabel(null, t, !0, e))
        }, c.insert = c.insertMultiple = function(e, t, n, r) {
            return this.add(e, t || 0, n, r)
        }, c.appendMultiple = function(e, t, n, r) {
            return this.add(e, this._parseTimeOrLabel(null, t, !0, e), n, r)
        }, c.addLabel = function(e, t) {
            return this._labels[e] = this._parseTimeOrLabel(t), this
        }, c.addPause = function(e, t, n, r) {
            return this.call(f, ["{self}", t, n, r], this, e)
        }, c.removeLabel = function(e) {
            return delete this._labels[e], this
        }, c.getLabelTime = function(e) {
            return null != this._labels[e] ? this._labels[e] : -1
        }, c._parseTimeOrLabel = function(t, n, r, i) {
            var s;
            if (i instanceof e && i.timeline === this) this.remove(i);
            else if (i && (i instanceof Array || i.push && o(i)))
                for (s = i.length; --s > -1;) i[s] instanceof e && i[s].timeline === this && this.remove(i[s]);
            if ("string" == typeof n) return this._parseTimeOrLabel(n, r && "number" == typeof t && null == this._labels[n] ? t - this.duration() : 0, r);
            if (n = n || 0, "string" != typeof t || !isNaN(t) && null == this._labels[t]) null == t && (t = this.duration());
            else {
                if (s = t.indexOf("="), -1 === s) return null == this._labels[t] ? r ? this._labels[t] = this.duration() + n : n : this._labels[t] + n;
                n = parseInt(t.charAt(s - 1) + "1", 10) * Number(t.substr(s + 1)), t = s > 1 ? this._parseTimeOrLabel(t.substr(0, s - 1), 0, r) : this.duration()
            }
            return Number(t) + n
        }, c.seek = function(e, t) {
            return this.totalTime("number" == typeof e ? e : this._parseTimeOrLabel(e), t !== !1)
        }, c.stop = function() {
            return this.paused(!0)
        }, c.gotoAndPlay = function(e, t) {
            return this.play(e, t)
        }, c.gotoAndStop = function(e, t) {
            return this.pause(e, t)
        }, c.render = function(e, t, n) {
            this._gc && this._enabled(!0, !1);
            var r, s, o, a, f, l = this._dirty ? this.totalDuration() : this._totalDuration,
                c = this._time,
                h = this._startTime,
                p = this._timeScale,
                d = this._paused;
            if (e >= l ? (this._totalTime = this._time = l, this._reversed || this._hasPausedChild() || (s = !0, a = "onComplete", 0 === this._duration && (0 === e || 0 > this._rawPrevTime || this._rawPrevTime === i) && this._rawPrevTime !== e && this._first && (f = !0, this._rawPrevTime > i && (a = "onReverseComplete"))), this._rawPrevTime = this._duration || !t || e ? e : i, e = l + 1e-6) : 1e-7 > e ? (this._totalTime = this._time = 0, (0 !== c || 0 === this._duration && (this._rawPrevTime > i || 0 > e && this._rawPrevTime >= 0)) && (a = "onReverseComplete", s = this._reversed), 0 > e ? (this._active = !1, 0 === this._duration && this._rawPrevTime >= 0 && this._first && (f = !0), this._rawPrevTime = e) : (this._rawPrevTime = this._duration || !t || e ? e : i, e = 0, this._initted || (f = !0))) : this._totalTime = this._time = this._rawPrevTime = e, this._time !== c && this._first || n || f) {
                if (this._initted || (this._initted = !0), this._active || !this._paused && this._time !== c && e > 0 && (this._active = !0), 0 === c && this.vars.onStart && 0 !== this._time && (t || this.vars.onStart.apply(this.vars.onStartScope || this, this.vars.onStartParams || u)), this._time >= c)
                    for (r = this._first; r && (o = r._next, !this._paused || d);)(r._active || r._startTime <= this._time && !r._paused && !r._gc) && (r._reversed ? r.render((r._dirty ? r.totalDuration() : r._totalDuration) - (e - r._startTime) * r._timeScale, t, n) : r.render((e - r._startTime) * r._timeScale, t, n)), r = o;
                else
                    for (r = this._last; r && (o = r._prev, !this._paused || d);)(r._active || c >= r._startTime && !r._paused && !r._gc) && (r._reversed ? r.render((r._dirty ? r.totalDuration() : r._totalDuration) - (e - r._startTime) * r._timeScale, t, n) : r.render((e - r._startTime) * r._timeScale, t, n)), r = o;
                this._onUpdate && (t || this._onUpdate.apply(this.vars.onUpdateScope || this, this.vars.onUpdateParams || u)), a && (this._gc || (h === this._startTime || p !== this._timeScale) && (0 === this._time || l >= this.totalDuration()) && (s && (this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !t && this.vars[a] && this.vars[a].apply(this.vars[a + "Scope"] || this, this.vars[a + "Params"] || u)))
            }
        }, c._hasPausedChild = function() {
            for (var e = this._first; e;) {
                if (e._paused || e instanceof r && e._hasPausedChild()) return !0;
                e = e._next
            }
            return !1
        }, c.getChildren = function(e, t, r, i) {
            i = i || -9999999999;
            for (var s = [], o = this._first, u = 0; o;) i > o._startTime || (o instanceof n ? t !== !1 && (s[u++] = o) : (r !== !1 && (s[u++] = o), e !== !1 && (s = s.concat(o.getChildren(!0, t, r)), u = s.length))), o = o._next;
            return s
        }, c.getTweensOf = function(e, t) {
            for (var r = n.getTweensOf(e), i = r.length, s = [], o = 0; --i > -1;)(r[i].timeline === this || t && this._contains(r[i])) && (s[o++] = r[i]);
            return s
        }, c._contains = function(e) {
            for (var t = e.timeline; t;) {
                if (t === this) return !0;
                t = t.timeline
            }
            return !1
        }, c.shiftChildren = function(e, t, n) {
            n = n || 0;
            for (var r, i = this._first, s = this._labels; i;) i._startTime >= n && (i._startTime += e), i = i._next;
            if (t)
                for (r in s) s[r] >= n && (s[r] += e);
            return this._uncache(!0)
        }, c._kill = function(e, t) {
            if (!e && !t) return this._enabled(!1, !1);
            for (var n = t ? this.getTweensOf(t) : this.getChildren(!0, !0, !1), r = n.length, i = !1; --r > -1;) n[r]._kill(e, t) && (i = !0);
            return i
        }, c.clear = function(e) {
            var t = this.getChildren(!1, !0, !0),
                n = t.length;
            for (this._time = this._totalTime = 0; --n > -1;) t[n]._enabled(!1, !1);
            return e !== !1 && (this._labels = {}), this._uncache(!0)
        }, c.invalidate = function() {
            for (var e = this._first; e;) e.invalidate(), e = e._next;
            return this
        }, c._enabled = function(e, n) {
            if (e === this._gc)
                for (var r = this._first; r;) r._enabled(e, !0), r = r._next;
            return t.prototype._enabled.call(this, e, n)
        }, c.duration = function(e) {
            return arguments.length ? (0 !== this.duration() && 0 !== e && this.timeScale(this._duration / e), this) : (this._dirty && this.totalDuration(), this._duration)
        }, c.totalDuration = function(e) {
            if (!arguments.length) {
                if (this._dirty) {
                    for (var t, n, r = 0, i = this._last, s = 999999999999; i;) t = i._prev, i._dirty && i.totalDuration(), i._startTime > s && this._sortChildren && !i._paused ? this.add(i, i._startTime - i._delay) : s = i._startTime, 0 > i._startTime && !i._paused && (r -= i._startTime, this._timeline.smoothChildTiming && (this._startTime += i._startTime / this._timeScale), this.shiftChildren(-i._startTime, !1, -9999999999), s = 0), n = i._startTime + i._totalDuration / i._timeScale, n > r && (r = n), i = t;
                    this._duration = this._totalDuration = r, this._dirty = !1
                }
                return this._totalDuration
            }
            return 0 !== this.totalDuration() && 0 !== e && this.timeScale(this._totalDuration / e), this
        }, c.usesFrames = function() {
            for (var t = this._timeline; t._timeline;) t = t._timeline;
            return t === e._rootFramesTimeline
        }, c.rawTime = function() {
            return this._paused ? this._totalTime : (this._timeline.rawTime() - this._startTime) * this._timeScale
        }, r
    }, !0)
}), window._gsDefine && window._gsQueue.pop()();
(window._gsQueue || (window._gsQueue = [])).push(function() {
    "use strict";
    window._gsDefine("easing.Back", ["easing.Ease"], function(e) {
        var t, n, r, i = window.GreenSockGlobals || window,
            s = i.com.greensock,
            o = 2 * Math.PI,
            u = Math.PI / 2,
            a = s._class,
            f = function(t, n) {
                var r = a("easing." + t, function() {}, !0),
                    i = r.prototype = new e;
                return i.constructor = r, i.getRatio = n, r
            },
            l = e.register || function() {},
            c = function(e, t, n, r) {
                var i = a("easing." + e, {
                    easeOut: new t,
                    easeIn: new n,
                    easeInOut: new r
                }, !0);
                return l(i, e), i
            },
            h = function(e, t, n) {
                this.t = e, this.v = t, n && (this.next = n, n.prev = this, this.c = n.v - t, this.gap = n.t - e)
            },
            p = function(t, n) {
                var r = a("easing." + t, function(e) {
                        this._p1 = e || 0 === e ? e : 1.70158, this._p2 = 1.525 * this._p1
                    }, !0),
                    i = r.prototype = new e;
                return i.constructor = r, i.getRatio = n, i.config = function(e) {
                    return new r(e)
                }, r
            },
            d = c("Back", p("BackOut", function(e) {
                return (e -= 1) * e * ((this._p1 + 1) * e + this._p1) + 1
            }), p("BackIn", function(e) {
                return e * e * ((this._p1 + 1) * e - this._p1)
            }), p("BackInOut", function(e) {
                return 1 > (e *= 2) ? .5 * e * e * ((this._p2 + 1) * e - this._p2) : .5 * ((e -= 2) * e * ((this._p2 + 1) * e + this._p2) + 2)
            })),
            v = a("easing.SlowMo", function(e, t, n) {
                t = t || 0 === t ? t : .7, null == e ? e = .7 : e > 1 && (e = 1), this._p = 1 !== e ? t : 0, this._p1 = (1 - e) / 2, this._p2 = e, this._p3 = this._p1 + this._p2, this._calcEnd = n === !0
            }, !0),
            m = v.prototype = new e;
        return m.constructor = v, m.getRatio = function(e) {
            var t = e + (.5 - e) * this._p;
            return this._p1 > e ? this._calcEnd ? 1 - (e = 1 - e / this._p1) * e : t - (e = 1 - e / this._p1) * e * e * e * t : e > this._p3 ? this._calcEnd ? 1 - (e = (e - this._p3) / this._p1) * e : t + (e - t) * (e = (e - this._p3) / this._p1) * e * e * e : this._calcEnd ? 1 : t
        }, v.ease = new v(.7, .7), m.config = v.config = function(e, t, n) {
            return new v(e, t, n)
        }, t = a("easing.SteppedEase", function(e) {
            e = e || 1, this._p1 = 1 / e, this._p2 = e + 1
        }, !0), m = t.prototype = new e, m.constructor = t, m.getRatio = function(e) {
            return 0 > e ? e = 0 : e >= 1 && (e = .999999999), (this._p2 * e >> 0) * this._p1
        }, m.config = t.config = function(e) {
            return new t(e)
        }, n = a("easing.RoughEase", function(t) {
            t = t || {};
            for (var n, r, i, s, o, u, a = t.taper || "none", f = [], l = 0, c = 0 | (t.points || 20), p = c, d = t.randomize !== !1, v = t.clamp === !0, m = t.template instanceof e ? t.template : null, g = "number" == typeof t.strength ? .4 * t.strength : .4; --p > -1;) n = d ? Math.random() : 1 / c * p, r = m ? m.getRatio(n) : n, "none" === a ? i = g : "out" === a ? (s = 1 - n, i = s * s * g) : "in" === a ? i = n * n * g : .5 > n ? (s = 2 * n, i = .5 * s * s * g) : (s = 2 * (1 - n), i = .5 * s * s * g), d ? r += Math.random() * i - .5 * i : p % 2 ? r += .5 * i : r -= .5 * i, v && (r > 1 ? r = 1 : 0 > r && (r = 0)), f[l++] = {
                x: n,
                y: r
            };
            for (f.sort(function(e, t) {
                    return e.x - t.x
                }), u = new h(1, 1, null), p = c; --p > -1;) o = f[p], u = new h(o.x, o.y, u);
            this._prev = new h(0, 0, 0 !== u.t ? u : u.next)
        }, !0), m = n.prototype = new e, m.constructor = n, m.getRatio = function(e) {
            var t = this._prev;
            if (e > t.t) {
                for (; t.next && e >= t.t;) t = t.next;
                t = t.prev
            } else
                for (; t.prev && t.t >= e;) t = t.prev;
            return this._prev = t, t.v + (e - t.t) / t.gap * t.c
        }, m.config = function(e) {
            return new n(e)
        }, n.ease = new n, c("Bounce", f("BounceOut", function(e) {
            return 1 / 2.75 > e ? 7.5625 * e * e : 2 / 2.75 > e ? 7.5625 * (e -= 1.5 / 2.75) * e + .75 : 2.5 / 2.75 > e ? 7.5625 * (e -= 2.25 / 2.75) * e + .9375 : 7.5625 * (e -= 2.625 / 2.75) * e + .984375
        }), f("BounceIn", function(e) {
            return 1 / 2.75 > (e = 1 - e) ? 1 - 7.5625 * e * e : 2 / 2.75 > e ? 1 - (7.5625 * (e -= 1.5 / 2.75) * e + .75) : 2.5 / 2.75 > e ? 1 - (7.5625 * (e -= 2.25 / 2.75) * e + .9375) : 1 - (7.5625 * (e -= 2.625 / 2.75) * e + .984375)
        }), f("BounceInOut", function(e) {
            var t = .5 > e;
            return e = t ? 1 - 2 * e : 2 * e - 1, e = 1 / 2.75 > e ? 7.5625 * e * e : 2 / 2.75 > e ? 7.5625 * (e -= 1.5 / 2.75) * e + .75 : 2.5 / 2.75 > e ? 7.5625 * (e -= 2.25 / 2.75) * e + .9375 : 7.5625 * (e -= 2.625 / 2.75) * e + .984375, t ? .5 * (1 - e) : .5 * e + .5
        })), c("Circ", f("CircOut", function(e) {
            return Math.sqrt(1 - (e -= 1) * e)
        }), f("CircIn", function(e) {
            return -(Math.sqrt(1 - e * e) - 1)
        }), f("CircInOut", function(e) {
            return 1 > (e *= 2) ? -.5 * (Math.sqrt(1 - e * e) - 1) : .5 * (Math.sqrt(1 - (e -= 2) * e) + 1)
        })), r = function(t, n, r) {
            var i = a("easing." + t, function(e, t) {
                    this._p1 = e || 1, this._p2 = t || r, this._p3 = this._p2 / o * (Math.asin(1 / this._p1) || 0)
                }, !0),
                s = i.prototype = new e;
            return s.constructor = i, s.getRatio = n, s.config = function(e, t) {
                return new i(e, t)
            }, i
        }, c("Elastic", r("ElasticOut", function(e) {
            return this._p1 * Math.pow(2, -10 * e) * Math.sin((e - this._p3) * o / this._p2) + 1
        }, .3), r("ElasticIn", function(e) {
            return -(this._p1 * Math.pow(2, 10 * (e -= 1)) * Math.sin((e - this._p3) * o / this._p2))
        }, .3), r("ElasticInOut", function(e) {
            return 1 > (e *= 2) ? -.5 * this._p1 * Math.pow(2, 10 * (e -= 1)) * Math.sin((e - this._p3) * o / this._p2) : .5 * this._p1 * Math.pow(2, -10 * (e -= 1)) * Math.sin((e - this._p3) * o / this._p2) + 1
        }, .45)), c("Expo", f("ExpoOut", function(e) {
            return 1 - Math.pow(2, -10 * e)
        }), f("ExpoIn", function(e) {
            return Math.pow(2, 10 * (e - 1)) - .001
        }), f("ExpoInOut", function(e) {
            return 1 > (e *= 2) ? .5 * Math.pow(2, 10 * (e - 1)) : .5 * (2 - Math.pow(2, -10 * (e - 1)))
        })), c("Sine", f("SineOut", function(e) {
            return Math.sin(e * u)
        }), f("SineIn", function(e) {
            return -Math.cos(e * u) + 1
        }), f("SineInOut", function(e) {
            return -.5 * (Math.cos(Math.PI * e) - 1)
        })), a("easing.EaseLookup", {
            find: function(t) {
                return e.map[t]
            }
        }, !0), l(i.SlowMo, "SlowMo", "ease,"), l(n, "RoughEase", "ease,"), l(t, "SteppedEase", "ease,"), d
    }, !0)
}), window._gsDefine && window._gsQueue.pop()();
(window._gsQueue || (window._gsQueue = [])).push(function() {
    "use strict";
    window._gsDefine("plugins.CSSPlugin", ["plugins.TweenPlugin", "TweenLite"], function(e, t) {
        var n, r, i, s, o = function() {
                e.call(this, "css"), this._overwriteProps.length = 0, this.setRatio = o.prototype.setRatio
            },
            u = {},
            a = o.prototype = new e("css");
        a.constructor = o, o.version = "1.11.2", o.API = 2, o.defaultTransformPerspective = 0, a = "px", o.suffixMap = {
            top: a,
            right: a,
            bottom: a,
            left: a,
            width: a,
            height: a,
            fontSize: a,
            padding: a,
            margin: a,
            perspective: a
        };
        var f, l, c, h, p, d, v = /(?:\d|\-\d|\.\d|\-\.\d)+/g,
            m = /(?:\d|\-\d|\.\d|\-\.\d|\+=\d|\-=\d|\+=.\d|\-=\.\d)+/g,
            g = /(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b)/gi,
            y = /[^\d\-\.]/g,
            b = /(?:\d|\-|\+|=|#|\.)*/g,
            w = /opacity *= *([^)]*)/,
            E = /opacity:([^;]*)/,
            S = /alpha\(opacity *=.+?\)/i,
            x = /^(rgb|hsl)/,
            T = /([A-Z])/g,
            N = /-([a-z])/gi,
            C = /(^(?:url\(\"|url\())|(?:(\"\))$|\)$)/gi,
            k = function(e, t) {
                return t.toUpperCase()
            },
            L = /(?:Left|Right|Width)/i,
            A = /(M11|M12|M21|M22)=[\d\-\.e]+/gi,
            O = /progid\:DXImageTransform\.Microsoft\.Matrix\(.+?\)/i,
            M = /,(?=[^\)]*(?:\(|$))/gi,
            _ = Math.PI / 180,
            D = 180 / Math.PI,
            P = {},
            H = document,
            B = H.createElement("div"),
            j = H.createElement("img"),
            F = o._internals = {
                _specialProps: u
            },
            I = navigator.userAgent,
            q = function() {
                var e, t = I.indexOf("Android"),
                    n = H.createElement("div");
                return c = -1 !== I.indexOf("Safari") && -1 === I.indexOf("Chrome") && (-1 === t || Number(I.substr(t + 8, 1)) > 3), p = c && 6 > Number(I.substr(I.indexOf("Version/") + 8, 1)), h = -1 !== I.indexOf("Firefox"), /MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(I) && (d = parseFloat(RegExp.$1)), n.innerHTML = "<a style='top:1px;opacity:.55;'>a</a>", e = n.getElementsByTagName("a")[0], e ? /^0.55/.test(e.style.opacity) : !1
            }(),
            R = function(e) {
                return w.test("string" == typeof e ? e : (e.currentStyle ? e.currentStyle.filter : e.style.filter) || "") ? parseFloat(RegExp.$1) / 100 : 1
            },
            U = function(e) {
                window.console && console.log(e)
            },
            z = "",
            W = "",
            X = function(e, t) {
                t = t || B;
                var n, r, i = t.style;
                if (void 0 !== i[e]) return e;
                for (e = e.charAt(0).toUpperCase() + e.substr(1), n = ["O", "Moz", "ms", "Ms", "Webkit"], r = 5; --r > -1 && void 0 === i[n[r] + e];);
                return r >= 0 ? (W = 3 === r ? "ms" : n[r], z = "-" + W.toLowerCase() + "-", W + e) : null
            },
            V = H.defaultView ? H.defaultView.getComputedStyle : function() {},
            $ = o.getStyle = function(e, t, n, r, i) {
                var s;
                return q || "opacity" !== t ? (!r && e.style[t] ? s = e.style[t] : (n = n || V(e, null)) ? (e = n.getPropertyValue(t.replace(T, "-$1").toLowerCase()), s = e || n.length ? e : n[t]) : e.currentStyle && (s = e.currentStyle[t]), null == i || s && "none" !== s && "auto" !== s && "auto auto" !== s ? s : i) : R(e)
            },
            J = function(e, t, n, r, i) {
                if ("px" === r || !r) return n;
                if ("auto" === r || !n) return 0;
                var s, o = L.test(t),
                    u = e,
                    a = B.style,
                    f = 0 > n;
                return f && (n = -n), "%" === r && -1 !== t.indexOf("border") ? s = n / 100 * (o ? e.clientWidth : e.clientHeight) : (a.cssText = "border:0 solid red;position:" + $(e, "position") + ";line-height:0;", "%" !== r && u.appendChild ? a[o ? "borderLeftWidth" : "borderTopWidth"] = n + r : (u = e.parentNode || H.body, a[o ? "width" : "height"] = n + r), u.appendChild(B), s = parseFloat(B[o ? "offsetWidth" : "offsetHeight"]), u.removeChild(B), 0 !== s || i || (s = J(e, t, n, r, !0))), f ? -s : s
            },
            K = function(e, t, n) {
                if ("absolute" !== $(e, "position", n)) return 0;
                var r = "left" === t ? "Left" : "Top",
                    i = $(e, "margin" + r, n);
                return e["offset" + r] - (J(e, t, parseFloat(i), i.replace(b, "")) || 0)
            },
            Q = function(e, t) {
                var n, r, i = {};
                if (t = t || V(e, null))
                    if (n = t.length)
                        for (; --n > -1;) i[t[n].replace(N, k)] = t.getPropertyValue(t[n]);
                    else
                        for (n in t) i[n] = t[n];
                else if (t = e.currentStyle || e.style)
                    for (n in t) "string" == typeof n && void 0 !== i[n] && (i[n.replace(N, k)] = t[n]);
                return q || (i.opacity = R(e)), r = xt(e, t, !1), i.rotation = r.rotation, i.skewX = r.skewX, i.scaleX = r.scaleX, i.scaleY = r.scaleY, i.x = r.x, i.y = r.y, St && (i.z = r.z, i.rotationX = r.rotationX, i.rotationY = r.rotationY, i.scaleZ = r.scaleZ), i.filters && delete i.filters, i
            },
            G = function(e, t, n, r, i) {
                var s, o, u, a = {},
                    f = e.style;
                for (o in n) "cssText" !== o && "length" !== o && isNaN(o) && (t[o] !== (s = n[o]) || i && i[o]) && -1 === o.indexOf("Origin") && ("number" == typeof s || "string" == typeof s) && (a[o] = "auto" !== s || "left" !== o && "top" !== o ? "" !== s && "auto" !== s && "none" !== s || "string" != typeof t[o] || "" === t[o].replace(y, "") ? s : 0 : K(e, o), void 0 !== f[o] && (u = new ct(f, o, f[o], u)));
                if (r)
                    for (o in r) "className" !== o && (a[o] = r[o]);
                return {
                    difs: a,
                    firstMPT: u
                }
            },
            Y = {
                width: ["Left", "Right"],
                height: ["Top", "Bottom"]
            },
            Z = ["marginLeft", "marginRight", "marginTop", "marginBottom"],
            et = function(e, t, n) {
                var r = parseFloat("width" === t ? e.offsetWidth : e.offsetHeight),
                    i = Y[t],
                    s = i.length;
                for (n = n || V(e, null); --s > -1;) r -= parseFloat($(e, "padding" + i[s], n, !0)) || 0, r -= parseFloat($(e, "border" + i[s] + "Width", n, !0)) || 0;
                return r
            },
            tt = function(e, t) {
                (null == e || "" === e || "auto" === e || "auto auto" === e) && (e = "0 0");
                var n = e.split(" "),
                    r = -1 !== e.indexOf("left") ? "0%" : -1 !== e.indexOf("right") ? "100%" : n[0],
                    i = -1 !== e.indexOf("top") ? "0%" : -1 !== e.indexOf("bottom") ? "100%" : n[1];
                return null == i ? i = "0" : "center" === i && (i = "50%"), ("center" === r || isNaN(parseFloat(r)) && -1 === (r + "").indexOf("=")) && (r = "50%"), t && (t.oxp = -1 !== r.indexOf("%"), t.oyp = -1 !== i.indexOf("%"), t.oxr = "=" === r.charAt(1), t.oyr = "=" === i.charAt(1), t.ox = parseFloat(r.replace(y, "")), t.oy = parseFloat(i.replace(y, ""))), r + " " + i + (n.length > 2 ? " " + n[2] : "")
            },
            nt = function(e, t) {
                return "string" == typeof e && "=" === e.charAt(1) ? parseInt(e.charAt(0) + "1", 10) * parseFloat(e.substr(2)) : parseFloat(e) - parseFloat(t)
            },
            rt = function(e, t) {
                return null == e ? t : "string" == typeof e && "=" === e.charAt(1) ? parseInt(e.charAt(0) + "1", 10) * Number(e.substr(2)) + t : parseFloat(e)
            },
            it = function(e, t, n, r) {
                var i, s, o, u, a = 1e-6;
                return null == e ? u = t : "number" == typeof e ? u = e : (i = 360, s = e.split("_"), o = Number(s[0].replace(y, "")) * (-1 === e.indexOf("rad") ? 1 : D) - ("=" === e.charAt(1) ? 0 : t), s.length && (r && (r[n] = t + o), -1 !== e.indexOf("short") && (o %= i, o !== o % (i / 2) && (o = 0 > o ? o + i : o - i)), -1 !== e.indexOf("_cw") && 0 > o ? o = (o + 9999999999 * i) % i - (0 | o / i) * i : -1 !== e.indexOf("ccw") && o > 0 && (o = (o - 9999999999 * i) % i - (0 | o / i) * i)), u = t + o), a > u && u > -a && (u = 0), u
            },
            st = {
                aqua: [0, 255, 255],
                lime: [0, 255, 0],
                silver: [192, 192, 192],
                black: [0, 0, 0],
                maroon: [128, 0, 0],
                teal: [0, 128, 128],
                blue: [0, 0, 255],
                navy: [0, 0, 128],
                white: [255, 255, 255],
                fuchsia: [255, 0, 255],
                olive: [128, 128, 0],
                yellow: [255, 255, 0],
                orange: [255, 165, 0],
                gray: [128, 128, 128],
                purple: [128, 0, 128],
                green: [0, 128, 0],
                red: [255, 0, 0],
                pink: [255, 192, 203],
                cyan: [0, 255, 255],
                transparent: [255, 255, 255, 0]
            },
            ot = function(e, t, n) {
                return e = 0 > e ? e + 1 : e > 1 ? e - 1 : e, 0 | 255 * (1 > 6 * e ? t + 6 * (n - t) * e : .5 > e ? n : 2 > 3 * e ? t + 6 * (n - t) * (2 / 3 - e) : t) + .5
            },
            ut = function(e) {
                var t, n, r, i, s, o;
                return e && "" !== e ? "number" == typeof e ? [e >> 16, 255 & e >> 8, 255 & e] : ("," === e.charAt(e.length - 1) && (e = e.substr(0, e.length - 1)), st[e] ? st[e] : "#" === e.charAt(0) ? (4 === e.length && (t = e.charAt(1), n = e.charAt(2), r = e.charAt(3), e = "#" + t + t + n + n + r + r), e = parseInt(e.substr(1), 16), [e >> 16, 255 & e >> 8, 255 & e]) : "hsl" === e.substr(0, 3) ? (e = e.match(v), i = Number(e[0]) % 360 / 360, s = Number(e[1]) / 100, o = Number(e[2]) / 100, n = .5 >= o ? o * (s + 1) : o + s - o * s, t = 2 * o - n, e.length > 3 && (e[3] = Number(e[3])), e[0] = ot(i + 1 / 3, t, n), e[1] = ot(i, t, n), e[2] = ot(i - 1 / 3, t, n), e) : (e = e.match(v) || st.transparent, e[0] = Number(e[0]), e[1] = Number(e[1]), e[2] = Number(e[2]), e.length > 3 && (e[3] = Number(e[3])), e)) : st.black
            },
            at = "(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#.+?\\b";
        for (a in st) at += "|" + a + "\\b";
        at = RegExp(at + ")", "gi");
        var ft = function(e, t, n, r) {
                if (null == e) return function(e) {
                    return e
                };
                var i, s = t ? (e.match(at) || [""])[0] : "",
                    o = e.split(s).join("").match(g) || [],
                    u = e.substr(0, e.indexOf(o[0])),
                    a = ")" === e.charAt(e.length - 1) ? ")" : "",
                    f = -1 !== e.indexOf(" ") ? " " : ",",
                    l = o.length,
                    c = l > 0 ? o[0].replace(v, "") : "";
                return l ? i = t ? function(e) {
                    var t, h, p, d;
                    if ("number" == typeof e) e += c;
                    else if (r && M.test(e)) {
                        for (d = e.replace(M, "|").split("|"), p = 0; d.length > p; p++) d[p] = i(d[p]);
                        return d.join(",")
                    }
                    if (t = (e.match(at) || [s])[0], h = e.split(t).join("").match(g) || [], p = h.length, l > p--)
                        for (; l > ++p;) h[p] = n ? h[0 | (p - 1) / 2] : o[p];
                    return u + h.join(f) + f + t + a + (-1 !== e.indexOf("inset") ? " inset" : "")
                } : function(e) {
                    var t, s, h;
                    if ("number" == typeof e) e += c;
                    else if (r && M.test(e)) {
                        for (s = e.replace(M, "|").split("|"), h = 0; s.length > h; h++) s[h] = i(s[h]);
                        return s.join(",")
                    }
                    if (t = e.match(g) || [], h = t.length, l > h--)
                        for (; l > ++h;) t[h] = n ? t[0 | (h - 1) / 2] : o[h];
                    return u + t.join(f) + a
                } : function(e) {
                    return e
                }
            },
            lt = function(e) {
                return e = e.split(","),
                    function(t, n, r, i, s, o, u) {
                        var a, f = (n + "").split(" ");
                        for (u = {}, a = 0; 4 > a; a++) u[e[a]] = f[a] = f[a] || f[(a - 1) / 2 >> 0];
                        return i.parse(t, u, s, o)
                    }
            },
            ct = (F._setPluginRatio = function(e) {
                this.plugin.setRatio(e);
                for (var t, n, r, i, s = this.data, o = s.proxy, u = s.firstMPT, a = 1e-6; u;) t = o[u.v], u.r ? t = t > 0 ? 0 | t + .5 : 0 | t - .5 : a > t && t > -a && (t = 0), u.t[u.p] = t, u = u._next;
                if (s.autoRotate && (s.autoRotate.rotation = o.rotation), 1 === e)
                    for (u = s.firstMPT; u;) {
                        if (n = u.t, n.type) {
                            if (1 === n.type) {
                                for (i = n.xs0 + n.s + n.xs1, r = 1; n.l > r; r++) i += n["xn" + r] + n["xs" + (r + 1)];
                                n.e = i
                            }
                        } else n.e = n.s + n.xs0;
                        u = u._next
                    }
            }, function(e, t, n, r, i) {
                this.t = e, this.p = t, this.v = n, this.r = i, r && (r._prev = this, this._next = r)
            }),
            ht = (F._parseToProxy = function(e, t, n, r, i, s) {
                var o, u, a, f, l, c = r,
                    h = {},
                    p = {},
                    d = n._transform,
                    v = P;
                for (n._transform = null, P = t, r = l = n.parse(e, t, r, i), P = v, s && (n._transform = d, c && (c._prev = null, c._prev && (c._prev._next = null))); r && r !== c;) {
                    if (1 >= r.type && (u = r.p, p[u] = r.s + r.c, h[u] = r.s, s || (f = new ct(r, "s", u, f, r.r), r.c = 0), 1 === r.type))
                        for (o = r.l; --o > 0;) a = "xn" + o, u = r.p + "_" + a, p[u] = r.data[a], h[u] = r[a], s || (f = new ct(r, a, u, f, r.rxp[a]));
                    r = r._next
                }
                return {
                    proxy: h,
                    end: p,
                    firstMPT: f,
                    pt: l
                }
            }, F.CSSPropTween = function(e, t, r, i, o, u, a, f, l, c, h) {
                this.t = e, this.p = t, this.s = r, this.c = i, this.n = a || t, e instanceof ht || s.push(this.n), this.r = f, this.type = u || 0, l && (this.pr = l, n = !0), this.b = void 0 === c ? r : c, this.e = void 0 === h ? r + i : h, o && (this._next = o, o._prev = this)
            }),
            pt = o.parseComplex = function(e, t, n, r, i, s, o, u, a, l) {
                n = n || s || "", o = new ht(e, t, 0, 0, o, l ? 2 : 1, null, !1, u, n, r), r += "";
                var c, h, p, d, g, y, b, w, E, S, T, N, C = n.split(", ").join(",").split(" "),
                    k = r.split(", ").join(",").split(" "),
                    L = C.length,
                    A = f !== !1;
                for ((-1 !== r.indexOf(",") || -1 !== n.indexOf(",")) && (C = C.join(" ").replace(M, ", ").split(" "), k = k.join(" ").replace(M, ", ").split(" "), L = C.length), L !== k.length && (C = (s || "").split(" "), L = C.length), o.plugin = a, o.setRatio = l, c = 0; L > c; c++)
                    if (d = C[c], g = k[c], w = parseFloat(d), w || 0 === w) o.appendXtra("", w, nt(g, w), g.replace(m, ""), A && -1 !== g.indexOf("px"), !0);
                    else if (i && ("#" === d.charAt(0) || st[d] || x.test(d))) N = "," === g.charAt(g.length - 1) ? ")," : ")", d = ut(d), g = ut(g), E = d.length + g.length > 6, E && !q && 0 === g[3] ? (o["xs" + o.l] += o.l ? " transparent" : "transparent", o.e = o.e.split(k[c]).join("transparent")) : (q || (E = !1), o.appendXtra(E ? "rgba(" : "rgb(", d[0], g[0] - d[0], ",", !0, !0).appendXtra("", d[1], g[1] - d[1], ",", !0).appendXtra("", d[2], g[2] - d[2], E ? "," : N, !0), E && (d = 4 > d.length ? 1 : d[3], o.appendXtra("", d, (4 > g.length ? 1 : g[3]) - d, N, !1)));
                else if (y = d.match(v)) {
                    if (b = g.match(m), !b || b.length !== y.length) return o;
                    for (p = 0, h = 0; y.length > h; h++) T = y[h], S = d.indexOf(T, p), o.appendXtra(d.substr(p, S - p), Number(T), nt(b[h], T), "", A && "px" === d.substr(S + T.length, 2), 0 === h), p = S + T.length;
                    o["xs" + o.l] += d.substr(p)
                } else o["xs" + o.l] += o.l ? " " + d : d;
                if (-1 !== r.indexOf("=") && o.data) {
                    for (N = o.xs0 + o.data.s, c = 1; o.l > c; c++) N += o["xs" + c] + o.data["xn" + c];
                    o.e = N + o["xs" + c]
                }
                return o.l || (o.type = -1, o.xs0 = o.e), o.xfirst || o
            },
            dt = 9;
        for (a = ht.prototype, a.l = a.pr = 0; --dt > 0;) a["xn" + dt] = 0, a["xs" + dt] = "";
        a.xs0 = "", a._next = a._prev = a.xfirst = a.data = a.plugin = a.setRatio = a.rxp = null, a.appendXtra = function(e, t, n, r, i, s) {
            var o = this,
                u = o.l;
            return o["xs" + u] += s && u ? " " + e : e || "", n || 0 === u || o.plugin ? (o.l++, o.type = o.setRatio ? 2 : 1, o["xs" + o.l] = r || "", u > 0 ? (o.data["xn" + u] = t + n, o.rxp["xn" + u] = i, o["xn" + u] = t, o.plugin || (o.xfirst = new ht(o, "xn" + u, t, n, o.xfirst || o, 0, o.n, i, o.pr), o.xfirst.xs0 = 0), o) : (o.data = {
                s: t + n
            }, o.rxp = {}, o.s = t, o.c = n, o.r = i, o)) : (o["xs" + u] += t + (r || ""), o)
        };
        var vt = function(e, t) {
                t = t || {}, this.p = t.prefix ? X(e) || e : e, u[e] = u[this.p] = this, this.format = t.formatter || ft(t.defaultValue, t.color, t.collapsible, t.multi), t.parser && (this.parse = t.parser), this.clrs = t.color, this.multi = t.multi, this.keyword = t.keyword, this.dflt = t.defaultValue, this.pr = t.priority || 0
            },
            mt = F._registerComplexSpecialProp = function(e, t, n) {
                "object" != typeof t && (t = {
                    parser: n
                });
                var r, i, s = e.split(","),
                    o = t.defaultValue;
                for (n = n || [o], r = 0; s.length > r; r++) t.prefix = 0 === r && t.prefix, t.defaultValue = n[r] || o, i = new vt(s[r], t)
            },
            gt = function(e) {
                if (!u[e]) {
                    var t = e.charAt(0).toUpperCase() + e.substr(1) + "Plugin";
                    mt(e, {
                        parser: function(e, n, r, i, s, o, a) {
                            var f = (window.GreenSockGlobals || window).com.greensock.plugins[t];
                            return f ? (f._cssRegister(), u[r].parse(e, n, r, i, s, o, a)) : (U("Error: " + t + " js file not loaded."), s)
                        }
                    })
                }
            };
        a = vt.prototype, a.parseComplex = function(e, t, n, r, i, s) {
            var o, u, a, f, l, c, h = this.keyword;
            if (this.multi && (M.test(n) || M.test(t) ? (u = t.replace(M, "|").split("|"), a = n.replace(M, "|").split("|")) : h && (u = [t], a = [n])), a) {
                for (f = a.length > u.length ? a.length : u.length, o = 0; f > o; o++) t = u[o] = u[o] || this.dflt, n = a[o] = a[o] || this.dflt, h && (l = t.indexOf(h), c = n.indexOf(h), l !== c && (n = -1 === c ? a : u, n[o] += " " + h));
                t = u.join(", "), n = a.join(", ")
            }
            return pt(e, this.p, t, n, this.clrs, this.dflt, r, this.pr, i, s)
        }, a.parse = function(e, t, n, r, s, o) {
            return this.parseComplex(e.style, this.format($(e, this.p, i, !1, this.dflt)), this.format(t), s, o)
        }, o.registerSpecialProp = function(e, t, n) {
            mt(e, {
                parser: function(e, r, i, s, o, u) {
                    var a = new ht(e, i, 0, 0, o, 2, i, !1, n);
                    return a.plugin = u, a.setRatio = t(e, r, s._tween, i), a
                },
                priority: n
            })
        };
        var yt = "scaleX,scaleY,scaleZ,x,y,z,skewX,rotation,rotationX,rotationY,perspective".split(","),
            bt = X("transform"),
            wt = z + "transform",
            Et = X("transformOrigin"),
            St = null !== X("perspective"),
            xt = function(e, t, n, r) {
                if (e._gsTransform && n && !r) return e._gsTransform;
                var i, s, u, a, f, l, c, h, p, d, v, m, g, y = n ? e._gsTransform || {
                        skewY: 0
                    } : {
                        skewY: 0
                    },
                    b = 0 > y.scaleX,
                    w = 2e-5,
                    E = 1e5,
                    S = 179.99,
                    x = S * _,
                    T = St ? parseFloat($(e, Et, t, !1, "0 0 0").split(" ")[2]) || y.zOrigin || 0 : 0;
                for (bt ? i = $(e, wt, t, !0) : e.currentStyle && (i = e.currentStyle.filter.match(A), i = i && 4 === i.length ? [i[0].substr(4), Number(i[2].substr(4)), Number(i[1].substr(4)), i[3].substr(4), y.x || 0, y.y || 0].join(",") : ""), s = (i || "").match(/(?:\-|\b)[\d\-\.e]+\b/gi) || [], u = s.length; --u > -1;) a = Number(s[u]), s[u] = (f = a - (a |= 0)) ? (0 | f * E + (0 > f ? -.5 : .5)) / E + a : a;
                if (16 === s.length) {
                    var N = s[8],
                        C = s[9],
                        k = s[10],
                        L = s[12],
                        O = s[13],
                        M = s[14];
                    if (y.zOrigin && (M = -y.zOrigin, L = N * M - s[12], O = C * M - s[13], M = k * M + y.zOrigin - s[14]), !n || r || null == y.rotationX) {
                        var P, H, B, j, F, I, q, R = s[0],
                            U = s[1],
                            z = s[2],
                            W = s[3],
                            X = s[4],
                            V = s[5],
                            J = s[6],
                            K = s[7],
                            Q = s[11],
                            G = Math.atan2(J, k),
                            Y = -x > G || G > x;
                        y.rotationX = G * D, G && (j = Math.cos(-G), F = Math.sin(-G), P = X * j + N * F, H = V * j + C * F, B = J * j + k * F, N = X * -F + N * j, C = V * -F + C * j, k = J * -F + k * j, Q = K * -F + Q * j, X = P, V = H, J = B), G = Math.atan2(N, R), y.rotationY = G * D, G && (I = -x > G || G > x, j = Math.cos(-G), F = Math.sin(-G), P = R * j - N * F, H = U * j - C * F, B = z * j - k * F, C = U * F + C * j, k = z * F + k * j, Q = W * F + Q * j, R = P, U = H, z = B), G = Math.atan2(U, V), y.rotation = G * D, G && (q = -x > G || G > x, j = Math.cos(-G), F = Math.sin(-G), R = R * j + X * F, H = U * j + V * F, V = U * -F + V * j, J = z * -F + J * j, U = H), q && Y ? y.rotation = y.rotationX = 0 : q && I ? y.rotation = y.rotationY = 0 : I && Y && (y.rotationY = y.rotationX = 0), y.scaleX = (0 | Math.sqrt(R * R + U * U) * E + .5) / E, y.scaleY = (0 | Math.sqrt(V * V + C * C) * E + .5) / E, y.scaleZ = (0 | Math.sqrt(J * J + k * k) * E + .5) / E, y.skewX = 0, y.perspective = Q ? 1 / (0 > Q ? -Q : Q) : 0, y.x = L, y.y = O, y.z = M
                    }
                } else if (!(St && !r && s.length && y.x === s[4] && y.y === s[5] && (y.rotationX || y.rotationY) || void 0 !== y.x && "none" === $(e, "display", t))) {
                    var Z = s.length >= 6,
                        et = Z ? s[0] : 1,
                        tt = s[1] || 0,
                        nt = s[2] || 0,
                        rt = Z ? s[3] : 1;
                    y.x = s[4] || 0, y.y = s[5] || 0, l = Math.sqrt(et * et + tt * tt), c = Math.sqrt(rt * rt + nt * nt), h = et || tt ? Math.atan2(tt, et) * D : y.rotation || 0, p = nt || rt ? Math.atan2(nt, rt) * D + h : y.skewX || 0, d = l - Math.abs(y.scaleX || 0), v = c - Math.abs(y.scaleY || 0), Math.abs(p) > 90 && 270 > Math.abs(p) && (b ? (l *= -1, p += 0 >= h ? 180 : -180, h += 0 >= h ? 180 : -180) : (c *= -1, p += 0 >= p ? 180 : -180)), m = (h - y.rotation) % 180, g = (p - y.skewX) % 180, (void 0 === y.skewX || d > w || -w > d || v > w || -w > v || m > -S && S > m && false | m * E || g > -S && S > g && false | g * E) && (y.scaleX = l, y.scaleY = c, y.rotation = h, y.skewX = p), St && (y.rotationX = y.rotationY = y.z = 0, y.perspective = parseFloat(o.defaultTransformPerspective) || 0, y.scaleZ = 1)
                }
                y.zOrigin = T;
                for (u in y) w > y[u] && y[u] > -w && (y[u] = 0);
                return n && (e._gsTransform = y), y
            },
            Tt = function(e) {
                var t, n, r = this.data,
                    i = -r.rotation * _,
                    s = i + r.skewX * _,
                    o = 1e5,
                    u = (0 | Math.cos(i) * r.scaleX * o) / o,
                    a = (0 | Math.sin(i) * r.scaleX * o) / o,
                    f = (0 | Math.sin(s) * -r.scaleY * o) / o,
                    l = (0 | Math.cos(s) * r.scaleY * o) / o,
                    c = this.t.style,
                    h = this.t.currentStyle;
                if (h) {
                    n = a, a = -f, f = -n, t = h.filter, c.filter = "";
                    var p, v, m = this.t.offsetWidth,
                        g = this.t.offsetHeight,
                        y = "absolute" !== h.position,
                        E = "progid:DXImageTransform.Microsoft.Matrix(M11=" + u + ", M12=" + a + ", M21=" + f + ", M22=" + l,
                        S = r.x,
                        x = r.y;
                    if (null != r.ox && (p = (r.oxp ? .01 * m * r.ox : r.ox) - m / 2, v = (r.oyp ? .01 * g * r.oy : r.oy) - g / 2, S += p - (p * u + v * a), x += v - (p * f + v * l)), y ? (p = m / 2, v = g / 2, E += ", Dx=" + (p - (p * u + v * a) + S) + ", Dy=" + (v - (p * f + v * l) + x) + ")") : E += ", sizingMethod='auto expand')", c.filter = -1 !== t.indexOf("DXImageTransform.Microsoft.Matrix(") ? t.replace(O, E) : E + " " + t, (0 === e || 1 === e) && 1 === u && 0 === a && 0 === f && 1 === l && (y && -1 === E.indexOf("Dx=0, Dy=0") || w.test(t) && 100 !== parseFloat(RegExp.$1) || -1 === t.indexOf("gradient(" && t.indexOf("Alpha")) && c.removeAttribute("filter")), !y) {
                        var T, N, C, k = 8 > d ? 1 : -1;
                        for (p = r.ieOffsetX || 0, v = r.ieOffsetY || 0, r.ieOffsetX = Math.round((m - ((0 > u ? -u : u) * m + (0 > a ? -a : a) * g)) / 2 + S), r.ieOffsetY = Math.round((g - ((0 > l ? -l : l) * g + (0 > f ? -f : f) * m)) / 2 + x), dt = 0; 4 > dt; dt++) N = Z[dt], T = h[N], n = -1 !== T.indexOf("px") ? parseFloat(T) : J(this.t, N, parseFloat(T), T.replace(b, "")) || 0, C = n !== r[N] ? 2 > dt ? -r.ieOffsetX : -r.ieOffsetY : 2 > dt ? p - r.ieOffsetX : v - r.ieOffsetY, c[N] = (r[N] = Math.round(n - C * (0 === dt || 2 === dt ? 1 : k))) + "px"
                    }
                }
            },
            Nt = function() {
                var e, t, n, r, i, s, o, u, a, f, l, c, p, d, v, m, g, y, b, w, E, S, x, T = this.data,
                    N = this.t.style,
                    C = T.rotation * _,
                    k = T.scaleX,
                    L = T.scaleY,
                    A = T.scaleZ,
                    O = T.perspective;
                if (h) {
                    var M = 1e-4;
                    M > k && k > -M && (k = A = 2e-5), M > L && L > -M && (L = A = 2e-5), !O || T.z || T.rotationX || T.rotationY || (O = 0)
                }
                if (C || T.skewX) y = Math.cos(C), b = Math.sin(C), e = y, i = b, T.skewX && (C -= T.skewX * _, y = Math.cos(C), b = Math.sin(C)), t = -b, s = y;
                else {
                    if (!(T.rotationY || T.rotationX || 1 !== A || O)) return N[bt] = "translate3d(" + T.x + "px," + T.y + "px," + T.z + "px)" + (1 !== k || 1 !== L ? " scale(" + k + "," + L + ")" : ""), void 0;
                    e = s = 1, t = i = 0
                }
                l = 1, n = r = o = u = a = f = c = p = d = 0, v = O ? -1 / O : 0, m = T.zOrigin, g = 1e5, C = T.rotationY * _, C && (y = Math.cos(C), b = Math.sin(C), a = l * -b, p = v * -b, n = e * b, o = i * b, l *= y, v *= y, e *= y, i *= y), C = T.rotationX * _, C && (y = Math.cos(C), b = Math.sin(C), w = t * y + n * b, E = s * y + o * b, S = f * y + l * b, x = d * y + v * b, n = t * -b + n * y, o = s * -b + o * y, l = f * -b + l * y, v = d * -b + v * y, t = w, s = E, f = S, d = x), 1 !== A && (n *= A, o *= A, l *= A, v *= A), 1 !== L && (t *= L, s *= L, f *= L, d *= L), 1 !== k && (e *= k, i *= k, a *= k, p *= k), m && (c -= m, r = n * c, u = o * c, c = l * c + m), r = (w = (r += T.x) - (r |= 0)) ? (0 | w * g + (0 > w ? -.5 : .5)) / g + r : r, u = (w = (u += T.y) - (u |= 0)) ? (0 | w * g + (0 > w ? -.5 : .5)) / g + u : u, c = (w = (c += T.z) - (c |= 0)) ? (0 | w * g + (0 > w ? -.5 : .5)) / g + c : c, N[bt] = "matrix3d(" + [(0 | e * g) / g, (0 | i * g) / g, (0 | a * g) / g, (0 | p * g) / g, (0 | t * g) / g, (0 | s * g) / g, (0 | f * g) / g, (0 | d * g) / g, (0 | n * g) / g, (0 | o * g) / g, (0 | l * g) / g, (0 | v * g) / g, r, u, c, O ? 1 + -c / O : 1].join(",") + ")"
            },
            Ct = function() {
                var e, t, n, r, i, s, o, u, a, f = this.data,
                    l = this.t,
                    c = l.style;
                h && (e = c.top ? "top" : c.bottom ? "bottom" : parseFloat($(l, "top", null, !1)) ? "bottom" : "top", t = $(l, e, null, !1), n = parseFloat(t) || 0, r = t.substr((n + "").length) || "px", f._ffFix = !f._ffFix, c[e] = (f._ffFix ? n + .05 : n - .05) + r), f.rotation || f.skewX ? (i = f.rotation * _, s = i - f.skewX * _, o = 1e5, u = f.scaleX * o, a = f.scaleY * o, c[bt] = "matrix(" + (0 | Math.cos(i) * u) / o + "," + (0 | Math.sin(i) * u) / o + "," + (0 | Math.sin(s) * -a) / o + "," + (0 | Math.cos(s) * a) / o + "," + f.x + "," + f.y + ")") : c[bt] = "matrix(" + f.scaleX + ",0,0," + f.scaleY + "," + f.x + "," + f.y + ")"
            };
        mt("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,transformPerspective,directionalRotation,parseTransform,force3D", {
            parser: function(e, t, n, r, s, o, u) {
                if (r._transform) return s;
                var a, f, l, c, h, p, d, v = r._transform = xt(e, i, !0, u.parseTransform),
                    m = e.style,
                    g = 1e-6,
                    y = yt.length,
                    b = u,
                    w = {};
                if ("string" == typeof b.transform && bt) l = m.cssText, m[bt] = b.transform, m.display = "block", a = xt(e, null, !1), m.cssText = l;
                else if ("object" == typeof b) {
                    if (a = {
                            scaleX: rt(null != b.scaleX ? b.scaleX : b.scale, v.scaleX),
                            scaleY: rt(null != b.scaleY ? b.scaleY : b.scale, v.scaleY),
                            scaleZ: rt(null != b.scaleZ ? b.scaleZ : b.scale, v.scaleZ),
                            x: rt(b.x, v.x),
                            y: rt(b.y, v.y),
                            z: rt(b.z, v.z),
                            perspective: rt(b.transformPerspective, v.perspective)
                        }, d = b.directionalRotation, null != d)
                        if ("object" == typeof d)
                            for (l in d) b[l] = d[l];
                        else b.rotation = d;
                    a.rotation = it("rotation" in b ? b.rotation : "shortRotation" in b ? b.shortRotation + "_short" : "rotationZ" in b ? b.rotationZ : v.rotation, v.rotation, "rotation", w), St && (a.rotationX = it("rotationX" in b ? b.rotationX : "shortRotationX" in b ? b.shortRotationX + "_short" : v.rotationX || 0, v.rotationX, "rotationX", w), a.rotationY = it("rotationY" in b ? b.rotationY : "shortRotationY" in b ? b.shortRotationY + "_short" : v.rotationY || 0, v.rotationY, "rotationY", w)), a.skewX = null == b.skewX ? v.skewX : it(b.skewX, v.skewX), a.skewY = null == b.skewY ? v.skewY : it(b.skewY, v.skewY), (f = a.skewY - v.skewY) && (a.skewX += f, a.rotation += f)
                }
                for (null != b.force3D && (v.force3D = b.force3D, p = !0), h = v.force3D || v.z || v.rotationX || v.rotationY || a.z || a.rotationX || a.rotationY || a.perspective, h || null == b.scale || (a.scaleZ = 1); --y > -1;) n = yt[y], c = a[n] - v[n], (c > g || -g > c || null != P[n]) && (p = !0, s = new ht(v, n, v[n], c, s), n in w && (s.e = w[n]), s.xs0 = 0, s.plugin = o, r._overwriteProps.push(s.n));
                return c = b.transformOrigin, (c || St && h && v.zOrigin) && (bt ? (p = !0, n = Et, c = (c || $(e, n, i, !1, "50% 50%")) + "", s = new ht(m, n, 0, 0, s, -1, "transformOrigin"), s.b = m[n], s.plugin = o, St ? (l = v.zOrigin, c = c.split(" "), v.zOrigin = (c.length > 2 && (0 === l || "0px" !== c[2]) ? parseFloat(c[2]) : l) || 0, s.xs0 = s.e = m[n] = c[0] + " " + (c[1] || "50%") + " 0px", s = new ht(v, "zOrigin", 0, 0, s, -1, s.n), s.b = l, s.xs0 = s.e = v.zOrigin) : s.xs0 = s.e = m[n] = c) : tt(c + "", v)), p && (r._transformType = h || 3 === this._transformType ? 3 : 2), s
            },
            prefix: !0
        }), mt("boxShadow", {
            defaultValue: "0px 0px 0px 0px #999",
            prefix: !0,
            color: !0,
            multi: !0,
            keyword: "inset"
        }), mt("borderRadius", {
            defaultValue: "0px",
            parser: function(e, t, n, s, o) {
                t = this.format(t);
                var u, a, f, l, c, h, p, d, v, m, g, y, b, w, E, S, x = ["borderTopLeftRadius", "borderTopRightRadius", "borderBottomRightRadius", "borderBottomLeftRadius"],
                    T = e.style;
                for (v = parseFloat(e.offsetWidth), m = parseFloat(e.offsetHeight), u = t.split(" "), a = 0; x.length > a; a++) this.p.indexOf("border") && (x[a] = X(x[a])), c = l = $(e, x[a], i, !1, "0px"), -1 !== c.indexOf(" ") && (l = c.split(" "), c = l[0], l = l[1]), h = f = u[a], p = parseFloat(c), y = c.substr((p + "").length), b = "=" === h.charAt(1), b ? (d = parseInt(h.charAt(0) + "1", 10), h = h.substr(2), d *= parseFloat(h), g = h.substr((d + "").length - (0 > d ? 1 : 0)) || "") : (d = parseFloat(h), g = h.substr((d + "").length)), "" === g && (g = r[n] || y), g !== y && (w = J(e, "borderLeft", p, y), E = J(e, "borderTop", p, y), "%" === g ? (c = 100 * (w / v) + "%", l = 100 * (E / m) + "%") : "em" === g ? (S = J(e, "borderLeft", 1, "em"), c = w / S + "em", l = E / S + "em") : (c = w + "px", l = E + "px"), b && (h = parseFloat(c) + d + g, f = parseFloat(l) + d + g)), o = pt(T, x[a], c + " " + l, h + " " + f, !1, "0px", o);
                return o
            },
            prefix: !0,
            formatter: ft("0px 0px 0px 0px", !1, !0)
        }), mt("backgroundPosition", {
            defaultValue: "0 0",
            parser: function(e, t, n, r, s, o) {
                var u, a, f, l, c, h, p = "background-position",
                    v = i || V(e, null),
                    m = this.format((v ? d ? v.getPropertyValue(p + "-x") + " " + v.getPropertyValue(p + "-y") : v.getPropertyValue(p) : e.currentStyle.backgroundPositionX + " " + e.currentStyle.backgroundPositionY) || "0 0"),
                    g = this.format(t);
                if (-1 !== m.indexOf("%") != (-1 !== g.indexOf("%")) && (h = $(e, "backgroundImage").replace(C, ""), h && "none" !== h)) {
                    for (u = m.split(" "), a = g.split(" "), j.setAttribute("src", h), f = 2; --f > -1;) m = u[f], l = -1 !== m.indexOf("%"), l !== (-1 !== a[f].indexOf("%")) && (c = 0 === f ? e.offsetWidth - j.width : e.offsetHeight - j.height, u[f] = l ? parseFloat(m) / 100 * c + "px" : 100 * (parseFloat(m) / c) + "%");
                    m = u.join(" ")
                }
                return this.parseComplex(e.style, m, g, s, o)
            },
            formatter: tt
        }), mt("backgroundSize", {
            defaultValue: "0 0",
            formatter: tt
        }), mt("perspective", {
            defaultValue: "0px",
            prefix: !0
        }), mt("perspectiveOrigin", {
            defaultValue: "50% 50%",
            prefix: !0
        }), mt("transformStyle", {
            prefix: !0
        }), mt("backfaceVisibility", {
            prefix: !0
        }), mt("userSelect", {
            prefix: !0
        }), mt("margin", {
            parser: lt("marginTop,marginRight,marginBottom,marginLeft")
        }), mt("padding", {
            parser: lt("paddingTop,paddingRight,paddingBottom,paddingLeft")
        }), mt("clip", {
            defaultValue: "rect(0px,0px,0px,0px)",
            parser: function(e, t, n, r, s, o) {
                var u, a, f;
                return 9 > d ? (a = e.currentStyle, f = 8 > d ? " " : ",", u = "rect(" + a.clipTop + f + a.clipRight + f + a.clipBottom + f + a.clipLeft + ")", t = this.format(t).split(",").join(f)) : (u = this.format($(e, this.p, i, !1, this.dflt)), t = this.format(t)), this.parseComplex(e.style, u, t, s, o)
            }
        }), mt("textShadow", {
            defaultValue: "0px 0px 0px #999",
            color: !0,
            multi: !0
        }), mt("autoRound,strictUnits", {
            parser: function(e, t, n, r, i) {
                return i
            }
        }), mt("border", {
            defaultValue: "0px solid #000",
            parser: function(e, t, n, r, s, o) {
                return this.parseComplex(e.style, this.format($(e, "borderTopWidth", i, !1, "0px") + " " + $(e, "borderTopStyle", i, !1, "solid") + " " + $(e, "borderTopColor", i, !1, "#000")), this.format(t), s, o)
            },
            color: !0,
            formatter: function(e) {
                var t = e.split(" ");
                return t[0] + " " + (t[1] || "solid") + " " + (e.match(at) || ["#000"])[0]
            }
        }), mt("float,cssFloat,styleFloat", {
            parser: function(e, t, n, r, i) {
                var s = e.style,
                    o = "cssFloat" in s ? "cssFloat" : "styleFloat";
                return new ht(s, o, 0, 0, i, -1, n, !1, 0, s[o], t)
            }
        });
        var kt = function(e) {
            var t, n = this.t,
                r = n.filter || $(this.data, "filter"),
                i = 0 | this.s + this.c * e;
            100 === i && (-1 === r.indexOf("atrix(") && -1 === r.indexOf("radient(") && -1 === r.indexOf("oader(") ? (n.removeAttribute("filter"), t = !$(this.data, "filter")) : (n.filter = r.replace(S, ""), t = !0)), t || (this.xn1 && (n.filter = r = r || "alpha(opacity=" + i + ")"), -1 === r.indexOf("opacity") ? 0 === i && this.xn1 || (n.filter = r + " alpha(opacity=" + i + ")") : n.filter = r.replace(w, "opacity=" + i))
        };
        mt("opacity,alpha,autoAlpha", {
            defaultValue: "1",
            parser: function(e, t, n, r, s, o) {
                var u = parseFloat($(e, "opacity", i, !1, "1")),
                    a = e.style,
                    f = "autoAlpha" === n;
                return "string" == typeof t && "=" === t.charAt(1) && (t = ("-" === t.charAt(0) ? -1 : 1) * parseFloat(t.substr(2)) + u), f && 1 === u && "hidden" === $(e, "visibility", i) && 0 !== t && (u = 0), q ? s = new ht(a, "opacity", u, t - u, s) : (s = new ht(a, "opacity", 100 * u, 100 * (t - u), s), s.xn1 = f ? 1 : 0, a.zoom = 1, s.type = 2, s.b = "alpha(opacity=" + s.s + ")", s.e = "alpha(opacity=" + (s.s + s.c) + ")", s.data = e, s.plugin = o, s.setRatio = kt), f && (s = new ht(a, "visibility", 0, 0, s, -1, null, !1, 0, 0 !== u ? "inherit" : "hidden", 0 === t ? "hidden" : "inherit"), s.xs0 = "inherit", r._overwriteProps.push(s.n), r._overwriteProps.push(n)), s
            }
        });
        var Lt = function(e, t) {
                t && (e.removeProperty ? e.removeProperty(t.replace(T, "-$1").toLowerCase()) : e.removeAttribute(t))
            },
            At = function(e) {
                if (this.t._gsClassPT = this, 1 === e || 0 === e) {
                    this.t.className = 0 === e ? this.b : this.e;
                    for (var t = this.data, n = this.t.style; t;) t.v ? n[t.p] = t.v : Lt(n, t.p), t = t._next;
                    1 === e && this.t._gsClassPT === this && (this.t._gsClassPT = null)
                } else this.t.className !== this.e && (this.t.className = this.e)
            };
        mt("className", {
            parser: function(e, t, r, s, o, u, a) {
                var f, l, c, h, p, d = e.className,
                    v = e.style.cssText;
                if (o = s._classNamePT = new ht(e, r, 0, 0, o, 2), o.setRatio = At, o.pr = -11, n = !0, o.b = d, l = Q(e, i), c = e._gsClassPT) {
                    for (h = {}, p = c.data; p;) h[p.p] = 1, p = p._next;
                    c.setRatio(1)
                }
                return e._gsClassPT = o, o.e = "=" !== t.charAt(1) ? t : d.replace(RegExp("\\s*\\b" + t.substr(2) + "\\b"), "") + ("+" === t.charAt(0) ? " " + t.substr(2) : ""), s._tween._duration && (e.className = o.e, f = G(e, l, Q(e), a, h), e.className = d, o.data = f.firstMPT, e.style.cssText = v, o = o.xfirst = s.parse(e, f.difs, o, u)), o
            }
        });
        var Ot = function(e) {
            if ((1 === e || 0 === e) && this.data._totalTime === this.data._totalDuration && "isFromStart" !== this.data.data) {
                var t, n, r, i, s = this.t.style,
                    o = u.transform.parse;
                if ("all" === this.e) s.cssText = "", i = !0;
                else
                    for (t = this.e.split(","), r = t.length; --r > -1;) n = t[r], u[n] && (u[n].parse === o ? i = !0 : n = "transformOrigin" === n ? Et : u[n].p), Lt(s, n);
                i && (Lt(s, bt), this.t._gsTransform && delete this.t._gsTransform)
            }
        };
        for (mt("clearProps", {
                parser: function(e, t, r, i, s) {
                    return s = new ht(e, r, 0, 0, s, 2), s.setRatio = Ot, s.e = t, s.pr = -10, s.data = i._tween, n = !0, s
                }
            }), a = "bezier,throwProps,physicsProps,physics2D".split(","), dt = a.length; dt--;) gt(a[dt]);
        a = o.prototype, a._firstPT = null, a._onInitTween = function(e, t, u) {
            if (!e.nodeType) return !1;
            this._target = e, this._tween = u, this._vars = t, f = t.autoRound, n = !1, r = t.suffixMap || o.suffixMap, i = V(e, ""), s = this._overwriteProps;
            var a, h, d, v, m, g, y, b, w, S = e.style;
            if (l && "" === S.zIndex && (a = $(e, "zIndex", i), ("auto" === a || "" === a) && (S.zIndex = 0)), "string" == typeof t && (v = S.cssText, a = Q(e, i), S.cssText = v + ";" + t, a = G(e, a, Q(e)).difs, !q && E.test(t) && (a.opacity = parseFloat(RegExp.$1)), t = a, S.cssText = v), this._firstPT = h = this.parse(e, t, null), this._transformType) {
                for (w = 3 === this._transformType, bt ? c && (l = !0, "" === S.zIndex && (y = $(e, "zIndex", i), ("auto" === y || "" === y) && (S.zIndex = 0)), p && (S.WebkitBackfaceVisibility = this._vars.WebkitBackfaceVisibility || (w ? "visible" : "hidden"))) : S.zoom = 1, d = h; d && d._next;) d = d._next;
                b = new ht(e, "transform", 0, 0, null, 2), this._linkCSSP(b, null, d), b.setRatio = w && St ? Nt : bt ? Ct : Tt, b.data = this._transform || xt(e, i, !0), s.pop()
            }
            if (n) {
                for (; h;) {
                    for (g = h._next, d = v; d && d.pr > h.pr;) d = d._next;
                    (h._prev = d ? d._prev : m) ? h._prev._next = h: v = h, (h._next = d) ? d._prev = h : m = h, h = g
                }
                this._firstPT = v
            }
            return !0
        }, a.parse = function(e, t, n, s) {
            var o, a, l, c, h, p, d, v, m, g, y = e.style;
            for (o in t) p = t[o], a = u[o], a ? n = a.parse(e, p, o, this, n, s, t) : (h = $(e, o, i) + "", m = "string" == typeof p, "color" === o || "fill" === o || "stroke" === o || -1 !== o.indexOf("Color") || m && x.test(p) ? (m || (p = ut(p), p = (p.length > 3 ? "rgba(" : "rgb(") + p.join(",") + ")"), n = pt(y, o, h, p, !0, "transparent", n, 0, s)) : !m || -1 === p.indexOf(" ") && -1 === p.indexOf(",") ? (l = parseFloat(h), d = l || 0 === l ? h.substr((l + "").length) : "", ("" === h || "auto" === h) && ("width" === o || "height" === o ? (l = et(e, o, i), d = "px") : "left" === o || "top" === o ? (l = K(e, o, i), d = "px") : (l = "opacity" !== o ? 0 : 1, d = "")), g = m && "=" === p.charAt(1), g ? (c = parseInt(p.charAt(0) + "1", 10), p = p.substr(2), c *= parseFloat(p), v = p.replace(b, "")) : (c = parseFloat(p), v = m ? p.substr((c + "").length) || "" : ""), "" === v && (v = r[o] || d), p = c || 0 === c ? (g ? c + l : c) + v : t[o], d !== v && "" !== v && (c || 0 === c) && (l || 0 === l) && (l = J(e, o, l, d), "%" === v ? (l /= J(e, o, 100, "%") / 100, l > 100 && (l = 100), t.strictUnits !== !0 && (h = l + "%")) : "em" === v ? l /= J(e, o, 1, "em") : (c = J(e, o, c, v), v = "px"), g && (c || 0 === c) && (p = c + l + v)), g && (c += l), !l && 0 !== l || !c && 0 !== c ? void 0 !== y[o] && (p || "NaN" != p + "" && null != p) ? (n = new ht(y, o, c || l || 0, 0, n, -1, o, !1, 0, h, p), n.xs0 = "none" !== p || "display" !== o && -1 === o.indexOf("Style") ? p : h) : U("invalid " + o + " tween value: " + t[o]) : (n = new ht(y, o, l, c - l, n, 0, o, f !== !1 && ("px" === v || "zIndex" === o), 0, h, p), n.xs0 = v)) : n = pt(y, o, h, p, !0, null, n, 0, s)), s && n && !n.plugin && (n.plugin = s);
            return n
        }, a.setRatio = function(e) {
            var t, n, r, i = this._firstPT,
                s = 1e-6;
            if (1 !== e || this._tween._time !== this._tween._duration && 0 !== this._tween._time)
                if (e || this._tween._time !== this._tween._duration && 0 !== this._tween._time || this._tween._rawPrevTime === -1e-6)
                    for (; i;) {
                        if (t = i.c * e + i.s, i.r ? t = t > 0 ? 0 | t + .5 : 0 | t - .5 : s > t && t > -s && (t = 0), i.type)
                            if (1 === i.type)
                                if (r = i.l, 2 === r) i.t[i.p] = i.xs0 + t + i.xs1 + i.xn1 + i.xs2;
                                else if (3 === r) i.t[i.p] = i.xs0 + t + i.xs1 + i.xn1 + i.xs2 + i.xn2 + i.xs3;
                        else if (4 === r) i.t[i.p] = i.xs0 + t + i.xs1 + i.xn1 + i.xs2 + i.xn2 + i.xs3 + i.xn3 + i.xs4;
                        else if (5 === r) i.t[i.p] = i.xs0 + t + i.xs1 + i.xn1 + i.xs2 + i.xn2 + i.xs3 + i.xn3 + i.xs4 + i.xn4 + i.xs5;
                        else {
                            for (n = i.xs0 + t + i.xs1, r = 1; i.l > r; r++) n += i["xn" + r] + i["xs" + (r + 1)];
                            i.t[i.p] = n
                        } else -1 === i.type ? i.t[i.p] = i.xs0 : i.setRatio && i.setRatio(e);
                        else i.t[i.p] = t + i.xs0;
                        i = i._next
                    } else
                        for (; i;) 2 !== i.type ? i.t[i.p] = i.b : i.setRatio(e), i = i._next;
                else
                    for (; i;) 2 !== i.type ? i.t[i.p] = i.e : i.setRatio(e), i = i._next
        }, a._enableTransforms = function(e) {
            this._transformType = e || 3 === this._transformType ? 3 : 2, this._transform = this._transform || xt(this._target, i, !0)
        }, a._linkCSSP = function(e, t, n, r) {
            return e && (t && (t._prev = e), e._next && (e._next._prev = e._prev), e._prev ? e._prev._next = e._next : this._firstPT === e && (this._firstPT = e._next, r = !0), n ? n._next = e : r || null !== this._firstPT || (this._firstPT = e), e._next = t, e._prev = n), e
        }, a._kill = function(t) {
            var n, r, i, s = t;
            if (t.autoAlpha || t.alpha) {
                s = {};
                for (r in t) s[r] = t[r];
                s.opacity = 1, s.autoAlpha && (s.visibility = 1)
            }
            return t.className && (n = this._classNamePT) && (i = n.xfirst, i && i._prev ? this._linkCSSP(i._prev, n._next, i._prev._prev) : i === this._firstPT && (this._firstPT = n._next), n._next && this._linkCSSP(n._next, n._next._next, i._prev), this._classNamePT = null), e.prototype._kill.call(this, s)
        };
        var Mt = function(e, t, n) {
            var r, i, s, o;
            if (e.slice)
                for (i = e.length; --i > -1;) Mt(e[i], t, n);
            else
                for (r = e.childNodes, i = r.length; --i > -1;) s = r[i], o = s.type, s.style && (t.push(Q(s)), n && n.push(s)), 1 !== o && 9 !== o && 11 !== o || !s.childNodes.length || Mt(s, t, n)
        };
        return o.cascadeTo = function(e, n, r) {
            var i, s, o, u = t.to(e, n, r),
                a = [u],
                f = [],
                l = [],
                c = [],
                h = t._internals.reservedProps;
            for (e = u._targets || u.target, Mt(e, f, c), u.render(n, !0), Mt(e, l), u.render(0, !0), u._enabled(!0), i = c.length; --i > -1;)
                if (s = G(c[i], f[i], l[i]), s.firstMPT) {
                    s = s.difs;
                    for (o in r) h[o] && (s[o] = r[o]);
                    a.push(t.to(c[i], n, s))
                }
            return a
        }, e.activate([o]), o
    }, !0)
}), window._gsDefine && window._gsQueue.pop()()
                                    

#19 JavaScript::Eval (size: 72, repeated: 1) - SHA256: ae04b2e33b1d6ed474c292a9d937aeb3e896efe4b6d0c3150b9fa6beefd99319

                                        ({
    "selector": ".home .page_content",
    "selectorOption": "before"
})
                                    

#20 JavaScript::Eval (size: 14586, repeated: 1) - SHA256: b9655a356bba24e951be69525f59642b5f98879dc524cf2710f4dcb98b308c74

                                        ({
    "LanguageCode": "en",
    "Html": "&lt;div id=&quot;ft-quote&quot;&gt;&lt;div id=&quot;ft-quote-text&quot;&gt;We had an amazing room! The bed was way toComfortable...we never eanted to get out of it.&lt;/div&gt; &lt;div id=&quot;ft-quote-timestamp&quot;&gt;March 22nd&lt;/div&gt;&lt;a id=&quot;ft-quote-hide&quot; href=&quot;#&quot; title=&quot;Hide&quot; aria-describedby=&quot;ft-quote&quot; onclick=&quot;jQuery(\&#39;#ft-quote\&#39;).hide();return false;&quot;&gt;&lt;/a&gt;&lt;div id=&quot;ft-quote-tail&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id=&quot;ft-action&quot;&gt;&lt;div id=&quot;ft-action-text&quot;&gt;&lt;div class=&quot;flipto-paragraph&quot;&gt;&lt;img class=&quot;flipto-profile&quot; src=&quot;https://graph.facebook.com/v2.9/1937615269641981/picture?width=150&amp;height=150&quot; alt=&quot;Laura&quot;onerror=\&#39;this.src=&quot;//flip.to/media/img/default-profile.png&quot;;\&#39; /&gt; Laura, one of our recent guests, has just unleashed a wave of &lt;strong&gt;complimentary gift shop and Legacy Pro Shop discounts&lt;/strong&gt;. Unlock one now. &lt;br/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id=&quot;ft-action-btn&quot;&gt;&lt;a id=&quot;ft-dialog-show&quot; href=&quot;#&quot;&gt;Unlock Now&lt;/a&gt;&lt;/div&gt;&lt;div id=&quot;ft-dialog&quot;&gt;&lt;a id=&quot;ft-dialog-hide&quot; href=&quot;#&quot; title=&quot;Close&quot; aria-describedby=&quot;ft-dialog&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;",
    "Css": ".flipto-profile{width:60px;height:60px;-webkit-border-radius:60px;-moz-border-radius:60px;border-radius:60px;text-align:center;overflow:hidden;border:1px solid rgba(0,0,0,.5);-webkit-box-shadow:0 3px 5px rgba(0,0,0,.5),inset 0 3px 2px rgba(255,255,255,.4),inset 0 -3px 3px rgba(255,255,255,.4);-moz-box-shadow:0 3px 5px rgba(0,0,0,.5),inset 0 3px 2px rgba(255,255,255,.4),inset 0 -3px 3px rgba(255,255,255,.4);box-shadow:0 3px 5px rgba(0,0,0,.5),inset 0 3px 2px rgba(255,255,255,.4),inset 0 -3px 3px rgba(255,255,255,.4);background-position:center center;background-repeat:no-repeat;background-size:cover}.flipto-profile-color1{background-color:#aabdcf}.flipto-profile-color2{background-color:#a1be81}.flipto-profile-color3{background-color:#d9ac60}.flipto-profile-color4{background-color:#cd8c92}.flipto-profile-color5{background-color:#bbb2cd}.flipto-profile-color6{background-color:#ccc}.flipto-profile-m1{background-image:url(//flip.to/assets/img/silhouettes/flipto-profile-m1.png)}.flipto-profile-m2{background-image:url(//flip.to/assets/img/silhouettes/flipto-profile-m2.png)}.flipto-profile-m3{background-image:url(//flip.to/assets/img/silhouettes/flipto-profile-m3.png)}.flipto-profile-f1{background-image:url(//flip.to/assets/img/silhouettes/flipto-profile-f1.png)}.flipto-profile-f2{background-image:url(//flip.to/assets/img/silhouettes/flipto-profile-f2.png)}.flipto-profile-f3{background-image:url(//flip.to/assets/img/silhouettes/flipto-profile-f3.png)}.flipto-profile-u1{background-image:url(//flip.to/assets/img/silhouettes/flipto-profile-u1.png)}.flipto-profile-u2{background-image:url(//flip.to/assets/img/silhouettes/flipto-profile-u2.png)}.flipto-profile-u3{background-image:url(//flip.to/assets/img/silhouettes/flipto-profile-u3.png)}.flipto-profile-u4{background-image:url(//flip.to/assets/img/silhouettes/flipto-profile-u4.png)}.flipto-profile-u5{background-image:url(//flip.to/assets/img/silhouettes/flipto-profile-u5.png)}.flipto-profile-u6{background-image:url(//flip.to/assets/img/silhouettes/flipto-profile-u6.png)}.flipto-profile-u7{background-image:url(//flip.to/assets/img/silhouettes/flipto-profile-u7.png)}#ft-landing{color:#333;font-family:&quot;Segoe UI&quot;,&quot;Helvetica Neue&quot;,Arial,Sans-Serif;font-size:14px;text-align:left}#ft-quote{position:relative;padding:10px 12px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-moz-box-shadow:0 1px 12px #000;-webkit-box-shadow:0 1px 129px #000;box-shadow:0 1px 12px #000}#ft-quote-text{font-family:Georgia,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1.2em;line-height:1.3em}#ft-quote-timestamp{color:#666;font-size:.8em;margin:4px 0 0 0}#ft-quote-tail{position:absolute;bottom:-12px;left:6px;width:16px;height:13px}#ft-action{color:#fff;padding:8px 10px 2px 14px;z-index:10}#ft-action-btn{text-align:center}#ft-action-btn a{margin:15px auto;color:#333;font:bold 12px Helvetica,Arial,sans-serif;text-decoration:none;padding:7px 12px;position:relative;display:inline-block;text-shadow:0 1px 0 #fff;-webkit-transition:border-color .218s;-moz-transition:border .218s;-o-transition:border-color .218s;transition:border-color .218s;background:#f3f3f3;background:-webkit-gradient(linear,0% 40%,0% 70%,from(#f5f5f5),to(#f1f1f1));background:-moz-linear-gradient(linear,0% 40%,0% 70%,from(#f5f5f5),to(#f1f1f1));border:solid 1px #dcdcdc;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px}#ft-action-btn a:hover{color:#333;border-color:#999;-moz-box-shadow:0 2px 0 rgba(0,0,0,.2) -webkit-box-shadow:0 2px 5px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.15)}#ft-action-btn a:active{color:#000;border-color:#444;top:1px}.flipto-profile{float:left;margin:-10px 10px 0 0}#ft-quote{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAUSURBVBhXY/z3799HBiBgAhEgAAA9BAPvb7BpTQAAAABJRU5ErkJggg==)}#ft-quote-tail{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAANCAYAAACgu+4kAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEASURBVDhPY/z//3/8v3//nBiIBExMTMWMjIxvYMoZv337JsvBwXEKKMBFhBk/gQaIIatj4uLiegw0sZYIzQxA1z5DV8cEEmhsbJwHpPYSMgRo0U90NYwwAaDpIkB8BMiXxGPQU6AXtFC8AA8MYMD8/v07CMj/iMcAaZBFWA0ACbKzs18DOjMKyPyGy5C/f/+a4TQAJAE04MifP3/8gcy32AwByocTCiuw/Pfv3xWA6WMzEH9ExkAXvAN6Q5coQ0CKgK6JBBpwDc2gbUQbAFIItJELaHM5EN+CGQQUSyHJEJDi/fv3swBdFAQ0ZAMQP/rx44cqyYbANHz69EkY6ApTAOOokQT4ajS8AAAAAElFTkSuQmCC) no-repeat top left}#ft-action,#ft-dialog{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAUSURBVBhXY2RgYNgMxGDABGNgcAAZFQC5zIB89QAAAABJRU5ErkJggg==)}#ft-quote-hide{display:none;width:24px;height:26px;position:absolute;top:-10px;right:-10px;background:no-repeat top left;background-image:url(&#39;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAA1CAYAAABbRSsQAAAEg0lEQVRYCe1WXWhcRRSe6x/qQ2kTsSTWPhgMWHBBDKYkgiwoBdt0xUddEh9KMTStgT5IfAz0IYGAMVYLLdR9WB8sBUNqJNEgNFVi2goNQkxNIaGNYY1ucINZYZOO33f33tk7d+ZubDf75oGzO3PmnO+bnzNnriOlFFHiOE4txvZDm6B10BooJQtdhl6DTgHjT/xbxbERAJhAb0FfhT5ojSwZN9H8Fvo5sEisiUEA8JfgcRL6uOa5dWcdLgMgmQ66agQAb8PgEegDQad7aN+F7zmQjPgxCsibeSXgxCTeEQ/L5XBXAAP3/FPovW6LC2L54XZ18kz8FfBADfBDZ248nJXykFz6poEHU5J2cWVF7pObfxyYPNVsSwJiEdMVpuKXUO6b0uZTV0fzmIKSzPgcSDDePjK5KheVXWbllZ7mr4KxXpuYtVwB89yYRWey6elHMaDkydcaf1z6qeHGSmrfyzvFXmUXu0TrKy8+VuqrFjH3k4CXyJB3utILt++KgjZQ/8JzsSfEM5ptYz7/0elP/tZspU4TCXhDTRlJir1vpMcMkqAnwVufnXiPG2uXOgf2L6C2JRZDOr535GctB834VZFurrmUnDZHApY8V1BG2sXkhy3P2x12ibdHxhv17DI9SWDUj6IbwFdTMf1AQwA8+Mx4I69/hLj3gFXRkMGfU7sN8MJfubUNkdecQXJx+JhxhzyfZa6AJdeQm7eya5qRB/rIzss73kxPhA9+ZXlRz7ZS4DUSTEFZcjU5nahd77+6/oNrLMzl3GxhJ5Rdq2Pvf/fUu5dsBMSc8mtRFzoHGB+Wto7jjkgNlcqjcmgTxzsyzlBqOurFGsNt/9gnqG6xAxMzaQDKel6pEIMPj5ud6h7AwCtzDloJCWP54Kjr524RjEq8x+IkDFGpp3xDDb4B5Z9MP8B7gKrz6Psk/AdRLf62/7MlSFJpWx1ypUBR8f8TRO2Msj+kWpYGsmgPzAkoX7QGaD2U8hv0FpRfE8O4WHfwbxcMirDCk0BnoRtQFrNySh/61odx2LeBH4ZzbgtQGyFjDodJNAI4nICyjtsA/ouNsSeCJIoAA5x5JeD+BIihVuISwMA9v59t8UHD/8Ryz8Qn4CGFnWS8dxhfnijsMxdkTBtPyK/nc1IWMjLdHTPiPKyz7iGjw1Q0siXWfUEGP35zsz4JwBcKiPUlK9NHrSTEJLY4BjVmMXgdMwxJdmZCXp4P0hYd5s8njXgPk9hi1EYg4n1Sm2iITHXzs7Inbk7QwyS2mLMScFVbkRA8FgnOVRFb8AMraolSJNJqsnojK/vKgxPT/XgrQ8ADNffcJyodfOQEXYKILQpniw+r/5MkHr0D7hZZD7l3IqMjsZfLyKxlQbNnIrNolC8aS64hN38NVeB/fhEf7Ngtal7vF4vM8ICs/L4U6GlNF5uXgSHGQfcMzxZXkZvRsyWQXdfPHzXiPCxi7ilbKugYTyQj9jgukwnrDfYJi6UCUwROlYudR1K9ck0Cj6R6D06AhCu5n7dh6yczQLJtj77x+c4T92U7Plv+BblbpEdf38JCAAAAAElFTkSuQmCC&#39;)}#ft-quote-hide:hover{background-position:0 -29px}#ft-landing.ft-animated #ft-quote,#ft-landing.ft-animated #ft-action{display:none}#ft-dialog{display:none;position:absolute;width:600px;padding:10px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}#ft-dialog-hide{display:block;position:absolute;right:-12px;top:-12px;background:url(//flip.to/media/img/btn-dialog-close.png) no-repeat 0 0;height:31px;width:31px}#ft-dialog-hide:hover{background-position:0 -32px}#ft-dialog iframe{width:100%;height:250px}#ft-landing.ft-right{width:380px}#ft-landing.ft-right #ft-quote{-moz-border-radius-topright:0;-moz-border-radius-bottomright:0;-webkit-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}#ft-landing.ft-right #ft-action{margin:0 0 0 11px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}#ft-landing.ft-right #ft-dialog{bottom:-150px;right:40px}#ft-landing.ft-bottom{position:relative}#ft-landing.ft-bottom #ft-quote{width:360px;position:absolute;bottom:54px;left:8px}#ft-landing.ft-bottom #ft-action{padding-top:10px;padding-left:30px;-moz-border-radius-bottomright:6px;-moz-border-radius-bottomleft:6px;-webkit-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}#ft-landing.ft-bottom #ft-action-text{width:440px;padding:0 0 15px 0}#ft-landing.ft-bottom #ft-action-btn{position:absolute;top:-4px;right:10px}#ft-landing.ft-bottom #ft-dialog{bottom:50px;right:20px}#ft-landing.ft-footer{position:relative;width:960px;margin:0 auto}#ft-landing.ft-footer #ft-quote{width:440px;position:absolute;bottom:62px;left:8px}#ft-landing.ft-footer #ft-action{padding-top:10px;padding-left:30px;-moz-border-radius-topright:6px;-moz-border-radius-topleft:6px;-webkit-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}#ft-landing.ft-footer #ft-action-text{width:600px;padding:0 0 15px 0;line-height:1.4em!important}#ft-landing.ft-footer #ft-action-btn{position:absolute;top:-4px;right:10px}#ft-landing.ft-footer #ft-dialog{bottom:50px;right:20px}#fliptoFrame{height:80px;width:100%}/* -------------------------------------------------- Reset legacy defaults */#ft-landing{color:inherit;font-family:inherit;font-size:inherit;text-align:inherit}#ft-quote{position:initial;padding:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}#ft-quote-text{font-family:inherit;font-size:inherit;line-height:inherit}#ft-quote-timestamp{color:inherit;font-size:inherit;margin:0}#ft-quote-tail{position:initial;bottom:auto;left:auto;width:auto;height:auto}#ft-action{color:inherit;padding:0;z-index:inherit}#ft-action-btn{text-align:inherit}#ft-action-btn a{margin:0;color:inherit;font:inherit;text-decoration:none;padding:0;position:initial;display:initial;text-shadow:none;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;background:inherit;border:0;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}#ft-action-btn a:hover{color:inherit;border-color:inherit;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}#ft-action-btn a:active{color:inherit;border-color:inherit;top:auto}#ft-landing .flipto-profile{float:none;margin:0}#ft-quote{background:none}#ft-quote-tail{background:none}#ft-action{background:none}/* -------------------------------------------------- End Reset legacy defaults *//* -------------------------------------------------- Foundation styles */#ft-landing,#ft-landing *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#ft-landing strong b,#ft-landing strong{font-weight:bold}/* -------------------------------------------------- End Foundation styles *//* -------------------------------------------------- Dialog styles */#ft-dialog{display:none;position:fixed;top:250px;right:50%;margin-right:-300px;padding:10px;width:600px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;z-index:1000;background:rgba(0,0,0,.5);box-sizing:content-box}#ft-dialog-hide{display:block;position:absolute;right:-12px;top:-12px;background:url(//flip.to/media/img/btn-dialog-close.png) no-repeat 0 0;height:31px;width:31px}#ft-dialog-hide:hover{background-position:0 -32px}a#ft-dialog-hide{-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none}#ft-dialog iframe{width:100%;height:250px}#fliptoFrame{height:80px;width:100%}/* -------------------------------------------------- End Dialog styles *//* -------------------------------------------------- Template 1 */#ft-landing{position:relative;margin:0 auto;padding:20px 15px 25px;font-size:14px;line-height:1.4;color:#fff;background-color:#40494f}#ft-quote,#ft-action{width:100%;max-width:960px;padding-left:95px;margin-left:auto;margin-right:auto}#ft-quote-text{font-size:1.4em;display:inline}#ft-quote-text:before,#ft-quote-text:after{content:&#39;&quot;&#39;}#ft-quote-timestamp{display:inline-block;font-size:.8em;opacity:.5}#ft-action-text{display:inline-block;vertical-align:middle;width:95%;max-width:45em;margin:0 30px 0 0;padding:1em 0 0;color:#66ab75}#ft-action-btn{display:inline-block;vertical-align:middle;padding:1em 0 0;font-family:inherit}#ft-action-btn a,#ft-action-btn a:hover{display:inline-block;min-width:160px;margin:0;padding:10px 20px;background:#66ab75;border:0;border-radius:4px;color:#fff;font-weight:bold;text-align:center;text-transform:uppercase;text-decoration:none}#ft-action-btn a:hover{background:#39a072}#ft-landing .flipto-profile{position:absolute;top:20px;transform:translateX(-90px);width:70px;height:70px}@media(max-width:768px){#ft-landing{display:none !important}}/* -------------------------------------------------- End Template 1 *//* -------------------------------------------------- Customize Template 1 */#ft-landing{background:#f2f0e5}#ft-quote-text{font-family:&#39;tahoma&#39;;font-size:1.4em;font-weight:normal;color:#4c4c4c}#ft-action-text{font-family:Helvetica,Arial,sans-serif;font-size:14px;font-weight:normal;line-height:1.4;color:#177376;padding-top:.25em}#ft-action-btn{padding-top:.25em}#ft-action-btn a,#ft-action-btn a:hover{background:#177376;color:#fff;border-radius:0;font-family:Helvetica,Arial,sans-serif;font-size:14px;font-weight:normal}#ft-action-btn a:hover{background:#000}#ft-landing .flipto-profile{top:15px;width:65px;height:65px}@media(min-width:769px){.slider_wrap{margin-bottom:auto}#ft-landing{margin-bottom:40px}}/* -------------------------------------------------- End Customize Template 1 */#ft-quote-timestamp{color:#000 !important}",
    "Settings": "{    &quot;selector&quot;: &quot;.home .page_content&quot;,    &quot;selectorOption&quot;: &quot;before&quot;}"
})
                                    

#21 JavaScript::Eval (size: 39240, repeated: 1) - SHA256: 4cbfaaca8068cd5ed11bf3a5ae94babc8f5b265eaacea7f0182082e25a204b43

                                        /**********************START USER INPUT**************************************/
var cybData = {};

function addshopInitPortal() {
    cybData.curVersion = 'V3.21'; // Current Framework Version

    /** Start Trigger Rules **/
    cybData.exitIntent = true; // true/false
    cybData.onClose = false; // true/false
    cybData.onCloseBackButton = false; // true if back button "fix" for cybData.onClose is needed (may break some pages)
    cybData.deskInactivity = 300; //time in seconds
    cybData.mobileInactivity = 0; //time in seconds
    cybData.mobileExit = false; // true/false - Firings on buttons from browser/OS
    cybData.ABtest = [50, 50]; //Percentage of Firing per agent - sets Cookie "CYB_AB" with the index of the agent to be fired
    cybData.sessionMgmt = 2; // time in hours until panel can be shown again
    cybData.triggerSensitivity = 0.75; // time in seconds for mouse to be outside of browser to delay firing panel 
    cybData.triggerAreas = "top"; //top, right, left - delete or add values as needed
    cybData.fireTowardsX = [false, 25, 75]; // True if only firing panel when users goes towards the corners of the browser, % for left hand side, % for right hand side
    cybData.xTracking = [false, 40]; //track engagement on X button click. True for yes, then added a number for percent of the time
    /** End Trigger Rules **/

    /** Start Social Sharing **/
    cybData.socialSharingEnabled = false;
    /** End Social Sharing **/

    /** Start Other Functionalities **/
    onloadFunctionsCYB(); // Set up onload functionalities in this function - optional
    pollingFunctionsCYB(); // Set up functions to poll, add seconds for interval - optional
    cybData.excludedUrls = '(URLREGEX)'; // Regex for pages where the panel should not fire - optional
    fireOnLoadPanelsCYB(false, 'URL', 'CAMPAIGNID', true); //For Firing Panel onload - true for enabled, url to match,campaign id, true/false for cybData.sessionMgmt -optional
    /** End Other Functionalities **/

    /** Start Other Settings **/
    cybData.cookieStaging = false; //Initalizes cookie staging mode if true and panel will only fire with the cookie - MUST BE FALSE WHEN LIVE (cybbatest=true)
    cybData.cookieStorage = true; //Only set to false if client says no to cookies, must leverage local storage instead
    cybData.isFullScreen = true; // FullScreen Panel - USE FOR ALL NET NEW CLIENTS, only set to false if FullHeight class is removed and circle X is used (In the HTML)
    /** End Other Settings **/


    //Do not modify below line  
    displayTriggersCYB(cybData.exitIntent, cybData.onClose, cybData.deskInactivity, [cybData.mobileInactivity, cybData.mobileExit], cybData.sessionMgmt, cybData.ABtest, cybData.triggerAreas, cybData.fireTowardsX);



}

//Code all things you need to have excute on load here
function onloadFunctionsCYB() {}

//Code all things you need to have excuted on a polling basis here
function pollingFunctionsCYB() {}

// Criteria Filters Here
function cybbaFilters() {

    // All Stays From December 18th thru April 1st 2018
    if ((new Date(document.querySelectorAll("[ng-show='datesOfStay']")[0].innerText.split('-')[0] + ' 2018') >= new Date(2018, 02, 19, 0, 0, 0, 0))) {
        if (window.location.href.indexOf("datesofstay") === -1) {
            travelClickCYB("5a8ed79abbddbddfb896b94f")
        }
    }
    //5a6ba19ebbddbd0ab639c2cb
    else if ((new Date(document.querySelectorAll("[ng-show='datesOfStay']")[0].innerText.split('-')[0] + ' 2018') >= new Date(2017, 3, 1, 0, 0, 0, 0) && new Date(document.querySelectorAll("[ng-show='datesOfStay']")[0].innerText.split('-')[0] + ' 2018') < new Date(2018, 02, 19, 0, 0, 0, 0))) {
        if (window.location.href.indexOf("datesofstay") === -1) {
            travelClickCYB("5a1c2cf678f2f2b66252662c");
        }
    } else {
        if (window.location.href.indexOf("datesofstay") === -1) {
            travelClickCYB("59e633c0d55930effa61c26b");
        }
    }
}


// Helper for setting up Social Sharing tool
function socialSharingHelperCYB(on) {
    if (on) {
        var confirmationPageRegex = '(\/complete)'; //Regex for confirmation page URL
        var campaignid = "5966466ebbddbd670671cc1c";
        var testingMode = false; //Allows Social Sharing to be fired on any page with ss=true parameter or staging cookie
        var removeBranding = true; // leave as true unless otherwise asked by sales/am
        var useCustomLink = false; // use RTB link or organic link
        var cookieStoreData = false; // Set to true if you need to use cookies for product data (if the protocol changes from cart to checkout)
        var cartURL = '(\/basket)'

        var storageVal = !cookieStoreData ? localStorage.getItem("CYB_PROD") : AddShopPortal.cookieGet("CYB_PROD")
            //Any special filtering for grabbing the Cart items here
        setTimeout(function() {
            if (window.location.href.match(new RegExp(cartURL))) {
                var snippetHeader = 'Share Your Purchase'; //Header at the top of sharing box
                var snippetImage = ''; //Image to be shown on social post- use selector or https link
                var snippetName = ''; //Product/Site name to be shown on the social post -use selector or type site name and title
                var snippetDescription = ''; //Description to be shown on the social post -use selector or type site name and title
                var snippetUrl = ''; //URL to be redirected to on the social post -use selector or type site name and title - add tracking parameters if need be here
                grabCartItemsCYB([snippetHeader, snippetImage, snippetName, snippetDescription, snippetUrl], useCustomLink, cookieStoreData);
            }

            //Any special filtering for firing
            else if (((!testingMode && window.location.href.match(new RegExp(confirmationPageRegex))) || !!~window.location.href.indexOf("as=true&ss=true")) && storageVal !== "undefined" && storageVal !== "" && storageVal !== undefined)
                socialSharingCYB(confirmationPageRegex, campaignid, testingMode, removeBranding, cookieStoreData);
        }, 500)
    }
}

/*********************** END USER INPUT *****************************/

if (typeof addshop_load_portal === 'undefined') { //onload load this stuff once 
    var addshop_load_portal = false;
    AddShoppersPortalConfig = {
        peek: false, //perform peek animation on intial page view
        peekNoOverlay: false, //perform peek animation with no overlay on initial page view
        peekDuration: 5000, //in miliseconds
        peekCookieLifetime: 30, //in days
        ViewedCookieLifetime: 30, //in days
        showFullPillMessageAlways: true, //show pill message even if no notifcations
        abandonTitleFlash: true, //flash pill message in page title when user goes to another tab
        staticIcon: true, //force using of a static icon instead of user image
        staticIconUrl: "", //try to use HTTPS otherwise it may break secure pages
        setIconToUserIfLoggedIn: true, //if user is signed in change to their icon?
        changeToUserIcon: true,
        changeOfferToUsername: true, //add users name in portal main offer text heading at top
        textAfterUserName: "'s Offers", //heading text this example would be "Chad's Offers"
        enablePillAnimations: true,
        enableSlideAnimations: true,
        trackGA: false, //enable tracking in GA
        trackGAPageViews: false, //enable tracking to use page views in GA
        trackGAEvents: false, // enable tracking to use events in GA
        embededOnPage: false,
        embededOnPageId: "#SOMEID", //testembed
        bottomScrollBuffer: 200, //in pixels, how far below bottom before loading next campaigns on scroll
        allowClosingOfPill: true, //allow little X to close out / hide pill
        hidePillLifetime: 10, //how long the pill will be hidden if closed out (in minutes)
        hidePillMessageAfterFirstView: true, //hide pill message text after first page view
        hidePillMessageLifetime: 1, //how long to hide the pill message text 9in days)
        enableInstagram: true, //enable instagram campaign if campaign is setup
        instagramUrl: "https://api.instagram.com/v1/users/self/media/recent/?access_token=XXX" //url for instagram feed
    };

    if (document.URL.search("pdev=true") > 0) { //dev to test consoles errors
        //--- DEV css/js
        loadStyleCYB("https://i.addshoppers.com/drawerapp/v2/css/style.css?v=1");
        loadJavascriptCYB("https://i.addshoppers.com/drawerapp/v2j/js/portalv2mod.js?v=1", "AddShoppersPortal2", addshopInitPortal);
    } else {
        //--- LIVE css/js
        loadStyleCYB("https://s3.amazonaws.com/addshoppers-product/portalv2style.min.css?v=1");
        loadJavascriptCYB("https://s3.amazonaws.com/addshoppers-product/portalv2.min.js?v=1", "AddShoppersPortal2", addshopInitPortal);
    }

} //end if addshop_load_portal


function fireOnLoadPanelsCYB(on, url, cid, mgmt) {
    var curLocation = window.location.href.replace(window.location.search, '');
    if (url === curLocation && on) {
        cybData.loadCID = cid;
        loadMgmt = mgmt;
        AddShopPortal.init(AddShoppersPortalConfig);
    }
}

function excludedUrlMatchCYB() {
    if (cybData.excludedUrls === '' || cybData.excludedUrls === undefined)
        return false;
    else if (window.location.href.match(new RegExp(cybData.excludedUrls)))
        return true
    else
        return false;
}

function createIntervalCYB() {
    cybData.cybIntervalTimer = setInterval(function() {
        AddShopPortal.init(AddShoppersPortalConfig);
        clearInterval(cybData.cybIntervalTimer);
    }, cybData.triggerSensitivity * 1000)
}

function initCYB() {
    cybData.pageFlag = false, cybData.socialFlag = false;

    if (cybData.cookieStaging || !!~window.location.href.indexOf("as=true"))
        console.log('Cybba Staging Mode: ' + returnVersionCYB())

    if (pollingFunctionsCYB.toString().trim() !== 'function(){}')
        cybData.poller = setInterval(pollingFunctionsCYB, 1500);


    cybData.xChecker = setInterval(removeRogueXCYB, 1500);
    cybData.sessionMgmt = cybData.sessionMgmt / 24; //reset cybData.sessionMgmt to days from hours
    checkSessionMgmtCYB();

    if (cybData.isFullScreen)
        window.addEventListener('resize', moveXCYB);

    AddShoppersWidget.API.Behavioral.getCampaigns(function(data, i) {
        cybData.cybIds = [];
        for (var i in data)
            cybData.cybIds.push(data[i]["campaign_id"])
    });

    setTimeout(function() {
        socialSharingHelperCYB(cybData.socialSharingEnabled)
    }, 500);

}

function displayTriggersCYB(exitIntent, onClose, inactivity, mobile, sessionMgmt, ab, triggerAreas, fireTowardsX) {
    if (((cybData.cookieStaging && !!~document.cookie.indexOf("cybbatest")) || !cybData.cookieStaging) && !excludedUrlMatchCYB()) { //Only runs in Staging or if URL is not excluded

        initCYB();
        triggerAreas = triggerAreas.replace(/\s+/g, '');
        if (exitIntent && !fireTowardsX[0]) { // Sets Exit Intent trigger on any defined edges
            if (!isIECYB()) {
                document.addEventListener("mouseout", function(e) {
                    e = e ? e : window.event;
                    if (AddShopPortal.mouseOutThreshold(e, triggerAreas) && !checkStoredValueCYB("CYBSession") && !cybData.pageFlag) { //direction can be top, bottom, left, right, can do miltiple "top,left,right"
                        createIntervalCYB();

                    }

                }, false);
            } else {
                //console.log("isIE panel")
                document.querySelector("html").addEventListener("mouseleave", function(e) {
                    if (e.clientY <= 15 && e.pageY <= 15 && !checkStoredValueCYB("CYBSession") && !cybData.pageFlag) {
                        //console.log("left html with clientY:" + e.clientY + " and pageY:" + e.pageY )
                        createIntervalCYB()
                    }
                })
            }
            document.addEventListener("mouseenter", function(e) {
                e = e ? e : window.event
                clearInterval(cybData.cybIntervalTimer);
            }, false)
        } else if (exitIntent && fireTowardsX[0]) { // Sets Exit Intent trigger on only the top cornders
            if (!isIECYB()) {
                document.addEventListener("mouseout", function(e) {
                    e = e ? e : window.event;
                    if (AddShopPortal.mouseOutThreshold(e, triggerAreas) && !checkStoredValueCYB("CYBSession") && !cybData.pageFlag) { //direction can be top, bottom, left, right, can do miltiple "top,left,right"
                        createIntervalCYB();

                    }

                }, false);
            } else {
                //console.log("isIE panel")
                document.querySelector("html").addEventListener("mouseleave", function(e) {
                    if (e.clientY <= 15 && e.pageY <= 15 && !checkStoredValueCYB("CYBSession") && !cybData.pageFlag) {
                        //console.log("left html with clientY:" + e.clientY + " and pageY:" + e.pageY )
                        createIntervalCYB()
                    }
                })
            }
            document.addEventListener("mouseenter", function(e) {
                e = e ? e : window.event
                clearInterval(cybData.cybIntervalTimer);
            }, false)
        }
        if (cybData.onClose && !cybData.pageFlag) { //Sets onClose Trigger
            document.body.addEventListener("click", function() {
                document.addEventListener("mouseout", function(e) {
                    e = e ? e : window.event;
                    if (AddShopPortal.mouseOutThreshold(e, "top,left,right") && !cybData.pageFlag) {
                        allowOnCloseCYB()
                    }
                }, false);
                document.addEventListener("mouseenter", function(e) {
                    e = e ? e : window.event;
                    window.onbeforeunload = null;
                }, false)
            });
        }

        if ((Number(mobile[0]) > 0 || mobile[1]) && isMobileCYB()) { //Sets Mobile Triggers
            inactivityTimerCYB(mobile[0] > 0 ? true : false, mobile[0]);
            mobileOnExitCYB(mobile[1]);
        } else if (Number(inactivity) > 0 && !isMobileCYB()) { // Sets Desktop Inactivity Triggers
            inactivityTimerCYB(true, Number(inactivity))
        }



        // Functionality for randomly choose index for A/B Test
        if (ab instanceof Array && ab.length > 1 && !checkStoredValueCYB("CYB_AB")) {
            var percent = 0,
                index = 0,
                rand = Math.floor(Math.random() * 100);


            ab.map(function(a, b) {
                percent += Number(a);
            });

            if (percent === 100) {
                percent = 0;
                for (var i = 0; i < ab.length; i++) {
                    if (i == 0 && rand < Number(ab[i])) {
                        index = i;
                        break;
                    } else if (rand < Number(ab[i]) + percent && rand >= percent) {
                        index = i;
                        break;
                    } else if (i === ab.length - 1) {
                        index = i;
                        break;
                    } else
                        percent += Number(ab[i]);
                }

                storageMethodCYB("CYB_AB", index, cybData.sessionMgmt > 0 ? cybData.sessionMgmt : .5) // Sets AB Test cookie
            }
        }
    }
}


function allowOnCloseCYB() {
    var filter = cybbaFilters.toString().replace(/\/\*(.|[\r\n])*?\*\//g, '').replace(/\/\/.*/gm, '').replace(/\r?\n|\r/g, '').replace(/\s{2,100}/g, ' ')
    if (!filter.match(/(synxis)|(travelClick)|(rezTrip)/g)) { // if criteria filters don't have the hotel specific functions
        var str = filter.replace(/(AddShopPortal\.openCampaignById\(\s*)(\"|\')(.){24}(\"|\')\)\s*/g, 'return true').replace(/(function)\s+(cybbaFilters)\(\)\s*\{/g, '')
        str = str.substring(0, str.length - 1);
        window.oncloseFilterCYB = eval('(function (){' + str + '\n return false;})');
        onCloseHelperCYB(oncloseFilterCYB())
    } else {
        filter = filter.replace(/(function)\s+(cybbaFilters)\(\)\s*\{/g, '')
        if (filter.match(/(synxisCYB)/g))
            filter = filter.replace(/\{*\s*(synxisCYB)\(\s*(\'|\")(.){24}(\'|\")\s*\)\;*\s*\}*/g, '{ if(!isMobileCYB()&&document.querySelectorAll(".BEBreadOn, .StepName .hSize1").length){if(!document.querySelectorAll(".BEBreadOn, .StepName .hSize1")[0].innerText.toLowerCase().match(/(date)|(confirmation)/g))return!0}else if(isMobileCYB()&&document.querySelectorAll(".BEBreadOn, .StepName .hSize1").length){if(!document.querySelectorAll(".BEBreadOn, .StepName .hSize1")[0].innerText.toLowerCase().match(/(date)|(confirmation)/g))return!0}else if(isMobileCYB()&&document.querySelector("#StepContent .ui-bar.ui-bar-c")&&!document.querySelector("#StepContent .ui-bar.ui-bar-c").innerText.toLowerCase().match(/(check avail)|(confirm)/g))return!0 }');
        else if (filter.match(/(rezTripCYB)/g))
            filter = filter.replace(/\{*\s*(rezTripCYB)\(\s*(\'|\")(.){24}(\'|\")\s*\)\;*\s*\}*/g, '{ if(!~window.location.href.indexOf("summary"))return!0 }');
        else if (filter.match(/(travelClickCYB)/g))
            filter = filter.replace(/\{*\s*(travelClickCYB)\(\s*(\'|\")(.){24}(\'|\")\s*\)\;*\s*\}*/g, '{ if(0===document.querySelectorAll(".Confirmation-guest-number").length)return!0 }');
        filter = filter.substring(0, filter.length - 1);
        window.oncloseFilterCYB = eval('(function (){' + filter + '\n})');
        onCloseHelperCYB(oncloseFilterCYB())
    }
}

function onCloseHelperCYB(fire) {
    if (fire === true) {
        console.log("Approved to Fire Here")

        window.onbeforeunload = function(e) {
            if (!checkStoredValueCYB("CYBSession") && !cybData.pageFlag) {
                AddShopPortal.init(AddShoppersPortalConfig);
                return "Wait, don't leave!";
            }
        }


        document.addEventListener("click", function(e) {
            e = e ? e : window.event;
            window.onbeforeunload = null;
        }, false)
        if (cybData.onCloseBackButton) { // Sets onCloseBackButton trigger - uses popstate to and hash modifications to "fake" history
            if (window.history && window.history.pushState) {
                (window).addEventListener('popstate', function() {
                    var hashLocation = location.hash;
                    var hashSplit = hashLocation.split("#!/");
                    var hashName = hashSplit[1];
                    if (hashName !== '') {

                        var hash = window.location.hash;
                        if (hash === '') {
                            window.onbeforeunload = null;
                            cybData.pageFlag = true;
                            if (navigator.userAgent.match(/(Trident)|(MSIE)/g)) {
                                window.history.back();
                            } else
                                window.history.back();
                        } else if (hash === '#' && ie) {
                            cybData.pageFlag = true;
                            if (navigator.userAgent.match(/(Trident)|(MSIE)/g)) {
                                window.history.back();
                            }
                        }
                    }
                });
                window.history.pushState('forward', null, window.location.href.replace(/\#(.)*/g, '') + '#');
            }
        }
    }
}

function xThresholdCYB(e, config) {
    var x = window.innerWidth * config[1];
    var y = window.innerWidth * config[2];
    if (e.pageY - jQuery(window).scrollTop() <= 0 && (e.pageX >= x || e.pageX <= y))
        return true;
    else
        return false
}

/* Only opens campaign if it is on in Addshoppers */
function fireCampaignCYB(id) {
    if (!!~cybData.cybIds.indexOf(id)) {
        AddShopPortal.openCampaignById(id);
        console.log("Campaign ID: " + id + " opening");
    } else
        console.log("Campaign ID: " + id + " is disabled");
}

/*On Exit Trigger for Mobile Devices
 * Parameter: on - Set equal to true to enable
 */
function mobileOnExitCYB(on) {
    if (on) {
        window.addEventListener('visibilitychange', fireDisplayCYB, false);
        window.addEventListener('webkitvisibilitychange', fireDisplayCYB, false);
        window.addEventListener(('webkitHidden' in document ? 'webkit' : '') + "visibilitychange", fireDisplayCYB, false);
        document.addEventListener('blur', fireDisplayCYB, false);
        window.addEventListener('blur', fireDisplayCYB, false);

        function fireDisplayCYB() {
            AddShopPortal.init(AddShoppersPortalConfig);
        }
    }
}

/*Inacivity Trigger - works on Mobile and Desktop
 * Parameter: on - Set equal to true to enable
 * Parameter: time - Inactivity time in seconds
 */
function inactivityTimerCYB(on, time) {
    if (on) {
        var t;
        document.getElementsByTagName('body').length > 0 ? resetTimerCYB() : "";
        window.addEventListener('mousemove', resetTimerCYB, false);
        window.addEventListener('mousedown', resetTimerCYB, false); // touchscreen presses
        window.addEventListener('touchstart', resetTimerCYB, false);
        window.addEventListener('click', resetTimerCYB, false) // touchpad clicks
        window.addEventListener('scroll', resetTimerCYB, false); // scrolling with arrow keys
        window.addEventListener('keypress', resetTimerCYB, false);

        function noActivity() {
            if (!panelShownCYB()) {
                AddShopPortal.init(AddShoppersPortalConfig);
                clearTimeout(t);
            }
        }

        function resetTimerCYB() {
            panelShownCYB()
            clearTimeout(t);
            t = setTimeout(noActivity, (time * 1000));
        }
    }
}

function panelShownCYB() {
    if (checkStoredValueCYB("addshop_campaigns_viewed")) {
        inactivityTimerCYB(false, 0);
        return true;
    }
    return false;
}

function moveXCYB() {
    if (document.querySelector(".fullHeight") && document.querySelector('.MainCTA')) {
        document.querySelector('.addshop-slide-trigger.oldX').style.display = 'block';
        document.querySelector('.oldX').style.display = 'block';
        document.querySelector('.addshop-slide-trigger.oldX').style.display = 'block';
        document.querySelector('.addshop-slide-trigger.oldX').style.right = Number(document.querySelector('.fullHeight').offsetWidth - 20) + 'px';
        document.querySelector('.MainCTA').addEventListener('click', removeXCYB)
        inactivityTimerCYB(false, 0)
    }
}

function removeXCYB() {
    if (document.querySelector('.addshop-slide-trigger.oldX')) {
        document.querySelector('.addshop-slide-trigger.oldX').style.display = 'none';
        window.removeEventListener('resize', moveXCYB)
    }
}

function removeRogueXCYB() {
    if (!document.querySelectorAll('.addshop-slideup-overlay.addshop-active').length && document.querySelector(".oldX")) {
        document.querySelector(".addshop-slide-wrap.oldX").style = 'display: none';
        clearInterval(cybData.xChecker);
    }
}

function loadJavascriptCYB(href, name, handler) {
    var ljs = document.createElement('script');
    ljs.type = 'text/javascript';
    ljs.id = name;
    ljs.src = href;
    ljs.onload = handler;
    document.getElementsByTagName("body")[0].appendChild(ljs);
}

function loadStyleCYB(href) {
    for (var i = 0; i < document.styleSheets.length; i++) {
        if (document.styleSheets[i].href == href) {
            return;
        }
    }
    var head = document.getElementsByTagName('html')[0];
    var link = document.createElement('link');
    link.rel = 'stylesheet';
    link.type = 'text/css';
    link.href = href;
    head.appendChild(link);
}


function socialSharingCYB(cURLs, cID, test, removeBranding, cookies) {
    console.log("executed")
    if (window.location.href.match(new RegExp(cURLs)) || test) {
        cybData.ssId = cID;
        cybData.socialFlag = true;
        cybData.debug = test;
        URL = cURLs;
        if ((test) || (!test && window.location.href.match(new RegExp(cURLs)))) {
            //AddShoppersWidget.API.reload() 

            if (!cookies) {
                window.AddShoppersTracking = JSON.parse(localStorage.getItem('CYB_PROD'));
                cybData.socialProds = window.AddShoppersTracking;
            } else {
                window.AddShoppersTracking = JSON.parse(checkStoredValueCYB('CYB_PROD'));
                cybData.socialProds = window.AddShoppersTracking;
            }
            setTimeout(function() {
                AddShopPortal.init(AddShoppersPortalConfig);
            }, 500);
            if (removeBranding)
                document.addEventListener("DOMNodeInserted", removeBrandingModalCYB)
        }
    }

}

function removeBrandingModalCYB() {
    if (document.querySelector("#powered-by-label"))
        document.querySelector("#powered-by-label").setAttribute("style", "display:none");
    if (document.querySelectorAll("label[for='addshoppers-opt-out'],#addshoppers-opt-out,#powered-by-label").length === 3) {
        document.querySelector("label[for='addshoppers-opt-out']").setAttribute("style", "display:none");
        document.querySelector("#addshoppers-opt-out").setAttribute("style", "display:none");
        document.querySelector("#powered-by-label").setAttribute("style", "display:none");
        document.removeEventListener("DOMNodeInserted", removeBrandingModalCYB)
    }
}

function grabCartItemsCYB(snippetInfo, customLink, cookies) {
    window.AddShoppersTracking = {
        header: snippetInfo[0],
        image: snippetInfo[1],
        name: snippetInfo[2],
        description: snippetInfo[3]
    }
    var buildURL = customLink ? ssBuildCYB(snippetInfo[4]) : snippetInfo[4];
    window.AddShoppersTracking.url = buildURL;
    if (!cookies)
        localStorage.setItem('CYB_PROD', JSON.stringify(window.AddShoppersTracking))
    else
        AddShopPortal.cookieSet("CYB_PROD", JSON.stringify(window.AddShoppersTracking));
    AddShoppersWidget.onload()
}

function ssBuildCYB(ssurl) {
    var base = 'http://www.rtb123.com/testing/socialSharing.php?pName=';
    base += encodeURIComponent(window.AddShoppersTracking.name);
    base += '&pImg=' + encodeURIComponent(window.AddShoppersTracking.image);
    base += '&pDesc=' + encodeURIComponent(window.AddShoppersTracking.description);
    base += '&pUrl=' + encodeURIComponent(ssurl);
    return base;
}

function fireSSCYB() {
    var ssId = cybData.ssId;
    console.log(ssId);
    if (cybData.debug) {
        AddShoppersWidget.onload()
        if (!!~window.location.href.indexOf('ss=true') || (window.location.href.match(new RegExp(URL)) && checkStoredValueCYB('cybbatest'))) {
            AddShopPortal.openCampaignById(ssId.toString());
            setTimeout(moveXCYB, 1500);
        }
    } else {
        AddShoppersWidget.onload()
        AddShopPortal.openCampaignById(ssId.toString());
        setTimeout(moveXCYB, 1500);
    }
}


function addshopExtInitialLoad() {
    if (document.querySelector('.addshop-slide-trigger.oldX'))
        document.querySelector('.addshop-slide-trigger.oldX').style.display = 'none';

    //DON'T MODIFY THIS - LEAVE AT END OF FUNCTION
    if (!checkStoredValueCYB('CYBSession') && !cybData.pageFlag && !cybData.socialFlag && cybData.loadCID === undefined) { // Session management criteria  
        cybbaFilters();

        if (Number(cybData.sessionMgmt) > 0) {
            setSessionMgmtCYB(cybData.sessionMgmt);
        } else {
            setSessionMgmtCYB(0);
        }
    } else if (cybData.loadCID !== undefined) {
        fireCampaignCYB(cybData.loadCID);
        if (loadMgmt)
            setSessionMgmtCYB(cybData.sessionMgmt);
    } else if (cybData.socialFlag)
        fireSSCYB();
}


function setSessionMgmtCYB(time) {
    setTimeout(function() {
        if (document.querySelectorAll('.addshop-slideup-overlay.addshop-active').length) {
            if (document.querySelectorAll('.addshop-slideup-overlay.addshop-active')[0] !== undefined) {
                storageMethodCYB("CYBSession", 1, time);
                cybData.pageFlag = true;
                moveXCYB();
            }
        }
    }, 1000);
}

function storageMethodCYB(name, value, expiration) {
    if (cybData.cookieStorage) {
        AddShopPortal.cookieSet(name, value, expiration)
    } else
        localStorage.setItem(name, value);
}

function checkStoredValueCYB(name) {
    if (cybData.cookieStorage) {
        return AddShopPortal.cookieGet(name);
    } else {
        return localStorage.getItem(name);
    }

}

function checkSessionMgmtCYB() {
    if (!cybData.cookieStorage && localStorage.getItem("CYBSession")) {
        if (Number(localStorage.getItem("CYBSession") - Date.now() > (cybData.sessionMgmt * 24 * 60 * 60 * 1000)))
            localStorage.removeItem("CYBSession");
    }
}

function checkLocalStorageExpirationCYB(name, expiration) {
    if (!cybData.cookieStorage) {
        if (Number(localStorage.getItem(name) - Date.now() > (expiration * 60 * 60 * 1000)))
            localStorage.removeItem(name);
    }
}

function closeOutHandlerCYB() {
    if (cybData.xTracking[0]) {
        var r = Math.floor(Math.random() * 100)
        if (r <= cybData.xTracking[1]) {
            try {
                AddShoppersWidget.Behavioral.trackEvent('action', window.cybAgentID, "A", "click_action", window.cybAgentName + '_CloseOut');
            } catch (e) {
                console.log(e)
            }
        }
    }
    if (document.querySelector('.addshop-slide-trigger.oldX')) {
        document.querySelector('.addshop-slide-trigger.oldX').style.display = 'none';
        window.removeEventListener('resize', moveXCYB)
    }
}

function copyPromoCYB(elem) {
    var offset = "_hiddenCopyText_";
    target = document.getElementById(offset);
    if (!target) {
        var target = document.createElement("textarea");
        target.style.position = "absolute";
        target.style.left = "-9999px";
        target.style.top = "0";
        target.id = offset;
        document.body.appendChild(target);
    }
    target.textContent = elem.textContent;

    var focus = document.activeElement;
    target.focus();
    target.setSelectionRange(0, target.value.length);

    try {
        if (document.querySelector("#copySuccess") && jQueryExistsCYB()) {
            $("#copySuccess").delay(100).fadeIn("slow");
            $("#copySuccess").delay(3000).fadeOut("slow");
        } else {
            if (document.querySelector("#copySuccess")) {
                document.querySelector("#copySuccess").style.display = 'block';
                setTimeout(function() {
                    document.querySelector("#copySuccess").style.display = 'none';
                }, 3000)
            }
        }
        return document.execCommand("copy");
    } catch (e) {
        return false;
    }
}


function getCartInfoCYB(url, selector) {
    if (typeof jQuery !== 'undefined') {
        url = url.replace(/(https:)|(http:)/g, '');
        jQuery.get(url, function(e) {
            window.CYBCart = jQuery(e).find(selector).text();
        });
        return window.CYBCart;
    } else
        return 'jQuery not supported';

}


function returnVersionCYB() {
    return 'Framework Version: ' + cybData.curVersion;
}

function settingsCYB() {
    console.dir(cybData);
}


function tagSessionCYB(exists) {
    if (exists) {
        storageMethod("CybSite", AddShoppersWidget.id, 1);
        storageMethod("CybSess", AddShoppersWidget.session_id, .0417);
    }
}

// Checks if an element (e) exists in a context (c) t times, callback (cb) to handle functionality - callback must except boolean params. 
function elmExistsCYB(c, e, t, cb) {
    if (c[e] && t > 0) return cb(!0);
    else if (t > 0 && !c[e]) {
        setTimeout(function() {
            t -= 1;
            elmExistsCYB(c, e, t, cb)
        }, 2000);
    } else if (t === 0 && !c[e])
        return cb(0)
};

// Determines if Panel should fire between certain dates in a certain timezone (abbreviation)
function fireBetweenDatesCYB(start, end, timezone) {
    start = start instanceof Date ? start : new Date(start);
    end = end instanceof Date ? end : new Date(end);
    if ((start instanceof Date && !isNaN(start.valueOf())) && (end instanceof Date && !isNaN(end.valueOf()))) {
        var utc = localTimeCYB(new Date(), getOffsetCYB(timezone));
        var timeData = {};
        timeData.LocalTime = utc;
        timeData.startDate = start;
        timeData.endDate = end;
        cybData.timeData = timeData;
        return utc >= start && utc < end;
    }

}

// Returns the timezone offset for a given Timezone abbreviation
function getOffsetCYB(timezone) {
    var index = -1;
    var tz = ['ACDT', 'ACST', 'ACT', 'ACWST', 'ADT', 'AEDT', 'AEST', 'AFT', 'AKDT', 'AKST', 'AMST', 'AMT', 'AMT', 'ART', 'AST', 'AST', 'AWST', 'AZOST', 'AZOT', 'AZT', 'BDT', 'BIOT', 'BIT', 'BOT', 'BRST', 'BRT', 'BST', 'BST', 'BST', 'BTT', 'CAT', 'CCT', 'CDT', 'CDT', 'CEST', 'CET', 'CHADT', 'CHAST', 'CHOT', 'CHOST', 'CHST', 'CHUT', 'CIST', 'CIT', 'CKT', 'CLST', 'CLT', 'COST', 'COT', 'CST', 'CST', 'CST', 'CT', 'CVT', 'CWST', 'CXT', 'DAVT', 'DDUT', 'DFT', 'EASST', 'EAST', 'EAT', 'ECT', 'ECT', 'EDT', 'EEST', 'EET', 'EGST', 'EGT', 'EIT', 'EST', 'FET', 'FJT', 'FKST', 'FKT', 'FNT', 'GALT', 'GAMT', 'GET', 'GFT', 'GILT', 'GIT', 'GMT', 'GST', 'GST', 'GYT', 'HDT', 'HAEC', 'HST', 'HKT', 'HMT', 'HOVST', 'HOVT', 'ICT', 'IDT', 'IOT', 'IRDT', 'IRKT', 'IRST', 'IST', 'IST', 'IST', 'JST', 'KGT', 'KOST', 'KRAT', 'KST', 'LHST', 'LHST', 'LINT', 'MAGT', 'MART', 'MAWT', 'MDT', 'MET', 'MEST', 'MHT', 'MIST', 'MIT', 'MMT', 'MSK', 'MST', 'MST', 'MUT', 'MVT', 'MYT', 'NCT', 'NDT', 'NFT', 'NPT', 'NST', 'NT', 'NUT', 'NZDT', 'NZST', 'OMST', 'ORAT', 'PDT', 'PET', 'PETT', 'PGT', 'PHOT', 'PHT', 'PKT', 'PMDT', 'PMST', 'PONT', 'PST', 'PST', 'PYST', 'PYT', 'RET', 'ROTT', 'SAKT', 'SAMT', 'SAST', 'SBT', 'SCT', 'SDT', 'SGT', 'SLST', 'SRET', 'SRT', 'SST', 'SST', 'SYOT', 'TAHT', 'THA', 'TFT', 'TJT', 'TKT', 'TLT', 'TMT', 'TRT', 'TOT', 'TVT', 'ULAST', 'ULAT', 'USZ1', 'UTC', 'UYST', 'UYT', 'UZT', 'VET', 'VLAT', 'VOLT', 'VOST', 'VUT', 'WAKT', 'WAST', 'WAT', 'WEST', 'WET', 'WIT', 'WST', 'YAKT', 'YEKT'];
    var os = ['+10:30', '+09:30', '-05', '+08:45', '-03', '+11', '+10', '+04:30', '-08', '-09', '-03', '-04', '+04', '-03', '+03', '-04', '+08', '00', '-01', '+04', '+08', '+06', '-12', '-04', '-02', '-03', '+06', '+11', '+01', '+06', '+02', '+06:30', '-05', '-04', '+02', '+01', '+13:45', '+12:45', '+08', '+09', '+10', '+10', '-08', '+08', '-10', '-03', '-04', '-04', '-05', '-06', '+08', '-05', '+08', '-01', '+08:45', '+07', '+07', '+10', '+01', '-05', '-06', '+03', '-04', '-05', '-04', '+03', '+02', '00', '-01', '+09', '-05', '+03', '+12', '-03', '-04', '-02', '-06', '-09', '+04', '-03', '+12', '-09', '00', '-02', '+04', '-04', '-09', '+02', '-10', '+08', '+05', '+08', '+07', '+07', '+03', '+03', '+04:30', '+08', '+03:30', '+05:30', '+01', '+02', '+09', '+06', '+11', '+07', '+09', '+10:30', '+11', '+14', '+12', '-09:30', '+05', '-06', '+01', '+02', '+12', '+11', '-09:30', '+06:30', '+03', '+08', '-07', '+04', '+05', '+08', '+11', '-02:30', '+11', '+05:45', '-03:30', '-03:30', '-11', '+13', '+12', '+06', '+05', '-07', '-05', '+12', '+10', '+13', '+08', '+05', '-02', '-03', '+11', '-08', '+08', '-03', '-04', '+04', '-03', '+11', '+04', '+02', '+11', '+04', '-10', '+08', '+05:30', '+11', '-03', '-11', '+08', '+03', '-10', '+07', '+05', '+05', '+13', '+09', '+05', '+03', '+13', '+12', '+09', '+08', '+02', '00', '-02', '-03', '+05', '-04', '+10', '+04', '+06', '+11', '+12', '+02', '+01', '+01', '00', '+07', '+08', '+09', '+05'];
    if (!!~tz.indexOf(timezone)) {
        index = tz.indexOf(timezone);
        var time = os[index];
        var pOm = time.match(/\+|\-/g)[0];
        time = time.replace(/\+|\-/g, '');
        time = !~time.indexOf(':') ? Number(time) * 60 : (Number(time.split(':')[0]) * 60) + Number(time.split(':')[1]);
        time = !!~pOm.indexOf('+') ? time : (!!~pOm.indexOf('-') ? time * -1 : 0);
        return time;
    } else {
        console.log("Invalid Timezone: Setting to LocalTime (" + new Date().toString().match(/\(([A-Za-z\s].*)\)/)[1] + ")");
        return new Date().getTimezoneOffset();
    }
}

// Returns localtime for a given timezone offset
function localTimeCYB(time, offset) {
    var utc = time.getTime() + (time.getTimezoneOffset() * 60000);
    return new Date(utc + (3600000 * (offset / 60)));
}

//gets value of url parameter
function urlParamCYB(name) {
    name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
    var regex = new RegExp('[\\?&]' + name + '=([^&#]*)');
    var results = regex.exec(location.search);
    return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));
}

/*********** Other Filtering **********************/

function isMobileCYB() {
    return /Opera|Safari|Chrome|Firefox/i.test(navigator.userAgent) && /Android|webOS|iPhone|iPad|iPod/i.test(navigator.userAgent);
}

function isBrowserDeviceCYB(agent) {
    return new RegExp(agent).test(navigator.userAgent);
}

function isIECYB() {
    return navigator.userAgent.match(/(Trident)|(MSIE)|(Edge)/g)
}

function jQueryExistsCYB() {
    return typeof jQuery !== 'undefined'
}

/******* Engine Specific Criteria Filtering ******/
function travelClickCYB(cId) {
    if (document.querySelectorAll('.Confirmation-guest-number').length === 0)
        fireCampaignCYB(cId);
}

function synxisCYB(cId) {
    if (!isMobileCYB() && document.querySelectorAll(".BEBreadOn, .StepName .hSize1").length) {
        if (!document.querySelectorAll(".BEBreadOn, .StepName .hSize1")[0].innerText.toLowerCase().match(/(date)|(confirmation)/g))
            fireCampaignCYB(cId);
    } else if (isMobileCYB() && document.querySelectorAll(".BEBreadOn, .StepName .hSize1").length) {
        if (!document.querySelectorAll(".BEBreadOn, .StepName .hSize1")[0].innerText.toLowerCase().match(/(date)|(confirmation)/g))
            fireCampaignCYB(cId);
    } else if (isMobileCYB() && document.querySelector("#StepContent .ui-bar.ui-bar-c")) {
        if (!document.querySelector("#StepContent .ui-bar.ui-bar-c").innerText.toLowerCase().match(/(check avail)|(confirm)/g))
            fireCampaignCYB(cId);
    }
}

function rezTripCYB(cId) {
    if (!~window.location.href.indexOf('summary'))
        fireCampaignCYB(cId);
}

function windSurfCYB(cId) {
    if (!~window.location.href.indexOf('confirm.aspx'))
        fireCampaignCYB(cId);
}
                                    

#22 JavaScript::Eval (size: 79514, repeated: 1) - SHA256: 7bd47a21c9c20ce20393bd66f5aaba319ab45642d5bcf01f0d4d9ef26cb8caed

                                        function UAParser(e) {
    var t = e || window.navigator.userAgent;
    var n = function(e) {
        var t;
        var n, r, i, s;
        for (n = 1; n < arguments.length; n += 2) {
            var o = arguments[n];
            var u = arguments[n + 1];
            var a = false;
            for (r = 0; r < o.length; r++) {
                var f = o[r].exec(e);
                if (!!f) {
                    t = {};
                    s = 1;
                    for (i = 0; i < u.length; i++) {
                        if (typeof u[i] === "object" && u[i].length === 2) {
                            t[u[i][0]] = u[i][1];
                            s -= 1
                        } else if (typeof u[i] === "object" && u[i].length === 3) {
                            t[u[i][0]] = !!f[i + s] ? f[i + s].replace(u[i][1], u[i][2]) : undefined
                        } else {
                            t[u[i]] = !!f[i + s] ? f[i + s] : undefined
                        }
                    }
                    a = true;
                    break
                }
            }
            if (!a) {
                t = {};
                for (i in u) {
                    if (u.hasOwnProperty(i)) {
                        if (typeof u[i] == "object") {
                            t[u[i][0]] = undefined
                        } else {
                            t[u[i]] = undefined
                        }
                    }
                }
            } else {
                return t
            }
        }
        return t
    };
    var r = {
        os: {
            win: function(e, t) {
                switch (t.toLowerCase()) {
                    case "nt 5.0":
                        return "2000";
                    case "nt 5.1":
                    case "nt 5.2":
                        return "XP";
                    case "nt 6.0":
                        return "Vista";
                    case "nt 6.1":
                        return "7";
                    case "nt 6.2":
                        return "8";
                    default:
                        return t
                }
            }
        }
    };
    this.getBrowser = function(e) {
        return n(e || t, [/(kindle)\/((\d+)?[\w\.]+)/i, /(lunascape|maxthon|netfront|jasmine)[\/\s]?((\d+)?[\w\.]+)/i, /(opera\smini)\/((\d+)?[\w\.-]+)/i, /(opera\smobi)\/((\d+)?[\w\.-]+)/i, /(opera).*\/((\d+)?[\w\.]+)/i, /(avant\sbrowser|iemobile|slimbrowser)[\/\s]?((\d+)?[\w\.]*)/i, /ms(ie)\s((\d+)?[\w\.]+)/i, /(chromium|flock|rockmelt|midori|epiphany)\/((\d+)?[\w\.]+)/i, /(chrome|omniweb|arora|dolfin)\/((\d+)?[\w\.]+)/i], ["name", "version", "major"], [/android.+crmo\/((\d+)?[\w\.]+)/i], [
            ["name", "Chrome"], "version", "major"
        ], [/(mobile\ssafari|safari|konqueror)\/((\d+)?[\w\.]+)/i, /(applewebkit|khtml)\/((\d+)?[\w\.]+)/i, /(iceweasel|camino|fennec|maemo|minimo)[\/\s]?((\d+)?[\w\.\+]+)/i, /(firefox|seamonkey|netscape|navigator|k-meleon|icecat|iceape)\/((\d+)?[\w\.]+)/i, /(mozilla)\/([\w\.]+).+rv\:.+gecko\/\d+/i, /(lynx|dillo|icab)[\/\s]?((\d+)?[\w\.]+)/i], ["name", "version", "major"])
    };
    this.getEngine = function(e) {
        return n(e || t, [/(presto)\/([\w\.]+)/i, /([aple]*webkit|trident)\/([\w\.]+)/i, /(khtml)\/([\w\.]+)/i], ["name", "version"], [/rv\:([\w\.]+).*(gecko)/i], ["version", "name"])
    };
    this.getOS = function(e) {
        return n(e || t, [/(windows\sphone\sos|windows)\s+([\w\.\s]+)*/i], ["name", ["version", /(nt\s[\d\.]+)/gi, r.os.win]], [/(blackberry).+version\/([\w\.]+)/i, /(android|symbianos|symbos|webos|palm\os|qnx|bada|rim\stablet\sos)[\/\s-]?([\w\.]+)*/i, /(nintendo|playstation)\s([wids3portable]+)/i, /(mint)[\/\s\(]?(\w+)*/i, /(joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk)[\/\s-]?([\w\.-]+)*/i, /(gnu|linux)\s?([\w\.]+)*/i], ["name", "version"], [/cros\s([\w\.\s]+)/i], [
            ["name", "Chromium OS"], "version"
        ], [/sunos\s?([\w\.\s]+)*/i], [
            ["name", "Solaris"], "version"
        ], [/\s(\w*bsd|dragonfly)\s?([\w\.]+)*/i], ["name", "version"], [/(ip[honead]+).*os\s*([\w]+)*\slike\smac/i], [
            ["name", /.+/g, "iOS"],
            ["version", /_/g, "."]
        ], [/(mac\sos)\sx\s([\w\s\.]+)/i], ["name", ["version", /_/g, "."]], [/(macintosh|unix|minix|beos)[\/\s]?()*/i], ["name", "version"])
    };
    this.getDevice = function(e) {
        return n(e || t, [/\((ip[honead]+|playbook);/i, /(blackberry)[\s-]?(\w+)/i, /(blackberry|benq|nokia|palm(?=\-)|sonyericsson)[\s-]?([\w-]+)*/i, /(hp)\s([\w\s]+)/i, /(hp).+(touchpad)/i, /(kindle)\/([\w\.]+)/i, /(lg)[e;\s-]+(\w+)*/i, /(nintendo|playstation)\s([wids3portable]+)/i], ["name", "version"], [/(htc)[;_\s-]+([\w\s]+(?=\))|[\w]+)*/i, /(zte)-([\w]+)*/i], ["name", ["version", /_/g, " "]], [/\s(milestone|mz601|droid[2x]?|xoom)[globa\s]*\sbuild\//i, /mot[\s-]?(\w+)*/i], [
            ["name", "Motorola"], "version"
        ], [/(s[cgp]h-\w+|gt-\w+|galaxy\snexus)/i, /sam[sung]*[\s-]*(\w+-?[\w-]*)*/i, /sec-(sgh\w+)/i], [
            ["name", "Samsung"], "version"
        ], [/sie-(\w+)*/i], [
            ["name", "Siemens"], "version"
        ])
    };
    this.setUA = function(e) {
        t = e || t;
        return this.result = {
            browser: this.getBrowser(),
            engine: this.getEngine(),
            os: this.getOS(),
            device: this.getDevice()
        }
    };
    this.setUA(t)
}
var TWEEN = TWEEN || function() {
    var e, t, n, r, i = 60,
        s = false,
        o = [],
        u;
    return {
        setFPS: function(e) {
            i = e || 60
        },
        start: function(e) {
            if (arguments.length != 0) {
                this.setFPS(e)
            }
            n = setInterval(this.update, 1e3 / i)
        },
        stop: function() {
            clearInterval(n)
        },
        setAutostart: function(e) {
            s = e;
            if (s && !n) {
                this.start()
            }
        },
        add: function(e) {
            o.push(e);
            if (s && !n) {
                this.start()
            }
        },
        getAll: function() {
            return o
        },
        removeAll: function() {
            o = []
        },
        remove: function(t) {
            e = o.indexOf(t);
            if (e !== -1) {
                o.splice(e, 1)
            }
        },
        update: function(e) {
            var t = 0;
            var n = e || Date.now();
            while (t < o.length) {
                if (o[t].update(n)) {
                    t++
                } else {
                    o.splice(t, 1)
                }
            }
            if (u == 0 && s == true) {
                this.stop()
            }
        }
    }
}();
TWEEN.Tween = function(e) {
    var t = e,
        n = {},
        r = {},
        i = {},
        s = 1e3,
        o = 0,
        u = null,
        a = TWEEN.Easing.Linear.EaseNone,
        f = null,
        l = null,
        c = null;
    this.to = function(e, n) {
        if (n !== null) {
            s = n
        }
        for (var r in e) {
            if (t[r] === null) {
                continue
            }
            i[r] = e[r]
        }
        return this
    };
    this.start = function(e) {
        TWEEN.add(this);
        u = e ? e + o : Date.now() + o;
        for (var s in i) {
            if (t[s] === null) {
                continue
            }
            n[s] = t[s];
            r[s] = i[s] - t[s]
        }
        return this
    };
    this.stop = function() {
        TWEEN.remove(this);
        return this
    };
    this.delay = function(e) {
        o = e;
        return this
    };
    this.easing = function(e) {
        a = e;
        return this
    };
    this.chain = function(e) {
        f = e
    };
    this.onUpdate = function(e) {
        l = e;
        return this
    };
    this.onComplete = function(e) {
        c = e;
        return this
    };
    this.update = function(e) {
        var i, o, h;
        if (e < u) {
            return true
        }
        o = (e - u) / s;
        o = o > 1 ? 1 : o;
        h = a(o);
        for (i in r) {
            t[i] = n[i] + r[i] * h
        }
        if (l !== null) {
            l.call(t, h)
        }
        if (o == 1) {
            if (c !== null) {
                c.call(t)
            }
            if (f !== null) {
                f.start()
            }
            return false
        }
        return true
    }
};
TWEEN.Easing = {
    Linear: {},
    Quadratic: {},
    Cubic: {},
    Quartic: {},
    Quintic: {},
    Sinusoidal: {},
    Exponential: {},
    Circular: {},
    Elastic: {},
    Back: {},
    Bounce: {}
};
TWEEN.Easing.Linear.EaseNone = function(e) {
    return e
};
TWEEN.Easing.Quadratic.EaseIn = function(e) {
    return e * e
};
TWEEN.Easing.Quadratic.EaseOut = function(e) {
    return -e * (e - 2)
};
TWEEN.Easing.Quadratic.EaseInOut = function(e) {
    if ((e *= 2) < 1) return .5 * e * e;
    return -.5 * (--e * (e - 2) - 1)
};
TWEEN.Easing.Cubic.EaseIn = function(e) {
    return e * e * e
};
TWEEN.Easing.Cubic.EaseOut = function(e) {
    return --e * e * e + 1
};
TWEEN.Easing.Cubic.EaseInOut = function(e) {
    if ((e *= 2) < 1) return .5 * e * e * e;
    return .5 * ((e -= 2) * e * e + 2)
};
TWEEN.Easing.Quartic.EaseIn = function(e) {
    return e * e * e * e
};
TWEEN.Easing.Quartic.EaseOut = function(e) {
    return -(--e * e * e * e - 1)
};
TWEEN.Easing.Quartic.EaseInOut = function(e) {
    if ((e *= 2) < 1) return .5 * e * e * e * e;
    return -.5 * ((e -= 2) * e * e * e - 2)
};
TWEEN.Easing.Quintic.EaseIn = function(e) {
    return e * e * e * e * e
};
TWEEN.Easing.Quintic.EaseOut = function(e) {
    return (e = e - 1) * e * e * e * e + 1
};
TWEEN.Easing.Quintic.EaseInOut = function(e) {
    if ((e *= 2) < 1) return .5 * e * e * e * e * e;
    return .5 * ((e -= 2) * e * e * e * e + 2)
};
TWEEN.Easing.Sinusoidal.EaseIn = function(e) {
    return -Math.cos(e * Math.PI / 2) + 1
};
TWEEN.Easing.Sinusoidal.EaseOut = function(e) {
    return Math.sin(e * Math.PI / 2)
};
TWEEN.Easing.Sinusoidal.EaseInOut = function(e) {
    return -.5 * (Math.cos(Math.PI * e) - 1)
};
TWEEN.Easing.Exponential.EaseIn = function(e) {
    return e == 0 ? 0 : Math.pow(2, 10 * (e - 1))
};
TWEEN.Easing.Exponential.EaseOut = function(e) {
    return e == 1 ? 1 : -Math.pow(2, -10 * e) + 1
};
TWEEN.Easing.Exponential.EaseInOut = function(e) {
    if (e == 0) return 0;
    if (e == 1) return 1;
    if ((e *= 2) < 1) return .5 * Math.pow(2, 10 * (e - 1));
    return .5 * (-Math.pow(2, -10 * (e - 1)) + 2)
};
TWEEN.Easing.Circular.EaseIn = function(e) {
    return -(Math.sqrt(1 - e * e) - 1)
};
TWEEN.Easing.Circular.EaseOut = function(e) {
    return Math.sqrt(1 - --e * e)
};
TWEEN.Easing.Circular.EaseInOut = function(e) {
    if ((e /= .5) < 1) return -.5 * (Math.sqrt(1 - e * e) - 1);
    return .5 * (Math.sqrt(1 - (e -= 2) * e) + 1)
};
TWEEN.Easing.Elastic.EaseIn = function(e) {
    var t, n = .1,
        r = .4;
    if (e == 0) return 0;
    if (e == 1) return 1;
    if (!r) r = .3;
    if (!n || n < 1) {
        n = 1;
        t = r / 4
    } else t = r / (2 * Math.PI) * Math.asin(1 / n);
    return -(n * Math.pow(2, 10 * (e -= 1)) * Math.sin((e - t) * 2 * Math.PI / r))
};
TWEEN.Easing.Elastic.EaseOut = function(e) {
    var t, n = .1,
        r = .4;
    if (e == 0) return 0;
    if (e == 1) return 1;
    if (!r) r = .3;
    if (!n || n < 1) {
        n = 1;
        t = r / 4
    } else t = r / (2 * Math.PI) * Math.asin(1 / n);
    return n * Math.pow(2, -10 * e) * Math.sin((e - t) * 2 * Math.PI / r) + 1
};
TWEEN.Easing.Elastic.EaseInOut = function(e) {
    var t, n = .1,
        r = .4;
    if (e == 0) return 0;
    if (e == 1) return 1;
    if (!r) r = .3;
    if (!n || n < 1) {
        n = 1;
        t = r / 4
    } else t = r / (2 * Math.PI) * Math.asin(1 / n);
    if ((e *= 2) < 1) return -.5 * n * Math.pow(2, 10 * (e -= 1)) * Math.sin((e - t) * 2 * Math.PI / r);
    return n * Math.pow(2, -10 * (e -= 1)) * Math.sin((e - t) * 2 * Math.PI / r) * .5 + 1
};
TWEEN.Easing.Back.EaseIn = function(e) {
    var t = 1.70158;
    return e * e * ((t + 1) * e - t)
};
TWEEN.Easing.Back.EaseOut = function(e) {
    var t = 1.70158;
    return (e = e - 1) * e * ((t + 1) * e + t) + 1
};
TWEEN.Easing.Back.EaseInOut = function(e) {
    var t = 1.70158 * 1.525;
    if ((e *= 2) < 1) return .5 * e * e * ((t + 1) * e - t);
    return .5 * ((e -= 2) * e * ((t + 1) * e + t) + 2)
};
TWEEN.Easing.Bounce.EaseIn = function(e) {
    return 1 - TWEEN.Easing.Bounce.EaseOut(1 - e)
};
TWEEN.Easing.Bounce.EaseOut = function(e) {
    if ((e /= 1) < 1 / 2.75) {
        return 7.5625 * e * e
    } else if (e < 2 / 2.75) {
        return 7.5625 * (e -= 1.5 / 2.75) * e + .75
    } else if (e < 2.5 / 2.75) {
        return 7.5625 * (e -= 2.25 / 2.75) * e + .9375
    } else {
        return 7.5625 * (e -= 2.625 / 2.75) * e + .984375
    }
};
TWEEN.Easing.Bounce.EaseInOut = function(e) {
    if (e < .5) return TWEEN.Easing.Bounce.EaseIn(e * 2) * .5;
    return TWEEN.Easing.Bounce.EaseOut(e * 2 - 1) * .5 + .5
};
window.Aroma = {
    version: 2,
    author: "Averta group"
};
Aroma.Engine = function(e) {
    this._tweenList = [];
    this._view = e;
    this._view.engine = this;
    this.startEff = function() {
        this._effect.prepare();
        this._part_duration = this._duration / (this._selector.getCount() - (1 - this._overlapping) * (this._selector.getCount() - 1));
        this._part_delay = this._part_duration * this._overlapping;
        var e = [],
            t, n, r = 0,
            i = 0,
            s = [],
            o, u = null;
        for (var a = 0, f = this._selector.getCount(); a < f; ++a) {
            e = this._selector.getPieceList();
            for (var l = 0, c = e.length; l < c; ++l) {
                s = this._effect.getToData();
                o = this._effect.getFromData();
                for (var h = 0, p = s.length; h < p; ++h) {
                    n = CloneObject.clone(s[h].options);
                    if (h == 0) {
                        if (n.delay == null) n.delay = this._part_delay + r + this._startDelay;
                        else n.delay += this._part_delay + r + this._startDelay
                    }
                    this.applyFromProperties(e[l], o);
                    t = (new TWEEN.Tween(e[l].proxy)).delay(n.delay * 1e3 || 0).to(s[h].to, this._part_duration * s[h].time * 1e3).easing(n.ease || TWEEN.Easing.Linear.EaseNone).onUpdate(e[l].proxyUpdate);
                    if (h == 0) t.start();
                    if (u != null) u.chain(t);
                    u = t;
                    if (l + 1 == c && a + 1 == f && h + 1 == p) t.onComplete(this.effComp);
                    this._tweenList.push(t)
                }
                u = null
            }
            r += this._part_delay
        }
        if (this._view.sort) this._view.sortParts();
        this._view.prepare()
    };
    this.applyFromProperties = function(e, t) {
        for (var n in t) e.proxy[n] = t[n];
        e.proxyUpdate.call(e.proxy)
    };
    this.effComp = function() {
        if (this.piece.view.engine.onComplete) this.piece.view.engine.onComplete.listener.call(this.piece.view.engine.onComplete.ref)
    }
};
Aroma.Engine.prototype.start = function(e, t, n, r, i) {
    this._selector = t;
    this._effect = e;
    this._duration = n;
    this._overlapping = r || .5;
    this._startDelay = i || 0;
    this._selector.setup(this._effect, this._view);
    this.startEff()
};
Aroma.Engine.prototype.reset = function() {
    this._selector = null;
    this._effect = null;
    this._duration = 0;
    this._overlapping = 0;
    this._startDelay = 0;
    this._tweenList = []
};
Aroma.Engine.prototype.removeTweens = function() {
    for (var e = 0, t = this._tweenList.length; e < t; e++) {
        TWEEN.remove(this._tweenList[e]);
        this._tweenList[e] = null
    }
};
Aroma.Engine.prototype.getView = function() {
    return this._view
};
Aroma.AbstractView = function(e, t) {
    this.sort = false;
    this.col = t;
    this.row = e;
    this.part_width = 0;
    this.part_height = 0;
    this._pieceList = [];
    this.width = 0;
    this.height = 0;
    this.vpWidth = 0;
    this.vpHeight = 0;
    this.needRendering = false;
    this.extra_part_width = 0, this.extra_part_height = 0;
    this.posToID = function(e, t) {
        return t * this.col + e
    };
    this.getPieceBounds = function(e, t) {
        var n = {
            width: 0,
            height: 0,
            x: 0,
            y: 0
        };
        if (this.extra_part_width == 0) {
            n.x = e * this.part_width;
            n.width = this.part_width
        } else {
            n.width = e > this.extra_part_width ? this.part_width : this.part_width + 1;
            n.x = e > this.extra_part_width ? (this.part_width + 1) * this.extra_part_width + (e - this.extra_part_width) * this.part_width : (this.part_width + 1) * e
        }
        if (this.extra_part_height == 0) {
            n.y = t * this.part_height;
            n.height = this.part_height
        } else {
            n.height = t > this.extra_part_height ? this.part_height : this.part_height + 1;
            n.y = t > this.extra_part_height ? (this.part_height + 1) * this.extra_part_height + (t - this.extra_part_height) * this.part_height : (this.part_height + 1) * t
        }
        return n
    };
    this.swapchildren_col = function(e, t) {
        for (var n = 0, r = (t - e) / 2; n < r; ++n) {
            var i = this._pieceList[e + n];
            this._pieceList[e + n] = this._pieceList[t - n];
            this._pieceList[t - n] = i
        }
    };
    this.swapchildren_row = function(e) {
        for (var t = 0, n = e.length; t < n / 2; ++t) {
            var r = this._pieceList[e[t]];
            this._pieceList[e[t]] = this._pieceList[e[n - t - 1]];
            this._pieceList[e[n - t - 1]] = r
        }
    };
    this.sortInCols = function() {
        if (this.col == 1) return;
        var e = Math.floor(this.col >> 1);
        for (var t = this._pieceList.length, n = e; n < t; n += this.col) {
            this.swapchildren_col(n, n + (this.col - e) - 1)
        }
    };
    this.sortInRows = function() {
        if (this.row == 1) return;
        var e = Math.floor(this.row >> 1);
        var t = new Array;
        for (var n = 0; n < this.col; ++n) {
            for (var r = 0; r < this.row - e; ++r) {
                t.push(e * this.col + n + r * this.col)
            }
            this.swapchildren_row(t);
            t = new Array
        }
    }
};
Aroma.AbstractView.prototype.getCount = function() {
    return this.row * this.col
};
Aroma.AbstractView.prototype.prepare = function() {};
Aroma.AbstractView.prototype.setSize = function(e, t) {
    this.part_height = Math.floor(t / this.row);
    this.extra_part_height = t % this.row;
    this.part_width = Math.floor(e / this.col);
    this.extra_part_width = e % this.col;
    this.width = e;
    this.height = t
};
Aroma.AbstractView.prototype.setViewPortSize = function(e, t) {
    this.vpWidth = e;
    this.vpHeight = t
};
Aroma.AbstractView.prototype.dispose = function() {
    for (var e = 0, t = this._pieceList.length; e < t; ++e) {
        if (this._pieceList[e]) this._pieceList[e].dispose();
        this._pieceList[e] = null
    }
    this._pieceList = []
};
Aroma.AbstractView.prototype.sortParts = function() {
    this.sortInCols();
    this.sortInRows()
};
window.CloneObject = window.ConcatObject || {};
CloneObject.clone = function(e) {
    if (e == null) return {};
    var t = {};
    for (var n in e) t[n] = e[n];
    return t
};
ConcatObject = {};
ConcatObject.concat = function(e, t) {
    for (var n in t) e[n] = t[n];
    return e
};
window.setOpacity = function(e, t) {
    e.style.filter = "alpha(opacity=" + t + ")";
    e.style.opacity = t * .01;
    e.style.MozOpacity = t * .01;
    e.style.KhtmlOpacity = t * .01;
    e.style.MSOpacity = t * .01
};
Aroma.AbstractSelector = function() {
    this.selectNum = 1
};
Aroma.AbstractSelector.prototype.getCount = function() {
    return Math.floor(this.view.getCount() / this.selectNum)
};
Aroma.AbstractSelector.prototype.setup = function(e, t) {
    this.effect = e;
    this.view = t;
    e.selector = this;
    e.view = t
};
Aroma.AbstractSelector.prototype.reset = function() {};
Aroma.SerialSelector = function(e, t, n) {
    this.row = 0;
    this.col = 0;
    this.row_len = 0;
    this.col_len = 0;
    this.selectNum = n || 1;
    this.zigzag = t;
    this.dir = e || "tlr";
    this.convertPoint = function(e, t) {
        switch (this.dir) {
            case "tlr":
                return {
                    row: e,
                    col: t
                };
                break;
            case "tld":
                return {
                    row: t,
                    col: e
                };
                break;
            case "trl":
                return {
                    row: e,
                    col: this.col_len - t - 1
                };
                break;
            case "trd":
                return {
                    row: t,
                    col: this.row_len - e - 1
                };
                break;
            case "brl":
                return {
                    row: this.row_len - e - 1,
                    col: this.col_len - t - 1
                };
                break;
            case "bru":
                return {
                    row: this.col_len - t - 1,
                    col: this.row_len - e - 1
                };
                break;
            case "blr":
                return {
                    row: row_len - e - 1,
                    col: t
                };
                break;
            case "blu":
                return {
                    row: this.col_len - t - 1,
                    col: e
                };
                break
        }
        return {
            row: e,
            col: t
        }
    }
};
Aroma.SerialSelector.prototype = new Aroma.AbstractSelector;
Aroma.SerialSelector.prototype.constructor = Aroma.SerialSelector;
Aroma.SerialSelector.prototype.getPieceList = function() {
    var e = [];
    var t = {};
    if (this.dir.charAt(2) == "u" || this.dir.charAt(2) == "d") {
        this.col_len = this.view.row;
        this.row_len = this.view.col
    } else {
        this.col_len = this.view.col;
        this.row_len = this.view.row
    }
    for (var n = 0; n < this.selectNum; n++) {
        t = this.convertPoint(this.row, this.zigzag && this.row % 2 != 0 ? this.col_len - this.col - 1 : this.col);
        e.push(this.view.getPieceAt(t.col, t.row, this.effect));
        this.col++;
        if (this.col == this.col_len) {
            this.col = 0;
            this.row++
        }
    }
    return e
};
Aroma.SerialSelector.prototype.reset = function() {
    this.row = 0;
    this.col = 0
};
Aroma.DiagonalSelector = function(e, t) {
    this.selectNum = t || 1;
    this.startPoint = e || "tl";
    var n = 0,
        r = 0,
        i = 0,
        s = 0,
        o = 0,
        u = true;
    this.getList = function() {
        var e = [];
        for (var t = 0; t < this.selectNum; t++) {
            switch (this.startPoint) {
                case "tl":
                    if (u) {
                        u = false
                    } else if (r != 0 && n != this.view.row - 1) {
                        r--;
                        n++
                    } else {
                        r = ++i;
                        if (r > this.view.col - 1) {
                            n = ++o;
                            r = this.view.col - 1
                        } else {
                            n = 0
                        }
                    }
                    break;
                case "tr":
                    if (u) {
                        u = false;
                        r = this.view.col - 1
                    } else if (r != this.view.col - 1 && n != this.view.row - 1) {
                        r++;
                        n++
                    } else {
                        r = this.view.col - 1 - ++i;
                        if (r < 0) {
                            n = ++o;
                            r = 0
                        } else {
                            n = 0
                        }
                    }
                    break;
                case "bl":
                    if (u) {
                        u = false;
                        n = this.view.row - 1
                    } else if (r != 0 && n != 0) {
                        r--;
                        n--
                    } else {
                        r = ++i;
                        if (r > this.view.col - 1) {
                            n = this.view.row - 1 - ++o;
                            r = this.view.col - 1
                        } else {
                            n = this.view.row - 1
                        }
                    }
                    break;
                case "br":
                    if (u) {
                        u = false;
                        n = this.view.row - 1;
                        r = this.view.col - 1
                    } else if (r != this.view.col - 1 && n != 0) {
                        r++;
                        n--
                    } else {
                        r = this.view.col - 1 - ++i;
                        if (r < 0) {
                            n = this.view.row - 1 - ++o;
                            r = 0
                        } else {
                            n = this.view.row - 1
                        }
                    }
                    break
            }
            e[t] = this.view.getPieceAt(r, n, this.effect)
        }
        return e
    };
    this._reset = function() {
        n = 0, r = 0, i = 0, s = 0, o = 0, u = true
    }
};
Aroma.DiagonalSelector.prototype = new Aroma.AbstractSelector;
Aroma.DiagonalSelector.prototype.constructor = Aroma.DiagonalSelector;
Aroma.DiagonalSelector.TOP_LEFT = "tl";
Aroma.DiagonalSelector.BOTTOM_LEFT = "bl";
Aroma.DiagonalSelector.TOP_RIGHT = "tr";
Aroma.DiagonalSelector.BOTTOM_RIGHT = "br";
Aroma.DiagonalSelector.prototype.getPieceList = function() {
    return this.getList()
};
Aroma.DiagonalSelector.prototype.reset = function() {
    return this._reset()
};
Aroma.RandSelector = function(e) {
    this.selectNum = e || 1;
    this.id_rand_list = [];
    this.shuffle = function(e) {
        var t = Math.floor(Math.random() * e.length);
        var n = e[t];
        e.splice(t, 1);
        return n
    }
};
Aroma.RandSelector.prototype = new Aroma.AbstractSelector;
Aroma.RandSelector.prototype.constructor = Aroma.RandSelector;
Aroma.RandSelector.prototype.setup = function(e, t) {
    Aroma.AbstractSelector.prototype.setup.call(this, e, t);
    for (var n = 0, r = t.col * t.row; n < r; ++n) this.id_rand_list[n] = n
};
Aroma.RandSelector.prototype.getPieceList = function() {
    var e = [];
    var t = 0;
    for (var n = 0; n < this.selectNum; ++n) {
        t = this.shuffle(this.id_rand_list);
        e[n] = this.view.getPieceAt(Math.floor(t / this.view.row), t % this.view.row, this.effect)
    }
    return e
};
Aroma.Piece = function() {
    this.col = 0;
    this.row = 0;
    this.bounds = {};
    this.origin_x = 0;
    this.origin_y = 0;
    this.origin_z = 0;
    this.options = {}
};
Aroma.Effect = function() {
    this.pieceOptions = {};
    this.isStatic = false
};
Aroma.Effect.prototype.addFrame = function(e, t, n) {
    this.data.push({
        time: e,
        to: t,
        options: n
    })
};
Aroma.Effect.prototype.getToData = function() {
    if (this.data != null && this.isStatic) return this.data;
    this.data = new Array;
    this.getTo();
    return this.data
};
Aroma.Effect.prototype.getFromData = function() {
    if (this.fromData != null && this.isStatic) return this.fromData;
    else if (this.isStatic) {
        this.fromData = this.getFrom();
        return this.fromData
    } else return this.getFrom()
};
Aroma.Effect.prototype.prepare = function() {};
Aroma.Effect.prototype.getPieceOptions = function() {
    return this.pieceOptions
};
window.Cute = {
    version: 2.2,
    name: "Cute Slider",
    author: "Averta Group"
};
Cute.Effect1 = function(e) {
    Aroma.Effect.prototype.constructor.call(this);
    e = e || {};
    this.ease = e.ease || TWEEN.Easing.Linear;
    this.isStatic = true
};
Cute.Effect1.prototype = new Aroma.Effect;
Cute.Effect1.prototype.constructor = Cute.Effect1;
Cute.Effect1.prototype.getToVars = function() {
    this.addFrame(1, {
        opacity: 100
    }, {
        ease: this.ease.EaseOut
    })
};
Cute.Effect1.prototype.getFromVars = function() {
    return {
        opacity: 0,
        slide: 100
    }
};
Cute.Effect1.prototype.prepare = function() {
    this.getFrom = this.getFrom || this.getFromVars;
    this.getTo = this.getTo || this.getToVars
};
Cute.Effect2 = function(e) {
    Aroma.Effect.prototype.constructor.call(this);
    e = e || {};
    this.pieceOptions.dir = e.dir || "r";
    this.pieceOptions.push = e.push;
    this.ease = e.ease || TWEEN.Easing.Linear;
    this.fade = e.fade;
    this.isStatic = true
};
Cute.Effect2.prototype = new Aroma.Effect;
Cute.Effect2.prototype.constructor = Cute.Effect2;
Cute.Effect2.prototype.getToVars = function() {
    this.addFrame(1, this.fade ? {
        opacity: 100,
        slide: 100
    } : {
        slide: 100
    }, {
        ease: this.ease.EaseInOut
    })
};
Cute.Effect2.prototype.getFromVars = function() {
    return this.fade ? {
        opacity: 0,
        slide: 0
    } : {
        slide: 0
    }
};
Cute.Effect2.prototype.prepare = function() {
    this.getFrom = this.getFrom || this.getFromVars;
    this.getTo = this.getTo || this.getToVars
};
Cute.Effect3 = function(e) {
    Cute.Effect2.prototype.constructor.call(this, e);
    this.dir_name_arr = ["r", "l", "t", "b"]
};
Cute.Effect3.prototype = new Cute.Effect2;
Cute.Effect3.prototype.constructor = Cute.Effect3;
Cute.Effect3.prototype.getPieceOptions = function() {
    this.pieceOptions.dir = this.dir_name_arr[Math.round(parseInt(Math.random() * 3))];
    return this.pieceOptions
};
Cute.Effect4 = function(e) {
    Cute.Effect3.prototype.constructor.call(this, e);
    this.counter = 0;
    this.rotation_dir = e.dir || "vertical"
};
Cute.Effect4.prototype = new Cute.Effect3;
Cute.Effect4.prototype.constructor = Cute.Effect4;
Cute.Effect4.prototype.getPieceOptions = function() {
    this.pieceOptions.dir = this.dir_name_arr[(this.counter++ % 2 ? 0 : 1) + (this.rotation_dir == "vertical" ? 2 : 0)];
    return this.pieceOptions
};
Cute.Effect5 = function(e) {
    Aroma.Effect.prototype.constructor.call(this);
    e = e || {};
    this.side = e.side || "r";
    this.zmove = e.zmove || 0;
    this.rotation_axis = "y";
    this.rotation_dir = 1;
    this.xspace = e.xspace || 0;
    this.yspace = e.yspace || 0;
    this.stack = e.stack || false;
    this.balance = e.blance || .5;
    this.ease = e.ease || TWEEN.Easing.Linear;
    this.isStatic = false
};
Cute.Effect5.prototype = new Aroma.Effect;
Cute.Effect5.prototype.constructor = Cute.Effect5;
Cute.Effect5.prototype.createFrames = function(e, t) {
    if (!this.stack) {
        e.z = this.zmove;
        t.z = 0;
        e.x = (this.piece.col - Math.floor(this.view.col * .5)) * this.xspace;
        e.y = (this.piece.row - Math.floor(this.view.row * .5)) * this.yspace;
        t.y = t.x = 0;
        this.addFrame(.5, e, {
            ease: this.ease.EaseIn
        });
        this.addFrame(.5, t, {
            ease: this.ease.EaseOut
        })
    } else {
        var n = {};
        n.x = (this.piece.col - Math.floor(this.view.col * .5)) * this.xspace;
        n.y = (this.piece.row - Math.floor(this.view.row * .5)) * this.yspace;
        n.z = this.zmove;
        this.addFrame(this.balance * .5, n, {
            ease: this.ease.EaseInOut
        });
        this.addFrame(1 - this.balance, t, {
            ease: this.ease.EaseInOut
        });
        this.addFrame(this.balance * .5, {
            z: 0,
            x: 0,
            y: 0
        }, {
            ease: this.ease.EaseInOut
        })
    }
};
Cute.Effect5.prototype.getToVars = function() {
    var e = {};
    var t = {};
    if (this.rotation_axis == "y") {
        e.rotationY = 45 * this.rotation_dir;
        t.rotationY = 90 * this.rotation_dir
    } else {
        e.rotationX = 45 * this.rotation_dir;
        t.rotationX = 90 * this.rotation_dir
    }
    this.createFrames(e, t)
};
Cute.Effect5.prototype.getFromVars = function() {
    return {}
};
Cute.Effect5.prototype.checkSidePos = function() {
    switch (this.side) {
        case "r":
            this.pieceOptions.newImageLocation = this.piece.side_dic.right;
            this.pieceOptions.depth = this.piece.bounds.width;
            this.rotation_axis = "y";
            this.rotation_dir = 1;
            break;
        case "l":
            this.pieceOptions.newImageLocation = this.piece.side_dic.left;
            this.pieceOptions.depth = this.piece.bounds.width;
            this.rotation_axis = "y";
            this.rotation_dir = -1;
            break;
        case "t":
            this.pieceOptions.newImageLocation = this.piece.side_dic.top;
            this.pieceOptions.depth = this.piece.bounds.height;
            this.rotation_axis = "x";
            this.rotation_dir = 1;
            break;
        case "b":
            this.pieceOptions.newImageLocation = this.piece.side_dic.bottom;
            this.pieceOptions.depth = this.piece.bounds.height;
            this.rotation_axis = "x";
            this.rotation_dir = -1;
            break
    }
};
Cute.Effect5.prototype.prepare = function() {
    this.getFrom = this.getFrom || this.getFromVars;
    this.getTo = this.getTo || this.getToVars
};
Cute.Effect5.prototype.getPieceOptions = function() {
    this.checkSidePos();
    return this.pieceOptions
};
Cute.Effect6 = function(e) {
    Cute.Effect5.prototype.constructor.call(this, e);
    this.slide_name_arr = ["l", "r", "b", "t"]
};
Cute.Effect6.prototype = new Cute.Effect5;
Cute.Effect6.prototype.constructor = Cute.Effect6;
Cute.Effect6.prototype.getPieceOptions = function() {
    this.side = this.slide_name_arr[Math.round(parseInt(Math.random() * 3))];
    this.checkSidePos();
    return this.pieceOptions
};
Cute.Effect7 = function(e) {
    Cute.Effect6.prototype.constructor.call(this, e);
    this.counter = 0;
    this._move = e.dir || "vertical"
};
Cute.Effect7.prototype = new Cute.Effect6;
Cute.Effect7.prototype.constructor = Cute.Effect7;
Cute.Effect7.prototype.getPieceOptions = function() {
    this.side = this.slide_name_arr[(this.counter++ % 2 ? 0 : 1) + (this._move == "vertical" ? 2 : 0)];
    this.checkSidePos();
    return this.pieceOptions
};
Cute.Effect8 = function(e) {
    e = e || {};
    Cute.Effect5.prototype.constructor.call(this, e);
    this.sideColor = e.sidecolor || 0;
    this.depth = e.depth || -1;
    this.dir = e.dir || "u";
    this.rotation_axis = "x";
    this.rotation_dir = 1
};
Cute.Effect8.prototype = new Cute.Effect5;
Cute.Effect8.prototype.constructor = Cute.Effect8;
Cute.Effect8.prototype.getToVars = function() {
    var e = {};
    var t = {};
    if (this.rotation_axis == "y") {
        e.rotationY = 90 * this.rotation_dir;
        t.rotationY = 180 * this.rotation_dir
    } else {
        e.rotationX = 90 * this.rotation_dir;
        t.rotationX = 180 * this.rotation_dir
    }
    this.createFrames(e, t)
};
Cute.Effect8.prototype.updateConfig = function() {
    this.pieceOptions.sideColor = this.sideColor;
    this.pieceOptions.depth = this.depth <= 0 ? this.dir == "u" || this.dir == "d" ? this.piece.bounds.height : this.piece.bounds.width : this.depth;
    this.rotation_axis = this.dir == "u" || this.dir == "d" ? "x" : "y";
    this.rotation_dir = this.dir == "u" || this.dir == "r" ? 1 : -1;
    this.pieceOptions.flipX = this.pieceOptions.flipY = this.dir == "u" || this.dir == "d"
};
Cute.Effect8.prototype.getPieceOptions = function() {
    this.updateConfig();
    return this.pieceOptions
};
Cute.Effect9 = function(e) {
    Cute.Effect8.prototype.constructor.call(this, e);
    this.dir_name_arr = ["l", "r", "u", "d"]
};
Cute.Effect9.prototype = new Cute.Effect8;
Cute.Effect9.prototype.constructor = Cute.Effect9;
Cute.Effect9.prototype.getPieceOptions = function() {
    this.dir = this.dir_name_arr[Math.round(parseInt(Math.random() * 3))];
    this.updateConfig();
    return this.pieceOptions
};
Cute.Effect10 = function(e) {
    Cute.Effect9.prototype.constructor.call(this, e);
    this.counter = 0;
    this._move = e.dir || "vertical"
};
Cute.Effect10.prototype = new Cute.Effect9;
Cute.Effect10.prototype.constructor = Cute.Effect10;
Cute.Effect10.prototype.getPieceOptions = function() {
    this.dir = this.dir_name_arr[(this.counter++ % 2 ? 0 : 1) + (this._move == "vertical" ? 2 : 0)];
    this.updateConfig();
    return this.pieceOptions
};
Cute.Effect11 = function(e) {
    Cute.Effect8.call(this, e);
    e = e || {};
    this.rotation_x = 0;
    this.rotation_y = 0;
    this.dir = e.dir || "tr";
    this.pieceOptions.flipX = this.pieceOptions.flipY = true
};
Cute.Effect11.prototype = new Cute.Effect8;
Cute.Effect11.prototype.constructor = Cute.Effect11;
Cute.Effect11.prototype.getToVars = function() {
    var e = {};
    var t = {};
    if (this.rotation_x != 0) {
        e.rotationX = 90 * this.rotation_x;
        t.rotationX = 180 * this.rotation_x
    }
    if (this.rotation_y != 0) {
        e.rotationY = 180 * this.rotation_y;
        t.rotationY = 360 * this.rotation_y
    }
    this.createFrames(e, t)
};
Cute.Effect11.prototype.updateConfig = function() {
    this.pieceOptions.sideColor = this.sideColor;
    this.pieceOptions.depth = this.depth <= 0 ? 10 : this.depth;
    switch (this.dir.charAt(0)) {
        case "t":
            this.rotation_x = -1;
            break;
        case "b":
            this.rotation_x = 1;
            break
    }
    switch (this.dir.charAt(1)) {
        case "r":
            this.rotation_y = -1;
            break;
        case "l":
            this.rotation_y = 1;
            break
    }
};
Cute.Effect12 = function(e) {
    Cute.Effect11.prototype.constructor.call(this, e);
    this.dir_name_arr = ["tl", "tr", "bl", "br"]
};
Cute.Effect12.prototype = new Cute.Effect11;
Cute.Effect12.prototype.constructor = Cute.Effect12;
Cute.Effect12.prototype.getPieceOptions = function() {
    this.dir = this.dir_name_arr[Math.round(parseInt(Math.random() * 3))];
    this.updateConfig();
    return this.pieceOptions
};
(function() {
    function e(e) {
        for (var t = 0, n = window.resizeListeners.length; t < n; ++t) {
            window.resizeListeners[t].listener.call(window.resizeListeners[t].ref)
        }
    }
    window.resizeListeners = [];
    if (window.addEventListener) window.addEventListener("resize", e);
    else if (window.attachEvent) window.attachEvent("onresize", e);
    window.addResizeListener = function(e, t) {
        window.resizeListeners.push({
            listener: e,
            ref: t
        })
    };
    window.removeResizeListener = function(e, t) {
        for (var n = 0; n < window.resizeListeners.length; ++n) {
            if (window.resizeListeners[n].listener == e && window.resizeListeners[n].ref == t) window.resizeListeners.splice(n, 1)
        }
    }
})();
Averta = {};
Averta.Timer = function(e, t) {
    this.delay = e;
    this.currentCount = 0;
    this.paused = false;
    this.onTimer = null;
    this.refrence = null;
    if (t) this.start()
};
Averta.Timer.prototype = {
    constructor: Averta.Timer,
    start: function() {
        this.paused = false;
        this.lastTime = Date.now()
    },
    stop: function() {
        this.paused = true
    },
    reset: function() {
        this.currentCount = 0;
        this.paused = true;
        this.lastTime = Date.now()
    },
    update: function() {
        if (this.paused || Date.now() - this.lastTime < this.delay) return;
        this.currentCount++;
        this.lastTime = Date.now();
        if (this.onTimer) this.onTimer.call(this.refrence, this.getTime())
    },
    getTime: function() {
        return this.delay * this.currentCount
    }
};
var lastTime = 0;
var vendors = ["ms", "moz", "webkit", "o"];
for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {
    window.requestAnimationFrame = window[vendors[x] + "RequestAnimationFrame"];
    window.cancelAnimationFrame = window[vendors[x] + "CancelAnimationFrame"] || window[vendors[x] + "CancelRequestAnimationFrame"]
}
if (!window.requestAnimationFrame) window.requestAnimationFrame = function(e, t) {
    var n = (new Date).getTime();
    var r = Math.max(0, 16 - (n - lastTime));
    var i = window.setTimeout(function() {
        e(n + r)
    }, r);
    lastTime = n + r;
    return i
};
if (!window.cancelAnimationFrame) window.cancelAnimationFrame = function(e) {
    clearTimeout(e)
};
Cute.Ticker = Cute.Ticker || {
    list: [],
    __stoped: true,
    add: function(e, t) {
        Cute.Ticker.list.push([e, t]);
        return Cute.Ticker.list.length
    },
    remove: function(e, t) {
        for (var n = 0, r = Cute.Ticker.list.length; n < r; ++n) {
            if (Cute.Ticker.list[n] && Cute.Ticker.list[n][0] == e && Cute.Ticker.list[n][1] == t) {
                Cute.Ticker.list.splice(n, 1)
            }
        }
    },
    start: function() {
        if (!Cute.Ticker.__stoped) return;
        Cute.Ticker.__stoped = false;
        Cute.Ticker.__tick()
    },
    stop: function() {
        Cute.Ticker.__stoped = true
    },
    __tick: function() {
        if (Cute.Ticker.__stoped) return;
        for (var e = 0; e < Cute.Ticker.list.length; ++e) {
            Cute.Ticker.list[e][0].call(Cute.Ticker.list[e][1])
        }
        requestAnimationFrame(Cute.Ticker.__tick)
    }
};
Cute.FallBack = function() {};
Cute.FallBack.CANVAS = "canvas";
Cute.FallBack.CSS3D = "css3d";
Cute.FallBack.DOM2D = "dom2d";
Cute.FallBack.ua = (new UAParser).result;
Cute.FallBack.prototype = {
    force: null,
    __result: null,
    getType: function() {
        if (this.__result) return this.__result;
        if (this.force) {
            switch (this.force.toLowerCase()) {
                case "2d":
                    this.__result = Cute.FallBack.DOM2D;
                    break;
                case "canvas":
                    this.__result = Cute.FallBack.CANVAS;
                    break;
                case "css":
                    this.__result = Cute.FallBack.CSS3D;
                    break
            }
            if (this.__result) return this.__result
        }
        var e = Cute.FallBack.ua;
        var t = Cute.FallBack.DOM2D;
        var n = e.os.name.toLowerCase();
        var r = e.browser.name.toLowerCase();
        var i = false;
        switch (n) {
            case "windows":
            case "mac os":
            case "linux":
            case "ubuntu":
                if (r == "chrome" || r == "safari" || r == "chromium" || e.engine.name == "AppleWebKit") t = Cute.FallBack.CSS3D;
                else if (r == "ie" && parseInt(e.browser.major) >= 9 || r == "firefox" || r == "opera") t = Cute.FallBack.CANVAS;
                break;
            case "ios":
                t = Cute.FallBack.CSS3D;
                break;
            case "android":
                if (parseInt(e.os.version.charAt(0)) >= 4) t = Cute.FallBack.CSS3D;
                break;
            case "windows phone os":
                t = Cute.FallBack.DOM2D;
                break;
            default:
                i = true
        }
        if (window.Modernizr) {
            if (t == Cute.FallBack.CANVAS && !Modernizr.canvas) t = Cute.FallBack.DOM2D;
            else if (t == Cute.FallBack.CSS3D && !Modernizr.csstransforms3d) t = Cute.FallBack.DOM2D;
            else if (i) {
                if (Modernizr.csstransforms3d) t = Cute.FallBack.CSS3D;
                else if (Modernizr.canvas) t = Cute.FallBack.CANVAS
            }
        }
        if (n == "android" && r == "mobile safari") t = Cute.FallBack.DOM2D;
        this.__result = t;
        return t
    }
};
Cute.FallBack.isIE = Cute.FallBack.ua.browser.name == "IE";
Cute.FallBack.isIE7 = Cute.FallBack.isIE && Cute.FallBack.ua.browser.major == 7;
Cute.FallBack.isIE8 = Cute.FallBack.isIE && Cute.FallBack.ua.browser.major == 8;
Cute.FallBack.isMobileDevice = Cute.FallBack.ua.os.name.toLowerCase() == "android" || Cute.FallBack.ua.os.name.toLowerCase() == "ios" || Cute.FallBack.ua.os.name.toLowerCase() == "windows phone os",
    function() {
        if (Cute.FallBack.ua.browser.name == "IE" && parseInt(Cute.FallBack.ua.browser.major) < 9) {
            Date.now = function() {
                return (new Date).getTime()
            };
            Array.prototype.indexOf = function(e) {
                for (var t = 0, n = this.length; t < n; ++t) {
                    if (this[t] == e) return t
                }
                return -1
            }
        }
    }();
Cute.ModuleLoader = function(e) {
    this.fallBack = e
};
Cute.ModuleLoader.loadedModules = {
    css3d: false,
    canvas: false,
    dom2d: false
};
Cute.ModuleLoader.css3d_files = ["" + CSSettings.pluginPath + "/js/cute.css3d.module.js"];
Cute.ModuleLoader.canvas_files = ["" + CSSettings.pluginPath + "/js/cute.canvas.module.js"];
Cute.ModuleLoader.dom2d_files = ["" + CSSettings.pluginPath + "/js/cute.2d.module.js"];
Cute.ModuleLoader.prototype = {
    onComplete: false,
    loadModule: function() {
        var e = this.fallBack.getType();
        if (Cute.ModuleLoader.loadedModules[e]) {
            if (this.onComplete) {
                Cute.ModuleLoader.loadedModules[e] = true;
                this.onComplete.listener.call(this.onComplete.ref)
            }
            return
        }
        var t = [];
        switch (e) {
            case Cute.FallBack.CSS3D:
                t = Cute.ModuleLoader.css3d_files;
                break;
            case Cute.FallBack.CANVAS:
                t = Cute.ModuleLoader.canvas_files;
                break;
            case Cute.FallBack.DOM2D:
                t = Cute.ModuleLoader.dom2d_files;
                break
        }
        var n = this;
        yepnope.injectJs(t, function() {
            if (n.onComplete) {
                Cute.ModuleLoader.loadedModules[e] = true;
                n.onComplete.listener.call(n.onComplete.ref)
            }
        })
    }
};
window.Averta = window.Averta || {};
Averta.EventDispatcher = function() {
    this.listeners = {}
};
Averta.EventDispatcher.extend = function(e) {
    var t = new Averta.EventDispatcher;
    for (var n in t)
        if (n != "constructor") e[n] = Averta.EventDispatcher.prototype[n]
};
Averta.EventDispatcher.prototype = {
    constructor: Averta.EventDispatcher,
    addEventListener: function(e, t, n) {
        if (!this.listeners[e]) this.listeners[e] = [];
        this.listeners[e].push({
            listener: t,
            ref: n
        })
    },
    removeEventListener: function(e, t, n) {
        if (this.listener[e.type]) {
            for (var r = 0, i = this.listeners[e].length; r < i; ++r)
                if (t == this.listeners[e][r].listener && n == this.listeners[e][r].ref) this.listeners[e].splice(r);
            if (this.listeners[e].length == 0) delete this.listeners[e]
        }
    },
    dispatchEvent: function(e) {
        e.target = this;
        if (this.listeners[e.type])
            for (var t = 0, n = this.listeners[e.type].length; t < n; ++t) {
                this.listeners[e.type][t].listener.call(this.listeners[e.type][t].ref, e)
            }
    }
};
Cute.SliderEvent = function(e) {
    this.type = e
};
Cute.SliderEvent.CHANGE_START = "changeStart";
Cute.SliderEvent.CHANGE_END = "changeEnd";
Cute.SliderEvent.WATING = "wating";
Cute.SliderEvent.AUTOPLAY_CHANGE = "autoplayChange";
Cute.SliderEvent.CHANGE_NEXT_SLIDE = "changeNextSlide";
Cute.SliderEvent.WATING_FOR_NEXT = "watingForNextSlide";
window.Averta = window.Averta || {};
Averta.ScrollContainer = function(e, t) {
    this.element = e;
    this.scrollStartPosY = 0;
    this.scrollStartPosX = 0;
    this.content = t;
    this.lastX = 0;
    this.lastY = 0;
    this.moved = false;
    this.isTouch = function() {
        try {
            document.createEvent("TouchEvent");
            return true
        } catch (e) {
            return false
        }
    }
};
Averta.ScrollContainer.prototype = {
    constrcutor: Averta.ScrollContainer,
    setup: function() {
        function n(n) {
            if (t) {
                e.scrollStartPosX = n.touches[0].pageX;
                e.scrollStartPosY = n.touches[0].pageY
            } else {
                e.scrollStartPosX = n.clientX;
                e.scrollStartPosY = n.clientY
            }
            e.mouseDown = true;
            e.moved = false;
            if (window.addEventListener) {
                n.preventDefault()
            }
        }

        function r(n) {
            if (!e.mouseDown) return;
            if (t) {
                var r = n.touches[0].pageX;
                var i = n.touches[0].pageY;
                e.move(r - e.scrollStartPosX + e.lastX, i - e.scrollStartPosY + e.lastY);
                e.scrollStartPosX = r;
                e.scrollStartPosY = i
            } else {
                e.move(n.clientX - e.scrollStartPosX + e.lastX, n.clientY - e.scrollStartPosY + e.lastY);
                e.scrollStartPosX = n.clientX;
                e.scrollStartPosY = n.clientY
            }
            if (window.addEventListener) {
                n.preventDefault()
            }
        }

        function i(t) {
            function n(e) {
                var t = 0;
                var n = 0;
                while (e && !isNaN(e.offsetLeft) && !isNaN(e.offsetTop)) {
                    t += e.offsetLeft - e.scrollLeft;
                    n += e.offsetTop - e.scrollTop;
                    e = e.offsetParent
                }
                return {
                    top: n,
                    left: t
                }
            }
            var r = n(e.element).left;
            e.element.childNodes[0].style.left = -(t.clientX - r) / (e.element.offsetWidth / (e.element.childNodes[0].offsetWidth - e.element.offsetWidth)) + "px"
        }

        function s(n) {
            if (!e.mouseDown) return;
            e.mouseDown = false;
            if (window.addEventListener) {
                n.preventDefault()
            }
            if (t) {
                document.removeEventListener("touchend", e.element, false);
                return
            }
            if (document.detachEvent) document.detachEvent("onmousemove", e.element);
            else document.removeEventListener("mousemove", e.element, false)
        }
        if (Cute.FallBack.isIE7) return;
        var e = this;
        var t = this.isTouch();
        if (t) {
            this.element.addEventListener("touchstart", n);
            this.element.addEventListener("touchmove", r);
            return
        }
        if (window.addEventListener) {
            this.element.addEventListener("mousemove", i, false)
        } else {
            this.element.attachEvent("onmousemove", i, false)
        }
    },
    move: function(e, t) {
        this.moved = true;
        this.element.scrollTop = -t;
        this.element.scrollLeft = -e;
        this.lastX = -this.element.scrollLeft;
        this.lastY = -this.element.scrollTop
    },
    translate: function(e, t) {
        this.move(this.lastX + (e || 0), this.lastY + (t || 0))
    }
};
Cute.ItemList = function(e) {
    this.frame = document.createElement("div");
    this.frame.className = "il-frame";
    this.content = document.createElement("div");
    this.content.className = "il-content";
    this.type = "vertical";
    this.items = [];
    this.sc = new Averta.ScrollContainer(this.frame, this.content);
    var t = this;
    var n = 0;
    var r = false;
    var i = this.sc.isTouch();
    this.__scrollnext = function(e) {
        r = true;
        n = 2;
        Cute.Ticker.add(t.__scrolling, t);
        if (i) e.preventDefault()
    };
    this.__scrollprev = function(e) {
        r = true;
        n = -2;
        Cute.Ticker.add(t.__scrolling, t);
        if (i) e.preventDefault()
    };
    this.__stopscroll = function(e) {
        if (!r) return;
        r = false;
        Cute.Ticker.remove(t.__scrolling, t);
        t.sc.moved = false;
        if (i) e.preventDefault()
    };
    this.__scrolling = function() {
        if (t.type == "vertical") t.sc.translate(0, n);
        else t.sc.translate(-n, 0)
    };
    this.upleft = document.createElement("div");
    this.upleft.onmousedown = this.__scrollprev;
    this.downright = document.createElement("div");
    this.downright.onmousedown = this.__scrollnext;
    document.onmouseup = this.__stopscroll;
    if (i) {
        this.upleft.addEventListener("touchstart", this.__scrollprev, false);
        this.downright.addEventListener("touchstart", this.__scrollnext, false);
        document.addEventListener("touchend", this.__stopscroll, false)
    }
    this.container = document.createElement("div");
    this.container.className = "br-thumblist-container";
    e.appendChild(this.container);
    this.container.appendChild(this.frame);
    this.container.appendChild(this.downright);
    this.container.appendChild(this.upleft);
    this.frame.appendChild(this.content);
    this.addItem = function(e) {
        this.content.appendChild(e);
        this.items.push(e)
    }
};
Cute.Slide = function(e) {
    this.src = "";
    this.delay = 0;
    this.slider = e;
    this.ready = false;
    this._index = 0;
    this.autoPlay = true;
    this.pluginData = {};
    this.opacity = 100;
    this.domElement = document.createElement("div");
    this.domElement.style.width = "100%";
    this.domElement.style.height = "auto";
    this.domElement.style.overflow = "hidden";
    this.domElement.style.position = "absolute";
    this.domElement.style.zIndex = "1"
};
Cute.Slide.prototype = {
    constructor: Cute.Slide,
    loadContent: function() {
        if (this.src != null) {
            this.image = new Image;
            this.image.slide = this;
            this.image.onload = this.contentLoaded;
            this.image.src = this.src;
            this.image.style.width = "100%";
            this.image.style.height = "auto"
        } else {
            this.ready = true;
            this.onReady.listener.call(this.onReady.ref)
        }
    },
    killLoading: function() {
        this.image.onload = null
    },
    addContent: function(e) {
        this.domElement.appendChild(e);
        this.image = e;
        this.image.style.width = "100%";
        this.image.style.height = "auto";
        this.ready = true;
        if (this.onReady) this.onReady.listener.call(this.onReady.ref);
        this.prepareToShow();
        this.showIsDone()
    },
    showIsDone: function() {},
    hideIsDone: function() {},
    prepareToShow: function() {},
    prepareToHide: function() {},
    contentLoaded: function() {
        this.slide.domElement.appendChild(this);
        this.slide.ready = true;
        if (this.slide.onReady) this.slide.onReady.listener.call(this.slide.onReady.ref)
    },
    opacityUpdate: function() {
        setOpacity(this.domElement, this.opacity)
    }
};
Cute.SlideManager = function() {
    Averta.EventDispatcher.prototype.constructor.call(this);
    this.width = 0;
    this.height = 0;
    this._timer = new Averta.Timer(100);
    this._slideList = [];
    this._currentSlideIndex = 0;
    this._delayProgress = 0;
    this._autoPlay = true;
    this._status = "";
    this.domElement = document.createElement("div");
    this.domElement.style.position = "relative";
    this._timer.onTimer = this.onTimer;
    this._timer.refrence = this
};
Cute.SlideManager.prototype = {
    constructor: Cute.SlideManager,
    startTimer: function() {
        if (!this._autoPlay) return false;
        this._timer.start();
        return true
    },
    skipTimer: function() {
        this._timer.reset();
        this._delayProgress = 100;
        this.dispatchEvent(new Cute.SliderEvent(Cute.SliderEvent.WATING))
    },
    onTimer: function(e) {
        if (this._timer.getTime() >= this._currentSlide.delay * 1e3) {
            this._timer.stop();
            if (this._nextSlide.ready) this.showSlide(this._nextSlide);
            else this.waitForNext()
        }
        this._delayProgress = this._timer.getTime() / (this._currentSlide.delay * 10);
        this.dispatchEvent(new Cute.SliderEvent(Cute.SliderEvent.WATING))
    },
    prepareTransition: function(e) {
        if (this.rotator.fallBack.getType() == Cute.FallBack.DOM2D) return e.transitions2D[parseInt(Math.random() * e.transitions2D.length)];
        else return e.transitions3D[parseInt(Math.random() * e.transitions3D.length)]
    },
    showSlide: function(e) {
        var t = this.prepareTransition(e);
        this._oldSlide = this._currentSlide;
        this._currentSlide = e;
        this._oldSlide.prepareToHide();
        e.prepareToShow();
        this._view = new this._viewClass(t.row, t.col);
        this._view.setSize(this.width, this.height);
        this._view.setViewPortSize(this.vpWidth, this.vpHeight);
        this._view.oldSource = this._oldSlide.image;
        this._view.newSource = e.image;
        this._view.setup();
        if (this._view.needRendering) Cute.Ticker.add(this._view.render, this._view);
        this._engine = new Aroma.Engine(this._view);
        t.selector.reset();
        this._engine.start(t.effect, t.selector, t.duration, t.overlapping, .45);
        this._engine.onComplete = {
            ref: this,
            listener: this.transitionCl
        };
        this._replaceTween = (new TWEEN.Tween(this._oldSlide)).to({
            opacity: 0
        }, 450).onUpdate(this._oldSlide.opacityUpdate).start();
        this._replaceTween.slider = this;
        this.newSlide = e;
        this._replaceTween.onComplete(function() {
            this.slider.domElement.removeChild(this.domElement)
        });
        this.domElement.appendChild(this._view.viewport);
        this._view.viewport.style.position = "absolute";
        this._view.viewport.style.zIndex = "0";
        this._view.viewport.style.marginLeft = -(this.vpWidth - this.width) / 2 + "px";
        this._view.viewport.style.marginTop = -(this.vpHeight - this.height) / 2 + "px";
        this._currentSlideIndex = e.index;
        this._timer.reset();
        this._delayProgress = 0;
        this._status = "changing";
        this.dispatchEvent(new Cute.SliderEvent(Cute.SliderEvent.WATING));
        this.dispatchEvent(new Cute.SliderEvent(Cute.SliderEvent.CHANGE_START))
    },
    transitionCl: function() {
        this._engine.reset();
        this._currentSlide.opacity = 0;
        this.domElement.appendChild(this._currentSlide.domElement);
        this._replaceTween2 = (new TWEEN.Tween(this._currentSlide)).to({
            opacity: 100
        }, 450).onUpdate(this._currentSlide.opacityUpdate);
        TWEEN.add(this._replaceTween2);
        this._replaceTween2.start();
        this._replaceTween2.onComplete(function() {
            if (this.slider._view.needRendering) Cute.Ticker.remove(this.slider._view.render, this.slider._view);
            TWEEN.remove(this.slider._replaceTween2);
            this.slider.domElement.removeChild(this.slider._view.viewport);
            this.slider._view.dispose();
            this.slider._view = null;
            this.slider._currentSlide.showIsDone();
            this.slider._oldSlide.hideIsDone();
            this.slider._status = "wating";
            this.slider.dispatchEvent(new Cute.SliderEvent(Cute.SliderEvent.CHANGE_END))
        });
        this._engine = null;
        this.startTimer();
        this.gotoSlide(this.getNextIndex())
    },
    readyToShow: function() {
        if (this._delayProgress == 100) this.showSlide(this._nextSlide)
    },
    waitForNext: function() {
        this._status = "loading";
        this.dispatchEvent(new Cute.SliderEvent(Cute.SliderEvent.WATING_FOR_NEXT))
    },
    resize: function() {
        if (this._status == "changing") {
            if (this._engine) {
                this._engine.removeTweens();
                this._engine.reset()
            }
            if (this._view) {
                if (this._view.needRendering) Cute.Ticker.remove(this._view.render, this._view);
                this.domElement.removeChild(this._view.viewport);
                this._view.dispose();
                this._view = null;
                this._engine = null
            }
            if (this._replaceTween2) {
                this._replaceTween2.stop();
                TWEEN.remove(this._replaceTween2)
            }
            if (!this._currentSlide.domElement.parentElement) this.domElement.appendChild(this._currentSlide.domElement);
            this._currentSlide.opacity = 100;
            this._currentSlide.opacityUpdate();
            this._currentSlide.showIsDone();
            if (this._replaceTween) {
                this._replaceTween.stop();
                TWEEN.remove(this._replaceTween)
            }
            if (!this._oldSlide.domElement.parentElement) this.domElement.appendChild(this._oldSlide.domElement);
            this._oldSlide.opacity = 0;
            this._oldSlide.opacityUpdate();
            this._oldSlide.hideIsDone();
            this._status = "wating";
            this.dispatchEvent(new Cute.SliderEvent(Cute.SliderEvent.CHANGE_END));
            this.startTimer();
            this.gotoSlide(this.getNextIndex())
        }
    },
    getNextIndex: function() {
        if (this._currentSlideIndex + 1 == this._slideList.length) return 0;
        else return this._currentSlideIndex + 1
    },
    getPreviousIndex: function() {
        if (this._currentSlideIndex - 1 == -1) return this._slideList.length - 1;
        else return this._currentSlideIndex - 1
    },
    gotoSlide: function(e, t) {
        if (t) {
            this.skipTimer();
            if (this._nextSlide && this._nextSlide.index == e) {
                if (this._nextSlide.ready) this.showSlide(this._nextSlide);
                else this.waitForNext();
                return
            }
        }
        if (this._nextSlide && this._nextSlide.index == e) return;
        if (this._nextSlide) {
            this._nextSlide.killLoading();
            this._nextSlide = null
        }
        this._nextSlide = this._slideList[e];
        if (!this._nextSlide.ready) {
            if (t) this.waitForNext();
            this._nextSlide.onReady = {
                listener: this.readyToShow,
                ref: this
            };
            this._nextSlide.loadContent()
        } else if (this._delayProgress == 100) {
            this.showSlide(this._slideList[e])
        }
        this.dispatchEvent(new Cute.SliderEvent(Cute.SliderEvent.CHANGE_NEXT_SLIDE))
    },
    start: function() {
        this._currentSlide = this._slideList[this._currentSlideIndex];
        this.domElement.appendChild(this._currentSlide.domElement);
        this.dispatchEvent(new Cute.SliderEvent(Cute.SliderEvent.CHANGE_END));
        this.startTimer();
        this.gotoSlide(this.getNextIndex());
        this.vpWidth = this.vpWidth || this.width;
        this.vpHeight = this.vpHeight || this.height
    },
    next: function() {
        if (this._status == "changing") return;
        this.gotoSlide(this.getNextIndex(), true)
    },
    previous: function() {
        if (this._status == "changing") return;
        this.gotoSlide(this.getPreviousIndex(), true)
    },
    pushSlide: function(e) {
        this._slideList.push(e);
        e.index = this._slideList.length - 1;
        return this._slideList.length - 1
    },
    pause: function() {
        this._timer.stop()
    },
    play: function() {
        this._timer.start()
    },
    getTimer: function() {
        return this._timer
    },
    getSlideList: function() {
        return this._slideList
    },
    getNextSlide: function() {
        return this._nextSlide
    },
    getCurrentSlide: function() {
        return this._currentSlide
    },
    getCurrentSlideIndex: function() {
        return this._currentSlideIndex
    },
    delayProgress: function() {
        return this._delayProgress
    },
    getAutoPlay: function() {
        return this._autoPlay
    },
    setAutoPlay: function(e) {
        if (this._autoPlay == e) return;
        this._autoPlay = e;
        if (!this._autoPlay) this._timer.stop();
        else this._timer.start();
        this.dispatchEvent(new Cute.SliderEvent(Cute.SliderEvent.AUTOPLAY_CHANGE))
    }
};
Averta.EventDispatcher.extend(Cute.SlideManager.prototype);
Cute.rotatorControls = {};
Cute.AbstractControl = function(e) {
    this.config = null;
    this.slider = e;
    this.domElement = null;
    this.disable = false;
    this.name = "";
    this.config = {};
    this.opacity = 100;
    this.showTween = null
};
Cute.AbstractControl.prototype = {
    constructor: Cute.AbstractControl,
    setup: function(e) {
        this.config_ele = e;
        this.domElement.className = e.className || this.config.css_class;
        if (e.getAttribute("style")) this.domElement.setAttribute("style", e.getAttribute("style"));
        this.slider.addEventListener(Cute.SliderEvent.CHANGE_START, this.__effStart, this);
        this.slider.addEventListener(Cute.SliderEvent.CHANGE_END, this.__effEnd, this)
    },
    opacityUpdate: function() {
        setOpacity(this.domElement, this.opacity)
    },
    visible: function(e) {
        this.domElement.style.display = !e ? "none" : ""
    },
    show: function() {
        if (this.showTween) this.showTween.stop();
        this.showTween = (new TWEEN.Tween(this)).to({
            opacity: 100
        }, 450).onUpdate(this.opacityUpdate).start();
        TWEEN.add(this.showTween)
    },
    hide: function() {
        if (this.showTween) this.showTween.stop();
        this.showTween = (new TWEEN.Tween(this)).to({
            opacity: 0
        }, 450).onUpdate(this.opacityUpdate).start();
        TWEEN.add(this.showTween)
    },
    __effEnd: function(e) {
        this.visible(true);
        if (!this.config.autoHide) this.show();
        if (this.ap) this.slider.setAutoPlay(true)
    },
    __effStart: function(e) {
        this.hide()
    }
};
Cute.Next = function(e) {
    Cute.AbstractControl.prototype.constructor.call(this, e);
    this.domElement = document.createElement("div");
    this.config = {
        css_class: "br-next"
    }
};
Cute.rotatorControls.next = Cute.Next;
Cute.Next.prototype = new Cute.AbstractControl;
Cute.Next.prototype.constructor = Cute.Next;
Cute.Next.prototype.setup = function(e) {
    Cute.AbstractControl.prototype.setup.call(this, e);
    this.domElement.control = this;
    this.domElement.onclick = function() {
        this.control.slider.next()
    }
};
Cute.Next.prototype.show = function() {
    Cute.AbstractControl.prototype.show.call(this);
    this.domElement.style.cursor = "pointer"
};
Cute.Next.prototype.hide = function() {
    Cute.AbstractControl.prototype.hide.call(this);
    this.domElement.style.cursor = ""
};
Cute.Previous = function(e) {
    Cute.Next.call(this, e);
    this.config = {
        css_class: "br-previous"
    }
};
Cute.rotatorControls.previous = Cute.Previous;
Cute.Previous.prototype = new Cute.Next;
Cute.Previous.prototype.constructor = Cute.Previous;
Cute.Previous.prototype.setup = function(e) {
    Cute.Next.prototype.setup.call(this, e);
    this.domElement.onclick = function() {
        this.control.slider.previous()
    }
};
Cute.CircleTimer = function(e) {
    Cute.AbstractControl.call(this, e);
    this.domElement = document.createElement("div");
    this.lbrowser = Cute.FallBack.ua.browser.name.toLowerCase() == "ie" && parseInt(Cute.FallBack.ua.browser.major) < 9;
    if (this.lbrowser) return;
    this.config = {
        color: "#fff",
        stroke: 10,
        radius: 4,
        css_class: "br-circle-timer"
    };
    this.overpause = false;
    this.canvas = document.createElement("canvas");
    this.dot = document.createElement("div");
    this.ctx = this.canvas.getContext("2d");
    this.prog = 0;
    this.drawTween = null
};
Cute.rotatorControls.circletimer = Cute.CircleTimer;
Cute.CircleTimer.prototype = new Cute.AbstractControl;
Cute.CircleTimer.prototype.constructor = Cute.CircleTimer;
Cute.CircleTimer.prototype.setup = function(e) {
    if (this.lbrowser) return;
    Cute.AbstractControl.prototype.setup.call(this, e);
    this.config.color = e.getAttribute("data-color") || this.config.color;
    if (e.getAttribute("data-stroke")) this.config.stroke = parseInt(e.getAttribute("data-stroke"));
    if (e.getAttribute("data-radius")) this.config.radius = parseInt(e.getAttribute("data-radius"));
    this.__w = (this.config.radius + this.config.stroke) * 2;
    this.canvas.width = this.__w;
    this.canvas.height = this.__w;
    this.canvas.className = "br-timer-stroke";
    this.canvas.style.position = "absolute";
    this.dot.className = "br-timer-dot";
    this.dot.style.position = "relative";
    this.dot.style.left = (this.__w - 10) * .5 + "px";
    this.dot.style.top = (this.__w - 12) * .5 + "px";
    this.domElement.slider = this.slider;
    this.domElement.onclick = function() {
        if (!Cute.AbstractControl.paused) {
            Cute.AbstractControl.paused = true;
            this.slider.setAutoPlay(false)
        } else {
            Cute.AbstractControl.paused = false;
            this.slider.setAutoPlay(true)
        }
    };
    this.slider.addEventListener(Cute.SliderEvent.WATING, this.update, this);
    this.domElement.appendChild(this.canvas);
    this.domElement.appendChild(this.dot)
};
Cute.CircleTimer.prototype.update = function(e) {
    if (this.drawTween) this.drawTween.stop();
    this.drawTween = (new TWEEN.Tween(this)).to({
        prog: this.slider.delayProgress() * .01
    }, 300).easing(TWEEN.Easing.Circular.EaseOut).onUpdate(this.draw).start()
};
Cute.CircleTimer.prototype.draw = function() {
    this.ctx.clearRect(0, 0, this.__w, this.__w);
    this.ctx.beginPath();
    this.ctx.arc(this.__w * .5, this.__w * .5, this.config.radius, Math.PI * 1.5, Math.PI * 1.5 + 2 * Math.PI * this.prog, false);
    this.ctx.strokeStyle = this.config.color;
    this.ctx.lineWidth = this.config.stroke;
    this.ctx.stroke()
};
Cute.CircleTimer.prototype.show = function() {
    Cute.AbstractControl.prototype.show.call(this);
    this.domElement.style.cursor = "pointer"
};
Cute.CircleTimer.prototype.hide = function() {
    Cute.AbstractControl.prototype.hide.call(this);
    this.domElement.style.cursor = ""
};
Cute.Thumb = function(e, t) {
    this.domElement = document.createElement("div");
    this.domElement.className = "br-thumb-" + t;
    this.imgCont = document.createElement("div");
    this.imgCont.className = "br-thumb-img";
    this.imgCont.style.overflow = "hidden";
    this.img = new Image;
    this.img.thumb = this;
    this.img.onload = this.thumbLoaded;
    this.img.src = e;
    this.img.style.position = "absolute";
    this.img.style.filter = "inherit";
    this.frame = document.createElement("div");
    this.frame.style.position = "absolute";
    this.frame.style.zIndex = "1";
    this.frame.className = "br-thumb-frame";
    this.frame.style.filter = "inherit";
    this.thumb_pos = 1;
    this.imgCont.appendChild(this.img);
    this.domElement.appendChild(this.imgCont);
    this.domElement.appendChild(this.frame)
};
Cute.Thumb.prototype = {
    constructor: Cute.Thumb,
    thumbLoaded: function() {
        this.thumb.imgLoaded = true;
        if (this.thumb.rts) this.thumb.show()
    },
    ut: function() {
        this.img.style.transform = "scale(" + this.thumb_pos + ")";
        this.img.style.webkitTransform = "scale(" + this.thumb_pos + ")";
        this.img.style.MozTransform = "scale(" + this.thumb_pos + ") rotate(0.1deg)";
        this.img.style.msTransform = "scale(" + this.thumb_pos + ")";
        this.img.style.OTransform = "scale(" + this.thumb_pos + ")"
    },
    show: function() {
        if (!this.imgLoaded) {
            this.rts = true;
            return
        }
    },
    reset: function() {
        this.rts = false;
        if (this.st) {
            this.st.stop();
            this.st = null
        }
    }
};
Cute.SlideControl = function(e) {
    Cute.AbstractControl.call(this, e);
    this.config = {
        css_class: "br-slidecontrol",
        thumb: true,
        thumb_align: "bottom"
    };
    this.domElement = document.createElement("div");
    this.points_ul = document.createElement("ul");
    this.points = []
};
Cute.rotatorControls.slidecontrol = Cute.SlideControl;
Cute.SlideControl.prototype = new Cute.AbstractControl;
Cute.SlideControl.prototype.constructor = Cute.SlideControl;
Cute.SlideControl.prototype.setup = function(e) {
    Cute.AbstractControl.prototype.setup.call(this, e);
    this.domElement.appendChild(this.points_ul);
    this.slider.addEventListener(Cute.SliderEvent.CHANGE_NEXT_SLIDE, this.update, this);
    this.config.thumb = e.getAttribute("data-thumb") != "false";
    this.config.thumb_align = e.getAttribute("data-thumbalign") || "bottom";
    var t;
    for (var n = 0, r = this.slider.getSlideList().length; n < r; ++n) {
        t = new Cute.SlideControl.Point(this.slider, this.slider.getSlideList()[n], this);
        if (n == this.slider.getCurrentSlideIndex()) {
            this.selectedPoint = t;
            t.select()
        }
        t.index = n;
        this.points_ul.appendChild(t.domElement);
        this.points.push(t)
    }
};
Cute.SlideControl.prototype.update = function() {
    if (this.selectedPoint && this.slider.getCurrentSlideIndex() == this.selectedPoint.index) return;
    if (this.selectedPoint) this.selectedPoint.unselect();
    this.selectedPoint = this.points[this.slider.getCurrentSlideIndex()];
    this.selectedPoint.select()
};
Cute.SlideControl.prototype.show = function() {
    Cute.AbstractControl.prototype.show.call(this);
    this.disable = false;
    this.domElement.style.cursor = "pointer"
};
Cute.SlideControl.prototype.hide = function() {
    Cute.AbstractControl.prototype.hide.call(this);
    this.disable = true;
    this.domElement.style.cursor = "default"
};
Cute.SlideControl.Point = function(e, t, n) {
    this.domElement = document.createElement("li");
    this.slider = e;
    this.index = 0;
    this.domElement.point = this;
    this.sc = n;
    this.domElement.onclick = function() {
        if (this.point.sc.disable) return;
        this.point.changeSlide()
    };
    if (Cute.FallBack.ua.browser.name == "IE") this.domElement.style.filter = "inherit";
    this.selectedElement = document.createElement("span");
    this.selectedElement.className = "br-control-selected";
    this.selectOpacity = 0;
    this.uo();
    if (n.config.thumb) {
        this.thumb = new Cute.Thumb(t.thumb, n.config.thumb_align);
        this.domElement.onmouseover = function() {
            this.point.showThumb()
        };
        this.domElement.onmouseout = function() {
            this.point.hideThumb()
        };
        this.thumb_pos = 0;
        this.drawThumb();
        this.thumb.domElement.style.display = "none";
        this.domElement.appendChild(this.thumb.domElement);
        this.thumb.align = n.config.thumb_align
    }
    this.domElement.appendChild(this.selectedElement);
    this.selectTween = null
};
Cute.SlideControl.Point.prototype = {
    constructor: Cute.SlideControl.Point,
    align: "bottom",
    changeSlide: function() {
        this.slider.gotoSlide(this.index, true)
    },
    uo: function() {},
    select: function() {
        if (this.selectTween) this.selectTween.stop();
        this.selectedElement.style.display = "block"
    },
    unselect: function() {
        if (this.selectTween) this.selectTween.stop();
        this.selectedElement.style.display = "none"
    },
    drawThumb: function() {
        setOpacity(this.thumb.domElement, this.thumb_pos);
        if (this.sc.config.thumb_align == "up") this.thumb.domElement.style.top = 10 - this.thumb.frame.offsetHeight + -this.thumb_pos * .1 + "px";
        else this.thumb.domElement.style.top = 24 + -this.thumb_pos * .1 + "px"
    },
    showThumb: function() {
        this.domElement.style.zIndex = this.slider.getSlideList().length;
        if (this.thumbTween) this.thumbTween.stop();
        this.thumb.show();
        this.thumb.domElement.style.display = "";
        this.thumbTween = (new TWEEN.Tween(this)).to({
            thumb_pos: 100
        }, 700).onUpdate(this.drawThumb).easing(TWEEN.Easing.Quartic.EaseOut).start()
    },
    hideThumb: function() {
        this.domElement.style.zIndex = 0;
        if (this.thumbTween) this.thumbTween.stop();
        this.thumb.reset();
        this.thumbTween = (new TWEEN.Tween(this)).to({
            thumb_pos: 0
        }, 250).onUpdate(this.drawThumb).start().onComplete(function() {
            this.thumb.domElement.style.display = "none"
        })
    }
};
Cute.SlideInfo = function(e) {
    Cute.AbstractControl.call(this, e);
    this.config = {
        css_class: "br-slideinfo",
        align: "bottom"
    };
    this.domElement = document.createElement("div");
    this.content = document.createElement("div");
    this.poition = 0
};
Cute.rotatorControls.slideinfo = Cute.SlideInfo;
Cute.SlideInfo.prototype = new Cute.AbstractControl;
Cute.SlideInfo.prototype.constructor = Cute.SlideInfo;
Cute.SlideInfo.prototype.setup = function(e) {
    Cute.AbstractControl.prototype.setup.call(this, e);
    this.domElement.style.overflow = "hidden";
    this.domElement.style.position = "absolute";
    this.domElement.style.display = "none";
    this.content.className = "br-infocontent";
    this.content.style.position = "relative";
    this.eff = e.getAttribute("data-effect") || "slide";
    this.domElement.appendChild(this.content)
};
Cute.SlideInfo.prototype.update = function() {
    if (this.data) {
        if (this.eff == "fade") setOpacity(this.content, this.position);
        else this.content.style[this.data.align] = this.position + "px"
    }
};
Cute.SlideInfo.prototype.show = function() {
    this.domElement.style.display = "";
    if (this.showTween) this.showTween.stop();
    this.data = this.slider.getCurrentSlide().pluginData.info;
    if (!this.data) {
        this.disable = true;
        this.content.className = "";
        this.content.innerHTML = "";
        return
    } else this.disable = false;
    this.content.innerHTML = this.data.text;
    this.content.className = "br-infocontent " + this.data.align + " " + this.data._class || "";
    this.domElement.style.width = this.data.align == "left" || this.data.align == "right" ? "auto" : "100%";
    this.domElement.style.height = this.data.align == "bottom" || this.data.align == "top" ? "auto" : "100%";
    this.domElement.style.left = "";
    this.domElement.style.right = "";
    this.domElement.style.bottom = "";
    this.domElement.style.top = "";
    this.content.style.left = "";
    this.content.style.right = "";
    this.content.style.bottom = "";
    this.content.style.top = "";
    if (this.eff == "slide") this.position = -(this.data.align == "bottom" || this.data.align == "top" ? this.content.offsetHeight : this.content.offsetWidth);
    else this.position = 0;
    this.domElement.style[this.data.align] = "0px";
    this.update();
    this.showTween = (new TWEEN.Tween(this)).to({
        position: this.eff == "slide" ? 0 : 100
    }, 950).delay(this.data.delay).easing(TWEEN.Easing.Quartic.EaseInOut).onUpdate(this.update).start();
    TWEEN.add(this.showTween)
};
Cute.SlideInfo.prototype.hide = function() {
    if (this.disable) return;
    if (this.showTween) this.showTween.stop();
    this.showTween = (new TWEEN.Tween(this)).to({
        position: this.eff != "slide" ? 0 : -(this.data.align == "bottom" || this.data.align == "top" ? this.content.offsetHeight : this.content.offsetWidth)
    }, 850).easing(TWEEN.Easing.Quartic.EaseInOut).onUpdate(this.update).start();
    TWEEN.add(this.showTween)
};
Cute.BarTimer = function(e) {
    Cute.AbstractControl.call(this, e);
    this.config = {
        css_class: "br-bar-timer"
    };
    this.domElement = document.createElement("div");
    this.prog = 0
};
Cute.rotatorControls.bartimer = Cute.BarTimer;
Cute.BarTimer.prototype = new Cute.AbstractControl;
Cute.BarTimer.prototype.constructor = Cute.BarTimer;
Cute.BarTimer.prototype.update = function(e) {
    if (this.drawTween) this.drawTween.stop();
    this.drawTween = (new TWEEN.Tween(this)).to({
        prog: this.slider.delayProgress() * .0102
    }, 300).easing(TWEEN.Easing.Quartic.EaseOut).onUpdate(this.draw).start()
};
Cute.BarTimer.prototype.draw = function() {
    var e = this.prog * this.slider.width;
    this.glow.style.left = e - this.glow.offsetWidth + "px";
    this.bar.style.width = Math.max(0, e - 5) + "px"
};
Cute.BarTimer.prototype.setup = function(e) {
    Cute.AbstractControl.prototype.setup.call(this, e);
    this.slider.bartimer = this;
    this.domElement.style.width = "100%";
    this.domElement.style.overflow = "hidden";
    this.glow = document.createElement("div");
    this.glow.className = "br-timer-glow";
    this.glow.style.position = "relative";
    this.bar = document.createElement("div");
    this.bar.className = "br-timer-bar";
    this.domElement.appendChild(this.glow);
    this.domElement.appendChild(this.bar);
    this.slider.addEventListener(Cute.SliderEvent.WATING, this.update, this);
    this.draw()
};
Cute.Captions = function(e) {
    Cute.AbstractControl.call(this, e);
    this.config = {
        css_class: "br-captions"
    };
    this.domElement = document.createElement("div");
    this.captions = [];
    this.overpause = false
};
Cute.rotatorControls.captions = Cute.Captions;
Cute.Captions.prototype = new Cute.AbstractControl;
Cute.Captions.prototype.constructor = Cute.Captions;
Cute.Captions.prototype.setup = function(e) {
    Cute.AbstractControl.prototype.setup.call(this, e);
    this.domElement.style.width = "100%";
    this.domElement.style.height = "100%";
    this.domElement.style.position = "absolute"
};
Cute.Captions.prototype.show = function() {
    this.data = this.slider.getCurrentSlide().pluginData.captions;
    this.slide_index = this.slider.getCurrentSlideIndex();
    if (!this.captions[this.slide_index] && this.data) {
        this.captions[this.slide_index] = [];
        var e = this.data.getElementsByTagName("li");
        var t;
        for (var n = 0, r = e.length; n < r; ++n) {
            t = new Cute.Caption;
            t.add(e[n].innerHTML, e[n].className);
            t.delay = Number(e[n].getAttribute("data-delay")) || 0;
            t.effect = e[n].getAttribute("data-effect") || "fade";
            this.captions[this.slide_index].push(t)
        }
    }
    if (this.data) {
        for (var n = 0, r = this.captions[this.slide_index].length; n < r; ++n) {
            this.domElement.appendChild(this.captions[this.slide_index][n].domElement);
            this.captions[this.slide_index][n].show()
        }
    }
};
Cute.Captions.prototype.hide = function() {
    if (this.captions[this.slide_index]) {
        for (var e = 0, t = this.captions[this.slide_index].length; e < t; ++e) {
            this.captions[this.slide_index][e].hide()
        }
    }
};
Cute.Caption = function() {
    this.domElement = document.createElement("div");
    this.content = document.createElement("div")
};
Cute.Caption.prototype = {
    constructro: Cute.Caption,
    effect: "fade",
    add: function(e, t) {
        this.content.innerHTML = e;
        this.content.className = "br-caption-content";
        this.content.style.position = "relative";
        this.domElement.className = t;
        this.domElement.style.overflow = "hidden";
        this.domElement.appendChild(this.content)
    },
    fade: function() {
        setOpacity(this.domElement, this.show_pos)
    },
    slide: function() {
        this.content.style.left = -this.domElement.offsetWidth * (1 - this.show_pos * .01) + "px"
    },
    show: function() {
        if (this.showTween) this.showTween.stop();
        this.show_pos = 0;
        this[this.effect]();
        this.showTween = (new TWEEN.Tween(this)).to({
            show_pos: 100
        }, 1e3).delay(this.delay).easing(TWEEN.Easing.Quartic.EaseInOut).onUpdate(this[this.effect]).delay(this.delay).start();
        TWEEN.add(this.showTween)
    },
    hide: function() {
        if (this.showTween) this.showTween.stop();
        this.showTween = (new TWEEN.Tween(this)).to({
            show_pos: 0
        }, 1e3).easing(TWEEN.Easing.Quartic.EaseInOut).onUpdate(this[this.effect]).onComplete(this.remove).start()
    },
    remove: function() {
        if (this.domElement.parentElement) this.domElement.parentElement.removeChild(this.domElement)
    }
};
Cute.VideoControl = function(e) {
    Cute.AbstractControl.call(this, e);
    this.config = {
        css_class: "br-video",
        width: 300,
        height: 200
    };
    this.domElement = document.createElement("div");
    this.video_ele = document.createElement("iframe");
    this.closeBtn = document.createElement("div");
    this.overPlay = document.createElement("div");
    this.videoContainer = document.createElement("div");
    this.domElement.style.position = "absolute";
    this.vopacity = 0;
    this.videoFade = function() {
        setOpacity(this.videoContainer, this.vopacity)
    }
};
Cute.rotatorControls.video = Cute.VideoControl;
Cute.VideoControl.prototype = new Cute.AbstractControl;
Cute.VideoControl.prototype.constructor = Cute.VideoControl;
Cute.VideoControl.prototype.setup = function(e) {
    Cute.AbstractControl.prototype.setup.call(this, e);
    this.video_ele.setAttribute("allowFullScreen", "");
    this.video_ele.setAttribute("frameborder", "0");
    this.overPlay.targ = this;
    this.overPlay.onclick = function() {
        this.targ.showVideo()
    };
    this.overPlay.className = "play-btn";
    this.closeBtn.targ = this;
    this.closeBtn.onclick = function() {
        this.targ.hideVideo()
    };
    this.closeBtn.className = "close-btn";
    this.videoContainer.className = "video-cont";
    this.domElement.style.width = "100%";
    this.domElement.style.height = "100%";
    this.video_ele.style.width = "100%";
    this.video_ele.style.height = "100%";
    this.video_ele.style.background = "black";
    this.domElement.appendChild(this.overPlay);
    this.domElement.appendChild(this.videoContainer);
    this.videoContainer.appendChild(this.closeBtn);
    this.videoContainer.style.display = "none";
    setOpacity(this.videoContainer, 0)
};
Cute.VideoControl.prototype.showVideo = function() {
    this.videoContainer.style.display = "";
    this.videoContainer.appendChild(this.video_ele);
    this.video_ele.className = this.data.className || this.config.css_class;
    if (this.video_ele.getAttribute("src") != this.data.getAttribute("href")) this.video_ele.setAttribute("src", this.data.getAttribute("href") || "about:blank");
    if (this.videoTween) this.videoTween.stop();
    this.videoTween = (new TWEEN.Tween(this)).to({
        vopacity: 100
    }, 400).onUpdate(this.videoFade).start();
    this.slider.rotator.pause()
};
Cute.VideoControl.prototype.hideVideo = function() {
    if (this.videoTween) this.videoTween.stop();
    this.videoTween = (new TWEEN.Tween(this)).to({
        vopacity: 0
    }, 400).onUpdate(this.videoFade).start();
    this.videoTween.onComplete(function() {
        this.video_ele.setAttribute("src", "about:blank");
        this.videoContainer.removeChild(this.video_ele);
        this.videoContainer.style.display = "none"
    })
};
Cute.VideoControl.prototype.show = function() {
    this.data = this.slider.getCurrentSlide().pluginData.video;
    if (!this.data) {
        this.domElement.style.display = "none";
        return
    }
    this.domElement.style.display = "";
    Cute.AbstractControl.prototype.show.call(this)
};
Cute.VideoControl.prototype.hide = function() {
    Cute.AbstractControl.prototype.hide.call(this);
    this.showTween.onComplete(function() {
        if (this.video_ele.parentElement) this.videoContainer.removeChild(this.video_ele);
        this.domElement.style.display = "none";
        this.videoContainer.style.display = "none";
        if (this.videoTween) this.videoTween.stop()
    })
};
Cute.LinkControl = function(e) {
    Cute.AbstractControl.call(this, e);
    this.config = {
        css_class: "br-link"
    };
    this.domElement = document.createElement("div");
    this.domElement.style.position = "absolute"
};
Cute.rotatorControls.link = Cute.LinkControl;
Cute.LinkControl.prototype = new Cute.AbstractControl;
Cute.LinkControl.prototype.constructor = Cute.LinkControl;
Cute.LinkControl.prototype.setup = function(e) {
    Cute.AbstractControl.prototype.setup.call(this, e);
    this.domElement.lc = this;
    this.domElement.style.width = "100%";
    this.domElement.style.height = "100%";
    this.domElement.style.cursor = "pointer"
};
Cute.LinkControl.prototype.gotoURL = function() {
    window.open(this.lc.link.href, this.lc.link.target || "_self")
};
Cute.LinkControl.prototype.show = function() {
    this.link = this.slider.getCurrentSlide().pluginData.link;
    if (this.link) {
        this.domElement.style.display = "";
        this.domElement.onclick = this.gotoURL
    } else {
        this.domElement.style.display = "none";
        this.domElement.onclick = null
    }
};
Cute.LinkControl.prototype.hide = function() {
    this.domElement.style.display = "none";
    this.domElement.onclick = null
};
Cute.Loading = function() {
    this.domElement = document.createElement("div");
    this.domElement.className = "br-loading";
    this.domElement.style.display = "none";
    this.animEle = document.createElement("div");
    this.animEle.className = "img";
    this.domElement.appendChild(this.animEle);
    this.opacity = 0
};
Cute.Loading.prototype = {
    constructor: Cute.Loading,
    opacityUpdate: function() {
        setOpacity(this.domElement, this.opacity)
    },
    show: function() {
        if (this.showTween) this.showTween.stop();
        this.domElement.style.display = "";
        this.showTween = (new TWEEN.Tween(this)).to({
            opacity: 100
        }, 450).onUpdate(this.opacityUpdate).start()
    },
    hide: function() {
        if (this.showTween) this.showTween.stop();
        this.showTween = (new TWEEN.Tween(this)).to({
            opacity: 0
        }, 450).onUpdate(this.opacityUpdate).start();
        this.domElement.style.display = "none"
    }
};
Cute.ThumbList = function(e, t) {
    Cute.AbstractControl.call(this, e);
    this.config = {
        css_class: "br-thumblist",
        type: "vertical"
    };
    this.domElement = document.createElement("div");
    this.thumbs = []
};
Cute.rotatorControls.thumblist = Cute.ThumbList;
Cute.ThumbList.prototype = new Cute.AbstractControl;
Cute.ThumbList.prototype.constructor = Cute.ThumbList;
Cute.ThumbList.prototype.setup = function(e) {
    Cute.AbstractControl.prototype.setup.call(this, e);
    this.config.type = e.getAttribute("data-dir") || "vertical";
    this.config.autohide = e.getAttribute("data-autohide") == "true";
    this.domElement.className += " " + this.config.type;
    this.list = new Cute.ItemList(this.domElement);
    this.list.type = this.config.type;
    this.list.frame.className = "br-thumblist-frame";
    this.list.content.className = "br-thumblist-content";
    this.list.downright.className = "br-thumblist-next";
    this.list.upleft.className = "br-thumblist-previous";
    this.slider.addEventListener(Cute.SliderEvent.CHANGE_NEXT_SLIDE, this.update, this);
    var t;
    for (var n = 0, r = this.slider.getSlideList().length; n < r; ++n) {
        t = new Cute.ListThumb(this.slider.getSlideList()[n].thumb, this.slider, this);
        t.index = n;
        this.thumbs.push(t);
        this.list.addItem(t.element)
    }
    this.list.sc.setup()
};
Cute.ThumbList.prototype.update = function() {
    if (this.selectedThumb && this.slider.getCurrentSlideIndex() == this.selectedThumb.index) return;
    if (this.selectedThumb) this.selectedThumb.unselect();
    this.selectedThumb = this.thumbs[this.slider.getCurrentSlideIndex()];
    this.selectedThumb.select()
};
Cute.ThumbList.prototype.show = function() {
    if (this.config.autohide) Cute.AbstractControl.prototype.show.call(this);
    this.disable = false
};
Cute.ThumbList.prototype.hide = function() {
    if (this.config.autohide) Cute.AbstractControl.prototype.hide.call(this);
    this.disable = true
};
Cute.ListThumb = function(e, t, n) {
    this.img = new Image;
    this.img.src = e;
    this.element = document.createElement("div");
    this.element.className = "br-list-thumb";
    this.select_ele = document.createElement("div");
    this.select_ele.className = "br-list-thumb-select";
    this.element.appendChild(this.img);
    this.element.appendChild(this.select_ele);
    setOpacity(this.select_ele, 0);
    this.opacity = 0;
    var r = this;
    if (n.list.sc.isTouch()) {
        this.element.addEventListener("touchend", function(e) {
            if (r.selected || n.disable || n.list.sc.moved) return;
            t.gotoSlide(r.index, true);
            e.preventDefault();
            e.stopPropagation()
        }, false)
    } else {
        this.element.onclick = function() {
            if (r.selected || n.disable || n.list.sc.moved) return;
            t.gotoSlide(r.index, true)
        }
    }
};
Cute.ListThumb.prototype = {
    constructor: Cute.ListThumb,
    opacityUpdate: function() {
        setOpacity(this.select_ele, this.opacity)
    },
    select: function() {
        if (this.selected) return;
        this.selected = true;
        if (this.showTween) this.showTween = null;
        this.showTween = (new TWEEN.Tween(this)).to({
            opacity: 100
        }, 450).onUpdate(this.opacityUpdate).start()
    },
    unselect: function() {
        if (!this.selected) return;
        this.selected = false;
        if (this.showTween) this.showTween = null;
        this.showTween = (new TWEEN.Tween(this)).to({
            opacity: 0
        }, 450).onUpdate(this.opacityUpdate).start()
    }
};
Cute.InfoList = function(e, t) {
    Cute.AbstractControl.call(this, e);
    this.config = {
        css_class: "br-infolist",
        type: "vertical"
    };
    this.domElement = document.createElement("div");
    this.items = []
};
Cute.rotatorControls.infolist = Cute.InfoList;
Cute.InfoList.prototype = new Cute.AbstractControl;
Cute.InfoList.prototype.constructor = Cute.InfoList;
Cute.InfoList.prototype.setup = function(e) {
    Cute.AbstractControl.prototype.setup.call(this, e);
    this.config.type = e.getAttribute("data-dir") || "vertical";
    this.config.autohide = e.getAttribute("data-autohide") == "true";
    this.domElement.className += " " + this.config.type;
    this.list = new Cute.ItemList(this.domElement);
    this.list.type = this.config.type;
    this.list.frame.className = "br-infolist-frame";
    this.list.content.className = "br-infolist-content";
    this.list.downright.className = "br-infolist-next";
    this.list.upleft.className = "br-infolist-previous";
    this.slider.addEventListener(Cute.SliderEvent.CHANGE_NEXT_SLIDE, this.update, this);
    var t;
    for (var n = 0, r = this.slider.getSlideList().length; n < r; ++n) {
        t = new Cute.ListItem(this.slider.getSlideList()[n].pluginData.info, this.slider, this);
        t.index = n;
        this.items.push(t);
        this.list.addItem(t.element)
    }
    this.list.sc.setup()
};
Cute.InfoList.prototype.update = function() {
    if (this.selectedThumb && this.slider.getCurrentSlideIndex() == this.selectedThumb.index) return;
    if (this.selectedThumb) this.selectedThumb.unselect();
    this.selectedThumb = this.items[this.slider.getCurrentSlideIndex()];
    this.selectedThumb.select()
};
Cute.InfoList.prototype.show = function() {
    if (this.config.autohide) Cute.AbstractControl.prototype.show.call(this);
    this.disable = false
};
Cute.InfoList.prototype.hide = function() {
    if (this.config.autohide) Cute.AbstractControl.prototype.hide.call(this);
    this.disable = true
};
Cute.ListItem = function(e, t, n) {
    this.element = document.createElement("div");
    this.element.className = "br-slist-item";
    this.select_ele = document.createElement("div");
    this.select_ele.className = "br-slist-item-select";
    this.content = document.createElement("div");
    this.content.innerHTML = e ? e.text : "";
    this.content.className = "br-slist-item-content";
    this.element.appendChild(this.select_ele);
    this.element.appendChild(this.content);
    setOpacity(this.select_ele, 0);
    this.opacity = 0;
    var r = this;
    if (n.list.sc.isTouch()) {
        this.element.addEventListener("touchend", function(e) {
            if (r.selected || n.disable || n.list.sc.moved) return;
            t.gotoSlide(r.index, true);
            e.preventDefault();
            e.stopPropagation()
        }, false)
    } else {
        this.element.onclick = function() {
            if (r.selected || n.disable || n.list.sc.moved) return;
            t.gotoSlide(r.index, true)
        }
    }
};
Cute.ListItem.prototype = {
    constructor: Cute.ListThumb,
    opacityUpdate: function() {
        setOpacity(this.select_ele, this.opacity)
    },
    select: function() {
        if (this.selected) return;
        this.selected = true;
        if (this.showTween) this.showTween = null;
        this.showTween = (new TWEEN.Tween(this)).to({
            opacity: 100
        }, 450).onUpdate(this.opacityUpdate).start()
    },
    unselect: function() {
        if (!this.selected) return;
        this.selected = false;
        if (this.showTween) this.showTween = null;
        this.showTween = (new TWEEN.Tween(this)).to({
            opacity: 0
        }, 450).onUpdate(this.opacityUpdate).start()
    }
};
Cute.TouchNavigation = function(e, t) {
    this.isTouch = function() {
        try {
            document.createEvent("TouchEvent");
            return true
        } catch (e) {
            return false
        }
    };
    var n = this.isTouch();
    var r = false;
    var i = 0;
    var s = 0;
    var o;
    this.__touchStart = function(e) {
        r = true;
        s = i = e.touches[0].pageX;
        o = setTimeout(function() {
            r = false
        }, 3e3)
    };
    this.__touchMove = function(e) {
        if (!r) return;
        if (Math.abs(s - e.touches[0].pageX) >= 10) e.preventDefault();
        s = e.touches[0].pageX
    };
    this.__touchEnd = function(n) {
        if (!r) return;
        r = false;
        clearTimeout(o);
        if (s - i > e.offsetWidth / 10) t.next();
        else if (s - i < -e.offsetWidth / 10) t.previous();
        i = s = 0
    };
    if (n) {
        e.addEventListener("touchstart", this.__touchStart);
        e.addEventListener("touchmove", this.__touchMove);
        e.addEventListener("touchend", this.__touchEnd)
    }
};
Cute.Slider = function() {
    this.slides = [];
    this.controls = [];
    this.slideManager = new Cute.SlideManager;
    this.imgLoaded = false;
    this.mlcl = false;
    this.api = this.slideManager
};
Cute.Slider.prototype = {
    constructor: Cute.Slider,
    setup: function(e, t, n) {
        yepnope.injectCss(n);
        this.fallBack = new Cute.FallBack;
        this.element = document.getElementById(e);
        this.wrapper = document.getElementById(t);
        if (Cute.FallBack.isIE) this.element.className += " cute-ie";
        else if (Cute.isMobileDevice) this.element.className += " cute-device";
        if (Cute.FallBack.isIE8) this.element.className += " cute-ie8";
        else if (Cute.FallBack.isIE7) this.element.className += " cute-ie7";
        this.wrapper.slider = this;
        window.addResizeListener(this.__onresize, this);
        this.aspect = Number(this.element.getAttribute("data-width")) / Number(this.element.getAttribute("data-height"));
        this.__setSize();
        this.slideManager.resize();
        this.slideManager.rotator = this;
        this.controlLayer = document.createElement("div");
        this.controlLayer.style.visibility = "hidden";
        this.contentLoading = new Cute.Loading;
        this.contentLoading.domElement.className = "br-large-loading";
        this.contentLoading.show();
        this.element.appendChild(this.contentLoading.domElement);
        if (this.element.getAttribute("data-force")) this.fallBack.force = this.element.getAttribute("data-force");
        var r = this.element.getElementsByTagName("ul");
        for (var i = 0, s = r.length; i < s; ++i) {
            if (r[i].getAttribute("data-type") == "slides") this.slidesElement = r[i];
            else if (r[i].getAttribute("data-type") == "controls") this;
            this.controlsElement = r[i]
        }
        if (this.element.getAttribute("data-shuffle") == "true") this.__shuffleSlides();
        this.__createSlides();
        if (this.controlsElement) this.__createControls();
        this.element.appendChild(this.slideManager.domElement);
        document.getElementById(e).style.visibility = "visible";
        document.getElementById(e).style.overflow = "visible";
        var o = new Cute.ModuleLoader(this.fallBack);
        o.onComplete = {
            listener: this.__onModuleReady,
            ref: this
        };
        o.loadModule()
    },
    __shuffleSlides: function() {
        var e = this.slidesElement.children;
        var t = e[0].getElementsByTagName("img")[0];
        t.setAttribute("data-src", t.getAttribute("src"));
        for (var n = 0, i = e.length; n < i; ++n) {
            r = Math.floor(Math.random() * (i - 1));
            if (n != r) {
                this.slidesElement.insertBefore(e[n], e[r]);
                e = this.slidesElement.children
            }
        }
        t = e[0].getElementsByTagName("img")[0];
        t.setAttribute("src", t.getAttribute("data-src"))
    },
    __setSize: function() {
        this.slideManager.width = this.wrapper.clientWidth;
        this.slideManager.height = this.wrapper.clientWidth / this.aspect;
        this.slideManager.vpWidth = this.slideManager.width + this.slideManager.width * .2;
        this.slideManager.vpHeight = this.slideManager.height + this.slideManager.height * .2;
        this.element.style.width = this.slideManager.width + "px";
        this.element.style.height = this.slideManager.height + "px";
        this.lastWidth = this.slideManager.width
    },
    __onresize: function() {
        if (this.lastWidth == this.wrapper.clientWidth) return;
        this.__setSize();
        this.slideManager.resize()
    },
    __onModuleReady: function() {
        this.mlcl = true;
        if (this.imgLoaded) this.__start()
    },
    __onImgLoaded: function() {
        this.slide.addContent(this);
        if (this.rotator.mlcl) this.rotator.__start();
        this.rotator.imgLoaded = true;
        this.slide = null;
        this.rotator = null
    },
    __start: function() {
        var e = this.fallBack.getType();
        switch (e) {
            case Cute.FallBack.CANVAS:
                this.slideManager._viewClass = Aroma.ThreeView;
                break;
            case Cute.FallBack.CSS3D:
                this.slideManager._viewClass = Aroma.CSS3DView;
                Aroma.CSS3DCube.light = !Cute.FallBack.isMobileDevice;
                break;
            case Cute.FallBack.DOM2D:
                this.slideManager._viewClass = Aroma.DivView;
                break
        }
        this.showControls();
        this.slideManager.start();
        if (!Cute.Ticker.Tweenisadded) {
            Cute.Ticker.add(TWEEN.update, TWEEN);
            Cute.Ticker.Tweenisadded = true
        }
        Cute.Ticker.add(this.slideManager._timer.update, this.slideManager._timer);
        Cute.Ticker.start();
        this.element.removeChild(this.contentLoading.domElement)
    },
    __parseTransValues: function(e, t) {
        var n = [];
        var r = e.split(" ").join().split(",");
        for (var i = 0, s = r.length; i < s; i++) {
            if (t) {
                if (Transitions2D[r[i]]) n.push(Transitions2D[r[i]])
            } else {
                if (Transitions3D[r[i]]) n.push(Transitions3D[r[i]])
            }
        }
        r = null;
        return n
    },
    __createSlides: function() {
        var e = null;
        var t = 0;
        while (this.slidesElement.children.length != 0) {
            var n = this.slidesElement.firstElementChild || this.slidesElement.children[0];
            e = new Cute.Slide(this.slideManager);
            e.dataElement = n;
            e.delay = n.getAttribute("data-delay");
            e.transitions2D = this.__parseTransValues(n.getAttribute("data-trans2d"), true);
            e.transitions3D = this.__parseTransValues(n.getAttribute("data-trans3d"), false);
            e.rotator = this;
            var r = n.children;
            for (var i = 0, s = r.length; i < s; ++i) {
                if (r[i].nodeName === "IMG") {
                    if (t == 0) {
                        e.src = r[i].getAttribute("src");
                        var o = new Image;
                        o.slide = e;
                        o.rotator = this;
                        o.onload = this.__onImgLoaded;
                        o.src = e.src
                    } else {
                        e.src = r[i].getAttribute("data-src")
                    }
                    e.thumb = r[i].getAttribute("data-thumb");
                    continue
                }
                if (r[i].nodeName === "DIV" && r[i].getAttribute("data-type") == "info") {
                    e.pluginData.info = {
                        text: r[i].innerHTML,
                        _class: r[i].className,
                        align: r[i].getAttribute("data-align") || "bottom",
                        delay: Number(r[i].getAttribute("data-delay")) || 0
                    };
                    continue
                }
                if (r[i].nodeName === "UL" && r[i].getAttribute("data-type") == "captions") {
                    e.pluginData.captions = r[i];
                    continue
                }
                if (r[i].nodeName === "A" && r[i].getAttribute("data-type") == "video") {
                    e.pluginData.video = r[i];
                    continue
                }
                if (r[i].nodeName === "A" && r[i].getAttribute("data-type") == "link") {
                    e.pluginData.link = {
                        href: r[i].getAttribute("href"),
                        target: r[i].getAttribute("target")
                    };
                    continue
                }
            }
            this.slides.push(e);
            this.slideManager.pushSlide(e);
            this.slidesElement.removeChild(n);
            t++
        }
        this.element.removeChild(this.slidesElement)
    },
    __createControls: function() {
        var e = this.controlsElement.getElementsByTagName("li");
        var t;
        var n;
        this.element.appendChild(this.controlLayer);
        this.controlLayer.className = "br-controls";
        if (this.element.getAttribute("data-overpause") != "false" && !Cute.FallBack.isMobileDevice) {
            this.controlLayer.slideManager = this.slideManager;
            this.controlLayer.rotator = this;
            var r = function() {
                if (this.slideManager._status == "changing" || this.slideManager._status == "loading") return;
                this.slideManager.setAutoPlay(false)
            };
            var i = function() {
                if (!Cute.AbstractControl.paused) {
                    if (this.slideManager._status == "changing" || this.slideManager._status == "loading") {
                        this.rotator.ap = true;
                        return
                    }
                    this.rotator.ap = false;
                    this.slideManager.setAutoPlay(true)
                }
            };
            this.controlLayer.onmouseover = r;
            this.controlLayer.onmouseout = i;
            this.slideManager.addEventListener(Cute.SliderEvent.CHANGE_END, this.__effEnd, this)
        }
        var s = new Cute.TouchNavigation(this.controlLayer, this.api);
        this.controlLayer.style.width = "100%";
        this.controlLayer.style.height = "100%";
        for (var o = 0, u = e.length; o < u; ++o) {
            t = e[o].getAttribute("data-type");
            if (t && Cute.rotatorControls[t]) {
                n = new Cute.rotatorControls[t](this.slideManager);
                this.controlLayer.appendChild(n.domElement);
                n.setup(e[o]);
                this.controls.push(n)
            }
        }
        this.loading = new Cute.Loading;
        this.element.appendChild(this.loading.domElement);
        this.slideManager.addEventListener(Cute.SliderEvent.WATING_FOR_NEXT, this.showLoading, this);
        this.slideManager.addEventListener(Cute.SliderEvent.CHANGE_START, this.hideLoading, this);
        this.element.removeChild(this.controlsElement)
    },
    __effEnd: function(e) {
        if (this.ap) this.slideManager.setAutoPlay(true)
    },
    showLoading: function(e) {
        this.lis = true;
        this.loading.show()
    },
    hideLoading: function(e) {
        if (this.lis) {
            this.lis = false;
            this.loading.hide()
        }
    },
    showControls: function() {
        this.contentLoading.hide();
        this.controlLayer.style.visibility = "visible"
    },
    play: function() {
        Cute.AbstractControl.paused = false;
        this.api.setAutoPlay(true)
    },
    pause: function() {
        Cute.AbstractControl.paused = true;
        this.api.setAutoPlay(false)
    }
}
                                    

#23 JavaScript::Eval (size: 493, repeated: 2) - SHA256: 9f0a91ccf857a1eddf774d9e5ffc02437b5ca06dfa7246db995932030d86e344

                                        function asCompleteOrderA() {
    //AddShoppersWidget.API.Behavioral.showSuccessModal('595eec3fbbddbd5e690c5b46');
    AddShopPortal.portalClose();
    //document.getElementsByClassName('addshoppers_b_modal')[0].setAttribute("style","display:none;")
    // AddShoppersWidget.API.User.track('FullPageClick-Craguns_3Nights_$500', true, "595eec3fbbddbd5e690c5b46");
    //console.log('tracking addshop');
}


function hideFade() {
    document.querySelectorAll('.fade')[0].style.display = 'none';
}
                                    

#24 JavaScript::Eval (size: 493, repeated: 3) - SHA256: 74d1496881cd74bfea95dec89e8a5d6aa43d11e035f91a775e99540a763c00b4

                                        function asCompleteOrderB() {
    // AddShoppersWidget.API.Behavioral.showSuccessModal('595eec9fbbddbd5cb60e8027');
    AddShopPortal.portalClose();
    //document.getElementsByClassName('addshoppers_b_modal')[0].setAttribute("style","display:none;")
    // AddShoppersWidget.API.User.track('FullPageClick-Craguns_3Nights_$585', true, "595eec9fbbddbd5cb60e8027");
    //console.log('tracking addshop');
}

function hideFade() {
    document.querySelectorAll('.fade')[0].style.display = 'none';
}
                                    

#25 JavaScript::Eval (size: 523, repeated: 3) - SHA256: 4341c1a8c0c29d0987f614be3aec75aa169f22b03bac5190a5cb9c86d99cf8c3

                                        function asCompleteOrderB() {
    // AddShoppersWidget.API.Behavioral.showSuccessModal('59dba091bbddbd3fe4b0fcf7');
    AddShopPortal.portalClose();
    document.getElementsByClassName('addshoppers_b_modal')[0].setAttribute("style", "display:none;");
    // console.log("testing");
    // AddShoppersWidget.API.User.track('FullPageClick-Craguns_3Nights_$585', true, "595eec9fbbddbd5cb60e8027");
    //console.log('tracking addshop');
}

function hideFade() {
    document.querySelectorAll('.fade')[0].style.display = 'none';
}
                                    

#26 JavaScript::Eval (size: 517, repeated: 1) - SHA256: 1135ddcd26ff61305f75f8e7cf16edb3a5dcf0704d3a5e6dc5be00daa94c0981

                                        function asCompleteOrderB() {
    AddShoppersWidget.API.Behavioral.showSuccessModal('59dba091bbddbd3fe4b0fcf7');
    AddShopPortal.portalClose();
    document.getElementsByClassName('addshoppers_b_modal')[0].setAttribute("style", "display:none;");
    console.log("testing");
    // AddShoppersWidget.API.User.track('FullPageClick-Craguns_3Nights_$585', true, "595eec9fbbddbd5cb60e8027");
    //console.log('tracking addshop');
}

function hideFade() {
    document.querySelectorAll('.fade')[0].style.display = 'none';
}
                                    

#27 JavaScript::Eval (size: 404, repeated: 1) - SHA256: 11401c03c3f070ee34795cf9943547f4709bbb8da3a0e32b3b6a738e2baf7b08

                                        function asCompleteOrderB2() {
    AddShopPortal.portalClose();
    setTimeout(function() {
        window.location = 'https://www.craguns.com/winter-specials/winter-fun-fest-weekends/?utm_source=cybba&utm_medium=display'
    }, 750)
}

function hideFade() {
    document.querySelectorAll('.fade')[0].style.display = 'none';
}

function addshopExtCampaignOpened() {
    document.getElementById('vid').play();
}
                                    

#28 JavaScript::Eval (size: 696, repeated: 1) - SHA256: 1db5cbd8207896c148dfec33f85e9f34babd794d8f345ba1b5435d5d9375c149

                                        function asCompleteOrderWinter() {
    // AddShoppersWidget.API.Behavioral.showSuccessModal('59dba091bbddbd3fe4b0fcf7');
    AddShopPortal.portalClose();
    document.getElementsByClassName('addshoppers_b_modal')[0].setAttribute("style", "display:none;");
    // console.log("testing");
    // AddShoppersWidget.API.User.track('FullPageClick-Craguns_3Nights_$585', true, "595eec9fbbddbd5cb60e8027");
    //console.log('tracking addshop');
    setTimeout(function() {
        window.location = 'https://www.craguns.com/winter-specials/winter-fun-fest-weekends/?utm_source=cybba&utm_medium=display'
    }, 750)
}

function hideFade() {
    document.querySelectorAll('.fade')[0].style.display = 'none';
}
                                    

#29 JavaScript::Eval (size: 83300, repeated: 1) - SHA256: 3d8031714c3d7953787b0750382ed05868583272cae0037a20624ca636f3c986

                                        function lsShowNotice(e, t, n) {
    var r;
    if (typeof e == "string") {
        r = jQuery("#" + e)
    } else if (typeof e == "object") {
        r = e
    }
    var i, s;
    switch (t) {
        case "jquery":
            i = "multiple jQuery issue";
            s = 'It looks like that another plugin or your theme loads an extra copy of the jQuery library causing problems for LayerSlider to show your sliders. <strong>Please navigate on your WordPress admin area to the main page of LayerSlider and enable the "Put JS includes to body" option within the Troubleshooting & Advanced Settings box.</strong>';
            break;
        case "oldjquery":
            i = "old jQuery issue";
            s = "It looks like you are using an old version (" + n + ') of the jQuery library. LayerSlider requires at least version 1.7.0 or newer. Please update jQuery to 1.10.x or higher. Important: Please do not use the jQuery Updater plugin on WordPress and do not update to 2.x version of jQuery because it is not compatible with older browsers like IE 7 & 8. <a href="http://support.kreaturamedia.com/faq/4/layerslider-for-wordpress/#group-13&entry-60">You can read more about updating jQuery by clicking here.</a>';
            break
    }
    r.addClass("ls-error");
    r.append('<p class="ls-exclam">!</p>');
    r.append('<p class="ls-error-title">LayerSlider: ' + i + "</p>");
    r.append('<p class="ls-error-text">' + s + "</p>")
}(function(e) {
    e.fn.layerSlider = function(n) {
        var r = "1.7.0";
        var i = e.fn.jquery;
        var s = e(this);
        var o = function(e, t) {
            var n = e.split(".");
            var r = t.split(".");
            for (var i = 0; i < n.length; ++i) {
                if (r.length == i) {
                    return false
                }
                if (parseInt(n[i]) == parseInt(r[i])) {
                    continue
                } else if (parseInt(n[i]) > parseInt(r[i])) {
                    return false
                } else {
                    return true
                }
            }
            if (n.length != r.length) {
                return true
            }
            return true
        };
        if (!o("1.8.0", i)) {
            s.addClass("ls-norotate")
        }
        if (!o(r, i)) {
            lsShowNotice(s, "oldjquery", i)
        } else {
            if ((typeof n).match("object|undefined")) {
                return this.each(function(e) {
                    new t(this, n)
                })
            } else {
                if (n == "data") {
                    var u = e(this).data("LayerSlider").g;
                    if (u) {
                        return u
                    }
                } else {
                    return this.each(function(t) {
                        var r = e(this).data("LayerSlider");
                        if (r) {
                            if (!r.g.isAnimating && !r.g.isLoading) {
                                if (typeof n == "number") {
                                    if (n > 0 && n < r.g.layersNum + 1 && n != r.g.curLayerIndex) {
                                        r.change(n)
                                    }
                                } else {
                                    switch (n) {
                                        case "prev":
                                            r.o.cbPrev(r.g);
                                            r.prev("clicked");
                                            break;
                                        case "next":
                                            r.o.cbNext(r.g);
                                            r.next("clicked");
                                            break;
                                        case "start":
                                            if (!r.g.autoSlideshow) {
                                                r.o.cbStart(r.g);
                                                r.g.originalAutoSlideshow = true;
                                                r.start()
                                            }
                                            break
                                    }
                                }
                            }
                            if (n == "debug") {
                                r.d.show()
                            }
                            if ((r.g.autoSlideshow || !r.g.autoSlideshow && r.g.originalAutoSlideshow) && n == "stop") {
                                r.o.cbStop(r.g);
                                r.g.originalAutoSlideshow = false;
                                r.g.curLayer.find('iframe[src*="www.youtu"], iframe[src*="player.vimeo"]').each(function() {
                                    clearTimeout(e(this).data("videoTimer"))
                                });
                                r.stop()
                            }
                            if (n == "forceStop") {
                                r.forcestop()
                            }
                        }
                    })
                }
            }
        }
    };
    var t = function(u, a) {
        var f = this;
        f.$el = e(u).addClass("ls-container");
        f.$el.data("LayerSlider", f);
        f.load = function() {
            f.o = e.extend({}, t.options, a);
            f.g = e.extend({}, t.global);
            f.lt = e.extend({}, t.layerTransitions);
            f.st = e.extend({}, t.slideTransitions);
            f.g.enableCSS3 = e(u).hasClass("ls-norotate") ? false : true;
            if (f.g.ie78) {
                f.o.lazyLoad = false
            }
            if (f.o.autoPauseSlideshow === "enabled") {
                f.o.autoPauseSlideshow = true
            }
            if (f.o.autoPauseSlideshow === "disabled") {
                f.o.autoPauseSlideshow = false
            }
            if (typeof layerSliderTransitions !== "undefined") {
                f.t = e.extend({}, layerSliderTransitions)
            }
            if (typeof layerSliderCustomTransitions !== "undefined") {
                f.ct = e.extend({}, layerSliderCustomTransitions)
            }
            if (!f.g.initialized) {
                f.g.initialized = true;
                f.debug();
                if (e("html").find('meta[content*="WordPress"]').length) {
                    f.g.wpVersion = e("html").find('meta[content*="WordPress"]').attr("content").split("WordPress")[1]
                }
                if (e("html").find('script[src*="layerslider"]').length) {
                    if (e("html").find('script[src*="layerslider"]').attr("src").indexOf("?") != -1) {
                        f.g.lswpVersion = e("html").find('script[src*="layerslider"]').attr("src").split("?")[1].split("=")[1]
                    }
                }
                f.d.aT("LayerSlider controls");
                f.d.aU('<a href="#">prev</a> | <a href="#">next</a> | <a href="#">start</a> | <a href="#">stop</a> | <a href="#">force stop</a>');
                f.d.history.find("a").each(function() {
                    e(this).click(function(t) {
                        t.preventDefault();
                        e(u).layerSlider(e(this).text())
                    })
                });
                f.d.aT("LayerSlider version information");
                f.d.aU("JS version: <strong>" + f.g.version + "</strong>");
                if (f.g.lswpVersion) {
                    f.d.aL("WP version: <strong>" + f.g.lswpVersion + "</strong>")
                }
                if (f.g.wpVersion) {
                    f.d.aL("WordPress version: <strong>" + f.g.wpVersion + "</strong>")
                }
                f.d.aL("jQuery version: <strong>" + e().jquery + "</strong>");
                if (e(u).attr("id")) {
                    f.d.aT("LayerSlider container");
                    f.d.aU("#" + e(u).attr("id"))
                }
                if (!f.o.skin || f.o.skin == "" || !f.o.skinsPath || f.o.skinsPath == "") {
                    f.d.aT("Loading without skin. Possibilities: mistyped skin and / or skinsPath.");
                    f.init()
                } else {
                    f.d.aT("Trying to load with skin: " + f.o.skin, true);
                    e(u).addClass("ls-" + f.o.skin);
                    var n = f.o.skinsPath + f.o.skin + "/skin.css";
                    cssContainer = e("head");
                    if (!e("head").length) {
                        cssContainer = e("body")
                    }
                    if (e('link[href="' + n + '"]').length) {
                        f.d.aU('Skin "' + f.o.skin + '" is already loaded.');
                        r = e('link[href="' + n + '"]');
                        if (!f.g.loaded) {
                            f.g.loaded = true;
                            f.g.t1 = setTimeout(function() {
                                f.init()
                            }, 150)
                        }
                    } else {
                        if (document.createStyleSheet) {
                            document.createStyleSheet(n);
                            var r = e('link[href="' + n + '"]')
                        } else {
                            var r = e('<link rel="stylesheet" href="' + n + '" type="text/css" />').appendTo(cssContainer)
                        }
                    }
                    r.load(function() {
                        if (!f.g.loaded) {
                            f.d.aU("curSkin.load(); fired");
                            f.g.loaded = true;
                            f.g.t2 = setTimeout(function() {
                                f.init()
                            }, 150)
                        }
                    });
                    e(window).load(function() {
                        if (!f.g.loaded) {
                            f.d.aU("$(window).load(); fired");
                            f.g.loaded = true;
                            f.g.t3 = setTimeout(function() {
                                f.init()
                            }, 150)
                        }
                    });
                    f.g.t4 = setTimeout(function() {
                        if (!f.g.loaded) {
                            f.d.aT("Fallback mode: Neither curSkin.load(); or $(window).load(); were fired");
                            f.g.loaded = true;
                            f.init()
                        }
                    }, 1e3)
                }
            }
        };
        f.init = function() {
            if (!e("html").attr("id")) {
                e("html").attr("id", "ls-global")
            } else if (!e("body").attr("id")) {
                e("body").attr("id", "ls-global")
            }
            f.g.sliderWidth = function() {
                return e(u).width()
            };
            f.g.sliderHeight = function() {
                return e(u).height()
            };
            e(u).find(".ls-layer").removeClass("ls-layer").addClass("ls-slide");
            e(u).find('.ls-slide > *[class*="ls-s"]').each(function() {
                var t = e(this).attr("class").split("ls-s")[1].split(" ")[0];
                e(this).removeClass("ls-s" + t).addClass("ls-l" + t)
            });
            if (f.o.firstLayer) {
                f.o.firstSlide = f.o.firstLayer
            }
            if (f.o.animateFirstLayer === false) {
                f.o.animateFirstSlide = false
            }
            if (e(u).find(".ls-slide").length == 1) {
                f.o.autoStart = false;
                f.o.navPrevNext = false;
                f.o.navStartStop = false;
                f.o.navButtons = false;
                f.o.loops = 0;
                f.o.forceLoopNum = false;
                f.o.autoPauseSlideshow = true;
                f.o.firstSlide = 1;
                f.o.thumbnailNavigation = "disabled"
            }
            if (f.o.width) {
                f.g.sliderOriginalWidthRU = f.g.sliderOriginalWidth = "" + f.o.width
            } else {
                f.g.sliderOriginalWidthRU = f.g.sliderOriginalWidth = e(u)[0].style.width
            }
            if (f.o.height) {
                f.g.sliderOriginalHeight = "" + f.o.height
            } else {
                f.g.sliderOriginalHeight = e(u)[0].style.height
            }
            if (f.g.sliderOriginalWidth.indexOf("%") == -1 && f.g.sliderOriginalWidth.indexOf("px") == -1) {
                f.g.sliderOriginalWidth += "px"
            }
            if (f.g.sliderOriginalHeight.indexOf("%") == -1 && f.g.sliderOriginalHeight.indexOf("px") == -1) {
                f.g.sliderOriginalHeight += "px"
            }
            if (f.o.responsive && f.g.sliderOriginalWidth.indexOf("px") != -1 && f.g.sliderOriginalHeight.indexOf("px") != -1) {
                f.g.responsiveMode = true
            } else {
                f.g.responsiveMode = false
            }
            e(u).find('*[class*="ls-l"], *[class*="ls-bg"]').each(function() {
                if (!e(this).parent().hasClass("ls-slide")) {
                    e(this).insertBefore(e(this).parent())
                }
            });
            e(u).find(".ls-slide").each(function() {
                e(this).children(':not([class*="ls-"])').each(function() {
                    e(this).remove()
                });
                var t = e("<div>").addClass("ls-gpuhack");
                if (e(this).find(".ls-bg").length) {
                    t.insertAfter(e(this).find(".ls-bg").eq("0"))
                } else {
                    t.prependTo(e(this))
                }
            });
            e(u).find('.ls-slide, *[class*="ls-l"]').each(function() {
                if (e(this).data("ls") || e(this).attr("rel") || e(this).attr("style")) {
                    if (e(this).data("ls")) {
                        var t = e(this).data("ls").toLowerCase().split(";")
                    } else if (e(this).attr("rel") && e(this).attr("rel").indexOf(":") != -1 && e(this).attr("rel").indexOf(";") != -1) {
                        var t = e(this).attr("rel").toLowerCase().split(";")
                    } else {
                        var t = e(this).attr("style").toLowerCase().split(";")
                    }
                    for (x = 0; x < t.length; x++) {
                        param = t[x].split(":");
                        if (param[0].indexOf("easing") != -1) {
                            param[1] = f.ieEasing(param[1])
                        }
                        var n = "";
                        if (param[2]) {
                            n = ":" + e.trim(param[2])
                        }
                        if (param[0] != " " && param[0] != "") {
                            e(this).data(e.trim(param[0]), e.trim(param[1]) + n)
                        }
                    }
                }
                var r = e(this);
                r.data("originalLeft", r[0].style.left);
                r.data("originalTop", r[0].style.top);
                if (e(this).is("a") && e(this).children().length > 0) {
                    r = e(this).children()
                }
                var i = r.width();
                var s = r.height();
                if (r[0].style.width && r[0].style.width.indexOf("%") != -1) {
                    i = r[0].style.width
                }
                if (r[0].style.height && r[0].style.height.indexOf("%") != -1) {
                    s = r[0].style.height
                }
                r.data("originalWidth", i);
                r.data("originalHeight", s);
                r.data("originalPaddingLeft", r.css("padding-left"));
                r.data("originalPaddingRight", r.css("padding-right"));
                r.data("originalPaddingTop", r.css("padding-top"));
                r.data("originalPaddingBottom", r.css("padding-bottom"));
                var o = typeof parseFloat(r.css("opacity")) == "number" ? Math.round(parseFloat(r.css("opacity")) * 100) / 100 : 1;
                e(this).data("originalOpacity", o);
                if (r.css("border-left-width").indexOf("px") == -1) {
                    r.data("originalBorderLeft", r[0].style.borderLeftWidth)
                } else {
                    r.data("originalBorderLeft", r.css("border-left-width"))
                }
                if (r.css("border-right-width").indexOf("px") == -1) {
                    r.data("originalBorderRight", r[0].style.borderRightWidth)
                } else {
                    r.data("originalBorderRight", r.css("border-right-width"))
                }
                if (r.css("border-top-width").indexOf("px") == -1) {
                    r.data("originalBorderTop", r[0].style.borderTopWidth)
                } else {
                    r.data("originalBorderTop", r.css("border-top-width"))
                }
                if (r.css("border-bottom-width").indexOf("px") == -1) {
                    r.data("originalBorderBottom", r[0].style.borderBottomWidth)
                } else {
                    r.data("originalBorderBottom", r.css("border-bottom-width"))
                }
                r.data("originalFontSize", r.css("font-size"));
                r.data("originalLineHeight", r.css("line-height"))
            });
            if (document.location.hash) {
                for (var t = 0; t < e(u).find(".ls-slide").length; t++) {
                    if (e(u).find(".ls-slide").eq(t).data("deeplink") == document.location.hash.split("#")[1]) {
                        f.o.firstSlide = t + 1
                    }
                }
            }
            e(u).find('*[class*="ls-linkto-"]').each(function() {
                var t = e(this).attr("class").split(" ");
                for (var n = 0; n < t.length; n++) {
                    if (t[n].indexOf("ls-linkto-") != -1) {
                        var r = parseInt(t[n].split("ls-linkto-")[1]);
                        e(this).css({
                            cursor: "pointer"
                        }).click(function(t) {
                            t.preventDefault();
                            e(u).layerSlider(r)
                        })
                    }
                }
            });
            f.g.layersNum = e(u).find(".ls-slide").length;
            if (f.o.randomSlideshow && f.g.layersNum > 2) {
                f.o.firstSlide == "random";
                f.o.twoWaySlideshow = false
            } else {
                f.o.randomSlideshow = false
            }
            if (f.o.firstSlide == "random") {
                f.o.firstSlide = Math.floor(Math.random() * f.g.layersNum + 1)
            }
            f.o.fisrtSlide = f.o.fisrtSlide < f.g.layersNum + 1 ? f.o.fisrtSlide : 1;
            f.o.fisrtSlide = f.o.fisrtSlide < 1 ? 1 : f.o.fisrtSlide;
            f.g.nextLoop = 1;
            if (f.o.animateFirstSlide) {
                f.g.nextLoop = 0
            }
            var n = document.location.href.indexOf("file:") === -1 ? "" : "http:";
            e(u).find('iframe[src*="www.youtu"], iframe[src*="youtu.be"]').each(function() {
                e(this).parent().addClass("ls-video-layer");
                if (e(this).parent('[class*="ls-l"]')) {
                    var t = e(this);
                    var r = n;
                    e.getJSON(r + "//gdata.youtube.com/feeds/api/videos/" + e(this).attr("src").split("embed/")[1].split("?")[0] + "?v=2&alt=json&callback=?", function(e) {
                        t.data("videoDuration", parseInt(e["entry"]["media$group"]["yt$duration"]["seconds"]) * 1e3)
                    });
                    var i = e("<div>").addClass("ls-vpcontainer").appendTo(e(this).parent());
                    if (f.o.lazyLoad) {
                        e("<img>").appendTo(i).addClass("ls-videopreview").attr("alt", "Play video").data("src", r + "//img.youtube.com/vi/" + e(this).attr("src").split("embed/")[1].split("?")[0] + "/" + f.o.youtubePreview)
                    } else {
                        e("<img>").appendTo(i).addClass("ls-videopreview").attr("alt", "Play video").attr("src", r + "//img.youtube.com/vi/" + e(this).attr("src").split("embed/")[1].split("?")[0] + "/" + f.o.youtubePreview)
                    }
                    e("<div>").appendTo(i).addClass("ls-playvideo");
                    e(this).parent().css({
                        width: e(this).width(),
                        height: e(this).height()
                    }).click(function() {
                        f.g.isAnimating = true;
                        if (f.g.paused) {
                            if (f.o.autoPauseSlideshow != false) {
                                f.g.paused = false
                            }
                            f.g.originalAutoSlideshow = true
                        } else {
                            f.g.originalAutoSlideshow = f.g.autoSlideshow
                        }
                        if (f.o.autoPauseSlideshow != false) {
                            f.stop()
                        }
                        f.g.pausedByVideo = true;
                        r = e(this).find("iframe").data("videoSrc").indexOf("http") === -1 ? n : "";
                        e(this).find("iframe").attr("src", r + e(this).find("iframe").data("videoSrc"));
                        e(this).find(".ls-vpcontainer").delay(f.g.v.d).fadeOut(f.g.v.fo, function() {
                            if (f.o.autoPauseSlideshow == "auto" && f.g.originalAutoSlideshow == true) {
                                var e = setTimeout(function() {
                                    f.start()
                                }, t.data("videoDuration") - f.g.v.d);
                                t.data("videoTimer", e)
                            }
                            f.g.isAnimating = false;
                            if (f.g.resize == true) {
                                f.makeResponsive(f.g.curLayer, function() {
                                    f.g.resize = false
                                })
                            }
                        })
                    });
                    var s = "&";
                    if (e(this).attr("src").indexOf("?") == -1) {
                        s = "?"
                    }
                    var o = "&wmode=opaque&html5=1";
                    if (e(this).attr("src").indexOf("autoplay") == -1) {
                        e(this).data("videoSrc", e(this).attr("src") + s + "autoplay=1" + o)
                    } else {
                        e(this).data("videoSrc", e(this).attr("src").replace("autoplay=0", "autoplay=1") + o)
                    }
                    e(this).data("originalWidth", e(this).attr("width"));
                    e(this).data("originalHeight", e(this).attr("height"));
                    e(this).attr("src", "")
                }
            });
            e(u).find('iframe[src*="player.vimeo"]').each(function() {
                e(this).parent().addClass("ls-video-layer");
                if (e(this).parent('[class*="ls-l"]')) {
                    var t = e(this);
                    var r = n;
                    var i = e("<div>").addClass("ls-vpcontainer").appendTo(e(this).parent());
                    e.getJSON(r + "//vimeo.com/api/v2/video/" + e(this).attr("src").split("video/")[1].split("?")[0] + ".json?callback=?", function(n) {
                        if (f.o.lazyLoad) {
                            e("<img>").appendTo(i).addClass("ls-videopreview").attr("alt", "Play video").data("src", n[0]["thumbnail_large"])
                        } else {
                            e("<img>").appendTo(i).addClass("ls-videopreview").attr("alt", "Play video").attr("src", n[0]["thumbnail_large"])
                        }
                        t.data("videoDuration", parseInt(n[0]["duration"]) * 1e3);
                        e("<div>").appendTo(i).addClass("ls-playvideo")
                    });
                    e(this).parent().css({
                        width: e(this).width(),
                        height: e(this).height()
                    }).click(function() {
                        f.g.isAnimating = true;
                        if (f.g.paused) {
                            if (f.o.autoPauseSlideshow != false) {
                                f.g.paused = false
                            }
                            f.g.originalAutoSlideshow = true
                        } else {
                            f.g.originalAutoSlideshow = f.g.autoSlideshow
                        }
                        if (f.o.autoPauseSlideshow != false) {
                            f.stop()
                        }
                        f.g.pausedByVideo = true;
                        r = e(this).find("iframe").data("videoSrc").indexOf("http") === -1 ? n : "";
                        e(this).find("iframe").attr("src", r + e(this).find("iframe").data("videoSrc"));
                        e(this).find(".ls-vpcontainer").delay(f.g.v.d).fadeOut(f.g.v.fo, function() {
                            if (f.o.autoPauseSlideshow == "auto" && f.g.originalAutoSlideshow == true) {
                                var e = setTimeout(function() {
                                    f.start()
                                }, t.data("videoDuration") - f.g.v.d);
                                t.data("videoTimer", e)
                            }
                            f.g.isAnimating = false;
                            if (f.g.resize == true) {
                                f.makeResponsive(f.g.curLayer, function() {
                                    f.g.resize = false
                                })
                            }
                        })
                    });
                    var s = "&";
                    if (e(this).attr("src").indexOf("?") == -1) {
                        s = "?"
                    }
                    var o = "&wmode=opaque";
                    if (e(this).attr("src").indexOf("autoplay") == -1) {
                        e(this).data("videoSrc", e(this).attr("src") + s + "autoplay=1" + o)
                    } else {
                        e(this).data("videoSrc", e(this).attr("src").replace("autoplay=0", "autoplay=1") + o)
                    }
                    e(this).data("originalWidth", e(this).attr("width"));
                    e(this).data("originalHeight", e(this).attr("height"));
                    e(this).attr("src", "")
                }
            });
            e(u).find("video, audio").each(function() {
                var t = typeof e(this).attr("width") !== "undefined" ? e(this).attr("width") : "640";
                var n = typeof e(this).attr("height") !== "undefined" ? e(this).attr("height") : "" + e(this).height();
                if (t.indexOf("%") === -1) {
                    t = parseInt(t)
                }
                if (n.indexOf("%") === -1) {
                    n = parseInt(n)
                }
                if (t === "100%" && (n === 0 || n === "0" || n === "100%")) {
                    e(this).attr("height", "100%");
                    n = "auto"
                }
                e(this).parent().addClass("ls-video-layer").css({
                    width: t,
                    height: n
                }).data({
                    originalWidth: t,
                    originalHeight: n
                });
                var r = e(this);
                e(this).removeAttr("width").removeAttr("height").css({
                    width: "100%",
                    height: "100%"
                }).click(function() {
                    if (typeof r.attr("controls") === "undefined") {
                        this.currentTime = 0;
                        this.play()
                    }
                    f.g.isAnimating = true;
                    if (f.g.paused) {
                        if (f.o.autoPauseSlideshow !== false) {
                            f.g.paused = false
                        }
                        f.g.originalAutoSlideshow = true
                    } else {
                        f.g.originalAutoSlideshow = f.g.autoSlideshow
                    }
                    if (f.o.autoPauseSlideshow !== false) {
                        f.stop()
                    }
                    f.g.pausedByVideo = true;
                    e(this).on("ended", function() {
                        if (f.o.autoPauseSlideshow === "auto" && f.g.originalAutoSlideshow === true) {
                            f.start()
                        }
                    });
                    f.g.isAnimating = false;
                    if (f.g.resize === true) {
                        f.makeResponsive(f.g.curLayer, function() {
                            f.g.resize = false
                        })
                    }
                })
            });
            if (f.o.animateFirstSlide) {
                f.o.firstSlide = f.o.firstSlide - 1 === 0 ? f.g.layersNum : f.o.firstSlide - 1
            }
            f.g.curLayerIndex = f.o.firstSlide;
            f.g.curLayer = e(u).find(".ls-slide:eq(" + (f.g.curLayerIndex - 1) + ")");
            e(u).find(".ls-slide").wrapAll('<div class="ls-inner"></div>');
            if (f.o.showBarTimer) {
                f.g.barTimer = e("<div>").addClass("ls-bar-timer").appendTo(e(u).find(".ls-inner"))
            }
            if (f.o.showCircleTimer && !f.g.ie78) {
                f.g.circleTimer = e("<div>").addClass("ls-circle-timer").appendTo(e(u).find(".ls-inner"));
                f.g.circleTimer.append(e('<div class="ls-ct-left"><div class="ls-ct-rotate"><div class="ls-ct-hider"><div class="ls-ct-half"></div></div></div></div><div class="ls-ct-right"><div class="ls-ct-rotate"><div class="ls-ct-hider"><div class="ls-ct-half"></div></div></div></div><div class="ls-ct-center"></div>'))
            }
            f.g.li = e("<div>").css({
                zIndex: -1,
                display: "none"
            }).addClass("ls-loading-container").appendTo(e(u));
            e("<div>").addClass("ls-loading-indicator").appendTo(f.g.li);
            if (e(u).css("position") == "static") {
                e(u).css("position", "relative")
            }
            if (f.o.globalBGImage) {
                e(u).find(".ls-inner").css({
                    backgroundImage: "url(" + f.o.globalBGImage + ")"
                })
            } else {
                e(u).find(".ls-inner").css({
                    backgroundColor: f.o.globalBGColor
                })
            }
            if (f.o.globalBGColor == "transparent" && f.o.globalBGImage == false) {
                e(u).find(".ls-inner").css({
                    background: "none transparent !important"
                })
            }
            e(u).find(".ls-slide img").each(function() {
                e(this).removeAttr("width").removeAttr("height");
                if (f.o.imgPreload === true && f.o.lazyLoad === true) {
                    if (typeof e(this).data("src") !== "string") {
                        e(this).data("src", e(this).attr("src"));
                        var t = f.o.skinsPath + "../css/blank.gif";
                        e(this).attr("src", t)
                    }
                } else {
                    if (typeof e(this).data("src") === "string") {
                        e(this).attr("src", e(this).data("src"));
                        e(this).removeAttr("data-src")
                    }
                }
            });
            e(u).find(".ls-slide").on("mouseenter", function(t) {
                f.g.parallaxStartX = t.pageX - e(this).parent().offset().left;
                f.g.parallaxStartY = t.pageY - e(this).parent().offset().top
            });
            e(u).find(".ls-slide").on("mousemove", function(t) {
                var n = e(this).parent().offset().left + f.g.parallaxStartX;
                var r = e(this).parent().offset().top + f.g.parallaxStartY;
                var i = t.pageX - n;
                var s = t.pageY - r;
                e(this).find("> *:not(.ls-bg)").each(function() {
                    if (typeof e(this).data("parallaxlevel") !== "undefined" && parseInt(e(this).data("parallaxlevel")) !== 0) {
                        e(this).css({
                            marginLeft: -i / 100 * parseInt(e(this).data("parallaxlevel")),
                            marginTop: -s / 100 * parseInt(e(this).data("parallaxlevel"))
                        })
                    }
                })
            });
            e(u).find(".ls-slide").on("mouseleave", function() {
                e(this).find("> *:not(.ls-bg)").each(function() {
                    if (typeof e(this).data("parallaxlevel") !== "undefined" && parseInt(e(this).data("parallaxlevel")) !== 0) {
                        TweenLite.to(this, .4, {
                            css: {
                                marginLeft: 0,
                                marginTop: 0
                            }
                        })
                    }
                })
            });
            if (f.o.navPrevNext) {
                e('<a class="ls-nav-prev" href="#" />').click(function(t) {
                    t.preventDefault();
                    e(u).layerSlider("prev")
                }).appendTo(e(u));
                e('<a class="ls-nav-next" href="#" />').click(function(t) {
                    t.preventDefault();
                    e(u).layerSlider("next")
                }).appendTo(e(u));
                if (f.o.hoverPrevNext) {
                    e(u).find(".ls-nav-prev, .ls-nav-next").css({
                        display: "none"
                    });
                    e(u).hover(function() {
                        if (!f.g.forceHideControls) {
                            if (f.g.ie78) {
                                e(u).find(".ls-nav-prev, .ls-nav-next").css("display", "block")
                            } else {
                                e(u).find(".ls-nav-prev, .ls-nav-next").stop(true, true).fadeIn(300)
                            }
                        }
                    }, function() {
                        if (f.g.ie78) {
                            e(u).find(".ls-nav-prev, .ls-nav-next").css("display", "none")
                        } else {
                            e(u).find(".ls-nav-prev, .ls-nav-next").stop(true, true).fadeOut(300)
                        }
                    })
                }
            }
            if (f.o.navStartStop || f.o.navButtons) {
                var r = e('<div class="ls-bottom-nav-wrapper" />').appendTo(e(u));
                f.g.bottomWrapper = r;
                if (f.o.thumbnailNavigation == "always") {
                    r.addClass("ls-above-thumbnails")
                }
                if (f.o.navButtons && f.o.thumbnailNavigation != "always") {
                    e('<span class="ls-bottom-slidebuttons" />').appendTo(e(u).find(".ls-bottom-nav-wrapper"));
                    if (f.o.thumbnailNavigation == "hover") {
                        var i = e('<div class="ls-thumbnail-hover"><div class="ls-thumbnail-hover-inner"><div class="ls-thumbnail-hover-bg"></div><div class="ls-thumbnail-hover-img"><img></div><span></span></div></div>').appendTo(e(u).find(".ls-bottom-slidebuttons"))
                    }
                    for (x = 1; x < f.g.layersNum + 1; x++) {
                        var s = e('<a href="#" />').appendTo(e(u).find(".ls-bottom-slidebuttons")).click(function(t) {
                            t.preventDefault();
                            e(u).layerSlider(e(this).index() + 1)
                        });
                        if (f.o.thumbnailNavigation == "hover") {
                            e(u).find(".ls-thumbnail-hover, .ls-thumbnail-hover-img").css({
                                width: f.o.tnWidth,
                                height: f.o.tnHeight
                            });
                            var o = e(u).find(".ls-thumbnail-hover");
                            var a = o.find("img").css({
                                height: f.o.tnHeight
                            });
                            var l = e(u).find(".ls-thumbnail-hover-inner").css({
                                visibility: "hidden",
                                display: "block"
                            });
                            s.hover(function() {
                                var t = e(u).find(".ls-slide").eq(e(this).index());
                                var n;
                                if (f.o.imgPreload === true && f.o.lazyLoad === true) {
                                    if (t.find(".ls-tn").length) {
                                        n = t.find(".ls-tn").data("src")
                                    } else if (t.find(".ls-videopreview").length) {
                                        n = t.find(".ls-videopreview").data("src")
                                    } else if (t.find(".ls-bg").length) {
                                        n = t.find(".ls-bg").data("src")
                                    } else {
                                        n = f.o.skinsPath + f.o.skin + "/nothumb.png"
                                    }
                                } else {
                                    if (t.find(".ls-tn").length) {
                                        n = t.find(".ls-tn").attr("src")
                                    } else if (t.find(".ls-videopreview").length) {
                                        n = t.find(".ls-videopreview").attr("src")
                                    } else if (t.find(".ls-bg").length) {
                                        n = t.find(".ls-bg").attr("src")
                                    } else {
                                        n = f.o.skinsPath + f.o.skin + "/nothumb.png"
                                    }
                                }
                                e(u).find(".ls-thumbnail-hover-img").css({
                                    left: parseInt(o.css("padding-left")),
                                    top: parseInt(o.css("padding-top"))
                                });
                                a.load(function() {
                                    if (e(this).width() == 0) {
                                        a.css({
                                            position: "relative",
                                            margin: "0 auto",
                                            left: "auto"
                                        })
                                    } else {
                                        a.css({
                                            position: "absolute",
                                            marginLeft: -e(this).width() / 2,
                                            left: "50%"
                                        })
                                    }
                                }).attr("src", n);
                                o.css({
                                    display: "block"
                                }).stop().animate({
                                    left: e(this).position().left + (e(this).width() - o.outerWidth()) / 2
                                }, 250);
                                l.css({
                                    display: "none",
                                    visibility: "visible"
                                }).stop().fadeIn(250)
                            }, function() {
                                l.stop().fadeOut(250, function() {
                                    o.css({
                                        visibility: "hidden",
                                        display: "block"
                                    })
                                })
                            })
                        }
                    }
                    if (f.o.thumbnailNavigation == "hover") {
                        i.appendTo(e(u).find(".ls-bottom-slidebuttons"))
                    }
                    e(u).find(".ls-bottom-slidebuttons a:eq(" + (f.o.firstSlide - 1) + ")").addClass("ls-nav-active")
                }
                if (f.o.navStartStop) {
                    var c = e('<a class="ls-nav-start" href="#" />').click(function(t) {
                        t.preventDefault();
                        e(u).layerSlider("start")
                    }).prependTo(e(u).find(".ls-bottom-nav-wrapper"));
                    var h = e('<a class="ls-nav-stop" href="#" />').click(function(t) {
                        t.preventDefault();
                        e(u).layerSlider("stop")
                    }).appendTo(e(u).find(".ls-bottom-nav-wrapper"))
                } else if (f.o.thumbnailNavigation != "always") {
                    e('<span class="ls-nav-sides ls-nav-sideleft" />').prependTo(e(u).find(".ls-bottom-nav-wrapper"));
                    e('<span class="ls-nav-sides ls-nav-sideright" />').appendTo(e(u).find(".ls-bottom-nav-wrapper"))
                }
                if (f.o.hoverBottomNav && f.o.thumbnailNavigation != "always") {
                    r.css({
                        display: "none"
                    });
                    e(u).hover(function() {
                        if (!f.g.forceHideControls) {
                            if (f.g.ie78) {
                                r.css("display", "block")
                            } else {
                                r.stop(true, true).fadeIn(300)
                            }
                        }
                    }, function() {
                        if (f.g.ie78) {
                            r.css("display", "none")
                        } else {
                            r.stop(true, true).fadeOut(300)
                        }
                    })
                }
            }
            if (f.o.thumbnailNavigation == "always") {
                f.g.thumbsWrapper = e('<div class="ls-thumbnail-wrapper"></div>').appendTo(e(u));
                var i = e('<div class="ls-thumbnail"><div class="ls-thumbnail-inner"><div class="ls-thumbnail-slide-container"><div class="ls-thumbnail-slide"></div></div></div></div>').appendTo(f.g.thumbsWrapper);
                f.g.thumbnails = e(u).find(".ls-thumbnail-slide-container");
                if (!("ontouchstart" in window)) {
                    f.g.thumbnails.hover(function() {
                        e(this).addClass("ls-thumbnail-slide-hover")
                    }, function() {
                        e(this).removeClass("ls-thumbnail-slide-hover");
                        f.scrollThumb()
                    }).mousemove(function(t) {
                        var n = parseInt(t.pageX - e(this).offset().left) / e(this).width() * (e(this).width() - e(this).find(".ls-thumbnail-slide").width());
                        e(this).find(".ls-thumbnail-slide").stop().css({
                            marginLeft: n
                        })
                    })
                } else {
                    f.g.thumbnails.addClass("ls-touchscroll")
                }
                e(u).find(".ls-slide").each(function() {
                    var t = e(this).index() + 1;
                    var n;
                    if (f.o.imgPreload === true && f.o.lazyLoad === true) {
                        if (e(this).find(".ls-tn").length) {
                            n = e(this).find(".ls-tn").data("src")
                        } else if (e(this).find(".ls-videopreview").length) {
                            n = e(this).find(".ls-videopreview").data("src")
                        } else if (e(this).find(".ls-bg").length) {
                            n = e(this).find(".ls-bg").data("src")
                        } else {
                            n = f.o.skinsPath + f.o.skin + "/nothumb.png"
                        }
                    } else {
                        if (e(this).find(".ls-tn").length) {
                            n = e(this).find(".ls-tn").attr("src")
                        } else if (e(this).find(".ls-videopreview").length) {
                            n = e(this).find(".ls-videopreview").attr("src")
                        } else if (e(this).find(".ls-bg").length) {
                            n = e(this).find(".ls-bg").attr("src")
                        } else {
                            n = f.o.skinsPath + f.o.skin + "/nothumb.png"
                        }
                    }
                    var r = e('<a href="#" class="ls-thumb-' + t + '"><img src="' + n + '"></a>');
                    r.appendTo(e(u).find(".ls-thumbnail-slide"));
                    if (!("ontouchstart" in window)) {
                        r.hover(function() {
                            e(this).children().stop().fadeTo(300, f.o.tnActiveOpacity / 100)
                        }, function() {
                            if (!e(this).children().hasClass("ls-thumb-active")) {
                                e(this).children().stop().fadeTo(300, f.o.tnInactiveOpacity / 100)
                            }
                        })
                    }
                    r.click(function(n) {
                        n.preventDefault();
                        e(u).layerSlider(t)
                    })
                });
                if (c && h) {
                    var p = f.g.bottomWrapper = e('<div class="ls-bottom-nav-wrapper ls-below-thumbnails"></div>').appendTo(e(u));
                    c.clone().click(function(t) {
                        t.preventDefault();
                        e(u).layerSlider("start")
                    }).appendTo(p);
                    h.clone().click(function(t) {
                        t.preventDefault();
                        e(u).layerSlider("stop")
                    }).appendTo(p)
                }
                if (f.o.hoverBottomNav) {
                    f.g.thumbsWrapper.css("display", "none");
                    if (p) {
                        f.g.bottomWrapper = p.css("display") == "block" ? p : e(u).find(".ls-above-thumbnails");
                        f.g.bottomWrapper.css("display", "none")
                    }
                    e(u).hover(function() {
                        e(u).addClass("ls-hover");
                        if (!f.g.forceHideControls) {
                            if (f.g.ie78) {
                                f.g.thumbsWrapper.css("display", "block");
                                if (f.g.bottomWrapper) {
                                    f.g.bottomWrapper.css("display", "block")
                                }
                            } else {
                                f.g.thumbsWrapper.stop(true, true).fadeIn(300);
                                if (f.g.bottomWrapper) {
                                    f.g.bottomWrapper.stop(true, true).fadeIn(300)
                                }
                            }
                        }
                    }, function() {
                        e(u).removeClass("ls-hover");
                        if (f.g.ie78) {
                            f.g.thumbsWrapper.css("display", "none");
                            if (f.g.bottomWrapper) {
                                f.g.bottomWrapper.css("display", "none")
                            }
                        } else {
                            f.g.thumbsWrapper.stop(true, true).fadeOut(300);
                            if (f.g.bottomWrapper) {
                                f.g.bottomWrapper.stop(true, true).fadeOut(300)
                            }
                        }
                    })
                }
            }
            f.g.shadow = e('<div class="ls-shadow"></div>').appendTo(e(u));
            if (f.g.shadow.css("display") == "block" && !f.g.shadow.find("img").length) {
                f.g.showShadow = function() {
                    f.g.shadow.css({
                        display: "none",
                        visibility: "visible"
                    }).fadeIn(500, function() {
                        f.g.showShadow = false
                    })
                };
                f.g.shadowImg = e("<img>").attr("src", f.o.skinsPath + f.o.skin + "/shadow.png").appendTo(f.g.shadow);
                f.g.shadowBtmMod = typeof parseInt(e(u).css("padding-bottom")) == "number" ? parseInt(e(u).css("padding-bottom")) : 0
            }
            f.resizeShadow();
            if (f.o.keybNav && e(u).find(".ls-slide").length > 1) {
                e("body").bind("keydown", function(e) {
                    if (!f.g.isAnimating && !f.g.isLoading) {
                        if (e.which == 37) {
                            f.o.cbPrev(f.g);
                            f.prev("clicked")
                        } else if (e.which == 39) {
                            f.o.cbNext(f.g);
                            f.next("clicked")
                        }
                    }
                })
            }
            if ("ontouchstart" in window && e(u).find(".ls-slide").length > 1 && f.o.touchNav) {
                e(u).find(".ls-inner").bind("touchstart", function(e) {
                    var t = e.touches ? e.touches : e.originalEvent.touches;
                    if (t.length == 1) {
                        f.g.touchStartX = f.g.touchEndX = t[0].clientX
                    }
                });
                e(u).find(".ls-inner").bind("touchmove", function(e) {
                    var t = e.touches ? e.touches : e.originalEvent.touches;
                    if (t.length == 1) {
                        f.g.touchEndX = t[0].clientX
                    }
                    if (Math.abs(f.g.touchStartX - f.g.touchEndX) > 45) {
                        e.preventDefault()
                    }
                });
                e(u).find(".ls-inner").bind("touchend", function(t) {
                    if (Math.abs(f.g.touchStartX - f.g.touchEndX) > 45) {
                        if (f.g.touchStartX - f.g.touchEndX > 0) {
                            f.o.cbNext(f.g);
                            e(u).layerSlider("next")
                        } else {
                            f.o.cbPrev(f.g);
                            e(u).layerSlider("prev")
                        }
                    }
                })
            }
            if (f.o.pauseOnHover == true && e(u).find(".ls-slide").length > 1) {
                e(u).find(".ls-inner").hover(function() {
                    f.o.cbPause(f.g);
                    if (f.g.autoSlideshow) {
                        f.g.paused = true;
                        f.stop();
                        if (f.g.barTimer) {
                            f.g.barTimer.stop()
                        }
                        if (f.g.circleTimer) {
                            if (f.g.cttl) {
                                f.g.cttl.pause()
                            }
                        }
                        f.g.pausedSlideTime = (new Date).getTime()
                    }
                }, function() {
                    if (f.g.paused == true) {
                        f.start();
                        f.g.paused = false
                    }
                })
            }
            f.resizeSlider();
            if (f.o.yourLogo) {
                f.g.yourLogo = e("<img>").addClass("ls-yourlogo").appendTo(e(u)).attr("style", f.o.yourLogoStyle).css({
                    visibility: "hidden",
                    display: "bock"
                }).load(function() {
                    var t = 0;
                    if (!f.g.yourLogo) {
                        t = 1e3
                    }
                    setTimeout(function() {
                        f.g.yourLogo.data("originalWidth", f.g.yourLogo.width());
                        f.g.yourLogo.data("originalHeight", f.g.yourLogo.height());
                        if (f.g.yourLogo.css("left") != "auto") {
                            f.g.yourLogo.data("originalLeft", f.g.yourLogo[0].style.left)
                        }
                        if (f.g.yourLogo.css("right") != "auto") {
                            f.g.yourLogo.data("originalRight", f.g.yourLogo[0].style.right)
                        }
                        if (f.g.yourLogo.css("top") != "auto") {
                            f.g.yourLogo.data("originalTop", f.g.yourLogo[0].style.top)
                        }
                        if (f.g.yourLogo.css("bottom") != "auto") {
                            f.g.yourLogo.data("originalBottom", f.g.yourLogo[0].style.bottom)
                        }
                        if (f.o.yourLogoLink != false) {
                            e("<a>").appendTo(e(u)).attr("href", f.o.yourLogoLink).attr("target", f.o.yourLogoTarget).css({
                                textDecoration: "none",
                                outline: "none"
                            }).append(f.g.yourLogo)
                        }
                        f.g.yourLogo.css({
                            display: "none",
                            visibility: "visible"
                        });
                        f.resizeYourLogo()
                    }, t)
                }).attr("src", f.o.yourLogo)
            }
            e(window).resize(function() {
                f.g.resize = true;
                if (!f.g.isAnimating) {
                    f.makeResponsive(f.g.curLayer, function() {
                        if (f.g.ltContainer) {
                            f.g.ltContainer.empty()
                        }
                        f.g.resize = false
                    });
                    if (f.g.yourLogo) {
                        f.resizeYourLogo()
                    }
                }
            });
            f.g.showSlider = true;
            if (f.o.animateFirstSlide == true) {
                if (f.o.autoStart) {
                    f.g.autoSlideshow = true;
                    e(u).find(".ls-nav-start").addClass("ls-nav-start-active")
                } else {
                    e(u).find(".ls-nav-stop").addClass("ls-nav-stop-active")
                }
                f.next()
            } else {
                f.imgPreload(f.g.curLayer, function() {
                    f.g.curLayer.fadeIn(1e3, function() {
                        f.g.isLoading = false;
                        e(this).addClass("ls-active");
                        if (f.o.autoPlayVideos) {
                            e(this).delay(e(this).data("delayin") + 25).queue(function() {
                                e(this).find(".ls-videopreview, video, audio").click();
                                e(this).dequeue()
                            })
                        }
                        f.g.curLayer.find(' > *[class*="ls-l"]').each(function() {
                            if (e(this).data("showuntil") > 0) {
                                var t = e(this);
                                t.data("showUntilTimer", setTimeout(function() {
                                    f.sublayerShowUntil(t)
                                }, t.data("showuntil")))
                            }
                        })
                    });
                    f.changeThumb(f.g.curLayerIndex);
                    if (f.o.autoStart) {
                        f.g.isLoading = false;
                        f.start()
                    } else {
                        e(u).find(".ls-nav-stop").addClass("ls-nav-stop-active")
                    }
                })
            }
            f.o.cbInit(e(u))
        };
        f.start = function() {
            if (f.g.autoSlideshow) {
                if (f.g.prevNext == "prev" && f.o.twoWaySlideshow) {
                    f.prev()
                } else {
                    f.next()
                }
            } else {
                f.g.autoSlideshow = true;
                if (!f.g.isAnimating && !f.g.isLoading) {
                    f.timer()
                }
            }
            e(u).find(".ls-nav-start").addClass("ls-nav-start-active");
            e(u).find(".ls-nav-stop").removeClass("ls-nav-stop-active")
        };
        f.timer = function() {
            if (e(u).find(".ls-active").data("ls")) {
                var t = f.st.slideDelay
            } else {
                var t = f.o.slideDelay
            }
            var n = e(u).find(".ls-active").data("slidedelay") ? parseInt(e(u).find(".ls-active").data("slidedelay")) : t;
            if (!f.o.animateFirstSlide && !e(u).find(".ls-active").data("slidedelay")) {
                var r = e(u).find(".ls-slide:eq(" + (f.o.firstSlide - 1) + ")").data("slidedelay");
                n = r ? r : t
            }
            clearTimeout(f.g.slideTimer);
            if (f.g.pausedSlideTime) {
                if (!f.g.startSlideTime) {
                    f.g.startSlideTime = (new Date).getTime()
                }
                if (f.g.startSlideTime > f.g.pausedSlideTime) {
                    f.g.pausedSlideTime = (new Date).getTime()
                }
                if (!f.g.curSlideTime) {
                    f.g.curSlideTime = n
                }
                f.g.curSlideTime -= f.g.pausedSlideTime - f.g.startSlideTime;
                f.g.pausedSlideTime = false;
                f.g.startSlideTime = (new Date).getTime()
            } else {
                f.g.curSlideTime = n;
                f.g.startSlideTime = (new Date).getTime()
            }
            f.g.curSlideTime = parseInt(f.g.curSlideTime);
            f.g.slideTimer = setTimeout(function() {
                f.g.startSlideTime = f.g.pausedSlideTime = f.g.curSlideTime = false;
                f.start()
            }, f.g.curSlideTime);
            if (f.g.barTimer) {
                f.g.barTimer.animate({
                    width: f.g.sliderWidth()
                }, f.g.curSlideTime, "linear", function() {
                    e(this).css({
                        width: 0
                    })
                })
            }
            if (f.g.circleTimer) {
                var i = f.g.circleTimer.find(".ls-ct-right .ls-ct-rotate");
                var s = f.g.circleTimer.find(".ls-ct-left .ls-ct-rotate");
                if (f.g.circleTimer.css("display") == "none") {
                    i.css({
                        rotate: 0
                    });
                    s.css({
                        rotate: 0
                    });
                    f.g.circleTimer.fadeIn(350)
                }
                if (!f.g.cttl) {
                    f.g.cttl = new TimelineLite;
                    f.g.cttl.add(TweenLite.fromTo(i[0], n / 2e3, {
                        rotation: 0
                    }, {
                        ease: Linear.easeNone,
                        rotation: 180,
                        onReverseComplete: function() {
                            f.g.cttl = false
                        }
                    }));
                    f.g.cttl.add(TweenLite.fromTo(s[0], n / 2e3, {
                        rotation: 0
                    }, {
                        ease: Linear.easeNone,
                        rotation: 180
                    }))
                } else {
                    f.g.cttl.resume()
                }
            }
        };
        f.stop = function() {
            f.g.pausedSlideTime = (new Date).getTime();
            if (f.g.barTimer) {
                f.g.barTimer.stop()
            }
            if (f.g.circleTimer) {
                if (f.g.cttl) {
                    f.g.cttl.pause()
                }
            }
            if (!f.g.paused && !f.g.originalAutoSlideshow) {
                e(u).find(".ls-nav-stop").addClass("ls-nav-stop-active");
                e(u).find(".ls-nav-start").removeClass("ls-nav-start-active")
            }
            clearTimeout(f.g.slideTimer);
            f.g.autoSlideshow = false
        };
        f.forcestop = function() {
            clearTimeout(f.g.slideTimer);
            f.g.autoSlideshow = false;
            clearTimeout(f.g.t1);
            clearTimeout(f.g.t2);
            clearTimeout(f.g.t3);
            clearTimeout(f.g.t4);
            clearTimeout(f.g.t5);
            if (f.g.barTimer) {
                f.g.barTimer.stop()
            }
            if (f.g.circleTimer) {
                if (f.g.cttl) {
                    f.g.cttl.pause()
                }
            }
            e(u).find("*").stop(true, false).dequeue();
            e(u).find(".ls-slide >").each(function() {
                if (e(this).data("tr")) {
                    e(this).data("tr").pause()
                }
            });
            if (!f.g.paused && !f.g.originalAutoSlideshow) {
                e(u).find(".ls-nav-stop").addClass("ls-nav-stop-active");
                e(u).find(".ls-nav-start").removeClass("ls-nav-start-active")
            }
        };
        f.restart = function() {
            e(u).find("*").stop();
            clearTimeout(f.g.slideTimer);
            f.change(f.g.curLayerIndex, f.g.prevNext)
        };
        f.ieEasing = function(t) {
            if (e.trim(t.toLowerCase()) == "swing" || e.trim(t.toLowerCase()) == "linear") {
                return t.toLowerCase()
            } else {
                return t.replace("easeinout", "easeInOut").replace("easein", "easeIn").replace("easeout", "easeOut").replace("quad", "Quad").replace("quart", "Quart").replace("cubic", "Cubic").replace("quint", "Quint").replace("sine", "Sine").replace("expo", "Expo").replace("circ", "Circ").replace("elastic", "Elastic").replace("back", "Back").replace("bounce", "Bounce")
            }
        };
        f.prev = function(e) {
            if (f.g.curLayerIndex < 2) {
                f.g.nextLoop += 1
            }
            if (f.g.nextLoop > f.o.loops && f.o.loops > 0 && !e) {
                f.g.nextLoop = 0;
                f.stop();
                if (f.o.forceLoopNum == false) {
                    f.o.loops = 0
                }
            } else {
                var t = f.g.curLayerIndex < 2 ? f.g.layersNum : f.g.curLayerIndex - 1;
                f.g.prevNext = "prev";
                f.change(t, f.g.prevNext)
            }
        };
        f.next = function(e) {
            if (!f.o.randomSlideshow) {
                if (!(f.g.curLayerIndex < f.g.layersNum)) {
                    f.g.nextLoop += 1
                }
                if (f.g.nextLoop > f.o.loops && f.o.loops > 0 && !e) {
                    f.g.nextLoop = 0;
                    f.stop();
                    if (f.o.forceLoopNum == false) {
                        f.o.loops = 0
                    }
                } else {
                    var t = f.g.curLayerIndex < f.g.layersNum ? f.g.curLayerIndex + 1 : 1;
                    f.g.prevNext = "next";
                    f.change(t, f.g.prevNext)
                }
            } else if (!e) {
                var t = f.g.curLayerIndex;
                var n = function() {
                    t = Math.floor(Math.random() * f.g.layersNum) + 1;
                    if (t == f.g.curLayerIndex) {
                        n()
                    } else {
                        f.g.prevNext = "next";
                        f.change(t, f.g.prevNext)
                    }
                };
                n()
            } else if (e) {
                var t = f.g.curLayerIndex < f.g.layersNum ? f.g.curLayerIndex + 1 : 1;
                f.g.prevNext = "next";
                f.change(t, f.g.prevNext)
            }
        };
        f.change = function(t, n) {
            f.g.startSlideTime = f.g.pausedSlideTime = f.g.curSlideTime = false;
            if (f.g.barTimer) {
                f.g.barTimer.stop().delay(300).animate({
                    width: 0
                }, 450)
            }
            if (f.g.circleTimer) {
                f.g.circleTimer.fadeOut(500);
                if (f.g.cttl) {
                    f.g.cttl.reverse().duration(.35)
                }
            }
            if (f.g.pausedByVideo == true) {
                f.g.pausedByVideo = false;
                f.g.autoSlideshow = f.g.originalAutoSlideshow;
                f.g.curLayer.find('iframe[src*="www.youtu"], iframe[src*="player.vimeo"]').each(function() {
                    e(this).parent().find(".ls-vpcontainer").fadeIn(f.g.v.fi, function() {
                        e(this).parent().find("iframe").attr("src", "")
                    })
                });
                f.g.curLayer.find("video, audio").each(function() {
                    this.pause()
                })
            }
            e(u).find('iframe[src*="www.youtu"], iframe[src*="player.vimeo"]').each(function() {
                clearTimeout(e(this).data("videoTimer"))
            });
            clearTimeout(f.g.slideTimer);
            f.g.nextLayerIndex = t;
            f.g.nextLayer = e(u).find(".ls-slide:eq(" + (f.g.nextLayerIndex - 1) + ")");
            if (!n) {
                if (f.g.curLayerIndex < f.g.nextLayerIndex) {
                    f.g.prevNext = "next"
                } else {
                    f.g.prevNext = "prev"
                }
            }
            var r = 0;
            if (e(u).find('iframe[src*="www.youtu"], iframe[src*="player.vimeo"]').length > 0) {
                r = f.g.v.fi
            }
            f.imgPreload(f.g.nextLayer, function() {
                f.animate()
            })
        };
        f.imgPreload = function(t, n) {
            f.g.isLoading = true;
            if (f.g.showSlider) {
                e(u).css({
                    visibility: "visible"
                })
            }
            if (f.o.imgPreload) {
                var r = [];
                var i = 0;
                if (t.css("background-image") != "none" && t.css("background-image").indexOf("url") != -1 && !t.hasClass("ls-preloaded") && !t.hasClass("ls-not-preloaded")) {
                    var s = t.css("background-image");
                    s = s.match(/url\((.*)\)/)[1].replace(/"/gi, "");
                    r[r.length] = [s, t]
                }
                t.find("img:not(.ls-preloaded, .ls-not-preloaded)").each(function() {
                    if (f.o.lazyLoad === true) {
                        e(this).attr("src", e(this).data("src"))
                    }
                    r[r.length] = [e(this).attr("src"), e(this)]
                });
                t.find("*").each(function() {
                    if (e(this).css("background-image") != "none" && e(this).css("background-image").indexOf("url") != -1 && !e(this).hasClass("ls-preloaded") && !e(this).hasClass("ls-not-preloaded")) {
                        var t = e(this).css("background-image");
                        t = t.match(/url\((.*)\)/)[1].replace(/"/gi, "");
                        r[r.length] = [t, e(this)]
                    }
                });
                if (r.length == 0) {
                    e(".ls-thumbnail-wrapper, .ls-nav-next, .ls-nav-prev, .ls-bottom-nav-wrapper").css({
                        visibility: "visible"
                    });
                    f.makeResponsive(t, n)
                } else {
                    if (f.g.ie78) {
                        f.g.li.css("display", "block")
                    } else {
                        f.g.li.delay(400).fadeIn(300)
                    }
                    for (x = 0; x < r.length; x++) {
                        e("<img>").data("el", r[x]).load(function() {
                            e(this).data("el")[1].addClass("ls-preloaded");
                            if (++i == r.length) {
                                f.g.li.stop(true, true).css({
                                    display: "none"
                                });
                                e(".ls-thumbnail-wrapper, .ls-nav-next, .ls-nav-prev, .ls-bottom-nav-wrapper").css({
                                    visibility: "visible"
                                });
                                if (navigator.userAgent.indexOf("Trident/7") !== -1 || f.g.ie78) {
                                    setTimeout(function() {
                                        f.makeResponsive(t, n)
                                    }, 50)
                                } else {
                                    f.makeResponsive(t, n)
                                }
                            }
                        }).error(function() {
                            var t = e(this).data("el")[0].substring(e(this).data("el")[0].lastIndexOf("/") + 1, e(this).data("el")[0].length);
                            if (window.console) {
                                console.log('LayerSlider error:\r\n\r\nIt seems like the URL of the image or background image "' + t + '" is pointing to a wrong location and it cannot be loaded. Please check the URLs of all your images used in the slider.')
                            } else {
                                alert('LayerSlider error:\r\n\r\nIt seems like the URL of the image or background image "' + t + '" is pointing to a wrong location and it cannot be loaded. Please check the URLs of all your images used in the slider.')
                            }
                            e(this).addClass("ls-not-preloaded");
                            i++
                        }).attr("src", r[x][0])
                    }
                }
            } else {
                e(".ls-thumbnail-wrapper, .ls-nav-next, .ls-nav-prev, .ls-bottom-nav-wrapper").css({
                    visibility: "visible"
                });
                f.makeResponsive(t, n)
            }
        };
        f.makeResponsive = function(t, n) {
            t.css({
                visibility: "hidden",
                display: "block"
            });
            if (f.g.showShadow) {
                f.g.showShadow()
            }
            f.resizeSlider();
            if (f.o.thumbnailNavigation == "always") {
                f.resizeThumb()
            }
            t.children().each(function() {
                var t = e(this);
                var n = t.data("originalLeft") ? t.data("originalLeft") : "0";
                var r = t.data("originalTop") ? t.data("originalTop") : "0";
                if (t.is("a") && t.children().length > 0) {
                    t.css({
                        display: "block"
                    });
                    t = t.children()
                }
                var i = "auto";
                var s = "auto";
                if (t.data("originalWidth")) {
                    if (typeof t.data("originalWidth") == "number") {
                        i = parseInt(t.data("originalWidth")) * f.g.ratio
                    } else if (t.data("originalWidth").indexOf("%") != -1) {
                        i = t.data("originalWidth")
                    }
                }
                if (t.data("originalHeight")) {
                    if (typeof t.data("originalHeight") == "number") {
                        s = parseInt(t.data("originalHeight")) * f.g.ratio
                    } else if (t.data("originalHeight").indexOf("%") != -1) {
                        s = t.data("originalHeight")
                    }
                }
                var o = t.data("originalPaddingLeft") ? parseInt(t.data("originalPaddingLeft")) * f.g.ratio : 0;
                var a = t.data("originalPaddingRight") ? parseInt(t.data("originalPaddingRight")) * f.g.ratio : 0;
                var l = t.data("originalPaddingTop") ? parseInt(t.data("originalPaddingTop")) * f.g.ratio : 0;
                var c = t.data("originalPaddingBottom") ? parseInt(t.data("originalPaddingBottom")) * f.g.ratio : 0;
                var h = t.data("originalBorderLeft") ? parseInt(t.data("originalBorderLeft")) * f.g.ratio : 0;
                var p = t.data("originalBorderRight") ? parseInt(t.data("originalBorderRight")) * f.g.ratio : 0;
                var d = t.data("originalBorderTop") ? parseInt(t.data("originalBorderTop")) * f.g.ratio : 0;
                var v = t.data("originalBorderBottom") ? parseInt(t.data("originalBorderBottom")) * f.g.ratio : 0;
                var m = t.data("originalFontSize");
                var g = t.data("originalLineHeight");
                if (f.g.responsiveMode || f.o.responsiveUnder > 0) {
                    if (t.is("img") && !t.hasClass("ls-bg") && t.attr("src")) {
                        t.css({
                            width: "auto",
                            height: "auto"
                        });
                        if ((i == 0 || i == "auto") && typeof s == "number" && s != 0) {
                            i = s / t.height() * t.width()
                        }
                        if ((s == 0 || s == "auto") && typeof i == "number" && i != 0) {
                            s = i / t.width() * t.height()
                        }
                        if (i == "auto") {
                            i = t.width() * f.g.ratio
                        }
                        if (s == "auto") {
                            s = t.height() * f.g.ratio
                        }
                        t.css({
                            width: i,
                            height: s
                        })
                    }
                    if (!t.is("img")) {
                        t.css({
                            width: i,
                            height: s,
                            "font-size": parseInt(m) * f.g.ratio + "px",
                            "line-height": parseInt(g) * f.g.ratio + "px"
                        })
                    }
                    if (t.is("div") && t.find("iframe").data("videoSrc")) {
                        var y = t.find("iframe");
                        y.attr("width", parseInt(y.data("originalWidth")) * f.g.ratio).attr("height", parseInt(y.data("originalHeight")) * f.g.ratio);
                        t.css({
                            width: parseInt(y.data("originalWidth")) * f.g.ratio,
                            height: parseInt(y.data("originalHeight")) * f.g.ratio
                        })
                    }
                    t.css({
                        padding: l + "px " + a + "px " + c + "px " + o + "px ",
                        borderLeftWidth: h + "px",
                        borderRightWidth: p + "px",
                        borderTopWidth: d + "px",
                        borderBottomWidth: v + "px"
                    })
                }
                if (!t.hasClass("ls-bg")) {
                    var b = t;
                    if (t.parent().is("a")) {
                        t = t.parent()
                    }
                    var w = 0;
                    if (f.o.layersContainer) {
                        w = f.o.layersContainer > 0 ? (f.g.sliderWidth() - f.o.layersContainer) / 2 : 0
                    } else if (f.o.sublayerContainer) {
                        w = f.o.sublayerContainer > 0 ? (f.g.sliderWidth() - f.o.sublayerContainer) / 2 : 0
                    }
                    w = w < 0 ? 0 : w;
                    if (n.indexOf("%") != -1) {
                        t.css({
                            left: f.g.sliderWidth() / 100 * parseInt(n) - b.width() / 2 - o - h
                        })
                    } else if (w > 0 || f.g.responsiveMode || f.o.responsiveUnder > 0) {
                        t.css({
                            left: w + parseInt(n) * f.g.ratio
                        })
                    }
                    if (r.indexOf("%") != -1) {
                        t.css({
                            top: f.g.sliderHeight() / 100 * parseInt(r) - b.height() / 2 - l - d
                        })
                    } else if (f.g.responsiveMode || f.o.responsiveUnder > 0) {
                        t.css({
                            top: parseInt(r) * f.g.ratio
                        })
                    }
                } else {
                    var E = e(u).find(".ls-inner");
                    t.css({
                        width: "auto",
                        height: "auto"
                    });
                    i = t.width();
                    s = t.height();
                    var S = f.g.ratio;
                    if (f.g.sliderOriginalWidth.indexOf("%") != -1) {
                        if (f.g.sliderWidth() > i) {
                            S = f.g.sliderWidth() / i;
                            if (f.g.sliderHeight() > s * S) {
                                S = f.g.sliderHeight() / s
                            }
                        } else if (f.g.sliderHeight() > s) {
                            S = f.g.sliderHeight() / s;
                            if (f.g.sliderWidth() > i * S) {
                                S = f.g.sliderWidth() / i
                            }
                        }
                    }
                    t.css({
                        width: i * S,
                        height: s * S,
                        marginLeft: E.width() / 2 - i * S / 2,
                        marginTop: E.height() / 2 - s * S / 2
                    })
                }
            });
            t.css({
                display: "none",
                visibility: "visible"
            });
            f.resizeShadow();
            n();
            e(this).dequeue()
        };
        f.resizeShadow = function() {
            if (f.g.shadowImg) {
                var e = function() {
                    if (f.g.shadowImg.height() > 0) {
                        if (f.g.shadowBtmMod > 0) {
                            f.g.shadow.css({
                                height: f.g.shadowImg.height() / 2
                            })
                        } else {
                            f.g.shadow.css({
                                height: f.g.shadowImg.height(),
                                marginTop: -f.g.shadowImg.height() / 2
                            })
                        }
                    } else {
                        setTimeout(function() {
                            e()
                        }, 50)
                    }
                };
                e()
            }
        };
        f.resizeSlider = function() {
            if (f.o.responsiveUnder > 0) {
                if (e(window).width() < f.o.responsiveUnder) {
                    f.g.responsiveMode = true;
                    f.g.sliderOriginalWidth = f.o.responsiveUnder + "px"
                } else {
                    f.g.responsiveMode = false;
                    f.g.sliderOriginalWidth = f.g.sliderOriginalWidthRU;
                    f.g.ratio = 1
                }
            }
            if (f.g.responsiveMode) {
                var t = e(u).parent();
                e(u).css({
                    width: t.width() - parseInt(e(u).css("padding-left")) - parseInt(e(u).css("padding-right"))
                });
                f.g.ratio = e(u).width() / parseInt(f.g.sliderOriginalWidth);
                e(u).css({
                    height: f.g.ratio * parseInt(f.g.sliderOriginalHeight)
                })
            } else {
                f.g.ratio = 1;
                e(u).css({
                    width: f.g.sliderOriginalWidth,
                    height: f.g.sliderOriginalHeight
                })
            }
            if (e(u).closest(".ls-wp-fullwidth-container").length) {
                e(u).closest(".ls-wp-fullwidth-helper").css({
                    height: e(u).outerHeight(true)
                });
                e(u).closest(".ls-wp-fullwidth-container").css({
                    height: e(u).outerHeight(true)
                });
                e(u).closest(".ls-wp-fullwidth-helper").css({
                    width: e(window).width(),
                    left: -e(u).closest(".ls-wp-fullwidth-container").offset().left
                });
                if (f.g.sliderOriginalWidth.indexOf("%") != -1) {
                    var n = parseInt(f.g.sliderOriginalWidth);
                    var r = e("body").width() / 100 * n - (e(u).outerWidth() - e(u).width());
                    e(u).width(r)
                }
            }
            e(u).find(".ls-inner, .ls-lt-container").css({
                width: f.g.sliderWidth(),
                height: f.g.sliderHeight()
            });
            if (f.g.curLayer && f.g.nextLayer) {
                f.g.curLayer.css({
                    width: f.g.sliderWidth(),
                    height: f.g.sliderHeight()
                });
                f.g.nextLayer.css({
                    width: f.g.sliderWidth(),
                    height: f.g.sliderHeight()
                })
            } else {
                e(u).find(".ls-slide").css({
                    width: f.g.sliderWidth(),
                    height: f.g.sliderHeight()
                })
            }
        };
        f.resizeYourLogo = function() {
            f.g.yourLogo.css({
                width: f.g.yourLogo.data("originalWidth") * f.g.ratio,
                height: f.g.yourLogo.data("originalHeight") * f.g.ratio
            });
            if (f.g.ie78) {
                f.g.yourLogo.css("display", "block")
            } else {
                f.g.yourLogo.fadeIn(300)
            }
            var t = oR = oT = oB = "auto";
            if (f.g.yourLogo.data("originalLeft") && f.g.yourLogo.data("originalLeft").indexOf("%") != -1) {
                t = f.g.sliderWidth() / 100 * parseInt(f.g.yourLogo.data("originalLeft")) - f.g.yourLogo.width() / 2 + parseInt(e(u).css("padding-left"))
            } else {
                t = parseInt(f.g.yourLogo.data("originalLeft")) * f.g.ratio
            }
            if (f.g.yourLogo.data("originalRight") && f.g.yourLogo.data("originalRight").indexOf("%") != -1) {
                oR = f.g.sliderWidth() / 100 * parseInt(f.g.yourLogo.data("originalRight")) - f.g.yourLogo.width() / 2 + parseInt(e(u).css("padding-right"))
            } else {
                oR = parseInt(f.g.yourLogo.data("originalRight")) * f.g.ratio
            }
            if (f.g.yourLogo.data("originalTop") && f.g.yourLogo.data("originalTop").indexOf("%") != -1) {
                oT = f.g.sliderHeight() / 100 * parseInt(f.g.yourLogo.data("originalTop")) - f.g.yourLogo.height() / 2 + parseInt(e(u).css("padding-top"))
            } else {
                oT = parseInt(f.g.yourLogo.data("originalTop")) * f.g.ratio
            }
            if (f.g.yourLogo.data("originalBottom") && f.g.yourLogo.data("originalBottom").indexOf("%") != -1) {
                oB = f.g.sliderHeight() / 100 * parseInt(f.g.yourLogo.data("originalBottom")) - f.g.yourLogo.height() / 2 + parseInt(e(u).css("padding-bottom"))
            } else {
                oB = parseInt(f.g.yourLogo.data("originalBottom")) * f.g.ratio
            }
            f.g.yourLogo.css({
                left: t,
                right: oR,
                top: oT,
                bottom: oB
            })
        };
        f.resizeThumb = function() {
            f.bottomNavSizeHelper("on");
            var t = f.g.sliderOriginalWidth.indexOf("%") == -1 ? parseInt(f.g.sliderOriginalWidth) : f.g.sliderWidth();
            e(u).find(".ls-thumbnail-slide a").css({
                width: parseInt(f.o.tnWidth * f.g.ratio),
                height: parseInt(f.o.tnHeight * f.g.ratio)
            });
            e(u).find(".ls-thumbnail-slide a:last").css({
                margin: 0
            });
            e(u).find(".ls-thumbnail-slide").css({
                height: parseInt(f.o.tnHeight * f.g.ratio)
            });
            var n = e(u).find(".ls-thumbnail");
            var r = f.o.tnContainerWidth.indexOf("%") == -1 ? parseInt(f.o.tnContainerWidth) : parseInt(t / 100 * parseInt(f.o.tnContainerWidth));
            n.css({
                width: r * Math.floor(f.g.ratio * 100) / 100
            });
            if (n.width() > e(u).find(".ls-thumbnail-slide").width()) {
                n.css({
                    width: e(u).find(".ls-thumbnail-slide").width()
                })
            }
            f.bottomNavSizeHelper("off")
        };
        f.changeThumb = function(t) {
            var n = t ? t : f.g.nextLayerIndex;
            e(u).find(".ls-thumbnail-slide a:not(.ls-thumb-" + n + ")").children().each(function() {
                e(this).removeClass("ls-thumb-active").stop().fadeTo(750, f.o.tnInactiveOpacity / 100)
            });
            e(u).find(".ls-thumbnail-slide a.ls-thumb-" + n).children().addClass("ls-thumb-active").stop().fadeTo(750, f.o.tnActiveOpacity / 100)
        };
        f.scrollThumb = function() {
            if (!e(u).find(".ls-thumbnail-slide-container").hasClass("ls-thumbnail-slide-hover")) {
                var t = e(u).find(".ls-thumb-active").length ? e(u).find(".ls-thumb-active").parent() : false;
                if (t) {
                    var n = t.position().left + t.width() / 2;
                    var r = e(u).find(".ls-thumbnail-slide-container").width() / 2 - n;
                    r = r < e(u).find(".ls-thumbnail-slide-container").width() - e(u).find(".ls-thumbnail-slide").width() ? e(u).find(".ls-thumbnail-slide-container").width() - e(u).find(".ls-thumbnail-slide").width() : r;
                    r = r > 0 ? 0 : r;
                    e(u).find(".ls-thumbnail-slide").animate({
                        marginLeft: r
                    }, 600)
                }
            }
        };
        f.bottomNavSizeHelper = function(t) {
            if (f.o.hoverBottomNav && !e(u).hasClass("ls-hover")) {
                switch (t) {
                    case "on":
                        f.g.thumbsWrapper.css({
                            visibility: "hidden",
                            display: "block"
                        });
                        break;
                    case "off":
                        f.g.thumbsWrapper.css({
                            visibility: "visible",
                            display: "none"
                        });
                        break
                }
            }
        };
        f.animate = function() {
            if (e(u).find(".ls-slide").length > 1) {
                f.g.isAnimating = true
            }
            f.g.isLoading = false;
            clearTimeout(f.g.slideTimer);
            clearTimeout(f.g.changeTimer);
            f.g.stopLayer = f.g.curLayer;
            f.o.cbAnimStart(f.g);
            if (f.o.thumbnailNavigation == "always") {
                f.changeThumb();
                if (!("ontouchstart" in window)) {
                    f.scrollThumb()
                }
            }
            f.g.nextLayer.addClass("ls-animating");
            var t = curLayerRight = curLayerTop = curLayerBottom = nextLayerLeft = nextLayerRight = nextLayerTop = nextLayerBottom = layerMarginLeft = layerMarginRight = layerMarginTop = layerMarginBottom = "auto";
            var a = nextLayerWidth = f.g.sliderWidth();
            var l = nextLayerHeight = f.g.sliderHeight();
            var c = f.g.prevNext == "prev" ? f.g.curLayer : f.g.nextLayer;
            var h = c.data("slidedirection") ? c.data("slidedirection") : f.o.slideDirection;
            var p = f.g.slideDirections[f.g.prevNext][h];
            if (p == "left" || p == "right") {
                a = curLayerTop = nextLayerWidth = nextLayerTop = 0;
                layerMarginTop = 0
            }
            if (p == "top" || p == "bottom") {
                l = t = nextLayerHeight = nextLayerLeft = 0;
                layerMarginLeft = 0
            }
            switch (p) {
                case "left":
                    curLayerRight = nextLayerLeft = 0;
                    layerMarginLeft = -f.g.sliderWidth();
                    break;
                case "right":
                    t = nextLayerRight = 0;
                    layerMarginLeft = f.g.sliderWidth();
                    break;
                case "top":
                    curLayerBottom = nextLayerTop = 0;
                    layerMarginTop = -f.g.sliderHeight();
                    break;
                case "bottom":
                    curLayerTop = nextLayerBottom = 0;
                    layerMarginTop = f.g.sliderHeight();
                    break
            }
            f.g.curLayer.css({
                left: t,
                right: curLayerRight,
                top: curLayerTop,
                bottom: curLayerBottom
            });
            f.g.nextLayer.css({
                width: nextLayerWidth,
                height: nextLayerHeight,
                left: nextLayerLeft,
                right: nextLayerRight,
                top: nextLayerTop,
                bottom: nextLayerBottom
            });
            var d = f.g.curLayer.data("delayout") ? parseInt(f.g.curLayer.data("delayout")) : f.o.delayOut;
            var v = f.g.curLayer.data("durationout") ? parseInt(f.g.curLayer.data("durationout")) : f.o.durationOut;
            var m = f.g.curLayer.data("easingout") ? f.g.curLayer.data("easingout") : f.o.easingOut;
            var g = f.g.nextLayer.data("delayin") ? parseInt(f.g.nextLayer.data("delayin")) : f.o.delayIn;
            var y = f.g.nextLayer.data("durationin") ? parseInt(f.g.nextLayer.data("durationin")) : f.o.durationIn;
            var b = f.g.nextLayer.data("easingin") ? f.g.nextLayer.data("easingin") : f.o.easingIn;
            var w = function() {
                f.g.curLayer.delay(d + v / 15).animate({
                    width: a,
                    height: l
                }, v, m, function() {
                    E()
                })
            };
            var E = function() {
                f.g.stopLayer.find(' > *[class*="ls-l"]').each(function() {
                    if (e(this).data("tr")) {
                        e(this).data("tr").kill()
                    }
                    e(this).css({
                        filter: "none"
                    })
                });
                f.o.cbAnimStop(f.g);
                f.g.curLayer = f.g.nextLayer;
                f.g.curLayerIndex = f.g.nextLayerIndex;
                if (f.o.imgPreload && f.o.lazyLoad) {
                    var t = f.g.curLayerIndex == f.g.layersNum ? 1 : f.g.curLayerIndex + 1;
                    e(u).find(".ls-slide").eq(t - 1).find("img:not(.ls-preloaded)").each(function() {
                        e(this).load(function() {
                            e(this).addClass("ls-preloaded")
                        }).error(function() {
                            var t = e(this).data("src").substring(e(this).data("src").lastIndexOf("/") + 1, e(this).data("src").length);
                            if (window.console) {
                                console('LayerSlider error:\r\n\r\nIt seems like the URL of the image or background image "' + t + '" is pointing to a wrong location and it cannot be loaded. Please check the URLs of all your images used in the slider.')
                            } else {
                                alert('LayerSlider error:\r\n\r\nIt seems like the URL of the image or background image "' + t + '" is pointing to a wrong location and it cannot be loaded. Please check the URLs of all your images used in the slider.')
                            }
                            e(this).addClass("ls-not-preloaded")
                        }).attr("src", e(this).data("src"))
                    })
                }
                e(u).find(".ls-slide").removeClass("ls-active");
                e(u).find(".ls-slide:eq(" + (f.g.curLayerIndex - 1) + ")").addClass("ls-active").removeClass("ls-animating");
                e(u).find(".ls-bottom-slidebuttons a").removeClass("ls-nav-active");
                e(u).find(".ls-bottom-slidebuttons a:eq(" + (f.g.curLayerIndex - 1) + ")").addClass("ls-nav-active");
                if (f.g.autoSlideshow) {
                    f.timer()
                }
                f.g.isAnimating = false;
                if (f.g.resize == true) {
                    f.makeResponsive(f.g.curLayer, function() {
                        f.g.resize = false
                    })
                }
            };
            var S = function(t) {
                f.g.curLayer.find(' > *[class*="ls-l"]').each(function() {
                    if (!e(this).data("transitiontype")) {
                        f.transitionType(e(this))
                    }
                    e(this).removeClass("ls-videohack");
                    var r = e(this).data("slidedirection") ? e(this).data("slidedirection") : p;
                    var i, s;
                    switch (r) {
                        case "left":
                            i = -f.g.sliderWidth();
                            s = 0;
                            break;
                        case "right":
                            i = f.g.sliderWidth();
                            s = 0;
                            break;
                        case "top":
                            s = -f.g.sliderHeight();
                            i = 0;
                            break;
                        case "bottom":
                            s = f.g.sliderHeight();
                            i = 0;
                            break;
                        case "fade":
                            s = 0;
                            i = 0;
                            break
                    }
                    if (e(this).data("transitiontype") === "new") {
                        var o = "new"
                    } else {
                        var o = e(this).data("slideoutdirection") ? e(this).data("slideoutdirection") : false
                    }
                    switch (o) {
                        case "left":
                            i = f.g.sliderWidth();
                            s = 0;
                            break;
                        case "right":
                            i = -f.g.sliderWidth();
                            s = 0;
                            break;
                        case "top":
                            s = f.g.sliderHeight();
                            i = 0;
                            break;
                        case "bottom":
                            s = -f.g.sliderHeight();
                            i = 0;
                            break;
                        case "fade":
                            s = 0;
                            i = 0;
                            break;
                        case "new":
                            if (e(this).data("offsetxout")) {
                                if (e(this).data("offsetxout") === "left") {
                                    i = f.g.sliderWidth()
                                } else if (e(this).data("offsetxout") === "right") {
                                    i = -f.g.sliderWidth()
                                } else {
                                    i = -parseInt(e(this).data("offsetxout"))
                                }
                            } else {
                                i = -f.lt.offsetXOut
                            }
                            if (e(this).data("offsetyout")) {
                                if (e(this).data("offsetyout") === "top") {
                                    s = f.g.sliderHeight()
                                } else if (e(this).data("offsetyout") === "bottom") {
                                    s = -f.g.sliderHeight()
                                } else {
                                    s = -parseInt(e(this).data("offsetyout"))
                                }
                            } else {
                                s = -f.lt.offsetYOut
                            }
                            break
                    }
                    var u = curSubRotateX = curSubRotateY = curSubScale = curSubSkewX = curSubSkewY = curSubScaleX = curSubScaleY = "none";
                    u = e(this).data("rotateout") ? e(this).data("rotateout") : f.lt.rotateOut;
                    curSubRotateX = e(this).data("rotatexout") ? e(this).data("rotatexout") : f.lt.rotateXOut;
                    curSubRotateY = e(this).data("rotateyout") ? e(this).data("rotateyout") : f.lt.rotateYOut;
                    curSubScale = e(this).data("scaleout") ? e(this).data("scaleout") : f.lt.scaleOut;
                    curSubSkewX = e(this).data("skewxout") ? e(this).data("skewxout") : f.lt.skewXOut;
                    curSubSkewY = e(this).data("skewyout") ? e(this).data("skewyout") : f.lt.skewYOut;
                    if (curSubScale === 1) {
                        curSubScaleX = e(this).data("scalexout") ? e(this).data("scalexout") : f.lt.scaleXOut;
                        curSubScaleY = e(this).data("scaleyout") ? e(this).data("scaleyout") : f.lt.scaleYOut
                    } else {
                        curSubScaleX = curSubScaleY = curSubScale
                    }
                    var a = e(this).data("transformoriginout") ? e(this).data("transformoriginout").split(" ") : f.lt.transformOriginOut;
                    for (var l = 0; l < a.length; l++) {
                        if (a[