Overview

URL crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
IP82.180.135.215
ASN
Location Germany
Report completed2022-09-17 01:23:48 UTC
StatusLoading report..
urlquery Alerts No alerts detected


Settings

UserAgentMozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Referer


Intrusion Detection Systems

Suricata /w Emerging Threats Pro  No alerts detected


Blocklists

OpenPhish  No alerts detected
PhishTank  No alerts detected
Fortinet's Web Filter
Scan Date Severity Indicator Comment
2022-09-17 2 crissallesterapias.com.br/wp-content/plugins/LayerSlider/assets/static/laye (...) Phishing
2022-09-17 2 crissallesterapias.com.br/wp-content/plugins/easy-facebook-likebox/facebook (...) Phishing
2022-09-17 2 crissallesterapias.com.br/wp-content/plugins/bbpress/templates/default/css/ (...) Phishing
2022-09-17 2 crissallesterapias.com.br/wp-content/plugins/easy-facebook-likebox/facebook (...) Phishing
2022-09-17 2 crissallesterapias.com.br/wp-content/plugins/easy-facebook-likebox//instagr (...) Phishing
2022-09-17 2 crissallesterapias.com.br/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2 Phishing
2022-09-17 2 crissallesterapias.com.br/wp-content/plugins/LayerSlider/assets/static/laye (...) Phishing
2022-09-17 2 crissallesterapias.com.br/wp-includes/js/dist/vendor/regenerator-runtime.mi (...) Phishing
2022-09-17 2 crissallesterapias.com.br/wp-includes/js/jquery/jquery.min.js?ver=3.6.0 Phishing
2022-09-17 2 crissallesterapias.com.br/wp-includes/js/wp-emoji-release.min.js?ver=5.8.5 Phishing
2022-09-17 2 crissallesterapias.com.br/wp-content/plugins/LayerSlider/assets/static/laye (...) Phishing
2022-09-17 2 crissallesterapias.com.br/wp-content/plugins/LayerSlider/assets/static/laye (...) Phishing
2022-09-17 2 crissallesterapias.com.br/wp-content/uploads/fusion-styles/a5a3a7f6c2fb0d56 (...) Phishing
2022-09-17 2 crissallesterapias.com.br/wp-content/uploads/fusion-scripts/87abe166283d6c3 (...) Phishing
2022-09-17 2 crissallesterapias.com.br/wp-content/plugins/revslider/public/assets/js/rs6 (...) Phishing
mnemonic secure dns  No alerts detected
Quad9 DNS  No alerts detected


Files

No files detected



Passive DNS (10)

Passive DNS Source Fully Qualifying Domain Name Rank First Seen Last Seen IP Comment
mnemonic passive DNS ocsp.digicert.com (5) 86 2012-05-21 07:02:23 UTC 2022-09-16 17:35:14 UTC 93.184.220.29
mnemonic passive DNS push.services.mozilla.com (1) 2140 2015-09-03 10:29:36 UTC 2022-09-16 05:11:10 UTC 54.149.83.187
mnemonic passive DNS img-getpocket.cdn.mozilla.net (6) 1631 2017-09-01 03:40:57 UTC 2022-09-16 15:59:39 UTC 34.120.237.76
mnemonic passive DNS ocsp.pki.goog (6) 175 2017-06-14 07:23:31 UTC 2022-09-16 04:23:37 UTC 142.250.74.3
mnemonic passive DNS fonts.gstatic.com (4) 0 2014-08-29 13:43:22 UTC 2022-09-16 04:23:38 UTC 142.250.74.163 Domain (gstatic.com) ranked at: 540
mnemonic passive DNS crissallesterapias.com.br (31) 0 2020-08-25 03:56:17 UTC 2022-09-16 19:36:14 UTC 82.180.135.215 Unknown ranking
mnemonic passive DNS contile.services.mozilla.com (1) 1114 2021-05-27 18:32:35 UTC 2022-09-16 04:23:36 UTC 34.117.237.239
mnemonic passive DNS content-signature-2.cdn.mozilla.net (1) 1152 2020-11-03 12:26:46 UTC 2022-09-16 04:25:30 UTC 143.204.55.25
mnemonic passive DNS firefox.settings.services.mozilla.com (2) 867 2020-05-27 20:08:30 UTC 2022-09-16 18:35:00 UTC 143.204.55.27
mnemonic passive DNS r3.o.lencr.org (3) 344 2020-12-02 08:52:13 UTC 2022-09-16 04:41:23 UTC 23.36.76.226


Recent reports on same IP/ASN/Domain/Screenshot

Last 5 reports on IP: 82.180.135.215

Date UQ / IDS / BL URL IP
2022-09-17 13:10:59 +0000
0 - 0 - 15 crissallesterapias.com.br/w-sec01bs/auth.php? (...) 82.180.135.215
2022-09-17 12:29:07 +0000
0 - 0 - 14 crissallesterapias.com.br/sec01/auth.php?ihlw (...) 82.180.135.215
2022-09-17 11:14:57 +0000
0 - 0 - 15 crissallesterapias.com.br/w-sec01bs/auth.php? (...) 82.180.135.215
2022-09-17 11:10:55 +0000
0 - 0 - 15 crissallesterapias.com.br/w-sec01bs/auth.php? (...) 82.180.135.215
2022-09-17 10:20:26 +0000
0 - 0 - 15 crissallesterapias.com.br/w-sec01bs/auth.php? (...) 82.180.135.215

Last 5 reports on ASN:

Date UQ / IDS / BL URL IP
2022-12-03 20:01:54 +0000
20 - 0 - 28 os.lbooka.tk/ 163.197.47.86
2022-12-03 20:01:34 +0000
18 - 0 - 24 os.lbooka.tk/y 163.197.47.86
2022-12-03 20:00:12 +0000
1 - 0 - 5 steamcomnmuity.com/profile/76561197960289932 185.149.120.71
2022-12-03 19:58:35 +0000
0 - 0 - 4 steamcommnuunlity.com/profiles/76568559455442049 185.149.120.71
2022-12-03 19:47:16 +0000
0 - 0 - 0 ce.swpra.com/sexy-amber-midthunder-from-legio (...) 160.251.151.42

Last 5 reports on domain: crissallesterapias.com.br

Date UQ / IDS / BL URL IP
2022-09-17 13:10:59 +0000
0 - 0 - 15 crissallesterapias.com.br/w-sec01bs/auth.php? (...) 82.180.135.215
2022-09-17 12:29:07 +0000
0 - 0 - 14 crissallesterapias.com.br/sec01/auth.php?ihlw (...) 82.180.135.215
2022-09-17 11:14:57 +0000
0 - 0 - 15 crissallesterapias.com.br/w-sec01bs/auth.php? (...) 82.180.135.215
2022-09-17 11:10:55 +0000
0 - 0 - 15 crissallesterapias.com.br/w-sec01bs/auth.php? (...) 82.180.135.215
2022-09-17 10:20:26 +0000
0 - 0 - 15 crissallesterapias.com.br/w-sec01bs/auth.php? (...) 82.180.135.215

Last 5 reports with similar screenshot

Date UQ / IDS / BL URL IP
2022-09-17 13:10:59 +0000
0 - 0 - 15 crissallesterapias.com.br/w-sec01bs/auth.php? (...) 82.180.135.215
2022-09-17 12:29:07 +0000
0 - 0 - 14 crissallesterapias.com.br/sec01/auth.php?ihlw (...) 82.180.135.215
2022-09-17 11:14:57 +0000
0 - 0 - 15 crissallesterapias.com.br/w-sec01bs/auth.php? (...) 82.180.135.215
2022-09-17 11:10:55 +0000
0 - 0 - 15 crissallesterapias.com.br/w-sec01bs/auth.php? (...) 82.180.135.215
2022-09-17 10:20:26 +0000
0 - 0 - 15 crissallesterapias.com.br/w-sec01bs/auth.php? (...) 82.180.135.215


JavaScript

Executed Scripts (56)


Executed Evals (2)

#1 JavaScript::Eval (size: 214460, repeated: 1) - SHA256: 4aa3da196f8485ad547f5bc1b8a5ca1cf7207e0fc361fa345ce7775d98fa5368

                                        ! function(se) {
    "use strict";
    window._layerSliders = {}, se.fn.layerSlider = function(i, a, s, r) {
        i = i || {};
        var t, e = "1.8.0",
            o = se.fn.jquery;
        if (window._layerSlider.checkVersions(e, o, e)) return (typeof i).match("object|undefined") ? this.each(function(e) {
            t = "LS" + Math.random().toString(36).substr(2, 9), se(this).data("lsSliderUID") || (window._layerSliders[t] = new n(this, se(this), i, t))
        }) : "data" === i ? window._layerSliders[this.data("lsSliderUID")] : "eventData" === i ? window._layerSliders[this.data("lsSliderUID")].api.eventData() : "defaultInitOptions" === i ? window._layerSliders[this.data("lsSliderUID")].defaults.init.options || !1 : "userInitOptions" === i ? window._layerSliders[this.data("lsSliderUID")].userInitOptions || !1 : "sliderInitOptions" === i ? window._layerSliders[this.data("lsSliderUID")].o || !1 : "originalMarkup" === i ? window._layerSliders[this.data("lsSliderUID")].originalMarkup || !1 : this.each(function(e) {
            var t = window._layerSliders[se(this).data("lsSliderUID")];
            t && t.api.methods(i, a, s, r), t = null
        });
        window._layerSlider.showNotice(this, "oldjquery", o, e)
    };
    var n = function(W, _, a, z) {
        _.data("lsSliderUID", z).attr("data-layerslider-uid", z);
        var ie = this,
            ae = ie.gsap = window._layerSlider.GSAP ? window._layerSlider.GSAP : window;
        ie.defaults = {
            init: {
                lsDataArraySplitChar: "|",
                dataKey: "_LS",
                controls: ["#playmedia", "#pausemedia", "#unmute", "#unmutemedia", "#start", "#stop", "#prev", "#next", "#replay", "#reverse", "#reverse-replay", "#reversereplay"],
                options: {
                    type: "responsive",
                    fullSizeMode: "normal",
                    fitScreenWidth: !0,
                    preventSliderClip: !0,
                    allowFullscreen: !0,
                    responsiveUnder: -1,
                    layersContainerWidth: -1,
                    layersContainerHeight: -1,
                    maxRatio: -1,
                    insertMethod: "prependTo",
                    insertSelector: null,
                    clipSlideTransition: !1,
                    slideBGSize: "cover",
                    slideBGPosition: "50% 50%",
                    preferBlendMode: !1,
                    autoStart: !0,
                    startInViewport: !0,
                    playByScroll: !1,
                    playByScrollSpeed: 1,
                    playByScrollStart: !1,
                    playByScrollSkipSlideBreaks: !1,
                    pauseOnHover: "slideshowOnly",
                    pauseLayers: !1,
                    firstSlide: 1,
                    sliderFadeInDuration: 350,
                    cycles: -1,
                    forceCycles: !0,
                    twoWaySlideshow: !1,
                    shuffleSlideshow: !1,
                    forceLayersOutDuration: 750,
                    skin: "v6",
                    skinsPath: "/layerslider/skins/",
                    globalBGColor: "transparent",
                    globalBGImage: !1,
                    globalBGRepeat: "no-repeat",
                    globalBGAttachment: "scroll",
                    globalBGSize: "auto",
                    globalBGPosition: "50% 50%",
                    navPrevNext: !0,
                    navStartStop: !0,
                    navButtons: !0,
                    keybNav: !0,
                    touchNav: !0,
                    hoverPrevNext: !0,
                    hoverBottomNav: !1,
                    showBarTimer: !1,
                    showCircleTimer: !0,
                    showSlideBarTimer: !1,
                    thumbnailNavigation: "hover",
                    tnContainerWidth: "60%",
                    tnWidth: 100,
                    tnHeight: 60,
                    tnActiveOpacity: 35,
                    tnInactiveOpacity: 100,
                    scrollModifier: 0,
                    autoPlayVideos: !0,
                    autoPauseSlideshow: "auto",
                    youtubePreview: "maxresdefault.jpg",
                    rememberUnmuteState: !0,
                    parallaxCenterDegree: 40,
                    parallaxSensitivity: 10,
                    parallaxCenterLayers: "center",
                    parallaxScrollReverse: !1,
                    yourLogo: !1,
                    yourLogoStyle: "left: -10px; top: -10px;",
                    yourLogoLink: !1,
                    yourLogoTarget: "_self",
                    optimizeForMobile: !0,
                    hideOnMobile: !1,
                    hideUnder: -1,
                    hideOver: -1,
                    slideOnSwipe: !0,
                    allowRestartOnResize: !1,
                    useSrcset: !0,
                    hashChange: !1,
                    staticImage: ""
                }
            },
            slider: {
                errorText: "LayerSlider (UID: " + z + ") error:"
            },
            slide: {
                keys: {
                    slidedelay: ["data", "duration"],
                    duration: ["data", "duration"],
                    timeshift: ["data", "timeShift"],
                    transition2d: ["data", "transition2d"],
                    transition3d: ["data", "transition3d"],
                    transitionorigami: ["data", "transitionorigami"],
                    customtransition2d: ["data", "customtransition2d"],
                    customtransition3d: ["data", "customtransition3d"],
                    transitionduration: ["data", "transitionDuration"],
                    backgroundsize: ["data", "backgroundSize"],
                    bgsize: ["data", "backgroundSize"],
                    backgroundposition: ["data", "backgroundPosition"],
                    bgposition: ["data", "backgroundPosition"],
                    backgroundcolor: ["data", "backgroundColor"],
                    bgcolor: ["data", "backgroundColor"],
                    thumbnail: ["data", "thumbnail"],
                    deeplink: ["data", "deeplink"],
                    overflow: ["data", "overflow"],
                    kenburnspan: ["kenBurns", "pan"],
                    kenburnszoom: ["kenBurns", "zoom"],
                    kenburnsrotation: ["kenBurns", "rotation"],
                    kenburnsrotate: ["kenBurns", "rotation"],
                    kenburnsscale: ["kenBurns", "scale"],
                    filterfrom: ["filter", "from"],
                    filterto: ["filter", "to"],
                    parallaxtype: ["parallax", "type"],
                    parallaxevent: ["parallax", "event"],
                    parallaxpath: ["parallax", "path"],
                    parallaxdirection: ["parallax", "direction"],
                    parallaxduration: ["parallax", "duration"],
                    parallaxcount: ["parallax", "count"],
                    parallaxdelay: ["parallax", "startAt"],
                    parallaxstartat: ["parallax", "startAt"],
                    parallaxaxis: ["parallax", "axis"],
                    parallaxtransformorigin: ["parallax", "transformOrigin"],
                    parallaxdurationmove: ["parallax", "durationMove"],
                    parallaxdurationleave: ["parallax", "durationLeave"],
                    parallaxrotate: ["parallax", "rotation"],
                    parallaxrotation: ["parallax", "rotation"],
                    parallaxdistance: ["parallax", "distance"],
                    parallaxtransformperspective: ["parallax", "transformPerspective"],
                    globalhover: ["data", "globalhover"]
                },
                options: {
                    $link: !1,
                    index: -1,
                    data: {
                        duration: -1,
                        timeShift: 0,
                        calculatedTimeShift: 0
                    },
                    parallax: {},
                    kenBurns: {
                        scale: 1.2
                    },
                    filter: {}
                },
                registerPluginDefaults: function(e, t, i) {
                    ie.defaults.slide.options.plugins || (ie.defaults.slide.options.plugins = {}), ie.defaults.slide.options.plugins[e] = t
                }
            },
            layer: {
                keys: {
                    keyframe: ["is"],
                    responsive: ["is"],
                    position: ["settings"],
                    static: ["settings"],
                    mirrortransitions: ["settings"],
                    minfontsize: ["styleSettings"],
                    minmobilefontsize: ["styleSettings"],
                    overlay: ["styleSettings"],
                    pointerevents: ["styleSettings"],
                    autoplay: ["mediaSettings"],
                    controls: ["mediaSettings"],
                    showinfo: ["mediaSettings"],
                    fillmode: ["mediaSettings"],
                    thumbnail: ["poster", "mediaSettings"],
                    poster: ["mediaSettings"],
                    volume: ["mediaSettings"],
                    muted: ["mediaSettings"],
                    loopmedia: ["loop", "mediaSettings"],
                    backgroundvideo: ["backgroundVideo", "mediaSettings"],
                    fadein: ["opacity", "inLayerFromCSS"],
                    opacityin: ["opacity", "inLayerFromCSS"],
                    rotatein: ["rotation", "inLayerFromCSS"],
                    rotatexin: ["rotationX", "inLayerFromCSS"],
                    rotateyin: ["rotationY", "inLayerFromCSS"],
                    rotationin: ["rotation", "inLayerFromCSS"],
                    rotationxin: ["rotationX", "inLayerFromCSS"],
                    rotationyin: ["rotationY", "inLayerFromCSS"],
                    scalein: ["scale", "inLayerFromCSS"],
                    scalexin: ["scaleX", "inLayerFromCSS"],
                    scaleyin: ["scaleY", "inLayerFromCSS"],
                    skewxin: ["skewX", "inLayerFromCSS"],
                    skewyin: ["skewY", "inLayerFromCSS"],
                    bgcolorin: ["backgroundColor", "inLayerStyleFromCSS"],
                    colorin: ["color", "inLayerStyleFromCSS"],
                    radiusin: ["borderRadius", "inLayerStyleShouldBeConvertedFrom"],
                    widthin: ["width", "inLayerStyleShouldBeConvertedFrom"],
                    heightin: ["height", "inLayerStyleShouldBeConvertedFrom"],
                    filterin: ["filter", "inLayerStyleShouldBeConvertedFrom"],
                    rotate: ["rotation", "inLayerToCSS"],
                    rotatex: ["rotationX", "inLayerToCSS"],
                    rotatey: ["rotationY", "inLayerToCSS"],
                    rotation: ["rotation", "inLayerToCSS"],
                    rotationx: ["rotationX", "inLayerToCSS"],
                    rotationy: ["rotationY", "inLayerToCSS"],
                    scale: ["scale", "inLayerToCSS"],
                    scalex: ["scaleX", "inLayerToCSS"],
                    scaley: ["scaleY", "inLayerToCSS"],
                    skewx: ["skewX", "inLayerToCSS"],
                    skewy: ["skewY", "inLayerToCSS"],
                    transformoriginin: ["transformOrigin", "inLayerShouldBeConverted"],
                    offsetxin: ["x", "inLayerShouldBeConverted"],
                    offsetyin: ["y", "inLayerShouldBeConverted"],
                    clipin: ["clip", "inClipShouldBeConverted"],
                    delayin: ["startAt", "in"],
                    startatin: ["startAt", "in"],
                    instartat: ["startAt", "in"],
                    durationin: ["duration", "in"],
                    easein: ["ease", "in"],
                    easingin: ["ease", "in"],
                    transitionin: ["enabled", "in"],
                    textfadein: ["opacity", "textInNodesFrom"],
                    textopacityin: ["opacity", "textInNodesFrom"],
                    textrotatein: ["rotation", "textInNodesFrom"],
                    textrotatexin: ["rotationX", "textInNodesFrom"],
                    textrotateyin: ["rotationY", "textInNodesFrom"],
                    textrotationin: ["rotation", "textInNodesFrom"],
                    textrotationxin: ["rotationX", "textInNodesFrom"],
                    textrotationyin: ["rotationY", "textInNodesFrom"],
                    textscalein: ["scale", "textInNodesFrom"],
                    textscalexin: ["scaleX", "textInNodesFrom"],
                    textscaleyin: ["scaleY", "textInNodesFrom"],
                    textskewxin: ["skewX", "textInNodesFrom"],
                    textskewyin: ["skewY", "textInNodesFrom"],
                    texteasein: ["ease", "textInNodesTo"],
                    texteasingin: ["ease", "textInNodesTo"],
                    texttransformoriginin: ["transformOrigin", "textInShouldBeConverted"],
                    textoffsetxin: ["x", "textInShouldBeConverted"],
                    textoffsetyin: ["y", "textInShouldBeConverted"],
                    texttypein: ["type", "textIn"],
                    textshiftin: ["shiftNodes", "textIn"],
                    textdelayin: ["startAt", "textIn"],
                    textstartatin: ["startAt", "textIn"],
                    textinstartat: ["startAt", "textIn"],
                    textdurationin: ["duration", "textIn"],
                    texttransitionin: ["enabled", "textIn"],
                    fadeout: ["opacity", "outLayerToCSS"],
                    opacityout: ["opacity", "outLayerToCSS"],
                    rotateout: ["rotation", "outLayerToCSS"],
                    rotatexout: ["rotationX", "outLayerToCSS"],
                    rotateyout: ["rotationY", "outLayerToCSS"],
                    rotationout: ["rotation", "outLayerToCSS"],
                    rotationxout: ["rotationX", "outLayerToCSS"],
                    rotationyout: ["rotationY", "outLayerToCSS"],
                    scaleout: ["scale", "outLayerToCSS"],
                    scalexout: ["scaleX", "outLayerToCSS"],
                    scaleyout: ["scaleY", "outLayerToCSS"],
                    skewxout: ["skewX", "outLayerToCSS"],
                    skewyout: ["skewY", "outLayerToCSS"],
                    bgcolorout: ["backgroundColor", "outLayerStyleToCSS"],
                    colorout: ["color", "outLayerStyleToCSS"],
                    radiusout: ["borderRadius", "outLayerStyleShouldBeConvertedTo"],
                    widthout: ["width", "outLayerStyleShouldBeConvertedTo"],
                    heightout: ["height", "outLayerStyleShouldBeConvertedTo"],
                    filterout: ["filter", "outLayerStyleShouldBeConvertedTo"],
                    transformoriginout: ["transformOrigin", "outLayerShouldBeConverted"],
                    offsetxout: ["x", "outLayerShouldBeConverted"],
                    offsetyout: ["y", "outLayerShouldBeConverted"],
                    clipout: ["clip", "outClipShouldBeConverted"],
                    showuntil: ["showUntil", "out"],
                    startatout: ["startAt", "out"],
                    outstartat: ["startAt", "out"],
                    durationout: ["duration", "out"],
                    easeout: ["ease", "out"],
                    easingout: ["ease", "out"],
                    transitionout: ["enabled", "out"],
                    textfadeout: ["opacity", "textOutNodesTo"],
                    textopacityout: ["opacity", "textOutNodesTo"],
                    textrotateout: ["rotation", "textOutNodesTo"],
                    textrotatexout: ["rotationX", "textOutNodesTo"],
                    textrotateyout: ["rotationY", "textOutNodesTo"],
                    textrotationout: ["rotation", "textOutNodesTo"],
                    textrotationxout: ["rotationX", "textOutNodesTo"],
                    textrotationyout: ["rotationY", "textOutNodesTo"],
                    textscaleout: ["scale", "textOutNodesTo"],
                    textscalexout: ["scaleX", "textOutNodesTo"],
                    textscaleyout: ["scaleY", "textOutNodesTo"],
                    textskewxout: ["skewX", "textOutNodesTo"],
                    textskewyout: ["skewY", "textOutNodesTo"],
                    texteaseout: ["ease", "textOutNodesTo"],
                    texteasingout: ["ease", "textOutNodesTo"],
                    texttransformoriginout: ["transformOrigin", "textOutShouldBeConverted"],
                    textoffsetxout: ["x", "textOutShouldBeConverted"],
                    textoffsetyout: ["y", "textOutShouldBeConverted"],
                    texttypeout: ["type", "textOut"],
                    textshiftout: ["shiftNodes", "textOut"],
                    textdelayout: ["startAt", "textOut"],
                    textstartatout: ["startAt", "textOut"],
                    textoutstartat: ["startAt", "textOut"],
                    textdurationout: ["duration", "textOut"],
                    texttransitionout: ["enabled", "textOut"],
                    loopopacity: ["opacity", "loopToCSS"],
                    looprotate: ["rotation", "loopToCSS"],
                    looprotatex: ["rotationX", "loopToCSS"],
                    looprotatey: ["rotationY", "loopToCSS"],
                    looprotation: ["rotation", "loopToCSS"],
                    looprotationx: ["rotationX", "loopToCSS"],
                    looprotationy: ["rotationY", "loopToCSS"],
                    loopscale: ["scale", "loopToCSS"],
                    loopscalex: ["scaleX", "loopToCSS"],
                    loopscaley: ["scaleY", "loopToCSS"],
                    loopskewx: ["skewX", "loopToCSS"],
                    loopskewy: ["skewY", "loopToCSS"],
                    looptransformorigin: ["transformOrigin", "loopLayerShouldBeConverted"],
                    loopoffsetx: ["x", "loopLayerShouldBeConverted"],
                    loopoffsety: ["y", "loopLayerShouldBeConverted"],
                    loopfilter: ["filter", "loopLayerShouldBeConverted"],
                    loopclip: ["clip", "loopClipShouldBeConverted"],
                    loopdelay: ["startAt", "loop"],
                    loopstartat: ["startAt", "loop"],
                    loopduration: ["duration", "loop"],
                    loopcount: ["count", "loop"],
                    looprepeatdelay: ["repeatDelay", "loop"],
                    loopyoyo: ["yoyo", "loop"],
                    loopease: ["ease", "loop"],
                    loopeasing: ["ease", "loop"],
                    loop: ["enabled", "loop"],
                    hoveropacity: ["opacity", "hoverToCSS"],
                    hoverrotate: ["rotation", "hoverToCSS"],
                    hoverrotatex: ["rotationX", "hoverToCSS"],
                    hoverrotatey: ["rotationY", "hoverToCSS"],
                    hoverrotation: ["rotation", "hoverToCSS"],
                    hoverrotationx: ["rotationX", "hoverToCSS"],
                    hoverrotationy: ["rotationY", "hoverToCSS"],
                    hoverscale: ["scale", "hoverToCSS"],
                    hoverscalex: ["scaleX", "hoverToCSS"],
                    hoverscaley: ["scaleY", "hoverToCSS"],
                    hoverskewx: ["skewX", "hoverToCSS"],
                    hoverskewy: ["skewY", "hoverToCSS"],
                    hoverbgcolor: ["backgroundColor", "hoverToCSS"],
                    hovercolor: ["color", "hoverToCSS"],
                    hoverease: ["easeIn", "hover"],
                    hovereasing: ["easeIn", "hover"],
                    hovereasein: ["easeIn", "hover"],
                    hovereasingin: ["easeIn", "hover"],
                    hovereaseout: ["easeOut", "hover"],
                    hovereasingout: ["easeOut", "hover"],
                    hoverduration: ["durationIn", "hover"],
                    hoverdurationin: ["durationIn", "hover"],
                    hoverdurationout: ["durationOut", "hover"],
                    hoveralwaysontop: ["alwaysOnTop", "hover"],
                    hoveroffsetx: ["x", "hoverShouldBeConverted"],
                    hoveroffsety: ["y", "hoverShouldBeConverted"],
                    hoverfilter: ["filter", "hoverShouldBeConverted"],
                    hoverborderradius: ["borderRadius", "hoverShouldBeConverted"],
                    hoverradius: ["borderRadius", "hoverShouldBeConverted"],
                    hovertransformorigin: ["transformOrigin", "hoverShouldBeConverted"],
                    hover: ["enabled", "hover"],
                    kenburnspan: ["pan", "kenBurns"],
                    kenburnszoom: ["zoom", "kenBurns"],
                    kenburnsrotation: ["rotation", "kenBurns"],
                    kenburnsrotate: ["rotation", "kenBurns"],
                    kenburnsscale: ["scale", "kenBurns"],
                    parallaxlevel: ["level", "parallax"],
                    parallaxtype: ["type", "parallax"],
                    parallaxevent: ["event", "parallax"],
                    parallaxpath: ["path", "parallax"],
                    parallaxdirection: ["direction", "parallax"],
                    parallaxduration: ["duration", "parallax"],
                    parallaxcount: ["count", "parallax"],
                    parallaxdelay: ["startAt", "parallax"],
                    parallaxstartat: ["startAt", "parallax"],
                    parallaxaxis: ["axis", "parallax"],
                    parallaxtransformorigin: ["transformOrigin", "parallax"],
                    parallaxdurationmove: ["durationMove", "parallax"],
                    parallaxdurationleave: ["durationLeave", "parallax"],
                    parallaxrotate: ["rotation", "parallax"],
                    parallaxrotation: ["rotation", "parallax"],
                    parallaxdistance: ["distance", "parallax"],
                    parallax: ["enabled", "parallax"],
                    transformperspective: ["layer", "transformPerspective"],
                    transformperspectivein: ["layer", "transformPerspective"],
                    transformperspectiveout: ["layer", "transformPerspective"],
                    texttransformperspective: ["text", "transformPerspective"],
                    texttransformperspectivein: ["text", "transformPerspective"],
                    texttransformperspectiveout: ["text", "transformPerspective"],
                    looptransformperspective: ["loop", "transformPerspective"],
                    hovertransformperspective: ["hover", "transformPerspective"],
                    parallaxtransformperspective: ["parallax", "transformPerspective"]
                },
                splitTypeKeys: ["chars_asc", "chars_desc", "chars_rand", "chars_center", "chars_edge", "words_asc", "words_desc", "words_rand", "words_center", "words_edge", "lines_asc", "lines_desc", "lines_rand", "lines_center", "lines_edge"],
                timelineHierarchy: {
                    slidestart: [0],
                    transitioninstart: [1],
                    transitioninend: [2],
                    textinstart: [3, [1, 2, 6, 7, 8]],
                    textinend: [4],
                    allinend: [5],
                    loopstart: [6, [1, 2, 3, 4, 5]],
                    loopend: [7],
                    autoparallaxstart: [6.5, [0, 1, 2, 3, 4, 5, 6, 7]],
                    autoparallaxend: [7.5],
                    transitioninandloopend: [8],
                    textinandloopend: [9],
                    allinandloopend: [10],
                    textoutstart: [11, [2, 3, 4, 5, 6, 7, 8, 9, 10]],
                    textoutend: [12],
                    textoutandloopend: [13],
                    transitionoutstart: [14, [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]],
                    transitionoutend: [15],
                    alloutend: [16],
                    alloutandloopend: [17]
                },
                properties: {
                    filter: function() {
                        return {
                            blur: 0,
                            brightness: 100,
                            contrast: 100,
                            grayscale: 0,
                            "hue-rotate": 0,
                            invert: 0,
                            saturate: 100,
                            sepia: 0
                        }
                    }
                },
                options: function(e, t) {
                    var i = {
                        is: {
                            slideBackground: !!e.is("img.ls-bg"),
                            backgroundVideo: !!e.is(".ls-bg-video"),
                            imageLayer: !!e.is("img.ls-layer"),
                            mediaLayer: !1,
                            textLayer: !1,
                            responsive: !0,
                            onSlide: t
                        },
                        should: {},
                        elements: {},
                        settings: {
                            position: "relative",
                            slideIn: t,
                            slideOut: t
                        },
                        styleSettings: {
                            minfontsize: 0,
                            minmobilefontsize: 0
                        },
                        mediaSettings: {
                            fillmode: "cover",
                            backgroundVideo: !1
                        },
                        timeline: {
                            slidestart: 0,
                            transitioninstart: 0,
                            transitioninend: 0,
                            textinstart: 0,
                            textinend: 0,
                            allinend: function(e) {
                                return Math.max(this.transitioninend, this.textinend)
                            },
                            loopstart: 0,
                            loopend: 0,
                            transitioninandloopend: function(e) {
                                return 0 === this.loopend && e.loop.enabled && ("number" == typeof e.loop.startAt || -1 !== e.loop.startAt.indexOf("textinstart") && -1 !== e.loop.startAt.indexOf("textinend") && -1 !== e.loop.startAt.indexOf("allinend")) ? (this.loopstart = ie.transitions.layers.timeline.getTiming(e, e.loop.startAt, "loopstart"), this.loopend = -1 !== e.loop.count && e.timeline.loopstart + (e.loop.repeat + 1) * e.loop.duration + e.loop.repeat * e.loop.repeatDelay) : ie.debugMode && ie.debug.add("warn", "layerTransition.infinite", e.self[0].tagName + "." + e.self.attr("class") + " [ " + e.self.html().substr(0, 30) + "... ]"), Math.max(this.transitioninend, this.loopend)
                            },
                            textinandloopend: function(e) {
                                return Math.max(this.textinend, this.loopend)
                            },
                            allinandloopend: function(e) {
                                return Math.max(this.allinend(), this.loopend)
                            },
                            textoutstart: 0,
                            textoutend: 0,
                            textoutandloopend: function(e) {
                                return Math.max(this.textoutend, this.loopend)
                            },
                            transitionoutstart: function(e) {
                                return Math.max(this.allinandloopend(), this.textoutend)
                            },
                            transitionoutend: 0,
                            alloutend: function(e) {
                                return Math.max(this.transitionoutend, this.textoutend, this.allinend())
                            },
                            alloutandloopend: function(e) {
                                return Math.max(this.transitionoutend, this.textoutandloopend(), this.allinend())
                            },
                            staticfrom: !1,
                            staticto: !1
                        },
                        transitionProperties: { in : {
                                enabled: !0,
                                layerFrom: {
                                    autoCSS: !1,
                                    immediateRender: !1,
                                    css: {
                                        opacity: 0
                                    }
                                },
                                layerTo: {
                                    autoCSS: !1,
                                    onStart: function() {
                                        ie.transitions.layers.in.onStart(e)
                                    },
                                    onComplete: function() {
                                        ie.transitions.layers.in.onComplete(e)
                                    },
                                    css: {
                                        display: "block",
                                        opacity: 1,
                                        rotation: 0,
                                        rotationX: 0,
                                        rotationY: 0,
                                        scaleX: 1,
                                        scaleY: 1,
                                        skewX: 0,
                                        skewY: 0,
                                        x: 0,
                                        y: 0
                                    }
                                },
                                layerStyleFrom: {
                                    autoCSS: !1,
                                    immediateRender: !1,
                                    css: {}
                                },
                                layerStyleTo: {
                                    autoCSS: !1,
                                    css: {}
                                },
                                clipFrom: {
                                    autoCSS: !1,
                                    immediateRender: !1,
                                    css: {}
                                },
                                clipTo: {
                                    autoCSS: !1,
                                    css: {}
                                },
                                layerShouldBeConverted: {
                                    transformOrigin: "50% 50% 0",
                                    x: 0,
                                    y: 0
                                },
                                layerStyleShouldBeConvertedFrom: {},
                                layerStyleShouldBeConvertedTo: {},
                                clipShouldBeConverted: {},
                                startAt: 0,
                                duration: 1,
                                ease: "easeInOutQuint"
                            }, textIn: {
                                enabled: null,
                                nodesFrom: {
                                    cycle: {},
                                    random: {},
                                    opacity: 0
                                },
                                nodesTo: {
                                    ease: "easeInOutQuint",
                                    css: {
                                        opacity: 1,
                                        rotation: 0,
                                        rotationX: 0,
                                        rotationY: 0,
                                        scaleX: 1,
                                        scaleY: 1,
                                        skewX: 0,
                                        skewY: 0,
                                        x: 0,
                                        y: 0
                                    }
                                },
                                shouldBeConverted: {
                                    cycle: {},
                                    random: {},
                                    transformOrigin: "50% 50% 0",
                                    x: 0,
                                    y: 0
                                },
                                split: "",
                                shiftNodes: .05,
                                startAt: "transitioninend",
                                duration: 1
                            }, out: {
                                enabled: !0,
                                layerFrom: {
                                    autoCSS: !1,
                                    immediateRender: !1,
                                    css: {}
                                },
                                layerTo: {
                                    autoCSS: !1,
                                    onStart: function() {
                                        ie.transitions.layers.out.onStart(e)
                                    },
                                    onComplete: function() {
                                        ie.transitions.layers.out.onComplete(e)
                                    },
                                    css: {
                                        opacity: 0,
                                        rotation: 0,
                                        rotationX: 0,
                                        rotationY: 0,
                                        scaleX: 1,
                                        scaleY: 1,
                                        skewX: 0,
                                        skewY: 0
                                    }
                                },
                                layerStyleFrom: {
                                    autoCSS: !1,
                                    immediateRender: !1,
                                    css: {}
                                },
                                layerStyleTo: {
                                    autoCSS: !1,
                                    css: {}
                                },
                                clipFrom: {
                                    autoCSS: !1,
                                    immediateRender: !1,
                                    css: {}
                                },
                                clipTo: {
                                    autoCSS: !1,
                                    css: {}
                                },
                                layerShouldBeConverted: {
                                    x: 0,
                                    y: 0
                                },
                                layerStyleShouldBeConvertedFrom: {},
                                layerStyleShouldBeConvertedTo: {},
                                clipShouldBeConverted: {},
                                startAt: "slidechangeonly",
                                duration: 1,
                                ease: "easeInOutQuint"
                            }, textOut: {
                                enabled: null,
                                nodesFrom: {
                                    immediateRender: !1,
                                    cycle: {},
                                    opacity: 1
                                },
                                nodesTo: {
                                    ease: "easeInOutQuint",
                                    immediateRender: !1,
                                    cycle: {},
                                    random: {},
                                    opacity: 0
                                },
                                shouldBeConverted: {
                                    cycle: {},
                                    random: {},
                                    x: 0,
                                    y: 0
                                },
                                split: "",
                                startAt: "allinandloopend",
                                shiftNodes: .05,
                                duration: 1
                            }, loop: {
                                enabled: null,
                                from: {
                                    autoCSS: !1,
                                    immediateRender: !1,
                                    css: {}
                                },
                                to: {
                                    autoCSS: !1,
                                    css: {}
                                },
                                clipTo: {
                                    autoCSS: !1,
                                    immediateRender: !1,
                                    css: {}
                                },
                                layerShouldBeConverted: {
                                    transformOrigin: "50% 50% 0",
                                    x: 0,
                                    y: 0
                                },
                                clipShouldBeConverted: {},
                                ease: "linear",
                                startAt: "allinend",
                                repeatDelay: 0,
                                duration: 1,
                                count: 0,
                                yoyo: !1
                            }, hover: {
                                enabled: null,
                                from: {
                                    autoCSS: !1,
                                    immediateRender: !1,
                                    css: {}
                                },
                                to: {
                                    autoCSS: !1,
                                    css: {}
                                },
                                shouldBeConverted: {
                                    transformOrigin: "50% 50% 0"
                                },
                                alwaysOnTop: !0,
                                easeIn: "easeInOutQuint",
                                durationIn: .5
                            }, parallax: {
                                enabled: null
                            }, kenBurns: {
                                scale: 1.2
                            }, clip: {
                                enabled: !1,
                                min: "0 0 0 0",
                                max: "-9999 9999 9999 -9999"
                            }, filter: {
                                values: {
                                    style: {},
                                    in : {},
                                    out: {},
                                    loop: {},
                                    hover: {},
                                    afterIn: {},
                                    afterLoop: {},
                                    bgFrom: {},
                                    bgTo: {}
                                },
                                transitions: {
                                    bg: null,
                                    in : null,
                                    out: null,
                                    loop: null,
                                    hover: null
                                }
                            }, init: {
                                wrapper: {
                                    autoCSS: !1,
                                    immediateRender: !1,
                                    css: {
                                        display: "block"
                                    }
                                }
                            }, transformPerspective: {
                                layer: 500,
                                text: 500,
                                loop: 500,
                                hover: 500
                            }, reset: {
                                wrapperOnTimelineEnd: {
                                    autoCSS: !1,
                                    css: {
                                        opacity: 1,
                                        display: "none"
                                    }
                                },
                                wrapperOnSlideChange: {
                                    autoCSS: !1,
                                    css: {
                                        x: 0,
                                        y: 0,
                                        rotation: 0,
                                        rotationX: 0,
                                        rotationY: 0,
                                        scaleX: 1,
                                        scaleY: 1,
                                        skewX: 0,
                                        skewY: 0,
                                        opacity: 1,
                                        display: "none"
                                    }
                                },
                                loopWrapperOnSlideChange: {
                                    autoCSS: !1,
                                    css: {
                                        x: 0,
                                        y: 0,
                                        rotation: 0,
                                        rotationX: 0,
                                        rotationY: 0,
                                        scaleX: 1,
                                        scaleY: 1,
                                        skewX: 0,
                                        skewY: 0,
                                        opacity: 1
                                    }
                                }
                            }
                        }
                    };
                    return {
                        is: i.is,
                        should: i.should,
                        elements: i.elements,
                        settings: i.settings,
                        styleSettings: i.styleSettings,
                        mediaSettings: i.mediaSettings,
                        mediaProperties: i.mediaProperties,
                        timeline: i.timeline,
                        in : i.transitionProperties.in,
                        inLayerFrom: i.transitionProperties.in.layerFrom,
                        inLayerFromCSS: i.transitionProperties.in.layerFrom.css,
                        inLayerStyleFrom: i.transitionProperties.in.layerStyleFrom,
                        inLayerStyleFromCSS: i.transitionProperties.in.layerStyleFrom.css,
                        inClipFrom: i.transitionProperties.in.clipFrom,
                        inClipFromCSS: i.transitionProperties.in.clipFrom.css,
                        inLayerTo: i.transitionProperties.in.layerTo,
                        inLayerToCSS: i.transitionProperties.in.layerTo.css,
                        inLayerStyleTo: i.transitionProperties.in.layerStyleTo,
                        inLayerStyleToCSS: i.transitionProperties.in.layerStyleTo.css,
                        inClipTo: i.transitionProperties.in.clipTo,
                        inClipToCSS: i.transitionProperties.in.clipTo.css,
                        inClipShouldBeConverted: i.transitionProperties.in.clipShouldBeConverted,
                        inLayerShouldBeConverted: i.transitionProperties.in.layerShouldBeConverted,
                        inLayerStyleShouldBeConvertedFrom: i.transitionProperties.in.layerStyleShouldBeConvertedFrom,
                        inLayerStyleShouldBeConvertedTo: i.transitionProperties.in.layerStyleShouldBeConvertedTo,
                        textIn: i.transitionProperties.textIn,
                        textInNodesFrom: i.transitionProperties.textIn.nodesFrom,
                        textInNodesTo: i.transitionProperties.textIn.nodesTo,
                        textInNodesToCSS: i.transitionProperties.textIn.nodesTo.css,
                        textInShouldBeConverted: i.transitionProperties.textIn.shouldBeConverted,
                        out: i.transitionProperties.out,
                        outLayerFrom: i.transitionProperties.out.layerFrom,
                        outLayerFromCSS: i.transitionProperties.out.layerFrom.css,
                        outLayerStyleFrom: i.transitionProperties.out.layerStyleFrom,
                        outLayerStyleFromCSS: i.transitionProperties.out.layerStyleFrom.css,
                        outLayerTo: i.transitionProperties.out.layerTo,
                        outLayerToCSS: i.transitionProperties.out.layerTo.css,
                        outLayerStyleTo: i.transitionProperties.out.layerStyleTo,
                        outLayerStyleToCSS: i.transitionProperties.out.layerStyleTo.css,
                        outClipTo: i.transitionProperties.out.clipTo,
                        outClipToCSS: i.transitionProperties.out.clipTo.css,
                        outClipShouldBeConverted: i.transitionProperties.out.clipShouldBeConverted,
                        outLayerShouldBeConverted: i.transitionProperties.out.layerShouldBeConverted,
                        outLayerStyleShouldBeConvertedFrom: i.transitionProperties.out.layerStyleShouldBeConvertedFrom,
                        outLayerStyleShouldBeConvertedTo: i.transitionProperties.out.layerStyleShouldBeConvertedTo,
                        textOut: i.transitionProperties.textOut,
                        textOutNodesFrom: i.transitionProperties.textOut.nodesFrom,
                        textOutNodesTo: i.transitionProperties.textOut.nodesTo,
                        textOutShouldBeConverted: i.transitionProperties.textOut.shouldBeConverted,
                        loop: i.transitionProperties.loop,
                        loopFrom: i.transitionProperties.loop.from,
                        loopFromCSS: i.transitionProperties.loop.from.css,
                        loopTo: i.transitionProperties.loop.to,
                        loopToCSS: i.transitionProperties.loop.to.css,
                        loopClipTo: i.transitionProperties.loop.clipTo,
                        loopClipToCSS: i.transitionProperties.loop.clipTo.css,
                        loopClipShouldBeConverted: i.transitionProperties.loop.clipShouldBeConverted,
                        loopLayerShouldBeConverted: i.transitionProperties.loop.layerShouldBeConverted,
                        hover: i.transitionProperties.hover,
                        hoverFrom: i.transitionProperties.hover.from,
                        hoverFromCSS: i.transitionProperties.hover.from.css,
                        hoverTo: i.transitionProperties.hover.to,
                        hoverToCSS: i.transitionProperties.hover.to.css,
                        hoverShouldBeConverted: i.transitionProperties.hover.shouldBeConverted,
                        parallax: i.transitionProperties.parallax,
                        kenBurns: i.transitionProperties.kenBurns,
                        clip: i.transitionProperties.clip,
                        filter: i.transitionProperties.filter,
                        transformPerspective: i.transitionProperties.transformPerspective,
                        init: i.transitionProperties.init,
                        reset: i.transitionProperties.reset
                    }
                }
            }
        }, ie.slides = {
            count: 0,
            first: {},
            prev: {},
            current: {},
            next: {},
            init: function() {
                if (!document.body.contains(W)) return !1;
                for (var e = _.find("> .ls-layer, > .ls-slide"), t = 0, i = ie.defaults.slide.keys, a = 0, s = e.length; a < s; a++) {
                    var r = se(e[a]),
                        o = r[0].style,
                        n = se.extend(!0, {}, ie.defaults.slide.options);
                    if (ie.slides.count++, r.removeClass("ls-layer").addClass("ls-slide").css({
                            width: ie.slider.initial.originalWidth,
                            height: ie.slider.initial.originalHeight
                        }).appendTo(ie.slider.$hiddenWrapper), r.data("ls"))
                        for (var l = r.data("ls").toLowerCase().split(";"), d = 0; d < l.length; d++) {
                            var u, p, c = l[d].split(":");
                            c[0] = se.trim(c[0]), c[1] = se.trim(c[1]), "" !== c[0] && (void 0 !== i[c[0]] ? (u = void 0 === i[c[0]][1] ? c[0] : i[c[0]][1], p = ie.functions.convert.properties(c[1]), -1 === u.toLowerCase().indexOf("duration") && -1 === u.toLowerCase().indexOf("delay") && "timeShift" != u || (p /= 1e3), n[i[c[0]][0]] || (n[i[c[0]][0]] = {}), n[i[c[0]][0]][u] = p) : n.data[c[0]] = c[1])
                        }
                    if (n.plugins && !se.isEmptyObject(n.plugins))
                        for (var h in n.plugins)
                            if (r.data("ls-plugin-" + h)) {
                                var m = r.data("ls-plugin-" + h).toLowerCase().split(";"),
                                    f = {};
                                for (var g in n.plugins[h]) f[g.toLowerCase()] = g;
                                for (var v = 0; v < m.length; v++) {
                                    var y, b = m[v].split(":");
                                    b[0] = se.trim(b[0]), "" !== b[0] && (y = ie.functions.convert.properties(se.trim(b[1])), -1 === b[0].indexOf("duration") && -1 === b[0].indexOf("delay") || (y /= 1e3), f[b[0]] ? n.plugins[h][f[b[0]]] = y : n.plugins[h][b[0]] = y)
                                }
                            } else delete n.plugins[h];
                    r.children("a.ls-link").length && (n.data.$link = r.children("a.ls-link").first().css({
                        zIndex: 5
                    }).attr("data-ls-slide-link", t + 1).appendTo(ie.slider.$layersWrapper), ie.layers.set.smartLinks(n.data.$link)), n.data.$backgroundVideo = r.children('[data-ls*="backgroundvideo"]').first(), n.data.$backgroundVideo.length && (null !== n.data.$backgroundVideo.attr("data-ls").split("backgroundvideo")[1].split(";")[0].match(/(true|enabled|on|1)/i) ? (n.data.$backgroundVideo.addClass("ls-bg-video").css({
                        width: "auto",
                        height: "auto"
                    }).children("video, audio, iframe").css({
                        width: "100%",
                        height: "100%"
                    }), n.data.$backgroundVideo.append(se('<div class="ls-bg-video-overlay"></div>'))) : n.data.$backgroundVideo = !1);
                    for (var S, w = r.find("picture"), v = 0, x = w.length; v < x; v++) ie.layers.set.pictureElement(se(w[v]));
                    r.find("> .ls-bg").length && (n.data.$background = r.find("> .ls-bg").first()), n.data.thumbnail || (r.find("> .ls-tn").length ? S = r.find("> .ls-tn").first() : r.find("> .ls-bg").length && (S = r.find("> .ls-bg").first()), S ? (n.data.thumbnail = ie.functions.getURL(S), n.data.tnAlt = ie.functions.getALT(S)) : n.data.thumbnail = ie.o.skinsPath + ie.o.skin + "/nothumb.png"), (n.data.customtransition2d || n.data.customtransition3d) && "undefined" == typeof layerSliderCustomTransitions && (delete n.data.customtransition2d, delete n.data.customtransition3d, ie.debugMode && ie.debug.add("warn", "sliderInit.customTransitions", t + 1)), "visible" === o.overflow && (n.data.overflow = "visible"), n.data.backgroundColor || (n.data.backgroundColor = "" === r[0].style.backgroundColor ? "transparent" : r[0].style.backgroundColor), ie.slides[++t] = {}, ie.slides[t].data = se.extend(!0, {}, ie.defaults.slide.options.data, n.data), ie.slides[t].parallax = n.parallax, ie.slides[t].kenBurns = n.kenBurns, ie.slides[t].filter = n.filter, ie.slides[t].index = t, ie.slides[t].$layers = se(), ie.slides[t].plugins = n.plugins, ie.slider.thumbnails.push(n.data.thumbnail), ie.layers.init(r, t)
                }
                ie.debugMode && ie.debug.groupEnd("sliderInit.style")
            },
            set: {
                slideIndexes: function() {
                    var e = ie.slides;
                    e.prev.index = e.current.index, e.current.index = e.next.index, e.next.index = ie.slideshow.get.slideInSequence(ie.slideshow.direction), e.set.slidesData(), ie.slider.set.attributes()
                },
                nextSlideIndex: function(e) {
                    var t = ie.slides;
                    t.next.index = e, t.set.slidesData()
                },
                slidesData: function() {
                    var e = ie.slides;
                    e.prev = -1 !== e.prev.index ? se.extend(!0, {}, e[e.prev.index]) : {}, e.current = -1 !== e.current.index ? se.extend(!0, {}, e[e.current.index]) : {}, e.next = -1 !== e.next.index ? se.extend(!0, {}, e[e.next.index]) : {}
                },
                firstSlide: function() {
                    var e, t = ie.slides;
                    t.first.index = "random" === ie.o.firstSlide ? ie.o.firstSlide : Math.max(ie.functions.convert.properties(ie.o.firstSlide, !0), 1), ie.o.shuffleSlideshow && 2 < ie.slides.count ? ie.o.twoWaySlideshow = !1 : ie.o.shuffleSlideshow = !1, t.first.index = "random" == t.first.index ? Math.floor(Math.random() * ie.slides.count + 1) : t.first.index, !document.location.hash || (e = ie.slides.deeplink(document.location.hash, !0)) && (ie.slides.first.index = e), t.first.index = t.first.index < 1 || t.first.index > ie.slides.count ? 1 : t.first.index, ie.o.shuffleSlideshow && "random" != ie.o.firstSlide && (t.first.index = ie.o.firstSlide), t[t.first.index] && t[t.first.index].data && (t.first.data = se.extend(!0, {}, t[t.first.index].data)), ie.o.playByScroll && ie.slideshow.set.normalizedSequence(), ie.debugMode && ie.debug.options.firstSlide && (t.first.index = ie.debug.options.firstSlide)
                }
            },
            get: {
                deeplink: function(e) {
                    return e && ie.slides[e] && ie.slides[e].data && ie.slides[e].data.deeplink ? ie.slides[e].data.deeplink : null
                }
            },
            deeplink: function(e, t) {
                for (var i = !1, a = 1; a < ie.slides.count + 1; a++)
                    if (ie.slides[a].data.deeplink == e.substring(1)) {
                        if (i = a, t) return i;
                        ie.slideshow.changeTo(i, !0, !0)
                    }
                if (!i && t) return !1
            },
            slide: []
        }, ie.layers = {
            $all: se(),
            getStyle: function(e, t) {
                return -1 != e.indexOf("%") ? parseFloat(e) * t : parseFloat(e)
            },
            init: function(e, t) {
                if (!document.body.contains(W)) return !1;
                for (var i, a = e.find('.ls-bg, .ls-l, .ls-layer, *[class^="ls-s"]'), s = 0, r = a.length; s < r; s++) {
                    var o = se(a[s]),
                        n = o[0],
                        l = o.children();
                    if (o.data("slideIndex", t), -1 != o.attr("class").indexOf("ls-s")) {
                        var d = o.attr("class").split("ls-s")[1].split(" ")[0];
                        o.removeClass("ls-s" + d).addClass("ls-layer")
                    } else if (o.hasClass("ls-l")) o.removeClass("ls-l").addClass("ls-layer");
                    else if (!o.is(".ls-bg, .ls-layer")) {
                        o.remove();
                        continue
                    }
                    o.is("a") && 1 === l.length && ((n = (o = o.children().first())[0]).setAttribute("data-ls", n.parentNode.getAttribute("data-ls")), n.parentNode.removeAttribute("data-ls"), o.parent().removeClass("ls-layer"), o.addClass("ls-layer")), o.data(ie.defaults.init.dataKey, new ie.defaults.layer.options(o, t)), -1 !== o.attr("class").indexOf("ls-linkto-") && this.set.linkTo(o), o.parent().is("a") ? (i = o.parent(), this.set.smartLinks(i)) : i = o, ie.slides[t].$layers = ie.slides[t].$layers.add(i)
                }
            },
            set: {
                pictureElement: function(e) {
                    for (var t, i, a, s, r = e.find("source").last().attr("srcset").split(" ")[0] || "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg==", o = e.find("img"), n = o.length ? o : se("<img>").attr("src", r).appendTo(e), l = n[0], d = (e.attr("ls-data") || n.attr("ls-data"), l.currentSrc || l.src), u = d.split(".").pop(), p = (d.indexOf("webp"), n.attr("data-src") ? "data-" : ""), c = e.hasClass("ls-bg") ? "ls-bg" : e.hasClass("ls-tn") ? "ls-tn" : "ls-layer", h = e.find("source"), m = 0; m < h.length && (i = h[m], a = (t = se(i)).attr("srcset"), s = t.attr("sizes"), a.split(" ")[0].split(".").pop() != u); m++);
                    n.removeAttr("width height sizes src srcset data-src data-srcset"), n.addClass(c).attr(p + "src", d).attr(p + "srcset", a).attr("sizes", s), n.appendTo(n.closest(".ls-slide")), e.remove()
                },
                smartLinks: function(e) {
                    var a = e.attr("href"),
                        t = e.attr("target"),
                        i = "";
                    if (t && -1 !== t.indexOf("ls-scroll")) {
                        switch (a) {
                            case "pagetop":
                                i = "Scroll to page top";
                                break;
                            case "pagebottom":
                                i = "Scroll to page bottom";
                                break;
                            case "slidertop":
                                i = "Scroll to the top of the slider";
                                break;
                            case "":
                            case "sliderbottom":
                                i = "Scroll to the bottom of the slider";
                                break;
                            default:
                                i = "Scroll to a specified location on the page"
                        }
                        ie.layers.set.ariaLabel(e, i), e.on("click." + z, function(e) {
                            e.preventDefault();
                            var t, i = document.body.scrollHeight - ie.device.viewportHeight;
                            if (a) switch (a) {
                                case "pagetop":
                                    t = 0;
                                    break;
                                case "pagebottom":
                                    t = ie.device.docHeight - ie.device.viewportHeight;
                                    break;
                                case "slidertop":
                                    t = ie.slider.offsetTop;
                                    break;
                                case "":
                                case "sliderbottom":
                                    t = ie.slider.offsetTop + ie.slider.height;
                                    break;
                                default:
                                    t = se(a).filter(":visible").last().length ? se(a).filter(":visible").last().offset().top : ie.slider.offsetTop + ie.slider.height
                            }
                            t += ie.o.scrollModifier, t = Math.min(t, i), t = Math.max(0, t), ae.TweenMax.to("html, body", 1, {
                                scrollTop: t,
                                ease: ae.Quint.easeInOut
                            })
                        })
                    }
                    if (-1 !== ie.defaults.init.controls.indexOf(a.toLowerCase()) || a.match(/^\#[0-9]/)) {
                        var s = se.trim(a.toLowerCase().split("#")[1]),
                            r = parseInt(s);
                        switch (s) {
                            case "playmedia":
                                i = "play active media elements on current slide";
                                break;
                            case "pausemedia":
                                i = "pause active media elements on current slide";
                                break;
                            case "prev":
                                i = "jump to the previous slide";
                                break;
                            case "next":
                                i = "jump to the next slide";
                                break;
                            case "start":
                                i = "start slideshow";
                                break;
                            case "stop":
                                i = "stop slideshow";
                                break;
                            case "replay":
                                i = "replay slide";
                                break;
                            case "reverse":
                                i = "reverse slide";
                                break;
                            case "reverse-replay":
                            case "reversereplay":
                                i = "reverse, than replay slide";
                                break;
                            default:
                                "number" == typeof r && r == r && (i = "jump to slide " + r)
                        }
                        ie.layers.set.ariaLabel(e, i), e.on("click." + z, function(e) {
                            if (e.preventDefault(), -1 !== ["prev", "next", "start", "stop"].indexOf(s)) ie.navigation[s]("clicked");
                            else if ("number" == typeof r && r == r) ie.slideshow.changeTo(r, !0, !0);
                            else if (!ie.slider.state.changingSlides) switch (s) {
                                case "replay":
                                    ie.api.methods("replay");
                                    break;
                                case "reverse":
                                    ie.api.methods("reverse");
                                    break;
                                case "reverse-replay":
                                case "reversereplay":
                                    ie.api.methods("reverse", !0);
                                    break;
                                case "playmedia":
                                    ie.media.functions.playActiveMedia();
                                    break;
                                case "pausemedia":
                                    ie.media.functions.pauseActiveMedia();
                                    break;
                                case "unmute":
                                case "unmutemedia":
                                    ie.media.unmute.multipleMediaElements()
                            }
                        })
                    }
                },
                ariaLabel: function(e, t) {
                    e.attr("aria-label") || e.attr("aria-label", t)
                },
                linkTo: function(e) {
                    for (var t = e.attr("class").split(" "), i = 1, a = 0; a < t.length; a++) - 1 != t[a].indexOf("ls-linkto-") && (i = parseInt(t[a].split("ls-linkto-")[1]));
                    e.data(ie.defaults.init.dataKey).settings.linkedToSlide = i, e.css({
                        cursor: "pointer"
                    }).on("click." + z, function(e) {
                        e.preventDefault(), _.layerSlider(se(this).data(ie.defaults.init.dataKey).settings.linkedToSlide)
                    })
                },
                wrappers: function(e, t, i) {
                    t.is.slideBackground || t.is.backgroundVideo ? (t.elements.$bgWrapper = e.closest(".ls-bg-wrap"), t.elements.$bgOuterWrapper = e.closest(".ls-bg-outer")) : (t.elements.$wrapper = e.closest(".ls-in-out"), t.elements.$wrapper.data(ie.defaults.init.dataKey, {}), t.settings.wrapperData = t.elements.$wrapper.data(ie.defaults.init.dataKey), t.elements.$clipWrapper = e.closest(".ls-clip"), t.elements.$clipWrapper.data(ie.defaults.init.dataKey, {}), t.settings.clipWrapperData = t.elements.$clipWrapper.data(ie.defaults.init.dataKey), t.elements.$loopWrapper = e.closest(".ls-loop"), t.elements.$loopWrapper.data(ie.defaults.init.dataKey, {}), t.settings.loopWrapperData = t.elements.$loopWrapper.data(ie.defaults.init.dataKey)), t.parallax.enabled && (t.elements.$parallaxWrapper = e.closest(".ls-parallax"), t.elements.$parallaxWrapper.data(ie.defaults.init.dataKey, {
                        parallax: {}
                    }), t.settings.parallaxWrapperData = t.elements.$parallaxWrapper.data(ie.defaults.init.dataKey), ie.transitions.layers.parallax.addLayer(t.elements.$parallaxWrapper, t.settings.parallaxWrapperData.parallax, t, i)), t.hover.enabled && !ie.slides[i].data.globalhover && ie.transitions.layers.hover.set(e, t), ie.browser.isSafari ? t.elements.$outerWrapper = e.closest(".ls-z") : t.elements.$outerWrapper = t.parallax.enabled ? t.elements.$parallaxWrapper : t.elements.$bgWrapper ? t.elements.$bgOuterWrapper : t.elements.$wrapper, t.elements.$outerWrapper.attr("data-slide-index", i)
                },
                singleLayer: function(e, t) {
                    ie.layers.set.style(e), ie.layers.set.properties(e, t), ie.layers.set.dataAttribute(e, "hidden"), e.data("hasBeenSet", !0)
                },
                style: function(e) {
                    var t, i, a, s, r, o, n, l, d, u, p, c, h, m, f, g, v, y, b, S = e[0],
                        w = e.data(ie.defaults.init.dataKey),
                        x = S.style,
                        T = ie.layers,
                        C = 0,
                        k = 0,
                        I = !1,
                        O = S.getBoundingClientRect(),
                        L = "" !== x.paddingLeft ? T.getStyle(x.paddingLeft, ie.slider.initial.percW) : parseFloat(e.css("padding-left")),
                        P = "" !== x.paddingRight ? T.getStyle(x.paddingRight, ie.slider.initial.percW) : parseFloat(e.css("padding-right")),
                        $ = "" !== x.paddingTop ? T.getStyle(x.paddingTop, ie.slider.initial.percH) : parseFloat(e.css("padding-top")),
                        B = "" !== x.paddingBottom ? T.getStyle(x.paddingBottom, ie.slider.initial.percH) : parseFloat(e.css("padding-bottom")),
                        M = "" !== x.marginLeft ? T.getStyle(x.marginLeft, ie.slider.initial.percW) : parseFloat(e.css("margin-left")),
                        W = "" !== x.marginTop ? T.getStyle(x.marginTop, ie.slider.initial.percH) : parseFloat(e.css("margin-top"));
                    S.style.margin = "0", d = "" !== x.borderLeftWidth ? parseFloat(x.borderLeftWidth) : parseFloat(e.css("border-left-width")), p = "" !== x.borderRightWidth ? parseFloat(x.borderRightWidth) : parseFloat(e.css("border-right-width")), u = "" !== x.borderTopWidth ? parseFloat(x.borderTopWidth) : parseFloat(e.css("border-top-width")), c = "" !== x.borderBottomWidth ? parseFloat(x.borderBottomWidth) : parseFloat(e.css("border-bottom-width")), 1 !== ie.media.properties.$allMediaLayers.filter(e).length && !e.children("iframe").length || (y = (v = e.children()).attr("width") ? v.attr("width") : v.width(), b = v.attr("height") ? v.attr("height") : v.height(), 300 === parseInt(y) && 150 === parseInt(b) && (y = 640, b = 360), "" !== S.style.width && "auto" !== S.style.width || e.css("width", y), "" !== S.style.height && "auto" !== S.style.height || e.css("height", b), "100%" === x.width && "100%" === x.height && (x.left = "50%", x.top = "50%", w.mediaSettings.fullsize = !0), I = y / b, v.css({
                        width: "100%",
                        height: "100%"
                    }));
                    var _ = w.attributes;
                    e.is("img") && (h = (s = e.data("preloadedWidth")) / (r = e.data("preloadedHeight")), (!x.width && !x.height || "auto" === x.width && "auto" === x.height) && _ && (_.width && _.height ? (i = -1 === _.width.indexOf("%") ? parseInt(_.width) : (C = parseInt(_.width), T.getStyle(_.width, ie.slider.initial.percW)), a = -1 === _.height.indexOf("%") ? parseInt(_.height) : (k = parseInt(_.height), T.getStyle(_.height, ie.slider.initial.percH))) : _.maxWidth && (e[0].style.width = _.maxWidth + "px", i = _.maxWidth, a = e.height()))), f = O.width ? O.width : O.right - O.left, g = O.height ? O.height : O.bottom - O.top, i || (i = x.width, -1 !== x.width.indexOf("%") && (C = parseInt(x.width)), i = (i = "" !== i && "auto" !== i ? T.getStyle(i, ie.slider.initial.percW) : f - L - P - d - p) || "auto"), a || (a = x.height, -1 !== x.height.indexOf("%") && (k = parseInt(x.height)), a = (a = "" !== a && "auto" !== a ? T.getStyle(a, ie.slider.initial.percH) : g - $ - B - u - c) || "auto"), m = I || i / a, !e.is("img") || x.width || x.height || _ && (!_ || _.width || _.height) || s === i && r === a || (s !== i ? a = (i = 5 < s ? s : i) / (m = 5 < s ? h : m) : r !== a && (i = (a = 5 < r ? r : a) * (m = 5 < r ? h : m))), parseFloat(e.css("opacity")), o = d + L + i + P + p, n = u + $ + a + B + c, t = "" !== x.clip && x.clip, x.clip = "", l = x.webkitFilter || x.filter;

                    function z(e) {
                        var t = e;
                        return e && -1 !== e.indexOf("px ") && (e = e.replace("px", "").split(" "), t = Math.round(parseInt(e[0]) / i * 100) + "%"), t
                    }
                    w.original = {
                        clip: t,
                        clipShouldBeConverted: !1,
                        left: x.left ? x.left : "0",
                        top: x.top ? x.top : "0",
                        width: Math.ceil(i),
                        height: Math.ceil(a),
                        percentWidth: C,
                        percentHeight: k,
                        outerWidth: o,
                        outerHeight: n,
                        styleWidth: x.width,
                        styleHeight: x.height,
                        ratio: m,
                        paddingLeft: L,
                        paddingTop: $,
                        paddingRight: P,
                        paddingBottom: B,
                        marginLeft: M,
                        marginTop: W,
                        borderLeftWidth: d,
                        borderTopWidth: u,
                        borderRightWidth: p,
                        borderBottomWidth: c,
                        borderRadius: z(e.css("borderTopLeftRadius")) + " " + z(e.css("borderTopRightRadius")) + " " + z(e.css("borderBottomRightRadius")) + " " + z(e.css("borderBottomLeftRadius")),
                        fontSize: parseFloat(e.css("font-size")),
                        lineHeight: e.css("line-height"),
                        letterSpacing: e.css("letter-spacing"),
                        color: e.css("color"),
                        zIndex: parseInt(e.css("z-index")) || "auto",
                        filter: l,
                        backgroundColor: e.css("background-color"),
                        dataLS: e.attr("data-ls") || "",
                        styles: e.attr("style") || ""
                    }, x.zIndex = "auto", w.responsive = {
                        left: x.left ? x.left : "0",
                        top: x.top ? x.top : "0",
                        width: i,
                        height: a
                    }
                },
                properties: function(e, t, i) {
                    t = t || e.data("slideIndex");
                    var a, s = e.data(ie.defaults.init.dataKey);
                    e.data("ls");
                    if (s.is.textLayer = !e.is("img") && !s.is.mediaLayer, (s.self = e).data("ls"))
                        for (var r = ie.defaults.layer.keys, o = e.data("ls").split(";"), n = e.data("ls").toLowerCase().split(";"), l = 0; l < n.length; l++)
                            if (se.trim(n[l])) {
                                var d = n[l].indexOf(":"),
                                    u = [n[l].substring(0, d), n[l].substring(d + 1)],
                                    p = null,
                                    c = null,
                                    h = null,
                                    m = null,
                                    f = null;
                                if ("" !== (p = se.trim(u[0])))
                                    if (void 0 !== r[p = p.replace("split", "text")]) {
                                        if (c = r[p][0], f = "overlay" === p ? se.trim(o[l].substring(d + 1)) : ie.functions.convert.properties(se.trim(u[1])), u[1] && -1 !== u[1].indexOf("random") && (p.match(/(text)/) || (f = ie.functions.convert.randomProperties(f, c)), s.should.update || (s.should.update = !0)), "number" == typeof f && c.match(/(duration|startat|shift|delay)/i) && (f /= 1e3), p.match(/(fade)(.+)/)) switch (f) {
                                            case !0:
                                                f = 0;
                                                break;
                                            case !1:
                                                f = 1
                                        }
                                        void 0 !== (m = r[p][1]) ? "" !== f ? "object" == typeof f ? p.match(/(text)/) ? m.match(/(converted)/i) ? s[m][c] = f : s[m].cycle[c] = f : (h = ie.functions.convert.properties(se.trim(f[0])), ie.debugMode && ie.debug.add("warn", "layerInit.prop1", [p, f, h]), "number" == typeof h && c.match(/(duration|startat|shift|delay)/i) && (h /= 1e3), s[m][c] = h) : p.match(/(text)/) && -1 !== f.toString().indexOf("random") ? s[m].random[c] = f : s[m][c] = f : ie.debugMode && ie.debug.add("warn", "layerInit.prop2", p) : s[c][p] = f
                                    } else "clip" === p ? (s.original.clip = u[1], s.original.clipShouldBeConverted = !0) : ie.debugMode && ie.debug.add("warn", "layerInit.prop4", p)
                            }
                    if (ie.browser.isOld && (s.in.enabled = !0, s.textIn.enabled = !1, s.textOut.enabled = !1, s.textIn.type = null, s.textOut.type = null), s.in.enabled && (s.inLayerTo.ease = s.inLayerStyleTo.ease = s.inClipTo.ease = ie.functions.convert.easing(s.in.ease)), void 0 !== s.inLayerStyleShouldBeConvertedFrom.borderRadius && (s.inLayerStyleShouldBeConvertedTo.borderRadius = s.original.borderRadius), void 0 !== s.outLayerStyleShouldBeConvertedTo.borderRadius && (s.outLayerStyleShouldBeConvertedFrom.borderRadius = s.original.borderRadius), s.inLayerStyleFromCSS.backgroundColor && (s.inLayerStyleToCSS.backgroundColor = s.original.backgroundColor), s.outLayerStyleToCSS.backgroundColor && (s.outLayerStyleFromCSS.backgroundColor = s.original.backgroundColor), s.inLayerStyleFromCSS.color && (s.inLayerStyleToCSS.color = s.original.color), s.outLayerStyleToCSS.color && (s.outLayerStyleFromCSS.color = s.original.color), void 0 !== s.inLayerStyleShouldBeConvertedFrom.width && (s.inLayerStyleShouldBeConvertedTo.width = s.original.width), void 0 !== s.outLayerStyleShouldBeConvertedTo.width && (s.outLayerStyleShouldBeConvertedFrom.width = s.original.width), void 0 !== s.inLayerStyleShouldBeConvertedFrom.height && (s.inLayerStyleShouldBeConvertedTo.height = s.original.height), void 0 !== s.outLayerStyleShouldBeConvertedTo.height && (s.outLayerStyleShouldBeConvertedFrom.height = s.original.height), void 0 !== s.out.showUntil && 0 !== s.out.showUntil && (s.out.startAt = "transitioninend + " + s.out.showUntil), -1 !== s.out.startAt.indexOf("slidechangeonly") && "slidechangeonly" !== s.out.startAt && (s.out.startAt = "slidechangeonly"), s.out.enabled && (s.outLayerTo.ease = s.outLayerStyleTo.ease = s.outClipTo.ease = ie.functions.convert.easing(s.out.ease)), se.isNumeric(s.loop.count) && (0 < s.loop.count || -1 === s.loop.count) && !1 !== s.loop.enabled ? (s.loop.enabled = !0, s.loopTo.ease = s.loopClipTo.ease = ie.functions.convert.easing(s.loop.ease), -1 !== s.loop.count ? s.loop.yoyo ? s.loop.repeat = 2 * s.loop.count - 1 : s.loop.repeat = s.loop.count - 1 : s.loop.repeat = -1) : s.loop.enabled = !1, (!se.isEmptyObject(s.hoverToCSS) || s.hoverShouldBeConverted.x || s.hoverShouldBeConverted.y || s.hoverShouldBeConverted.borderRadius || s.hoverShouldBeConverted.filter) && !1 !== s.hover.enabled ? (s.hover.enabled = !0, s.hover.easeOut || (s.hover.easeOut = s.hover.easeIn), s.hover.easeIn = ie.functions.convert.easing(s.hover.easeIn), s.hover.easeOut = ie.functions.convert.easing(s.hover.easeOut, !0), s.hover.durationOut || (s.hover.durationOut = s.hover.durationIn), ae.TweenMax.set(e[0], {
                            autoCSS: !1,
                            css: {
                                transformPerspective: s.hoverShouldBeConverted.transformPerspective
                            }
                        })) : s.hover.enabled = !1, s.parallax.level && se.isNumeric(s.parallax.level) && 0 !== s.parallax.level && !1 !== s.parallax.enabled ? s.parallax.enabled = !0 : s.parallax.enabled = !1, s.is.slideBackground) {
                        var g = {
                            scale: 1,
                            rotation: 0
                        };
                        if (ie.slides[t].kenBurns.zoom && (s.kenBurns = ie.slides[t].kenBurns), s.kenBurns.zoom) {
                            switch (s.kenBurns.from = {}, s.kenBurns.to = {}, s.kenBurns.zoom) {
                                case "out":
                                    s.kenBurns.from.scale = s.kenBurns.scale || 1, s.kenBurns.from.rotation = s.kenBurns.rotation || 0, s.kenBurns.to = g;
                                    break;
                                case "in":
                                    s.kenBurns.from = g, s.kenBurns.to.scale = s.kenBurns.scale || 1, s.kenBurns.to.rotation = s.kenBurns.rotation || 0
                            }
                            delete s.kenBurns.scale, delete s.kenBurns.rotation
                        } else s.kenBurns.from = g, s.kenBurns.to = g;
                        se.isEmptyObject(ie.slides[t].filter) || (ie.slides[t].filter.from && (s.filter.values.bgFrom = ie.transitions.layers.filters.convert(ie.slides[t].filter.from)), ie.slides[t].filter.to && (s.filter.values.bgTo = ie.transitions.layers.filters.convert(ie.slides[t].filter.to)))
                    }
                    if (s.textIn.type && -1 === ie.defaults.layer.splitTypeKeys.indexOf(s.textIn.type) && (ie.debugMode && ie.debug.add("warn", "layerInit.splitType3a", [e[0].tagName, s.textIn.type]), delete s.textIn.type, delete s.textIn.ns, s.textIn.enabled = !1), s.textOut.type && -1 === ie.defaults.layer.splitTypeKeys.indexOf(s.textOut.type) && (ie.debugMode && ie.debug.add("warn", "layerInit.splitType3b", [e[0].tagName, s.textOut.type]), delete s.textOut.type, delete s.textOut.ns, s.textOut.enabled = !1), s.textIn.type || s.textOut.type) {
                        var v = 0;
                        if (s.is.textLayer ? (s.textIn.type && (s.textIn.enabled = !0, s.textInNodesTo.ease = ie.functions.convert.easing(s.textInNodesTo.ease), s.textIn.split = s.textIn.type.split("_")[0], e.children().length && ie.debugMode && (v = 1)), s.textOut.type && (s.textOut.enabled = !0, s.textOutNodesTo.ease = ie.functions.convert.easing(s.textOutNodesTo.ease)), s.textOut.enabled && s.textOut.type.split("_")[0] !== s.textIn.split && (s.textIn.split += ", " + s.textOut.type.split("_")[0], e.children().length && ie.debugMode && (v = 1)), -1 !== s.textIn.split.indexOf("chars") && -1 === s.textIn.split.indexOf("words") && (s.textIn.split += ", words"), -1 !== s.textIn.split.indexOf("words") && -1 === s.textIn.split.indexOf("lines") && (s.textIn.split += ", lines")) : (delete s.textIn.type, delete s.textOut.type, delete s.textIn.ns, delete s.textOut.ns, ie.debugMode && (v = 2)), ie.debugMode && 0 !== v && t && !i) switch (v) {
                            case 1:
                                ie.debug.add("warn", "layerInit.splitType1", [e.prop("nodeName"), t]);
                                break;
                            case 2:
                                ie.debug.add("warn", "layerInit.splitType2", [t, e.prop("nodeName")])
                        }
                    }(s.original.clip || s.inClipShouldBeConverted.clip || s.outClipShouldBeConverted.clip || s.loopClipShouldBeConverted.clip) && (s.clip.enabled = !0), s.in.enabled && s.inLayerToCSS.scale && (delete s.inLayerToCSS.scaleX, delete s.inLayerToCSS.scaleY), s.out.enabled && s.outLayerToCSS.scale && (delete s.outLayerToCSS.scaleX, delete s.outLayerToCSS.scaleY), s.inLayerStyleShouldBeConvertedFrom.filter && (s.filter.values.in = ie.transitions.layers.filters.convert(s.inLayerStyleShouldBeConvertedFrom.filter)), s.filter.values.style = ie.transitions.layers.filters.convert(s.original.filter), s.outLayerStyleShouldBeConvertedTo.filter && (s.filter.values.out = ie.transitions.layers.filters.convert(s.outLayerStyleShouldBeConvertedTo.filter)), s.loopLayerShouldBeConverted.filter && (s.filter.values.loop = ie.transitions.layers.filters.convert(s.loopLayerShouldBeConverted.filter)), s.hoverShouldBeConverted.filter && (s.filter.values.hover = ie.transitions.layers.filters.convert(s.hoverShouldBeConverted.filter)), s.in.enabled || (s.in.duration = 0), s.textIn.enabled || (s.textIn.duration = 0), s.loop.enabled || (s.loop.duration = 0), s.textOut.enabled || (s.textOut.duration = 0), s.out.enabled || (s.out.duration = 0), e.attr("data-ls-slidein", t), void 0 !== s.settings.static && "none" !== s.settings.static ? (0 !== (a = parseInt(s.settings.static)) && "forever" !== s.settings.static ? (e.attr("data-ls-slideout", a), s.settings.slideOut = a) : s.settings.slideOut = 0, s.is.static = !0, e.attr("data-ls-static", "1")) : e.attr("data-ls-slideout", t), s.is.mediaLayer && e.children("video, audio").length && ie.media.html5.singleInit(e.children("video, audio").eq(0)), s.is.backgroundVideo && s.styleSettings.overlay && e.find(".ls-bg-video-overlay").css({
                        backgroundImage: "url(" + s.styleSettings.overlay + ")"
                    }), s.styleSettings.minfontsize && (s.styleSettings.minfontsize = parseFloat(s.styleSettings.minfontsize)), s.styleSettings.minmobilefontsize && (s.styleSettings.minmobilefontsize = parseFloat(s.styleSettings.minmobilefontsize))
                },
                dataAttribute: function(e, t) {
                    e.removeAttr("data-ls-animating-in data-ls-active data-ls-animating-out data-ls-hidden"), e.attr("data-ls-" + t, "")
                }
            },
            get: function(e) {
                var t, i, a, s, r, o = this.$all;
                return e && (t = "in", a = i = "", s = ':not(".ls-bg")', r = ':not(".ls-bg-video")', -1 == (e = e.toLowerCase()).indexOf("bgvideo") && -1 == e.indexOf("backgroundvideo") || (r = "", e = e.replace("bgvideo", "").replace("backgroundvideo", "")), -1 != e.indexOf("video") && (a += ", > video", e = e.replace("video", "")), -1 != e.indexOf("audio") && (a += ", > audio", e = e.replace("audio", "")), -1 != e.indexOf("html5") && (a += ", > video, > audio", e = e.replace("html5", "")), -1 != e.indexOf("youtube") && (a += ', > iframe[src*="youtube-nocookie.com"], > iframe[src*="youtube.com"], > iframe[src*="youtu.be"], > iframe[data-src*="youtube-nocookie.com"], > iframe[data-src*="youtube.com"], > iframe[data-src*="youtu.be"]', e = e.replace("youtube", "")), -1 != e.indexOf("vimeo") && (a += ', > iframe[src*="player.vimeo"], > iframe[data-src*="player.vimeo"]', e = e.replace("vimeo", "")), "," == a.charAt(0) && (a = a.substring(2, a.length)), -1 != e.indexOf("out") && (t = "out"), -1 == e.indexOf("img") && -1 == e.indexOf("image") || (i = "img"), -1 == e.indexOf("bg") && -1 == e.indexOf("background") && -1 == e.indexOf("bgonly") || (s = ""), o = -1 != e.indexOf("current") ? o.filter(i + "[data-ls-slide" + t + '="' + ie.slides.current.index + '"]' + s + r) : -1 != e.indexOf("next") ? o.filter(i + "[data-ls-slide" + t + '="' + ie.slides.next.index + '"]' + s + r) : o.filter(i + s + r), -1 != e.indexOf("notactive") && (o = o.filter(".ls-bg, .ls-bg-video, :hidden"), e = e.replace("notactive", "")), -1 != e.indexOf("active") && (o = o.filter(":visible:not(.ls-bg, .ls-bg-video)"), e = e.replace("active", "")), -1 != e.indexOf("notstatic") && (o = o.filter(':not([data-ls-static="1"])'), e = e.replace("notstatic", "")), -1 != e.indexOf("static") && (o = o.filter('[data-ls-static="1"]'), e = e.replace("static", "")), -1 != e.indexOf("bgonly") && (o = o.filter(".ls-bg"), e = e.replace("bgonly", "")), "" !== a && (o = o.find(a))), o
            },
            update: {
                data: function(e, t, i) {
                    var a, s, r;
                    switch (e instanceof jQuery || (e = se(e)), i && e.attr("data-ls", i).data("ls", i), a = (s = e.data(ie.defaults.init.dataKey)).is.onSlide, r = s.original, t) {
                        default:
                            case "transitions":
                            s.settings.timelineIsCalculated = !1,
                        ie.layers.set.properties(e, a, !0);
                        break;
                        case "all":
                                e.data(ie.defaults.init.dataKey, new ie.defaults.layer.options(e, a)),
                            (s = e.data(ie.defaults.init.dataKey)).original = r,
                            ie.layers.set.properties(e, a, !0),
                            ie.layers.set.wrappers(e, s, a)
                    }
                }
            },
            wrap: function(h, e) {
                var t, i, m;
                ie.slides[h].wrapped || "wrapping" === ie.slides[h].wrapped || (ie.slides[h].wrapped = "wrapping", t = e ? 25 : 0, i = ie.slides[h].$layers, m = i.length, i.each(function(p, c) {
                    ie.timeouts["slide-" + h + "-layer-" + p] = setTimeout(function() {
                        delete ie.timeouts["slide-" + h + "-layer-" + p];
                        var e, t = se(c),
                            i = t,
                            a = "",
                            s = !1,
                            r = "";
                        t.hasClass("ls-hide-phone") && (r += " ls-hide-on-phone"), t.hasClass("ls-hide-tablet") && (r += " ls-hide-on-tablet"), t.hasClass("ls-hide-desktop") && (r += " ls-hide-on-desktop"), t.removeClass("ls-hide-phone ls-hide-tablet ls-hide-desktop"), i.is("a") && 1 === i.children().length && (s = !0, t = i.find(".ls-layer"));
                        var o, n = t.data(ie.defaults.init.dataKey);
                        if (!n) return !0;
                        e = ie.slider.$layersWrapper, n.is.backgroundVideo ? e = ie.slider.$bgVideosWrapper : n.is.slideBackground && (e = ie.slider.$slideBGWrapper), t.data("hasBeenSet") || ie.layers.set.singleLayer(t, h), n.textIn.split && (o = new ae.SplitType(t[0], {
                            split: n.textIn.split
                        }), n.textIn.type && (n.textIn.ns = o[n.textIn.type.split("_")[0]]), n.textOut.type && (n.textOut.ns = o[n.textOut.type.split("_")[0]])), a = n.is.slideBackground || n.is.backgroundVideo ? '<div class="ls-wrapper ls-bg-outer"><div class="ls-wrapper ls-bg-wrap"></div></div>' : (n.clip.enabled && (a = '<div class="ls-wrapper ls-clip"></div>'), n.loop.enabled && (a = '<div class="ls-wrapper ls-loop">' + a + "</div>"), '<div class="ls-wrapper ls-in-out">' + a + "</div>"), n.parallax.enabled && (a = '<div class="ls-wrapper ls-parallax">' + a + "</div>"), ie.browser.isSafari && (a = '<div class="ls-wrapper ls-z">' + a + "</div>"), "" !== a ? t.appendTo(e).wrap(a) : t.appendTo(e), !0 === s && i.addClass("ls-layer-link").appendTo(t.parent());
                        var l = {},
                            d = t.css("mix-blend-mode");
                        d && "normal" !== d && (l["mix-blend-mode"] = d, t.css("mix-blend-mode", "normal")), n.original.customZIndex = 1;
                        var u = parseInt(n.original.zIndex);
                        n.is.backgroundVideo || n.is.slideBackground ? l = {
                            zIndex: n.original.customZIndex
                        } : (u = u || p + 101, l.zIndex = u, n.original.customZIndex = u), n.styleSettings.pointerevents && (l.pointerEvents = "none"), ie.browser.isSafari && (l.transform = "translateZ(" + 3e3 * u + "px )"), ie.layers.set.wrappers(t, n, h), n.elements.$outerWrapper.css(l).addClass(r), n.is.slideBackground && n.elements.$bgWrapper.css({
                            backgroundColor: ie.slides[h].data.backgroundColor
                        }), ie.layers.$all = ie.layers.$all.add(t), ie.slides[h].$layers = ie.slides[h].$layers.not(i), p === m - 1 && (_.children(".ls-slide").eq(h - 1).empty(), ie.slides[h].wrapped = !0)
                    }, t * (p + 1))
                }))
            }
        }, ie.slideshow = {
            direction: "next",
            nextLoop: 0,
            firstStart: !0,
            forceFastChange: !1,
            sequence: {
                normal: [],
                randomized: []
            },
            state: {
                running: !0,
                paused: !1,
                pausedByVideo: !1,
                pausedByHover: !1,
                pausedByLastCycle: !1
            },
            should: {
                change: !1,
                start: !1,
                stop: !1
            },
            isPaused: function() {
                return this.state.paused || this.state.pausedByVideo || this.state.pausedByHover
            },
            init: function() {
                1 == ie.slides.count && (ie.o.autoStart = !1, ie.o.navPrevNext = !1, ie.o.navStartStop = !1, ie.o.navButtons = !1, ie.o.cycles = -1, ie.o.forceLoopNum = !1, ie.o.autoPauseSlideshow = !0, ie.o.firstSlide = 1, ie.o.thumbnailNavigation = "disabled"), ie.o.autoStart && 1 != ie.slides.count || ie.functions.setStates(this, {
                    running: !1,
                    paused: !0
                }), this.set.pauseOnHover(), this.set.sequences()
            },
            set: {
                pauseOnHover: function() {
                    ie.o.pauseOnHover = !0 === ie.o.pauseOnHover ? ie.defaults.init.options.pauseOnHover : ie.o.pauseOnHover, !1 !== ie.o.pauseOnHover && _.on("mouseenter." + z, function() {
                        ie.slider.state.inFullscreen || (ie.functions.setStates(ie.slideshow, {
                            pausedByHover: !0
                        }), "slideshowOnly" !== ie.o.pauseOnHover && ie.transitions.layers.timeline.pause())
                    }).on("mouseleave." + z, function() {
                        var e = 1;
                        ie.transitions._slideTimeline && ie.transitions._slideTimeline.duration() > ie.transitions.layers.timeline.totalDuration && (e = ie.transitions.layers.timeline.totalDuration / ie.transitions._slideTimeline.duration()), ie.functions.setStates(ie.slideshow, {
                            pausedByHover: !1
                        }), se("body").hasClass("ls-unselectable") || "slideshowOnly" === ie.o.pauseOnHover || ie.o.pauseLayers && ie.slideshow.isPaused() || ie.transitions.layers.timeline.resume(), ie.transitions._slideTimeline && ie.transitions.layers.timeline.state.finished && ie.transitions._slideTimeline.progress() < e && ie.functions.setStates(ie.transitions.layers.timeline, {
                            finished: !1
                        }), ie.slideshow.start()
                    })
                },
                sequences: function() {
                    for (var e = 0; e < ie.slides.count; e++) ie.slideshow.sequence.normal[e] = e + 1;
                    ie.slideshow.sequence.randomized = ie.functions.shuffleArray(se.merge([], ie.slideshow.sequence.normal))
                },
                normalizedSequence: function() {
                    var e = ie.o.shuffleSlideshow ? "randomized" : "normal",
                        t = ie.slideshow.sequence[e],
                        i = ie.slideshow.sequence[e].length,
                        a = t.indexOf(ie.slides.first.index);
                    ie.slideshow.sequence.normalized = [];
                    for (var s = a; s < i; s++) ie.slideshow.sequence.normalized.push(t[s]);
                    for (var r = 0; r < a; r++) ie.slideshow.sequence.normalized.push(t[r])
                },
                prevNext: function(e) {
                    switch (e) {
                        case "prev":
                            ie.o.twoWaySlideshow && (ie.slideshow.direction = "prev"), ie.slideshow.changeTo(ie.slideshow.get.slideInSequence("prev"), !0);
                            break;
                        case "next":
                            ie.slideshow.direction = "next", ie.slideshow.changeTo(ie.slideshow.get.slideInSequence("next"), !0)
                    }
                }
            },
            get: {
                sequence: function() {
                    var e = "normal";
                    return ie.o.playByScroll ? e = "normalized" : ie.o.shuffleSlideshow && (e = "randomized"), e
                },
                slideInSequence: function(e) {
                    var t = ie.slideshow.sequence[this.sequence()],
                        i = t.indexOf(ie.slides.current.index);
                    switch (e) {
                        case "prev":
                            return 0 === i ? t[t.length - 1] : t[i - 1];
                        case "next":
                            return i === t.length - 1 ? t[0] : t[i + 1];
                        default:
                            return t[e]
                    }
                },
                indexOfSlideInSequence: function(e) {
                    return ie.slideshow.sequence[this.sequence()].indexOf(e)
                }
            },
            cycles: {set: function() {
                    0 < ie.o.cycles && (ie.slideshow.curCycle = 1, ie.slideshow.cycleSlideIndex = ie.slideshow.get.indexOfSlideInSequence(ie.slides.first.index))
                },
                check: function(e) {
                    if (ie.slideshow.get.indexOfSlideInSequence(e) === ie.slideshow.cycleSlideIndex) return ++ie.slideshow.curCycle === ie.o.cycles + 1
                }
            },
            start: function(e) {
                !this.isPaused() && ie.transitions._slideTimeline && ie.transitions.layers.timeline.state.finished && this.changeTo(ie.slides.next.index)
            },
            stop: function() {
                ie.functions.setStates(this, {
                    running: !1,
                    paused: !0
                })
            },
            changeTo: function(e, t, i) {
                if (!document.body.contains(W)) return !1;
                if (ie.slides.current.index === e) return !1;
                if (!this.firstStart && ie.api.hasEvent("slideChangeWillStart")) {
                    var a = _.triggerHandler("slideChangeWillStart", ie.api.eventData());
                    if (!1 === a) return;
                    se.isNumeric(a) && (e = parseInt(a))
                }
                e > ie.slides.count || e < 1 ? ie.debugMode && (ie.debug.add("group", "slideshow"), ie.debug.add("warn", "slideshow.invalidSlideIndex", [e, ie.slides.count]), ie.debug.groupEnd()) : ie.slider.isBusy() || ie.slideshow.state.pausedByVideo && !t ? !ie.slider.state.preloadingImages && ie.slider.state.animatingSlides && ie.transitions._slideTransition && (ie.slideshow.should.change = !0, ie.transitions._slideTransition.progress(1), ie.transitions._forceLayersOut && ie.transitions._forceLayersOut.progress(1)) : (ie.functions.setStates(ie.transitions.layers.timeline, {
                    finished: !1
                }), ie.slideshow.should.change = !1, ie.debugMode && ie.debug.add("group", "slideshow"), t ? ("prev" === ie.navigation.direction && ie.o.twoWaySlideshow && (ie.slideshow.direction = "prev"), ie.debugMode && (ie.debug.add("log", "slideshow.changedByUser", !1), ie.o.twoWaySlideshow && ie.debug.add("log", "slideshow.setdir", ie.slideshow.direction))) : ie.navigation.direction = ie.slideshow.direction, ie.transitions.timers.reverse(), ie.gui.media.hideUnmute(), ie.slides.set.nextSlideIndex(e), ie.debugMode && (ie.debug.add("log", "slideshow.change", [ie.slides.current.index, ie.slides.next.index, ie.slideshow.direction, ie.navigation.direction]), ie.debug.groupEnd()), ie.functions.setStates(this, {
                    pausedByVideo: !1
                }), ie.functions.setStates(ie.slider, {
                    changingSlides: !0
                }), ie.preload.imagesOfSlide(ie.slides.next.index, function() {
                    ie.transitions.start()
                }))
            },
            forceStop: function() {
                ie.navigation.stop(), se.each(ie.timeouts, function(e, t) {
                    clearTimeout(ie.timeouts[e])
                }), ie.transitions.timers.stop(), ie.transitions._slideTimeline.stop(), ie.functions.setStates(ie.transitions.layers.timeline, {
                    stopped: !0,
                    running: !1
                }), _.find("*").stop(!0, !1).dequeue()
            },
            restart: function() {
                _.find("*").stop(), ie.navigation.change(ie.slides.current.index, ie.slideshow.direction)
            }
        }, ie.media = {
            properties: {
                $allMediaLayers: se(),
                playingInCurSlide: 0,
                endedInCurSlide: 0,
                userDidUnmute: !1
            },
            init: function() {
                ie.functions.setStates(ie.slider, {
                    waitingForYouTube: !1,
                    waitingForVimeo: !1
                }), ie.media.properties.allowToUnmute = !0, ie.media.youtube.init(), ie.media.vimeo.init(), ie.media.html5.init()
            },
            get: function(e) {
                var t, i = ie.media.properties.$allMediaLayers;
                return e && (-1 !== (e = e.toLowerCase()).indexOf("notbg") && (i = i.not(".ls-bg-video")), -1 !== e.indexOf("active") && (i = i.filter("[data-ls-active], [data-ls-animating-in]")), -1 !== e.indexOf("notstatic") && (i = i.not("[data-ls-static]")), t = i.find("video, audio, iframe"), -1 !== e.indexOf("notplaying") ? t = t.filter("[data-ls-not-playing]") : -1 !== e.indexOf("playing") && (t = t.filter("[data-ls-playing]")), -1 !== e.indexOf("allowtounmute") && (t = t.filter("[data-ls-allow-to-unmute]")), -1 !== e.indexOf("mutedbybrowser") && (t = t.filter("[data-ls-muted-by-browser]"))), t
            },
            set: {
                backgroundVideo: function(e, t) {
                    var i;
                    0 === e.children(".ls-vpcontainer").length && (i = se("<div>").addClass("ls-vpcontainer").appendTo(e), t.mediaSettings.poster && se("<div>").appendTo(i).addClass("ls-videopreview").attr({
                        style: "background-image: url(" + t.mediaSettings.poster + ")"
                    }))
                },
                customPoster: function(e, t) {
                    return t.mediaSettings.poster || !1
                },
                dataAttribute: function(e, t) {
                    e.removeAttr("data-ls-playing data-ls-not-playing"), e.attr("data-ls-" + t, ""), ie.media.functions.checkSlideshowWaiting()
                },
                mediaElements: function(e, t, i) {
                    var a = se("<div>").addClass("ls-vpcontainer").appendTo(e);
                    !("autoplay" in i.mediaSettings) && ie.o.autoPlayVideos || i.mediaSettings.autoplay ? e.addClass("ls-autoplay") : se("<div>").appendTo(a).addClass("ls-playvideo"), t.is("iframe") && i.mediaProperties.poster && se("<div>").appendTo(a).addClass("ls-videopreview").attr({
                        style: "background-image: url(" + i.mediaProperties.poster + ")"
                    }), t.is("video, audio") && i.mediaProperties.poster && se("<div>").appendTo(a).addClass("ls-videopreview").attr({
                        style: "background-image: url(" + i.mediaProperties.poster + ")"
                    })
                },
                properties: function(e, t, i) {
                    switch (i.is.mediaLayer = !0, i.mediaProperties.type) {
                        case "youtube":
                            i.is.backgroundVideo ? (i.mediaProperties.options = se.extend(!0, {
                                loop: 1,
                                playlist: i.mediaProperties.embedID,
                                controls: 0,
                                autoplay: 0,
                                showinfo: !1,
                                modestbranding: 1,
                                thumbnail: !1
                            }, ie.media[i.mediaProperties.type].defaults, i.mediaProperties.embedOptions), ie.media.set.backgroundVideo(e, i)) : (i.mediaProperties.options = se.extend(!0, {}, ie.media[i.mediaProperties.type].defaults, i.mediaProperties.embedOptions, {
                                autoplay: 0
                            }), ie.media.set.mediaElements(e, t, i));
                            break;
                        case "vimeo":
                            i.is.backgroundVideo ? (i.mediaProperties.options = se.extend(!0, {
                                loop: 1,
                                byline: 0,
                                portrait: 0,
                                title: 0,
                                fun: 0
                            }, ie.media[i.mediaProperties.type].defaults, i.mediaProperties.embedOptions), ie.media.set.backgroundVideo(e, i)) : (i.mediaProperties.options = se.extend(!0, {}, ie.media[i.mediaProperties.type].defaults, i.mediaProperties.embedOptions, {
                                autoplay: 0
                            }), ie.media.set.mediaElements(e, t, i));
                            break;
                        case "html5":
                            t.attr("autoplay") && (t.removeAttr("autoplay"), e.attr("data-ls", e.attr("data-ls") + " autoplay: true;")), i.is.backgroundVideo && (t.removeAttr("controls"), t[0].muted = !0, t.attr("loop", "")), "controls" in i.mediaSettings && (i.mediaSettings.controls ? (t.attr("controls", ""), t.removeAttr("nocontrols")) : t.removeAttr("controls")), "volume" in i.mediaSettings && (i.mediaSettings.volume < 0 ? i.mediaSettings.volume = 0 : 100 < i.mediaSettings.volume && (i.mediaSettings.volume = 100), t[0].volume = i.mediaSettings.volume / 100), "muted" in i.mediaSettings && (i.mediaSettings.muted ? t[0].muted = !0 : t[0].muted = !1), "loop" in i.mediaSettings && (i.mediaSettings.loop ? t.attr("loop", "") : t.removeAttr("loop")), i.is.backgroundVideo ? ie.media.set.backgroundVideo(e, i) : ie.media.set.mediaElements(e, t, i)
                    }
                },
                thumbnail: function(e, t) {
                    switch (t) {
                        case "show":
                            e.fadeIn(ie.transitions.media.defaults.fadeIn);
                            break;
                        case "hide":
                            e.delay(ie.transitions.media.defaults.delay).fadeOut(ie.transitions.media.defaults.fadeOut)
                    }
                }
            },
            events: {
                start: function(e, t, i) {
                    var a;
                    ie.api.hasEvent("mediaDidStart") && !i.mediaProperties.alreadyStarted && ie.media.functions.allowedToPlay(e, i) && ((a = ie.api.eventData()).event.target = e[0], _.triggerHandler("mediaDidStart", a), i.mediaProperties.alreadyStarted = !0)
                },
                stop: function(e, t, i) {
                    var a;
                    ie.api.hasEvent("mediaDidStop") && i.mediaProperties.alreadyStarted && ((a = ie.api.eventData()).event.target = e[0], _.triggerHandler("mediaDidStop", a), i.mediaProperties.alreadyStarted = !1)
                }
            },
            unmute: {set: function(e, t, i) {
                    ("youtube" !== t && "vimeo" !== t || ie.media.properties.allowToUnmute) && ie.gui.media.showUnmute(), e.attr("data-ls-allow-to-unmute", ""), i && e.attr("data-ls-muted-by-browser", "")
                },
                multipleMediaElements: function() {
                    var e = _.find("[data-ls-allow-to-unmute]");
                    (ie.o.rememberUnmuteState ? e : e.filter("[data-ls-playing], [data-ls-muted-by-browser]")).each(function() {
                        ie.media.unmute.singleMediaElement(se(this))
                    }), ie.gui.media.hideUnmute(), ie.media.properties.userDidUnmute = !0
                },
                singleMediaElement: function(e) {
                    var t, i = e.closest(".ls-layer").data(ie.defaults.init.dataKey),
                        a = !1;
                    switch (i.mediaProperties.type) {
                        case "youtube":
                            ie.media.properties.allowToUnmute && (a = !0, i.mediaProperties.player.unMute());
                            break;
                        case "vimeo":
                            ie.media.properties.allowToUnmute && (a = !0, t = i.mediaSettings.volume ? i.mediaSettings.volume / 100 : 1, i.mediaProperties.player.setVolume(t));
                            break;
                        case "html5":
                            a = !0, e[0].muted = !1
                    }
                    a && e.removeAttr("data-ls-muted-by-browser data-ls-allow-to-unmute")
                }
            },
            functions: {
                allowedToPlay: function(e, t) {
                    var i = e.closest(".ls-layer");
                    return !!(ie.slides.current.index === parseInt(i.attr("data-ls-slidein")) || t.is.backgroundVideo && ie.slides.next.index === parseInt(i.attr("data-ls-slidein")) || i.attr("data-ls-static") && void 0 !== i.attr("data-ls-active"))
                },
                playActiveMedia: function() {
                    var e;
                    ie.media.get("notbg,active").each(function() {
                        if ((e = se(this).closest(".ls-layer").data(ie.defaults.init.dataKey)).mediaProperties.alreadyStarted) switch (e.mediaProperties.type) {
                            case "youtube":
                                e.mediaProperties.player.playVideo();
                                break;
                            case "vimeo":
                                e.mediaProperties.player.play();
                                break;
                            case "html5":
                                e.mediaProperties.$media[0].play()
                        } else se(this).parent().find(".ls-vpcontainer").trigger("playMedia")
                    })
                },
                pauseActiveMedia: function() {
                    var e;
                    ie.media.get("notbg,active,playing").each(function() {
                        switch ((e = se(this).closest(".ls-layer").data(ie.defaults.init.dataKey)).mediaProperties.type) {
                            case "youtube":
                                e.mediaProperties.player.pauseVideo();
                                break;
                            case "vimeo":
                                e.mediaProperties.player.pause();
                                break;
                            case "html5":
                                this.pause()
                        }
                    })
                },
                urlToObject: function(e) {
                    var a = {},
                        t = e.split("?")[1];
                    return t && t.split("#")[0].replace(/([^=&]+)=([^&]*)/g, function(e, t, i) {
                        a[decodeURIComponent(t)] = se.isNumeric(decodeURIComponent(i)) ? parseInt(decodeURIComponent(i)) : decodeURIComponent(i)
                    }), a
                },
                checkSlideshowState: function(e, t) {
                    !t.is.static && ie.o.autoPauseSlideshow && (ie.functions.setStates(ie.slideshow, {
                        pausedByVideo: !0
                    }), "auto" == ie.o.autoPauseSlideshow && ie.media.properties.playingInCurSlide++)
                },
                checkSlideshowWaiting: function() {
                    var e = ie.media.properties.playingInCurSlide,
                        t = ie.media.get("notbg,active,notstatic,notplaying"),
                        i = ie.media.get("notbg,active,notstatic,notplaying").length;
                    i === e && 0 < i && ie.slideshow.state.pausedByVideo && ie.o.autoPauseSlideshow && !ie.timeouts.pausedVideos && ie.slideshow.state.running ? ie.timeouts.pausedVideos = setTimeout(function() {
                        ie.slideshow.state.running ? t.each(function() {
                            ie.media.functions.mediaEnded(se(this), se(this).closest(".ls-layer"), se(this).closest(".ls-layer").data(ie.defaults.init.dataKey))
                        }) : ie.slideshow.state.pausedByVideo = !1
                    }, 5e3) : ie.timeouts.pausedVideos && (clearTimeout(ie.timeouts.pausedVideos), delete ie.timeouts.pausedVideos)
                },
                playIfAllowed: function(e) {
                    var t = e.data(ie.defaults.init.dataKey);
                    t.is.mediaLayer && (ie.device.isMobile && (_.hasClass("ls-device-is-phone") && t.elements.$outerWrapper.hasClass("ls-hide-on-phone") || _.hasClass("ls-device-is-tablet") && t.elements.$outerWrapper.hasClass("ls-hide-on-tablet")) || ("autoplay" in t.mediaSettings || !ie.o.autoPlayVideos) && !t.mediaSettings.autoplay || e.find(".ls-vpcontainer").trigger("playMedia"))
                },
                stop: function(a) {
                    a = void 0 === a || a;
                    ie.layers.get("current,out,youtube").each(function() {
                        var e = se(this),
                            t = e.closest(".ls-layer"),
                            i = t.data(ie.defaults.init.dataKey);
                        ie.media.youtube.stop(t, e, i, a)
                    }), ie.layers.get("current,out,vimeo").each(function() {
                        var e = se(this),
                            t = e.closest(".ls-layer"),
                            i = t.data(ie.defaults.init.dataKey);
                        ie.media.vimeo.stop(t, e, i, a)
                    }), ie.layers.get("current,out,html5").each(function() {
                        var e = se(this),
                            t = e.closest(".ls-layer"),
                            i = t.data(ie.defaults.init.dataKey);
                        ie.media.html5.stop(t, e, i, a)
                    }), ie.media.properties.playingInCurSlide = 0, ie.media.properties.endedInCurSlide = 0
                },
                mediaEnded: function(e, t, i) {
                    "auto" != ie.o.autoPauseSlideshow || i.is.backgroundVideo || (i.is.static || ie.media.properties.endedInCurSlide++, ie.media.properties.endedInCurSlide == ie.media.properties.playingInCurSlide && 0 !== ie.media.properties.playingInCurSlide && (ie.functions.setStates(ie.slideshow, {
                        pausedByVideo: !1
                    }), ie.slideshow.remainingSlideDuration = 1, ie.slideshow.start())), ie.media.set.dataAttribute(e, "not-playing"), ie.media.events.stop(e, t, i)
                },
                removeFromTimeline: function(e) {
                    ie.transitions._slideTimeline.kill(null, e.closest(".ls-in-out")[0])
                }
            },
            youtube: {
                defaults: {
                    autoplay: 0,
                    playsinline: 1,
                    wmode: "opaque",
                    html5: 1,
                    enablejsapi: 1,
                    version: 3,
                    rel: 0
                },
                init: function() {
                    var g = 0;
                    this.$medias = ie.slider.$hiddenWrapper.find('iframe[src*="youtube-nocookie.com"], iframe[src*="youtube.com"], iframe[src*="youtu.be"], iframe[data-src*="youtube-nocookie.com"], iframe[data-src*="youtube.com"], iframe[data-src*="youtu.be"]').each(function() {
                        var e = se(this).attr({
                                id: "ls-youtube-" + ++g,
                                allow: "accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; fullscreen",
                                allowfullscreen: ""
                            }),
                            t = e.closest(".ls-layer");
                        t.data("hasBeenSet") || ie.layers.set.singleLayer(t);
                        var i, a, s, r, o, n, l, d, u = t.data(ie.defaults.init.dataKey),
                            p = e.attr("src") || e.attr("data-src"),
                            c = ie.media.functions.urlToObject(p),
                            h = (p = p.split("?")[0].split("//")[1]).split("/"),
                            m = h[h.length - 1],
                            f = ie.media.set.customPoster(t, u);
                        u.mediaProperties = {
                            type: "youtube",
                            $media: e,
                            embedURL: p,
                            embedID: m,
                            embedOptions: c
                        }, f ? (u.mediaProperties.poster = f, ie.media.set.properties(t, e, u)) : (i = ["default.jpg", "mqdefault.jpg", "hqdefault.jpg", "sddefault.jpg", "maxresdefault.jpg"], a = "https://img.youtube.com/vi/" + p.split("embed/")[1].split("?")[0] + "/", s = a + ie.o.youtubePreview, o = r = 0, n = function() {
                            this.width > r && (r = this.width, s = this.src), d()
                        }, l = function() {
                            d()
                        }, d = function() {
                            (o += 1) === i.length && (u.mediaProperties.poster = s, ie.media.set.properties(t, e, u))
                        }, i.forEach(function(e) {
                            var t = new Image;
                            t.addEventListener("error", l, !1), t.addEventListener("load", n, !1), t.src = a + e
                        }))
                    }), this.$medias.length && (ie.media.properties.$allMediaLayers = ie.media.properties.$allMediaLayers.add(this.$medias.closest(".ls-layer")), ie.timeouts.loadYouTube = Math.floor(Date.now() / 1e3), window.YT || se("<script>").attr({
                        src: "https://www.youtube.com/iframe_api",
                        type: "text/javascript"
                    }).appendTo("head"), window.onYouTubeIframeAPIReady = function() {
                        window._layerSlider.globals.youTubeIsReady = !0
                    }, ie.intervals.isYouTubeReady = setInterval(function() {
                        window.YT && 1 === window.YT.loaded || window._layerSlider.globals.youTubeIsReady || 3 < Math.floor(Date.now() / 1e3) - ie.timeouts.loadYouTube ? (clearInterval(ie.intervals.isYouTubeReady), delete ie.intervals.isYouTubeReady, delete ie.timeouts.loadYouTube, ie.media.youtube.$medias.closest(".ls-layer").each(function() {
                            var e = se(this),
                                t = e.data(ie.defaults.init.dataKey);
                            e.on("playMedia." + z + " click." + z, ".ls-vpcontainer", function() {
                                ie.media.set.thumbnail(se(this), "hide"), ie.media.functions.checkSlideshowState(e, t), ie.media.functions.removeFromTimeline(e), ie.media.youtube.play(e, t.mediaProperties.$media, t, t.mediaProperties.embedURL)
                            }).on("playBackgroundVideo." + z, function() {
                                ie.media.youtube.play(e, t.mediaProperties.$media, t, t.mediaProperties.embedURL), ie.layers.set.dataAttribute(e, "active")
                            }).on("stopBackgroundVideo." + z, function() {
                                ie.media.youtube.stop(e, t.mediaProperties.$media, t, !0), ie.layers.set.dataAttribute(e, "hidden")
                            }).on("preloadBackgroundVideo." + z, function() {
                                ie.media.youtube.createPlayer(e, t.mediaProperties.$media, t, t.mediaProperties.embedURL, !0)
                            })
                        }), ie.functions.setStates(ie.slider, {
                            waitingForYouTube: !1
                        })) : ie.functions.setStates(ie.slider, {
                            waitingForYouTube: !0
                        })
                    }, 25))
                },
                createPlayer: function(t, i, a, s, r) {
                    a.mediaProperties.playerState = "initializing", "controls" in a.mediaSettings && (a.mediaProperties.options.controls = a.mediaSettings.controls ? 1 : 0), "loop" in a.mediaSettings && (a.mediaProperties.options.loop = a.mediaSettings.loop ? 1 : 0), "showinfo" in a.mediaSettings && (a.mediaProperties.options.showinfo = a.mediaSettings.showinfo ? 1 : 0), a.mediaProperties.options.loop ? a.mediaProperties.options.playlist = a.mediaProperties.embedID : delete a.mediaProperties.options.playlist, 0 === a.mediaProperties.options.showinfo && (a.mediaProperties.options.modestbranding = 1), i.attr("src", "https://" + s + "?" + jQuery.param(a.mediaProperties.options)).load(function() {
                        a.mediaProperties.player = new YT.Player(i[0], {
                            events: {
                                onReady: function(e) {
                                    a.mediaProperties.playerState = "ready", a.mediaSettings.volume && a.mediaProperties.player.setVolume(a.mediaSettings.volume), r && !a.mediaProperties.shouldPlay || (ie.media.youtube.play(t, i, a, s), a.mediaProperties.shouldPlay = !1)
                                },
                                onStateChange: function(e) {
                                    switch (e.data) {
                                        case 0:
                                            a.mediaProperties.options.loop && 1 === a.mediaProperties.options.loop || ie.media.functions.mediaEnded(i, t, a);
                                            break;
                                        case 1:
                                            ie.media.events.start(i, t, a), a.mediaProperties.lastStarted = Date.now();
                                            break;
                                        case 2:
                                        case -1:
                                            a.mediaProperties.firstState && 0 !== a.mediaProperties.lastState && 1 !== a.mediaProperties.lastState || a.mediaProperties.lastStarted && (Date.now(), a.mediaProperties.lastStarted)
                                    }
                                    switch (e.data) {
                                        case 1:
                                            ie.media.set.dataAttribute(i, "playing");
                                            break;
                                        default:
                                            ie.media.set.dataAttribute(i, "not-playing")
                                    }
                                    ie.media.youtube.savePlayerState(a, e.data)
                                }
                            }
                        })
                    })
                },
                savePlayerState: function(e, t) {
                    e.mediaProperties.firstState || (e.mediaProperties.firstState = t), e.mediaProperties.lastState = t
                },
                play: function(e, t, i, a, s) {
                    void 0 !== t.attr("data-ls-muted-by-browser") && ie.media.unmute.singleMediaElement(t), i.mediaProperties.player ? i.mediaProperties.player.playVideo ? (!i.is.backgroundVideo || "muted" in i.mediaSettings || i.mediaProperties.player.mute(), i.mediaSettings.muted ? ie.o.rememberUnmuteState && ie.media.properties.userDidUnmute || (i.mediaProperties.player.mute(), "offertounmute" == i.mediaSettings.muted && ie.media.unmute.set(t, i.mediaProperties.type)) : s && (i.mediaProperties.player.mute(), ie.media.unmute.set(t, i.mediaProperties.type, !0)), ie.media.functions.allowedToPlay(t, i) ? i.mediaProperties.player.playVideo() : ie.media.youtube.stop(e, t, i, !0)) : i.mediaProperties.shouldPlay = !0 : i.mediaProperties.playerState ? i.mediaProperties.shouldPlay = !0 : this.createPlayer(e, t, i, a)
                },
                stop: function(e, t, i, a) {
                    i.mediaProperties.player && (i.mediaProperties.player.pauseVideo(), a && i.mediaProperties.player.seekTo(0), i.is.backgroundVideo || ie.media.set.thumbnail(e.find(".ls-vpcontainer"), "show"), ie.media.events.stop(t, e, i))
                }
            },
            vimeo: {
                defaults: {
                    autoplay: 0,
                    autopause: 0,
                    wmode: "opaque",
                    playsinline: 1
                },
                init: function() {
                    var d, e, t = this.$medias = ie.slider.$hiddenWrapper.find('iframe[src*="player.vimeo"], iframe[data-src*="player.vimeo"]'),
                        u = ie.slider.$hiddenWrapper.find('.ls-slide:eq(0) iframe[src*="player.vimeo"], .ls-slide:eq(0) iframe[data-src*="player.vimeo"]').length;
                    t.length && (ie.timeouts.loadVimeo = Math.floor(Date.now() / 1e3), ie.media.properties.$allMediaLayers = ie.media.properties.$allMediaLayers.add(t.closest(".ls-layer")), d = 0, se("<script>").attr({
                        src: "https://player.vimeo.com/api/player.js",
                        type: "text/javascript"
                    }).appendTo("head"), ie.intervals.isVimeoReady = setInterval(function() {
                        ie.functions.setStates(ie.slider, {
                            waitingForVimeo: !0
                        }), (window.Vimeo || 3 < Math.floor(Date.now() / 1e3) - ie.timeouts.loadVimeo) && (clearInterval(ie.intervals.isVimeoReady), delete ie.intervals.isVimeoReady, delete ie.timeouts.loadVimeo, e())
                    }, 25), e = function() {
                        var l = 0;
                        ie.media.vimeo.$medias.each(function() {
                            var t = se(this).attr({
                                    id: "ls-vimeo-" + ++d,
                                    allow: "accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; fullscreen",
                                    allowfullscreen: ""
                                }),
                                i = t.closest(".ls-layer");
                            i.data("hasBeenSet") || ie.layers.set.singleLayer(i);
                            var a = i.data(ie.defaults.init.dataKey),
                                e = t.attr("src") || t.attr("data-src"),
                                s = ie.media.functions.urlToObject(e),
                                r = "https://vimeo.com/api/oembed.json?url=http://vimeo.com/" + e.split("video/")[1].split("?")[0],
                                e = e.split("?")[0].split("//")[1];
                            ie.media.vimeo.defaults.player_id = "ls-vimeo-" + d;
                            var o = ie.media.set.customPoster(i, a);
                            a.mediaProperties = {
                                type: "vimeo",
                                $media: t,
                                embedURL: e,
                                embedOptions: s
                            };

                            function n(e) {
                                a.mediaProperties.poster = e, (0 === u || 0 < u && ++l == u) && (window._layerSlider.globals.vimeoIsReady = !0), ie.media.set.properties(i, t, a)
                            }
                            o ? n(o) : se.getJSON(r, function(e) {
                                n(e.thumbnail_url)
                            }), i.on("playMedia." + z + " click." + z, ".ls-vpcontainer", function() {
                                ie.media.set.thumbnail(se(this), "hide"), ie.media.functions.checkSlideshowState(i, a), ie.media.functions.removeFromTimeline(i), ie.media.vimeo.play(i, t, a, e)
                            }).on("playBackgroundVideo." + z, function() {
                                ie.media.vimeo.play(i, t, a, e), ie.layers.set.dataAttribute(i, "active")
                            }).on("stopBackgroundVideo." + z, function() {
                                ie.media.vimeo.stop(i, t, a, !0), ie.layers.set.dataAttribute(i, "hidden")
                            }).on("preloadBackgroundVideo." + z, function() {
                                ie.media.vimeo.createPlayer(i, t, a, e, !0)
                            })
                        }), ie.functions.setStates(ie.slider, {
                            waitingForVimeo: !1
                        })
                    })
                },
                createPlayer: function(e, t, i, a, s) {
                    i.mediaProperties.playerState = "initializing";
                    "controls" in i.mediaSettings && delete i.mediaSettings.controls, "loop" in i.mediaSettings && (i.mediaProperties.options.loop = i.mediaSettings.loop ? 1 : 0), "showinfo" in i.mediaSettings && (i.mediaSettings.showinfo ? (i.mediaProperties.options.byline = 1, i.mediaProperties.options.portrait = 1, i.mediaProperties.options.title = 1) : (i.mediaProperties.options.byline = 0, i.mediaProperties.options.portrait = 0, i.mediaProperties.options.title = 0), delete i.mediaProperties.options.showinfo), "volume" in i.mediaSettings && (0 === i.mediaSettings.volume ? (i.mediaSettings.volume = 100, i.mediaSettings.muted = 1) : (i.mediaSettings.volume < 0 || 100 < i.mediaSettings.volume) && (i.mediaSettings.volume = 100)), t.attr("src", "https://" + a + "?" + jQuery.param(i.mediaProperties.options)), i.mediaProperties.player = new Vimeo.Player(t[0]), i.mediaProperties.player.on("play", function() {
                        ie.media.set.dataAttribute(t, "playing"), ie.media.events.start(t, e, i)
                    }), i.mediaProperties.player.on("pause", function() {
                        ie.media.set.dataAttribute(t, "not-playing")
                    }), i.mediaProperties.player.on("ended", function() {
                        ie.media.functions.mediaEnded(t, e, i)
                    }), i.mediaProperties.player.ready().then(function() {
                        i.mediaProperties.playerState = "ready", i.mediaSettings.volume && !i.mediaSettings.muted && se.isNumeric(i.mediaSettings.volume) && 0 <= i.mediaSettings.volume && i.mediaSettings.volume <= 100 && i.mediaProperties.player.setVolume(i.mediaSettings.volume / 100), s || ie.media.vimeo.play(e, t, i, a)
                    })
                },
                play: function(t, i, a, s, e) {
                    void 0 !== i.attr("data-ls-muted-by-browser") && ie.media.unmute.singleMediaElement(i), a.mediaProperties.player ? (!a.is.backgroundVideo || "muted" in a.mediaSettings || a.mediaProperties.player.setVolume(0), a.mediaSettings.muted && (ie.o.rememberUnmuteState && ie.media.properties.userDidUnmute ? ie.o.rememberUnmuteState && ie.media.properties.userDidUnmute && (a.mediaProperties.player.setVolume(a.mediaSettings.volume / 100 || 1), delete a.mediaSettings.muted) : (a.mediaProperties.player.setVolume(0), "offertounmute" == a.mediaSettings.muted && ie.media.unmute.set(i, a.mediaProperties.type))), e ? (a.mediaProperties.player.setVolume(0), ie.media.unmute.set(i, a.mediaProperties.type, !0)) : a.mediaProperties.player.getVolume().then(function(e) {
                        0 == e && "offertounmute" == a.mediaSettings.muted && ie.media.unmute.set(i, a.mediaProperties.type)
                    }), ie.media.functions.allowedToPlay(i, a) ? a.mediaProperties.player.play().then(function() {}).catch(function(e) {
                        switch (e.name) {
                            case "PasswordError":
                                window.console && (console.error(ie.defaults.slider.errorText), console.error("Vimeo video is password protected and may cause playback issues."));
                                break;
                            case "PrivacyError":
                                window.console && (console.error(ie.defaults.slider.errorText), console.error("Vimeo video is private and may cause playback issues."));
                                break;
                            default:
                                ie.media.vimeo.play(t, i, a, s, !0)
                        }
                    }) : ie.media.vimeo.stop(t, i, a, !0)) : this.createPlayer(t, i, a, s)
                },
                stop: function(e, t, i, a) {
                    i.mediaProperties.player && (i.mediaProperties.player.pause(), a && i.mediaProperties.player.setCurrentTime(0), i.is.backgroundVideo || ie.media.set.thumbnail(e.find(".ls-vpcontainer"), "show"), ie.media.events.stop(t, e, i))
                }
            },
            html5: {
                singleInit: function(t) {
                    var e, i, a, s, r = t.closest(".ls-layer"),
                        o = r.data(ie.defaults.init.dataKey),
                        n = t.find("source"),
                        l = ie.media.set.customPoster(r, o);
                    o.mediaProperties = {
                        type: "html5",
                        $media: t,
                        poster: l || t.attr("poster")
                    }, t.removeAttr("poster"), 0 < n.length ? n.each(function() {
                        void 0 !== (e = se(this).attr("type")) && !1 !== e || (i = se(this).attr("src"), a = i.split("."), s = a[a.length - 1].toLowerCase(), se(this).attr("type", se(this).parent()[0].tagName.toLowerCase() + "/" + s)), "" !== t[0].canPlayType(se(this).attr("type")) && (o.mediaProperties.canBePlayed = !0)
                    }) : void 0 !== t.attr("src") && !1 !== t.attr("src") && (i = t.attr("src"), a = i.split("."), s = a[a.length - 1].toLowerCase(), "" !== t[0].canPlayType(t[0].tagName.toLowerCase() + "/" + s) && (o.mediaProperties.canBePlayed = !0)), o.mediaProperties.canBePlayed && (ie.media.set.properties(r, t, o), t.on("ended." + z, function() {
                        ie.media.functions.mediaEnded(t, r, o)
                    }).on("play." + z, function() {}).on("playing." + z, function() {
                        ie.media.events.start(t, r, o), ie.media.set.dataAttribute(t, "playing")
                    }).on("pause." + z, function() {
                        ie.media.set.dataAttribute(t, "not-playing")
                    }), r.on("playMedia." + z + " click." + z, ".ls-vpcontainer", function(e) {
                        ie.media.set.thumbnail(se(this), "hide"), ie.media.functions.checkSlideshowState(r, o), ie.media.functions.removeFromTimeline(r), ie.media.html5.play(r, t, o)
                    }).on("playBackgroundVideo." + z, function() {
                        ie.media.html5.play(r, t, o), ie.layers.set.dataAttribute(r, "active")
                    }).on("stopBackgroundVideo." + z, function() {
                        ie.media.html5.stop(r, t, o, !0), ie.layers.set.dataAttribute(r, "hidden")
                    }))
                },
                init: function() {
                    var e, t = ie.slider.$hiddenWrapper.find("video, audio");
                    ie.media.properties.$allMediaLayers = ie.media.properties.$allMediaLayers.add(t.closest(".ls-layer")), t.length && (e = 0, t.each(function() {
                        se(this).closest(".ls-layer").data(ie.defaults.init.dataKey).is.mediaLayer = !0, se(this).attr("id", "ls-html5-" + ++e).attr("playsinline", ""), se(this)[0].pause()
                    }))
                },
                play: function(e, t, i) {
                    var a;
                    i.mediaProperties.canBePlayed && (void 0 !== t.attr("data-ls-muted-by-browser") && ie.media.unmute.singleMediaElement(t), i.mediaSettings.muted && (ie.o.rememberUnmuteState && ie.media.properties.userDidUnmute ? ie.o.rememberUnmuteState && ie.media.properties.userDidUnmute && (t[0].muted = !1) : (t[0].muted = !0, "offertounmute" == i.mediaSettings.muted && ie.media.unmute.set(t, i.mediaProperties.type))), void 0 !== (a = t[0].play()) && a.then(function(e) {}).catch(function(e) {
                        t[0].muted = !0, t[0].play(), t[0].paused && ie.functions.setStates(ie.slideshow, {
                            pausedByVideo: !1
                        }), ie.media.unmute.set(t, i.mediaProperties.type, !0)
                    }))
                },
                stop: function(e, t, i, a) {
                    i.mediaProperties.canBePlayed && (t[0].pause(), a && (t[0].currentTime = 0), i.is.backgroundVideo || ie.media.set.thumbnail(se(this), "show"), ie.media.events.stop(t, e, i))
                }
            }
        }, ie.yourLogo = {
            init: function() {
                ie.o.yourLogo && (this.$element = se("<img>").addClass("ls-yourlogo").appendTo(_).attr("style", ie.o.yourLogoStyle).css({
                    visibility: "hidden",
                    display: "bock"
                }).on("load." + z, function() {
                    var e = ie.yourLogo.$element ? 500 : 0;
                    ie.timeouts.yourLogo = setTimeout(function() {
                        delete ie.timeouts.yourLogo, ie.yourLogo.$element.data("originalWidth", ie.yourLogo.$element.width()), ie.yourLogo.$element.data("originalHeight", ie.yourLogo.$element.height()), "auto" != ie.yourLogo.$element.css("left") && ie.yourLogo.$element.data("originalLeft", ie.yourLogo.$element[0].style.left), "auto" != ie.yourLogo.$element.css("right") && ie.yourLogo.$element.data("originalRight", ie.yourLogo.$element[0].style.right), "auto" != ie.yourLogo.$element.css("top") && ie.yourLogo.$element.data("originalTop", ie.yourLogo.$element[0].style.top), "auto" != ie.yourLogo.$element.css("bottom") && ie.yourLogo.$element.data("originalBottom", ie.yourLogo.$element[0].style.bottom), !1 !== ie.o.yourLogoLink && se("<a>").appendTo(_).attr("href", ie.o.yourLogoLink).attr("target", ie.o.yourLogoTarget).css({
                            textDecoration: "none",
                            outline: "none"
                        }).append(ie.yourLogo.$element), ie.yourLogo.$element.css({
                            display: "none",
                            visibility: "visible"
                        }), ie.yourLogo.resize()
                    }, e)
                }).attr("src", ie.o.yourLogo))
            },
            resize: function() {
                this.$element.css({
                    width: this.$element.data("originalWidth") * ie.resize.ratio,
                    height: this.$element.data("originalHeight") * ie.resize.ratio
                }), this.$element.fadeIn(300);
                var e = "auto",
                    t = "auto",
                    i = "auto",
                    a = "auto",
                    e = this.$element.data("originalLeft") && -1 != this.$element.data("originalLeft").indexOf("%") ? _.width() / 100 * parseFloat(this.$element.data("originalLeft")) - this.$element.width() / 2 + parseInt(_.css("padding-left")) : parseInt(this.$element.data("originalLeft")) * ie.resize.ratio,
                    t = this.$element.data("originalRight") && -1 != this.$element.data("originalRight").indexOf("%") ? _.width() / 100 * parseFloat(this.$element.data("originalRight")) - this.$element.width() / 2 + parseInt(_.css("padding-right")) : parseInt(this.$element.data("originalRight")) * ie.resize.ratio,
                    i = this.$element.data("originalTop") && -1 != this.$element.data("originalTop").indexOf("%") ? _.height() / 100 * parseFloat(this.$element.data("originalTop")) - this.$element.height() / 2 + parseInt(_.css("padding-top")) : parseInt(this.$element.data("originalTop")) * ie.resize.ratio,
                    a = this.$element.data("originalBottom") && -1 != this.$element.data("originalBottom").indexOf("%") ? _.height() / 100 * parseFloat(this.$element.data("originalBottom")) - this.$element.height() / 2 + parseInt(_.css("padding-bottom")) : parseInt(this.$element.data("originalBottom")) * ie.resize.ratio;
                this.$element.css({
                    left: e,
                    right: t,
                    top: i,
                    bottom: a
                })
            }
        }, ie.gui = {
            navigation: {
                init: function() {
                    ie.o.navPrevNext && this.prevNext.init(), (ie.o.navStartStop || ie.o.navButtons) && this.bottom.init()
                },
                prevNext: {
                    init: function() {
                        se('<a class="ls-gui-element ls-nav-prev" aria-label="jump to the previous slide" href="#" />').on("click." + z, function(e) {
                            e.preventDefault(), _.layerSlider("prev")
                        }).appendTo(_), se('<a class="ls-gui-element ls-nav-next" aria-label="jump to the next slide" href="#" />').on("click." + z, function(e) {
                            e.preventDefault(), _.layerSlider("next")
                        }).appendTo(_), ie.o.hoverPrevNext && this.setHover()
                    },
                    setHover: function() {
                        _.find(".ls-nav-prev, .ls-nav-next").css({
                            display: "none"
                        }), _.on("mouseenter." + z, function() {
                            ie.gui.navigation.forceHide || _.find(".ls-nav-prev, .ls-nav-next").stop(!0, !0).fadeIn(300)
                        }).on("mouseleave." + z, function() {
                            _.find(".ls-nav-prev, .ls-nav-next").stop(!0, !0).fadeOut(300)
                        })
                    }
                },
                bottom: {
                    init: function() {
                        this.wrapper = se('<div class="ls-gui-element ls-bottom-nav-wrapper" />').appendTo(_), ie.o.navButtons && "always" != ie.o.thumbnailNavigation && this.bullets.init(), ie.o.navStartStop ? this.createStartStop() : "always" != ie.o.thumbnailNavigation && this.createSides(), ie.o.hoverBottomNav && "always" != ie.o.thumbnailNavigation && this.setHover(), "always" == ie.o.thumbnailNavigation && (this.wrapper.addClass("ls-above-thumbnails"), this.thumbnails.init())
                    },
                    bullets: {
                        init: function() {
                            var t = this;
                            se('<span class="ls-bottom-slidebuttons" />').appendTo(_.find(".ls-bottom-nav-wrapper"));
                            for (var e = 0; e < ie.slides.count; e++) {
                                var i = se('<a href="#" aria-label="jump to slide ' + (e + 1) + '" />').appendTo(_.find(".ls-bottom-slidebuttons")).data("index", e + 1).on("click." + z, function(e) {
                                    e.preventDefault(), _.layerSlider(se(this).data("index"))
                                });
                                "hover" == ie.o.thumbnailNavigation && i.on("mouseenter." + z, function() {
                                    var e = se(this);
                                    _.find(".ls-thumbnail-hover-img").css({
                                        left: parseInt(t.hoverWrapper.css("padding-left")),
                                        top: parseInt(t.hoverWrapper.css("padding-top"))
                                    }), t.hoverImage.on("load." + z, function() {
                                        0 === se(this).width() ? t.hoverImage.css({
                                            position: "relative",
                                            margin: "0 auto",
                                            left: "auto"
                                        }) : t.hoverImage.css({
                                            position: "absolute",
                                            marginLeft: -se(this).width() / 2,
                                            left: "50%"
                                        }), t.hoverImage.css("display", "none").stop(!0, !0).fadeIn(250)
                                    }).attr("src", ie.slides[e.data("index")].data.thumbnail), t.hoverWrapper.css({
                                        display: "block"
                                    }).stop().animate({
                                        left: se(this).position().left + (se(this).width() - t.hoverWrapper.outerWidth()) / 2
                                    }, 250), t.hoverWrapperInner.css({
                                        display: "none",
                                        visibility: "visible"
                                    }).stop().fadeIn(250)
                                }).on("mouseleave." + z, function() {
                                    t.hoverWrapperInner.stop().fadeOut(250, function() {
                                        t.hoverWrapper.css({
                                            visibility: "hidden",
                                            display: "block"
                                        })
                                    })
                                })
                            }
                            t.set.active(ie.slides.first.index), "hover" == ie.o.thumbnailNavigation && t.set.hover()
                        },
                        set: {
                            active: function(e) {
                                void 0 === e && (e = ie.slides.current.index), e--, _.find(".ls-bottom-slidebuttons a").removeClass("ls-nav-active"), _.find(".ls-bottom-slidebuttons a:eq( " + e + " )").addClass("ls-nav-active")
                            },
                            hover: function() {
                                var e = ie.gui.navigation.bottom.bullets,
                                    t = se('<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(_.find(".ls-bottom-slidebuttons"));
                                _.find(".ls-thumbnail-hover, .ls-thumbnail-hover-img").css({
                                    width: ie.o.tnWidth,
                                    height: ie.o.tnHeight
                                }), e.hoverWrapper = _.find(".ls-thumbnail-hover"), e.hoverImage = e.hoverWrapper.find("img").css({
                                    height: ie.o.tnHeight
                                }), e.hoverWrapperInner = _.find(".ls-thumbnail-hover-inner").css({
                                    visibility: "hidden",
                                    display: "block"
                                }), t.appendTo(_.find(".ls-bottom-slidebuttons"))
                            }
                        }
                    },
                    createStartStop: function() {
                        this.buttonStart = se('<a class="ls-nav-start" aria-label="start slideshow" href="#" />').on("click." + z, function(e) {
                            e.preventDefault(), _.layerSlider("start")
                        }).prependTo(_.find(".ls-bottom-nav-wrapper")), this.buttonStop = se('<a class="ls-nav-stop" aria-label="stop slideshow" href="#" />').on("click." + z, function(e) {
                            e.preventDefault(), _.layerSlider("stop")
                        }).appendTo(_.find(".ls-bottom-nav-wrapper")), ie.o.autoStart ? this.setStartStop("start") : this.setStartStop("stop")
                    },
                    setStartStop: function(e) {
                        if (ie.o.navStartStop) switch (e) {
                            case "start":
                                this.buttonStart.addClass("ls-nav-start-active"), this.buttonStop.removeClass("ls-nav-stop-active");
                                break;
                            case "stop":
                                this.buttonStart.removeClass("ls-nav-start-active"), this.buttonStop.addClass("ls-nav-stop-active")
                        }
                    },
                    createSides: function() {
                        se('<span class="ls-nav-sides ls-nav-sideleft" />').prependTo(_.find(".ls-bottom-nav-wrapper")), se('<span class="ls-nav-sides ls-nav-sideright" />').appendTo(_.find(".ls-bottom-nav-wrapper"))
                    },
                    setHover: function() {
                        var e = this;
                        e.wrapper.css({
                            display: "none"
                        }), _.on("mouseenter." + z, function() {
                            ie.gui.navigation.forceHide || e.wrapper.stop(!0, !0).fadeIn(300)
                        }).on("mouseleave." + z, function() {
                            e.wrapper.stop(!0, !0).fadeOut(300)
                        })
                    },
                    switchHelper: function(e) {
                        if (ie.o.hoverBottomNav && !_.hasClass("ls-hover")) switch (e) {
                            case "on":
                                ie.gui.navigation.bottom.thumbnails.wrapper.css({
                                    visibility: "hidden",
                                    display: "block"
                                });
                                break;
                            case "off":
                                ie.gui.navigation.bottom.thumbnails.wrapper.css({
                                    visibility: "visible",
                                    display: "none"
                                })
                        }
                    },
                    thumbnails: {
                        init: function() {
                            this.wrapper = se('<div class="ls-gui-element ls-thumbnail-wrapper"></div>').appendTo(_), se('<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(this.wrapper), this.$element = _.find(".ls-thumbnail-slide-container"), "ontouchstart" in window ? this.$element.addClass("ls-touchscroll") : this.$element.on("mouseenter." + z, function() {
                                se(this).addClass("ls-thumbnail-slide-hover")
                            }).on("mouseleave." + z, function() {
                                se(this).removeClass("ls-thumbnail-slide-hover"), ie.gui.navigation.bottom.thumbnails.scroll()
                            }).on("mousemove." + z, function(e) {
                                var t = parseInt(e.pageX - se(this).offset().left) / se(this).width() * (se(this).width() - se(this).find(".ls-thumbnail-slide").width());
                                se(this).find(".ls-thumbnail-slide").stop().css({
                                    marginLeft: t
                                })
                            });
                            for (var e = 0; e < ie.slides.count; e++) {
                                var t = e + 1,
                                    i = se('<a href="#" class="ls-thumb-' + (e + 1) + '"  aria-label="jump to slide ' + (e + 1) + '"><img src="' + ie.slides[t].data.thumbnail + '"></a>');
                                ie.slides[t].data.tnAlt && i.find("img").attr("alt", ie.slides[t].data.tnAlt), i.data("index", t).on("click." + z, function(e) {
                                    e.preventDefault(), _.layerSlider(se(this).data("index"))
                                }).appendTo(_.find(".ls-thumbnail-slide")), "ontouchstart" in window || i.on("mouseenter." + z, function() {
                                    se(this).children().stop().fadeTo(300, ie.o.tnActiveOpacity / 100)
                                }).on("mouseleave." + z, function() {
                                    se(this).children().hasClass("ls-thumb-active") || se(this).children().stop().fadeTo(300, ie.o.tnInactiveOpacity / 100)
                                })
                            }
                            ie.gui.navigation.bottom.buttonStart && ie.gui.navigation.bottom.buttonStop && (ie.gui.navigation.bottom.wrapper = se('<div class="ls-bottom-nav-wrapper ls-below-thumbnails"></div>').appendTo(_), ie.gui.navigation.bottom.buttonStart.clone().on("click." + z, function(e) {
                                e.preventDefault(), _.layerSlider("start")
                            }).appendTo(ie.gui.navigation.bottom.wrapper), ie.gui.navigation.bottom.buttonStop.clone().on("click." + z, function(e) {
                                e.preventDefault(), _.layerSlider("stop")
                            }).appendTo(ie.gui.navigation.bottom.wrapper)), ie.o.hoverBottomNav && this.setHover()
                        },
                        setHover: function() {
                            var e = this;
                            e.wrapper.css("display", "none"), ie.gui.navigation.bottom.wrapper && (ie.gui.navigation.bottom.wrapper = "block" == ie.gui.navigation.bottom.wrapper.css("display") ? ie.gui.navigation.bottom.wrapper : _.find(".ls-above-thumbnails"), ie.gui.navigation.bottom.wrapper.css("display", "none")), _.on("mouseenter." + z, function() {
                                _.addClass("ls-hover"), ie.gui.navigation.forceHide || (e.wrapper.stop(!0, !0).fadeIn(300), ie.gui.navigation.bottom.wrapper && ie.gui.navigation.bottom.wrapper.stop(!0, !0).fadeIn(300))
                            }).on("mouseleave." + z, function() {
                                _.removeClass("ls-hover"), e.wrapper.stop(!0, !0).fadeOut(300), ie.gui.navigation.bottom.wrapper && ie.gui.navigation.bottom.wrapper.stop(!0, !0).fadeOut(300)
                            })
                        },
                        change: function(e) {
                            var t = e || ie.slides.next.index;
                            _.find(".ls-thumbnail-slide a:not(.ls-thumb-" + t + " )").children().each(function() {
                                se(this).removeClass("ls-thumb-active").stop().fadeTo(750, ie.o.tnInactiveOpacity / 100)
                            }), _.find(".ls-thumbnail-slide a.ls-thumb-" + t).children().addClass("ls-thumb-active").stop().fadeTo(750, ie.o.tnActiveOpacity / 100)
                        },
                        scroll: function() {
                            var e, t, i;
                            _.find(".ls-thumbnail-slide-container").hasClass("ls-thumbnail-slide-hover") || (e = !!_.find(".ls-thumb-active").length && _.find(".ls-thumb-active").parent()) && (t = e.position().left + e.width() / 2, i = 0 < (i = (i = _.find(".ls-thumbnail-slide-container").width() / 2 - t) < _.find(".ls-thumbnail-slide-container").width() - _.find(".ls-thumbnail-slide").width() ? _.find(".ls-thumbnail-slide-container").width() - _.find(".ls-thumbnail-slide").width() : i) ? 0 : i, _.find(".ls-thumbnail-slide").animate({
                                marginLeft: i
                            }, 600))
                        },
                        resize: function() {
                            ie.gui.navigation.bottom.switchHelper("on");
                            var e = -1 == ie.slider.initial.width.indexOf("%") ? parseInt(ie.slider.initial.originalWidth) : _.width(),
                                t = _.find(".ls-thumbnail"),
                                i = -1 == ie.o.tnContainerWidth.indexOf("%") ? parseInt(ie.o.tnContainerWidth) : parseInt(e / 100 * parseInt(ie.o.tnContainerWidth));
                            _.find(".ls-thumbnail-slide a").css({
                                width: parseInt(ie.o.tnWidth * ie.resize.ratio),
                                height: parseInt(ie.o.tnHeight * ie.resize.ratio)
                            }), _.find(".ls-thumbnail-slide a:last").css({
                                margin: 0
                            }), _.find(".ls-thumbnail-slide").css({
                                height: parseInt(ie.o.tnHeight * ie.resize.ratio)
                            }), t.css({
                                width: i * Math.floor(100 * ie.resize.ratio) / 100
                            }), t.width() > _.find(".ls-thumbnail-slide").width() && t.css({
                                width: _.find(".ls-thumbnail-slide").width()
                            }), ie.gui.navigation.bottom.switchHelper("off")
                        }
                    }
                }
            },
            media: {
                init: function() {
                    0 < ie.media.properties.$allMediaLayers.length && se('<div class="ls-gui-element ls-media-unmute" aria-label="Unmute"><div class="ls-media-unmute-bg"></div><div class="ls-icon-muted"></div><div class="ls-icon-unmuted"></div></div>').on("click." + z, function(e) {
                        e.preventDefault(), _.layerSlider("unmute")
                    }).appendTo(_)
                },
                showUnmute: function() {
                    _.find(".ls-media-unmute").addClass("ls-media-unmute-active")
                },
                hideUnmute: function() {
                    _.find(".ls-media-unmute").removeClass("ls-media-unmute-active")
                }
            },
            skin: {
                load: function() {
                    _.addClass("ls-" + ie.o.skin);
                    var e, t = ie.o.skinsPath + ie.o.skin + "/skin.css",
                        i = se("head").length ? se("head") : se("body");
                    se('link[href="' + t + '"]').length ? (e = se('link[href="' + t + '"]'), ie.gui.skin.isLoaded || (ie.gui.skin.isLoaded = !0, ie.timeouts.skinLoad1 = setTimeout(function() {
                        delete ie.timeouts.skinLoad1, ie.slider.init()
                    }, 150))) : e = document.createStyleSheet ? (document.createStyleSheet(t), se('link[href="' + t + '"]')) : se('<link rel="stylesheet" href="' + t + '" type="text/css" />').appendTo(i), e.on("load." + z, function() {
                        ie.gui.skin.isLoaded || (ie.gui.skin.isLoaded = !0, ie.timeouts.skinLoad2 = setTimeout(function() {
                            delete ie.timeouts.skinLoad2, ie.slider.init()
                        }, 150))
                    }), se(window).on("load." + z, function() {
                        ie.gui.skin.isLoaded || (ie.gui.skin.isLoaded = !0, ie.timeouts.skinLoad3 = setTimeout(function() {
                            delete ie.timeouts.skinLoad3, ie.slider.init()
                        }, 150))
                    }), ie.timeouts.skinLoad4 = setTimeout(function() {
                        ie.gui.skin.isLoaded || (ie.gui.skin.isLoaded = !0, delete ie.timeouts.skinLoad4, ie.slider.init())
                    }, 1e3)
                }
            },
            shadow: {
                init: function() {
                    this.set(), this.resize()
                },
                set: function() {
                    this.$element = se('<div class="ls-gui-element ls-shadow"></div>').appendTo(_), "block" != this.$element.css("display") || this.$element.find("img").length || (this.show = function() {
                        ie.gui.shadow.$element.css({
                            display: "none",
                            visibility: "visible"
                        }).fadeIn(500, function() {
                            ie.gui.shadow.show = !1
                        })
                    }, this.image = se("<img>").attr("src", ie.o.skinsPath + ie.o.skin + "/shadow.png").appendTo(this.$element), this.btmMod = "number" == typeof parseInt(_.css("padding-bottom")) ? parseInt(_.css("padding-bottom")) : 0)
                },
                resize: function() {
                    this.image && (0 < this.image.height() ? 0 < this.btmMod ? this.$element.css({
                        height: this.image.height() / 2
                    }) : this.$element.css({
                        height: this.image.height(),
                        marginTop: -this.image.height() / 2
                    }) : ie.timeouts.resizeShadow = setTimeout(function() {
                        delete ie.timeouts.resizeShadow, ie.gui.shadow.resize()
                    }, 50))
                }
            },
            timers: {
                init: function() {
                    ie.o.showBarTimer && this.bar.create(), ie.o.showCircleTimer && this.circle.create();
                    var e = !1;
                    (e = ie.o.showSlideBarTimer ? se("<div>").insertAfter(_) : se('[data-slidebar-for="' + _.attr("id") + '"], [data-slidebar-for="' + z + '"]')).length && (e.addClass("ls-gui-element"), this.slidebar.create(e))
                },
                bar: {
                    create: function() {
                        this.$element = se("<div>").addClass("ls-gui-element ls-bar-timer").appendTo(_)
                    }
                },
                circle: {
                    create: function() {
                        this.$element = se("<div>").addClass("ls-gui-element ls-circle-timer").appendTo(_), this.$element.append(se('<div class="ls-ct-center"></div><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>')), this.$element.data("original", {
                            opacity: this.$element.css("opacity")
                        })
                    }
                },
                slidebar: {
                    $containerElement: [],
                    $element: [],
                    $progressBarElement: [],
                    $sliderContainerElement: [],
                    $sliderElement: [],
                    elementWidth: [],
                    containerElementWidth: [],
                    sliderContainerElementWidth: [],
                    state: {},
                    create: function(e) {
                        function i(e, t) {
                            (s = (e.pageX ? e.pageX : ie.device.touchX || 0) - o.$element[t].offset().left - o.sliderContainerElementWidth[t] / 2) < 0 && (s = 0), s > o.containerElementWidth[t] - o.sliderContainerElementWidth[t] && (s = "calc( 100% - " + ie.gui.timers.slidebar.sliderContainerElementWidth[t] + "px )"), o.$sliderContainerElement[t].css({
                                left: s
                            }), ie.transitions._slideTimeline && ie.transitions._slideTimeline.progress("string" == typeof s ? ie.transitions.layers.timeline.progress : s / (o.containerElementWidth[t] - o.sliderContainerElementWidth[t]) * ie.transitions.layers.timeline.progress)
                        }

                        function a(e) {
                            "dragging" == ie.gui.timers.slidebar.state && (ie.transitions._slideTimeline && ie.transitions.layers.timeline.state.finished && ie.transitions._slideTimeline.progress() !== ie.transitions.layers.timeline.progress && ie.functions.setStates(ie.transitions.layers.timeline, {
                                finished: !1
                            }), se(document).off("mousemove." + z), se("body").prop("unselectable", !1).removeClass("ls-unselectable"), ie.o.pauseLayers && !ie.slideshow.state.running || ie.slider.isPaused || !ie.transitions._slideTimeline || ie.o.playByScroll || (!0 === ie.transitions.layers.timeline.state.started ? ie.transitions.layers.timeline.resume() : ie.transitions.layers.timeline.play()), ie.gui.timers.slidebar.state = !1)
                        }
                        var s, r = se(document),
                            o = this;
                        se.each(e, function(t, e) {
                            o.$containerElement[t] = se(e).addClass("ls-slidebar-container " + z), o.$element[t] = se("<div>").addClass("ls-slidebar").appendTo(o.$containerElement[t]), o.$progressBarElement[t] = se("<div>").addClass("ls-progressbar").appendTo(o.$element[t]), o.$sliderContainerElement[t] = se("<div>").addClass("ls-slidebar-slider-container").appendTo(o.$containerElement[t]), o.$sliderElement[t] = se("<div>").addClass("ls-slidebar-slider").appendTo(o.$sliderContainerElement[t]), o.sliderContainerElementWidth[t] = o.$sliderContainerElement[t].width(), o.$sliderContainerElement[t].css({
                                marginTop: -o.$sliderElement[t].outerHeight() / 2
                            }), o.$containerElement[t].on("touchmove." + z, function(e) {
                                i(e, t)
                            }), o.$containerElement[t].on("touchend." + z, function(e) {
                                a()
                            }), o.$containerElement[t].on("mousedown." + z + " touchstart." + z, function(e) {
                                ie.transitions.layers.timeline.pause(0), se("body").prop("unselectable", !0).addClass("ls-unselectable"), se(document).on("mousemove." + z, function(e) {
                                    i(e, t)
                                }), i(e, t), ie.gui.timers.slidebar.state = "dragging"
                            }), r = r.add(o.$sliderElement[t])
                        }), se("body").on("mouseup." + z, function(e) {
                            a()
                        })
                    }
                }
            },
            loadingIndicator: {
                init: function() {
                    this.$element = se("<div>").css({
                        display: "none"
                    }).addClass("ls-gui-element ls-loading-container").appendTo(_), se("<div>").addClass("ls-loading-indicator").appendTo(this.$element)
                },
                show: function() {
                    this.$element.delay(400).fadeIn(300)
                },
                hide: function() {
                    this.$element.stop(!0, !0).fadeOut(300)
                }
            }
        }, ie.navigation = {
            direction: "next",
            init: function() {
                1 < ie.slides.count && (this.set.keyboard(), this.set.touch())
            },
            set: {
                keyboard: function() {
                    ie.o.keybNav && se("body").on("keydown." + z, function(e) {
                        ie.slider.isAnimating || ie.slider.isPreloading || (37 == e.which ? ie.navigation.prev() : 39 == e.which && ie.navigation.next())
                    })
                },
                touch: function() {
                    "ontouchstart" in window && ie.o.touchNav && (ie.slider.$innerWrapper.on("touchstart." + z, function(e) {
                        var t = e.touches ? e.touches : e.originalEvent.touches;
                        1 == t.length && (ie.device.touchStartX = ie.device.touchEndX = t[0].clientX)
                    }), ie.slider.$innerWrapper.on("touchmove." + z, function(e) {
                        var t = e.touches ? e.touches : e.originalEvent.touches;
                        1 == t.length && (ie.device.touchEndX = t[0].clientX), 45 < Math.abs(ie.device.touchStartX - ie.device.touchEndX) && e.preventDefault()
                    }), ie.slider.$innerWrapper.on("touchend." + z, function(e) {
                        45 < Math.abs(ie.device.touchStartX - ie.device.touchEndX) && (0 < ie.device.touchStartX - ie.device.touchEndX ? _.layerSlider("touchNext") : _.layerSlider("touchPrev"))
                    }))
                }
            },
            prev: function() {
                (!ie.slider.isPopup || ie.slider.isPopup && ie.slider.state.popupIsVisible) && (this.direction = "prev", this.forceDirection = "prev", ie.slideshow.set.prevNext("prev"))
            },
            next: function() {
                (!ie.slider.isPopup || ie.slider.isPopup && ie.slider.state.popupIsVisible) && (this.direction = "next", this.forceDirection = "next", ie.slideshow.set.prevNext("next"))
            },
            start: function() {
                ie.functions.setStates(ie.slideshow, {
                    running: !0,
                    paused: !1
                }), !0 === ie.slideshow.state.pausedByLastCycle && ie.functions.setStates(ie.slideshow, {
                    pausedByLastCycle: !1
                }), ie.gui.navigation.bottom.setStartStop("start"), ie.slideshow.state.pausedByHover || 1 !== ie.transitions._slideTimeline.timeScale() && ie.transitions.layers.timeline.resume(), ie.slideshow.start()
            },
            stop: function() {
                ie.gui.navigation.bottom.setStartStop("stop"), ie.o.pauseLayers && ie.transitions.layers.timeline.pause(), ie.slideshow.stop()
            }
        }, ie.preload = {
            init: function() {
                ie.slider.$hiddenWrapper.find(".ls-slide img").each(function() {
                    var e, t = se(this),
                        i = t[0],
                        a = {};
                    t.is(".ls-layer, .ls-bg") && (i.getAttribute("width") && (a.width = i.getAttribute("width")), i.getAttribute("height") && (a.height = i.getAttribute("height")), i.sizes && (a.sizes = i.sizes), ie.o.useSrcset && (t.data("srcset") || i.srcset) && (a.srcSet = t.data("srcset") || i.srcset, a.curSrc = i.currentSrc, e = a.srcSet.split(",").map(function(e) {
                        return parseInt(se.trim(e).split(" ")[1])
                    }), a.maxWidth = Math.max.apply(null, e)), t.removeAttr("width height sizes srcset"), se.isEmptyObject(a) || (t.data(ie.defaults.init.dataKey).attributes = a)), t.data("lazy-src") ? t.data("src", t.data("lazy-src")) : t.attr("data-lazy-src") ? t.data("src", t.attr("data-lazy-src")) : t.data("src") ? a.curSrc && t.data("src", a.curSrc) : t.data("src", a.curSrc ? a.curSrc : i.src), t.attr("src", "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")
                })
            },
            imagesOfSlide: function(e, t) {
                var a, s, r;
                !0 !== ie.slides[e].wrapped ? (this.slideIndex = e, t ? (this.onCompleteCallback = t, ie.functions.setStates(ie.slider, {
                    preloadingImages: !0
                }), ie.gui.loadingIndicator.show()) : this.onCompleteCallback = !1, ie.slider.canShow && _.css({
                    visibility: "visible"
                }), this.preImages = [], a = this, ie.slider.$hiddenWrapper.find(".ls-slide:eq(" + (a.slideIndex - 1) + ") *").each(function() {
                    s = se(this), r = this;
                    var e, t, i = s.data(ie.defaults.init.dataKey);
                    s.is("img") ? (s.data("src") && s.attr("src", s.data("src")), i && i.attributes && i.attributes.srcSet && ie.o.useSrcset && (r.srcset = i.attributes.srcSet), e = r.src, (t = !!(i && i.attributes && i.attributes.curSrc) && i.attributes.curSrc) && e !== t && s.is(".ls-bg") && (e = t, ie.slides[a.slideIndex].data.$background.attr("src", e)), ie.preload.preImages.push([e, s])) : "none" !== s.css("background-image") && -1 !== s.css("background-image").indexOf("url") && ie.preload.preImages.push([s.css("background-image").match(/url\((.*)\)/)[1].replace(/"/gi, ""), s])
                }), ie.transitions.firstSlide && ie.o.globalBGImage && ie.preload.preImages.push([ie.o.globalBGImage, se()]), this.thumbnailsAreLoaded || this.thumbnails(), 0 === this.preImages.length ? this.onComplete() : this.start()) : ie.slider.shouldResize && t && (ie.resize.setLayers(ie.layers.get("next, bg")), ie.resize.layers(t))
            },
            thumbnails: function() {
                for (var e = ie.slider.thumbnails.filter(function(e, t, i) {
                        return i.indexOf(e) == t
                    }), t = e.length, i = 0; i < t; i++) {
                    (new Image).src = e[i]
                }
                this.thumbnailsAreLoaded = !0
            },
            start: function() {
                ie.debugMode && (ie.debug.add("group", "preload"), ie.debug.add("log", "preload.info", this.slideIndex)), this.preloadedImagesCount = 0;
                for (var e, t = this, i = function() {
                        ++t.preloadedImagesCount == t.preImages.length && (ie.debugMode && ie.debug.groupEnd(), t.onComplete())
                    }, a = function() {
                        ie.debugMode && (e = this.src.substring(this.src.lastIndexOf("/") + 1, this.src.length), ie.debug.add("log", "preload.success", e)), this.originalLayer.data("preloadedWidth", this.width), this.originalLayer.data("preloadedHeight", this.height), i()
                    }, s = function() {
                        ie.debugMode && (e = this.src.substring(this.src.lastIndexOf("/") + 1, this.src.length), ie.debug.add("warn", "preload.fail", e)), i()
                    }, r = 0; r < this.preImages.length; r++) {
                    var o = new Image;
                    o.addEventListener("error", s, !1), o.addEventListener("load", a, !1), o.src = this.preImages[r][0], o.originalLayer = this.preImages[r][1]
                }
            },
            onComplete: function() {
                var s = this;
                this.onCompleteCallback ? (ie.layers.wrap(this.slideIndex), function e() {
                    var t, i, a;
                    0 !== ie.slides[s.slideIndex].$layers.length ? ie.timeouts.waitForWrap = setTimeout(e, 100) : (delete ie.timeouts.waitForWrap, ie.functions.setStates(ie.transitions.layers.parallax, {
                        ready: !0
                    }), se(".ls-thumbnail-wrapper, .ls-nav-next, .ls-nav-prev, .ls-bottom-nav-wrapper").css({
                        visibility: "visible"
                    }), ie.slides[s.slideIndex].wrapped = !0, t = !(!window._layerSlider.globals.youTubeIsReady && ie.layers.get("next,in,youtube,bgvideo").length), i = !(!window._layerSlider.globals.vimeoIsReady && ie.layers.get("next,in,vimeo,bgvideo").length), a = function() {
                        ie.gui.loadingIndicator.hide(), ie.slider.shouldResize ? (ie.resize.setLayers(ie.layers.get("next, bg")), ie.resize.layers(s.onCompleteCallback)) : s.onCompleteCallback()
                    }, t && i ? a() : ie.intervals.waitForJSApisLoaded = setInterval(function() {
                        (t || window._layerSlider.globals.youTubeIsReady) && (i || window._layerSlider.globals.vimeoIsReady) && (clearInterval(ie.intervals.waitForJSApisLoaded), delete ie.intervals.waitForJSApisLoaded, a())
                    }, 50))
                }()) : ie.layers.wrap(this.slideIndex, !0), ie.functions.setStates(ie.slider, {
                    preloadingImages: !1
                })
            }
        }, ie.resize = {
            setLayers: function(e) {
                this.$responsiveLayers = e.add(ie.layers.get("active")), ie.slides.next.data.$backgroundVideo.length && (this.$responsiveLayers = this.$responsiveLayers.add(ie.slides.next.data.$backgroundVideo))
            },
            all: function() {
                if (!document.body.contains(W)) return !1;
                ie.api.hasEvent("sliderWillResize") && _.triggerHandler("sliderWillResize", ie.api.eventData()), this.slider(), this.navigation(), this.layers(), this.yourLogo(), this.shadow(), this.timers(), ie.transitions.layers.timeline.shouldRestart && ie.o.allowRestartOnResize && (ie.functions.resetSlideTimelines(), ie.transitions.layers.timeline.create(!0)), ie.api.hasEvent("sliderDidResize") && _.triggerHandler("sliderDidResize", ie.api.eventData())
            },
            viewport: function() {
                se(window).scrollTop(Math.round(ie.slider.offsetTop) - (ie.device.viewportHeight - ie.slider.height) / 2)
            },
            slider: function() {
                if (!document.body.contains(W)) return !1;
                var e, t, i, a, s = ie.slider.$parentWithNumericWidthValue && 0 < ie.slider.$parentWithNumericWidthValue.width() ? ie.slider.$parentWithNumericWidthValue : ie.functions.getSliderClosestParentElementWidthNumericValueOfProperty("width"),
                    r = ie.slider.initial,
                    o = ie.slider.$parentWithNumericWidthValuePercent ? s.width() / 100 * ie.slider.$parentWithNumericWidthValuePercent : s.width(),
                    n = r.type,
                    l = 0 !== r.maxWidth ? r.maxWidth : o,
                    d = "auto" === r.marginLeft ? 0 : r.marginLeft,
                    u = "auto" === r.marginRight ? 0 : r.marginRight;
                switch (ie.slider.state.inFullscreen ? _[0].style.maxWidth = "" : 0 !== r.maxWidth && (_[0].style.maxWidth = r.maxWidth + "px"), -1 !== l.indexOf("%") && (l = o / 100 * parseInt(l)), l < (o -= d + u) && 0 <= l && (o = l), ie.o.fitScreenWidth && ("fullwidth" === n || "fullsize" === n && "fitheight" !== ie.o.fullSizeMode && "fitwidth" !== ie.o.fullSizeMode) && (t = s.offset().left, i = parseInt(s.css("padding-left")) || 0, a = parseInt(s.css("border-left-width")) || 0, _[0].style.maxWidth = "none", _[0].style.marginLeft = -(t + i + a) + "px", o = ie.device.viewportWidth || se(window).width()), o -= r.skinWidth, ie.slider.state.inFullscreen && (o = ie.device.width), n) {
                    case "responsive":
                        e = (ie.slider.state.inFullscreen ? (ie.device.ratio > r.ratio ? this.ratio = ie.device.height / r.height : this.ratio = ie.device.width / r.width, o = Math.round(r.width * this.ratio)) : this.ratio = o / r.width, Math.round(r.height * this.ratio));
                        break;
                    case "fullwidth":
                        e = o < ie.o.responsiveUnder ? (this.ratio = o / ie.o.responsiveUnder, Math.round(r.height * this.ratio)) : ie.slider.state.inFullscreen ? ie.device.ratio > r.layersWidth / r.height ? (this.ratio = ie.device.height / r.height, ie.device.height) : (this.ratio = ie.device.width / r.layersWidth, r.height * this.ratio) : (this.ratio = 1, r.height);
                        break;
                    case "fullsize":
                        switch (ie.o.fullSizeMode.toLowerCase()) {
                            case "normal":
                                e = ie.device.viewportHeight - r.skinHeight;
                                break;
                            case "hero":
                                e = ie.device.viewportHeight - r.skinHeight, ie.slider.state.inFullscreen || (e -= ie.slider.heroTop ? ie.slider.heroTop : ie.slider.offsetTop);
                                break;
                            case "fitheight":
                                o = s.width() - r.skinWidth, e = s.height() - r.skinHeight;
                                break;
                            case "fitwidth":
                                o = s.width() - r.skinWidth, e = ie.device.viewportHeight - r.skinHeight
                        }
                        o / e < r.ratio ? this.ratio = o / r.layersWidth : this.ratio = e / r.layersHeight;
                        break;
                    case "fixed":
                    case "fixedsize":
                        this.ratio = 1, o = r.width, e = r.height, ie.o.maxRatio = 1, W.style.maxWidth = "none"
                }
                this.ratio = ie.o.maxRatio && 0 < ie.o.maxRatio && this.ratio > ie.o.maxRatio ? ie.o.maxRatio : this.ratio, W.style.width = o + "px", W.style.height = e + "px", ie.slider.width = o, ie.slider.height = e;
                var p = _.offset();
                ie.slider.offsetX = p.left, ie.slider.offsetY = p.top, ie.device.isMobile ? ie.device.viewportWidth < 1025 && 767 < ie.device.viewportWidth ? _.removeClass("ls-device-is-phone").addClass("ls-device-is-tablet") : ie.device.viewportWidth < 768 && _.removeClass("ls-device-is-tablet").addClass("ls-device-is-phone") : _.removeClass("ls-device-is-phone ls-device-is-tablet").addClass("ls-device-is-desktop")
            },
            borderRadius: function(e) {
                for (var t = ("" + e).split(" "), i = "", a = ie.o.maxRatio && 0 < ie.o.maxRatio && this.ratio > ie.o.maxRatio ? ie.o.maxRatio : this.ratio, s = 0, r = t.length; s < r; s++) - 1 === t[s].indexOf("%") ? i += Math.ceil(parseInt(t[s]) * a) + "px " : i += t[s] + " ";
                return se.trim(i)
            },
            layers: function(e) {
                if (this.$responsiveLayers) {
                    ie.debugMode && ie.debug.add("group", "resize");
                    for (var t = this.ratio, i = this.$responsiveLayers, a = ie.slider.initial, s = ie.slider.width, r = ie.slider.height, o = s / r, n = [], l = [], d = [], u = [], p = 0, c = 0, h = "responsive" === a.type && -1 !== ie.o.maxRatio ? a.width : a.layersWidth, m = "responsive" === a.type && -1 !== ie.o.maxRatio ? a.height : a.layersHeight, c = "fullsize" === a.type || "fullwidth" === a.type || "responsive" === a.type ? (p = 0 < h ? (s - h * t) / 2 : 0, 0 < m ? (r - m * t) / 2 : 0) : (p = p < 0 ? 0 : p, c < 0 ? 0 : c), f = 0, g = i.length; f < g; f++) {
                        var v, y = se(i[f]),
                            b = (i[f], y.data(ie.defaults.init.dataKey)),
                            S = b.original,
                            w = "fixed" === b.settings.position,
                            x = w ? 0 : p,
                            T = w ? 0 : c,
                            C = {
                                width: w && 0 !== S.percentWidth ? s / 100 * S.percentWidth : S.width * t,
                                height: w && 0 !== S.percentHeight ? r / 100 * S.percentHeight : S.height * t,
                                paddingLeft: S.paddingLeft * t,
                                paddingTop: S.paddingTop * t,
                                paddingRight: S.paddingRight * t,
                                paddingBottom: S.paddingBottom * t,
                                borderLeftWidth: Math.ceil(S.borderLeftWidth * t),
                                borderTopWidth: Math.ceil(S.borderTopWidth * t),
                                borderRightWidth: Math.ceil(S.borderRightWidth * t),
                                borderBottomWidth: Math.ceil(S.borderBottomWidth * t),
                                borderRadius: this.borderRadius(S.borderRadius)
                            },
                            k = {
                                marginLeft: S.marginLeft * t,
                                marginTop: S.marginTop * t
                            },
                            I = {},
                            O = {
                                borderRadius: C.borderRadius
                            };
                        if (w && (S.percentHeight || S.percentWidth) && b.is.imageLayer && (S.percentHeight && !S.percentWidth && (C.width = S.width * (C.height / S.height)), S.percentWidth && !S.percentHeight && (C.height = S.height * (C.width / S.width))), ("number" == typeof S.width && S.width < 0 || "auto" == S.width) && ie.debugMode && ie.debug.add("warn", "resize.width", [f + 1, S.width]), ("number" == typeof S.height && S.height < 0 || "auto" == S.height) && ie.debugMode && ie.debug.add("warn", "resize.height", [f + 1, S.height]), b.is.textLayer && (C.fontSize = S.fontSize * t, ie.device.isMobile && C.fontSize < b.styleSettings.minmobilefontsize ? C.fontSize = b.styleSettings.minmobilefontsize : C.fontSize < b.styleSettings.minfontsize && (C.fontSize = b.styleSettings.minfontsize), v = C.fontSize / S.fontSize, C.fontSize += "px", "normal" !== S.lineHeight && (C.lineHeight = parseFloat(S.lineHeight) * v + "px"), "normal" !== S.letterSpacing && (C.letterSpacing = parseFloat(S.letterSpacing) * v + "px")), b.is.slideBackground || b.is.backgroundVideo)
                            if (b.is.slideBackground) {
                                var L = ie.slides[b.is.onSlide].data.backgroundSize;
                                switch ((void 0 !== L && "inherit" !== L ? L : ie.o.slideBGSize).replace("100% 100%", "stretch")) {
                                    case "auto":
                                        break;
                                    case "cover":
                                        S.ratio < o ? (C.width = s, C.height = C.width / S.ratio) : (C.height = r, C.width = C.height * S.ratio);
                                        break;
                                    case "contain":
                                        S.ratio < o ? (C.height = r, C.width = C.height * S.ratio) : (C.width = s, C.height = C.width / S.ratio);
                                        break;
                                    case "stretch":
                                        C.width = s, C.height = r
                                }
                                C.width = Math.round(C.width), C.height = Math.round(C.height);
                                var P, $ = ie.slides[b.is.onSlide].data.backgroundPosition;
                                switch ((P = void 0 !== $ ? $.split(" ") : ie.o.slideBGPosition.split(" "))[0]) {
                                    case "left":
                                        C.x = 0;
                                        break;
                                    case "center":
                                        C.x = (ie.slider.width - C.width) / 2;
                                        break;
                                    case "right":
                                        C.x = ie.slider.width - C.width;
                                        break;
                                    default:
                                        -1 !== P[0].indexOf("%") ? C.x = (ie.slider.width - C.width) / 100 * parseInt(P[0]) : C.x = parseInt(P[0])
                                }
                                if (void 0 !== P[1]) switch (P[1]) {
                                    case "top":
                                        C.y = 0;
                                        break;
                                    case "center":
                                        C.y = (ie.slider.height - C.height) / 2;
                                        break;
                                    case "bottom":
                                        C.y = ie.slider.height - C.height;
                                        break;
                                    default:
                                        -1 !== P[1].indexOf("%") ? C.y = (ie.slider.height - C.height) / 100 * parseInt(P[1]) : C.y = parseInt(P[1])
                                }
                                C.transform = "translateX(" + C.x + "px) translateY(" + C.y + "px)", C["-ms-transform"] = "translateX(" + C.x + "px) translateY(" + C.y + "px)", C["-webkit-transform"] = "translateX(" + C.x + "px) translateY(" + C.y + "px)"
                            } else b.is.backgroundVideo && (S.ratio < o ? (C.width = s, C.height = C.width / S.ratio) : (C.height = r, C.width = C.height * S.ratio), C.x = (ie.slider.width - C.width) / 2, C.y = (ie.slider.height - C.height) / 2, C.width = Math.round(C.width), C.height = Math.round(C.height), C.transform = "translateX(" + C.x + "px) translateY(" + C.y + "px)", C["-ms-transform"] = "translateX(" + C.x + "px) translateY(" + C.y + "px)", C["-webkit-transform"] = "translateX(" + C.x + "px) translateY(" + C.y + "px)");
                        else {
                            if (b.mediaSettings.fullsize) switch (b.mediaSettings.fillmode) {
                                default:
                                    case "cover":
                                    S.ratio < o ? (C.width = s, C.height = C.width / S.ratio) : (C.height = r, C.width = C.height * S.ratio);
                                break;
                                case "contain":
                                        S.ratio > o ? (C.width = s, C.height = C.width / S.ratio) : (C.height = r, C.width = C.height * S.ratio)
                            }
                            C.outerWidth = C.width + C.paddingLeft + C.paddingRight + C.borderLeftWidth + C.borderRightWidth, C.outerHeight = C.height + C.paddingTop + C.paddingBottom + C.borderTopWidth + C.borderBottomWidth, k.width = I.width = C.outerWidth, k.height = I.height = C.outerHeight, -1 != S.left.indexOf("%") ? "100%" === S.left ? C.left = 0 === x ? ie.slider.width / 100 * parseFloat(S.left) - C.outerWidth : x + h * t / 100 * parseFloat(S.left) - C.outerWidth : "0%" === S.left ? C.left = 0 === x ? 0 : x : C.left = 0 === x ? ie.slider.width / 100 * parseFloat(S.left) - C.outerWidth / 2 : x + h * t / 100 * parseFloat(S.left) - C.outerWidth / 2 : C.left = x + parseFloat(S.left) * t, k.left = C.left, -1 != S.top.indexOf("%") ? "100%" === S.top ? C.top = 0 === T ? ie.slider.height / 100 * parseFloat(S.top) - C.outerHeight : T + m * t / 100 * parseFloat(S.top) - C.outerHeight : "0%" === S.top ? C.top = 0 === T ? 0 : T + 0 : C.top = 0 === T ? ie.slider.height / 100 * parseFloat(S.top) - C.outerHeight / 2 : T + m * t / 100 * parseFloat(S.top) - C.outerHeight / 2 : C.top = T + parseFloat(S.top) * t, k.top = C.top
                        }
                        b.responsive = C, n[f] = C, b.is.slideBackground || b.is.backgroundVideo || (b.settings.wrapperData.responsive = k, l[f] = k, d[f] = I, u[f] = O)
                    }
                    for (var B = 0, M = n.length; B < M; B++) {
                        var W = se(i[B]),
                            _ = W.data(ie.defaults.init.dataKey);
                        W.css(n[B]), _.is.slideBackground || _.is.backgroundVideo ? (_.is.slideBackground || _.is.backgroundVideo) && (_.elements.$bgOuterWrapper.css({
                            width: ie.slider.width,
                            height: ie.slider.height
                        }), _.elements.$outerWrapper.css({
                            width: ie.slider.width,
                            height: ie.slider.height
                        })) : (W.find(".split-item").css(u[B]), this.wrappers(W, _, l[B], d[B]))
                    }
                    void 0 !== e && e(), ie.debugMode && ie.debug.groupEnd("resize")
                }
            },
            wrappers: function(e, t, i, a) {
                i && t.elements.$wrapper.css(i), a && t.loop.enabled && t.elements.$loopWrapper.css(a), ae.TweenMax.set(t.elements.$wrapper[0], {
                    autoCSS: !1,
                    css: {
                        transformPerspective: t.transformPerspective.layer * ie.resize.ratio
                    }
                }), t.loop.enabled && ae.TweenMax.set(t.elements.$loopWrapper[0], {
                    autoCSS: !1,
                    css: {
                        transformPerspective: t.transformPerspective.loop * ie.resize.ratio
                    }
                }), t.hover.enabled && ae.TweenMax.set(e[0], {
                    autoCSS: !1,
                    css: {
                        transformPerspective: t.transformPerspective.hover * ie.resize.ratio
                    }
                }), t.textIn.nodes && ae.TweenMax.set(t.textIn.nodes, {
                    autoCSS: !1,
                    css: {
                        transformPerspective: t.transformPerspective.text * ie.resize.ratio
                    }
                }), t.textOut.nodes && ae.TweenMax.set(t.textOut.nodes, {
                    autoCSS: !1,
                    css: {
                        transformPerspective: t.transformPerspective.text * ie.resize.ratio
                    }
                }), t.parallax.enabled && ae.TweenMax.set(t.elements.$parallaxWrapper[0], {
                    autoCSS: !1,
                    css: {
                        transformPerspective: t.transformPerspective.parallax * ie.resize.ratio
                    }
                })
            },
            transformProperties: function(e, t, i, a) {
                if ("object" == typeof i.x) {
                    for (var s = [], r = 0; r < i.x.length; r++) "string" == typeof i.x[r] ? s[r] = this.getXY(e, i.x[r], "Width") : s[r] = i.x[r] * ie.resize.ratio;
                    t.cycle.x = s
                } else "string" == typeof i.x ? t.x = this.getXY(e, i.x, "Width") : void 0 !== i.x && (t.x = i.x * ie.resize.ratio);
                if ("object" == typeof i.y) {
                    for (var o = [], n = 0; n < i.y.length; n++) "string" == typeof i.y[n] ? o[n] = this.getXY(e, i.y[n], "Height") : o[n] = i.y[n] * ie.resize.ratio;
                    t.cycle.y = o
                } else "string" == typeof i.y ? t.y = this.getXY(e, i.y, "Height") : void 0 !== i.y && (t.y = i.y * ie.resize.ratio);
                if (a && (t = a), "object" == typeof i.transformOrigin) {
                    for (var l = [], d = 0; d < i.transformOrigin.length; d++) l[d] = ie.functions.convert.transformOrigin(i.transformOrigin[d], e);
                    t.cycle.transformOrigin = l
                } else "string" == typeof i.transformOrigin && (t.transformOrigin = ie.functions.convert.transformOrigin(i.transformOrigin, e))
            },
            styleProperties: function(e, t) {
                void 0 !== t.width && (se.isNumeric(t.width) ? e.width = parseInt(t.width) * ie.resize.ratio : "string" == typeof t.width && -1 !== t.width.indexOf("%") && (e.width = ie.slider.width / 100 * parseInt(t.width))), void 0 !== t.height && (se.isNumeric(t.height) ? e.height = parseInt(t.height) * ie.resize.ratio : "string" == typeof t.height && -1 !== t.height.indexOf("%") && (e.height = ie.slider.height / 100 * parseInt(t.height))), t.borderRadius && (e.borderRadius = ie.resize.borderRadius(t.borderRadius))
            },
            clip: function(e, t, i) {
                t = se.trim(t.replace("rect(", "").replace(")", ""));
                for (var a, s = e.data(ie.defaults.init.dataKey).responsive, r = Math.ceil(s.outerWidth), o = Math.ceil(s.outerHeight), n = -1 === t.indexOf(",") ? t.split(" ") : t.split(","), l = "", d = 0; d < n.length; d++)
                    if (-1 !== n[d].indexOf("%")) switch (d) {
                        case 0:
                            l += parseInt(o / 100 * parseInt(n[d]) * 100) / 100 + "px ";
                            break;
                        case 1:
                            l += i ? parseInt(100 * (r - r / 100 * parseInt(n[d]))) / 100 + "px " : parseInt(r / 100 * parseInt(n[d]) * 100) / 100 + "px ";
                            break;
                        case 2:
                            l += i ? parseInt(100 * (o - o / 100 * parseInt(n[d]))) / 100 + "px " : parseInt(o / 100 * parseInt(n[d]) * 100) / 100 + "px ";
                            break;
                        case 3:
                            l += parseInt(r / 100 * parseInt(n[d]) * 100) / 100 + "px"
                    } else switch (a = parseInt(n[d]) * ie.resize.ratio, d) {
                        case 0:
                            l += a + "px ";
                            break;
                        case 1:
                            l += i ? r - a + "px " : a + "px ";
                            break;
                        case 2:
                            l += i ? o - a + "px " : a + "px ";
                            break;
                        case 3:
                            l += a + "px"
                    }
                    return "rect(" + l + ")"
            },
            getXY: function(e, t, i) {
                var a = 0,
                    s = e.data(ie.defaults.init.dataKey),
                    r = s.original,
                    o = s.responsive,
                    n = s.settings.wrapperData.responsive;
                if (r && o && n) switch (t) {
                    case "left":
                        a = -1 == r.left.indexOf("%") || "100%" === r.left ? -o.left - o.outerWidth - n.marginLeft : -parseInt(r.left) / 100 * ie.slider.width - o.outerWidth / 2 - n.marginLeft;
                        break;
                    case "right":
                        a = -1 == r.left.indexOf("%") || "100%" === r.left ? ie.slider.width - o.left - n.marginLeft : (1 - parseInt(r.left) / 100) * ie.slider.width + o.outerWidth / 2 - n.marginLeft;
                        break;
                    case "top":
                        a = -1 == r.top.indexOf("%") || "100%" === r.top ? -o.top - o.outerHeight - n.marginTop : -parseInt(r.top) / 100 * ie.slider.height - o.outerHeight / 2 - n.marginTop;
                        break;
                    case "bottom":
                        a = -1 == r.top.indexOf("%") || "100%" === r.top ? ie.slider.height - o.top - n.marginTop : (1 - parseInt(r.top) / 100) * ie.slider.height + o.outerHeight / 2 - n.marginTop;
                        break;
                    case "width":
                        a = o.outerWidth;
                        break;
                    case "-width":
                        a = -o.outerWidth;
                        break;
                    case "height":
                        a = o.outerHeight;
                        break;
                    case "-height":
                        a = -o.outerHeight;
                        break;
                    default:
                        a = -1 !== t.indexOf("%") ? o["outer" + i] / 100 * parseInt(t) : -1 !== t.indexOf("sw") ? parseInt(t.split("sw")[0]) / 100 * ie.slider.width : -1 !== t.indexOf("sh") ? parseInt(t.split("sh")[0]) / 100 * ie.slider.height : -1 !== t.indexOf("lw") ? o.outerWidth / 100 * parseInt(t.split("lw")[0]) : -1 !== t.indexOf("lh") ? o.outerHeight / 100 * parseInt(t.split("lh")[0]) : parseInt(t) * ie.resize.ratio
                }
                return a
            },
            navigation: function() {
                "always" == ie.o.thumbnailNavigation && ie.gui.navigation.bottom.thumbnails.resize()
            },
            shadow: function() {
                ie.gui.shadow.show && ie.gui.shadow.show(), ie.gui.shadow.$element && ie.gui.shadow.resize()
            },
            yourLogo: function() {
                ie.yourLogo.$element && ie.yourLogo.resize()
            },
            timers: function() {
                if (0 < ie.gui.timers.slidebar.$containerElement.length)
                    for (var e = 0, t = ie.gui.timers.slidebar.$containerElement.length; e < t; e++) ie.gui.timers.slidebar.containerElementWidth[e] = ie.gui.timers.slidebar.$containerElement[e].width(), ie.gui.timers.slidebar.elementWidth[e] = ie.gui.timers.slidebar.$element[e].width()
            }
        }, ie.transitions = {
            firstSlide: !0,
            start: function() {
                return !!document.body.contains(W) && (ie.slider.isPopup && ie.slider.state.popupIsWaitingForDelay ? !(ie.slider.state.waitingForPopupTimer = !0) : (ie.device.scroll.directionAtSlideTransitionStart = ie.device.scroll.direction, "always" == ie.o.thumbnailNavigation && (ie.gui.navigation.bottom.thumbnails.change(), "ontouchstart" in window || ie.gui.navigation.bottom.thumbnails.scroll()), this.layers.out.forced(), void this.slide.init()))
            },
            slide: {
                $wrapper: se(),
                init: function() {
                    var e, t, i, a, s, r;
                    ie.functions.setStates(ie.slider, {
                        animatingSlides: !0
                    }), ie.transitions.layers.parallax.reset(), ie.slider.$layersWrapper.children('.ls-parallax[data-ls-parallax="active"]').each(function() {
                        se(this).find(".ls-layer").data(ie.defaults.init.dataKey).settings.slideOut === ie.slides.current.index && se(this).attr("data-ls-parallax", "disbaled")
                    }), ie.transitions.curSlide = ie.slides.current, ie.transitions.nextSlide = ie.slides.next, ie.transitions._slideTransition = new ae.TimelineMax({
                        paused: !0,
                        onComplete: function() {
                            ie.transitions.slide.onComplete()
                        }
                    }), ie.transitions.firstSlide ? (void 0 !== ie.transitions.nextSlide.data.$background && (a = (i = ie.transitions.nextSlide.data.$background.data(ie.defaults.init.dataKey)).kenBurns.zoom ? i.kenBurns.from.scale : 1, s = i.kenBurns.zoom ? i.kenBurns.from.rotation : 0, r = ie.transitions.nextSlide.filter.from || "none", ie.transitions._slideTransition.set(ie.transitions.nextSlide.data.$background[0], {
                        "-webkit-filter": r,
                        filter: r
                    }, 0), ie.transitions._slideTransition.fromTo(ie.transitions.nextSlide.data.$background.closest(".ls-bg-wrap")[0], ie.o.sliderFadeInDuration, {
                        autoCSS: !1,
                        css: {
                            scale: a,
                            rotation: s,
                            opacity: 0,
                            display: "block"
                        }
                    }, {
                        autoCSS: !1,
                        css: {
                            opacity: 1
                        }
                    }, 0)), this.start(!0)) : "undefined" == typeof layerSliderTransitions && "undefined" == typeof layerSliderCustomTransitions ? (this.start(!0), ie.debugMode && ie.debug.add("warn", "slideTransition.noSlideTransition", ie.transitions.nextSlide.index)) : void 0 === ie.transitions.curSlide.data.$background && void 0 === ie.transitions.nextSlide.data.$background && "transparent" == ie.transitions.curSlide.data.backgroundColor && "transparent" == ie.transitions.nextSlide.data.backgroundColor ? this.start(!0) : ("x" === ie.o.clipSlideTransition ? ie.device.$overflowWrapper.addClass("ls-overflowx-hidden") : "y" === ie.o.clipSlideTransition ? ie.device.$overflowWrapper.addClass("ls-overflowy-hidden") : !0 === ie.o.clipSlideTransition && ie.device.$overflowWrapper.addClass("ls-overflow-hidden"), void 0 !== ie.transitions.curSlide.data.$background && (e = ie.transitions.curSlide.data.$background.closest(".ls-bg-wrap")[0]._gsTransform, (t = ie.transitions.curSlide.data.$background.data(ie.defaults.init.dataKey)).responsive.filter = ie.transitions.curSlide.data.$background[0].style.filter, t.responsive.kbRotation = void 0 !== e ? " rotate(" + e.rotation + "deg)" : " rotate(0deg)", t.responsive.kbScale = void 0 !== e ? " scale(" + e.scaleX + ")" : " scale(1)"), ie.transitions.slide.$wrapper = se("<div>").addClass("ls-slide-transition-wrapper").css({
                        width: ie.slider.width,
                        height: ie.slider.height
                    }), this.select.slideTransitionType())
                },
                select: {
                    slideTransitionType: function() {
                        ie.transitions.slide.normal.select.transitionType()
                    }
                },
                start: function(e) {
                    var t, i, a = !(!ie.slides.current.index || !ie.slides.current.data.$backgroundVideo.length),
                        s = !(!ie.slides.next.index || !ie.slides.next.data.$backgroundVideo.length);
                    !ie.slideshow.firstStart && ie.api.hasEvent("slideChangeDidStart") && _.triggerHandler("slideChangeDidStart", ie.api.eventData()), e || (void 0 !== ie.transitions.nextSlide.data.transitionDuration && ie.transitions._slideTransition.duration(ie.transitions.nextSlide.data.transitionDuration), ie.debugMode && ie.debug.options.transitionDuration && ie.transitions._slideTransition.duration(ie.debug.options.transitionDuration), .25 < ie.transitions.layers.timeline.timeScaleModifier && (i = (i = ie.transitions._slideTransition.duration() / (.75 + ie.transitions.layers.timeline.timeScaleModifier)) < .5 ? .5 : i, ie.transitions._slideTransition.duration(i)));
                    var r, o = ie.transitions._slideTransition.duration() / ie.transitions._slideTransition.timeScale(),
                        n = o,
                        l = ie.transitions.nextSlide.data.timeShift;
                    0 < l ? l = 0 : l < 0 && Math.abs(l) > o && (l = -o), ie.transitions.nextSlide.data.calculatedTimeShift = l, r = ie.transitions.firstSlide ? ie.o.sliderFadeInDuration + .01 : (n + l) * ie.transitions._slideTransition.timeScale(), (a || s) && ie.transitions.media.changeBackgroundVideo(ie.transitions.firstSlide, a && s), ie.transitions._slideTransition.call(function() {
                        !ie.slideshow.firstStart && ie.api.hasEvent("slideChangeWillComplete") && _.triggerHandler("slideChangeWillComplete", ie.api.eventData()), ie.slideshow.should.change || ie.transitions.layers.timeline.prepare(), ie.media.functions.stop(!0), ie.slides.set.slideIndexes(), ie.o.hashChange && (document.location.hash = ie.slides[ie.slides.current.index].data.deeplink || "_no-deeplink-found_"), ie.slideshow.start(), !ie.transitions.firstSlide && ie.slides.prev.index && ie.slides.prev.data.$backgroundVideo.length && !ie.slides.prev.data.$backgroundVideo.data(ie.defaults.init.dataKey).mediaProperties.willBePaused && (ie.slides.prev.data.$backgroundVideo.trigger("stopBackgroundVideo"), ie.slides.prev.data.$backgroundVideo.data(ie.defaults.init.dataKey).elements.$bgWrapper.css({
                            display: "none"
                        })), ie.slideshow.should.change || ie.slides.next.data.$backgroundVideo.length && ie.slides.next.data.$backgroundVideo.data(ie.defaults.init.dataKey).mediaProperties && !ie.slides.next.data.$backgroundVideo.data(ie.defaults.init.dataKey).mediaProperties.isPreloaded && (ie.slides.next.data.$backgroundVideo.trigger("preloadBackgroundVideo"), ie.slides.next.data.$backgroundVideo.data(ie.defaults.init.dataKey).mediaProperties.isPreloaded = !0), ie.transitions.firstSlide = !1
                    }, [], this, r), ie.transitions._slideTransition.play(), ie.slideshow.forceFastChange && ie.transitions._slideTransition.progress(1), void 0 !== ie.transitions.curSlide.data && void 0 !== ie.transitions.curSlide.data.$background && (t = ie.transitions.curSlide.data.$background.data(ie.defaults.init.dataKey), ie.timeouts.applyBG = setTimeout(function() {
                        delete ie.timeouts.applyBG, ie.transitions.curSlide.data.$background.closest(".ls-bg-wrap").hide(), t.kenBurns.zoom && ae.TweenMax.set(ie.transitions.curSlide.data.$background[0], {
                            autoCSS: !1,
                            css: t.kenBurns.from
                        })
                    }, 5))
                },
                onComplete: function() {
                    var e;
                    void 0 !== ie.transitions.nextSlide.data.$background && ie.transitions.nextSlide.data.$background.closest(".ls-bg-wrap").show(), "transparent" !== ie.transitions.nextSlide.data.backgroundColor ? ie.slider.$innerWrapper.css("background-color", ie.transitions.nextSlide.data.backgroundColor) : ie.slider.$innerWrapper.css("background-color", ie.o.globalBGColor), ie.o.leaveOverflow || ie.device.$overflowWrapper.removeClass("ls-overflowx-hidden ls-overflowy-hidden ls-overflow-hidden"), this.$wrapper && (this.$wrapper.html("").remove(), this.$wrapper = !1), ie.gui.navigation.bottom.bullets.set.active(), 0 < ie.o.cycles && (ie.slideshow.hasOwnProperty("cycleSlideIndex") ? ie.slideshow.cycles.check(ie.transitions.nextSlide.index) && (ie.navigation.stop(), ie.functions.setStates(ie.slideshow, {
                        pausedByLastCycle: !0
                    }), ie.o.forceCycles && (ie.slideshow.curCycle = 1)) : ie.slideshow.cycles.set()), ie.functions.setStates(ie.slider, {
                        animatingSlides: !1,
                        changingSlides: !1
                    }), !ie.slideshow.firstStart && ie.api.hasEvent("slideChangeDidComplete") && _.triggerHandler("slideChangeDidComplete", ie.api.eventData()), ie.slideshow.firstStart = !1, ie.slideshow.forceFastChange = !1, ie.slideshow.forceFastChangeCallback && (ie.slideshow.forceFastChangeCallback(), ie.slideshow.forceFastChangeCallback = !1), !1 !== ie.slideshow.should.change && ie.navigation.forceDirection ? (void 0 !== ie.transitions.curSlide.data && void 0 !== ie.transitions.curSlide.data.$background && (e = ie.transitions.curSlide.data.$background.data(ie.defaults.init.dataKey), ie.transitions.curSlide.data.$background.closest(".ls-bg-wrap").hide(), e.kenBurns.zoom && ae.TweenMax.set(ie.transitions.curSlide.data.$background[0], {
                        autoCSS: !1,
                        css: e.kenBurns.from
                    })), ie.slideshow.changeTo(ie.slideshow.get.slideInSequence(ie.navigation.forceDirection), !0)) : ie.preload.imagesOfSlide(ie.slides.next.index)
                },
                normal: {
                    select: {
                        transitionType: function() {
                            var e, t, i;
                            ie.o.slideTransition ? ie.transitions.slide.normal.setTransition(ie.o.slideTransition.type, ie.o.slideTransition.obj) : (i = !!ie.transitions.nextSlide.data.transition2d && ie.transitions.nextSlide.data.transition2d.toString().split(","), ie.device.touchPrev && ie.o.slideOnSwipe ? (ie.device.touchPrev = !1, this.transition("2d", "1")) : ie.device.touchNext && ie.o.slideOnSwipe ? (ie.device.touchNext = !1, this.transition("2d", "1")) : ie.slides.next.data.$background || i && (!i || -1 != i.indexOf("1") || -1 != i.indexOf("2") || -1 != i.indexOf("3") || -1 != i.indexOf("4")) ? ie.browser.supports3D() && (ie.transitions.nextSlide.data.transition3d || ie.transitions.nextSlide.data.customtransition3d) ? ie.transitions.nextSlide.data.transition3d && ie.transitions.nextSlide.data.customtransition3d ? (e = Math.floor(2 * Math.random()), t = [
                                ["3d", ie.transitions.nextSlide.data.transition3d],
                                ["custom3d", ie.transitions.nextSlide.data.customtransition3d]
                            ], this.transition(t[e][0], t[e][1])) : ie.transitions.nextSlide.data.transition3d ? this.transition("3d", ie.transitions.nextSlide.data.transition3d) : this.transition("custom3d", ie.transitions.nextSlide.data.customtransition3d) : ie.transitions.nextSlide.data.transition2d && ie.transitions.nextSlide.data.customtransition2d ? (e = Math.floor(2 * Math.random()), t = [
                                ["2d", ie.transitions.nextSlide.data.transition2d],
                                ["custom2d", ie.transitions.nextSlide.data.customtransition2d]
                            ], this.transition(t[e][0], t[e][1])) : ie.transitions.nextSlide.data.transition2d ? this.transition("2d", ie.transitions.nextSlide.data.transition2d) : ie.transitions.nextSlide.data.customtransition2d ? this.transition("custom2d", ie.transitions.nextSlide.data.customtransition2d) : this.transition("2d", "1") : this.transition("2d", "5"))
                        },
                        transition: function(e, t) {
                            ie.debugMode && ie.debug.add("group", "slideTransition.info"), t += "";
                            var i, a, s, r = -1 == e.indexOf("custom") ? ie.t : ie.ct,
                                o = "3d"; - 1 != e.indexOf("2d") && (o = "2d"), s = -1 != t.indexOf("last") ? r["t" + o].length - 1 : -1 != t.indexOf("all") ? Math.floor(Math.random() * ie.functions.countProp(r["t" + o])) : (a = (i = t.split(",")).length, parseInt(i[Math.floor(Math.random() * a)]) - 1), void 0 === r["t" + o][s] && (ie.debugMode && ie.debug.add("warn", "slideTransition.customTransition", [o.toUpperCase() + (-1 === e.indexOf("custom") ? "" : " (CUSTOM)"), s + 1]), r = ie.t, e = o = "2d", s = 0), ie.debugMode && ie.debug.add("log", "slideTransition.info", [o.toUpperCase() + (-1 === e.indexOf("custom") ? "" : " (CUSTOM)"), s + 1, r["t" + o][s].name]), ie.transitions.slide.normal.setTransition(o, r["t" + o][s])
                        }
                    },
                    setTransition: function(e, t) {
                        var i, a, s, r, o = se.extend(!0, {
                                cols: 1,
                                rows: 1
                            }, t),
                            n = typeof o.cols,
                            l = typeof o.rows,
                            d = [],
                            u = ie.navigation.direction,
                            p = 0,
                            c = 0,
                            h = !!ie.transitions.curSlide.data.$background && ie.functions.getURL(ie.transitions.curSlide.data.$background),
                            m = !!ie.transitions.nextSlide.data.$background && ie.functions.getURL(ie.transitions.nextSlide.data.$background),
                            f = ie.o.playByScroll && "up" === ie.device.scroll.direction ? "to" : "from";
                        switch (n) {
                            case "number":
                                n = o.cols;
                                break;
                            case "string":
                                n = Math.floor(Math.random() * (parseInt(o.cols.split(",")[1]) - parseInt(o.cols.split(",")[0]) + 1)) + parseInt(o.cols.split(",")[0]);
                                break;
                            default:
                                n = Math.floor(Math.random() * (o.cols[1] - o.cols[0] + 1)) + o.cols[0]
                        }
                        switch (l) {
                            case "number":
                                l = o.rows;
                                break;
                            case "string":
                                l = Math.floor(Math.random() * (parseInt(o.rows.split(",")[1]) - parseInt(o.rows.split(",")[0]) + 1)) + parseInt(o.rows.split(",")[0]);
                                break;
                            default:
                                l = Math.floor(Math.random() * (o.rows[1] - o.rows[0] + 1)) + o.rows[0]
                        }
                        ie.device.isMobile && ie.o.optimizeForMobile ? (15 <= n ? n = 7 : 5 <= n ? n = 4 : 4 <= n ? n = 3 : 2 < n && (n = 2), 15 <= l ? l = 7 : 5 <= l ? l = 4 : 4 <= l ? l = 3 : 2 < l && (l = 2), 2 < l && 2 < n && (l = 2, 4 < n && (n = 4))) : (n = 35 < n ? 35 : n, l = 35 < l ? 35 : l), ie.debugMode && !ie.o.slideTransition && (ie.debug.add("log", "slideTransition.properties", [
                            [n, l], n * l
                        ]), ie.debug.groupEnd()), i = Math.floor(ie.slider.width / n), a = Math.floor(ie.slider.height / l), s = ie.slider.width - i * n, r = ie.slider.height - a * l, "prev" == u && (o.tile && o.tile.sequence && (o.tile.sequence = {
                            random: "random",
                            forward: "reverse",
                            reverse: "forward",
                            "col-forward": "col-reverse",
                            "col-reverse": "col-forward"
                        }[o.tile.sequence]), se.each(["animation", "before", "after"], function(e, t) {
                            var i;
                            o[t] && o[t].transition && ((i = o[t].transition).rotateX && 44 < Math.abs(i.rotateX) && (i.rotateX *= -1), i.rotateY && 44 < Math.abs(i.rotateY) && (i.rotateY *= -1), i.rotate && (i.rotate *= -1))
                        }));
                        for (var g, v, y = 0; y < n * l; y++) d.push(y);
                        switch (o.tile.sequence) {
                            case "reverse":
                                d.reverse();
                                break;
                            case "col-forward":
                                d = ie.functions.sortArray(l, n, "forward");
                                break;
                            case "col-reverse":
                                d = ie.functions.sortArray(l, n, "reverse");
                                break;
                            case "random":
                                d = ie.functions.shuffleArray(d)
                        }
                        "transparent" === ie.transitions.curSlide.data.backgroundColor && (ie.transitions.curSlide.data.backgroundColor = ie.o.globalBGColor), "transparent" === ie.transitions.nextSlide.data.backgroundColor && (ie.transitions.nextSlide.data.backgroundColor = ie.o.globalBGColor), "2d" == e && (g = -1 != o.name.toLowerCase().indexOf("carousel"), v = -1 != o.name.toLowerCase().indexOf("crossfad"), this.$curTiles = se("<div>").addClass("ls-curtiles").appendTo(ie.transitions.slide.$wrapper), this.$nextTiles = se("<div>").addClass("ls-nexttiles").appendTo(ie.transitions.slide.$wrapper));
                        for (var b = 0; b < n * l; b++) {
                            var S, w, x, T, C, k, I, O = (b + 1) % n == 0 ? s : 0,
                                L = (l - 1) * n - 1 < b ? r : 0,
                                P = se("<div>").addClass("ls-slide-transition-tile").css({
                                    width: i + O,
                                    height: a + L
                                }).data("style", {
                                    width: i + O,
                                    height: a + L
                                }).appendTo(ie.transitions.slide.$wrapper),
                                p = (d[b], b % n == 0 ? p + 1 : p),
                                c = b % n == 0 ? 1 : c + 1;
                            if ("3d" == e) {
                                P.addClass("ls-3d-container");
                                var $, B, M, W, _, z, F = i + O,
                                    D = a + L,
                                    A = new ae.TimelineMax,
                                    R = Math.abs(Math.abs(c - n / 2 - .5) - n / 2 - .5) * Math.abs(Math.abs(p - l / 2 - .5) - l / 2 - .5);
                                P.css({
                                    zIndex: R
                                }), B = F / 2, M = D / 2, W = ($ = "horizontal" == o.animation.direction ? 90 < Math.abs(o.animation.transition.rotateY) && "large" != o.tile.depth ? Math.floor(F / 7) + O : F : 90 < Math.abs(o.animation.transition.rotateX) && "large" != o.tile.depth ? Math.floor(D / 7) + L : D) / 2, this.createCuboids("ls-3d-box", P, 0, 0, 0, 0, -W, 0, 0, B + "px " + M + "px 0px"), this.createCuboids("ls-3d-front", P.find(".ls-3d-box"), F, D, 0, 0, W, 0, 0), "vertical" == o.animation.direction && 90 < Math.abs(o.animation.transition.rotateX) ? this.createCuboids("ls-3d-back", P.find(".ls-3d-box"), F, D, 0, 0, -W, 180, 0) : this.createCuboids("ls-3d-back", P.find(".ls-3d-box"), F, D, 0, 0, -W, 0, 180), this.createCuboids("ls-3d-left", P.find(".ls-3d-box"), $, D, -W, 0, 0, 0, -90), this.createCuboids("ls-3d-right", P.find(".ls-3d-box"), $, D, F - W, 0, 0, 0, 90), this.createCuboids("ls-3d-top", P.find(".ls-3d-box"), F, $, 0, -W, 0, 90, 0), this.createCuboids("ls-3d-bottom", P.find(".ls-3d-box"), F, $, 0, D - W, 0, -90, 0), S = P.find(".ls-3d-front"), w = "horizontal" == o.animation.direction ? 90 < Math.abs(o.animation.transition.rotateY) ? P.find(".ls-3d-back") : 0 < o.animation.transition.rotateY ? P.find(".ls-3d-left") : P.find(".ls-3d-right") : 90 < Math.abs(o.animation.transition.rotateX) ? P.find(".ls-3d-back") : 0 < o.animation.transition.rotateX ? P.find(".ls-3d-bottom") : P.find(".ls-3d-top"), _ = d[b] * o.tile.delay, z = ie.transitions.slide.$wrapper.find(".ls-3d-container:eq( " + b + " ) .ls-3d-box"), o.before && o.before.transition ? (o.before.transition.delay = o.before.transition.delay ? (o.before.transition.delay + _) / 1e3 : _ / 1e3, A.to(z[0], o.before.duration / 1e3, ie.functions.convert.transition(o.before.transition, o.before.easing))) : o.animation.transition.delay = o.animation.transition.delay ? (o.animation.transition.delay + _) / 1e3 : _ / 1e3, A.to(z[0], o.animation.duration / 1e3, ie.functions.convert.transition(o.animation.transition, o.animation.easing)), o.after && (o.after.transition || (o.after.transition = {}), A.to(z[0], o.after.duration / 1e3, ie.functions.convert.transition(o.after.transition, o.after.easing, "after"))), ie.transitions._slideTransition.add(A, 0)
                            } else {
                                var E, V, N, H, X, Y, U, K, j = "auto",
                                    q = "auto",
                                    G = "auto",
                                    Q = "auto",
                                    J = 1,
                                    Z = 1,
                                    ee = {},
                                    te = "random" == o.transition.direction ? (E = ["top", "bottom", "right", "left"])[Math.floor(Math.random() * E.length)] : o.transition.direction;
                                switch (-1 != o.name.toLowerCase().indexOf("mirror") && b % 2 == 0 && (u = "prev" == u ? "next" : "prev"), "prev" == u && (te = {
                                    top: "bottom",
                                    bottom: "top",
                                    left: "right",
                                    right: "left",
                                    topleft: "bottomright",
                                    topright: "bottomleft",
                                    bottomleft: "topright",
                                    bottomright: "topleft"
                                }[te]), te) {
                                    case "top":
                                        j = G = -P.data("style").height, q = Q = 0;
                                        break;
                                    case "bottom":
                                        j = G = P.data("style").height, q = Q = 0;
                                        break;
                                    case "left":
                                        j = G = 0, q = Q = -P.data("style").width;
                                        break;
                                    case "right":
                                        j = G = 0, q = Q = P.data("style").width;
                                        break;
                                    case "topleft":
                                        j = P.data("style").height, G = 0, q = P.data("style").width, Q = 0;
                                        break;
                                    case "topright":
                                        j = P.data("style").height, G = 0, q = -P.data("style").width, Q = 0;
                                        break;
                                    case "bottomleft":
                                        j = -P.data("style").height, G = 0, q = P.data("style").width, Q = 0;
                                        break;
                                    case "bottomright":
                                        j = -P.data("style").height, G = 0, q = -P.data("style").width, Q = 0
                                }
                                switch (this.scale2D = o.transition.scale ? o.transition.scale : 1, 1 == g && 1 != this.scale2D && (j /= 2, G /= 2, q /= 2, Q /= 2), o.transition.type) {
                                    case "fade":
                                        J = j = G = q = Q = 0, Z = 1;
                                        break;
                                    case "mixed":
                                        J = 0, (Z = 1) == this.scale2D && (G = Q = 0)
                                }(o.transition.rotate || o.transition.rotateX || o.transition.rotateY || 1 != this.scale2D) && "slide" != o.transition.type ? P.css({
                                    overflow: "visible"
                                }) : P.css({
                                    overflow: "hidden"
                                }), 1 == g ? this.$curTiles.css({
                                    overflow: "visible"
                                }) : this.$curTiles.css({
                                    overflow: "hidden"
                                }), !0 === v || "slide" == o.transition.type || !0 === g ? (V = P.appendTo(this.$curTiles), N = P.clone().appendTo(this.$nextTiles), S = se("<div>").addClass("ls-curtile").appendTo(V)) : N = P.appendTo(this.$nextTiles), w = se("<div>").addClass("ls-nexttile").appendTo(N), H = d[b] * o.tile.delay / 1e3, X = o.transition.rotate ? o.transition.rotate : 0, Y = o.transition.rotateX ? o.transition.rotateX : 0, U = o.transition.rotateY ? o.transition.rotateY : 0, "prev" == u && (X = -X, Y = -Y, U = -U), ie.transitions._slideTransition.fromTo(w[0], o.transition.duration / 1e3, {
                                    immediateRender: !1,
                                    autoCSS: !1,
                                    css: {
                                        x: -q,
                                        y: -j,
                                        display: "block",
                                        opacity: J,
                                        rotation: X,
                                        rotationX: Y,
                                        rotationY: U,
                                        scale: this.scale2D
                                    }
                                }, {
                                    autoCSS: !1,
                                    css: {
                                        x: 0,
                                        y: 0,
                                        opacity: Z,
                                        rotation: 0,
                                        rotationX: 0,
                                        rotationY: 0,
                                        scale: 1
                                    },
                                    ease: ie.functions.convert.easing(o.transition.easing)
                                }, H), 1 == v && (void 0 === ie.transitions.nextSlide.data.$background || void 0 !== ie.transitions.nextSlide.data.$background && (-1 != ie.transitions.nextSlide.data.$background.attr("src").toLowerCase().indexOf("png") || ie.transitions.nextSlide.data.$background.width() < ie.slider.width || ie.transitions.nextSlide.data.$background.height() < ie.slider.height)) && (ee.opacity = 0), "slide" != o.transition.type && 1 != g || -1 != o.name.toLowerCase().indexOf("mirror") || (K = 0 !== X ? -X : 0, ee.x = Q, ee.y = G, ee.rotation = K, ee.scale = this.scale2D, ee.opacity = J), void 0 !== S && ie.transitions._slideTransition.to(S[0], o.transition.duration / 1e3, {
                                    autoCSS: !1,
                                    css: ee,
                                    ease: ie.functions.convert.easing(o.transition.easing)
                                }, H)
                            }
                            x = b % n * i, T = Math.floor(b / n) * a, void 0 !== ie.transitions.curSlide.data.$background && (C = ie.transitions.curSlide.data.$background.data(ie.defaults.init.dataKey), "3d" === e || "2d" === e && (!0 === v || "slide" === o.transition.type || !0 === g) ? S.append(se("<img>").attr("src", h).css({
                                width: C.responsive.width,
                                height: C.responsive.height,
                                "-webkit-filter": C.responsive.filter,
                                filter: C.responsive.filter,
                                "-ms-transform": "translateX(" + (C.responsive.x - x) + "px) translateY(" + (C.responsive.y - T) + "px)" + C.responsive.kbRotation + C.responsive.kbScale,
                                "-webkit-transform": "translateX(" + (C.responsive.x - x) + "px) translateY(" + (C.responsive.y - T) + "px)" + C.responsive.kbRotation + C.responsive.kbScale,
                                transform: "translateX(" + (C.responsive.x - x) + "px) translateY(" + (C.responsive.y - T) + "px)" + C.responsive.kbRotation + C.responsive.kbScale
                            })) : 0 === this.$curTiles.children().length && this.$curTiles.css("background-color", ie.transitions.curSlide.data.backgroundColor).append(se("<img>").attr("src", h).css({
                                width: C.responsive.width,
                                height: C.responsive.height,
                                "-webkit-filter": C.responsive.filter,
                                filter: C.responsive.filter,
                                "-ms-transform": "translateX(" + C.responsive.x + "px) translateY(" + C.responsive.y + "px)" + C.responsive.kbRotation + C.responsive.kbScale,
                                "-webkit-transform": "translateX(" + C.responsive.x + "px) translateY(" + C.responsive.y + "px)" + C.responsive.kbRotation + C.responsive.kbScale,
                                transform: "translateX(" + C.responsive.x + "px) translateY(" + C.responsive.y + "px)" + C.responsive.kbRotation + C.responsive.kbScale
                            }))), "transparent" === ie.transitions.curSlide.data.backgroundColor || ie.transitions.curSlide.data.$backgroundVideo.length || ("3d" === e || "2d" === e && (!0 === v || "slide" === o.transition.type || !0 === g) ? S.css("background-color", ie.transitions.curSlide.data.backgroundColor) : 0 === this.$curTiles.children().length && this.$curTiles.css("background-color", ie.transitions.curSlide.data.backgroundColor)), void 0 !== ie.transitions.nextSlide.data.$background && (I = (k = ie.transitions.nextSlide.data.$background.data(ie.defaults.init.dataKey)).kenBurns[f], w.append(se("<img>").attr("src", m).css({
                                width: k.responsive.width,
                                height: k.responsive.height,
                                "-webkit-filter": ie.transitions.nextSlide.filter.from || "none",
                                filter: ie.transitions.nextSlide.filter.from || "none",
                                "-ms-transform": "translateX(" + (k.responsive.x - x) + "px) translateY(" + (k.responsive.y - T) + "px) rotate(" + I.rotation + "deg) scale(" + I.scale + ")",
                                "-webkit-transform": "translateX(" + (k.responsive.x - x) + "px) translateY(" + (k.responsive.y - T) + "px) rotate(" + I.rotation + "deg) scale(" + I.scale + ")",
                                transform: "translateX(" + (k.responsive.x - x) + "px) translateY(" + (k.responsive.y - T) + "px) rotate(" + I.rotation + "deg) scale(" + I.scale + ")"
                            }))), "transparent" === ie.transitions.nextSlide.data.backgroundColor || ie.transitions.nextSlide.data.$backgroundVideo.length || w.css("background-color", ie.transitions.nextSlide.data.backgroundColor)
                        }
                        ie.transitions.slide.$wrapper.prependTo(ie.o.preferBlendMode ? ie.slider.$layersWrapper : ie.slider.$innerWrapper), ie.transitions.slide.start()
                    },
                    createCuboids: function(e, t, i, a, s, r, o, n, l, d) {
                        var u = "translate3d( " + s + "px, " + r + "px, " + o + "px)";
                        0 !== n && (u += "rotateX( " + n + "deg)"), 0 !== l && (u += "rotateY( " + l + "deg)");
                        var p = {
                            width: i,
                            height: a,
                            transform: u,
                            "-ms-transform": u,
                            "-webkit-transform": u
                        };
                        d && (p["transform-origin"] = d, p["-ms-transform-origin"] = d, p["-webkit-transform-origin"] = d), se("<div>").addClass(e).css(p).appendTo(t)
                    }
                }
            },
            layers: { in : {
                    onStart: function(e) {
                        e.data(ie.defaults.init.dataKey).hover.enabled && ie.transitions.layers.hover.enable(e), ie.layers.set.dataAttribute(e, "animating-in")
                    },
                    onComplete: function(e) {
                        ie.media.functions.playIfAllowed(e), ie.layers.set.dataAttribute(e, "active")
                    }
                }, out: {
                    forced: function() {
                        var s, r, o, n, e, t, i, a;
                        ie.transitions._forceLayersOut && (ie.transitions._slideTimeline && (s = new ae.TimelineMax({
                            paused: !0,
                            autoRemoveChildren: !0
                        }), n = [], e = ie.layers.get("current, in, static, active").add(ie.layers.get("current, out, static, active")), t = ie.layers.get("current, out, notstatic, active"), i = ie.layers.get("current, out, active"), a = se().add(e).add(t), a.each(function() {
                            var e, t = se(this).data(ie.defaults.init.dataKey);
                            if (t.loop._timeline && (ie.transitions._slideTimeline.remove(t.loop._timeline), t.loop._timeline.play()), t.is.static) {
                                r = [t.elements.$wrapper[0]], t.elements.$clipWrapper && (r = r.concat(t.elements.$clipWrapper[0])), t.textIn.nodes && (r = r.concat(t.textIn.nodes));
                                for (var i = 0; i < r.length; i++) n = n.concat(ie.transitions._slideTimeline.getTweensOf(r[i], !0));
                                for (var a = 0; a < n.length; a++) n[a].duration && 0 !== n[a].duration() && (o = n[a], e = o, s.add(e, 100 - e.duration() * e.progress()))
                            }
                        }), i.each(function() {
                            se(this).data(ie.defaults.init.dataKey).should.reset = !0
                        }), s.play().seek(100), ie.transitions._slideTimeline.eventCallback("onStart", null), ie.transitions._slideTimeline.eventCallback("onComplete", null), ie.transitions._slideTimeline.eventCallback("onReverseComplete", null), ie.transitions._slideTimeline.eventCallback("onUpdate", null), ie.transitions._slideTimeline.stop().clear()), ie.transitions._forceLayersOut.play(), ie.slideshow.forceFastChange && ie.transitions._forceLayersOut.progress(1)), ie.slider.$layersWrapper.find(".ls-link").css({
                            display: "none"
                        })
                    },
                    onStart: function(e) {
                        ie.layers.set.dataAttribute(e, "animating-out")
                    },
                    onComplete: function(e) {
                        var t = e.data(ie.defaults.init.dataKey);
                        !ie.slider.state.changingSlides && t.settings.slideOut === ie.slides.current.index || ie.transitions.layers.reset(e, t), t.hover.enabled && ie.transitions.layers.hover.disable(e), ie.layers.set.dataAttribute(e, "hidden")
                    }
                }, reset: function(e, t) {
                    t.loop._timeline && (t.loop._timeline.stop().clear(), delete t.loop._timeline, ae.TweenMax.set(t.elements.$loopWrapper[0], t.reset.loopWrapperOnSlideChange)), ae.TweenMax.set(t.elements.$wrapper[0], t.reset.wrapperOnSlideChange), ae.TweenMax.set(e[0], {
                        "-webkit-filter": "none",
                        filter: "none"
                    }), t.should.update && (t.textInNodesFrom.random = {}, t.textOutNodesTo.random = {}, ie.layers.update.data(e)), t.should.reset = !1
                }, timeline: {
                    shouldRestart: !1,
                    create: function(e) {
                        var t, i, a, s, r = e ? "current" : "next";
                        ie.transitions.curNext = r, ie.transitions.layers.timeline.shouldRestart = !1, ie.transitions.layers.timeline.resetStates(), ie.transitions._slideTimeline && (ie.transitions._slideTimeline.pause().progress(0).kill().clear(!0), ie.transitions._slideTimeline = null), ie.transitions._slideTimeline = new ae.TimelineMax({
                            paused: !0,
                            onStart: function() {
                                ie.api.hasEvent("slideTimelineDidStart") && _.triggerHandler("slideTimelineDidStart", ie.api.eventData())
                            },
                            onComplete: function() {
                                ie.o.playByScroll && ie.o.playByScrollSkipSlideBreaks && ("next" === ie.slideshow.direction ? ie.transitions.layers.timeline.scrollForward(!0) : ie.transitions.layers.timeline.scrollBackwards(!0, !0))
                            },
                            onReverseComplete: function() {
                                ie.api.hasEvent("slideTimelineDidReverseComplete") && _.triggerHandler("slideTimelineDidReverseComplete", ie.api.eventData()), ie.transitions.layers.timeline.shouldReplay && (ie.transitions.layers.timeline.shouldRestart = !1, ie.transitions._slideTimeline.play()), ie.o.playByScroll && ie.o.playByScrollSkipSlideBreaks && ie.transitions.layers.timeline.scrollBackwards(!0, !1)
                            },
                            onUpdate: function(e) {
                                ie.api.hasEvent("slideTimelineDidUpdate") && _.triggerHandler("slideTimelineDidUpdate", e)
                            },
                            onUpdateParams: ["{self}"]
                        }), this.totalDuration = 0, this.progress = 1, ie.transitions._forceLayersOut = new ae.TimelineMax({
                            paused: !0,
                            autoRemoveChildren: !0
                        }), t = ie.layers.get(r + ", in, notactive"), i = ie.layers.get(r + ", out, notstatic").add(ie.layers.get(r + ", out, active, static")), a = ie.layers.get(r + ", in, bgonly, notactive"), s = se().add(t).add(i).add(a), this.addLayers(t, "in", ie.transitions._slideTimeline, ie.transitions._forceLayersOut), this.addLayers(i, "out", ie.transitions._slideTimeline, ie.transitions._forceLayersOut), ie.slides[r].data && -1 !== ie.slides[r].data.duration && ie.slides[r].data.duration < this.totalDuration ? (this.progress = ie.slides[r].data.duration / this.totalDuration, ie.debugMode && ie.debug.add("warn", "slideTimeline.duration", [ie.slides[r].data.duration, this.totalDuration])) : ie.transitions._slideTimeline.duration() > this.totalDuration && (this.progress = this.totalDuration / ie.transitions._slideTimeline.duration()), -1 === ie.slides[r].data.duration ? (ie.slides[r].data.duration = this.totalDuration, ie.slides[ie.slides[r].index].data.duration = this.totalDuration) : this.totalDuration = ie.slides[r].data.duration, this.addLayers(a, "in", ie.transitions._slideTimeline, ie.transitions._forceLayersOut), !0 === ie.transitions.layers.timeline.shouldRestart && ie.debugMode && ie.debug.add("warn", "slideTimeline.restart", ie.o.allowRestartOnResize ? "enabled" : "disabled");
                        for (var o, n = 0; n < s.length; n++) se(s[n]).data(ie.defaults.init.dataKey).parallax.enabled && se(s[n]).data(ie.defaults.init.dataKey).elements.$parallaxWrapper.attr("data-ls-parallax", "active");
                        ie.transitions.layers.parallax.trigger(), ie.api.hasEvent("slideTimelineDidCreate") && _.triggerHandler("slideTimelineDidCreate", {
                            slideTimeline: ie.transitions._slideTimeline,
                            layersOnSlideTimeline: s,
                            slideTimelineDuration: this.totalDuration
                        }), ie.transitions.timers.create(), ie.transitions.timers.bar._transition && ie.transitions._slideTimeline.add(ie.transitions.timers.bar._transition.play(), 0), ie.transitions.timers.circle._transition && ie.transitions._slideTimeline.add(ie.transitions.timers.circle._transition.play(), 0), ie.transitions.timers.slidebar._transition && ie.transitions._slideTimeline.add(ie.transitions.timers.slidebar._transition.play(), 0), ie.transitions._slideTimeline.call(function() {
                            if (!ie.transitions._slideTimeline.reversed()) {
                                if (ie.api.hasEvent("slideTimelineDidComplete") && !1 === _.triggerHandler("slideTimelineDidComplete", ie.api.eventData())) return;
                                ie.functions.setStates(ie.transitions.layers.timeline, {
                                    finished: !0
                                }), !ie.slideshow.isPaused() && ie.slideshow.state.running ? ie.slideshow.changeTo(ie.slides.next.index) : ie.slideshow.state.pausedByLastCycle && ie.transitions.timers.reverse()
                            }
                        }, [], this, ie.slides[r].data.duration), ie.slides.next.data.$link && ie.slides.next.data.$link.css({
                            display: "block"
                        }), (!ie.o.startInViewport || "inside" !== ie.slider.positionToViewport && !ie.o.playByScrollStart) && ie.o.startInViewport || !(ie.slider.isPopup && ie.slider.state.popupIsVisible && ie.slider.state.popupShouldStart) && ie.slider.isPopup || (ie.o.pauseLayers && ie.slideshow.isPaused() && ie.transitions._slideTimeline.timeScale(0), ie.transitions.layers.timeline.play(), ie.o.playByScroll && "up" === ie.device.scroll.directionAtSlideTransitionStart && ie.transitions._slideTimeline.progress(1)), _.trigger("mouseleave.globalhover" + z), _.off("mouseenter.globalhover" + z + " mouseleave.globalhover" + z + " mousemove.globalhover" + z), ie.slides[r].data.globalhover && (o = ie.layers.get(r + ",in,notactive").add(ie.layers.get("static,active")), _.on("mouseenter.globalhover" + z, function() {
                            o.each(function() {
                                ie.transitions.layers.hover.mouseEnter(se(this), se(this).data(ie.defaults.init.dataKey))
                            })
                        }), _.on("mouseleave.globalhover" + z, function() {
                            o.each(function() {
                                ie.transitions.layers.hover.mouseLeave(se(this), se(this).data(ie.defaults.init.dataKey))
                            })
                        }), _.on("mousemove.globalhover" + z, function() {
                            o.each(function() {
                                ie.transitions.layers.hover.mouseMove(se(this), se(this).data(ie.defaults.init.dataKey))
                            })
                        }))
                    },
                    prepare: function() {
                        ie.slides.next.data.overflow && "hidden" !== ie.slides.next.data.overflow ? (ie.slider.$layersWrapper.addClass("ls-visible"), ie.slider.$slideBGWrapper.addClass("ls-visible")) : (ie.slider.$layersWrapper.removeClass("ls-visible"), ie.slider.$slideBGWrapper.removeClass("ls-visible")), this.create()
                    },
                    getTiming: function(e, t, i, a) {
                        if ("number" == typeof t) return t;
                        t = t.toLowerCase();
                        var s, r, o, n, l, d = ie.defaults.layer.timelineHierarchy,
                            u = 0;
                        if (-1 !== t.indexOf("*") && (l = "*"), -1 !== t.indexOf("/") && (l = "/"), -1 !== t.indexOf("+") && (l = "+"), -1 !== t.indexOf("-") && (l = "-"), l)
                            if (n = t.split(l), s = se.trim(n[0]), o = parseInt(se.trim(n[1])), d[s] && -1 !== d[i][1].indexOf(d[s][0]))
                                if (r = "number" == typeof e.timeline[s] ? e.timeline[s] : e.timeline[s](e), a) u = o / 1e3;
                                else switch (l) {
                                    case "*":
                                        u = r * o;
                                        break;
                                    case "/":
                                        u = r / o;
                                        break;
                                    case "+":
                                        u = r + o / 1e3;
                                        break;
                                    case "-":
                                        u = r - o / 1e3
                                } else ie.debugMode && (d[s] || ie.debug.add("warn", "layerTransition.timing1", s), -1 === d[i][1].indexOf(d[s][0]) && ie.debug.add("warn", "layerTransition.timing3", [s, d[s], i, d[i]])), "+" !== l && !a || (u = o / 1e3);
                        else d[s = se.trim(t)] && -1 !== d[i][1].indexOf(d[s][0]) ? u = a ? 0 : "number" == typeof e.timeline[s] ? e.timeline[s] : e.timeline[s](e) : ie.debugMode && (d[s] ? -1 === d[i][1].indexOf(d[s][0]) && ie.debug.add("warn", "layerTransition.timing3", [s, d[s], i, d[i]]) : ie.debug.add("warn", "layerTransition.timing1", s));
                        return (u != u || u < 0) && (ie.debugMode && ie.debug.add("warn", "layerTransition.timing2", [i, s, u]), u = 0), u
                    },
                    addLayers: function(e, t, i, a) {
                        for (var s = 0, r = e.length; s < r; s++) {
                            var o, n, l = se(e[s]),
                                d = l.data(ie.defaults.init.dataKey),
                                u = d.elements.$wrapper,
                                p = d.elements.$clipWrapper,
                                c = d.elements.$loopWrapper,
                                h = d.elements.$parallaxWrapper;
                            if (d.should.reset && ie.transitions.layers.reset(l, d), l.hasClass("ls-bg")) d.kenBurns.zoom && i.fromTo(l.closest(".ls-bg-wrap"), ie.transitions.nextSlide.data.duration + ie.transitions.nextSlide.data.calculatedTimeShift, {
                                autoCSS: !1,
                                css: d.kenBurns.from
                            }, {
                                autoCSS: !1,
                                css: d.kenBurns.to,
                                ease: ae.Quad.easeInOut
                            }, -ie.transitions.nextSlide.data.calculatedTimeShift), se.isEmptyObject(d.filter.values.bgFrom) && se.isEmptyObject(d.filter.values.bgTo) || (d.filter.transitions.bg || (d.filter.transitions.bg = ie.transitions.layers.filters.createTransition(d, "bg", d.filter.values.bgFrom, d.filter.values.bgTo)), i.to([{
                                p: 0
                            }, l[0]], ie.transitions.nextSlide.data.duration, {
                                p: 1,
                                autoCSS: !1,
                                ease: ae.Sine.easeInOut,
                                onUpdate: ie.transitions.layers.filters.animate,
                                onUpdateParams: ["{self}", d.filter.transitions.bg]
                            }, 0));
                            else switch (t) {
                                case "in":
                                    if (d.in.enabled && (d.settings.timelineIsCalculated || ("number" != typeof d.in.startAt && (d.in.startAt = 0), d.timeline.transitioninstart = d.in.startAt, d.timeline.transitioninend = d.timeline.transitioninstart + d.in.duration), ie.resize.transformProperties(l, d.inLayerFromCSS, d.inLayerShouldBeConverted), ie.resize.styleProperties(d.inLayerStyleFromCSS, d.inLayerStyleShouldBeConvertedFrom), ie.resize.styleProperties(d.inLayerStyleToCSS, d.inLayerStyleShouldBeConvertedTo), d.inLayerFromCSS.transformPerspective = d.transformPerspective.layer * ie.resize.ratio, d.clip.enabled && (d.original.clip || (d.original.clip = d.clip.min, d.original.clipShouldBeConverted = !0), d.inClipShouldBeConverted.clip ? (d.inClipFromCSS.clip = ie.resize.clip(l, d.inClipShouldBeConverted.clip, !0), d.inClipToCSS.clip = ie.resize.clip(l, d.original.clip, d.original.clipShouldBeConverted), i.fromTo(p[0], d.in.duration, d.inClipFrom, d.inClipTo, d.timeline.transitioninstart)) : ae.TweenMax.set(p[0], {
                                            clip: ie.resize.clip(l, d.original.clip, d.original.clipShouldBeConverted)
                                        }), ie.transitions.layers.timeline.shouldRestart = !0), se.isEmptyObject(d.filter.values.in) ? se.isEmptyObject(d.filter.values.out) || l.css("filter", d.original.filter) : (d.filter.transitions.in || (d.filter.transitions.in = ie.transitions.layers.filters.createTransition(d, "in", d.filter.values.in, d.filter.values.style)), i.to([{
                                            p: 0
                                        }, l[0]], d.in.duration, {
                                            p: 1,
                                            autoCSS: !1,
                                            ease: d.inLayerTo.ease,
                                            onUpdate: ie.transitions.layers.filters.animate,
                                            onUpdateParams: ["{self}", d.filter.transitions.in]
                                        }, d.timeline.transitioninstart)), i.fromTo(u[0], d.in.duration, d.inLayerFrom, d.inLayerTo, d.timeline.transitioninstart), i.fromTo(l[0], d.in.duration, d.inLayerStyleFrom, d.inLayerStyleTo, d.timeline.transitioninstart)), d.is.textLayer && ((d.textIn.type || d.textOut.type) && ie.transitions.layers.splitType.resetNodes(l, d), d.textIn.enabled && (d.in.enabled || i.to(u[0], 0, se.extend(!0, {}, d.inLayerTo, d.init.wrapper), d.timeline.textinstart), d.textIn.nodes = ie.transitions.layers.splitType.setNodesSequence(d.textIn.type.split("_"), d.textIn.ns), ie.resize.transformProperties(l, d.textInNodesFrom, d.textInShouldBeConverted), d.textInNodesFrom.transformPerspective = d.transformPerspective.text * ie.resize.ratio, se.isEmptyObject(d.textInShouldBeConverted.random) || ie.transitions.layers.splitType.setRandomProperties(d, d.textInShouldBeConverted.random, d.textInNodesFrom), se.isEmptyObject(d.textInNodesFrom.random) || ie.transitions.layers.splitType.setRandomProperties(d, d.textInNodesFrom.random, d.textInNodesFrom), delete d.textInNodesFrom.random, d.settings.timelineIsCalculated || (d.timeline.textinstart = this.getTiming(d, d.textIn.startAt, "textinstart"), d.timeline.textinend = d.timeline.textinstart + (d.textIn.nodes.length - 1) * d.textIn.shiftNodes + d.textIn.duration), i.staggerFromTo(d.textIn.nodes, d.textIn.duration, d.textInNodesFrom, d.textInNodesTo, d.textIn.shiftNodes, d.timeline.textinstart, function(e) {
                                            ie.transitions.layers.in.onComplete(e)
                                        }, [l]))), d.is.keyframe && ie.o.playByScroll && i.addPause(d.timeline.allinend(), function() {
                                            setTimeout(function() {
                                                delete ie.timeouts.scroll, ie.transitions.layers.timeline.timeScaleModifier = 0, ie.device.scroll.timeout = 250
                                            }, 500)
                                        }), d.parallax.enabled && "auto" == d.parallax.event) {
                                        ie.transitions.layers.parallax.auto();
                                        var m = new ae.TimelineMax({
                                                paused: !0
                                            }),
                                            f = {
                                                repeat: -1 == d.parallax.count ? -1 : d.parallax.count - 1,
                                                ease: Linear.easeNone
                                            };
                                        switch (d.settings.timelineIsCalculated && !d.is.static || (d.timeline.autoparallaxstart = this.getTiming(d, d.parallax.startAt, "autoparallaxstart"), d.timeline.autoparallaxend = -1 !== d.parallax.count && d.timeline.autoparallaxstart + d.parallax.duration * d.parallax.count), d.parallax._timeline = m, d.parallax.dummy = {
                                            x: 0,
                                            y: -10
                                        }, d.parallax.path) {
                                            default:
                                                case "circle":
                                                f.bezier = {
                                                curviness: 1.5,
                                                values: [{
                                                    x: 10,
                                                    y: 0
                                                }, {
                                                    x: 0,
                                                    y: 10
                                                }, {
                                                    x: -10,
                                                    y: 0
                                                }, {
                                                    x: 0,
                                                    y: -10
                                                }]
                                            };
                                            break;
                                            case "oval-h":
                                                    f.bezier = {
                                                    type: "thru",
                                                    curviness: 1,
                                                    values: [{
                                                        x: 20,
                                                        y: 0
                                                    }, {
                                                        x: 0,
                                                        y: 10
                                                    }, {
                                                        x: -20,
                                                        y: 0
                                                    }, {
                                                        x: 0,
                                                        y: -10
                                                    }]
                                                };
                                                break;
                                            case "oval-v":
                                                    d.parallax.dummy = {
                                                    x: 0,
                                                    y: -20
                                                },
                                                f.bezier = {
                                                    type: "thru",
                                                    curviness: 1,
                                                    values: [{
                                                        x: 10,
                                                        y: 0
                                                    }, {
                                                        x: 0,
                                                        y: 20
                                                    }, {
                                                        x: -10,
                                                        y: 0
                                                    }, {
                                                        x: 0,
                                                        y: -20
                                                    }]
                                                };
                                                break;
                                            case "infinity":
                                                    d.parallax.dummy = {
                                                    x: 0,
                                                    y: 0
                                                },
                                                f.bezier = {
                                                    type: "thru",
                                                    curviness: 1,
                                                    values: [{
                                                        x: 20,
                                                        y: -10
                                                    }, {
                                                        x: 40,
                                                        y: 0
                                                    }, {
                                                        x: 20,
                                                        y: 10
                                                    }, {
                                                        x: 0,
                                                        y: 0
                                                    }, {
                                                        x: -20,
                                                        y: -10
                                                    }, {
                                                        x: -40,
                                                        y: 0
                                                    }, {
                                                        x: -20,
                                                        y: 10
                                                    }, {
                                                        x: 0,
                                                        y: 0
                                                    }]
                                                };
                                                break;
                                            case "linear-h":
                                                    d.parallax.dummy = {
                                                    x: -10,
                                                    y: 0
                                                },
                                                f.x = 10,
                                                f.ease = Quad.easeInOut,
                                                f.yoyo = !0,
                                                f.repeat = -1 == d.parallax.count ? -1 : 2 * d.parallax.count - 1;
                                                break;
                                            case "linear-v":
                                                    d.parallax.dummy = {
                                                    x: 0,
                                                    y: -10
                                                },
                                                f.y = 10,
                                                f.ease = Quad.easeInOut,
                                                f.yoyo = !0,
                                                f.repeat = -1 == d.parallax.count ? -1 : 2 * d.parallax.count - 1
                                        }
                                        f.onUpdate = function(e, t, i, a, s, r, o) {
                                            ae.TweenMax.set(i, {
                                                x: -t.x * (a / 50) * parseInt(s),
                                                y: -t.y * (a / 50) * parseInt(s),
                                                rotationX: "3d" == r ? t.y / (100 / o) : 0,
                                                rotationY: "3d" == r ? -t.x / (100 / o) : 0
                                            })
                                        }, f.onUpdateParams = ["{self}", d.parallax.dummy, h[0], d.parallax.distance, d.parallax.level, d.parallax.type, d.parallax.rotation], m.to(d.parallax.dummy, -1 == d.parallax.path.indexOf("linear") ? d.parallax.duration : d.parallax.duration / 2, f), i.add(m, d.timeline.autoparallaxstart), m.play()
                                    }
                                    d.loop.enabled && (n = new ae.TimelineMax({
                                        repeat: d.loop.repeat,
                                        repeatDelay: d.loop.repeatDelay,
                                        yoyo: d.loop.yoyo,
                                        paused: !0
                                    }), d.settings.timelineIsCalculated && !d.is.static || (d.timeline.loopstart = this.getTiming(d, d.loop.startAt, "loopstart"), d.timeline.loopend = -1 !== d.loop.count && d.timeline.loopstart + (d.loop.repeat + 1) * d.loop.duration + d.loop.repeat * d.loop.repeatDelay), d.loop._timeline = n, ie.resize.transformProperties(l, d.loopToCSS, {
                                        x: d.loopLayerShouldBeConverted.x,
                                        y: d.loopLayerShouldBeConverted.y
                                    }), (d.loopToCSS.x && 0 !== d.loopToCSS.x || d.loopToCSS.y && 0 !== d.loopToCSS.y) && (ie.transitions.layers.timeline.shouldRestart = !0), d.loopFromCSS.transformOrigin = ie.functions.convert.transformOrigin(d.loopLayerShouldBeConverted.transformOrigin, l), d.loopFromCSS.transformPerspective = d.transformPerspective.loop * ie.resize.ratio, se.isEmptyObject(d.filter.values.loop) || (d.filter.transitions.loop || (d.filter.transitions.loop = ie.transitions.layers.filters.createTransition(d, "loop", se.isEmptyObject(d.filter.values.afterIn) ? d.filter.values.style : d.filter.values.afterIn, d.filter.values.loop)), n.to([{
                                        p: 0
                                    }, l[0]], d.loop.duration, {
                                        p: 1,
                                        autoCSS: !1,
                                        ease: d.loopTo.ease,
                                        onUpdate: ie.transitions.layers.filters.animate,
                                        onUpdateParams: ["{self}", d.filter.transitions.loop]
                                    }, 0)), n.fromTo(c[0], d.loop.duration, d.loopFrom, d.loopTo, 0), d.loopClipShouldBeConverted.clip && (d.loopClipToCSS.clip = ie.resize.clip(l, d.loopClipShouldBeConverted.clip, !0), n.to(p[0], d.loop.duration, d.loopClipTo, 0), ie.transitions.layers.timeline.shouldRestart = !0), -1 !== d.loop.repeat && ("looplayers" === ie.o.pauseOnHover || ie.gui.timers.slidebar.$element || ie.o.playByScroll) ? (i.add(n, d.timeline.loopstart), n.play()) : i.addCallback(function(e) {
                                        e.play()
                                    }, d.timeline.loopstart, [n])), d.is.static && (d.timeline.staticfrom = d.timeline.transitioninend, d.timeline.staticto = "100%", d.settings.timelineIsCalculated || (o = Math.max(d.timeline.allinandloopend(), 0), this.totalDuration = Math.max(this.totalDuration, o)));
                                    break;
                                case "out":
                                    d.is.textLayer && d.textOut.enabled && (d.textOut.nodes = ie.transitions.layers.splitType.setNodesSequence(d.textOut.type.split("_"), d.textOut.ns), ie.resize.transformProperties(l, d.textOutNodesTo, d.textOutShouldBeConverted, d.textOutNodesFrom), d.textOutNodesFrom.transformPerspective = d.transformPerspective.text * ie.resize.ratio, se.isEmptyObject(d.textOutShouldBeConverted.random) || ie.transitions.layers.splitType.setRandomProperties(d, d.textOutShouldBeConverted.random, d.textOutNodesTo), se.isEmptyObject(d.textOutNodesTo.random) || ie.transitions.layers.splitType.setRandomProperties(d, d.textOutNodesTo.random, d.textOutNodesTo), delete d.textOutNodesTo.random, d.settings.timelineIsCalculated || (d.timeline.textoutstart = this.getTiming(d, d.textOut.startAt, "textoutstart"), d.timeline.textoutend = d.timeline.textoutstart + (d.textOut.nodes.length - 1) * d.textOut.shiftNodes + d.textOut.duration), d.clip.enabled && (void 0 === d.outClipShouldBeConverted.clip && i.to(p[0], 0, {
                                        immediateRender: !1,
                                        css: {
                                            clip: ie.resize.clip(l, d.clip.max)
                                        }
                                    }, d.timeline.textoutstart), ie.transitions.layers.timeline.shouldRestart = !0), i.staggerFromTo(d.textOut.nodes, d.textOut.duration, d.textOutNodesFrom, d.textOutNodesTo, d.textOut.shiftNodes, d.timeline.textoutstart)), ie.resize.transformProperties(l, d.outLayerToCSS, d.outLayerShouldBeConverted, d.outLayerFromCSS), ie.resize.styleProperties(d.outLayerStyleFromCSS, d.outLayerStyleShouldBeConvertedFrom), ie.resize.styleProperties(d.outLayerStyleToCSS, d.outLayerStyleShouldBeConvertedTo), d.outLayerFromCSS.transformPerspective = d.transformPerspective.layer * ie.resize.ratio, "slidechangeonly" !== d.out.startAt ? (d.settings.timelineIsCalculated && !d.is.static || (d.is.static ? (d.timeline.staticfrom = 0, d.timeline.transitionoutstart = this.getTiming(d, d.out.startAt, "transitionoutstart", !0), d.timeline.staticto = d.timeline.transitionoutstart) : d.timeline.transitionoutstart = Math.max(this.getTiming(d, d.out.startAt, "transitionoutstart"), d.timeline.transitioninend), d.timeline.transitionoutend = d.timeline.transitionoutstart + d.out.duration), d.clip.enabled && (void 0 === d.outClipShouldBeConverted.clip ? i.to(p[0], 0, {
                                        immediateRender: !1,
                                        css: {
                                            clip: ie.resize.clip(l, d.clip.max)
                                        }
                                    }, d.timeline.transitionoutstart) : (d.outClipToCSS.clip = ie.resize.clip(l, d.outClipShouldBeConverted.clip, !0), i.to(p[0], d.out.duration, d.outClipTo, d.timeline.transitionoutstart)), ie.transitions.layers.timeline.shouldRestart = !0), se.isEmptyObject(d.filter.values.out) || (d.filter.transitions.out || (d.filter.transitions.out = ie.transitions.layers.filters.createTransition(d, "out", se.isEmptyObject(d.filter.values.afterLoop) ? se.isEmptyObject(d.filter.values.afterIn) ? d.filter.values.style : d.filter.values.afterIn : d.filter.values.afterLoop, d.filter.values.out)), i.to([{
                                        p: 0
                                    }, l[0]], d.out.duration, {
                                        p: 1,
                                        autoCSS: !1,
                                        ease: d.outLayerTo.ease,
                                        onUpdate: ie.transitions.layers.filters.animate,
                                        onUpdateParams: ["{self}", d.filter.transitions.out]
                                    }, d.timeline.transitionoutstart)), i.fromTo(u[0], d.out.duration, d.outLayerFrom, d.outLayerTo, d.timeline.transitionoutstart), i.fromTo(l[0], d.out.duration, d.outLayerStyleFrom, d.outLayerStyleTo, d.timeline.transitionoutstart), i.fromTo(u[0], 0, d.init.wrapper, d.reset.wrapperOnTimelineEnd, d.timeline.transitionoutend)) : (d.timeline.staticfrom = 0, d.timeline.staticto = "100%"), (!d.is.static || d.is.static && d.settings.slideOut === ie.slides.next.index) && (a.fromTo(u[0], ie.o.forceLayersOutDuration, d.outLayerFrom, d.outLayerTo, 0), a.fromTo(l[0], ie.o.forceLayersOutDuration, d.outLayerStyleFrom, d.outLayerStyleTo, 0), d.clip.enabled && void 0 !== d.outClipShouldBeConverted.clip && (d.outClipToCSS.clip = ie.resize.clip(l, d.outClipShouldBeConverted.clip, !0), a.to(p[0], ie.o.forceLayersOutDuration, d.outClipTo, 0))), o = Math.max(d.timeline.alloutandloopend(), 0), this.totalDuration = Math.max(this.totalDuration, o), d.settings.timelineIsCalculated = !0
                            }
                        }
                    },
                    play: function() {
                        ie.transitions._slideTimeline && (ie.transitions._slideTimeline.play(), ie.functions.setStates(this, {
                            started: !0,
                            running: !0,
                            stopped: !1,
                            paused: !1
                        }))
                    },
                    pause: function(e) {
                        e = se.isNumeric(e) ? e : .75;
                        ie.transitions._slideTimeline && (ae.TweenMax.to(ie.transitions._slideTimeline, e, {
                            timeScale: 0
                        }), ie.functions.setStates(this, {
                            paused: !0,
                            stopped: !1
                        }))
                    },
                    resume: function() {
                        ie.transitions._slideTimeline && (ae.TweenMax.to(ie.transitions._slideTimeline, .75, {
                            timeScale: 1
                        }), ie.functions.setStates(this, {
                            paused: !1,
                            stopped: !1
                        }))
                    },
                    reverse: function() {
                        ie.transitions._slideTimeline && ie.transitions._slideTimeline.reverse()
                    },
                    scrollForward: function(e) {
                        var t;
                        e || (this.play(), this.modifyTimeScale()), ie.transitions._slideTimeline && (ie.slider.isBusy() || 0 !== ie.transitions._slideTimeline.totalDuration() && 1 !== ie.transitions._slideTimeline.progress() || "down" !== ie.device.scroll.direction || (ie.slideshow.direction = "next", (t = ie.slideshow.sequence.normalized).indexOf(ie.slides.current.index) === t.length - 1 ? (ie.slider.positionToViewport = "under", ie.device.scroll.enable(), ie.slideshow.direction = "prev") : ie.navigation.next()))
                    },
                    scrollBackwards: function(e, t) {
                        e && !t || (this.reverse(), this.modifyTimeScale()), ie.transitions._slideTimeline && (ie.slider.isBusy() || 0 !== ie.transitions._slideTimeline.totalDuration() && 0 !== ie.transitions._slideTimeline.progress() || "up" !== ie.device.scroll.direction || (ie.slideshow.direction = "prev", 0 === ie.slideshow.sequence.normalized.indexOf(ie.slides.current.index) ? (ie.slider.positionToViewport = "over", ie.device.scroll.enable(), ie.slideshow.direction = "next") : ie.navigation.prev()))
                    },
                    modifyTimeScale: function() {
                        ie.transitions._slideTimeline && ae.TweenMax.to(ie.transitions._slideTimeline, .25, {
                            timeScale: 1 + this.timeScaleModifier
                        })
                    },
                    resetStates: function() {
                        this.state = {
                            started: !1,
                            running: !1,
                            paused: !1,
                            stopped: !1,
                            finished: !1
                        }
                    }
                }, hover: {
                    enable: function(e) {
                        e.attr("data-ls-canhover", "1")
                    },
                    disable: function(e) {
                        e.attr("data-ls-canhover", "0")
                    },
                    set: function(e, t) {
                        t.elements.$wrapper.on("mouseenter." + z, function() {
                            ie.transitions.layers.hover.mouseEnter(e, t)
                        }), t.elements.$wrapper.on("mouseleave." + z, function() {
                            ie.transitions.layers.hover.mouseLeave(e, t)
                        }), t.elements.$wrapper.on("mousemove." + z, function() {
                            ie.transitions.layers.hover.mouseMove(e, t)
                        })
                    },
                    createTimeline: function(e, t) {
                        var i, a, s, r;
                        t.hover._timeline = new ae.TimelineMax({
                            paused: !0,
                            onReverseComplete: function(e, t) {
                                t.hover._timeline._reversed && (t.hover._timeline.stop().clear(), delete t.hover._timeline)
                            },
                            onReverseCompleteParams: [e, t]
                        }), ie.resize.transformProperties(e, t.hoverToCSS, t.hoverShouldBeConverted, t.hoverFromCSS), ie.resize.styleProperties(t.hoverToCSS, t.hoverShouldBeConverted), t.hoverFromCSS.transformPerspective = t.transformPerspective.hover * ie.resize.ratio, t.hover._tween = ae.TweenMax.fromTo(e[0], t.hover.durationIn, t.hoverFrom, t.hoverTo), t.hover._timeline.add(t.hover._tween, 0), e.next().is(".ls-layer-link") ? (i = e.next(), a = se.extend(!0, {}, t.hoverFrom, {
                            css: {
                                opacity: 1,
                                color: "transparent",
                                background: "transparent",
                                z: 0
                            }
                        }), s = se.extend(!0, {}, t.hoverTo, {
                            css: {
                                opacity: 1,
                                color: "transparent",
                                background: "transparent",
                                z: 0
                            }
                        }), t.hover._linkTween = ae.TweenMax.fromTo(i[0], t.hover.durationIn, a, s), t.hover._timeline.add(t.hover._linkTween, 0)) : t.hover._linkTween = null, t.hover.alwaysOnTop && (r = {
                            zIndex: 9999
                        }, ie.browser.isSafari && (r.transform = "translateZ(999999px)"), t.hover._timeline.to(t.elements.$outerWrapper[0], t.hover.durationIn, {
                            autoCSS: !1,
                            css: r
                        }, 0)), t.hover.reverseTimeScale = t.hover.durationIn / t.hover.durationOut == 1 ? 1 : t.hover.durationIn / t.hover.durationOut, this.hoverIn(e, t)
                    },
                    mouseEnter: function(e, t) {
                        "1" === e.attr("data-ls-canhover") && (e.attr("data-ls-hovered", 1), t.elements.$wrapper.off("mousemove." + z), t.hover._timeline ? (t.hover._timeline.play().stop().progress(0), this.hoverIn(e, t)) : this.createTimeline(e, t))
                    },
                    mouseLeave: function(e, t) {
                        t.hover._timeline && (t.hover._timeline.stop().progress(1), this.hoverOut(e, t)), e.removeAttr("data-ls-hovered")
                    },
                    mouseMove: function(e, t) {
                        e.attr("data-ls-hovered") || this.mouseEnter(e, t)
                    },
                    hoverIn: function(e, t) {
                        t.hover._tween.updateTo({
                            ease: t.hover.easeIn
                        }), t.hover._linkTween && t.hover._linkTween.updateTo({
                            ease: t.hover.easeIn
                        }), t.hover._timeline.play().timeScale(1)
                    },
                    hoverOut: function(e, t) {
                        t.hover._tween.updateTo({
                            ease: t.hover.easeOut
                        }), t.hover._linkTween && t.hover._linkTween.updateTo({
                            ease: t.hover.easeOut
                        }), t.hover._timeline.reverse().timeScale(t.hover.reverseTimeScale)
                    }
                }, parallax: {
                    defaultProperties: {
                        type: "2d",
                        event: "cursor",
                        path: "circle",
                        direction: "clockwise",
                        duration: 5,
                        count: -1,
                        startAt: "slidestart",
                        x: !0,
                        y: !0,
                        rotation: 10,
                        distance: 10,
                        durationMove: 1.5,
                        durationLeave: 1.2,
                        transformOrigin: "50% 50% 0",
                        transformPerspective: 500
                    },
                    defaults: {
                        scrollModifier: 5,
                        centerLayers: "center",
                        centerDegree: 40,
                        sensitive: 10
                    },
                    state: {
                        enabled: !1,
                        ready: !1
                    },
                    wrappers: {
                        cursor: {
                            $2d: se(),
                            $3d: se()
                        },
                        scroll: {
                            $2d: se(),
                            $3d: se()
                        },
                        auto: {
                            $2d: se(),
                            $3d: se()
                        }
                    },
                    init: function() {
                        var t = this;
                        _.on("mouseenter." + z, function() {
                            (t.wrappers.cursor.$2d.length || t.wrappers.cursor.$3d.length) && t.calculateTransformProperties()
                        }), _.on("mousemove." + z, function(e) {
                            (t.wrappers.cursor.$2d.length || t.wrappers.cursor.$3d.length) && t.mouseMove(e)
                        }), _.on("mouseleave." + z, function() {
                            (t.wrappers.cursor.$2d.length || t.wrappers.cursor.$3d.length) && t.reset()
                        }), ie.device.isMobile && ie.device.supportOrientation && (se(window).on("deviceorientation." + z, function() {
                            t.state.ready && t.deviceTurn(event)
                        }), se(window).on("orientationchange." + z, function() {
                            t.calculateTransformProperties()
                        })), se(window).on("scroll.parallax" + z + " touchmove.parallax" + z, function() {
                            (t.wrappers.scroll.$2d.length || t.wrappers.scroll.$3d.length) && t.scroll()
                        }), t.defaults.scrollModifier *= ie.o.parallaxScrollReverse ? -1 : 1
                    },
                    addLayer: function(e, t, i, a) {
                        switch (this.state.enabled || (ie.functions.setStates(this, {
                            enabled: !0
                        }), this.init()), se.extend(!0, t, this.defaultProperties, ie.slides[a].parallax, i.parallax), i.transformPerspective.parallax ? t.transformPerspective = i.transformPerspective.parallax : i.transformPerspective.parallax = t.transformPerspective, t.event.match(/(cursor|scroll|auto)/) || (t.event = "cursor"), t.path.match(/(circle|oval-h|oval-v|infinity|linear-h|linear-v)/) || (t.path = "circle"), t.direction.match(/(clockwise|counterclockwise)/) || (t.direction = "clockwise"), t.type.match(/(2d,3d)/) && (t.type = "2d"), (i.parallax = t).axis) {
                            case "none":
                                t.x = !1, t.y = !1;
                                break;
                            case "x":
                                t.y = !1;
                                break;
                            case "y":
                                t.x = !1
                        }
                        this.wrappers[t.event]["$" + t.type] = this.wrappers[t.event]["$" + t.type].add(e)
                    },
                    addShadow: function() {
                        var e, t, i, a = ie.gui.shadow.$element,
                            s = ie.slides.current && ie.slides.current.parallax ? ie.slides.current.index : ie.slides.next.index;
                        ie.slides[s].data.$background && ie.slides[s].data.$background.data(ie.defaults.init.dataKey).parallax.enabled && ie.slides[s].data.overflow && "hidden" !== ie.slides[s].data.overflow && (e = "50% -" + .25 * ie.slider.height + "px 0", i = void 0 !== (t = ie.slides[s].data.$background.data(ie.defaults.init.dataKey).parallax).rotation ? 2 * t.rotation : void 0 !== ie.slides[s].parallax.rotation ? 2 * ie.slides[s].parallax.rotation : 2 * this.defaultProperties.rotation, a.data(ie.defaults.init.dataKey, {
                            parallax: se.extend(!0, {}, this.defaultProperties, ie.slides[s].parallax, {
                                level: t.level,
                                transformOrigin: e,
                                rotation: i
                            })
                        }), a.attr("data-ls-parallax", "active"), ae.TweenMax.set(a[0], {
                            transformOrigin: e,
                            transformPerspective: a.data(ie.defaults.init.dataKey).parallax.transformPerspective * ie.resize.ratio
                        }), "3d" === ie.slides[s].parallax.type || "3d" === t.type ? this.wrappers.cursor.$3d = this.wrappers.cursor.$3d.add(a) : this.wrappers.cursor.$2d = this.wrappers.cursor.$2d.add(a)), this.shadowIsChecked = !0
                    },
                    removeShadow: function() {
                        var e = ie.gui.shadow.$element;
                        this.wrappers.cursor.$2d = this.wrappers.cursor.$2d.not(e), this.wrappers.cursor.$3d = this.wrappers.cursor.$3d.not(e), e.attr("data-ls-parallax", "disabled"), this.shadowIsChecked = !1
                    },
                    calculateTransformProperties: function() {
                        se().add(this.wrappers.cursor.$2d).add(this.wrappers.cursor.$3d).add(this.wrappers.scroll.$2d).add(this.wrappers.scroll.$3d).add(this.wrappers.auto.$2d).add(this.wrappers.auto.$3d).each(function() {
                            var e = se(this).data(ie.defaults.init.dataKey).parallax;
                            ae.TweenMax.set(se(this)[0], {
                                transformOrigin: ie.functions.convert.transformOrigin(e.transformOrigin, se(this), ie.slider.$layersWrapper),
                                transformPerspective: e.transformPerspective * ie.resize.ratio
                            })
                        }), this.transformPropertiesCalculated = !0
                    },
                    deviceTurn: function(e) {
                        var t, i, a;
                        this.transformPropertiesCalculated ? (a = 0 === (t = window.orientation) ? (i = 5 * -parseInt(e.gamma) * this.defaults.sensitive * ie.resize.ratio, 5 * (this.defaults.centerDegree - parseInt(e.beta)) * this.defaults.sensitive * ie.resize.ratio) : 90 === t ? (i = 5 * -parseInt(e.beta) * this.defaults.sensitive * ie.resize.ratio, 5 * (parseInt(e.gamma) + this.defaults.centerDegree) * this.defaults.sensitive * ie.resize.ratio) : (i = 5 * parseInt(e.beta) * this.defaults.sensitive * ie.resize.ratio, 5 * (this.defaults.centerDegree - parseInt(e.gamma)) * this.defaults.sensitive * ie.resize.ratio), this.animate2D(i, a, "cursor"), this.animate3D(i, a, "cursor")) : this.calculateTransformProperties(), ie.slider.state.animatingSlides || this.shadowIsChecked || !ie.gui.shadow.$element || this.addShadow()
                    },
                    trigger: function() {
                        se(window).trigger("scroll.parallax" + z), se(window).trigger("touchmove.parallax" + z)
                    },
                    auto: function() {
                        this.transformPropertiesCalculated || this.calculateTransformProperties()
                    },
                    scroll: function() {
                        var e = (("top" === this.defaults.centerLayers ? ie.device.winScrollTop : ie.device.winScrollTop + (ie.device.viewportHeight - ie.slider.height) / 2) - ie.slider.offsetTop) * ie.resize.ratio * this.defaults.scrollModifier;
                        ie.slider.state.inFullscreen && (e = 0), this.transformPropertiesCalculated || this.calculateTransformProperties(), this.animate2D(0, e, "scroll"), this.animate3D(0, e, "scroll")
                    },
                    mouseMove: function(e) {
                        var t, i, a, s;
                        this.transformPropertiesCalculated ? (ie.slider.state.animatingSlides || this.shadowIsChecked || !ie.gui.shadow.$element || this.addShadow(), t = ie.slider.offsetLeft + ie.slider.width / 2, i = ie.slider.offsetTop + ie.slider.height / 2, a = e.pageX - t, s = e.pageY - i, this.animate2D(a, s, "cursor"), this.animate3D(a, s, "cursor")) : this.calculateTransformProperties()
                    },
                    animate2D: function(s, r, e) {
                        this.wrappers[e].$2d.each(function() {
                            var e, t, i, a = se(this);
                            "active" === a.attr("data-ls-parallax") && (t = (e = a.data(ie.defaults.init.dataKey).parallax).x ? -s * (e.distance / 2e3) * parseInt(e.level) : 0, i = e.y ? -r * (e.distance / 2e3) * parseInt(e.level) : 0, ae.TweenMax.to(a[0], e.durationMove, {
                                x: t,
                                y: i
                            }))
                        })
                    },
                    animate3D: function(o, n, e) {
                        this.wrappers[e].$3d.each(function() {
                            var e, t, i, a, s, r = se(this);
                            "active" === r.attr("data-ls-parallax") && (a = (e = r.data(ie.defaults.init.dataKey).parallax).x ? (i = -o / (4e3 / e.rotation), -o * (e.distance / 2e3) * parseInt(e.level)) : i = 0, s = e.y ? (t = n / (4e3 / e.rotation), -n * (e.distance / 2e3) * parseInt(e.level)) : t = 0, ae.TweenMax.to(r[0], e.durationMove, {
                                rotationX: t,
                                rotationY: i,
                                x: a,
                                y: s
                            }))
                        })
                    },
                    reset: function() {
                        se().add(this.wrappers.cursor.$2d).add(this.wrappers.cursor.$3d).each(function() {
                            var e = se(this);
                            "active" === e.attr("data-ls-parallax") ? ae.TweenMax.to(e[0], se(this).data(ie.defaults.init.dataKey).parallax.durationLeave, {
                                x: 0,
                                y: 0,
                                rotationX: 0,
                                rotationY: 0
                            }) : ae.TweenMax.set(e[0], {
                                x: 0,
                                y: 0,
                                rotationX: 0,
                                rotationY: 0
                            })
                        }), ie.gui.shadow.$element && this.removeShadow(), this.transformPropertiesCalculated = !1
                    }
                }, filters: {
                    createTransition: function(e, t, i, a) {
                        var s, r = new ie.defaults.layer.properties.filter,
                            o = {};
                        for (s in r) switch (t) {
                            case "in":
                                o[s] = [r[s], r[s]], o[s][0] = i.hasOwnProperty(s) ? i[s] : a.hasOwnProperty(s) ? a[s] : r[s], o[s][1] = a.hasOwnProperty(s) ? a[s] : r[s], e.filter.values.afterIn[s] = o[s][1];
                                break;
                            case "hover":
                            case "loop":
                            case "out":
                                o[s] = [], o[s][0] = i.hasOwnProperty(s) ? i[s] : r[s], o[s][1] = a.hasOwnProperty(s) ? a[s] : i.hasOwnProperty(s) && i[s] !== r[s] ? i[s] : r[s], "loop" === t && !0 !== e.loop.yoyo && -1 !== e.loop.count && (e.filter.values.afterLoop[s] = o[s][1]);
                                break;
                            case "bg":
                                o[s] = [r[s], r[s]], i.hasOwnProperty(s) && (o[s][0] = i[s]), a.hasOwnProperty(s) && (o[s][1] = a[s])
                        }
                        return o
                    },
                    convert: function(e) {
                        for (var t, i, a, s = {}, r = /(blur|brightness|contrast|grayscale|hue-rotate|invert|saturate|sepia)/i, o = 0, n = (e = e.split(" ")).length; o < n; o++)(t = (a = e[o].split("("))[0]).match(r) && (i = parseInt(a[1]), s[t] = i);
                        return s
                    },
                    animate: function(e, t) {
                        var i = 100 * e.target[0].p;
                        if ("object" == typeof t) {
                            var a = "";
                            for (var s in t)
                                if ("object" == typeof t[s] && 2 === t[s].length) switch (s) {
                                    case "blur":
                                        a += " blur( " + (t[s][0] < t[s][1] ? t[s][0] + Math.abs(t[s][0] - t[s][1]) / 100 * i : t[s][0] - Math.abs(t[s][0] - t[s][1]) / 100 * i) + "px )";
                                        break;
                                    case "hue-rotate":
                                        a += " hue-rotate( " + (t[s][0] < t[s][1] ? t[s][0] + Math.abs(t[s][0] - t[s][1]) / 100 * i : t[s][0] - Math.abs(t[s][0] - t[s][1]) / 100 * i) + "deg )";
                                        break;
                                    default:
                                        a += " " + s + "( " + (t[s][0] < t[s][1] ? t[s][0] + Math.abs(t[s][0] - t[s][1]) / 100 * i : t[s][0] - Math.abs(t[s][0] - t[s][1]) / 100 * i) + "% )"
                                }
                                ae.TweenMax.set(e.target, {
                                "-webkit-filter": a,
                                filter: a
                            })
                        }
                    }
                }, splitType: {
                    setNodesSequence: function(e, t) {
                        var i = t;
                        if ("desc" == e[1]) i = t.slice(0).reverse();
                        else if ("rand" == e[1]) i = t.slice(0).sort(function() {
                            return .5 - Math.random()
                        });
                        else if ("center" == e[1]) {
                            for (var a = Math.floor(t.length / 2), i = [t[a]], s = 1; s <= a; s++) i.push(t[a - s], t[a + s]);
                            i.length = t.length
                        } else if ("edge" == e[1]) {
                            var r, o = Math.floor(t.length / 2);
                            for (i = [t[0]], r = 1; r <= o; r++) i.push(t[t.length - r], t[r]);
                            i.length = t.length
                        }
                        return i
                    },
                    resetNodes: function(e, t) {
                        se(".char, .word, .line", e).add(t.elements.$wrapper).css({
                            transform: "none",
                            opacity: 1
                        }).each(function() {
                            delete this._gsTransform
                        })
                    },
                    setRandomProperties: function(e, t, i) {
                        for (var a in t) {
                            for (var s = [], r = 0, o = e.textIn.nodes.length; r < o; r++) s[r] = ie.functions.convert.randomProperties(t[a], a);
                            delete i[a], i.cycle[a] = s
                        }
                        t = null
                    }
                }
            },
            media: {
                defaults: {
                    delay: 500,
                    fadeIn: 500,
                    fadeOut: 750
                },
                changeBackgroundVideo: function(e, t) {
                    var i, a, s, r, o;
                    ie.slides.current.index && ie.slides.current.data.$backgroundVideo.length && (a = (i = ie.slides.current.data.$backgroundVideo).data(ie.defaults.init.dataKey).elements.$bgWrapper, t && (i.data(ie.defaults.init.dataKey).mediaProperties.willBePaused = !0, a.fadeOut(ie.transitions.media.defaults.fadeOut, function() {
                        i.trigger("stopBackgroundVideo"), i.data(ie.defaults.init.dataKey).mediaProperties.willBePaused = !1
                    }))), ie.slides.next.data.$backgroundVideo.length && (r = (s = ie.slides.next.data.$backgroundVideo).data(ie.defaults.init.dataKey).elements.$bgWrapper, o = s.data(ie.defaults.init.dataKey).elements.$bgOuterWrapper, ie.device.isMobile && (_.hasClass("ls-device-is-phone") && o.hasClass("ls-hide-on-phone") || _.hasClass("ls-device-is-tablet") && o.hasClass("ls-hide-on-tablet")) || setTimeout(function() {
                        s.trigger("playBackgroundVideo")
                    }, e ? 50 : 0), e || t ? r.fadeIn(ie.transitions.media.defaults.fadeOut) : r.css({
                        display: "block"
                    }), s.data(ie.defaults.init.dataKey).mediaProperties.isPreloaded = !0)
                }
            },
            timers: {
                defaults: {
                    fadeInDuration: .35,
                    reverseDuration: .3
                },
                create: function(e) {
                    this.curNext = e || "next", this.reset(), ie.gui.timers.bar.$element && this.bar.createTransition(), ie.gui.timers.circle.$element && this.circle.createTransition(), ie.gui.timers.slidebar.$element && this.slidebar.createTransition()
                },
                reverse: function() {
                    var e, t;
                    ie.slides.current && ie.slides.current.data && ie.transitions._slideTimeline && (e = ie.transitions._slideTimeline.progress(), t = ie.slides.current.data.duration * e / this.defaults.reverseDuration, ie.gui.timers.bar.$element && this.bar._transition && (ie.transitions._slideTimeline.remove(ie.transitions.timers.bar._transition), this.bar._transition.reverse().timeScale(t)), ie.gui.timers.circle.$element && this.circle._transition && (ie.transitions._slideTimeline.remove(ie.transitions.timers.circle._transition), this.circle._transition.reverse().timeScale(t)), ie.gui.timers.slidebar.$element && this.slidebar._transition && (ie.transitions._slideTimeline.remove(ie.transitions.timers.slidebar._transition), this.slidebar._transition.reverse().timeScale(t)))
                },
                reset: function() {
                    ie.gui.timers.bar.$element && this.bar._transition && this.bar.reset(), ie.gui.timers.circle.$element && this.circle._transition && this.circle.reset(), ie.gui.timers.slidebar.$element && this.slidebar._transition && this.slidebar.reset()
                },
                bar: {
                    reset: function() {
                        this._transition && (this._transition.kill(), this._transition = !1)
                    },
                    createTransition: function() {
                        this._transition = ae.TweenMax.fromTo(ie.gui.timers.bar.$element[0], ie.slides[ie.transitions.curNext].data.duration, {
                            autoCSS: !1,
                            paused: !0,
                            css: {
                                width: 0
                            }
                        }, {
                            autoCSS: !1,
                            css: {},
                            ease: ae.Linear.easeNone,
                            onReverseComplete: function() {
                                ie.transitions.timers.bar._transition = !1
                            },
                            onComplete: function(e) {
                                e.target.style.width = "100%", e.target.style.width = "calc( 100% - " + ie.slider.initial.skinWidth + "px )"
                            },
                            onCompleteParams: ["{self}"],
                            onUpdate: function(e) {
                                e.target.style.width = Math.min(ie.slider.width, ie.slider.width * e.progress()) + "px"
                            },
                            onUpdateParams: ["{self}"]
                        })
                    }
                },
                circle: {
                    reset: function() {
                        this._transition && (ie.gui.timers.circle.$element.stop(!0, !0), this._transition.kill(), this._transition = !1)
                    },
                    createTransition: function() {
                        var e = ie.gui.timers.circle.$element.find(".ls-ct-right .ls-ct-rotate")[0],
                            t = ie.gui.timers.circle.$element.find(".ls-ct-left .ls-ct-rotate")[0],
                            i = ie.slides[ie.transitions.curNext].data.duration;
                        this._transition = new ae.TimelineMax({
                            paused: !0
                        }).fromTo(ie.gui.timers.circle.$element[0], ie.transitions.timers.defaults.fadeInDuration, {
                            autoCSS: !1,
                            immediateRender: !0,
                            css: {
                                opacity: 0,
                                display: "block"
                            }
                        }, {
                            autoCSS: !1,
                            css: {
                                opacity: ie.gui.timers.circle.$element.data("original").opacity
                            }
                        }).fromTo(e, i / 2, {
                            autoCSS: !1,
                            css: {
                                rotation: 0
                            }
                        }, {
                            autoCSS: !1,
                            css: {
                                rotation: 180
                            },
                            ease: ae.Linear.easeNone
                        }, 0).fromTo(t, i / 2, {
                            autoCSS: !1,
                            css: {
                                rotation: 0
                            }
                        }, {
                            autoCSS: !1,
                            css: {
                                rotation: 180
                            },
                            ease: ae.Linear.easeNone
                        }, i / 2)
                    }
                },
                slidebar: {
                    reset: function() {
                        this._transition && (this._transition.kill(), this._transition = !1)
                    },
                    createTransition: function() {
                        var i = this;
                        i._transition = new ae.TimelineMax({
                            paused: !0,
                            onReverseComplete: function() {
                                ie.transitions.timers.slidebar._transition = !1
                            }
                        }), se.each(ie.gui.timers.slidebar.$sliderContainerElement, function(t, e) {
                            i._transition.add(ae.TweenMax.fromTo(ie.gui.timers.slidebar.$sliderContainerElement[t][0], ie.slides[ie.transitions.curNext].data.duration, {
                                autoCSS: !1,
                                css: {
                                    left: 0
                                }
                            }, {
                                autoCSS: !1,
                                css: {},
                                ease: ae.Linear.easeNone,
                                onComplete: function(e) {
                                    e.target.style.left = "calc( 100% - " + ie.gui.timers.slidebar.sliderContainerElementWidth[t] + "px )"
                                },
                                onCompleteParams: ["{self}"],
                                onUpdate: function(e) {
                                    e.target.style.left = (ie.gui.timers.slidebar.containerElementWidth[t] - ie.gui.timers.slidebar.sliderContainerElementWidth[t]) * e.progress() + "px"
                                },
                                onUpdateParams: ["{self}"]
                            }), 0), i._transition.add(ae.TweenMax.fromTo(ie.gui.timers.slidebar.$progressBarElement[t][0], ie.slides[ie.transitions.curNext].data.duration, {
                                autoCSS: !1,
                                css: {
                                    width: 0
                                }
                            }, {
                                autoCSS: !1,
                                css: {},
                                ease: ae.Linear.easeNone,
                                onComplete: function(e) {
                                    e.target.style.width = "100%"
                                },
                                onCompleteParams: ["{self}"],
                                onUpdate: function(e) {
                                    e.target.style.width = ie.gui.timers.slidebar.elementWidth[t] * e.progress() + "px"
                                },
                                onUpdateParams: ["{self}"]
                            }), 0)
                        })
                    }
                }
            }
        }, ie.plugins = {
            load: function() {
                if (ie.o.plugins && 0 !== ie.o.plugins.length) {
                    var e = ie.o.plugins[0],
                        a = "object" == typeof e ? e.namespace : e;
                    if (window._layerSlider.plugins[a]) ie.plugins.init(a, e, !0), ie.plugins.load();
                    else if (ie.browser.usesFileProtocol || "object" != typeof e) ie.browser.usesFileProtocol ? window.console && (console.error(ie.defaults.slider.errorText, "Cannot load plugins on file:// protocol."), console.info("Please include the plugin files manually.")) : window.console && (console.error(ie.defaults.slider.errorText, "Plugin files are missing!"), console.info('Plugin "' + a + '" has been added in slider init options, but the source files are not found on page.')), ie.o.plugins.splice(0, 1), ie.plugins.load();
                    else {
                        if (-1 !== window._layerSlider.pluginsBeingLoaded.indexOf(a)) return void ie.plugins.checkLoaded(a); - 1 === window._layerSlider.pluginsLoaded.indexOf(a) && -1 === window._layerSlider.pluginsNotLoaded.indexOf(a) ? (window._layerSlider.pluginsBeingLoaded.push(a), se.ajax({
                            url: -1 === e.js.indexOf("http://") && -1 === e.js.indexOf("https://") ? (window._layerSlider.pluginsPath ? window._layerSlider.pluginsPath : window._layerSlider.scriptPath + "/../plugins/") + e.js : e.js,
                            dataType: "script",
                            success: function() {
                                ie.plugins.init(e.namespace, e, !0), window._layerSlider.pluginsLoaded.push(a)
                            },
                            error: function(e, t, i) {
                                window.console && (console.error(ie.defaults.slider.errorText, a, "plugin has not been loaded!"), console.error("Additional error info:", i)), window._layerSlider.pluginsNotLoaded.push(a)
                            },
                            complete: function() {
                                window._layerSlider.pluginsBeingLoaded.splice(window._layerSlider.pluginsBeingLoaded.indexOf(a), 1), ie.plugins.load()
                            }
                        })) : (ie[a] || -1 !== window._layerSlider.pluginsNotLoaded.indexOf(a) ? ie.o.plugins.splice(0, 1) : ie.plugins.init(a, e), ie.plugins.load())
                    }
                } else ie.slider.check.initialized()
            },
            init: function(e, t, i) {
                ie.initializedPlugins[e] = new window._layerSlider.plugins[e](ie, _, z, t.settings), window._layerSlider.checkVersions(ie.initializedPlugins[e].pluginData.requiredLSVersion, ie.plugin.version) ? (t.css && i && se('<link rel="stylesheet" href="' + (-1 === t.css.indexOf("http://") && -1 === t.css.indexOf("https://") ? (window._layerSlider.pluginsPath ? window._layerSlider.pluginsPath : window._layerSlider.scriptPath + "/../plugins/") + t.css : t.css) + '">').appendTo("head"), ie.initializedPlugins[e].init && ie.initializedPlugins[e].init()) : window.console && console.error(ie.defaults.slider.errorText, e, "plugin has not been loaded! Required LayerSlider version:", ie.initializedPlugins[e].pluginData.requiredLSVersion, "(you have:", ie.plugin.version + ")"), ie.o.plugins.splice(0, 1)
            },
            checkLoaded: function(e) {
                ie.intervals.pluginLoaded = setInterval(function() {
                    -1 === window._layerSlider.pluginsLoaded.indexOf(e) && -1 === window._layerSlider.pluginsNotLoaded.indexOf(e) || -1 !== window._layerSlider.pluginsBeingLoaded.indexOf(e) || (clearInterval(ie.intervals.pluginLoaded), delete ie.intervals.pluginLoaded, ie.plugins.load())
                }, 100)
            }
        }, ie.slider = {
            shouldResize: !0,
            thumbnails: [],
            state: {
                preloadingImages: !1,
                changingSlides: !1,
                animatingSlides: !1
            },
            isPaused: !1,
            isBusy: function() {
                return this.state.preloadingImages || this.state.changingSlides || this.state.animatingSlides
            },
            load: function() {
                if (!document.body.contains(W)) return !1;
                ie.api.hasEvent("sliderWillLoad") && _.triggerHandler("sliderWillLoad"), ie.slider.set.global()
            },
            set: {
                global: function() {
                    var e, t;
                    ie.originalMarkup = _[0].outerHTML, ie.userInitOptions = ie.functions.convert.properties(ie.functions.convert.oldProperties(a)), ie.meta = {}, ie.o = se.extend(!0, {}, ie.defaults.init.options, ie.userInitOptions), ie.o.forceLayersOutDuration /= 1e3, ie.o.forceLayersOutDuration = 0 < ie.o.forceLayersOutDuration ? ie.o.forceLayersOutDuration : .75, ie.o.sliderFadeInDuration /= 1e3, window.console && !0 !== ie.o.hideWelcomeMessage && !0 !== window._layerSlider.hideWelcomeMessage && (window._layerSlider.hideWelcomeMessage = !0, e = window.console.info ? "info" : "log", t = window.LS_Meta && window.LS_Meta.v ? " | WP Plugin: " + window.LS_Meta.v : "", console[e]("LayerSlider initialized | core: " + ie.plugin.version + "-" + ie.plugin.release + t), console[e]("Find updates and docs @ https://layerslider.kreaturamedia.com/"));
                    var i = {
                        namespace: "debug",
                        js: "debug/layerslider.debug.js",
                        css: "debug/layerslider.debug.css"
                    }; - 1 !== document.location.hash.indexOf("debug") && window.console && (-1 !== document.location.hash.indexOf("url=") && (window._layerSlider.pluginsPath = document.location.hash.split("url=")[1].split("&")[0], i.js = window._layerSlider.pluginsPath + "debug/layerslider.debug.js", i.css = window._layerSlider.pluginsPath + "debug/layerslider.debug.css"), "object" == typeof ie.o.plugins ? ie.o.plugins.push(i) : ie.o.plugins = [i]), (window._layerSlider.currentScript || window._layerSlider.lsScript) && (window._layerSlider.scriptPath = (window._layerSlider.currentScript || window._layerSlider.lsScript).src.replace(/\\/g, "/").replace(/\/[^\/]*$/, "")), "object" == typeof ie.o.plugins ? ie.plugins.load() : ie.slider.check.initialized()
                },
                styles: function() {
                    var e, t, i, a, s, r, o, n, l, d, u, p, c, h, m, f, g, v, y, b, S, w, x = ie.slider,
                        T = _.parent(),
                        C = W.style,
                        k = window.getComputedStyle(W, null),
                        I = parseInt(W.clientWidth),
                        O = parseInt(W.clientHeight),
                        L = parseInt(T.width()),
                        P = parseInt(T.height()),
                        $ = ie.o.layersContainerWidth,
                        B = ie.o.layersContainerHeight,
                        M = ie.o.type.toLowerCase();
                    switch (ie.debugMode && ie.debug.add("group", "sliderInit.style"), ie.o.width ? e = -1 == ie.o.width.indexOf("%") ? parseInt(ie.o.width) : ie.o.width : C.width ? e = -1 == C.width.indexOf("%") ? parseInt(C.width) : C.width : 0 < $ ? (e = $, ie.debugMode && ie.debug.add("warn", "sliderInit.noWidth", $)) : (e = I, ie.debugMode && ie.debug.add("warn", "sliderInit.noWidth2", I)), i = e, ie.o.height ? t = -1 == ie.o.height.indexOf("%") ? parseInt(ie.o.height) : ie.o.height : C.height ? t = -1 == C.height.indexOf("%") ? parseInt(C.height) : C.height : 0 < B ? (t = B, ie.debugMode && ie.debug.add("warn", "sliderInit.noHeight", B)) : (t = O, ie.debugMode && ie.debug.add("warn", "sliderInit.noHeight2", P)), a = t, s = "" !== C.maxWidth ? -1 === C.maxWidth.indexOf("%") ? parseInt(C.maxWidth) : C.maxWidth : 0, void 0 === ie.userInitOptions.type && (0 < $ && 0 < B || "100%" === e && "100%" === t ? M = "fullsize" : $ <= 0 && B <= 0 && (ie.o.responsiveUnder <= 0 || 0 < ie.o.responsiveUnder && ie.o.sliderVersion) ? M = void 0 !== ie.o.responsive && !1 === ie.o.responsive ? "fixedsize" : "responsive" : 0 < ie.o.responsiveUnder && (M = "fullwidth")), M) {
                        case "fullwidth":
                            -1 !== e.indexOf("%") && (ie.debugMode && ie.debug.add("warn", "sliderInit.percWidth", [M, e, I]), e = I), $ <= 0 && ($ = e, ie.debugMode && ie.debug.add("warn", "sliderInit.conWidth", [M, e])), ie.o.responsiveUnder <= 0 && (ie.o.responsiveUnder = $, ie.debugMode && ie.debug.add("warn", "sliderInit.fullwidth", $)), -1 !== t.indexOf("%") && (o = P / (100 / parseInt(t)), ie.debugMode && ie.debug.add("warn", "sliderInit.fullwidth2", [M, t, o]), t = o), B <= 0 && (B = t);
                            break;
                        case "fullsize":
                            -1 !== e.indexOf("%") && (r = 0 < $ ? $ : L, ie.debugMode && ie.debug.add("warn", "sliderInit.fullsize", [M, e, r, L, $]), e = r), $ <= 0 && ($ = e, ie.debugMode && ie.debug.add("warn", "sliderInit.conWidth", [M, e])), -1 !== t.indexOf("%") && (o = 0 < B ? B : se(window).height() / (100 / parseInt(t)), ie.debugMode && ie.debug.add("warn", "sliderInit.fullsize2", [M, t, o, se(window).height(), B]), t = o), B <= 0 && (B = t, ie.debugMode && ie.debug.add("warn", "sliderInit.conHeight", [M, t]));
                            break;
                        case "fixedsize":
                            break;
                        default:
                            ie.userInitOptions.type = ie.o.type = M = "responsive", (ie.o.responsiveUnder = -1) !== e.indexOf("%") && (e = I, ie.debugMode && ie.debug.add("warn", "sliderInit.percWidth", [M, e, I])), -1 !== t.indexOf("%") && (e = O, ie.debugMode && ie.debug.add("warn", "sliderInit.responsive", [M, t, O])), ie.debugMode && 0 < $ && ie.debug.add("warn", "sliderInit.conWidth2", [M, $]), ie.debugMode && 0 < B && ie.debug.add("warn", "sliderInit.conHeight2", [M, B])
                    }
                    _.addClass("ls-container ls-" + M), _.parent().addClass("ls-direction-fix"), ie.o.preventSliderClip && ie.o.fitScreenWidth && ("fullwidth" === M || "fullsize" === M && "fitheight" !== ie.o.fullSizeMode) && _.parents(":not(body, html)").each(function() {
                        se(this).addClass("ls-overflow-visible")
                    }), ie.userInitOptions.slideBGSize || "responsive" !== M || !ie.userInitOptions.hasOwnProperty("sliderVersion") || ie.userInitOptions.sliderVersion || (ie.o.slideBGSize = "auto", ie.debugMode && ie.debug.add("warn", "sliderInit.bgCover", M)), ie.o.slideBGSize = ie.o.slideBGSize.replace("100% 100%", "stretch"), n = 0 < $ ? $ : e, l = 0 < B ? B : t, "auto" === (p = W.style.marginLeft) ? d = "auto" : "" === p ? d = parseInt(k.getPropertyValue("margin-left")) : d = parseInt(W.style.marginLeft), "auto" === (c = W.style.marginRight) ? u = "auto" : "" === c ? u = parseInt(k.getPropertyValue("margin-right")) : u = parseInt(W.style.marginRight), d === u && ("" === p && "" === c && (h = d, u = d = "auto"), _.css({
                        marginLeft: "auto",
                        marginRight: "auto"
                    })), m = "" !== C.paddingLeft ? parseInt(C.paddingLeft) : parseInt(_.css("padding-left")), g = "" !== C.paddingRight ? parseInt(C.paddingRight) : parseInt(_.css("padding-right")), f = "" !== C.paddingTop ? parseInt(C.paddingTop) : parseInt(_.css("padding-top")), v = "" !== C.paddingBottom ? parseInt(C.paddingBottom) : parseInt(_.css("padding-bottom")), y = "" !== C.borderLeftWidth ? parseInt(C.borderLeftWidth) : parseInt(_.css("border-left-width")), S = "" !== C.borderRightWidth ? parseInt(C.borderRightWidth) : parseInt(_.css("border-right-width")), b = "" !== C.borderTopWidth ? parseInt(C.borderTopWidth) : parseInt(_.css("border-top-width")), w = "" !== C.borderBottomWidth ? parseInt(C.borderBottomWidth) : parseInt(_.css("border-bottom-width")), x.initial = {
                        type: M,
                        width: e,
                        height: t,
                        originalWidth: i,
                        originalHeight: a,
                        percW: e / 100,
                        percH: t / 100,
                        layersWidth: $,
                        layersHeight: B,
                        ratio: n / l,
                        maxWidth: s,
                        marginLeft: d,
                        marginRight: u,
                        paddingLeft: m,
                        paddingTop: f,
                        paddingRight: g,
                        paddingBottom: v,
                        borderLeftWidth: y,
                        borderTopWidth: b,
                        borderRightWidth: S,
                        borderBottomWidth: w,
                        skinWidth: m + g + y + S,
                        skinHeight: f + v + b + w
                    }, ie.debugMode && (ie.debug.add("log", "sliderInit.style", [e, t, i, a, $, B, parseInt(n / l * 100) / 100, 0 < s ? s : void 0, [d, u]]), h && ie.debug.add("warn", "sliderInit.margin", h)), se("html").attr("id") ? se("body").attr("id") || se("body").attr("id", "ls-global") : se("html").attr("id", "ls-global"), "static" !== k.getPropertyValue("position") && "absolute" !== k.getPropertyValue("position") && (W.style.position = "relative"), ie.o.insertSelector && _[ie.o.insertMethod](ie.o.insertSelector), ie.slider.$hiddenWrapper = se('<div class="ls-wp-container fitvidsignore ls-hidden" data-layerslider-uid="' + z + '"></div>').addClass(_.attr("class")).prependTo("body"), ie.slider.$innerWrapper = se('<div class="ls-inner"></div>'), ie.slider.$layersWrapper = se('<div class="ls-layers"></div>').appendTo(ie.slider.$innerWrapper), ie.slider.$bgVideosWrapper = se('<div class="ls-background-videos"></div>').appendTo(ie.slider.$layersWrapper), ie.slider.$slideBGWrapper = se('<div class="ls-slide-backgrounds"></div>').appendTo(ie.slider.$layersWrapper), ie.slider.$innerWrapper.appendTo(_), !0 === ie.o.hideOnMobile && ie.device.isMobile ? (_.addClass("ls-forcehide"), _.closest(".ls-wp-fullwidth-container").addClass("ls-forcehide"), ie.o.autoStart = !1) : ie.slider.check.showHide(), ie.o.globalBGImage && ie.slider.$innerWrapper.css({
                        backgroundImage: "url( " + ie.o.globalBGImage + " )",
                        backgroundRepeat: ie.o.globalBGRepeat,
                        backgroundAttachment: ie.o.globalBGAttachment,
                        backgroundSize: ie.o.globalBGSize,
                        backgroundPosition: ie.o.globalBGPosition
                    }), ie.slider.$innerWrapper.css({
                        backgroundColor: ie.o.globalBGColor
                    }), "transparent" == ie.o.globalBGColor && !1 === ie.o.globalBGImage && ie.slider.$innerWrapper.css({
                        background: "none transparent"
                    })
                },
                options: function() {
                    var t, i, a, s, r;
                    se("html").find('meta[content*="WordPress"]').length && (ie.meta.wpVersion = se("html").find('meta[content*="WordPress"]').attr("content").split("WordPress")[1]), window.LS_Meta && window.LS_Meta.v ? ie.meta.lswpVersion = window.LS_Meta.v : se("html").find('script[src*="layerslider"]').length && -1 != se("html").find('script[src*="layerslider"]').attr("src").indexOf("?") && (ie.meta.lswpVersion = se("html").find('script[src*="layerslider"]').attr("src").split("?")[1].split("=")[1]), "undefined" != typeof layerSliderTransitions && (ie.t = se.extend({}, layerSliderTransitions)), "undefined" != typeof layerSliderCustomTransitions && (ie.ct = se.extend({}, layerSliderCustomTransitions)), ie.debugMode && ("undefined" != typeof layerCustomSliderTransitions ? (ie.debug.add("log", "sliderInit.customTransitions", !1), "undefined" == typeof layerSliderTransitions && ie.debug.add("warn", "sliderInit.slideTransitions")) : "undefined" == typeof layerSliderTransitions && ie.debug.add("warn", "sliderInit.noSlideTransitions")), "number" == typeof ie.o.parallaxCenterDegree && (ie.transitions.layers.parallax.defaults.centerDegree = ie.o.parallaxCenterDegree), "number" == typeof ie.o.parallaxSensitivity && (ie.transitions.layers.parallax.defaults.sensitive = ie.o.parallaxSensitivity), ie.o.parallaxCenterLayers && (ie.transitions.layers.parallax.defaults.centerLayers = ie.o.parallaxCenterLayers), ie.o.playByScroll && (ie.o.cycles = -1, ie.o.startInViewport = !0, ie.o.pauseOnHover = !1, ie.o.autoStart = !1), ie.device.isMobile && (ie.o.pauseOnHover = !1), se(window).on("hashchange." + z, function() {
                        document.location.hash && ie.slides.deeplink(document.location.hash)
                    }), ie.o.startInViewport && (ie.slider.positionToViewport = ie.device.winScrollTop > ie.slider.offsetTop - (ie.device.viewportHeight - ie.slider.height) / 2 ? "under" : "over", ie.o.playByScroll ? (t = !0, i = 4 * ie.o.playByScrollSpeed, ie.device.scroll.timeout = 250, ie.transitions.layers.timeline.timeScaleModifier = 0, se(document).on("wheel." + z + " touchmove." + z, function(e) {
                        ie.device.isMobile ? (a = e.originalEvent.touches[0].clientY, s < a ? ie.device.scroll.direction = "up" : a < s && (ie.device.scroll.direction = "down"), r = s - a, s = a) : (0 < e.originalEvent.deltaY ? ie.device.scroll.direction = "down" : ie.device.scroll.direction = "up", r = e.originalEvent.deltaY), 0 !== Math.abs(r) && (ie.device.scroll.lastDirection ? ie.device.scroll.lastDirection !== ie.device.scroll.direction && (ie.device.scroll.lastDirection = ie.device.scroll.direction, ie.transitions.layers.timeline.timeScaleModifier = 0) : ie.device.scroll.lastDirection = ie.device.scroll.direction, "inside" === ie.slider.positionToViewport && (ie.resize.viewport(), 0 <= r ? ie.transitions.layers.timeline.scrollForward() : ie.transitions.layers.timeline.scrollBackwards(), t && (clearTimeout(ie.timeouts.scroll), t = !1, ie.transitions.layers.timeline.timeScaleModifier = ie.transitions.layers.timeline.timeScaleModifier < i ? ie.transitions.layers.timeline.timeScaleModifier + .25 : i, ie.timeouts.scroll2 = setTimeout(function() {
                            delete ie.timeouts.scroll2, t = !0, ie.device.scroll.timeout = 50 < ie.device.scroll.timeout ? ie.device.scroll.timeout - 50 : 50
                        }, ie.device.scroll.timeout))), ie.slider.check.positionToViewport())
                    })) : se(window).on("scroll." + z, function() {
                        ie.slider.check.positionToViewport()
                    }), ie.timeouts.checkPosition = setTimeout(function() {
                        ie.slider.check.positionToViewport()
                    }, 25)), ie.slider.canShow = !0
                },
                attributes: function() {
                    _.attr("data-current-slide", ie.slides.current.index)
                }
            },
            check: {
                initialized: function() {
                    ie.debugMode && ie.debug.add("log", "sliderInit.info", [ie.plugin.version, ie.plugin.releaseDate, ie.userInitOptions.sliderVersion || "n/a or slider version is pre 6.0.0", _.attr("id"), z, se.fn.jquery, ie.meta.lswpVersion, ie.meta.wpVersion], !0), ie.slider.initialized || (ie.slider.initialized = !0, this.skins())
                },
                skins: function() {
                    ie.o.skin && "" !== ie.o.skin && ie.o.skinsPath && "" !== ie.o.skinsPath ? ie.gui.skin.load() : ie.slider.init()
                },
                showHide: function() {
                    ie.device.isMobile && !1 !== ie.o.hideOnMobile || (ie.device.viewportWidth < ie.o.hideUnder || ie.device.viewportWidth > ie.o.hideOver && 0 < ie.o.hideOver ? ie.slider.hide() : ie.slider.show())
                },
                positionToViewport: function() {
                    var e, t, i;
                    delete ie.timeouts.checkPosition, ie.o.playByScroll ? ie.device.scroll.direction && (e = "down" === ie.device.scroll.direction ? ie.device.winScrollTop : ie.slider.offsetTop - (ie.device.viewportHeight - ie.slider.height) / 2, (("down" === ie.device.scroll.direction ? ie.slider.offsetTop - (ie.device.viewportHeight - ie.slider.height) / 2 : ie.device.winScrollTop) < e && ("up" === ie.device.scroll.direction && "under" === ie.slider.positionToViewport || "down" === ie.device.scroll.direction && "over" === ie.slider.positionToViewport) || ie.device.docHeight <= ie.device.viewportHeight || ie.slider.height < ie.device.viewportHeight && ("up" === ie.device.scroll.direction && ie.device.winScrollTop <= 0 && ie.slider.offsetTop + ie.slider.height / 2 < ie.device.viewportHeight / 2 || "down" === ie.device.scroll.direction && ie.device.winScrollTop >= ie.device.docHeight - ie.device.viewportHeight && ie.slider.offsetTop + ie.slider.height / 2 > ie.device.winScrollTop + ie.device.viewportHeight / 2)) && (ie.slider.positionToViewport = "inside", ie.resize.viewport(), ie.device.scroll.disable())) : (t = ie.device.winScrollTop + ie.device.viewportHeight / 2, i = ie.slider.offsetTop + ie.slider.height / 2, (Math.abs(t - i) < ie.device.viewportHeight / 2 || ie.device.winScrollTop < ie.slider.offsetTop && ie.device.winScrollTop + ie.device.viewportHeight > ie.slider.offsetTop + ie.slider.height) && (ie.slider.positionToViewport = "inside", se(window).off("scroll." + z), ie.debugMode && ie.debug.add("log", "slideshow.inviewport", !1), ie.transitions._slideTimeline && ie.transitions.layers.timeline.play()))
                }
            },
            init: function() {
                clearTimeout(ie.timeouts.skinLoad1), clearTimeout(ie.timeouts.skinLoad2), clearTimeout(ie.timeouts.skinLoad3), clearTimeout(ie.timeouts.skinLoad4), ie.device.setBasicEvents(), ie.slider.set.styles(), ie.slider.set.options(), ie.slides.init(), ie.device.fullscreen.set(), ie.media.init(), ie.gui.timers.init(), ie.gui.loadingIndicator.init(), ie.preload.init(), ie.gui.shadow.init(), ie.navigation.init(), ie.slideshow.init(), ie.slides.set.firstSlide(), ie.gui.navigation.init(), ie.gui.media.init(), ie.resize.slider(), ie.yourLogo.init(), se(window).on("resize." + z, function() {
                    ie.slider.check.showHide(), "inside" === ie.slider.positionToViewport && ie.o.playByScroll && ie.resize.viewport(), ie.slider.shouldResize && ie.resize.all()
                }), ie.debugMode && (se(window).off(".debug" + z), se(window).on("resize.debug" + z, function() {
                    ie.debug.add("log", "resize.window", ie.device.viewportWidth, !0)
                })), se(window).on("orientationchange." + z, function() {
                    ie.device.getDimensions(), ie.resize.all()
                }), ie.device.getDimensions(), se(window).trigger("resize." + z), se(window).trigger("orientationchange." + z), ie.api.hasEvent("sliderDidLoad") && _.triggerHandler("sliderDidLoad", ie.api.eventData()), ie.functions.setStates(ie.slider, {
                    isLoaded: !0
                }), ie.slider.state.shouldBeDestroyed ? ie.api.methods("destroy") : ((-1 < ie.o.hideOver || -1 < ie.o.hideUnder || "fullsize" == ie.slider.initial.type && "hero" == ie.o.fullSizeMode) && !ie.intervals.checkSliderOffset && (ie.intervals.checkSliderOffset = setInterval(function() {
                    ie.device.checkSliderOffset()
                }, 100)), ie.slideshow.changeTo(ie.slides.first.index))
            },
            hide: function() {
                _.addClass("ls-forcehide"), _.closest(".ls-wp-fullwidth-container").addClass("ls-forcehide"), _.closest(".ls-popup").addClass("ls-forcehide"), _.closest(".ls-popup").prev(".ls-popup-overlay").addClass("ls-forcehide")
            },
            show: function() {
                _.removeClass("ls-forcehide"), _.closest(".ls-wp-fullwidth-container").removeClass("ls-forcehide"), _.closest(".ls-popup").removeClass("ls-forcehide"), _.closest(".ls-popup").prev(".ls-popup-overlay").removeClass("ls-forcehide")
            }
        }, ie.functions = {
            convert: {
                transformOrigin: function(e, t, i) {
                    for (var a = (n = se.trim(e)).split(" "), s = "", r = ["Left", "Top"], o = [ie.slider.width, ie.slider.height], n = n.replace("sliderleft", "0").replace("sliderright", "100%").replace("slidercenter", "50%").replace("slidermiddle", "50%").replace("slidertop", "0").replace("sliderbottom", "100%").replace("left", "0").replace("right", "100%").replace("center", "50%").replace("middle", "50%").replace("top", "0").replace("bottom", "100%").split(" "), l = 0; l < n.length; l++)
                        if (-1 !== a[l].indexOf("slider")) {
                            ie.transitions.layers.timeline.shouldRestart = !0;
                            var d = t.data(ie.defaults.init.dataKey).elements.$wrapper[0].style;
                            s += l < 2 ? o[l] / (100 / parseInt(n[l])) - parseInt(d[r[l].toLowerCase()]) - parseInt(d["margin" + r[l]]) + "px " : "0px"
                        } else {
                            if (l < 2 && t && i) switch (l) {
                                case 0:
                                    o = i.width();
                                    break;
                                case 1:
                                    o = i.height()
                            } - 1 !== n[l].indexOf("%") ? s += l < 2 && t && i ? o / (100 / parseInt(n[l])) + "px " : n[l] + " " : s += parseInt(n[l]) * ie.resize.ratio + "px "
                        }
                    return se.trim(s)
                },
                easing: function(e, t) {
                    return "string" != typeof e ? e : (-1 !== (e = e.toLowerCase()).indexOf("swing") || -1 !== e.indexOf("linear") ? i = ae.Linear.easeNone : (a = e.match(/(easeinout|easein|easeout)(.+)/)[2], s = ae[a.charAt(0).toUpperCase() + a.slice(1)], -1 !== e.indexOf("easeinout") ? i = s.easeInOut : -1 !== e.indexOf("easeout") ? i = t ? s.easeIn : s.easeOut : -1 !== e.indexOf("easein") && (i = t ? s.easeOut : s.easeIn)), i);
                    var i, a, s
                },
                transition: function(e, t, i, a) {
                    var s = se.extend({}, e);
                    return se.each({
                        rotate: "rotation",
                        rotateX: "rotationX",
                        rotateY: "rotationY"
                    }, function(e, t) {
                        e in s && (s[t] = s[e], delete s[e])
                    }), "after" === i ? s.scaleX = s.scaleY = s.scaleZ = 1 : s.scale3d !== a && (s.scaleX = s.scaleY = s.scaleZ = s.scale3d, delete s.scale3d), s.delay && (s.delay = "after" === i ? s.delay / 1e3 : s.delay), void 0 === t && (t = "easeInOutQuart"), s.ease = ie.functions.convert.easing(t), s
                },
                randomProperties: function(e, t) {
                    if (e && -1 !== e.indexOf("(") && -1 !== e.indexOf(",") && -1 !== e.indexOf(")")) {
                        var i = e.split("(")[1].split(")")[0].split(","),
                            a = 1;
                        return i[0] = parseFloat(i[0]), i[1] = parseFloat(i[1]), -1 !== t.indexOf("scale") && (a = 100, i[0] *= a, i[1] *= a), Math.floor(Math.random() * (i[1] - i[0] + 1) + i[0]) / a
                    }
                    return e
                },
                properties: function(e, t) {
                    if ("string" == typeof e) return ie.functions.convert._properties(e, t);
                    if ("object" != typeof e) return e;
                    for (var i in e) e[i] = ie.functions.convert._properties(e[i], t);
                    return e
                },
                _properties: function(e, t) {
                    if ("enable" == e || "enabled" == e || "true" == e) return !0;
                    if ("disable" == e || "disabled" == e || "false" == e) return !1;
                    if ("string" != typeof e || -1 === e.indexOf(ie.defaults.init.lsDataArraySplitChar)) return t ? "" + parseInt(e) == "NaN" ? 0 : parseInt(e) : se.isNumeric(e) ? parseFloat(e) : e;
                    for (var i = e.split(ie.defaults.init.lsDataArraySplitChar), a = [], s = 0; s < i.length; s++) a[s] = se.isNumeric(i[s]) ? parseFloat(se.trim(i[s])) : se.trim(i[s]);
                    return a
                },
                oldProperties: function(i) {
                    return se.each({
                        firstLayer: "firstSlide",
                        loops: "cycles",
                        forceLoopNum: "forceCycles",
                        layersContainer: "layersContainerWidth",
                        sublayerContainer: "layersContainerWidth",
                        randomSlideshow: "shuffleSlideshow"
                    }, function(e, t) {
                        e in i && (i[t] = i[e], delete i[e])
                    }), i
                }
            },
            getSliderClosestParentElementWidthNumericValueOfProperty: function(e) {
                for (var t, i = _.parents().not(".ls-fullscreen-wrapper"), a = i.length, s = 100, r = 0; r < a; r++)
                    if ("auto" !== (t = window.getComputedStyle(i[r]).getPropertyValue(e))) {
                        if (-1 !== t.indexOf("px")) return ie.slider.$parentWithNumericWidthValue = se(i[r]), se(i[r]); - 1 !== t.indexOf("%") && (s = s / 100 * parseInt(t), ie.slider.$parentWithNumericWidthValuePercent = s)
                    }
            },
            sortArray: function(e, t, i) {
                var a = [];
                if ("forward" == i)
                    for (var s = 0; s < e; s++)
                        for (var r = 0; r < t; r++) a.push(s + r * e);
                else
                    for (var o = e - 1; - 1 < o; o--)
                        for (var n = t - 1; - 1 < n; n--) a.push(o + n * e);
                return a
            },
            shuffleArray: function(e) {
                for (var t, i, a = e.length; 0 !== a;) i = Math.floor(Math.random() * a), t = e[--a], e[a] = e[i], e[i] = t;
                return e
            },
            countProp: function(e) {
                var t = 0;
                for (var i in e) e.hasOwnProperty(i) && ++t;
                return t
            },
            getURL: function(e) {
                return e[0].currentSrc ? e[0].currentSrc : e.data("src") ? e.data("src") : e.attr("src")
            },
            getALT: function(e) {
                return !!e.attr("alt") && e.attr("alt")
            },
            setStates: function(e, t, i) {
                if (e && e.state) {
                    var a = ie.slideshow.isPaused();
                    if (i) e.state[t] = i;
                    else
                        for (var s in t) e.state[s] = t[s];
                    var r = ie.slideshow.isPaused();
                    e == ie.slideshow && (ie.api.hasEvent("slideshowStateDidChange") && _.triggerHandler("slideshowStateDidChange", ie.api.eventData()), r != a && (r ? ie.api.hasEvent("slideshowDidPause") && _.triggerHandler("slideshowDidPause", ie.api.eventData()) : ie.api.hasEvent("slideshowDidResume") && _.triggerHandler("slideshowDidResume", ie.api.eventData())))
                }
            },
            clearTimers: function() {
                for (var e in ie.timeouts) clearTimeout(ie.timeouts[e]), delete ie.timeouts[e];
                for (var t in ie.intervals) clearInterval(ie.intervals[t]), delete ie.intervals[t]
            },
            clearTimelines: function() {
                ie.transitions._slideTimeline && (ie.transitions._slideTimeline.pause().clear().kill(), delete ie.transitions._slideTimeline), ie.transitions._forceLayersOut && (ie.transitions._forceLayersOut.kill(), delete ie.transitions._forceLayersOut), ie.transitions._slideTransition && (ie.transitions._slideTransition.pause().clear().kill(), delete ie.transitions._slideTransition), ae.TweenMax.killTweensOf(_.find(".ls-bg, .ls-layer, .ls-wrapper, .ls-curtile, .ls-nexttile").get())
            },
            resetSlideTimelines: function() {
                ie.transitions._slideTimeline && (ie.transitions._slideTimeline.pause().progress(0).clear().kill(), delete ie.transitions._slideTimeline), ie.transitions._forceLayersOut && (ie.transitions._forceLayersOut.pause().progress(1).clear().kill(), delete ie.transitions._forceLayersOut), _.find(".ls-layer:not(.ls-bg-video)").each(function() {
                    var e = se(this).data(ie.defaults.init.dataKey);
                    e.loop._timeline && (e.loop._timeline.stop().clear(), delete e.loop._timeline, ae.TweenMax.set(e.elements.$loopWrapper[0], e.reset.loopWrapperOnSlideChange)), ae.TweenMax.set(e.elements.$wrapper[0], e.reset.wrapperOnSlideChange)
                })
            },
            clearEvents: function() {
                se(window).add("body").add(_).add(_.find("*")).add("." + z).off("." + z + " .debug" + z + " .parallax" + z + " .setter" + z), _.off()
            }
        }, ie.device = {
            $overflowWrapper: se("body").length ? se("body") : se("html"),
            isMobile: !!navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry|BB10|webOS|Windows Phone|mobi|opera mini|nexus 7)/i),
            supportOrientation: !!window.DeviceOrientationEvent,
            scroll: {
                keys: [32, 33, 34, 35, 36, 37, 38, 39, 40],
                disable: function() {
                    window.addEventListener("scroll", this.preventDefault, {
                        passive: !1,
                        capture: !0
                    }), window.addEventListener("wheel", this.preventDefault, {
                        passive: !1,
                        capture: !0
                    }), window.addEventListener("mousewheel", this.preventDefault, {
                        passive: !1,
                        capture: !0
                    }), window.addEventListener("touchmove", this.preventDefault, {
                        passive: !1,
                        capture: !0
                    }), window.addEventListener("keydown", this.preventDefaultForScrollKeys, {
                        capture: !0
                    })
                },
                enable: function() {
                    window.removeEventListener("scroll", this.preventDefault, {
                        passive: !1,
                        capture: !0
                    }), window.removeEventListener("wheel", this.preventDefault, {
                        passive: !1,
                        capture: !0
                    }), window.removeEventListener("mousewheel", this.preventDefault, {
                        passive: !1,
                        capture: !0
                    }), window.removeEventListener("touchmove", this.preventDefault, {
                        passive: !1,
                        capture: !0
                    }), window.removeEventListener("keydown", this.preventDefaultForScrollKeys, {
                        capture: !0
                    })
                },
                preventDefault: function(e) {
                    (e = e || window.event).preventDefault && e.preventDefault(), e.returnValue = !1
                },
                preventDefaultForScrollKeys: function(e) {
                    if (-1 !== ie.device.scroll.keys.indexOf(e.keyCode)) return ie.device.scroll.preventDefault(e), !1
                }
            },
            removeSelection: function() {
                window.getSelection ? window.getSelection().empty ? window.getSelection().empty() : window.getSelection().removeAllRanges && window.getSelection().removeAllRanges() : document.selection && document.selection.empty()
            },
            fullscreen: {
                enter: function() {
                    "fullsize" == ie.slider.initial.type && "hero" == ie.o.fullSizeMode && (ie.slider.heroTop = ie.slider.offsetTop), ie.functions.setStates(ie.slider, {
                        inFullscreen: !0
                    }), se("body, html").addClass("ls-fullscreen"), ie.slider.fullscreenWrapper.requestFullscreen(), _.trigger("mouseleave"), ie.device.removeSelection()
                },
                exit: function() {
                    ie.functions.setStates(ie.slider, {
                        inFullscreen: !1
                    }), ie.resize.all(), se("body, html").removeClass("ls-fullscreen"), ie.device.removeSelection()
                },
                toggle: function() {
                    ie.device.fullscreen.element() ? (ie.device.fullscreen.exit(), document.exitFullscreen()) : ie.device.fullscreen.enter()
                },
                set: function() {
                    ie.o.allowFullscreen && (document.fullscreenEnabled || document.webkitFullscreenEnabled || document.mozFullScreenEnabled || document.msFullscreenEnabled) && (_.wrap('<div class="ls-fullscreen-wrapper"></div>'), ie.slider.$fullscreenWrapper = _.closest(".ls-fullscreen-wrapper"), ie.slider.fullscreenWrapper = ie.slider.$fullscreenWrapper[0], ie.slider.fullscreenWrapper.requestFullscreen = ie.slider.fullscreenWrapper.requestFullscreen || ie.slider.fullscreenWrapper.webkitRequestFullscreen || ie.slider.fullscreenWrapper.mozRequestFullScreen || ie.slider.fullscreenWrapper.msRequestFullscreen, document.exitFullscreen = document.exitFullscreen || document.webkitExitFullscreen || document.mozCancelFullScreen || document.msExitFullscreen, se(document).on("fullscreenchange." + z + " webkitfullscreenchange." + z + " mozfullscreenchange." + z + " msfullscreenchange." + z, function() {
                        ie.device.fullscreen.element() || ie.device.fullscreen.exit()
                    }), ie.slider.$fullscreenWrapper.on("dblclick." + z, function() {
                        ie.device.fullscreen.toggle()
                    }))
                },
                element: function() {
                    return document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement
                }
            },
            getDimensions: function() {
                this.width = screen.width, this.height = screen.height, this.viewportWidth = se(window).width(), this.viewportHeight = se(window).height(), this.docWidth = se(document).width(), this.docHeight = se(document).height(), this.winScrollTop = se(window).scrollTop(), this.winScrollLeft = se(window).scrollLeft(), this.ratio = this.width / this.height, this.checkSliderOffset()
            },
            checkSliderOffset: function() {
                "none" !== _.css("display") && (ie.slider.offsetTopOld = ie.slider.offsetTop ? ie.slider.offsetTop : Math.round(_.offset().top), ie.slider.offsetLeftOld = ie.slider.offsetLeft ? ie.slider.offsetLeft : Math.round(_.offset().left), ie.slider.offsetTop = Math.round(_.offset().top), ie.slider.offsetLeft = Math.round(_.offset().left), ie.slider.offsetTopOld === ie.slider.offsetTop && ie.slider.offsetLeftOld === ie.slider.offsetLeft || (ie.resize.all(), ie.slider.check.positionToViewport(), se(window).trigger("scroll")))
            },
            setBasicEvents: function() {
                var t, i = this;
                se(window).on("resize.setter" + z, function() {
                    i.viewportWidth = se(window).width(), i.viewportHeight = se(window).height(), i.ratio = i.width / i.height, i.checkSliderOffset()
                }), se(window).on("scroll.setter" + z, function() {
                    i.winScrollTop = se(window).scrollTop(), i.winScrollLeft = se(window).scrollLeft(), i.checkSliderOffset()
                }), se(window).on("touchmove", function(e) {
                    i.winScrollTop = window.pageYOffset, i.winScrollLeft = window.pageXOffset, 1 == (t = e.touches ? e.touches : e.originalEvent.touches).length && (i.touchX = t[0].clientX)
                })
            }
        }, ie.api = {
            hasEvent: function(e, t) {
                var i = se._data(t || W, "events");
                return !(!i || !i[e])
            },
            methods: function(e, t, i, a) {
                if (!ie.slider.isBusy())
                    if ("number" == typeof e) 0 < e && e < ie.slides.count + 1 && e != ie.slides.current.index && ie.slideshow.changeTo(e, !0, !0);
                    else switch (e) {
                        case "touchPrev":
                            ie.device.touchPrev = !0;
                        case "previousSlide":
                        case "prev":
                            ie.navigation.prev();
                            break;
                        case "touchNext":
                            ie.device.touchNext = !0;
                        case "nextSlide":
                        case "next":
                            ie.navigation.next();
                            break;
                        case "startSlideshow":
                        case "start":
                            ie.navigation.start()
                    }
                    switch (e) {
                        case "openPopup":
                            ie.initializedPlugins.popup && (t && se.isNumeric(t) ? _.layerSlider("fastChangeTo", t, function() {
                                ie.initializedPlugins.popup.events.show()
                            }) : ie.initializedPlugins.popup.events.show());
                            break;
                        case "fastChangeTo":
                            t && se.isNumeric(t) && (ie.slides.current.index !== t ? (ie.slideshow.forceFastChange = !0, i && "function" == typeof i && (ie.slideshow.forceFastChangeCallback = i), ie.slideshow.changeTo(t, !0, !0)) : i && i());
                            break;
                        case "closePopup":
                            ie.initializedPlugins.popup && ie.initializedPlugins.popup.events.hide();
                            break;
                        case "updateLayerData":
                            t && ie.layers.update.data(t, i, a);
                            break;
                        case "redrawSlider":
                        case "redraw":
                            ie.resize.all();
                            break;
                        case "replaySlide":
                        case "replay":
                            ie.transitions._slideTimeline && (ie.transitions._slideTimeline.progress(0), ie.transitions._slideTimeline.play());
                            break;
                        case "reverseSlide":
                        case "reverse":
                            ie.transitions._slideTimeline && (ie.transitions._slideTimeline.reversed() ? ie.transitions._slideTimeline.play() : ie.transitions._slideTimeline.reverse(), t && (ie.transitions.layers.timeline.shouldReplay = !0));
                            break;
                        case "unmute":
                        case "unmuteMedia":
                            ie.media.unmute.multipleMediaElements();
                            break;
                        case "stopSlideshow":
                        case "stop":
                            ie.navigation.stop();
                            break;
                        case "pauseSlider":
                        case "pause":
                            ie.transitions._slideTimeline && ie.transitions._slideTimeline.stop(), ie.transitions._slideTransition && ie.transitions._slideTransition.stop(), ie.media.functions.stop(!1);
                            break;
                        case "resumePopup":
                            ie.layers.get("active").each(function() {
                                ie.media.functions.playIfAllowed(se(this))
                            });
                        case "resumeSlider":
                        case "resume":
                            ie.transitions._slideTimeline && (ie.transitions._slideTimeline.timeScale() < .001 && ie.transitions.layers.timeline.resume(), ie.transitions._slideTimeline.play()), ie.transitions._slideTransition && ie.transitions._slideTransition.play();
                            break;
                        case "playMedia":
                            ie.media.functions.playActiveMedia();
                            break;
                        case "pauseMedia":
                            ie.media.functions.pauseActiveMedia();
                            break;
                        case "toggleSlider":
                        case "toggle":
                            ie.slider.isPaused ? (_.layerSlider("resume"), ie.slider.isPaused = !1) : (_.layerSlider("pause"), ie.slider.isPaused = !0);
                            break;
                        case "reset":
                        case "resetSlider":
                            break;
                        case "resetSlide":
                        case "resetCurrentSlide":
                            ie.transitions._slideTimeline && (ie.transitions._slideTimeline.progress(0), ie.transitions._slideTimeline.stop()), ie.media.functions.stop(!0);
                            break;
                        case "destroy":
                        case "kill":
                            if (ie.slider.state.isLoaded) {
                                if (ie.functions.clearTimers(), ie.functions.clearTimelines(), ie.layers.$all.removeData(), ie.api.hasEvent("sliderDidDestroy") && _.triggerHandler("sliderDidDestroy"), ie.slider.state.sholudBeRemoved || t) {
                                    if (ie.slider.$hiddenWrapper.remove(), ie.gui.timers.slidebar.$containerElement)
                                        for (var s = 0; s < ie.gui.timers.slidebar.$containerElement.length; s++) ie.gui.timers.slidebar.$containerElement[s] instanceof jQuery && ie.gui.timers.slidebar.$containerElement[s].remove();
                                    ie.api.hasEvent("sliderDidRemove") && _.triggerHandler("sliderDidRemove");
                                    var r = _;
                                    r.closest(".ls-fullscreen-wrapper").length ? r = r.closest(".ls-fullscreen-wrapper") : r.closest(".ls-popup").length && (r = r.closest(".ls-popup")).prev(".ls-popup-overlay").remove(), r.remove()
                                }
                                ie.functions.clearEvents(), window._layerSlider.removeSlider(z)
                            } else ie.functions.setStates(ie.slider, {
                                shouldBeDestroyed: !0,
                                sholudBeRemoved: t || !1
                            });
                            ie.slider.positionToViewport = "under", ie.device.scroll.enable()
                    }
            },
            eventData: function() {
                return {
                    data: ie,
                    userData: ie.o,
                    uid: z,
                    target: W,
                    slider: _,
                    state: ie.slider.state,
                    isBusy: ie.slider.isBusy(),
                    event: {
                        target: W
                    },
                    api: function(e, t, i, a) {
                        _.layerSlider(e, t, i, a)
                    },
                    slides: {
                        first: {
                            index: ie.slides.first.index,
                            deeplink: ie.slides.get.deeplink(ie.slides.first.index),
                            data: ie.slides.first.data
                        },
                        prev: {
                            index: ie.slides.prev.index,
                            deeplink: ie.slides.get.deeplink(ie.slides.prev.index),
                            data: ie.slides.prev.data
                        },
                        current: {
                            index: ie.slides.current.index || ie.slides.first.index,
                            deeplink: ie.slides.get.deeplink(ie.slides.current.index),
                            layersIn: ie.layers.get("current,in"),
                            layersOut: ie.layers.get("current,out"),
                            timeline: ie.transitions._slideTimeline,
                            data: ie.slides.current.data
                        },
                        next: {
                            index: ie.slides.next.index,
                            deeplink: ie.slides.get.deeplink(ie.slides.next.index),
                            layersIn: ie.layers.get("next,in"),
                            layersOut: ie.layers.get("next,out"),
                            data: ie.slides.next.data
                        },
                        count: ie.slides.count
                    },
                    slideChangeTimeline: ie.transitions._slideTransition,
                    slideshow: {
                        state: ie.slideshow.state,
                        sequence: ie.slideshow.sequence,
                        direction: ie.slideshow.direction,
                        isPaused: ie.slideshow.isPaused()
                    },
                    cycles: {
                        max: ie.o.cycles,
                        current: ie.slideshow.curCycle
                    }
                }
            }
        }, ie.browser = {
            isSafari: !!navigator.userAgent.match(/(iPhone|iPod|iPad|Safari)/i) && !navigator.userAgent.match(/(Opera|Chrome|Edge)/i),
            isChrome: function() {
                var e = window.chrome,
                    t = window.navigator,
                    i = t.vendor,
                    a = void 0 !== window.opr,
                    s = -1 < t.userAgent.indexOf("Edge"),
                    r = !!t.userAgent.match("CriOS") || null != e && "Google Inc." === i && !1 == a && !1 == s;
                return r
            },
            usesFileProtocol: -1 !== document.location.href.indexOf("file://"),
            supports3D: function() {
                for (var e = se("<div>"), t = !1, i = !1, a = ["perspective", "OPerspective", "msPerspective", "MozPerspective", "WebkitPerspective"], s = ["transformStyle", "OTransformStyle", "msTransformStyle", "MozTransformStyle", "WebkitTransformStyle"], r = a.length - 1; 0 <= r; r--) t = t || void 0 !== e[0].style[a[r]];
                for (var o = s.length - 1; 0 <= o; o--) e.css("transform-style", "preserve-3d"), i = i || "preserve-3d" == e[0].style[s[o]];
                return t && void 0 !== e[0].style[a[4]] && (e.attr("id", "ls-test3d").appendTo(_), t = 3 === e[0].offsetHeight && 9 === e[0].offsetLeft, e.remove()), t && i
            },
            isOld: -1 !== navigator.userAgent.indexOf("rident/5")
        }, ie.initializedPlugins = {}, ie.timeouts = {}, ie.intervals = {}, ie.debug = {
            options: {}
        }, ie.plugin = {
            version: "6.11.2",
            release: "stable",
            releaseDate: "2020. 08. 03."
        }, ie.slider.load()
    }
}(jQuery);
                                    

#2 JavaScript::Eval (size: 51400, repeated: 1) - SHA256: fe08ee1b77a38bfc9b010174176daef008200916c7c64ac05bff2e860ca5c8a3

                                        var layerSliderTransitions = {
    t2d: [{
        name: "Sliding from right",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuad",
            duration: 1e3,
            direction: "left"
        }
    }, {
        name: "Sliding from left",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuad",
            duration: 1e3,
            direction: "right"
        }
    }, {
        name: "Sliding from bottom",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuad",
            duration: 1e3,
            direction: "top"
        }
    }, {
        name: "Sliding from top",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuad",
            duration: 1e3,
            direction: "bottom"
        }
    }, {
        name: "Crossfading",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "fade",
            easing: "easeInOutQuad",
            duration: 1e3,
            direction: "left"
        }
    }, {
        name: "Fading tiles forward",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 30,
            sequence: "forward"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 1e3,
            direction: "left"
        }
    }, {
        name: "Fading tiles reverse",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 30,
            sequence: "reverse"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 1e3,
            direction: "left"
        }
    }, {
        name: "Fading tiles col-forward",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 30,
            sequence: "col-forward"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 1e3,
            direction: "left"
        }
    }, {
        name: "Fading tiles col-reverse",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 30,
            sequence: "col-reverse"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 1e3,
            direction: "left"
        }
    }, {
        name: "Fading tiles (random)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 30,
            sequence: "random"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 1e3,
            direction: "left"
        }
    }, {
        name: "Smooth fading from right",
        rows: 1,
        cols: 35,
        tile: {
            delay: 25,
            sequence: "reverse"
        },
        transition: {
            type: "fade",
            easing: "linear",
            duration: 750,
            direction: "left"
        }
    }, {
        name: "Smooth fading from left",
        rows: 1,
        cols: 35,
        tile: {
            delay: 25,
            sequence: "forward"
        },
        transition: {
            type: "fade",
            easing: "easeInOutQuart",
            duration: 750,
            direction: "left"
        }
    }, {
        name: "Smooth fading from bottom",
        rows: 35,
        cols: 1,
        tile: {
            delay: 25,
            sequence: "col-reverse"
        },
        transition: {
            type: "fade",
            easing: "easeInOutQuart",
            duration: 750,
            direction: "left"
        }
    }, {
        name: "Smooth fading from top",
        rows: 35,
        cols: 1,
        tile: {
            delay: 25,
            sequence: "col-forward"
        },
        transition: {
            type: "fade",
            easing: "easeInOutQuart",
            duration: 750,
            direction: "left"
        }
    }, {
        name: "Smooth sliding from right",
        rows: 1,
        cols: 25,
        tile: {
            delay: 30,
            sequence: "reverse"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 350,
            direction: "left"
        }
    }, {
        name: "Smooth sliding from left",
        rows: 1,
        cols: 25,
        tile: {
            delay: 30,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 350,
            direction: "right"
        }
    }, {
        name: "Smooth sliging from bottom",
        rows: 25,
        cols: 1,
        tile: {
            delay: 30,
            sequence: "col-reverse"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 350,
            direction: "top"
        }
    }, {
        name: "Smooth sliding from top",
        rows: 25,
        cols: 1,
        tile: {
            delay: 30,
            sequence: "col-forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 350,
            direction: "bottom"
        }
    }, {
        name: "Sliding tiles to right (random)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeOutQuart",
            duration: 500,
            direction: "right"
        }
    }, {
        name: "Sliding tiles to left (random)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeOutQuart",
            duration: 500,
            direction: "left"
        }
    }, {
        name: "Sliding tiles to bottom (random)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeOutQuart",
            duration: 500,
            direction: "bottom"
        }
    }, {
        name: "Sliding tiles to top (random)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeOutQuart",
            duration: 500,
            direction: "top"
        }
    }, {
        name: "Sliding random tiles to random directions",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeOutQuart",
            duration: 500,
            direction: "random"
        }
    }, {
        name: "Sliding rows to right (forward)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "right"
        }
    }, {
        name: "Sliding rows to right (reverse)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "reverse"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "right"
        }
    }, {
        name: "Sliding rows to right (random)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "right"
        }
    }, {
        name: "Sliding rows to left (forward)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "left"
        }
    }, {
        name: "Sliding rows to left (reverse)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "reverse"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "left"
        }
    }, {
        name: "Sliding rows to left (random)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "left"
        }
    }, {
        name: "Sliding rows from top to bottom (forward)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "bottom"
        }
    }, {
        name: "Sliding rows from top to bottom (random)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "bottom"
        }
    }, {
        name: "Sliding rows from bottom to top (reverse)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "reverse"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "top"
        }
    }, {
        name: "Sliding rows from bottom to top (random)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "top"
        }
    }, {
        name: "Sliding columns to bottom (forward)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "bottom"
        }
    }, {
        name: "Sliding columns to bottom (reverse)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "bottom"
        }
    }, {
        name: "Sliding columns to bottom (random)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "bottom"
        }
    }, {
        name: "Sliding columns to top (forward)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "top"
        }
    }, {
        name: "Sliding columns to top (reverse)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "top"
        }
    }, {
        name: "Sliding columns to top (random)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "top"
        }
    }, {
        name: "Sliding columns from left to right (forward)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "right"
        }
    }, {
        name: "Sliding columns from left to right (random)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "right"
        }
    }, {
        name: "Sliding columns from right to left (reverse)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "left"
        }
    }, {
        name: "Sliding columns from right to left (random)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "left"
        }
    }, {
        name: "Fading and sliding tiles to right (random)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 500,
            direction: "right"
        }
    }, {
        name: "Fading and sliding tiles to left (random)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 500,
            direction: "left"
        }
    }, {
        name: "Fading and sliding tiles to bottom (random)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 500,
            direction: "bottom"
        }
    }, {
        name: "Fading and sliding tiles to top (random)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 500,
            direction: "top"
        }
    }, {
        name: "Fading and sliding random tiles to random directions",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 500,
            direction: "random"
        }
    }, {
        name: "Fading and sliding tiles from top-left (forward)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 500,
            direction: "topleft"
        }
    }, {
        name: "Fading and sliding tiles from bottom-right (reverse)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "reverse"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 500,
            direction: "bottomright"
        }
    }, {
        name: "Fading and sliding tiles from top-right (random)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 500,
            direction: "topright"
        }
    }, {
        name: "Fading and sliding tiles from bottom-left (random)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 500,
            direction: "bottomleft"
        }
    }, {
        name: "Fading and sliding rows to right (forward)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "right"
        }
    }, {
        name: "Fading and sliding rows to right (reverse)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "reverse"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "right"
        }
    }, {
        name: "Fading and sliding rows to right (random)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "right"
        }
    }, {
        name: "Fading and sliding rows to left (forward)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "left"
        }
    }, {
        name: "Fading and sliding rows to left (reverse)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "reverse"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "left"
        }
    }, {
        name: "Fading and sliding rows to left (random)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "left"
        }
    }, {
        name: "Fading and sliding rows from top to bottom (forward)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "bottom"
        }
    }, {
        name: "Fading and sliding rows from top to bottom (random)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "bottom"
        }
    }, {
        name: "Fading and sliding rows from bottom to top (reverse)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "reverse"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "top"
        }
    }, {
        name: "Fading and sliding rows from bottom to top (random)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "top"
        }
    }, {
        name: "Fading and sliding columns to bottom (forward)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "bottom"
        }
    }, {
        name: "Fading and sliding columns to bottom (reverse)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "bottom"
        }
    }, {
        name: "Fading and sliding columns to bottom (random)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "bottom"
        }
    }, {
        name: "Fading and sliding columns to top (forward)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "top"
        }
    }, {
        name: "Fading and sliding columns to top (reverse)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "top"
        }
    }, {
        name: "Fading and sliding columns to top (random)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "top"
        }
    }, {
        name: "Fading and sliding columns from left to right (forward)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "right"
        }
    }, {
        name: "Fading and sliding columns from left to right (random)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "right"
        }
    }, {
        name: "Fading and sliding columns from right to left (reverse)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "left"
        }
    }, {
        name: "Fading and sliding columns from right to left (random)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "left"
        }
    }, {
        name: "Carousel",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuad",
            duration: 750,
            direction: "left",
            scale: .5
        }
    }, {
        name: "Carousel rows",
        rows: 4,
        cols: 1,
        tile: {
            delay: 50,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuad",
            duration: 750,
            direction: "left",
            scale: .5
        }
    }, {
        name: "Carousel cols",
        rows: 1,
        cols: 4,
        tile: {
            delay: 50,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuad",
            duration: 750,
            direction: "left",
            scale: .5
        }
    }, {
        name: "Carousel tiles horizontal",
        rows: 3,
        cols: 4,
        tile: {
            delay: 35,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuad",
            duration: 750,
            direction: "left",
            scale: .5,
            rotateY: 90
        }
    }, {
        name: "Carousel tiles vertical",
        rows: 3,
        cols: 4,
        tile: {
            delay: 35,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuad",
            duration: 750,
            direction: "top",
            scale: .5,
            rotateX: -90
        }
    }, {
        name: "Carousel-mirror tiles horizontal",
        rows: 3,
        cols: 4,
        tile: {
            delay: 15,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuad",
            duration: 750,
            direction: "left",
            scale: .5,
            rotateY: 90
        }
    }, {
        name: "Carousel-mirror tiles vertical",
        rows: 3,
        cols: 4,
        tile: {
            delay: 15,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuad",
            duration: 750,
            direction: "top",
            scale: .5,
            rotateX: -90
        }
    }, {
        name: "Carousel mirror rows",
        rows: 4,
        cols: 1,
        tile: {
            delay: 50,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuad",
            duration: 750,
            direction: "right",
            scale: .5
        }
    }, {
        name: "Carousel mirror cols",
        rows: 1,
        cols: 4,
        tile: {
            delay: 50,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuad",
            duration: 750,
            direction: "left",
            scale: .5
        }
    }, {
        name: "Turning tile from left",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeOutQuart",
            duration: 750,
            direction: "right",
            rotateY: 90
        }
    }, {
        name: "Turning tile from right",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateY: -90
        }
    }, {
        name: "Turning tile from top",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeOutQuart",
            duration: 750,
            direction: "bottom",
            rotateX: -90
        }
    }, {
        name: "Turning tile from bottom",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeOutQuart",
            duration: 750,
            direction: "top",
            rotateX: 90
        }
    }, {
        name: "Turning tiles from left",
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 55,
            sequence: "forward"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateY: 90
        }
    }, {
        name: "Turning tiles from right",
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 55,
            sequence: "reverse"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateY: -90
        }
    }, {
        name: "Turning tiles from top",
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 55,
            sequence: "forward"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateX: -90
        }
    }, {
        name: "Turning tiles from bottom",
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 55,
            sequence: "reverse"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateX: 90
        }
    }, {
        name: "Turning rows from top",
        rows: [6, 12],
        cols: 1,
        tile: {
            delay: 55,
            sequence: "forward"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateX: 90
        }
    }, {
        name: "Turning rows from bottom",
        rows: [6, 12],
        cols: 1,
        tile: {
            delay: 55,
            sequence: "reverse"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateX: -90
        }
    }, {
        name: "Turning cols from left",
        rows: 1,
        cols: [6, 12],
        tile: {
            delay: 55,
            sequence: "forward"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateY: -90
        }
    }, {
        name: "Turning cols from right",
        rows: 1,
        cols: [6, 12],
        tile: {
            delay: 55,
            sequence: "reverse"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateY: 90
        }
    }, {
        name: "Flying rows from left",
        rows: [3, 10],
        cols: 1,
        tile: {
            delay: 55,
            sequence: "forward"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateY: 90
        }
    }, {
        name: "Flying rows from right",
        rows: [3, 10],
        cols: 1,
        tile: {
            delay: 55,
            sequence: "reverse"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateY: -90
        }
    }, {
        name: "Flying cols from top",
        rows: 1,
        cols: [3, 10],
        tile: {
            delay: 55,
            sequence: "forward"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateX: -90
        }
    }, {
        name: "Flying cols from bottom",
        rows: 1,
        cols: [3, 10],
        tile: {
            delay: 55,
            sequence: "reverse"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateX: 90
        }
    }, {
        name: "Flying and rotating tile from left",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 750,
            direction: "right",
            scale: .1,
            rotate: -90,
            rotateY: 90
        }
    }, {
        name: "Flying and rotating tile from right",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            scale: .1,
            rotate: 90,
            rotateY: -90
        }
    }, {
        name: "Flying and rotating tiles from left",
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 55,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 750,
            direction: "right",
            rotate: -45
        }
    }, {
        name: "Flying and rotating tiles from right",
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 55,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotate: -45
        }
    }, {
        name: "Flying and rotating tiles from random",
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 55,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 750,
            direction: "random",
            rotate: -45
        }
    }, {
        name: "Scaling tile in",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 1500,
            direction: "left",
            scale: .8
        }
    }, {
        name: "Scaling tile from out",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "fade",
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "left",
            scale: 1.2
        }
    }, {
        name: "Scaling tiles random",
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 35,
            sequence: "random"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            scale: .1
        }
    }, {
        name: "Scaling tiles from out random",
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 35,
            sequence: "random"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            scale: 2
        }
    }, {
        name: "Scaling in and rotating tiles random",
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 35,
            sequence: "random"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            scale: .1,
            rotate: 90
        }
    }, {
        name: "Scaling and rotating tiles from out random",
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 35,
            sequence: "random"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            scale: 2,
            rotate: -90
        }
    }, {
        name: "Mirror-sliding tiles diagonal",
        rows: 3,
        cols: 4,
        tile: {
            delay: 15,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 850,
            direction: "topright"
        }
    }, {
        name: "Mirror-sliding rows horizontal",
        rows: 6,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left"
        }
    }, {
        name: "Mirror-sliding rows vertical",
        rows: 6,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 750,
            direction: "top"
        }
    }, {
        name: "Mirror-sliding cols horizontal",
        rows: 1,
        cols: 8,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left"
        }
    }, {
        name: "Mirror-sliding cols vertical",
        rows: 1,
        cols: 8,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 750,
            direction: "top"
        }
    }, {
        name: "Random slices to left",
        rows: 10,
        cols: 1,
        tile: {
            delay: 10,
            sequence: "random"
        },
        transition: {
            duration: 1500,
            easing: "easeInOutQuart",
            type: "slide",
            direction: "left"
        }
    }, {
        name: "Random slices to right",
        rows: 10,
        cols: 1,
        tile: {
            delay: 10,
            sequence: "random"
        },
        transition: {
            duration: 1500,
            easing: "easeInOutQuart",
            type: "slide",
            direction: "right"
        }
    }, {
        name: "Random slices to bottom",
        rows: 1,
        cols: 15,
        tile: {
            delay: 10,
            sequence: "random"
        },
        transition: {
            duration: 1500,
            easing: "easeInOutQuart",
            type: "slide",
            direction: "bottom"
        }
    }, {
        name: "Random slices to top",
        rows: 1,
        cols: 15,
        tile: {
            delay: 10,
            sequence: "random"
        },
        transition: {
            duration: 1500,
            easing: "easeInOutQuart",
            type: "slide",
            direction: "top"
        }
    }],
    t3d: [{
        name: "Spinning tile to right (180�)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateY: 91
            },
            easing: "easeInQuart",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                rotateY: 180
            },
            easing: "easeOutQuart",
            duration: 1e3,
            direction: "horizontal"
        }
    }, {
        name: "Spinning tile to left (180�)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateY: -91
            },
            easing: "easeInQuart",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                rotateY: -180
            },
            easing: "easeOutQuart",
            duration: 1e3,
            direction: "horizontal"
        }
    }, {
        name: "Spinning tile to bottom (180�)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateX: -91
            },
            easing: "easeInQuart",
            duration: 800,
            direction: "vertical"
        },
        after: {
            transition: {
                rotateX: -180
            },
            easing: "easeOutQuart",
            duration: 800,
            direction: "vertical"
        }
    }, {
        name: "Spinning tile to top (180�)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateX: 91
            },
            easing: "easeInQuart",
            duration: 800,
            direction: "vertical"
        },
        after: {
            transition: {
                rotateX: 180
            },
            easing: "easeOutQuart",
            duration: 800,
            direction: "vertical"
        }
    }, {
        name: "Spinning tiles to right (180�)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "horizontal"
        }
    }, {
        name: "Spinning tiles to left (180�)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "horizontal"
        }
    }, {
        name: "Spinning tiles to bottom (180�)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "col-forward"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "vertical"
        }
    }, {
        name: "Spinning tiles to top (180�)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "col-reverse"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "vertical"
        }
    }, {
        name: "Horizontal spinning tiles random (180�)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "random"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutQuart",
            duration: 1300,
            direction: "horizontal"
        }
    }, {
        name: "Vertical spinning tiles random (180�)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "random"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutQuart",
            duration: 1300,
            direction: "vertical"
        }
    }, {
        name: "Scaling and spinning tiles to right (180�)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        before: {
            transition: {
                scale3d: .95
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and spinning tiles to left (180�)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        before: {
            transition: {
                scale3d: .95
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and spinning tiles to bottom (180�)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "col-forward"
        },
        before: {
            transition: {
                scale3d: .95
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and spinning tiles to top (180�)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "col-reverse"
        },
        before: {
            transition: {
                scale3d: .95
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and horizontal spinning tiles random (180�)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .95,
                rotateX: 30
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateY: 180,
                rotateX: -30
            },
            easing: "easeInOutBack",
            duration: 1300,
            direction: "horizontal"
        },
        after: {
            transition: {
                rotateX: 0
            },
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and vertical spinning tiles random (180�)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .95,
                rotateY: -15
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateX: 180,
                rotateY: 15
            },
            easing: "easeInOutBack",
            duration: 1300,
            direction: "vertical"
        },
        after: {
            transition: {
                rotateY: 0
            },
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Spinning rows to right (180�)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Spinning rows to left (180�)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Spinning rows to bottom (180�)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "vertical"
        }
    }, {
        name: "Spinning rows to top (180�)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "vertical"
        }
    }, {
        name: "Horizontal spinning rows random (180�)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "random"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Vertical spinning rows random (180�)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "random"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "vertical"
        }
    }, {
        name: "Vertical spinning rows random (540�)",
        rows: [3, 7],
        cols: 1,
        tile: {
            delay: 150,
            sequence: "random"
        },
        animation: {
            transition: {
                rotateX: -540
            },
            easing: "easeInOutQuart",
            duration: 2e3,
            direction: "vertical"
        }
    }, {
        name: "Scaling and spinning rows to right (180�)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 55,
            sequence: "forward"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutBack",
            duration: 1200,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and spinning rows to left (180�)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 55,
            sequence: "reverse"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: "easeInOutBack",
            duration: 1200,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and spinning rows to bottom (180�)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 55,
            sequence: "forward"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutQuart",
            duration: 600,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and spinning rows to top (180�)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 55,
            sequence: "reverse"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutQuart",
            duration: 600,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and horizontal spinning rows random (180�)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 55,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutBack",
            duration: 1200,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and vertical spinning rows random (180�)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 55,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutBack",
            duration: 600,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Spinning columns to right (180�)",
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Spinning columns to left (180�)",
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Spinning columns to bottom (180�)",
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "vertical"
        }
    }, {
        name: "Spinning columns to top (180�)",
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "vertical"
        }
    }, {
        name: "Horizontal spinning columns random (180�)",
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: "random"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Vertical spinning columns random (180�)",
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: "random"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "vertical"
        }
    }, {
        name: "Horizontal spinning columns random (540�)",
        rows: 1,
        cols: [4, 9],
        tile: {
            delay: 150,
            sequence: "random"
        },
        animation: {
            transition: {
                rotateY: 540
            },
            easing: "easeInOutQuart",
            duration: 2e3,
            direction: "horizontal"
        }
    }, {
        name: "Scaling and spinning columns to right (180�)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 55,
            sequence: "forward"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutQuart",
            duration: 600,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and spinning columns to left (180�)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 55,
            sequence: "reverse"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: "easeInOutQuart",
            duration: 600,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and spinning columns to bottom (180�)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 55,
            sequence: "forward"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutBack",
            duration: 1200,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and spinning columns to top (180�)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutBack",
            duration: 1200,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and horizontal spinning columns random (180�)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutBack",
            duration: 600,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and vertical spinning columns random (180�)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutBack",
            duration: 1200,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Drunk colums scaling and spinning to right (180�)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        before: {
            transition: {
                scale3d: .85,
                rotateX: -30
            },
            duration: 600,
            easing: "easeOutQuart"
        },
        animation: {
            transition: {
                rotateX: -30,
                rotateY: 180
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                rotateX: 0,
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 600
        }
    }, {
        name: "Drunk colums scaling and spinning to left (180�)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        before: {
            transition: {
                scale3d: .85,
                rotateX: -30
            },
            duration: 600,
            easing: "easeOutQuart"
        },
        animation: {
            transition: {
                rotateX: 30,
                rotateY: -180
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                rotateX: 0,
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 600
        }
    }, {
        name: "Turning cuboid to right (90�)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Turning cuboid to left (90�)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateY: -90
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Turning cuboid to bottom (90�)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "vertical"
        }
    }, {
        name: "Turning cuboid to top (90�)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateX: 90
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "vertical"
        }
    }, {
        name: "Scaling and turning cuboid to right (90�)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "random"
        },
        animation: {
            transition: {
                scale3d: .8,
                rotate: 7,
                rotateX: 10,
                rotateY: 45
            },
            easing: "easeInOutQuad",
            duration: 800,
            direction: "horizontal"
        },
        after: {
            transition: {
                rotate: 0,
                rotateX: 0,
                rotateY: 90
            },
            duration: 800,
            easing: "easeInOutQuad"
        }
    }, {
        name: "Scaling and turning cuboid to left (90�)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "random"
        },
        animation: {
            transition: {
                scale3d: .8,
                rotate: -7,
                rotateX: 10,
                rotateY: -45
            },
            easing: "easeInOutQuad",
            duration: 800,
            direction: "horizontal"
        },
        after: {
            transition: {
                rotate: 0,
                rotateX: 0,
                rotateY: -90
            },
            duration: 800,
            easing: "easeInOutQuad"
        }
    }, {
        name: "Scaling and turning cuboids to right (90�)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and turning cuboids to left (90�)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateY: -90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and turning cuboids to bottom (90�)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "col-forward"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and turning cuboids to top (90�)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "col-reverse"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateX: 90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and horizontal turning cuboids random (90�)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .75,
                rotateX: -15
            },
            duration: 700,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateY: 75,
                rotateX: 15
            },
            easing: "easeInOutBack",
            duration: 700,
            direction: "horizontal"
        },
        after: {
            transition: {
                rotateY: 90,
                rotateX: 0
            },
            duration: 700,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and vertical turning cuboids random (90�)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .75,
                rotateY: 15
            },
            duration: 700,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateX: 75,
                rotateY: -15
            },
            easing: "easeInOutBack",
            duration: 700,
            direction: "vertical"
        },
        after: {
            transition: {
                rotateX: 90,
                rotateY: 0
            },
            duration: 700,
            easing: "easeInOutBack"
        }
    }, {
        name: "Turning rows to right (90�)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Turning rows to left (90�)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateY: -90
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Horizontal turning rows random (90�)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "random"
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Scaling and turning rows to right (90�)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 87
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200,
                rotateY: 90
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and turning rows to left (90�)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: -90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and turning rows to bottom (90�)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and turning rows to top (90�)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: 90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and horizontal turning rows random (90�)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and vertical turning rows random (90�)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and horizontal turning drunk rows to right (90�)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                scale3d: .85,
                rotateY: 45
            },
            easing: "easeInOutQuint",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                rotateY: 90
            },
            easing: "easeInOutQuint",
            duration: 1e3
        }
    }, {
        name: "Scaling and horizontal turning drunk rows to left (90�)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        animation: {
            transition: {
                scale3d: .85,
                rotateY: -45
            },
            easing: "easeInOutQuint",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                rotateY: -90
            },
            easing: "easeInOutQuint",
            duration: 1e3
        }
    }, {
        name: "Turning columns to bottom (90�)",
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "vertical"
        }
    }, {
        name: "Turning columns to top (90�)",
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        animation: {
            transition: {
                rotateX: 90
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "vertical"
        }
    }, {
        name: "Vertical turning columns random (90�)",
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: "random"
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "vertical"
        }
    }, {
        name: "Scaling and turning columns to bottom (90�)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and turning columns to top (90�)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: 90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and turning columns to right (90�)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and turning columns to left (90�)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: -90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and horizontal turning columns random (90�)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and vertical turning columns random (90�)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and vertical turning drunk columns to right (90�)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                scale3d: .85,
                rotateX: 45
            },
            easing: "easeInOutQuint",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            transition: {
                rotateX: 90
            },
            easing: "easeInOutQuint",
            duration: 1e3
        }
    }, {
        name: "Scaling and vertical turning drunk columns to left (90�)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        animation: {
            transition: {
                scale3d: .85,
                rotateX: -45
            },
            easing: "easeInOutQuint",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            transition: {
                rotateX: -90
            },
            easing: "easeInOutQuint",
            duration: 1e3
        }
    }, {
        name: "Spinning cuboid to right (180�, large depth)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward",
            depth: "large"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Spinning cuboid to left (180�, large depth)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward",
            depth: "large"
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Spinning cuboid to bottom (180�, large depth)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward",
            depth: "large"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "vertical"
        }
    }, {
        name: "Spinning cuboid to top (180�, large depth)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward",
            depth: "large"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "vertical"
        }
    }, {
        name: "Scaling and spinning cuboids to right (180�, large depth)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "forward",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and spinning cuboids to left (180�, large depth)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "reverse",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and spinning cuboids to bottom (180�, large depth)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "col-forward",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and spinning cuboids to top (180�, large depth)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "col-reverse",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and horizontal spinning cuboids random (180�, large depth)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "random",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .65
            },
            duration: 700,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutBack",
            duration: 700,
            direction: "horizontal"
        },
        after: {
            duration: 700,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and vertical spinning cuboids random (180�, large depth)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "random",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .65
            },
            duration: 700,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutBack",
            duration: 700,
            direction: "vertical"
        },
        after: {
            duration: 700,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and spinning rows to right (180�, large depth)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 65,
            sequence: "forward",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutQuart",
            duration: 1200,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }, {
        name: "Scaling and spinning rows to left (180�, large depth)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 65,
            sequence: "reverse",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: "easeInOutQuart",
            duration: 1200,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }, {
        name: "Scaling and spinning rows to bottom (180�, large depth)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 65,
            sequence: "forward",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }, {
        name: "Scaling and spinning rows to top (180�, large depth)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 65,
            sequence: "reverse",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }, {
        name: "Scaling and horizontal spinning rows random (180�, large depth)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 65,
            sequence: "random",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutQuart",
            duration: 1200,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }, {
        name: "Scaling and vertical spinning rows random (180�, large depth)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 65,
            sequence: "random",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }, {
        name: "Scaling and spinning columns to bottom (180�, large depth)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 65,
            sequence: "forward",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutQuart",
            duration: 1200,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }, {
        name: "Scaling and spinning columns to top (180�, large depth)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 65,
            sequence: "reverse",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutQuart",
            duration: 1200,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }, {
        name: "Scaling and spinning columns to right (180�, large depth)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 65,
            sequence: "forward",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }, {
        name: "Scaling and spinning columns to left (180�, large depth)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 65,
            sequence: "reverse",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }, {
        name: "Scaling and horizontal spinning columns random (180�, large depth)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 65,
            sequence: "random",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }, {
        name: "Scaling and vertical spinning columns random (180�, large depth)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 65,
            sequence: "random",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutQuart",
            duration: 1200,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }, {
        name: "Horizontally rotating and fading cube",
        rows: 1,
        cols: 1,
        tile: {
            delay: 1,
            sequence: "forward",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .65,
                rotateY: -270,
                opacity: 0
            },
            duration: 1500,
            easing: "easeInQuart"
        },
        animation: {
            transition: {
                scale3d: 1,
                rotateY: -540,
                opacity: 1
            },
            easing: "easeOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Vertically rotating and fading cube",
        rows: 1,
        cols: 1,
        tile: {
            delay: 1,
            sequence: "forward",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .65,
                rotateX: -270,
                opacity: 0
            },
            duration: 1500,
            easing: "easeInQuart"
        },
        animation: {
            transition: {
                scale3d: 1,
                rotateX: -540,
                opacity: 1
            },
            easing: "easeOutQuart",
            duration: 1500,
            direction: "vertical"
        }
    }, {
        name: "Horizontally rotating and fading cuboids",
        rows: [2, 3],
        cols: [3, 5],
        tile: {
            delay: 50,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .75,
                opacity: 0
            },
            duration: 350,
            easing: "easeInQuart"
        },
        animation: {
            transition: {
                rotateY: -45,
                rotateX: 180
            },
            easing: "easeInOutQuart",
            duration: 1,
            direction: "vertical"
        },
        after: {
            transition: {
                rotateY: 0,
                opacity: 1
            },
            easing: "easeOutQuart",
            duration: 1200
        }
    }, {
        name: "Vertically rotating and fading cuboids",
        rows: [2, 3],
        cols: [3, 5],
        tile: {
            delay: 50,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .75,
                opacity: 0
            },
            duration: 350,
            easing: "easeInQuart"
        },
        animation: {
            transition: {
                rotateX: -45,
                rotateY: 180
            },
            easing: "easeInOutQuart",
            duration: 1,
            direction: "horizontal"
        },
        after: {
            transition: {
                rotateX: 0,
                opacity: 1
            },
            easing: "easeOutQuart",
            duration: 1200
        }
    }]
};
                                    

Executed Writes (1)

#1 JavaScript::Write (size: 4, repeated: 1) - SHA256: b1ab1e892617f210425f658cf1d361b5489028c8771b56d845fe1c62c1fbc8b0

                                        2022
                                    


HTTP Transactions (60)


Request Response
                                        
                                            GET /v1/ HTTP/1.1 
Host: firefox.settings.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         143.204.55.27
HTTP/1.1 200 OK
Content-Type: application/json
                                        
Content-Length: 939
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Content-Type, Content-Length, Backoff, Retry-After, Alert
Content-Security-Policy: default-src 'none'; frame-ancestors 'none'; base-uri 'none';
Date: Sat, 17 Sep 2022 01:11:08 GMT
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-Cache: Hit from cloudfront
Via: 1.1 9dd61138197a68f8d69f12574aab6930.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: OSL50-C1
X-Amz-Cf-Id: abzdzKQ9fWpbffd98_QFqq6blflZcxmXoeC_SOvIVqtuzwoMcmpPjg==
Age: 748


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (939), with no line terminators
Size:   939
Md5:    99b7d23c1748d0526782b9ff9ea45f09
Sha1:   eadd801a3ba2aa00632c6fb52e1f9125bd6d5b4f
Sha256: 48f81668f76955320480b484138aebdad5d03c471036b4449c737aca1ecab08e
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "FEF9CE9F75EC19E7AE2CCBFFB6654DB2473A2B4ACC94C1B4303E5EC24149465F"
Last-Modified: Thu, 15 Sep 2022 18:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=15495
Expires: Sat, 17 Sep 2022 05:41:51 GMT
Date: Sat, 17 Sep 2022 01:23:36 GMT
Connection: keep-alive

                                        
                                            GET /chains/remote-settings.content-signature.mozilla.org-2022-10-09-23-18-04.chain HTTP/1.1 
Host: content-signature-2.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

                                         
                                         143.204.55.25
HTTP/2 200 OK
content-type: binary/octet-stream
                                        
content-length: 5348
last-modified: Sat, 20 Aug 2022 23:18:05 GMT
content-disposition: attachment
accept-ranges: bytes
server: AmazonS3
date: Fri, 16 Sep 2022 04:35:16 GMT
etag: "742edb4038f38bc533514982f3d2e861"
x-cache: Hit from cloudfront
via: 1.1 b9f0050ca4d212d7c855e005be54b1ac.cloudfront.net (CloudFront)
x-amz-cf-pop: OSL50-C1
x-amz-cf-id: z_fpPjFWaQuVQvjGqifOknDh4W_oa2vMryCKw_3qJB64tbkCbbYDfA==
age: 74901
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  PEM certificate\012- , ASCII text
Size:   5348
Md5:    742edb4038f38bc533514982f3d2e861
Sha1:   cc3a20c8dc2a8c632ef9387a2744253f1e3fdef1
Sha256: b6bfa49d3d135035701231db2fffc0c0643444394009a94c6a1b4d829d6b8345
                                        
                                            GET /w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1

                                         
                                         82.180.135.215
HTTP/1.1 301 Moved Permanently
content-type: text/html
                                        
Connection: Keep-Alive
Keep-Alive: timeout=5, max=100
content-length: 707
date: Sat, 17 Sep 2022 01:23:36 GMT
server: LiteSpeed
location: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
platform: hostinger
content-security-policy: upgrade-insecure-requests


--- Additional Info ---
Magic:  HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- exported SGML document, ASCII text, with CRLF, LF line terminators
Size:   707
Md5:    1304294c0823ca486542ba408ed761e3
Sha1:   b2a70fb2d810ca13985882e6981f33998823e83e
Sha256: 3bbe72f3baa8ec61de17a1d767fca58704769684b7abe9161d0c4eaf4c8f0982
                                        
                                            GET /v1/tiles HTTP/1.1 
Host: contile.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         34.117.237.239
HTTP/2 200 OK
content-type: application/json
                                        
server: nginx
date: Sat, 17 Sep 2022 01:23:37 GMT
content-length: 12
strict-transport-security: max-age=31536000
via: 1.1 google
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with no line terminators
Size:   12
Md5:    23e88fb7b99543fb33315b29b1fad9d6
Sha1:   a48926c4ec03c7c8a4e8dffcd31e5a6cdda417ce
Sha256: 7d8f1de8b7de7bc21dfb546a1d0c51bf31f16eee5fad49dbceae1e76da38e5c3
                                        
                                            GET /v1/buckets/main/collections/ms-language-packs/records/cfr-v1-en-US HTTP/1.1 
Host: firefox.settings.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: application/json
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/json
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         143.204.55.27
HTTP/1.1 200 OK
Content-Type: application/json
                                        
Content-Length: 329
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: ETag, Expires, Content-Length, Cache-Control, Pragma, Content-Type, Alert, Backoff, Last-Modified, Retry-After
Content-Security-Policy: default-src 'none'; frame-ancestors 'none'; base-uri 'none';
Last-Modified: Fri, 25 Mar 2022 17:45:46 GMT
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
Cache-Control: max-age=3600
Date: Sat, 17 Sep 2022 01:03:22 GMT
Expires: Sat, 17 Sep 2022 01:58:42 GMT
ETag: "1648230346554"
X-Cache: Hit from cloudfront
Via: 1.1 c9f2a4d2bcd548d1a3cbe1617a22f216.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: OSL50-C1
X-Amz-Cf-Id: SdEHaxvsTpa7zP9xd3DUsRFHZigD-tjqXHGHBDIJXQ6JRDJ5kJ8PPQ==
Age: 1215


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (329), with no line terminators
Size:   329
Md5:    0333b0655111aa68de771adfcc4db243
Sha1:   63f295a144ac87a7c8e23417626724eeca68a7eb
Sha256: 60636eb1dc67c9ed000fe0b49f03777ad6f549cb1d2b9ff010cf198465ae6300
                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 3912
Cache-Control: 'max-age=158059'
Date: Sat, 17 Sep 2022 01:23:37 GMT
Last-Modified: Sat, 17 Sep 2022 00:18:26 GMT
Server: ECS (ska/F708)
X-Cache: HIT
Content-Length: 471

                                        
                                            GET /wp-content/plugins/LayerSlider/assets/static/layerslider/css/layerslider.css?ver=6.11.2 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: text/css
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:37 GMT
last-modified: Tue, 01 Sep 2020 18:46:48 GMT
etag: "555a-5f4e9718-d8e5fdaa177b14aa;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 3773
date: Sat, 17 Sep 2022 01:23:37 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text
Size:   3773
Md5:    c4fcd274dcbc80d5d41e71ff809e33da
Sha1:   e3471a26064fec6649baba92f5e8e6b2ce6b2064
Sha256: eed5817d9fb02d5de6e56a874d79894ce2b025682fd93baa86ac955892dd3f4d

Alerts:
  Blocklists:
    - fortinet: Phishing
                                        
                                            GET /wp-content/plugins/easy-facebook-likebox/frontend/assets/css/esf-custom-fonts.css?ver=5.8.5 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: text/css
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:37 GMT
last-modified: Tue, 15 Feb 2022 19:45:43 GMT
etag: "745-620c02e7-43898c248ae78ae;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 462
date: Sat, 17 Sep 2022 01:23:37 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (1861), with no line terminators
Size:   462
Md5:    23751a070fab3986f162f802faf67648
Sha1:   b8c464c3fd116c3d20352b33ceea2bc2c480ba2d
Sha256: 0af7a95dd246037ee6efb4cf09cd378b043780c15efecb5664ccc35db35f67ca
                                        
                                            GET /wp-content/plugins/easy-facebook-likebox/facebook/frontend/assets/css/esf-free-popup.css?ver=6.3.3 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: text/css
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:37 GMT
last-modified: Tue, 15 Feb 2022 19:45:43 GMT
etag: "20de-620c02e7-6e23dc3ac1b37e27;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 1742
date: Sat, 17 Sep 2022 01:23:37 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text
Size:   1742
Md5:    8de78d334c2b16e8b60122b2e481532d
Sha1:   6274b0fbc67fa90b69ce083197c0200bbfbc2032
Sha256: 72e5ee15cd5b638575543d56d3827f5d00814d7d22f48e53a60497de4c1c343d

Alerts:
  Blocklists:
    - fortinet: Phishing
                                        
                                            GET /wp-content/plugins/bbpress/templates/default/css/bbpress.min.css?ver=2.6.9 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: text/css
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:37 GMT
last-modified: Tue, 15 Feb 2022 19:45:32 GMT
etag: "761c-620c02dc-c5e60699e40eb342;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 4912
date: Sat, 17 Sep 2022 01:23:37 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (30236), with no line terminators
Size:   4912
Md5:    48f589f8536e4c3190fa64b8256ec3a7
Sha1:   fd4b2dc9047bdca5b14916d428916f96cc41fc79
Sha256: 4e2b2ea09f6bb6c116885abd451e498d86c088d8e4c91dbbe9484369751c21f6

Alerts:
  Blocklists:
    - fortinet: Phishing
                                        
                                            GET / HTTP/1.1 
Host: push.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Sec-WebSocket-Version: 13
Origin: wss://push.services.mozilla.com/
Sec-WebSocket-Protocol: push-notification
Sec-WebSocket-Extensions: permessage-deflate
Sec-WebSocket-Key: By2xHoQp0L+3xcihNiXpuw==
Connection: keep-alive, Upgrade
Sec-Fetch-Dest: websocket
Sec-Fetch-Mode: websocket
Sec-Fetch-Site: cross-site
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket

                                         
                                         54.149.83.187
HTTP/1.1 101 Switching Protocols
                                        
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Accept: 584g1g1oSEE96V0DqkCJ0jFCJUY=

                                        
                                            GET /wp-content/plugins/easy-facebook-likebox/facebook/frontend/assets/css/easy-facebook-likebox-frontend.css?ver=6.3.3 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: text/css
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:37 GMT
last-modified: Tue, 15 Feb 2022 19:45:43 GMT
etag: "93539-620c02e7-e763854647435b3b;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 31811
date: Sat, 17 Sep 2022 01:23:37 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (65536), with no line terminators
Size:   31811
Md5:    d603dde2e156132339747cb776c4be65
Sha1:   d77f1bb6efc40f11a4c960b4d32b536e41ad315f
Sha256: 40cdad8f2f51b44ae8993fa900a76904965e12118361c49d780ccffd47ee435d

Alerts:
  Blocklists:
    - fortinet: Phishing
                                        
                                            GET /wp-content/themes/Avada/assets/css/style.min.css?ver=7.0.2 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: text/css
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:38 GMT
last-modified: Wed, 12 Aug 2020 17:27:12 GMT
etag: "1a1aa-5f342670-f46a555d16ff0daa;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 18384
date: Sat, 17 Sep 2022 01:23:38 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (65536), with no line terminators
Size:   18384
Md5:    50ed074d489ee2eced5e9b1273027f90
Sha1:   b5df3dc99b940286a99c91cbb44e2cca66709022
Sha256: 98acfd3dcaa6168497731b1fa1a990bef720f00e334d041dc5fc72ae71db90ff
                                        
                                            GET /wp-content/plugins/easy-facebook-likebox//instagram/frontend/assets/css/esf-insta-frontend.css?ver=5.8.5 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: text/css
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:38 GMT
last-modified: Tue, 15 Feb 2022 19:45:43 GMT
etag: "a7aff-620c02e7-8af0321f000c8a16;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 32092
date: Sat, 17 Sep 2022 01:23:38 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (65536), with no line terminators
Size:   32092
Md5:    a34c5f3bc4d232f9c7a30dfd805c0ef2
Sha1:   77f979ee6f6ad7983ad7cae3ba3cab11650a2d8c
Sha256: eed4ef64ef3978a65c0b29d7d0fa6b30d321ecb9a4e2533d54997dc7145d1c1a

Alerts:
  Blocklists:
    - fortinet: Phishing
                                        
                                            GET /wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: application/x-javascript
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:38 GMT
last-modified: Fri, 12 Nov 2021 13:43:33 GMT
etag: "2bd8-618e6f85-3c1be1e98ebdb36d;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 3984
date: Sat, 17 Sep 2022 01:23:38 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (11126)
Size:   3984
Md5:    4116c2be947ecf205a0c7fc117ca55f0
Sha1:   0cd8efc9fe349d67a86b49d1e5582a9b21d05add
Sha256: 6b1970b536b88a18b0eb4fe138e677b9736294057660676507fabee57cb0462c

Alerts:
  Blocklists:
    - fortinet: Phishing
                                        
                                            GET /wp-content/plugins/LayerSlider/assets/static/layerslider/js/layerslider.transitions.js?ver=6.11.2 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: application/x-javascript
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:38 GMT
last-modified: Tue, 01 Sep 2020 18:46:48 GMT
etag: "5513-5f4e9718-f8ff314137da8050;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 3060
date: Sat, 17 Sep 2022 01:23:38 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Unicode text, UTF-8 text, with very long lines (21440)
Size:   3060
Md5:    e27c54db8379c779d5ef89497ab5c08d
Sha1:   fff3aacc11fae7e0efde0f102c78680b070851f7
Sha256: f6249f32d365a41a05562dfb2e714bab8ea87ef3eee8c5dd0ea32e8eddfdd272

Alerts:
  Blocklists:
    - fortinet: Phishing
                                        
                                            GET /wp-content/plugins/easy-facebook-likebox/facebook/frontend/assets/js/public.js?ver=6.3.3 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: application/x-javascript
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:38 GMT
last-modified: Tue, 15 Feb 2022 19:45:43 GMT
etag: "1104-620c02e7-a7112abc057d5eef;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 1267
date: Sat, 17 Sep 2022 01:23:38 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text
Size:   1267
Md5:    9f456cd75e2acd304fb0b31c26e3c65d
Sha1:   cc3034fdd8a690ce200c70d12dd71bb192d7bf9c
Sha256: 682ac1859f219ac4a6987d48f8b6b8f3fc85f4bbfc240cbfb3ab447085d41242
                                        
                                            GET /wp-content/plugins/easy-facebook-likebox/frontend/assets/js/imagesloaded.pkgd.min.js?ver=5.8.5 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: application/x-javascript
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:38 GMT
last-modified: Tue, 15 Feb 2022 19:45:43 GMT
etag: "15da-620c02e7-a0dbdda6296ad842;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 1703
date: Sat, 17 Sep 2022 01:23:38 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (5477)
Size:   1703
Md5:    026558691b2cd955e760117c2c4ac4c7
Sha1:   46d628c4ac4aafef0a1afe281c584cb706494f07
Sha256: 3eafbab43f4eb594b838ee220b33f6e04628d4e41b18ca22b85452ec38265a9a
                                        
                                            GET /wp-content/plugins/easy-facebook-likebox//instagram/frontend/assets/js/esf-insta-public.js?ver=1 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: application/x-javascript
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:38 GMT
last-modified: Tue, 15 Feb 2022 19:45:43 GMT
etag: "2817-620c02e7-2ffb3aa09a3c9270;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 2131
date: Sat, 17 Sep 2022 01:23:38 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text
Size:   2131
Md5:    59dcdde3b4a6e334e595a55a77c50758
Sha1:   073f6fbaa8c785492c8054b020b3a16b06a04902
Sha256: 62fb10715c1bc8bdf90f2fad5f41b1f7eec9c9834e2d75bb13a43a4e6f3429cf
                                        
                                            GET /wp-includes/js/dist/vendor/regenerator-runtime.min.js?ver=0.13.7 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: application/x-javascript
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:38 GMT
last-modified: Fri, 12 Nov 2021 13:43:33 GMT
etag: "1906-618e6f85-e46c551fd88d89a2;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 2297
date: Sat, 17 Sep 2022 01:23:38 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (6406), with no line terminators
Size:   2297
Md5:    7288c3b6110b68ddcfa671616c0f65a9
Sha1:   77b4120510330292b9260984949f62925a5fd96a
Sha256: bc6dd499d1b5713241c49a47259a152fc27cf1e08556c6fb1106441f935ed63c

Alerts:
  Blocklists:
    - fortinet: Phishing
                                        
                                            GET /wp-content/plugins/contact-form-7/includes/js/index.js?ver=5.5.5 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: application/x-javascript
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:38 GMT
last-modified: Tue, 15 Feb 2022 19:45:37 GMT
etag: "25f8-620c02e1-1dad7af0581539c9;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 3053
date: Sat, 17 Sep 2022 01:23:38 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  HTML document, ASCII text, with very long lines (9720), with no line terminators
Size:   3053
Md5:    572dfe0c0e724972d273f13ee3f30c4b
Sha1:   45c5e38616ee1fd31058436b8a06510bec824c34
Sha256: 086b69b7873782382e61c92cbcbdc96c8b712100865d5efebf9dde6071337cb0
                                        
                                            GET /wp-includes/js/wp-embed.min.js?ver=5.8.5 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: application/x-javascript
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:38 GMT
last-modified: Fri, 12 Nov 2021 13:43:33 GMT
etag: "592-618e6f85-c5ccda8d7621f0f6;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 665
date: Sat, 17 Sep 2022 01:23:38 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (1391)
Size:   665
Md5:    700e04ed36d1ee217654e5413b3053eb
Sha1:   6bcee89f9a8722e90842fcbfc99b1c791477a434
Sha256: 5090971ff1192cf479176187926b296a4f3eff2995e3b0d35c63ae8d2febc133
                                        
                                            GET /wp-includes/js/jquery/jquery.min.js?ver=3.6.0 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: application/x-javascript
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:38 GMT
last-modified: Fri, 12 Nov 2021 13:43:33 GMT
etag: "15db1-618e6f85-4b8a3608fb1ad277;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 30027
date: Sat, 17 Sep 2022 01:23:38 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (65447)
Size:   30027
Md5:    63373db5c13254717674a1af4cd88aa2
Sha1:   21a1962ab8597d9066640a7157a41370341ff0cf
Sha256: d883f77be0299ddb715175908b03076554287b13f87570369fb58adeade16891

Alerts:
  Blocklists:
    - fortinet: Phishing
                                        
                                            GET /wp-content/plugins/easy-facebook-likebox/facebook/frontend/assets/js/esf-free-popup.min.js?ver=6.3.3 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: application/x-javascript
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:38 GMT
last-modified: Tue, 15 Feb 2022 19:45:43 GMT
etag: "5211-620c02e7-b469a6585e68eee3;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 7292
date: Sat, 17 Sep 2022 01:23:38 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (21009), with no line terminators
Size:   7292
Md5:    168e82881b60e1f6509a5cda7a6a6bc6
Sha1:   b0cb30afea9ccc28236a9f27910d7c13cbc0be37
Sha256: 8343fdc2921a088ea1178bddae2f20622e5042e8097ac7b49728ce2e81995b2e
                                        
                                            GET /wp-content/plugins/revslider/public/assets/css/rs6.css?ver=6.5.9 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: text/css
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:38 GMT
last-modified: Fri, 12 Nov 2021 14:47:40 GMT
etag: "e152-618e7e8c-dc7bee837455ff5;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 11615
date: Sat, 17 Sep 2022 01:23:38 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Unicode text, UTF-8 text, with very long lines (12602)
Size:   11615
Md5:    ae25056e9432cde17c0285f4d8c7cb92
Sha1:   7ead50c0a2ecf4456294a8a5a014be5adcaa10a2
Sha256: 55e6dbd7b65c9385b92713eeb57a69695d46b87db1a6978348dd9441796864cd
                                        
                                            GET /wp-includes/js/dist/vendor/wp-polyfill.min.js?ver=3.15.0 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: application/x-javascript
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:38 GMT
last-modified: Fri, 12 Nov 2021 13:43:33 GMT
etag: "4056-618e6f85-e34a43c2434a970b;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 5769
date: Sat, 17 Sep 2022 01:23:38 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Unicode text, UTF-8 text, with very long lines (16323)
Size:   5769
Md5:    dcbde1701851530dc07c731e8d94ba5b
Sha1:   7835aff97a0e828ec376c1ab67bd2ffd566dfecf
Sha256: 6a8702b337918153d65eaf65cf69c0e940596c9796dda75d7d3b2346ffa7ae38
                                        
                                            GET /wp-includes/js/wp-emoji-release.min.js?ver=5.8.5 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: application/x-javascript
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:38 GMT
last-modified: Fri, 12 Nov 2021 13:43:33 GMT
etag: "4705-618e6f85-fd66fab1a0a3696d;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 4499
date: Sat, 17 Sep 2022 01:23:38 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (15224)
Size:   4499
Md5:    9336a67615b8765497b6efb3b0ce86af
Sha1:   8e9f93d0e91889a28040f9f8f8d2acf71a0acdbb
Sha256: 4834743cf8467e0159799d7c291fe7ef0db3d96323b60fe1bccdaa7d932a7de3

Alerts:
  Blocklists:
    - fortinet: Phishing
                                        
                                            GET /wp-content/plugins/LayerSlider/assets/static/layerslider/js/layerslider.utils.js?ver=6.11.2 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: application/x-javascript
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:38 GMT
last-modified: Tue, 01 Sep 2020 18:46:48 GMT
etag: "1e065-5f4e9718-984556ecb1931264;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 40363
date: Sat, 17 Sep 2022 01:23:38 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (65315)
Size:   40363
Md5:    a714f070c15eafe206109557af7c88f8
Sha1:   15f560f197d97006382851eb027019c9fbcf1087
Sha256: 438b2aa9fa42187d959097eb3e9fa73b2dcc0531ef51394fd4b5c94eb7c5e413

Alerts:
  Blocklists:
    - fortinet: Phishing
                                        
                                            GET /wp-content/plugins/LayerSlider/assets/static/layerslider/js/layerslider.kreaturamedia.jquery.js?ver=6.11.2 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: application/x-javascript
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:38 GMT
last-modified: Tue, 01 Sep 2020 18:46:48 GMT
etag: "1f7f2-5f4e9718-4560477519cd1235;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 45254
date: Sat, 17 Sep 2022 01:23:38 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (65322)
Size:   45254
Md5:    32aba52494d506e8ff5045e7892d48b4
Sha1:   fb5e25cd34d67c0f969e27175741cc26ad93cb0e
Sha256: 1b30f7692fac7532137d64605bb23f6cf817f60d81d27f52a20eb33b1c5ebac8

Alerts:
  Blocklists:
    - fortinet: Phishing
                                        
                                            GET /wp-content/uploads/fusion-styles/a5a3a7f6c2fb0d560e9556df9d985918.min.css?ver=3.0.2 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: text/css
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:38 GMT
last-modified: Fri, 12 Nov 2021 15:01:29 GMT
etag: "104720-618e81c9-aceced78b6c45b0b;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 110957
date: Sat, 17 Sep 2022 01:23:38 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (48788)
Size:   110957
Md5:    12a8dcfd86ea0d0573a6998fbfaa2512
Sha1:   ee0b23fda8f8e4e97b16d6f435076c15321cacd2
Sha256: eca4e785a38cb42e5c2bf368d5af5d759816552c20635d6a83ea9be2f20e83a8

Alerts:
  Blocklists:
    - fortinet: Phishing
                                        
                                            GET /wp-content/uploads/2020/09/Logo-3.png HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: image/png
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:38 GMT
last-modified: Mon, 14 Sep 2020 18:50:10 GMT
etag: "d2e5-5f5fbb62-fdc75b5db259cf48;;;"
accept-ranges: bytes
content-length: 53989
date: Sat, 17 Sep 2022 01:23:38 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  PNG image data, 250 x 250, 8-bit/color RGBA, non-interlaced\012- data
Size:   53989
Md5:    4127b7b2cd38098901f539a1801043df
Sha1:   4d69643476d58ba8765c0071fcb72c1cc66e0dd3
Sha256: b13afdd1de3453270e3adc1e437b7cf7a8f062f3c7a1dbffbfbaed46e0a71ace
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "63C277B85854C244E38F5B3E60A073EB15962A0784BA1B726353E3EC0C3E9E02"
Last-Modified: Thu, 15 Sep 2022 22:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=11631
Expires: Sat, 17 Sep 2022 04:37:30 GMT
Date: Sat, 17 Sep 2022 01:23:39 GMT
Connection: keep-alive

                                        
                                            GET /wp-content/plugins/revslider/public/assets/js/rbtools.min.js?ver=6.5.9 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: application/x-javascript
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:38 GMT
last-modified: Fri, 12 Nov 2021 14:47:41 GMT
etag: "1e4e6-618e7e8d-80d089a9bea111e0;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 45190
date: Sat, 17 Sep 2022 01:23:38 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "63C277B85854C244E38F5B3E60A073EB15962A0784BA1B726353E3EC0C3E9E02"
Last-Modified: Thu, 15 Sep 2022 22:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=11631
Expires: Sat, 17 Sep 2022 04:37:30 GMT
Date: Sat, 17 Sep 2022 01:23:39 GMT
Connection: keep-alive

                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F2223b64d-7436-4cd8-9633-fc79069394d6.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 9486
x-amzn-requestid: eb3622e4-3ac9-4148-8da1-0eb73e24e798
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: YRYP8HkYIAMF4mg=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-631d3a65-418ddfed5fe892af4998abc0;Sampled=0
x-amzn-remapped-date: Sun, 11 Sep 2022 01:31:17 GMT
x-amz-cf-pop: HIO50-C1, SEA73-P1
x-cache: Hit from cloudfront
x-amz-cf-id: Ny_MBsNOIVhY71rCysMfnx9aAqiywjM1Y0sObUSjYITxCSDxbmnVZA==
via: 1.1 26ca01ec7377e425b59b6a08cb1ec342.cloudfront.net (CloudFront), 1.1 5fe5f2a3903f1378941d92eceaf3fa16.cloudfront.net (CloudFront), 1.1 google
date: Fri, 16 Sep 2022 21:55:31 GMT
age: 12488
etag: "dfb08910372586148c4e1fbea598818bf65cdbdb"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   9486
Md5:    2efd7ea9edbfe7d4d2cf6685dc60f571
Sha1:   dfb08910372586148c4e1fbea598818bf65cdbdb
Sha256: a731494ee4cfd1d6d8642dc837f6731d55b84033f0f88a3e45fd82b07d137b28
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F965c1f46-ea3e-498e-b9dd-07a252ce51c2.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 6991
x-amzn-requestid: 799f17de-b856-4be7-abbf-0d444f605a94
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: YXe-WE9toAMF41A=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-631fab8e-6f2639d75967c1d2213d2d8b;Sampled=0
x-amzn-remapped-date: Mon, 12 Sep 2022 21:58:38 GMT
x-amz-cf-pop: HIO50-C1, SEA73-P1
x-cache: Hit from cloudfront
x-amz-cf-id: EvWc_HiIQ23ll8soCl8tWfARIqe_B5HKpchZaGKSoZy576KLyjcfCw==
via: 1.1 49b94a8674d6e86a841d6523f7dbaf14.cloudfront.net (CloudFront), 1.1 32d624dbeb2a8b7f24dbe49007e37c90.cloudfront.net (CloudFront), 1.1 google
date: Fri, 16 Sep 2022 21:56:33 GMT
age: 12426
etag: "5139023bb709d865d26a9b2fac4b02260966c347"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   6991
Md5:    6656c96d31803728c2fcd707289bcd27
Sha1:   5139023bb709d865d26a9b2fac4b02260966c347
Sha256: 41c958a36909953f47208de41fb76081ce2c5bb80afec7c15b7c544b464880b7
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F14e8614f-d7d5-4a87-adf0-ab2cfcfb023b.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 5956
x-amzn-requestid: 19032fea-67c3-404f-bf3e-9b436a61a7f8
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: YeNW4G30oAMFw0w=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-63225c2b-3da099be3781af033658520f;Sampled=0
x-amzn-remapped-date: Wed, 14 Sep 2022 22:56:43 GMT
x-amz-cf-pop: SEA73-P1
x-cache: Hit from cloudfront
x-amz-cf-id: iITasHJYVP9sMCE7074VGGXwzKVd-0VdZqWYFuKPSt3G91Tq2vWExA==
via: 1.1 74aa91fe819001bcedd882694f52b436.cloudfront.net (CloudFront), 1.1 31119c39c5a6dc62dfa1fe940afd7be2.cloudfront.net (CloudFront), 1.1 google
date: Fri, 16 Sep 2022 23:32:44 GMT
age: 6655
etag: "ff29c630c2ed8a67fe5cd4622dc9f1d23234b58c"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   5956
Md5:    3e963daffb462e89d9d67e6193944cc3
Sha1:   ff29c630c2ed8a67fe5cd4622dc9f1d23234b58c
Sha256: cc24af0aedb89ab059b6706b8e51708547ea2ce2b2c2743425810b44af7c68c8
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2Ffd5675c7-5120-4f61-bd91-8c4d9af84130.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 7788
x-amzn-requestid: 2cb48f87-8b72-4ff7-b041-a6e704b854a8
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: YIP2-HFHoAMFssA=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-6319935f-693e2f2e5a0bcd9f690f21fa;Sampled=0
x-amzn-remapped-date: Thu, 08 Sep 2022 07:01:51 GMT
x-amz-cf-pop: SEA73-P1
x-cache: Hit from cloudfront
x-amz-cf-id: 65YRttsQYzjUMMZXrtAFPdgTPNQuRGnLFliXrcoc24iQgrdBCHolNQ==
via: 1.1 86b676273517904f44af31586adb06ae.cloudfront.net (CloudFront), 1.1 567b44ed19c8caed2570b7bcd8c70034.cloudfront.net (CloudFront), 1.1 google
date: Fri, 16 Sep 2022 22:31:11 GMT
age: 10348
etag: "e139a0974317212f094fdbe59e26ca5cf6b9e56d"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   7788
Md5:    7a22ab7dcdf50f4a297b8e117d336eae
Sha1:   e139a0974317212f094fdbe59e26ca5cf6b9e56d
Sha256: 9b4c23c1bb2e4fcd140ce34bf83f315f09b45202c569cb74113c2e65c4031dcd
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F37eff517-f8c4-4e04-9fb6-e9a22aa4d8bf.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 7788
x-amzn-requestid: c570654d-569c-4faf-9690-5ffab5eaceed
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: YR5sREScIAMF5RA=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-631d6fe7-3ed179845a3e9ede478e6dfa;Sampled=0
x-amzn-remapped-date: Sun, 11 Sep 2022 05:19:35 GMT
x-amz-cf-pop: SEA73-P1
x-cache: Hit from cloudfront
x-amz-cf-id: kkko85Peg1nRJNE9WmrID7GfTrqjOuXZHDAcPRS6ZXIdEQF4YOMBVw==
via: 1.1 010c0731b9775a983eceaec0f5fa6a2e.cloudfront.net (CloudFront), 1.1 91356d2137f5a7345e93da4516c49ec4.cloudfront.net (CloudFront), 1.1 google
date: Fri, 16 Sep 2022 21:39:39 GMT
age: 13440
etag: "50ae5dbe015dc8b9ad022cb5b11cb2c4c8086368"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   7788
Md5:    e0c4155f7b9f8a4a31780ea86e50e398
Sha1:   50ae5dbe015dc8b9ad022cb5b11cb2c4c8086368
Sha256: 598683a93574a8418e19decdbfc5bcae2f028c6e1791c192f98425bd8e339ad4
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2Fa9ba7347-38d8-40e3-9b29-41a380f99ed5.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 6109
x-amzn-requestid: 271b006e-9d17-46ba-9eed-22fd638c4e9e
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: YQ2AhHZgIAMFlSg=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-631d039c-444e7d6b22f2a08f7215a986;Sampled=0
x-amzn-remapped-date: Sat, 10 Sep 2022 21:37:32 GMT
x-amz-cf-pop: HIO50-C1, SEA73-P1
x-cache: Hit from cloudfront
x-amz-cf-id: CIWYkrbRUTWVmy3JC5GbpBN1i30fwtYqGDyoA9ehbPANY7gw7al9ow==
via: 1.1 9b311162717b41c968f6f00426d88aaa.cloudfront.net (CloudFront), 1.1 09331f0822fc98eebaf04130a83dbd44.cloudfront.net (CloudFront), 1.1 google
date: Sat, 17 Sep 2022 00:42:42 GMT
age: 2457
etag: "c5b82c9d77851820b8d206573d5c03cd36d27a20"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   6109
Md5:    8c35b7f5f8e1b0b24570a41b7d18533a
Sha1:   c5b82c9d77851820b8d206573d5c03cd36d27a20
Sha256: bb2456b31c48e6ebc9595c2bb9972b74531e93dd02ec4571d5af614f2d116ec7
                                        
                                            GET /wp-content/uploads/fusion-scripts/87abe166283d6c3b515928cb99837669.min.js?ver=3.0.2 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: application/x-javascript
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:38 GMT
last-modified: Sat, 13 Nov 2021 01:15:44 GMT
etag: "107993-618f11c0-fbfffaeae8bf2b08;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 267216
date: Sat, 17 Sep 2022 01:23:38 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (49199)
Size:   267216
Md5:    50db3eb2f86b3bcb5520e8ca21cf209a
Sha1:   3d6602c490a51f236bc512928829a4ede3171071
Sha256: f9ed6be56ceff90806f8d3c3e7ccc2e115202e1259502943deff8124ba09eea6

Alerts:
  Blocklists:
    - fortinet: Phishing
                                        
                                            GET /wp-admin/admin-ajax.php?action=esf-insta-customizer-style&ver=5.8.5 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: text/css; charset: UTF-8;charset=UTF-8
                                        
x-powered-by: PHP/7.4.30
x-robots-tag: noindex
x-content-type-options: nosniff
expires: Wed, 11 Jan 1984 05:00:00 GMT
cache-control: no-cache, must-revalidate, max-age=0
x-frame-options: SAMEORIGIN
referrer-policy: strict-origin-when-cross-origin
x-litespeed-cache-control: no-cache
content-length: 1166
content-encoding: br
vary: Accept-Encoding
date: Sat, 17 Sep 2022 01:23:39 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (672)
Size:   1166
Md5:    0ff976df48cf785ae8d74b0222bc8e24
Sha1:   3e4b26143e281000c6a3a139ef1c2290c1db6ca3
Sha256: 735eb1595a64c2cb9dd9b7b6bdc7fbac7aba52c90cbe18a5abb677e7dacd4b48
                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 84
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Sat, 17 Sep 2022 01:23:40 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 84
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Sat, 17 Sep 2022 01:23:40 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 84
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Sat, 17 Sep 2022 01:23:40 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 84
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Sat, 17 Sep 2022 01:23:40 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 84
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Sat, 17 Sep 2022 01:23:40 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            GET /wp-admin/admin-ajax.php?action=easy-facebook-likebox-customizer-style&ver=6.3.3 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: text/css; charset: UTF-8;charset=UTF-8
                                        
x-powered-by: PHP/7.4.30
x-robots-tag: noindex
x-content-type-options: nosniff
expires: Wed, 11 Jan 1984 05:00:00 GMT
cache-control: no-cache, must-revalidate, max-age=0
x-frame-options: SAMEORIGIN
referrer-policy: strict-origin-when-cross-origin
x-litespeed-cache-control: no-cache
content-encoding: br
vary: Accept-Encoding
date: Sat, 17 Sep 2022 01:23:39 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (532)
Size:   25362
Md5:    cb91a17c92ab9842ea8acd60753f2291
Sha1:   413b69d5d00d148cd5748bbf4a7cbb9a7d7cdc52
Sha256: 447835169d1309626bab04812726ec88e46af87a25417948381b5878f05650a4
                                        
                                            GET /s/playfairdisplay/v25/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvXDXbtXK-F2qO0g.woff HTTP/1.1 
Host: fonts.gstatic.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: identity
Origin: https://crissallesterapias.com.br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/
Sec-Fetch-Dest: font
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         142.250.74.163
HTTP/2 200 OK
content-type: font/woff
                                        
accept-ranges: bytes
access-control-allow-origin: *
content-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes
cross-origin-resource-policy: cross-origin
cross-origin-opener-policy: same-origin; report-to="apps-themes"
report-to: {"group":"apps-themes","max_age":2592000,"endpoints":[{"url":"https://csp.withgoogle.com/csp/report-to/apps-themes"}]}
timing-allow-origin: *
content-length: 24652
x-content-type-options: nosniff
server: sffe
x-xss-protection: 0
date: Tue, 13 Sep 2022 06:28:48 GMT
expires: Wed, 13 Sep 2023 06:28:48 GMT
cache-control: public, max-age=31536000
age: 327292
last-modified: Wed, 10 Nov 2021 18:13:15 GMT
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Web Open Font Format, TrueType, length 24652, version 1.1\012- data
Size:   24652
Md5:    05f626acd9d659f295d71fec7d1fe8b2
Sha1:   19a440d9ac08d72f4621777708a885b07e31a3e0
Sha256: 386751a38b8b78b87c846fee21dabb153d2884b21d622d61f7d6dc6a2fac854f
                                        
                                            GET /s/worksans/v13/QGY_z_wNahGAdqQ43RhVcIgYT2Xz5u32K67QBi8JoI3ZKyHqQg.woff HTTP/1.1 
Host: fonts.gstatic.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: identity
Origin: https://crissallesterapias.com.br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/
Sec-Fetch-Dest: font
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         142.250.74.163
HTTP/2 200 OK
content-type: font/woff
                                        
accept-ranges: bytes
access-control-allow-origin: *
content-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes
cross-origin-resource-policy: cross-origin
cross-origin-opener-policy: same-origin; report-to="apps-themes"
report-to: {"group":"apps-themes","max_age":2592000,"endpoints":[{"url":"https://csp.withgoogle.com/csp/report-to/apps-themes"}]}
timing-allow-origin: *
content-length: 23776
x-content-type-options: nosniff
server: sffe
x-xss-protection: 0
date: Sun, 11 Sep 2022 16:48:26 GMT
expires: Mon, 11 Sep 2023 16:48:26 GMT
cache-control: public, max-age=31536000
age: 462914
last-modified: Wed, 10 Nov 2021 18:06:01 GMT
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Web Open Font Format, TrueType, length 23776, version 1.1\012- data
Size:   23776
Md5:    d5bc013806eeb7a073a0bff72b30af25
Sha1:   842175feb1e4f382d6982549cea166881a2b2632
Sha256: 8fd06f18e68aac35621698582f2ab34911e159ffb0231280e5b083f94e169096
                                        
                                            GET /s/playfairdisplay/v25/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKeiunDXbtXK-F2qO0g.woff HTTP/1.1 
Host: fonts.gstatic.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: identity
Origin: https://crissallesterapias.com.br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/
Sec-Fetch-Dest: font
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         142.250.74.163
HTTP/2 200 OK
content-type: font/woff
                                        
accept-ranges: bytes
access-control-allow-origin: *
content-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes
cross-origin-resource-policy: cross-origin
cross-origin-opener-policy: same-origin; report-to="apps-themes"
report-to: {"group":"apps-themes","max_age":2592000,"endpoints":[{"url":"https://csp.withgoogle.com/csp/report-to/apps-themes"}]}
timing-allow-origin: *
content-length: 26012
x-content-type-options: nosniff
server: sffe
x-xss-protection: 0
date: Fri, 16 Sep 2022 18:39:41 GMT
expires: Sat, 16 Sep 2023 18:39:41 GMT
cache-control: public, max-age=31536000
age: 24239
last-modified: Wed, 10 Nov 2021 18:18:18 GMT
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Web Open Font Format, TrueType, length 26012, version 1.1\012- data
Size:   26012
Md5:    47ae52793947c7aeccd7b0a81dddfcc1
Sha1:   bc640986c90be068f66c496836f4745c45e35cd2
Sha256: f561fac6b0ec7182f005dc2ab23a95e5a407ee2da178ffe71fa7c6585287441d
                                        
                                            GET /s/worksans/v13/QGY_z_wNahGAdqQ43RhVcIgYT2Xz5u32K5fQBi8JoI3ZKyHqQg.woff HTTP/1.1 
Host: fonts.gstatic.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: identity
Origin: https://crissallesterapias.com.br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/
Sec-Fetch-Dest: font
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

                                         
                                         142.250.74.163
HTTP/2 200 OK
content-type: font/woff
                                        
accept-ranges: bytes
access-control-allow-origin: *
content-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes
cross-origin-resource-policy: cross-origin
cross-origin-opener-policy: same-origin; report-to="apps-themes"
report-to: {"group":"apps-themes","max_age":2592000,"endpoints":[{"url":"https://csp.withgoogle.com/csp/report-to/apps-themes"}]}
timing-allow-origin: *
content-length: 23964
x-content-type-options: nosniff
server: sffe
x-xss-protection: 0
date: Thu, 15 Sep 2022 20:26:03 GMT
expires: Fri, 15 Sep 2023 20:26:03 GMT
cache-control: public, max-age=31536000
last-modified: Wed, 10 Nov 2021 18:06:11 GMT
age: 104257
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Web Open Font Format, TrueType, length 23964, version 1.1\012- data
Size:   23964
Md5:    73cc56954f67bf7b1d9b786a7b58e1af
Sha1:   d6045eab1e92ae57be8954fbe613ad4b6342f24b
Sha256: 399ee57b8c0fc3639e7dd004f70256fa3efc5a7f25f6bd313dc6de58d6f123c5
                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 84
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Sat, 17 Sep 2022 01:23:40 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 3987
Cache-Control: 'max-age=158059'
Date: Sat, 17 Sep 2022 01:23:40 GMT
Last-Modified: Sat, 17 Sep 2022 00:17:13 GMT
Server: ECS (ska/F708)
X-Cache: HIT
Content-Length: 471

                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 3989
Cache-Control: 'max-age=158059'
Date: Sat, 17 Sep 2022 01:23:42 GMT
Last-Modified: Sat, 17 Sep 2022 00:17:13 GMT
Server: ECS (ska/F708)
X-Cache: HIT
Content-Length: 471

                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 3989
Cache-Control: 'max-age=158059'
Date: Sat, 17 Sep 2022 01:23:42 GMT
Last-Modified: Sat, 17 Sep 2022 00:17:13 GMT
Server: ECS (ska/F708)
X-Cache: HIT
Content-Length: 471

                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

                                         
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 1487
Cache-Control: 'max-age=158059'
Date: Sat, 17 Sep 2022 01:23:42 GMT
Last-Modified: Sat, 17 Sep 2022 00:58:55 GMT
Server: ECS (ska/F71B)
X-Cache: HIT
Content-Length: 471

                                        
                                            GET /wp-content/plugins/revslider/public/assets/js/rs6.min.js?ver=6.5.9 HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://crissallesterapias.com.br/w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

                                         
                                         82.180.135.215
HTTP/2 200 OK
content-type: application/x-javascript
                                        
cache-control: public, max-age=604800
expires: Sat, 24 Sep 2022 01:23:38 GMT
last-modified: Fri, 12 Nov 2021 14:47:41 GMT
etag: "5d1fc-618e7e8d-5becad1a5bcb0bba;br"
accept-ranges: bytes
content-encoding: br
vary: Accept-Encoding
content-length: 94254
date: Sat, 17 Sep 2022 01:23:38 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
X-Firefox-Spdy: h2


--- Additional Info ---

Alerts:
  Blocklists:
    - fortinet: Phishing
                                        
                                            GET /w-sec01bs/auth.php?ORlSQTtgDXVjZmuecNws&md=ORlSQTtgDXVjZmuecNws HTTP/1.1 
Host: crissallesterapias.com.br
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1

                                         
                                         82.180.135.215
HTTP/2 404 Not Found
content-type: text/html; charset=UTF-8
                                        
x-powered-by: PHP/7.4.30
expires: Wed, 11 Jan 1984 05:00:00 GMT
cache-control: no-cache, must-revalidate, max-age=0
link: <https://crissallesterapias.com.br/wp-json/>; rel="https://api.w.org/"
x-litespeed-cache: hit
content-encoding: br
vary: Accept-Encoding
date: Sat, 17 Sep 2022 01:23:37 GMT
server: LiteSpeed
platform: hostinger
content-security-policy: upgrade-insecure-requests
alt-svc: h3=":443"; ma=2592000, h3-29=":443"; ma=2592000, h3-Q050=":443"; ma=2592000, h3-Q046=":443"; ma=2592000, h3-Q043=":443"; ma=2592000, quic=":443"; ma=2592000; v="43,46"
X-Firefox-Spdy: h2


--- Additional Info ---