Overview

URLelephantpassresort.com/icmo/sabuisqoroaamliumq
IP 103.76.228.55 (India)
ASN#394695 PUBLIC-DOMAIN-REGISTRY
UserAgentMozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Referer
Report completed2022-11-05 17:42:18 UTC
StatusLoading report..
IDS alerts0
Blocklist alert47
urlquery alerts No alerts detected
Tags None

Domain Summary (24)

Fully Qualifying Domain Name Rank First Seen Last Seen IP Comment
img-getpocket.cdn.mozilla.net (6) 1631 2018-06-21 23:36:00 UTC 2020-02-19 04:43:25 UTC 34.120.237.76
www.google.com (1) 7 2016-03-22 03:56:07 UTC 2022-11-05 10:03:02 UTC 142.250.74.164
www.google-analytics.com (1) 40 2012-10-03 01:04:21 UTC 2022-11-05 15:12:33 UTC 142.250.74.174
www.facebook.com (1) 99 2012-05-21 00:23:41 UTC 2021-06-08 06:38:51 UTC 157.240.240.35
content-signature-2.cdn.mozilla.net (1) 1152 No data No data 34.160.144.191
contile.services.mozilla.com (1) 1114 2021-05-27 18:32:35 UTC 2022-11-05 05:55:16 UTC 34.117.237.239
push.services.mozilla.com (1) 2140 2014-10-24 08:27:06 UTC 2020-05-03 10:09:39 UTC 34.218.159.206
region1.google-analytics.com (1) 0 2022-03-17 11:26:33 UTC 2022-11-05 09:21:26 UTC 216.239.34.36 Domain (google-analytics.com) ranked at: 8401
elephantpassresort.com (2) 0 2018-07-14 03:21:39 UTC 2022-11-05 05:22:29 UTC 103.76.228.55 Unknown ranking
fonts.gstatic.com (5) 0 2014-09-09 00:40:21 UTC 2022-11-05 12:06:56 UTC 216.58.207.195 Domain (gstatic.com) ranked at: 540
connect.facebook.net (1) 139 2012-05-22 02:51:28 UTC 2020-02-17 13:26:09 UTC 157.240.240.1
fonts.googleapis.com (3) 8877 2013-06-10 20:14:26 UTC 2022-11-05 12:06:55 UTC 142.250.74.10
www.google.no (2) 25607 2016-04-05 19:50:59 UTC 2022-11-05 10:47:16 UTC 142.250.74.35
r3.o.lencr.org (8) 344 No data No data 23.36.77.32
ocsp.pki.goog (17) 175 2018-07-01 06:43:07 UTC 2020-05-02 20:58:16 UTC 142.250.74.35
www.elephantpassresort.com (89) 0 2019-05-31 13:41:53 UTC 2022-08-03 08:57:06 UTC 103.76.228.55 Unknown ranking
www.gstatic.com (1) 0 2016-07-26 09:37:06 UTC 2022-11-05 13:12:48 UTC 142.250.74.163 Domain (gstatic.com) ranked at: 540
googleads.g.doubleclick.net (1) 42 2021-02-20 15:43:32 UTC 2022-11-05 15:51:11 UTC 142.250.74.162
stats.g.doubleclick.net (1) 96 2013-06-10 20:21:11 UTC 2022-11-05 10:48:37 UTC 64.233.162.156
status.thawte.com (1) 5123 2019-03-13 17:00:46 UTC 2020-04-10 08:00:21 UTC 93.184.220.29
to.getnitropack.com (1) 17316 2020-05-19 10:36:28 UTC 2021-01-04 11:40:12 UTC 194.242.11.186
ocsp.digicert.com (5) 86 2012-05-21 07:02:23 UTC 2020-05-02 20:58:10 UTC 93.184.220.29
www.googletagmanager.com (2) 75 2012-12-25 14:52:06 UTC 2022-11-05 09:57:19 UTC 142.250.74.168
translate.googleapis.com (1) 1005 2014-07-21 13:19:59 UTC 2022-11-05 17:03:49 UTC 142.250.74.138

Network Intrusion Detection Systemsinfo

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-11-05 2 elephantpassresort.com/icmo/sabuisqoroaamliumq Malware
2022-11-05 2 elephantpassresort.com/icmo/sabuisqoroaamliumq Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/plugins/wpcf7-redirect/build/css/wpcf (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/plugins/LayerSlider/static/layerslide (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/plugins/wp-postratings/css/postrating (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/themes/hotel-lux/style.css?ver=1.0.0 Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/themes/hotel-lux/css/ilightbox.css?ve (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/plugins/LayerSlider/static/layerslide (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/themes/hotel-lux/theme-framework/them (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/themes/hotel-lux/theme-vars/theme-sty (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/plugins/kadence-blocks/dist/blocks/po (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2 Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/themes/hotel-lux/css/animate.css?ver=1.0.0 Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/themes/hotel-lux/theme-framework/them (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/themes/hotel-lux/js/respond.min.js?ve (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/themes/hotel-lux/css/ilightbox-skins/ (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/themes/hotel-lux/gutenberg/cmsmasters (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/plugins/click-to-chat-for-whatsapp/ne (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/themes/hotel-lux/js/cmsmasters-hover- (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/themes/hotel-lux/js/debounced-resize. (...) Malware
2022-11-05 2 www.elephantpassresort.com/ Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/plugins/contact-form-7/includes/css/s (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/plugins/gutenberg/build/vendors/inert (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/plugins/contact-form-7/modules/recapt (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/themes/hotel-lux/js/request-animation (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/plugins/wp-postratings/js/postratings (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/themes/hotel-lux/js/mousewheel.min.js (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/themes/hotel-lux/js/smooth-sticky.min (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-includes/js/imagesloaded.min.js?ver=4.1.4 Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/themes/hotel-lux/js/stellar.min.js?ve (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/themes/hotel-lux/js/easy-pie-chart.mi (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/themes/hotel-lux/js/owlcarousel.min.j (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-includes/js/dist/vendor/wp-polyfill.min.js?ve (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/plugins/kadence-blocks/dist/assets/js (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/themes/hotel-lux/theme-framework/them (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/themes/hotel-lux/js/scrollspy.js?ver=1.0.0 Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/plugins/LayerSlider/static/layerslide (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/themes/hotel-lux/css/fonts/fontello.w (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/themes/hotel-lux/theme-vars/theme-sty (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/plugins/revslider/public/assets/js/jq (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/themes/hotel-lux/theme-framework/them (...) Malware
2022-11-05 2 www.elephantpassresort.com/ Malware
2022-11-05 2 www.elephantpassresort.com/ Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/plugins/gutenberg/build/block-library (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/plugins/revslider/public/assets/js/jq (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/themes/hotel-lux/js/jquery.iLightBox. (...) Malware
2022-11-05 2 www.elephantpassresort.com/wp-content/plugins/revslider/public/assets/js/ex (...) Malware

mnemonic secure dns
 No alerts detected

Quad9 DNS
 No alerts detected


Files

No files detected

Recent reports on same IP/ASN/Domain/Screenshot

Last 5 reports on IP: 103.76.228.55
Date UQ / IDS / BL URL IP
2023-01-14 12:01:10 +0000 0 - 0 - 9 ayurkshethra.com/ee/sanateu 103.76.228.55
2022-12-01 14:53:43 +0000 0 - 0 - 47 elephantpassresort.com/exc/iiotdop 103.76.228.55
2022-11-05 17:42:18 +0000 0 - 0 - 47 elephantpassresort.com/icmo/sabuisqoroaamliumq 103.76.228.55
2022-11-05 12:49:00 +0000 0 - 0 - 2 elephantpassresort.com/ti/essvudataiamen 103.76.228.55
2022-11-04 21:35:08 +0000 0 - 0 - 8 elephantpassresort.com/re/ertsaupsaimrcdunu 103.76.228.55


Last 5 reports on ASN: PUBLIC-DOMAIN-REGISTRY
Date UQ / IDS / BL URL IP
2023-02-09 12:35:40 +0000 4 - 0 - 5 bontlem.co.za/wp/wp-content/uploads/Netflix/6 (...) 162.222.226.70
2023-02-09 12:25:54 +0000 0 - 0 - 6 sbgranites.com/oiq/qonnosu 199.79.62.15
2023-02-09 12:21:43 +0000 0 - 0 - 2 sunitapaul.com/als/O3OVIxgjdq.zip 103.195.185.115
2023-02-09 12:03:33 +0000 0 - 0 - 2 furniturewalakaka.com/su/drpneaediutae 162.222.226.38
2023-02-09 11:27:35 +0000 0 - 0 - 2 sunitapaul.com/als/t/9SYlW9XWr.zip 103.195.185.115


Last 5 reports on domain: elephantpassresort.com
Date UQ / IDS / BL URL IP
2022-12-01 14:53:43 +0000 0 - 0 - 47 elephantpassresort.com/exc/iiotdop 103.76.228.55
2022-11-05 17:42:18 +0000 0 - 0 - 47 elephantpassresort.com/icmo/sabuisqoroaamliumq 103.76.228.55
2022-11-05 12:49:00 +0000 0 - 0 - 2 elephantpassresort.com/ti/essvudataiamen 103.76.228.55
2022-11-04 21:35:08 +0000 0 - 0 - 8 elephantpassresort.com/re/ertsaupsaimrcdunu 103.76.228.55
2022-11-01 22:25:17 +0000 0 - 0 - 2 elephantpassresort.com/ti/ioeimbqdprmutssuabu 103.76.228.55


Last 1 reports with similar screenshot
Date UQ / IDS / BL URL IP
2022-12-01 14:53:43 +0000 0 - 0 - 47 elephantpassresort.com/exc/iiotdop 103.76.228.55

JavaScript

Executed Scripts (84)

Executed Evals (8)
#1 JavaScript::Eval (size: 208168) - SHA256: 9bfd8070e98438fc42b7f86c0611d5c46968ad3986029638456f76d652c99c49
window._layerSlider = {
        globals: {
            youTubeIsReady: !1,
            vimeoIsReady: !1
        },
        GSAP: "undefined" != typeof LS_GSAP && LS_GSAP,
        pluginsLoaded: [],
        pluginsNotLoaded: [],
        pluginsBeingLoaded: [],
        plugins: {},
        slidersList: {},
        currentScript: document.currentScript,
        lsScript: jQuery('script[src*="layerslider.kreaturamedia.jquery.js"]')[0],
        scriptPath: "",
        pluginsPath: !1,
        showNotice: function(e, t, i, a) {
            var s, o, r = "string" == typeof e ? jQuery("#" + e).first() : e;
            switch (t) {
                case "jquery":
                    o = "Multiple jQuery issue", s = 'It looks like that another plugin or your theme loads an extra copy of the jQuery library causing problems for LayerSlider to show your sliders. Please navigate from your WordPress admin sidebar to LayerSlider -> Options -> Advanced and enable the "Include scripts in the footer" option.';
                    break;
                case "oldjquery":
                    o = "Old jQuery issue", s = "It looks like you are using an old version (" + i + ") of the jQuery library. LayerSlider requires at least version " + a + " or newer. Please update jQuery to 1.10.x or higher. Important: Please do not use the jQuery Updater plugin on WordPress as it can cause issues in certain cases."
            }
            jQuery('<div class="ls-notification"><i class="ls-notification-logo">!</i><strong>LayerSlider: ' + o + "</strong><span>" + s + "</span></div>").insertBefore(r)
        },
        removeSlider: function(e) {
            this.slidersList[e] = null, delete this.slidersList[e]
        },
        checkVersions: function(e, t) {
            for (var i = e.split("."), a = t.split("."), s = 0; s < i.length; ++s) {
                if (a.length == s) return !1;
                if (parseInt(i[s]) != parseInt(a[s])) return !(parseInt(i[s]) > parseInt(a[s]))
            }
            return i.length, a.length, !0
        }
    }, Number.prototype.indexOf = function(e) {
        return ("" + this).indexOf(e)
    },
    function(se) {
        "use strict";
        window._layerSliders = {}, se.fn.layerSlider = function(i, a, s, o) {
            i = i || {};
            var t, e = "1.8.0",
                r = se.fn.jquery;
            if (window._layerSlider.checkVersions(e, r, 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, o), t = null
            });
            window._layerSlider.showNotice(se(this), "oldjquery", r, 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"],
                        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"],
                        autoplay: ["mediaSettings"],
                        controls: ["mediaSettings"],
                        showinfo: ["mediaSettings"],
                        fillmode: ["mediaSettings"],
                        thumbnail: ["mediaSettings"],
                        volume: ["mediaSettings"],
                        muted: ["mediaSettings"],
                        loopmedia: ["loop", "mediaSettings"],
                        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"],
                        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: {
                        transitioninstart: [1],
                        transitioninend: [2],
                        textinstart: [3, [1, 2, 6, 7, 8]],
                        textinend: [4],
                        allinend: [5],
                        loopstart: [6, [1, 2, 3, 4, 5]],
                        loopend: [7],
                        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: {
                                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 o, r = se(e[a]),
                            n = r[0].style,
                            l = 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 d = r.data("ls").toLowerCase().split(";"), u = 0; u < d.length; u++) {
                                var p, c, h = d[u].split(":");
                                h[0] = se.trim(h[0]), h[1] = se.trim(h[1]), "" !== h[0] && (void 0 !== i[h[0]] ? (p = void 0 === i[h[0]][1] ? h[0] : i[h[0]][1], c = ie.functions.convert.properties(h[1]), -1 === p.toLowerCase().indexOf("duration") && -1 === p.toLowerCase().indexOf("delay") && "timeShift" != p || (c /= 1e3), l[i[h[0]][0]] || (l[i[h[0]][0]] = {}), l[i[h[0]][0]][p] = c) : l.data[h[0]] = h[1])
                            }
                        if (l.plugins && !se.isEmptyObject(l.plugins))
                            for (var m in l.plugins)
                                if (r.data("ls-plugin-" + m)) {
                                    var f = r.data("ls-plugin-" + m).toLowerCase().split(";"),
                                        g = {};
                                    for (var v in l.plugins[m]) g[v.toLowerCase()] = v;
                                    for (var y = 0; y < f.length; y++) {
                                        var b, S = f[y].split(":");
                                        S[0] = se.trim(S[0]), "" !== S[0] && (b = ie.functions.convert.properties(se.trim(S[1])), -1 === S[0].indexOf("duration") && -1 === S[0].indexOf("delay") || (b /= 1e3), g[S[0]] ? l.plugins[m][g[S[0]]] = b : l.plugins[m][S[0]] = b)
                                    }
                                } else delete l.plugins[m];
                        if (r.children("a.ls-link").length && (l.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(l.data.$link)), l.data.$backgroundVideo = r.children('[data-ls*="backgroundvideo"]').first(), l.data.$backgroundVideo.length && (null !== l.data.$backgroundVideo.attr("data-ls").split("backgroundvideo")[1].split(";")[0].match(/(true|enabled|on|1)/i) ? (l.data.$backgroundVideo.addClass("ls-bg-video").css({
                                width: "auto",
                                height: "auto"
                            }).children("video, audio, iframe").css({
                                width: "100%",
                                height: "100%"
                            }), l.data.$backgroundVideo.append(se('<div class="ls-bg-video-overlay"></div>'))) : l.data.$backgroundVideo = !1), r.find("> .ls-bg").length && (l.data.$background = r.find("> .ls-bg").first()), !l.data.thumbnail) r.find("> .ls-tn").length ? o = r.find("> .ls-tn").first() : r.find("> .ls-bg").length && (o = r.find("> .ls-bg").first()), o ? (l.data.thumbnail = ie.functions.getURL(o), l.data.tnAlt = ie.functions.getALT(o)) : l.data.thumbnail = ie.o.skinsPath + ie.o.skin + "/nothumb.png";
                        (l.data.customtransition2d || l.data.customtransition3d) && "undefined" == typeof layerSliderCustomTransitions && (delete l.data.customtransition2d, delete l.data.customtransition3d, ie.debugMode && ie.debug.add("warn", "sliderInit.customTransitions", t + 1)), "visible" === n.overflow && (l.data.overflow = "visible"), l.data.backgroundColor || (l.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, l.data), ie.slides[t].parallax = l.parallax, ie.slides[t].kenBurns = l.kenBurns, ie.slides[t].filter = l.filter, ie.slides[t].index = t, ie.slides[t].$layers = se(), ie.slides[t].plugins = l.plugins, ie.slider.thumbnails.push(l.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 = ie.slides;
                        if (e.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, e.first.index = "random" == e.first.index ? Math.floor(Math.random() * ie.slides.count + 1) : e.first.index, document.location.hash)
                            for (var t = 1; t < e.count + 1; t++) e[t].data.deeplink == document.location.hash.split("#")[1] && (e.first.index = t);
                        e.first.index = e.first.index < 1 || e.first.index > ie.slides.count ? 1 : e.first.index, ie.o.shuffleSlideshow && "random" != ie.o.firstSlide && (e.first.index = ie.o.firstSlide), e[e.first.index] && e[e.first.index].data && (e.first.data = se.extend(!0, {}, e[e.first.index].data)), ie.o.playByScroll && ie.slideshow.set.normalizedSequence(), ie.debugMode && ie.debug.options.firstSlide && (e.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
                    }
                },
                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, o = a.length; s < o; s++) {
                        var r = se(a[s]),
                            n = r[0],
                            l = r.children();
                        if (-1 != r.attr("class").indexOf("ls-s")) {
                            var d = r.attr("class").split("ls-s")[1].split(" ")[0];
                            r.removeClass("ls-s" + d).addClass("ls-layer")
                        } else if (r.hasClass("ls-l")) r.removeClass("ls-l").addClass("ls-layer");
                        else if (!r.is(".ls-bg, .ls-layer")) {
                            r.remove();
                            continue
                        }
                        r.is("a") && 1 === l.length && ((n = (r = r.children().first())[0]).setAttribute("data-ls", n.parentNode.getAttribute("data-ls")), n.parentNode.removeAttribute("data-ls"), r.parent().removeClass("ls-layer"), r.addClass("ls-layer")), r.data(ie.defaults.init.dataKey, new ie.defaults.layer.options(r, t)), -1 !== r.attr("class").indexOf("ls-linkto-") && this.set.linkTo(r), r.parent().is("a") ? (i = r.parent(), this.set.smartLinks(i)) : i = r, ie.slides[t].$layers = ie.slides[t].$layers.add(i)
                    }
                },
                set: {
                    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).first().length ? se(a).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]),
                                o = 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 o && o == o && (i = "jump to slide " + o)
                            }
                            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 o && o == o) ie.slideshow.changeTo(o, !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)
                    },
                    style: function(e) {
                        var t, i, a, s, o, r, n, l, d, u, p, c, h, m, f, g, v, y, b, S, w, x, T = e[0],
                            C = e.data(ie.defaults.init.dataKey),
                            k = T.style,
                            I = ie.layers,
                            O = 0,
                            L = 0,
                            P = !1,
                            $ = T.getBoundingClientRect();
                        if (l = "" !== k.paddingLeft ? I.getStyle(k.paddingLeft, ie.slider.initial.percW) : parseFloat(e.css("padding-left")), u = "" !== k.paddingRight ? I.getStyle(k.paddingRight, ie.slider.initial.percW) : parseFloat(e.css("padding-right")), d = "" !== k.paddingTop ? I.getStyle(k.paddingTop, ie.slider.initial.percH) : parseFloat(e.css("padding-top")), p = "" !== k.paddingBottom ? I.getStyle(k.paddingBottom, ie.slider.initial.percH) : parseFloat(e.css("padding-bottom")), c = "" !== k.marginLeft ? I.getStyle(k.marginLeft, ie.slider.initial.percW) : parseFloat(e.css("margin-left")), h = "" !== k.marginTop ? I.getStyle(k.marginTop, ie.slider.initial.percH) : parseFloat(e.css("margin-top")), T.style.margin = "0", f = "" !== k.borderLeftWidth ? parseFloat(k.borderLeftWidth) : parseFloat(e.css("border-left-width")), v = "" !== k.borderRightWidth ? parseFloat(k.borderRightWidth) : parseFloat(e.css("border-right-width")), g = "" !== k.borderTopWidth ? parseFloat(k.borderTopWidth) : parseFloat(e.css("border-top-width")), y = "" !== k.borderBottomWidth ? parseFloat(k.borderBottomWidth) : parseFloat(e.css("border-bottom-width")), 1 === ie.media.properties.$allMediaLayers.filter(e).length || e.children("iframe").length) {
                            var B = e.children(),
                                M = B.attr("width") ? B.attr("width") : B.width(),
                                W = B.attr("height") ? B.attr("height") : B.height();
                            300 === parseInt(M) && 150 === parseInt(W) && (M = 640, W = 360), "" !== T.style.width && "auto" !== T.style.width || e.css("width", M), "" !== T.style.height && "auto" !== T.style.height || e.css("height", W), "100%" === k.width && "100%" === k.height && (k.left = "50%", k.top = "50%", C.mediaSettings.fullsize = !0), P = M / W, B.css({
                                width: "100%",
                                height: "100%"
                            })
                        }
                        var _ = C.attributes;
                        e.is("img") && (b = (s = e.data("preloadedWidth")) / (o = e.data("preloadedHeight")), (!k.width && !k.height || "auto" === k.width && "auto" === k.height) && _ && (_.width && _.height ? (i = -1 === _.width.indexOf("%") ? parseInt(_.width) : (O = parseInt(_.width), I.getStyle(_.width, ie.slider.initial.percW)), a = -1 === _.height.indexOf("%") ? parseInt(_.height) : (L = parseInt(_.height), I.getStyle(_.height, ie.slider.initial.percH))) : _.maxWidth && (e[0].style.width = _.maxWidth + "px", i = _.maxWidth, a = e.height()))), w = $.width ? $.width : $.right - $.left, x = $.height ? $.height : $.bottom - $.top, i || (i = k.width, -1 !== k.width.indexOf("%") && (O = parseInt(k.width)), i = (i = "" !== i && "auto" !== i ? I.getStyle(i, ie.slider.initial.percW) : w - l - u - f - v) || "auto"), a || (a = k.height, -1 !== k.height.indexOf("%") && (L = parseInt(k.height)), a = (a = "" !== a && "auto" !== a ? I.getStyle(a, ie.slider.initial.percH) : x - d - p - g - y) || "auto"), S = P || i / a, !e.is("img") || k.width || k.height || _ && (!_ || _.width || _.height) || s === i && o === a || (s !== i ? a = (i = 5 < s ? s : i) / (S = 5 < s ? b : S) : o !== a && (i = (a = 5 < o ? o : a) * (S = 5 < o ? o : S))), parseFloat(e.css("opacity")), r = f + l + i + u + v, n = g + d + a + p + y, t = "" !== k.clip && k.clip, k.clip = "", m = k.webkitFilter || k.filter;
                        var z = function(e) {
                            var t = e;
                            return e && -1 !== e.indexOf("px ") && (e = e.replace("px", "").split(" "), t = Math.round(parseInt(e[0]) / i * 100) + "%"), t
                        };
                        C.original = {
                            clip: t,
                            clipShouldBeConverted: !1,
                            left: k.left ? k.left : "0",
                            top: k.top ? k.top : "0",
                            width: Math.ceil(i),
                            height: Math.ceil(a),
                            percentWidth: O,
                            percentHeight: L,
                            outerWidth: r,
                            outerHeight: n,
                            styleWidth: k.width,
                            styleHeight: k.height,
                            ratio: S,
                            paddingLeft: l,
                            paddingTop: d,
                            paddingRight: u,
                            paddingBottom: p,
                            marginLeft: c,
                            marginTop: h,
                            borderLeftWidth: f,
                            borderTopWidth: g,
                            borderRightWidth: v,
                            borderBottomWidth: y,
                            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: m,
                            backgroundColor: e.css("background-color"),
                            dataLS: e.attr("data-ls") || "",
                            styles: e.attr("style") || ""
                        }, k.zIndex = "auto", C.responsive = {
                            left: k.left ? k.left : "0",
                            top: k.top ? k.top : "0",
                            width: i,
                            height: a
                        }
                    },
                    properties: function(e, t, i) {
                        var a = e.data(ie.defaults.init.dataKey);
                        e.data("ls");
                        if (a.is.textLayer = !e.is("img") && !a.is.mediaLayer, (a.self = e).data("ls"))
                            for (var s = ie.defaults.layer.keys, o = e.data("ls").split(";"), r = e.data("ls").toLowerCase().split(";"), n = 0; n < r.length; n++)
                                if (se.trim(r[n])) {
                                    var l = r[n].indexOf(":"),
                                        d = [r[n].substring(0, l), r[n].substring(l + 1)],
                                        u = null,
                                        p = null,
                                        c = null,
                                        h = null,
                                        m = null;
                                    if ("" !== (u = se.trim(d[0])))
                                        if (void 0 !== s[u = u.replace("split", "text")]) {
                                            if (p = s[u][0], m = "overlay" === u ? se.trim(o[n].substring(l + 1)) : ie.functions.convert.properties(se.trim(d[1])), d[1] && -1 !== d[1].indexOf("random") && (u.match(/(text)/) || (m = ie.functions.convert.randomProperties(m, p)), a.should.update || (a.should.update = !0)), "number" == typeof m && p.match(/(duration|startat|shift|delay)/i) && (m /= 1e3), u.match(/(fade)(.+)/)) switch (m) {
                                                case !0:
                                                    m = 0;
                                                    break;
                                                case !1:
                                                    m = 1
                                            }
                                            void 0 !== (h = s[u][1]) ? "" !== m ? "object" == typeof m ? u.match(/(text)/) ? h.match(/(converted)/i) ? a[h][p] = m : a[h].cycle[p] = m : (c = ie.functions.convert.properties(se.trim(m[0])), ie.debugMode && ie.debug.add("warn", "layerInit.prop1", [u, m, c]), "number" == typeof c && p.match(/(duration|startat|shift|delay)/i) && (c /= 1e3), a[h][p] = c) : u.match(/(text)/) && -1 !== m.toString().indexOf("random") ? a[h].random[p] = m : a[h][p] = m : ie.debugMode && ie.debug.add("warn", "layerInit.prop2", u) : a[p][u] = m
                                        } else "clip" === u ? (a.original.clip = d[1], a.original.clipShouldBeConverted = !0) : ie.debugMode && ie.debug.add("warn", "layerInit.prop4", u)
                                }
                        if (ie.browser.isOld && (a.in.enabled = !0, a.textIn.enabled = !1, a.textOut.enabled = !1, a.textIn.type = null, a.textOut.type = null), a.in.enabled && (a.inLayerTo.ease = a.inLayerStyleTo.ease = a.inClipTo.ease = ie.functions.convert.easing(a.in.ease)), void 0 !== a.inLayerStyleShouldBeConvertedFrom.borderRadius && (a.inLayerStyleShouldBeConvertedTo.borderRadius = a.original.borderRadius), void 0 !== a.outLayerStyleShouldBeConvertedTo.borderRadius && (a.outLayerStyleShouldBeConvertedFrom.borderRadius = a.original.borderRadius), a.inLayerStyleFromCSS.backgroundColor && (a.inLayerStyleToCSS.backgroundColor = a.original.backgroundColor), a.outLayerStyleToCSS.backgroundColor && (a.outLayerStyleFromCSS.backgroundColor = a.original.backgroundColor), a.inLayerStyleFromCSS.color && (a.inLayerStyleToCSS.color = a.original.color), a.outLayerStyleToCSS.color && (a.outLayerStyleFromCSS.color = a.original.color), void 0 !== a.inLayerStyleShouldBeConvertedFrom.width && (a.inLayerStyleShouldBeConvertedTo.width = a.original.width), void 0 !== a.outLayerStyleShouldBeConvertedTo.width && (a.outLayerStyleShouldBeConvertedFrom.width = a.original.width), void 0 !== a.inLayerStyleShouldBeConvertedFrom.height && (a.inLayerStyleShouldBeConvertedTo.height = a.original.height), void 0 !== a.outLayerStyleShouldBeConvertedTo.height && (a.outLayerStyleShouldBeConvertedFrom.height = a.original.height), void 0 !== a.out.showUntil && 0 !== a.out.showUntil && (a.out.startAt = "transitioninend + " + a.out.showUntil), -1 !== a.out.startAt.indexOf("slidechangeonly") && "slidechangeonly" !== a.out.startAt && (a.out.startAt = "slidechangeonly"), a.out.enabled && (a.outLayerTo.ease = a.outLayerStyleTo.ease = a.outClipTo.ease = ie.functions.convert.easing(a.out.ease)), se.isNumeric(a.loop.count) && (0 < a.loop.count || -1 === a.loop.count) && !1 !== a.loop.enabled ? (a.loop.enabled = !0, a.loopTo.ease = a.loopClipTo.ease = ie.functions.convert.easing(a.loop.ease), -1 !== a.loop.count ? a.loop.yoyo ? a.loop.repeat = 2 * a.loop.count - 1 : a.loop.repeat = a.loop.count - 1 : a.loop.repeat = -1) : a.loop.enabled = !1, (!se.isEmptyObject(a.hoverToCSS) || a.hoverShouldBeConverted.x || a.hoverShouldBeConverted.y || a.hoverShouldBeConverted.borderRadius || a.hoverShouldBeConverted.filter) && !1 !== a.hover.enabled ? (a.hover.enabled = !0, a.hover.easeOut || (a.hover.easeOut = a.hover.easeIn), a.hover.easeIn = ie.functions.convert.easing(a.hover.easeIn), a.hover.easeOut = ie.functions.convert.easing(a.hover.easeOut, !0), a.hover.durationOut || (a.hover.durationOut = a.hover.durationIn), ae.TweenMax.set(e[0], {
                                autoCSS: !1,
                                css: {
                                    transformPerspective: a.hoverShouldBeConverted.transformPerspective
                                }
                            })) : a.hover.enabled = !1, a.parallax.level && se.isNumeric(a.parallax.level) && 0 !== a.parallax.level && !1 !== a.parallax.enabled ? a.parallax.enabled = !0 : a.parallax.enabled = !1, a.is.slideBackground) {
                            var f = {
                                scale: 1,
                                rotation: 0
                            };
                            if (ie.slides[t].kenBurns.zoom && (a.kenBurns = ie.slides[t].kenBurns), a.kenBurns.zoom) {
                                switch (a.kenBurns.from = {}, a.kenBurns.to = {}, a.kenBurns.zoom) {
                                    case "out":
                                        a.kenBurns.from.scale = a.kenBurns.scale || 1, a.kenBurns.from.rotation = a.kenBurns.rotation || 0, a.kenBurns.to = f;
                                        break;
                                    case "in":
                                        a.kenBurns.from = f, a.kenBurns.to.scale = a.kenBurns.scale || 1, a.kenBurns.to.rotation = a.kenBurns.rotation || 0
                                }
                                delete a.kenBurns.scale, delete a.kenBurns.rotation
                            } else a.kenBurns.from = f, a.kenBurns.to = f;
                            se.isEmptyObject(ie.slides[t].filter) || (ie.slides[t].filter.from && (a.filter.values.bgFrom = ie.transitions.layers.filters.convert(ie.slides[t].filter.from)), ie.slides[t].filter.to && (a.filter.values.bgTo = ie.transitions.layers.filters.convert(ie.slides[t].filter.to)))
                        }
                        if (a.textIn.type && -1 === ie.defaults.layer.splitTypeKeys.indexOf(a.textIn.type) && (ie.debugMode && ie.debug.add("warn", "layerInit.splitType3a", [e[0].tagName, a.textIn.type]), delete a.textIn.type, delete a.textIn.ns, a.textIn.enabled = !1), a.textOut.type && -1 === ie.defaults.layer.splitTypeKeys.indexOf(a.textOut.type) && (ie.debugMode && ie.debug.add("warn", "layerInit.splitType3b", [e[0].tagName, a.textOut.type]), delete a.textOut.type, delete a.textOut.ns, a.textOut.enabled = !1), a.textIn.type || a.textOut.type) {
                            var g = 0;
                            if (a.is.textLayer ? (a.textIn.type && (a.textIn.enabled = !0, a.textInNodesTo.ease = ie.functions.convert.easing(a.textInNodesTo.ease), a.textIn.split = a.textIn.type.split("_")[0], e.children().length && ie.debugMode && (g = 1)), a.textOut.type && (a.textOut.enabled = !0, a.textOutNodesTo.ease = ie.functions.convert.easing(a.textOutNodesTo.ease)), a.textOut.enabled && a.textOut.type.split("_")[0] !== a.textIn.split && (a.textIn.split += ", " + a.textOut.type.split("_")[0], e.children().length && ie.debugMode && (g = 1)), -1 !== a.textIn.split.indexOf("chars") && -1 === a.textIn.split.indexOf("words") && (a.textIn.split += ", words"), -1 !== a.textIn.split.indexOf("words") && -1 === a.textIn.split.indexOf("lines") && (a.textIn.split += ", lines")) : (delete a.textIn.type, delete a.textOut.type, delete a.textIn.ns, delete a.textOut.ns, ie.debugMode && (g = 2)), ie.debugMode && 0 !== g && t && !i) switch (g) {
                                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")])
                            }
                        }
                        if ((a.original.clip || a.inClipShouldBeConverted.clip || a.outClipShouldBeConverted.clip || a.loopClipShouldBeConverted.clip) && (a.clip.enabled = !0), a.in.enabled && a.inLayerToCSS.scale && (delete a.inLayerToCSS.scaleX, delete a.inLayerToCSS.scaleY), a.out.enabled && a.outLayerToCSS.scale && (delete a.outLayerToCSS.scaleX, delete a.outLayerToCSS.scaleY), a.inLayerStyleShouldBeConvertedFrom.filter && (a.filter.values.in = ie.transitions.layers.filters.convert(a.inLayerStyleShouldBeConvertedFrom.filter)), a.filter.values.style = ie.transitions.layers.filters.convert(a.original.filter), a.outLayerStyleShouldBeConvertedTo.filter && (a.filter.values.out = ie.transitions.layers.filters.convert(a.outLayerStyleShouldBeConvertedTo.filter)), a.loopLayerShouldBeConverted.filter && (a.filter.values.loop = ie.transitions.layers.filters.convert(a.loopLayerShouldBeConverted.filter)), a.hoverShouldBeConverted.filter && (a.filter.values.hover = ie.transitions.layers.filters.convert(a.hoverShouldBeConverted.filter)), a.in.enabled || (a.in.duration = 0), a.textIn.enabled || (a.textIn.duration = 0), a.loop.enabled || (a.loop.duration = 0), a.textOut.enabled || (a.textOut.duration = 0), a.out.enabled || (a.out.duration = 0), e.attr("data-ls-slidein", t), void 0 !== a.settings.static && "none" !== a.settings.static) {
                            var v = parseInt(a.settings.static);
                            0 !== v && "forever" !== a.settings.static ? (e.attr("data-ls-slideout", v), a.settings.slideOut = v) : a.settings.slideOut = 0, a.is.static = !0, e.attr("data-ls-static", "1")
                        } else e.attr("data-ls-slideout", t);
                        a.is.mediaLayer && e.children("video, audio").length && ie.media.html5.singleInit(e.children("video, audio").eq(0)), a.is.backgroundVideo && a.styleSettings.overlay && e.find(".ls-bg-video-overlay").css({
                            backgroundImage: "url(" + a.styleSettings.overlay + ")"
                        }), a.styleSettings.minfontsize && (a.styleSettings.minfontsize = parseFloat(a.styleSettings.minfontsize)), a.styleSettings.minmobilefontsize && (a.styleSettings.minmobilefontsize = parseFloat(a.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 = this.$all;
                    if (e) {
                        var i = "in",
                            a = "",
                            s = "",
                            o = ':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") && (s += ", > video", e = e.replace("video", "")), -1 != e.indexOf("audio") && (s += ", > audio", e = e.replace("audio", "")), -1 != e.indexOf("html5") && (s += ", > video, > audio", e = e.replace("html5", "")), -1 != e.indexOf("youtube") && (s += ', > 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") && (s += ', > iframe[src*="player.vimeo"], > iframe[data-src*="player.vimeo"]', e = e.replace("vimeo", "")), "," == s.charAt(0) && (s = s.substring(2, s.length)), -1 != e.indexOf("out") && (i = "out"), -1 == e.indexOf("img") && -1 == e.indexOf("image") || (a = "img"), -1 == e.indexOf("bg") && -1 == e.indexOf("background") && -1 == e.indexOf("bgonly") || (o = ""), t = -1 != e.indexOf("current") ? t.filter(a + "[data-ls-slide" + i + '="' + ie.slides.current.index + '"]' + o + r) : -1 != e.indexOf("next") ? t.filter(a + "[data-ls-slide" + i + '="' + ie.slides.next.index + '"]' + o + r) : t.filter(a + o + r), -1 != e.indexOf("notactive") && (t = t.filter(".ls-bg, .ls-bg-video, :hidden"), e = e.replace("notactive", "")), -1 != e.indexOf("active") && (t = t.filter(":visible:not(.ls-bg, .ls-bg-video)"), e = e.replace("active", "")), -1 != e.indexOf("notstatic") && (t = t.filter(':not([data-ls-static="1"])'), e = e.replace("notstatic", "")), -1 != e.indexOf("static") && (t = t.filter('[data-ls-static="1"]'), e = e.replace("static", "")), -1 != e.indexOf("bgonly") && (t = t.filter(".ls-bg"), e = e.replace("bgonly", "")), "" !== s && (t = t.find(s))
                    }
                    return t
                },
                update: {
                    data: function(e, t, i) {
                        var a, s, o;
                        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, o = 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 = o,
                                ie.layers.set.properties(e, a, !0),
                                ie.layers.set.wrappers(e, s, a)
                        }
                    }
                },
                wrap: function(h, e) {
                    if (!ie.slides[h].wrapped && "wrapping" !== ie.slides[h].wrapped) {
                        ie.slides[h].wrapped = "wrapping";
                        var 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,
                                    o = "";
                                t.hasClass("ls-hide-phone") && (o += " ls-hide-on-phone"), t.hasClass("ls-hide-tablet") && (o += " ls-hide-on-tablet"), t.hasClass("ls-hide-desktop") && (o += " 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 r = t.data(ie.defaults.init.dataKey);
                                if (!r) return !0;
                                if (e = ie.slider.$layersWrapper, r.is.backgroundVideo ? e = ie.slider.$bgVideosWrapper : r.is.slideBackground && (e = ie.slider.$slideBGWrapper), ie.layers.set.style(t), ie.layers.set.properties(t, h), ie.layers.set.dataAttribute(t, "hidden"), r.textIn.split) {
                                    var n = new SplitType(t[0], {
                                        split: r.textIn.split
                                    });
                                    r.textIn.type && (r.textIn.ns = n[r.textIn.type.split("_")[0]]), r.textOut.type && (r.textOut.ns = n[r.textOut.type.split("_")[0]])
                                }
                                a = r.is.slideBackground || r.is.backgroundVideo ? '<div class="ls-wrapper ls-bg-outer"><div class="ls-wrapper ls-bg-wrap"></div></div>' : (r.clip.enabled && (a = '<div class="ls-wrapper ls-clip"></div>'), r.loop.enabled && (a = '<div class="ls-wrapper ls-loop">' + a + "</div>"), '<div class="ls-wrapper ls-in-out">' + a + "</div>"), r.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")), r.original.customZIndex = 1;
                                var u = parseInt(r.original.zIndex);
                                r.is.backgroundVideo ? l = {
                                    zIndex: r.original.customZIndex
                                } : r.is.slideBackground ? l = {
                                    zIndex: r.original.customZIndex
                                } : (u || (u = p + 101), l.zIndex = u, r.original.customZIndex = u), ie.browser.isSafari && (l.transform = "translateZ(" + 3e3 * u + "px )"), ie.layers.set.wrappers(t, r, h), r.elements.$outerWrapper.css(l).addClass(o), r.is.slideBackground && r.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,
                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 o = 0; o < a; o++) ie.slideshow.sequence.normalized.push(t[o])
                    },
                    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 = !ie.browser.isChrome(), 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: {
                    dataAttribute: function(e, t) {
                        e.removeAttr("data-ls-playing data-ls-not-playing"), e.attr("data-ls-" + t, ""), ie.media.functions.checkSlideshowWaiting()
                    },
                    backgroundVideo: function(e, t) {
                        if (e.data("ls") && -1 !== e.data("ls").indexOf("poster:") && 0 == e.children(".ls-vpcontainer").length) {
                            var i = se("<div>").addClass("ls-vpcontainer").appendTo(e),
                                a = e.data("ls").split("poster:")[1].split(";")[0].trim();
                            se("<div>").appendTo(i).addClass("ls-videopreview").attr({
                                style: "background-image: url(" + a + ")"
                            })
                        }
                    },
                    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)
                        }
                    },
                    mediaElements: function(e, t, i) {
                        var a = se("<div>").addClass("ls-vpcontainer").appendTo(e),
                            s = !!i.mediaProperties.thumbnailURL && i.mediaProperties.thumbnailURL;
                        !("autoplay" in i.mediaSettings) && ie.o.autoPlayVideos || i.mediaSettings.autoplay ? e.addClass("ls-autoplay") : se("<div>").appendTo(a).addClass("ls-playvideo"), e.data("ls") && -1 !== e.data("ls").indexOf("poster:") && (s = e.data("ls").split("poster:")[1].split(";")[0].trim()), t.is("iframe") ? se("<div>").appendTo(a).addClass("ls-videopreview").attr({
                            style: "background-image: url(" + s + ")"
                        }) : (s || void 0 === t.attr("poster") || (s = t.attr("poster"), t.removeAttr("poster")), s && se("<div>").appendTo(a).addClass("ls-videopreview").attr({
                            style: "background-image: url(" + s + ")"
                        }))
                    },
                    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) {
                        if (ie.api.hasEvent("mediaDidStart") && !i.mediaProperties.alreadyStarted && ie.media.functions.allowedToPlay(e, i)) {
                            var a = ie.api.eventData();
                            a.event.target = e[0], _.triggerHandler("mediaDidStart", a), i.mediaProperties.alreadyStarted = !0
                        }
                    },
                    stop: function(e, t, i) {
                        if (ie.api.hasEvent("mediaDidStop") && i.mediaProperties.alreadyStarted) {
                            var a = ie.api.eventData();
                            a.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 n = 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-" + ++n,
                                    allow: "accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; fullscreen",
                                    allowfullscreen: ""
                                }),
                                t = e.closest(".ls-layer"),
                                i = t.data(ie.defaults.init.dataKey),
                                a = e.attr("src") || e.attr("data-src"),
                                s = ie.media.functions.urlToObject(a),
                                o = (a = a.split("?")[0].split("//")[1]).split("/"),
                                r = o[o.length - 1];
                            i.mediaProperties = {
                                type: "youtube",
                                $media: e,
                                embedURL: a,
                                embedID: r,
                                embedOptions: s,
                                thumbnailURL: "https://img.youtube.com/vi/" + a.split("embed/")[1].split("?")[0] + "/" + ie.o.youtubePreview
                            }, ie.media.set.properties(t, e, i)
                        }), 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, e) {
                        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() {
                                        a.mediaProperties.playerState = "ready", a.mediaSettings.volume && a.mediaProperties.player.setVolume(a.mediaSettings.volume), e && !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.lastStared = Date.now();
                                                break;
                                            case 2:
                                            case -1:
                                                (a.mediaProperties.firstState && 0 !== a.mediaProperties.lastState && 1 !== a.mediaProperties.lastState || a.mediaProperties.lastStared && Date.now() - a.mediaProperties.lastStared < 50) && ie.media.youtube.play(t, i, a, s, !0)
                                        }
                                        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 e = this.$medias = ie.slider.$hiddenWrapper.find('iframe[src*="player.vimeo"], iframe[data-src*="player.vimeo"]'),
                            n = ie.slider.$hiddenWrapper.find('.ls-slide:eq(0) iframe[src*="player.vimeo"], .ls-slide:eq(0) iframe[data-src*="player.vimeo"]').length;
                        if (e.length) {
                            ie.timeouts.loadVimeo = Math.floor(Date.now() / 1e3), ie.media.properties.$allMediaLayers = ie.media.properties.$allMediaLayers.add(e.closest(".ls-layer"));
                            var l = 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, t())
                            }, 25);
                            var t = function() {
                                var r = 0;
                                ie.media.vimeo.$medias.each(function() {
                                    var t = se(this).attr({
                                            id: "ls-vimeo-" + ++l,
                                            allow: "accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; fullscreen",
                                            allowfullscreen: ""
                                        }),
                                        i = t.closest(".ls-layer"),
                                        a = i.data(ie.defaults.init.dataKey),
                                        s = t.attr("src") || t.attr("data-src"),
                                        o = ie.media.functions.urlToObject(s),
                                        e = "https://vimeo.com/api/v2/video/" + s.split("video/")[1].split("?")[0] + ".json?callback=?";
                                    s = s.split("?")[0].split("//")[1], ie.media.vimeo.defaults.player_id = "ls-vimeo-" + l, se.getJSON(e, function(e) {
                                        a.mediaProperties = {
                                            type: "vimeo",
                                            $media: t,
                                            embedURL: s,
                                            embedOptions: o,
                                            thumbnailURL: e[0].thumbnail_large
                                        }, (0 === n || 0 < n && "1" == i.attr("data-ls-slidein") && ++r == n) && (window._layerSlider.globals.vimeoIsReady = !0), ie.media.set.properties(i, t, a)
                                    }), 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, s)
                                    }).on("playBackgroundVideo." + z, function() {
                                        ie.media.vimeo.play(i, t, a, s), 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, s, !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), 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 && 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) {
                            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 i = t.closest(".ls-layer"),
                            a = i.data(ie.defaults.init.dataKey),
                            e = t.find("source");
                        a.mediaProperties = {
                            type: "html5",
                            $media: t,
                            saved: {}
                        }, e.each(function() {
                            "" !== t[0].canPlayType(se(this).attr("type")) && (a.mediaProperties.canBePlayed = !0)
                        }), a.mediaProperties.canBePlayed && (ie.media.set.properties(i, t, a), t.on("ended." + z, function() {
                            ie.media.functions.mediaEnded(t, i, a)
                        }).on("play." + z, function() {}).on("playing." + z, function() {
                            ie.media.events.start(t, i, a), ie.media.set.dataAttribute(t, "playing")
                        }).on("pause." + z, function() {
                            ie.media.set.dataAttribute(t, "not-playing")
                        }), i.on("playMedia." + z + " click." + z, ".ls-vpcontainer", function(e) {
                            ie.media.set.thumbnail(se(this), "hide"), ie.media.functions.checkSlideshowState(i, a), ie.media.functions.removeFromTimeline(i), ie.media.html5.play(i, t, a)
                        }).on("playBackgroundVideo." + z, function() {
                            ie.media.html5.play(i, t, a), ie.layers.set.dataAttribute(i, "active")
                        }).on("stopBackgroundVideo." + z, function() {
                            ie.media.html5.stop(i, t, a, !0), ie.layers.set.dataAttribute(i, "hidden")
                        }))
                    },
                    init: function() {
                        var e = ie.slider.$hiddenWrapper.find("video, audio");
                        if (ie.media.properties.$allMediaLayers = ie.media.properties.$allMediaLayers.add(e.closest(".ls-layer")), e.length) {
                            var t = 0;
                            e.each(function() {
                                se(this).closest(".ls-layer").data(ie.defaults.init.dataKey).is.mediaLayer = !0, se(this).attr("id", "ls-html5-" + ++t).attr("playsinline", ""), se(this)[0].pause()
                            })
                        }
                    },
                    play: function(e, t, i) {
                        if (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)));
                            var a = t[0].play();
                            void 0 !== a && a.then(function(e) {}).catch(function(e) {
                                t[0].muted = !0, t[0].play(), 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() {
                                if (!_.find(".ls-thumbnail-slide-container").hasClass("ls-thumbnail-slide-hover")) {
                                    var e = !!_.find(".ls-thumb-active").length && _.find(".ls-thumb-active").parent();
                                    if (e) {
                                        var t = e.position().left + e.width() / 2,
                                            i = _.find(".ls-thumbnail-slide-container").width() / 2 - t;
                                        i = 0 < (i = i < _.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() {
                        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: [],
                        create: function(e) {
                            var i, a = se(document),
                                s = this,
                                o = function(e, t) {
                                    (i = (e.pageX ? e.pageX : ie.device.touchX) - s.$element[t].offset().left - s.sliderContainerElementWidth[t] / 2) < 0 && (i = 0), i > s.containerElementWidth[t] - s.sliderContainerElementWidth[t] && (i = "calc( 100% - " + ie.gui.timers.slidebar.sliderContainerElementWidth[t] + "px )"), s.$sliderContainerElement[t].css({
                                        left: i
                                    }), ie.transitions._slideTimeline && ie.transitions._slideTimeline.progress("string" == typeof i ? ie.transitions.layers.timeline.progress : i / (s.containerElementWidth[t] - s.sliderContainerElementWidth[t]) * ie.transitions.layers.timeline.progress)
                                };
                            se.each(e, function(t, e) {
                                s.$containerElement[t] = se(e).addClass("ls-slidebar-container " + z), s.$element[t] = se("<div>").addClass("ls-slidebar").appendTo(s.$containerElement[t]), s.$progressBarElement[t] = se("<div>").addClass("ls-progressbar").appendTo(s.$element[t]), s.$sliderContainerElement[t] = se("<div>").addClass("ls-slidebar-slider-container").appendTo(s.$containerElement[t]), s.$sliderElement[t] = se("<div>").addClass("ls-slidebar-slider").appendTo(s.$sliderContainerElement[t]), s.sliderContainerElementWidth[t] = s.$sliderContainerElement[t].width(), s.$sliderContainerElement[t].css({
                                    marginTop: -s.$sliderElement[t].outerHeight() / 2
                                }), s.$containerElement[t].on("touchmove." + z, function(e) {
                                    o(e, t)
                                }), s.$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) {
                                        o(e, t)
                                    }), o(e, t)
                                }), a = a.add(s.$sliderElement[t])
                            }), a.on("mouseup." + z + "touchend." + z, function(e) {
                                se(e.target).closest(_).length || (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()))
                            })
                        }
                    }
                },
                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 = se(this),
                            t = e[0],
                            i = {};
                        if (e.is(".ls-layer, .ls-bg")) {
                            if (t.getAttribute("width") && (i.width = t.getAttribute("width")), t.getAttribute("height") && (i.height = t.getAttribute("height")), t.sizes && (i.sizes = t.sizes), t.srcset && ie.o.useSrcset) {
                                i.srcSet = t.srcset, i.curSrc = t.currentSrc;
                                var a = i.srcSet.split(",").map(function(e) {
                                    return parseInt(se.trim(e).split(" ")[1])
                                });
                                i.maxWidth = Math.max.apply(null, a)
                            }
                            e.removeAttr("width").removeAttr("height").removeAttr("sizes").removeAttr("srcset"), se.isEmptyObject(i) || (e.data(ie.defaults.init.dataKey).attributes = i)
                        }
                        e.data("lazy-src") && e.data("src", e.data("lazy-src")), e.data("src") ? i.curSrc && e.data("src", i.curSrc) : e.data("src", i.curSrc ? i.curSrc : t.src), e.attr("src", "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")
                    })
                },
                imagesOfSlide: function(e, t) {
                    if (!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 = [];
                        var a, s, o = this;
                        ie.slider.$hiddenWrapper.find(".ls-slide:eq(" + (o.slideIndex - 1) + ") *").each(function() {
                            a = se(this), s = this;
                            var e = a.data(ie.defaults.init.dataKey);
                            if (a.is("img")) {
                                a.data("src") && a.attr("src", a.data("src")), e && e.attributes && e.attributes.srcSet && ie.o.useSrcset && (s.srcset = e.attributes.srcSet);
                                var t = s.src,
                                    i = !!(e && e.attributes && e.attributes.curSrc) && e.attributes.curSrc;
                                i && t !== i && a.is(".ls-bg") && (t = i, ie.slides[o.slideIndex].data.$background.attr("src", t)), ie.preload.preImages.push([t, a])
                            } else "none" !== a.css("background-image") && -1 !== a.css("background-image").indexOf("url") && ie.preload.preImages.push([a.css("background-image").match(/url\((.*)\)/)[1].replace(/"/gi, ""), a])
                        }), 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()
                    } else 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()
                        }, o = 0; o < this.preImages.length; o++) {
                        var r = new Image;
                        r.addEventListener("error", s, !1), r.addEventListener("load", a, !1), r.src = this.preImages[o][0], r.originalLayer = this.preImages[o][1]
                    }
                },
                onComplete: function() {
                    var s = this;
                    this.onCompleteCallback ? (ie.layers.wrap(this.slideIndex), function e() {
                        if (0 !== ie.slides[s.slideIndex].$layers.length) ie.timeouts.waitForWrap = setTimeout(e, 100);
                        else {
                            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;
                            var 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 = ie.slider.$parentWithNumericWidthValue ? ie.slider.$parentWithNumericWidthValue : ie.functions.getSliderClosestParentElementWidthNumericValueOfProperty("width"),
                        i = ie.slider.initial,
                        a = ie.slider.$parentWithNumericWidthValuePercent ? t.width() / 100 * ie.slider.$parentWithNumericWidthValuePercent : t.width(),
                        s = i.type,
                        o = 0 !== i.maxWidth ? i.maxWidth : a,
                        r = "auto" === i.marginLeft ? 0 : i.marginLeft,
                        n = "auto" === i.marginRight ? 0 : i.marginRight;
                    if (ie.slider.state.inFullscreen ? _[0].style.maxWidth = "" : 0 !== i.maxWidth && (_[0].style.maxWidth = i.maxWidth + "px"), -1 !== o.indexOf("%") && (o = a / 100 * parseInt(o)), o < (a -= r + n) && 0 <= o && (a = o), ie.o.fitScreenWidth && ("fullwidth" === s || "fullsize" === s && "fitheight" !== ie.o.fullSizeMode && "fitwidth" !== ie.o.fullSizeMode)) {
                        _.parent();
                        var l = t.offset().left,
                            d = parseInt(t.css("padding-left")) || 0,
                            u = parseInt(t.css("border-left-width")) || 0;
                        _[0].style.maxWidth = "none", _[0].style.marginLeft = -(l + d + u) + "px", a = ie.device.viewportWidth || se(window).width()
                    }
                    switch (a -= i.skinWidth, ie.slider.state.inFullscreen && (a = ie.device.width), s) {
                        case "responsive":
                            e = (ie.slider.state.inFullscreen ? (ie.device.ratio > i.ratio ? this.ratio = ie.device.height / i.height : this.ratio = ie.device.width / i.width, a = Math.round(i.width * this.ratio)) : this.ratio = a / i.width, Math.round(i.height * this.ratio));
                            break;
                        case "fullwidth":
                            e = a < ie.o.responsiveUnder ? (this.ratio = a / ie.o.responsiveUnder, Math.round(i.height * this.ratio)) : ie.slider.state.inFullscreen ? ie.device.ratio > i.layersWidth / i.height ? (this.ratio = ie.device.height / i.height, ie.device.height) : (this.ratio = ie.device.width / i.layersWidth, i.height * this.ratio) : (this.ratio = 1, i.height);
                            break;
                        case "fullsize":
                            switch (ie.o.fullSizeMode.toLowerCase()) {
                                case "normal":
                                    e = ie.device.viewportHeight - i.skinHeight;
                                    break;
                                case "hero":
                                    e = ie.device.viewportHeight - i.skinHeight, ie.slider.state.inFullscreen || (e -= ie.slider.heroTop ? ie.slider.heroTop : ie.slider.offsetTop);
                                    break;
                                case "fitheight":
                                    a = _.parent().width() - i.skinWidth, e = _.parent().height() - i.skinHeight;
                                    break;
                                case "fitwidth":
                                    a = _.parent().width() - i.skinWidth, e = ie.device.viewportHeight - i.skinHeight
                            }
                            a / e < i.ratio ? this.ratio = a / i.layersWidth : this.ratio = e / i.layersHeight;
                            break;
                        case "fixed":
                        case "fixedsize":
                            this.ratio = 1, a = i.width, e = i.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 = a + "px", W.style.height = e + "px", ie.slider.width = a, 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, o = t.length; s < o; 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");
                        var t = this.ratio,
                            i = this.$responsiveLayers,
                            a = ie.slider.initial,
                            s = ie.slider.width,
                            o = ie.slider.height,
                            r = s / o,
                            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 ? (o - m * t) / 2 : 0) : (p = p < 0 ? 0 : p, c < 0 ? 0 : c);
                        for (var f = 0, g = i.length; f < g; f++) {
                            var v, y, b = se(i[f]),
                                S = (i[f], b.data(ie.defaults.init.dataKey)),
                                w = S.original,
                                x = "fixed" === S.settings.position,
                                T = x ? 0 : p,
                                C = x ? 0 : c,
                                k = {
                                    width: x && 0 !== w.percentWidth ? s / 100 * w.percentWidth : w.width * t,
                                    height: x && 0 !== w.percentHeight ? o / 100 * w.percentHeight : w.height * t,
                                    paddingLeft: w.paddingLeft * t,
                                    paddingTop: w.paddingTop * t,
                                    paddingRight: w.paddingRight * t,
                                    paddingBottom: w.paddingBottom * t,
                                    borderLeftWidth: Math.ceil(w.borderLeftWidth * t),
                                    borderTopWidth: Math.ceil(w.borderTopWidth * t),
                                    borderRightWidth: Math.ceil(w.borderRightWidth * t),
                                    borderBottomWidth: Math.ceil(w.borderBottomWidth * t),
                                    borderRadius: this.borderRadius(w.borderRadius)
                                },
                                I = {
                                    marginLeft: w.marginLeft * t,
                                    marginTop: w.marginTop * t
                                },
                                O = {},
                                L = {
                                    borderRadius: k.borderRadius
                                };
                            if (x && (w.percentHeight || w.percentWidth) && S.is.imageLayer && (w.percentHeight && !w.percentWidth && (k.width = w.width * (k.height / w.height)), w.percentWidth && !w.percentHeight && (k.height = w.height * (k.width / w.width))), ("number" == typeof w.width && w.width < 0 || "auto" == w.width) && ie.debugMode && ie.debug.add("warn", "resize.width", [f + 1, w.width]), ("number" == typeof w.height && w.height < 0 || "auto" == w.height) && ie.debugMode && ie.debug.add("warn", "resize.height", [f + 1, w.height]), S.is.textLayer && (k.fontSize = w.fontSize * t, ie.device.isMobile && k.fontSize < S.styleSettings.minmobilefontsize ? k.fontSize = S.styleSettings.minmobilefontsize : k.fontSize < S.styleSettings.minfontsize && (k.fontSize = S.styleSettings.minfontsize), y = k.fontSize / w.fontSize, k.fontSize += "px", "normal" !== w.lineHeight && (k.lineHeight = parseFloat(w.lineHeight) * y + "px"), "normal" !== w.letterSpacing && (k.letterSpacing = parseFloat(w.letterSpacing) * y + "px")), S.is.slideBackground || S.is.backgroundVideo)
                                if (S.is.slideBackground) {
                                    var P = ie.slides[S.is.onSlide].data.backgroundSize;
                                    switch ((void 0 !== P && "inherit" !== P ? P : ie.o.slideBGSize).replace("100% 100%", "stretch")) {
                                        case "auto":
                                            break;
                                        case "cover":
                                            w.ratio < r ? (k.width = s, k.height = k.width / w.ratio) : (k.height = o, k.width = k.height * w.ratio);
                                            break;
                                        case "contain":
                                            w.ratio < r ? (k.height = o, k.width = k.height * w.ratio) : (k.width = s, k.height = k.width / w.ratio);
                                            break;
                                        case "stretch":
                                            k.width = s, k.height = o
                                    }
                                    k.width = Math.round(k.width), k.height = Math.round(k.height);
                                    var $ = ie.slides[S.is.onSlide].data.backgroundPosition;
                                    switch ((v = void 0 !== $ ? $.split(" ") : ie.o.slideBGPosition.split(" "))[0]) {
                                        case "left":
                                            k.x = 0;
                                            break;
                                        case "center":
                                            k.x = (ie.slider.width - k.width) / 2;
                                            break;
                                        case "right":
                                            k.x = ie.slider.width - k.width;
                                            break;
                                        default:
                                            -1 !== v[0].indexOf("%") ? k.x = (ie.slider.width - k.width) / 100 * parseInt(v[0]) : k.x = parseInt(v[0])
                                    }
                                    if (void 0 !== v[1]) switch (v[1]) {
                                        case "top":
                                            k.y = 0;
                                            break;
                                        case "center":
                                            k.y = (ie.slider.height - k.height) / 2;
                                            break;
                                        case "bottom":
                                            k.y = ie.slider.height - k.height;
                                            break;
                                        default:
                                            -1 !== v[1].indexOf("%") ? k.y = (ie.slider.height - k.height) / 100 * parseInt(v[1]) : k.y = parseInt(v[1])
                                    }
                                    k.transform = "translateX(" + k.x + "px) translateY(" + k.y + "px)", k["-ms-transform"] = "translateX(" + k.x + "px) translateY(" + k.y + "px)", k["-webkit-transform"] = "translateX(" + k.x + "px) translateY(" + k.y + "px)"
                                } else S.is.backgroundVideo && (w.ratio < r ? (k.width = s, k.height = k.width / w.ratio) : (k.height = o, k.width = k.height * w.ratio), k.x = (ie.slider.width - k.width) / 2, k.y = (ie.slider.height - k.height) / 2, k.width = Math.round(k.width), k.height = Math.round(k.height), k.transform = "translateX(" + k.x + "px) translateY(" + k.y + "px)", k["-ms-transform"] = "translateX(" + k.x + "px) translateY(" + k.y + "px)", k["-webkit-transform"] = "translateX(" + k.x + "px) translateY(" + k.y + "px)");
                            else {
                                if (S.mediaSettings.fullsize) switch (S.mediaSettings.fillmode) {
                                    default:
                                        case "cover":
                                        w.ratio < r ? (k.width = s, k.height = k.width / w.ratio) : (k.height = o, k.width = k.height * w.ratio);
                                    break;
                                    case "contain":
                                            w.ratio > r ? (k.width = s, k.height = k.width / w.ratio) : (k.height = o, k.width = k.height * w.ratio)
                                }
                                k.outerWidth = k.width + k.paddingLeft + k.paddingRight + k.borderLeftWidth + k.borderRightWidth, k.outerHeight = k.height + k.paddingTop + k.paddingBottom + k.borderTopWidth + k.borderBottomWidth, I.width = O.width = k.outerWidth, I.height = O.height = k.outerHeight, -1 != w.left.indexOf("%") ? "100%" === w.left ? k.left = 0 === T ? ie.slider.width / 100 * parseFloat(w.left) - k.outerWidth : T + h * t / 100 * parseFloat(w.left) - k.outerWidth : "0%" === w.left ? k.left = 0 === T ? 0 : T : k.left = 0 === T ? ie.slider.width / 100 * parseFloat(w.left) - k.outerWidth / 2 : T + h * t / 100 * parseFloat(w.left) - k.outerWidth / 2 : k.left = T + parseFloat(w.left) * t, I.left = k.left, -1 != w.top.indexOf("%") ? "100%" === w.top ? k.top = 0 === C ? ie.slider.height / 100 * parseFloat(w.top) - k.outerHeight : C + m * t / 100 * parseFloat(w.top) - k.outerHeight : "0%" === w.top ? k.top = 0 === C ? 0 : C + 0 : k.top = 0 === C ? ie.slider.height / 100 * parseFloat(w.top) - k.outerHeight / 2 : C + m * t / 100 * parseFloat(w.top) - k.outerHeight / 2 : k.top = C + parseFloat(w.top) * t, I.top = k.top
                            }
                            S.responsive = k, n[f] = k, S.is.slideBackground || S.is.backgroundVideo || (S.settings.wrapperData.responsive = I, l[f] = I, d[f] = O, u[f] = L)
                        }
                        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 = [], o = 0; o < i.x.length; o++) "string" == typeof i.x[o] ? s[o] = this.getXY(e, i.x[o], "Width") : s[o] = i.x[o] * 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 r = [], n = 0; n < i.y.length; n++) "string" == typeof i.y[n] ? r[n] = this.getXY(e, i.y[n], "Height") : r[n] = i.y[n] * ie.resize.ratio;
                        t.cycle.y = r
                    } 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, o = Math.ceil(s.outerWidth), r = 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(r / 100 * parseInt(n[d]) * 100) / 100 + "px ";
                                break;
                            case 1:
                                l += i ? parseInt(100 * (o - o / 100 * parseInt(n[d]))) / 100 + "px " : parseInt(o / 100 * parseInt(n[d]) * 100) / 100 + "px ";
                                break;
                            case 2:
                                l += i ? parseInt(100 * (r - r / 100 * parseInt(n[d]))) / 100 + "px " : parseInt(r / 100 * parseInt(n[d]) * 100) / 100 + "px ";
                                break;
                            case 3:
                                l += parseInt(o / 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 ? o - a + " " : a + "px ";
                                break;
                            case 2:
                                l += i ? r - 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),
                        o = s.original,
                        r = s.responsive,
                        n = s.settings.wrapperData.responsive;
                    if (o && r && n) switch (t) {
                        case "left":
                            a = -1 != o.left.indexOf("%") ? "100%" === o.left ? -r.left - r.outerWidth - n.marginLeft : -parseInt(o.left) / 100 * ie.slider.width - r.outerWidth / 2 - n.marginLeft : -r.left - r.outerWidth - n.marginLeft;
                            break;
                        case "right":
                            a = -1 != o.left.indexOf("%") ? "100%" === o.left ? ie.slider.width - r.left - n.marginLeft : (1 - parseInt(o.left) / 100) * ie.slider.width + r.outerWidth / 2 - n.marginLeft : ie.slider.width - r.left - n.marginLeft;
                            break;
                        case "top":
                            a = -1 != o.top.indexOf("%") ? "100%" === o.top ? -r.top - r.outerHeight - n.marginTop : -parseInt(o.top) / 100 * ie.slider.height - r.outerHeight / 2 - n.marginTop : -r.top - r.outerHeight - n.marginTop;
                            break;
                        case "bottom":
                            a = -1 != o.top.indexOf("%") ? "100%" === o.top ? ie.slider.height - r.top - n.marginTop : (1 - parseInt(o.top) / 100) * ie.slider.height + r.outerHeight / 2 - n.marginTop : ie.slider.height - r.top - n.marginTop;
                            break;
                        case "width":
                            a = r.outerWidth;
                            break;
                        case "-width":
                            a = -r.outerWidth;
                            break;
                        case "height":
                            a = r.outerHeight;
                            break;
                        case "-height":
                            a = -r.outerHeight;
                            break;
                        default:
                            a = -1 !== t.indexOf("%") ? r["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("lw")[0]) / 100 * ie.slider.height : -1 !== t.indexOf("lw") ? r.outerWidth / 100 * parseInt(t.split("lw")[0]) : -1 !== t.indexOf("lh") ? r.outerHeight / 100 * parseInt(t.split("lj")[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() {
                    if (!document.body.contains(W)) return !1;
                    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(), this.slide.init()
                },
                slide: {
                    $wrapper: se(),
                    init: function() {
                        var e, t;
                        if (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) {
                            if (void 0 !== ie.transitions.nextSlide.data.$background) {
                                var i = ie.transitions.nextSlide.data.$background.data(ie.defaults.init.dataKey),
                                    a = i.kenBurns.zoom ? i.kenBurns.from.scale : 1,
                                    s = i.kenBurns.zoom ? i.kenBurns.from.rotation : 0,
                                    o = ie.transitions.nextSlide.filter.from || "none";
                                ie.transitions._slideTransition.set(ie.transitions.nextSlide.data.$background[0], {
                                    "-webkit-filter": o,
                                    filter: o
                                }, 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)
                        } else "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 = !(!ie.slides.current.index || !ie.slides.current.data.$backgroundVideo.length),
                            a = !(!ie.slides.next.index || !ie.slides.next.data.$backgroundVideo.length);
                        if (!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)) {
                            var s = ie.transitions._slideTransition.duration() / (.75 + ie.transitions.layers.timeline.timeScaleModifier);
                            s = s < .5 ? .5 : s, ie.transitions._slideTransition.duration(s)
                        }
                        var o, r = ie.transitions._slideTransition.duration() / ie.transitions._slideTransition.timeScale(),
                            n = r,
                            l = ie.transitions.nextSlide.data.timeShift;
                        0 < l ? l = 0 : l < 0 && Math.abs(l) > r && (l = -r), ie.transitions.nextSlide.data.calculatedTimeShift = l, o = ie.transitions.firstSlide ? ie.o.sliderFadeInDuration + .01 : (n + l) * ie.transitions._slideTransition.timeScale(), (i || a) && ie.transitions.media.changeBackgroundVideo(ie.transitions.firstSlide, !(!i || !a)), 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, o), ie.transitions._slideTransition.play(), 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.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() {
                                if (ie.o.slideTransition) ie.transitions.slide.normal.setTransition(ie.o.slideTransition.type, ie.o.slideTransition.obj);
                                else {
                                    var e, t, 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 = -1 == e.indexOf("custom") ? ie.t : ie.ct,
                                    s = "3d";
                                if (-1 != e.indexOf("2d") && (s = "2d"), -1 != t.indexOf("last")) i = a["t" + s].length - 1, "last";
                                else if (-1 != t.indexOf("all")) i = Math.floor(Math.random() * ie.functions.countProp(a["t" + s])), "random from all";
                                else {
                                    var o = t.split(","),
                                        r = o.length;
                                    i = parseInt(o[Math.floor(Math.random() * r)]) - 1, "random from specified"
                                }
                                void 0 === a["t" + s][i] && (ie.debugMode && ie.debug.add("warn", "slideTransition.customTransition", [s.toUpperCase() + (-1 === e.indexOf("custom") ? "" : " (CUSTOM)"), i + 1]), a = ie.t, e = s = "2d", i = 0), ie.debugMode && ie.debug.add("log", "slideTransition.info", [s.toUpperCase() + (-1 === e.indexOf("custom") ? "" : " (CUSTOM)"), i + 1, a["t" + s][i].name]), ie.transitions.slide.normal.setTransition(s, a["t" + s][i])
                            }
                        },
                        setTransition: function(e, t) {
                            var i, a, s, o, r = se.extend(!0, {
                                    cols: 1,
                                    rows: 1
                                }, t),
                                n = typeof r.cols,
                                l = typeof r.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 = r.cols;
                                    break;
                                case "string":
                                    n = Math.floor(Math.random() * (parseInt(r.cols.split(",")[1]) - parseInt(r.cols.split(",")[0]) + 1)) + parseInt(r.cols.split(",")[0]);
                                    break;
                                default:
                                    n = Math.floor(Math.random() * (r.cols[1] - r.cols[0] + 1)) + r.cols[0]
                            }
                            switch (l) {
                                case "number":
                                    l = r.rows;
                                    break;
                                case "string":
                                    l = Math.floor(Math.random() * (parseInt(r.rows.split(",")[1]) - parseInt(r.rows.split(",")[0]) + 1)) + parseInt(r.rows.split(",")[0]);
                                    break;
                                default:
                                    l = Math.floor(Math.random() * (r.rows[1] - r.rows[0] + 1)) + r.rows[0]
                            }
                            if (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, o = ie.slider.height - a * l, "prev" == u) {
                                r.tile && r.tile.sequence && (r.tile.sequence = {
                                    random: "random",
                                    forward: "reverse",
                                    reverse: "forward",
                                    "col-forward": "col-reverse",
                                    "col-reverse": "col-forward"
                                }[r.tile.sequence]), se.each(["animation", "before", "after"], function(e, t) {
                                    if (r[t] && r[t].transition) {
                                        var i = r[t].transition;
                                        i.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 = 0; g < n * l; g++) d.push(g);
                            switch (r.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)
                            }
                            if ("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) {
                                var v = -1 != r.name.toLowerCase().indexOf("carousel"),
                                    y = -1 != r.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 ? o : 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);
                                d[b];
                                if (p = b % n == 0 ? p + 1 : p, c = b % n == 0 ? 1 : c + 1, "3d" == e) {
                                    P.addClass("ls-3d-container");
                                    var $, B, M, W, _, z, F, D = i + O,
                                        R = a + L,
                                        A = new ae.TimelineMax;
                                    F = 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: F
                                    }), B = D / 2, M = R / 2, W = ($ = "horizontal" == r.animation.direction ? 90 < Math.abs(r.animation.transition.rotateY) && "large" != r.tile.depth ? Math.floor(D / 7) + O : D : 90 < Math.abs(r.animation.transition.rotateX) && "large" != r.tile.depth ? Math.floor(R / 7) + L : R) / 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"), D, R, 0, 0, W, 0, 0), "vertical" == r.animation.direction && 90 < Math.abs(r.animation.transition.rotateX) ? this.createCuboids("ls-3d-back", P.find(".ls-3d-box"), D, R, 0, 0, -W, 180, 0) : this.createCuboids("ls-3d-back", P.find(".ls-3d-box"), D, R, 0, 0, -W, 0, 180), this.createCuboids("ls-3d-left", P.find(".ls-3d-box"), $, R, -W, 0, 0, 0, -90), this.createCuboids("ls-3d-right", P.find(".ls-3d-box"), $, R, D - W, 0, 0, 0, 90), this.createCuboids("ls-3d-top", P.find(".ls-3d-box"), D, $, 0, -W, 0, 90, 0), this.createCuboids("ls-3d-bottom", P.find(".ls-3d-box"), D, $, 0, R - W, 0, -90, 0), S = P.find(".ls-3d-front"), w = "horizontal" == r.animation.direction ? 90 < Math.abs(r.animation.transition.rotateY) ? P.find(".ls-3d-back") : 0 < r.animation.transition.rotateY ? P.find(".ls-3d-left") : P.find(".ls-3d-right") : 90 < Math.abs(r.animation.transition.rotateX) ? P.find(".ls-3d-back") : 0 < r.animation.transition.rotateX ? P.find(".ls-3d-bottom") : P.find(".ls-3d-top"), _ = d[b] * r.tile.delay, z = ie.transitions.slide.$wrapper.find(".ls-3d-container:eq( " + b + " ) .ls-3d-box"), r.before && r.before.transition ? (r.before.transition.delay = r.before.transition.delay ? (r.before.transition.delay + _) / 1e3 : _ / 1e3, A.to(z[0], r.before.duration / 1e3, ie.functions.convert.transition(r.before.transition, r.before.easing))) : r.animation.transition.delay = r.animation.transition.delay ? (r.animation.transition.delay + _) / 1e3 : _ / 1e3, A.to(z[0], r.animation.duration / 1e3, ie.functions.convert.transition(r.animation.transition, r.animation.easing)), r.after && (r.after.transition || (r.after.transition = {}), A.to(z[0], r.after.duration / 1e3, ie.functions.convert.transition(r.after.transition, r.after.easing, "after"))), ie.transitions._slideTransition.add(A, 0)
                                } else {
                                    var V, N, E, H, X, Y, U, K, j = "auto",
                                        q = "auto",
                                        G = "auto",
                                        Q = "auto",
                                        Z = 1,
                                        J = 1,
                                        ee = {};
                                    switch (N = "random" == r.transition.direction ? (V = ["top", "bottom", "right", "left"])[Math.floor(Math.random() * V.length)] : r.transition.direction, -1 != r.name.toLowerCase().indexOf("mirror") && b % 2 == 0 && (u = "prev" == u ? "next" : "prev"), "prev" == u && (N = {
                                        top: "bottom",
                                        bottom: "top",
                                        left: "right",
                                        right: "left",
                                        topleft: "bottomright",
                                        topright: "bottomleft",
                                        bottomleft: "topright",
                                        bottomright: "topleft"
                                    }[N]), N) {
                                        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 = r.transition.scale ? r.transition.scale : 1, 1 == v && 1 != this.scale2D && (j /= 2, G /= 2, q /= 2, Q /= 2), r.transition.type) {
                                        case "fade":
                                            j = G = q = Q = 0, Z = 0, J = 1;
                                            break;
                                        case "mixed":
                                            Z = 0, (J = 1) == this.scale2D && (G = Q = 0)
                                    }
                                    if ((r.transition.rotate || r.transition.rotateX || r.transition.rotateY || 1 != this.scale2D) && "slide" != r.transition.type ? P.css({
                                            overflow: "visible"
                                        }) : P.css({
                                            overflow: "hidden"
                                        }), 1 == v ? this.$curTiles.css({
                                            overflow: "visible"
                                        }) : this.$curTiles.css({
                                            overflow: "hidden"
                                        }), !0 === y || "slide" == r.transition.type || !0 === v ? (E = P.appendTo(this.$curTiles), H = P.clone().appendTo(this.$nextTiles), S = se("<div>").addClass("ls-curtile").appendTo(E)) : H = P.appendTo(this.$nextTiles), w = se("<div>").addClass("ls-nexttile").appendTo(H), X = d[b] * r.tile.delay / 1e3, Y = r.transition.rotate ? r.transition.rotate : 0, U = r.transition.rotateX ? r.transition.rotateX : 0, K = r.transition.rotateY ? r.transition.rotateY : 0, "prev" == u && (Y = -Y, U = -U, K = -K), ie.transitions._slideTransition.fromTo(w[0], r.transition.duration / 1e3, {
                                            immediateRender: !1,
                                            autoCSS: !1,
                                            css: {
                                                x: -q,
                                                y: -j,
                                                display: "block",
                                                opacity: Z,
                                                rotation: Y,
                                                rotationX: U,
                                                rotationY: K,
                                                scale: this.scale2D
                                            }
                                        }, {
                                            autoCSS: !1,
                                            css: {
                                                x: 0,
                                                y: 0,
                                                opacity: J,
                                                rotation: 0,
                                                rotationX: 0,
                                                rotationY: 0,
                                                scale: 1
                                            },
                                            ease: ie.functions.convert.easing(r.transition.easing)
                                        }, X), 1 == y && (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" == r.transition.type || 1 == v) && -1 == r.name.toLowerCase().indexOf("mirror")) {
                                        var te = 0;
                                        0 !== Y && (te = -Y), ee.x = Q, ee.y = G, ee.rotation = te, ee.scale = this.scale2D, ee.opacity = Z
                                    }
                                    void 0 !== S && ie.transitions._slideTransition.to(S[0], r.transition.duration / 1e3, {
                                        autoCSS: !1,
                                        css: ee,
                                        ease: ie.functions.convert.easing(r.transition.easing)
                                    }, X)
                                }
                                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 === y || "slide" === r.transition.type || !0 === v) ? 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 === y || "slide" === r.transition.type || !0 === v) ? 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, o, r, n, l, d) {
                            var u = "translate3d( " + s + "px, " + o + "px, " + r + "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() {
                            if (ie.transitions._forceLayersOut) {
                                if (ie.transitions._slideTimeline) {
                                    var s, o, r = 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) {
                                            s = [t.elements.$wrapper[0]], t.elements.$clipWrapper && (s = s.concat(t.elements.$clipWrapper[0])), t.textIn.nodes && (s = s.concat(t.textIn.nodes));
                                            for (var i = 0; i < s.length; i++) n = n.concat(ie.transitions._slideTimeline.getTweensOf(s[i], !0));
                                            for (var a = 0; a < n.length; a++) n[a].duration && 0 !== n[a].duration() && (o = n[a], e = o, r.add(e, 100 - e.duration() * e.progress()))
                                        }
                                    }), i.each(function() {
                                        se(this).data(ie.defaults.init.dataKey).should.reset = !0
                                    }), r.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.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, o = e ? "current" : "next";
                            ie.transitions.curNext = o, 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(o + ", in, notactive"), i = ie.layers.get(o + ", out, notstatic").add(ie.layers.get(o + ", out, active, static")), a = ie.layers.get(o + ", 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), -1 !== ie.slides[o].data.duration && ie.slides[o].data.duration < this.totalDuration ? (this.progress = ie.slides[o].data.duration / this.totalDuration, ie.debugMode && ie.debug.add("warn", "slideTimeline.duration", [ie.slides[o].data.duration, this.totalDuration])) : ie.transitions._slideTimeline.duration() > this.totalDuration && (this.progress = this.totalDuration / ie.transitions._slideTimeline.duration()), -1 === ie.slides[o].data.duration ? (ie.slides[o].data.duration = this.totalDuration, ie.slides[ie.slides[o].index].data.duration = this.totalDuration) : this.totalDuration = ie.slides[o].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 r = 0; r < s.length; r++) se(s[r]).data(ie.defaults.init.dataKey).parallax.enabled && se(s[r]).data(ie.defaults.init.dataKey).elements.$parallaxWrapper.attr("data-ls-parallax", "active");
                            if (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[o].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[o].data.globalhover) {
                                var n = ie.layers.get(o + ",in,notactive").add(ie.layers.get("static,active"));
                                _.on("mouseenter.globalhover" + z, function() {
                                    n.each(function() {
                                        ie.transitions.layers.hover.mouseEnter(se(this), se(this).data(ie.defaults.init.dataKey))
                                    })
                                }), _.on("mouseleave.globalhover" + z, function() {
                                    n.each(function() {
                                        ie.transitions.layers.hover.mouseLeave(se(this), se(this).data(ie.defaults.init.dataKey))
                                    })
                                }), _.on("mousemove.globalhover" + z, function() {
                                    n.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, o, r, 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]), r = parseInt(se.trim(n[1])), d[s] && -1 !== d[i][1].indexOf(d[s][0]))
                                    if (o = "number" == typeof e.timeline[s] ? e.timeline[s] : e.timeline[s](e), a) u = r / 1e3;
                                    else switch (l) {
                                        case "*":
                                            u = o * r;
                                            break;
                                        case "/":
                                            u = o / r;
                                            break;
                                        case "+":
                                            u = o + r / 1e3;
                                            break;
                                        case "-":
                                            u = o - r / 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 = r / 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, o = e.length; s < o; s++) {
                                var r, n = se(e[s]),
                                    l = n.data(ie.defaults.init.dataKey),
                                    d = l.elements.$wrapper,
                                    u = l.elements.$clipWrapper,
                                    p = l.elements.$loopWrapper;
                                if (l.should.reset && ie.transitions.layers.reset(n, l), n.hasClass("ls-bg")) l.kenBurns.zoom && i.fromTo(n.closest(".ls-bg-wrap"), ie.transitions.nextSlide.data.duration + ie.transitions.nextSlide.data.calculatedTimeShift, {
                                    autoCSS: !1,
                                    css: l.kenBurns.from
                                }, {
                                    autoCSS: !1,
                                    css: l.kenBurns.to,
                                    ease: ae.Quad.easeInOut
                                }, -ie.transitions.nextSlide.data.calculatedTimeShift), se.isEmptyObject(l.filter.values.bgFrom) && se.isEmptyObject(l.filter.values.bgTo) || (l.filter.transitions.bg || (l.filter.transitions.bg = ie.transitions.layers.filters.createTransition(l, "bg", l.filter.values.bgFrom, l.filter.values.bgTo)), i.to([{
                                    p: 0
                                }, n[0]], ie.transitions.nextSlide.data.duration, {
                                    p: 1,
                                    autoCSS: !1,
                                    ease: ae.Sine.easeInOut,
                                    onUpdate: ie.transitions.layers.filters.animate,
                                    onUpdateParams: ["{self}", l.filter.transitions.bg]
                                }, 0));
                                else switch (t) {
                                    case "in":
                                        if (l.in.enabled && (l.settings.timelineIsCalculated || ("number" != typeof l.in.startAt && (l.in.startAt = 0), l.timeline.transitioninstart = l.in.startAt, l.timeline.transitioninend = l.timeline.transitioninstart + l.in.duration), ie.resize.transformProperties(n, l.inLayerFromCSS, l.inLayerShouldBeConverted), ie.resize.styleProperties(l.inLayerStyleFromCSS, l.inLayerStyleShouldBeConvertedFrom), ie.resize.styleProperties(l.inLayerStyleToCSS, l.inLayerStyleShouldBeConvertedTo), l.inLayerFromCSS.transformPerspective = l.transformPerspective.layer * ie.resize.ratio, l.clip.enabled && (l.original.clip || (l.original.clip = l.clip.min, l.original.clipShouldBeConverted = !0), l.inClipShouldBeConverted.clip ? (l.inClipFromCSS.clip = ie.resize.clip(n, l.inClipShouldBeConverted.clip, !0), l.inClipToCSS.clip = ie.resize.clip(n, l.original.clip, l.original.clipShouldBeConverted), i.fromTo(u[0], l.in.duration, l.inClipFrom, l.inClipTo, l.timeline.transitioninstart)) : ae.TweenMax.set(u[0], {
                                                clip: ie.resize.clip(n, l.original.clip, l.original.clipShouldBeConverted)
                                            }), ie.transitions.layers.timeline.shouldRestart = !0), se.isEmptyObject(l.filter.values.in) ? se.isEmptyObject(l.filter.values.out) || n.css("filter", l.original.filter) : (l.filter.transitions.in || (l.filter.transitions.in = ie.transitions.layers.filters.createTransition(l, "in", l.filter.values.in, l.filter.values.style)), i.to([{
                                                p: 0
                                            }, n[0]], l.in.duration, {
                                                p: 1,
                                                autoCSS: !1,
                                                ease: l.inLayerTo.ease,
                                                onUpdate: ie.transitions.layers.filters.animate,
                                                onUpdateParams: ["{self}", l.filter.transitions.in]
                                            }, l.timeline.transitioninstart)), i.fromTo(d[0], l.in.duration, l.inLayerFrom, l.inLayerTo, l.timeline.transitioninstart), i.fromTo(n[0], l.in.duration, l.inLayerStyleFrom, l.inLayerStyleTo, l.timeline.transitioninstart)), l.is.textLayer && ((l.textIn.type || l.textOut.type) && ie.transitions.layers.splitType.resetNodes(n, l), l.textIn.enabled && (l.in.enabled || i.to(d[0], 0, se.extend(!0, {}, l.inLayerTo, l.init.wrapper), l.timeline.textinstart), l.textIn.nodes = ie.transitions.layers.splitType.setNodesSequence(l.textIn.type.split("_"), l.textIn.ns), ie.resize.transformProperties(n, l.textInNodesFrom, l.textInShouldBeConverted), l.textInNodesFrom.transformPerspective = l.transformPerspective.text * ie.resize.ratio, se.isEmptyObject(l.textInShouldBeConverted.random) || ie.transitions.layers.splitType.setRandomProperties(l, l.textInShouldBeConverted.random, l.textInNodesFrom), se.isEmptyObject(l.textInNodesFrom.random) || ie.transitions.layers.splitType.setRandomProperties(l, l.textInNodesFrom.random, l.textInNodesFrom), delete l.textInNodesFrom.random, l.settings.timelineIsCalculated || (l.timeline.textinstart = this.getTiming(l, l.textIn.startAt, "textinstart"), l.timeline.textinend = l.timeline.textinstart + (l.textIn.nodes.length - 1) * l.textIn.shiftNodes + l.textIn.duration), i.staggerFromTo(l.textIn.nodes, l.textIn.duration, l.textInNodesFrom, l.textInNodesTo, l.textIn.shiftNodes, l.timeline.textinstart, function(e) {
                                                ie.transitions.layers.in.onComplete(e)
                                            }, [n]))), l.is.keyframe && ie.o.playByScroll && i.addPause(l.timeline.allinend(), function() {
                                                setTimeout(function() {
                                                    delete ie.timeouts.scroll, ie.transitions.layers.timeline.timeScaleModifier = 0, ie.device.scroll.timeout = 250
                                                }, 500)
                                            }), l.loop.enabled) {
                                            var c = new ae.TimelineMax({
                                                repeat: l.loop.repeat,
                                                repeatDelay: l.loop.repeatDelay,
                                                yoyo: l.loop.yoyo,
                                                paused: !0
                                            });
                                            l.settings.timelineIsCalculated && !l.is.static || (l.timeline.loopstart = this.getTiming(l, l.loop.startAt, "loopstart"), l.timeline.loopend = -1 !== l.loop.count && l.timeline.loopstart + (l.loop.repeat + 1) * l.loop.duration + l.loop.repeat * l.loop.repeatDelay), l.loop._timeline = c, ie.resize.transformProperties(n, l.loopToCSS, {
                                                x: l.loopLayerShouldBeConverted.x,
                                                y: l.loopLayerShouldBeConverted.y
                                            }), (l.loopToCSS.x && 0 !== l.loopToCSS.x || l.loopToCSS.y && 0 !== l.loopToCSS.y) && (ie.transitions.layers.timeline.shouldRestart = !0), l.loopFromCSS.transformOrigin = ie.functions.convert.transformOrigin(l.loopLayerShouldBeConverted.transformOrigin, n), l.loopFromCSS.transformPerspective = l.transformPerspective.loop * ie.resize.ratio, se.isEmptyObject(l.filter.values.loop) || (l.filter.transitions.loop || (l.filter.transitions.loop = ie.transitions.layers.filters.createTransition(l, "loop", se.isEmptyObject(l.filter.values.afterIn) ? l.filter.values.style : l.filter.values.afterIn, l.filter.values.loop)), c.to([{
                                                p: 0
                                            }, n[0]], l.loop.duration, {
                                                p: 1,
                                                autoCSS: !1,
                                                ease: l.loopTo.ease,
                                                onUpdate: ie.transitions.layers.filters.animate,
                                                onUpdateParams: ["{self}", l.filter.transitions.loop]
                                            }, 0)), c.fromTo(p[0], l.loop.duration, l.loopFrom, l.loopTo, 0), l.loopClipShouldBeConverted.clip && (l.loopClipToCSS.clip = ie.resize.clip(n, l.loopClipShouldBeConverted.clip, !0), c.to(u[0], l.loop.duration, l.loopClipTo, 0), ie.transitions.layers.timeline.shouldRestart = !0), -1 !== l.loop.repeat && ("looplayers" === ie.o.pauseOnHover || ie.gui.timers.slidebar.$element || ie.o.playByScroll) ? (i.add(c, l.timeline.loopstart), c.play()) : i.addCallback(function(e) {
                                                e.play()
                                            }, l.timeline.loopstart, [c])
                                        }
                                        l.is.static && (l.timeline.staticfrom = l.timeline.transitioninend, l.timeline.staticto = "100%", l.settings.timelineIsCalculated || (r = Math.max(l.timeline.allinandloopend(), 0), this.totalDuration = Math.max(this.totalDuration, r)));
                                        break;
                                    case "out":
                                        l.is.textLayer && l.textOut.enabled && (l.textOut.nodes = ie.transitions.layers.splitType.setNodesSequence(l.textOut.type.split("_"), l.textOut.ns), ie.resize.transformProperties(n, l.textOutNodesTo, l.textOutShouldBeConverted, l.textOutNodesFrom), l.textOutNodesFrom.transformPerspective = l.transformPerspective.text * ie.resize.ratio, se.isEmptyObject(l.textOutShouldBeConverted.random) || ie.transitions.layers.splitType.setRandomProperties(l, l.textOutShouldBeConverted.random, l.textOutNodesTo), se.isEmptyObject(l.textOutNodesTo.random) || ie.transitions.layers.splitType.setRandomProperties(l, l.textOutNodesTo.random, l.textOutNodesTo), delete l.textOutNodesTo.random, l.settings.timelineIsCalculated || (l.timeline.textoutstart = this.getTiming(l, l.textOut.startAt, "textoutstart"), l.timeline.textoutend = l.timeline.textoutstart + (l.textOut.nodes.length - 1) * l.textOut.shiftNodes + l.textOut.duration), l.clip.enabled && (void 0 === l.outClipShouldBeConverted.clip && i.to(u[0], 0, {
                                            immediateRender: !1,
                                            css: {
                                                clip: ie.resize.clip(n, l.clip.max)
                                            }
                                        }, l.timeline.textoutstart), ie.transitions.layers.timeline.shouldRestart = !0), i.staggerFromTo(l.textOut.nodes, l.textOut.duration, l.textOutNodesFrom, l.textOutNodesTo, l.textOut.shiftNodes, l.timeline.textoutstart)), ie.resize.transformProperties(n, l.outLayerToCSS, l.outLayerShouldBeConverted, l.outLayerFromCSS), ie.resize.styleProperties(l.outLayerStyleFromCSS, l.outLayerStyleShouldBeConvertedFrom), ie.resize.styleProperties(l.outLayerStyleToCSS, l.outLayerStyleShouldBeConvertedTo), l.outLayerFromCSS.transformPerspective = l.transformPerspective.layer * ie.resize.ratio, "slidechangeonly" !== l.out.startAt ? (l.settings.timelineIsCalculated && !l.is.static || (l.is.static ? (l.timeline.staticfrom = 0, l.timeline.transitionoutstart = this.getTiming(l, l.out.startAt, "transitionoutstart", !0), l.timeline.staticto = l.timeline.transitionoutstart) : l.timeline.transitionoutstart = Math.max(this.getTiming(l, l.out.startAt, "transitionoutstart"), l.timeline.transitioninend), l.timeline.transitionoutend = l.timeline.transitionoutstart + l.out.duration), l.clip.enabled && (void 0 === l.outClipShouldBeConverted.clip ? i.to(u[0], 0, {
                                            immediateRender: !1,
                                            css: {
                                                clip: ie.resize.clip(n, l.clip.max)
                                            }
                                        }, l.timeline.transitionoutstart) : (l.outClipToCSS.clip = ie.resize.clip(n, l.outClipShouldBeConverted.clip, !0), i.to(u[0], l.out.duration, l.outClipTo, l.timeline.transitionoutstart)), ie.transitions.layers.timeline.shouldRestart = !0), se.isEmptyObject(l.filter.values.out) || (l.filter.transitions.out || (l.filter.transitions.out = ie.transitions.layers.filters.createTransition(l, "out", se.isEmptyObject(l.filter.values.afterLoop) ? se.isEmptyObject(l.filter.values.afterIn) ? l.filter.values.style : l.filter.values.afterIn : l.filter.values.afterLoop, l.filter.values.out)), i.to([{
                                            p: 0
                                        }, n[0]], l.out.duration, {
                                            p: 1,
                                            autoCSS: !1,
                                            ease: l.outLayerTo.ease,
                                            onUpdate: ie.transitions.layers.filters.animate,
                                            onUpdateParams: ["{self}", l.filter.transitions.out]
                                        }, l.timeline.transitionoutstart)), i.fromTo(d[0], l.out.duration, l.outLayerFrom, l.outLayerTo, l.timeline.transitionoutstart), i.fromTo(n[0], l.out.duration, l.outLayerStyleFrom, l.outLayerStyleTo, l.timeline.transitionoutstart), i.fromTo(d[0], 0, l.init.wrapper, l.reset.wrapperOnTimelineEnd, l.timeline.transitionoutend)) : (l.timeline.staticfrom = 0, l.timeline.staticto = "100%"), (!l.is.static || l.is.static && l.settings.slideOut === ie.slides.next.index) && (a.fromTo(d[0], ie.o.forceLayersOutDuration, l.outLayerFrom, l.outLayerTo, 0), a.fromTo(n[0], ie.o.forceLayersOutDuration, l.outLayerStyleFrom, l.outLayerStyleTo, 0), l.clip.enabled && void 0 !== l.outClipShouldBeConverted.clip && (l.outClipToCSS.clip = ie.resize.clip(n, l.outClipShouldBeConverted.clip, !0), a.to(u[0], ie.o.forceLayersOutDuration, l.outClipTo, 0))), r = Math.max(l.timeline.alloutandloopend(), 0), this.totalDuration = Math.max(this.totalDuration, r), l.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) {
                            if (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";
                                var t = ie.slideshow.sequence.normalized;
                                t.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() {
                            if (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) {
                            if (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")) {
                                var 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)
                            } else t.hover._linkTween = null;
                            if (t.hover.alwaysOnTop) {
                                var o = {
                                    zIndex: 9999
                                };
                                ie.browser.isSafari && (o.transform = "translateZ(999999px)"), t.hover._timeline.to(t.elements.$outerWrapper[0], t.hover.durationIn, {
                                    autoCSS: !1,
                                    css: o
                                }, 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",
                            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()
                            }
                        },
                        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)/) || (t.event = "cursor"), t.type.match(/(2d,3d)/) && (t.type = "2d"), 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 = ie.gui.shadow.$element,
                                t = ie.slides.current && ie.slides.current.parallax ? ie.slides.current.index : ie.slides.next.index;
                            if (ie.slides[t].data.$background && ie.slides[t].data.$background.data(ie.defaults.init.dataKey).parallax.enabled && ie.slides[t].data.overflow && "hidden" !== ie.slides[t].data.overflow) {
                                var i, a = "50% -" + .25 * ie.slider.height + "px 0",
                                    s = ie.slides[t].data.$background.data(ie.defaults.init.dataKey).parallax;
                                i = void 0 !== s.rotation ? 2 * s.rotation : void 0 !== ie.slides[t].parallax.rotation ? 2 * ie.slides[t].parallax.rotation : 2 * this.defaultProperties.rotation, e.data(ie.defaults.init.dataKey, {
                                    parallax: se.extend(!0, {}, this.defaultProperties, ie.slides[t].parallax, {
                                        level: s.level,
                                        transformOrigin: a,
                                        rotation: i
                                    })
                                }), e.attr("data-ls-parallax", "active"), ae.TweenMax.set(e[0], {
                                    transformOrigin: a,
                                    transformPerspective: e.data(ie.defaults.init.dataKey).parallax.transformPerspective * ie.resize.ratio
                                }), "3d" === ie.slides[t].parallax.type || "3d" === s.type ? this.wrappers.cursor.$3d = this.wrappers.cursor.$3d.add(e) : this.wrappers.cursor.$2d = this.wrappers.cursor.$2d.add(e)
                            }
                            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).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) {
                            if (this.transformPropertiesCalculated) {
                                var t, i, a = window.orientation;
                                i = 0 === a ? (t = 5 * -parseInt(e.gamma) * this.defaults.sensitive * ie.resize.ratio, 5 * (this.defaults.centerDegree - parseInt(e.beta)) * this.defaults.sensitive * ie.resize.ratio) : 90 === a ? (t = 5 * -parseInt(e.beta) * this.defaults.sensitive * ie.resize.ratio, 5 * (parseInt(e.gamma) + this.defaults.centerDegree) * this.defaults.sensitive * ie.resize.ratio) : (t = 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(t, i, "cursor"), this.animate3D(t, i, "cursor")
                            } else 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)
                        },
                        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) {
                            if (this.transformPropertiesCalculated) {
                                ie.slider.state.animatingSlides || this.shadowIsChecked || !ie.gui.shadow.$element || this.addShadow();
                                var 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")
                            } else this.calculateTransformProperties()
                        },
                        animate2D: function(s, o, e) {
                            this.wrappers[e].$2d.each(function() {
                                var e = se(this);
                                if ("active" === e.attr("data-ls-parallax")) {
                                    var t = e.data(ie.defaults.init.dataKey).parallax,
                                        i = t.x ? -s * (t.distance / 2e3) * parseInt(t.level) : 0,
                                        a = t.y ? -o * (t.distance / 2e3) * parseInt(t.level) : 0;
                                    ae.TweenMax.to(e[0], t.durationMove, {
                                        x: i,
                                        y: a
                                    })
                                }
                            })
                        },
                        animate3D: function(r, n, e) {
                            this.wrappers[e].$3d.each(function() {
                                var e = se(this);
                                if ("active" === e.attr("data-ls-parallax")) {
                                    var t, i, a, s, o = e.data(ie.defaults.init.dataKey).parallax;
                                    a = o.x ? (i = -r / (4e3 / o.rotation), -r * (o.distance / 2e3) * parseInt(o.level)) : i = 0, s = o.y ? (t = n / (4e3 / o.rotation), -n * (o.distance / 2e3) * parseInt(o.level)) : t = 0, ae.TweenMax.to(e[0], o.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, o = new ie.defaults.layer.properties.filter,
                                r = {};
                            for (s in o) switch (t) {
                                case "in":
                                    r[s] = [o[s], o[s]], r[s][0] = i.hasOwnProperty(s) ? i[s] : a.hasOwnProperty(s) ? a[s] : o[s], r[s][1] = a.hasOwnProperty(s) ? a[s] : o[s], e.filter.values.afterIn[s] = r[s][1];
                                    break;
                                case "hover":
                                case "loop":
                                case "out":
                                    r[s] = [], r[s][0] = i.hasOwnProperty(s) ? i[s] : o[s], r[s][1] = a.hasOwnProperty(s) ? a[s] : i.hasOwnProperty(s) && i[s] !== o[s] ? i[s] : o[s], "loop" === t && !0 !== e.loop.yoyo && -1 !== e.loop.count && (e.filter.values.afterLoop[s] = r[s][1]);
                                    break;
                                case "bg":
                                    r[s] = [o[s], o[s]], i.hasOwnProperty(s) && (r[s][0] = i[s]), a.hasOwnProperty(s) && (r[s][1] = a[s])
                            }
                            return r
                        },
                        convert: function(e) {
                            for (var t, i, a, s = {}, o = /(blur|brightness|contrast|grayscale|hue-rotate|invert|saturate|sepia)/i, r = 0, n = (e = e.split(" ")).length; r < n; r++)(t = (a = e[r].split("("))[0]).match(o) && (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]) {
                                var a, s = Math.floor(t.length / 2);
                                for (i = [t[s]], a = 1; a <= s; a++) i.push(t[s - a], t[s + a]);
                                i.length = t.length
                            } else if ("edge" == e[1]) {
                                var o, r = Math.floor(t.length / 2);
                                for (i = [t[0]], o = 1; o <= r; o++) i.push(t[t.length - o], t[o]);
                                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 = [], o = 0, r = e.textIn.nodes.length; o < r; o++) s[o] = 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) {
                        if (ie.slides.current.index && ie.slides.current.data.$backgroundVideo.length) {
                            var i = ie.slides.current.data.$backgroundVideo,
                                a = i.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
                            }))
                        }
                        if (ie.slides.next.data.$backgroundVideo.length) {
                            var s = ie.slides.next.data.$backgroundVideo,
                                o = s.data(ie.defaults.init.dataKey).elements.$bgWrapper,
                                r = s.data(ie.defaults.init.dataKey).elements.$bgOuterWrapper;
                            ie.device.isMobile && (_.hasClass("ls-device-is-phone") && r.hasClass("ls-hide-on-phone") || _.hasClass("ls-device-is-tablet") && r.hasClass("ls-hide-on-tablet")) || setTimeout(function() {
                                s.trigger("playBackgroundVideo")
                            }, e ? 50 : 0), e || t ? o.fadeIn(ie.transitions.media.defaults.fadeOut) : o.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() {
                        if (ie.slides.current && ie.slides.current.data && ie.transitions._slideTimeline) {
                            var 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() {
                        if (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;
                            var 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, o, r, 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("%") && (r = P / (100 / parseInt(t)), ie.debugMode && ie.debug.add("warn", "sliderInit.fullwidth2", [M, t, r]), t = r), B <= 0 && (B = t);
                                break;
                            case "fullsize":
                                -1 !== e.indexOf("%") && (o = 0 < $ ? $ : L, ie.debugMode && ie.debug.add("warn", "sliderInit.fullsize", [M, e, o, L, $]), e = o), $ <= 0 && ($ = e, ie.debugMode && ie.debug.add("warn", "sliderInit.conWidth", [M, e])), -1 !== t.indexOf("%") && (r = 0 < B ? B : se(window).height() / (100 / parseInt(t)), ie.debugMode && ie.debug.add("warn", "sliderInit.fullsize2", [M, t, r, se(window).height(), B]), t = r), 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" !== C.position && "absolute" !== C.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() {
                        if (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), ie.o.startInViewport) {
                            if (ie.slider.positionToViewport = ie.device.winScrollTop > ie.slider.offsetTop - (ie.device.viewportHeight - ie.slider.height) / 2 ? "under" : "over", ie.o.playByScroll) {
                                var t, i, a, s = !0,
                                    o = 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 ? (t = e.originalEvent.touches[0].clientY, i < t ? ie.device.scroll.direction = "up" : t < i && (ie.device.scroll.direction = "down"), a = i - t, i = t) : (0 < e.originalEvent.deltaY ? ie.device.scroll.direction = "down" : ie.device.scroll.direction = "up", a = e.originalEvent.deltaY), 0 !== Math.abs(a) && (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 <= a ? ie.transitions.layers.timeline.scrollForward() : ie.transitions.layers.timeline.scrollBackwards(), s && (clearTimeout(ie.timeouts.scroll), s = !1, ie.transitions.layers.timeline.timeScaleModifier = ie.transitions.layers.timeline.timeScaleModifier < o ? ie.transitions.layers.timeline.timeScaleModifier + .25 : o, ie.timeouts.scroll2 = setTimeout(function() {
                                        delete ie.timeouts.scroll2, s = !0, ie.device.scroll.timeout = 50 < ie.device.scroll.timeout ? ie.device.scroll.timeout - 50 : 50
                                    }, ie.device.scroll.timeout))), ie.slider.check.positionToViewport())
                                })
                            } else 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() {
                        if (delete ie.timeouts.checkPosition, ie.o.playByScroll) {
                            if (ie.device.scroll.direction) {
                                var 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.height || ie.slider.height < ie.device.height && ("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())
                            }
                        } else {
                            var 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") : ie.slideshow.changeTo(ie.slides.first.index)
                },
                hide: function() {
                    _.addClass("ls-forcehide"), _.closest(".ls-wp-fullwidth-container").addClass("ls-forcehide")
                },
                show: function() {
                    _.removeClass("ls-forcehide"), _.closest(".ls-wp-fullwidth-container").removeClass("ls-forcehide")
                }
            }, ie.functions = {
                convert: {
                    transformOrigin: function(e, t, i) {
                        var a = se.trim(e),
                            s = a.split(" "),
                            o = "",
                            r = ["Left", "Top"],
                            n = [ie.slider.width, ie.slider.height];
                        a = a.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(" ");
                        for (var l = 0; l < a.length; l++)
                            if (-1 !== s[l].indexOf("slider")) {
                                ie.transitions.layers.timeline.shouldRestart = !0;
                                var d = t.data(ie.defaults.init.dataKey).elements.$wrapper[0].style;
                                o += l < 2 ? n[l] / (100 / parseInt(a[l])) - parseInt(d[r[l].toLowerCase()]) - parseInt(d["margin" + r[l]]) + "px " : "0px"
                            } else {
                                if (l < 2 && t && i) switch (l) {
                                    case 0:
                                        n = i.width();
                                        break;
                                    case 1:
                                        n = i.height()
                                } - 1 !== a[l].indexOf("%") ? o += l < 2 && t && i ? n / (100 / parseInt(a[l])) + "px " : a[l] + " " : o += parseInt(a[l]) * ie.resize.ratio + "px "
                            }
                        return se.trim(o)
                    },
                    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(), a = i.length, s = 100, o = 0; o < a; o++)
                        if ("auto" !== (t = window.getComputedStyle(i[o]).getPropertyValue(e))) {
                            if (-1 !== t.indexOf("px")) return ie.slider.$parentWithNumericWidthValue = se(i[o]), se(i[o]); - 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 o = 0; o < t; o++) a.push(s + o * e);
                    else
                        for (var r = e - 1; - 1 < r; r--)
                            for (var n = t - 1; - 1 < n; n--) a.push(r + 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 -= 1], 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 o = ie.slideshow.isPaused();
                        e == ie.slideshow && (ie.api.hasEvent("slideshowStateDidChange") && _.triggerHandler("slideshowStateDidChange", ie.api.eventData()), o != a && (o ? 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 && window.addEventListener("DOMMouseScroll", this.preventDefault, !1), window.onwheel = this.preventdefault, window.onmousewheel = document.onmousewheel = this.preventDefault, window.ontouchmove = this.preventDefault, document.onkeydown = this.preventDefaultForScrollKeys
                    },
                    enable: function() {
                        window.removeEventListener && window.removeEventListener("DOMMouseScroll", this.preventDefault, !1), window.onmousewheel = document.onmousewheel = null, window.onwheel = null, window.ontouchmove = null, document.onkeydown = null
                    },
                    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, ie.slider.offsetTop = _.offset().top, ie.slider.offsetLeft = _.offset().left
                },
                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, ie.slider.offsetTop = _.offset().top, ie.slider.offsetLeft = _.offset().left
                    }), se(window).on("scroll.setter" + z, function() {
                        i.winScrollTop = se(window).scrollTop(), i.winScrollLeft = se(window).scrollLeft(), ie.slider.offsetTop = _.offset().top, ie.slider.offsetLeft = _.offset().left
                    }), 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 && ie.initializedPlugins.popup.events.show();
                                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"), _.parent(".ls-fullscreen-wrapper").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");
                    return !!t.userAgent.match("CriOS") || null != e && "Google Inc." === i && !1 === a && !1 === s
                },
                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"], o = a.length - 1; 0 <= o; o--) t = t || void 0 !== e[0].style[a[o]];
                    for (var r = s.length - 1; 0 <= r; r--) e.css("transform-style", "preserve-3d"), i = i || "preserve-3d" == e[0].style[s[r]];
                    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.8.2",
                release: "stable",
                releaseDate: "2019. 03. 06."
            }, ie.slider.load()
        }
    }(jQuery);
#2 JavaScript::Eval (size: 20323) - SHA256: d55d43a971659d6b81e1377cf8f78f7ed2ead8a07c13fbfa7d8dbe37ed9a73f3
(function() {
    var Z = function(e, A) {
            for (A = []; e--;) A.push(255 * Math.random() | 0);
            return A
        },
        u = function(e, A, c, N, m, y) {
            if (e.U.length) {
                e.UX = (e.C = (e.C && 0(), true), A);
                try {
                    m = e.Z(), e.o = m, e.F = m, e.h = 0, N = ye(e, A), y = e.Z() - e.F, e.O += y, y < (c ? 0 : 10) || 0 >= e.V-- || (y = Math.floor(y), e.J.push(254 >= y ? y : 254))
                } finally {
                    e.C = false
                }
                return N
            }
        },
        f = function(e, A, c) {
            if (223 == A || 383 == A) e.A[A] ? e.A[A].concat(c) : e.A[A] = AQ(e, c);
            else {
                if (e.G && 141 != A) return;
                332 == A || 210 == A || 280 == A || 264 == A || 491 == A ? e.A[A] || (e.A[A] = cw(e, 78, c, A)) : e.A[A] = cw(e, 129, c, A)
            }
            141 == A && (e.R = F(e, false, 32), e.l = void 0)
        },
        hQ = function(e, A) {
            if ((e = B.trustedTypes, A = null, !e) || !e.createPolicy) return A;
            try {
                A = e.createPolicy("bg", {
                    createHTML: iw,
                    createScript: iw,
                    createScriptURL: iw
                })
            } catch (c) {
                B.console && B.console.error(c.message)
            }
            return A
        },
        N_ = function(e, A, c) {
            if (3 == e.length) {
                for (c = 0; 3 > c; c++) A[c] += e[c];
                for (c = [13, 8, 13, 12, 16, 5, (e = 0, 3), 10, 15]; 9 > e; e++) A[3](A, e % 3, c[e])
            }
        },
        Zt = function(e, A, c, N, m) {
            if (N = A[0], N == K) e.V = 25, e.P(A);
            else if (N == p) {
                c = A[1];
                try {
                    m = e.H || e.P(A)
                } catch (y) {
                    t(e, y), m = e.H
                }
                c(m)
            } else if (N == Ww) e.P(A);
            else if (N == D) e.P(A);
            else if (N == mi) {
                try {
                    for (m = 0; m < e.W.length; m++) try {
                        c = e.W[m], c[0][c[1]](c[2])
                    } catch (y) {}
                } catch (y) {}(0, A[1])(function(y, h) {
                    e.Y(y, true, h)
                }, (e.W = [], function(y) {
                    (X((y = !e.U.length, [Un]), e), y) && u(e, true, false)
                }))
            } else {
                if (N == G) return m = A[2], f(e, 109, A[6]), f(e, 171, m), e.P(A);
                N == Un ? (e.A = null, e.L = [], e.J = []) : N == I3 && "loading" === B.document.readyState && (e.N = function(y, h) {
                    function W() {
                        h || (h = true, y())
                    }(B.document.addEventListener("DOMContentLoaded", W, (h = false, d)), B).addEventListener("load", W, d)
                })
            }
        },
        X = function(e, A) {
            A.U.splice(0, 0, e)
        },
        sn = function(e, A, c, N, m) {
            (((m = Q((N = (m = S((e &= (c = e & 4, 3), A)), S)(A), m), A), c) && (m = uw("" + m)), e) && L(N, A, J(m.length, 2)), L)(N, A, m)
        },
        J = function(e, A, c, N) {
            for (c = (N = (A | 0) - 1, []); 0 <= N; N--) c[(A | 0) - 1 - (N | 0)] = e >> 8 * N & 255;
            return c
        },
        F5 = function(e, A) {
            (A.push(e[0] << 24 | e[1] << 16 | e[2] << 8 | e[3]), A).push(e[4] << 24 | e[5] << 16 | e[6] << 8 | e[7]), A.push(e[8] << 24 | e[9] << 16 | e[10] << 8 | e[11])
        },
        On = function(e, A, c) {
            if ("object" == (A = typeof e, A))
                if (e) {
                    if (e instanceof Array) return "array";
                    if (e instanceof Object) return A;
                    if ((c = Object.prototype.toString.call(e), "[object Window]") == c) return "object";
                    if ("[object Array]" == c || "number" == typeof e.length && "undefined" != typeof e.splice && "undefined" != typeof e.propertyIsEnumerable && !e.propertyIsEnumerable("splice")) return "array";
                    if ("[object Function]" == c || "undefined" != typeof e.call && "undefined" != typeof e.propertyIsEnumerable && !e.propertyIsEnumerable("call")) return "function"
                } else return "null";
            else if ("function" == A && "undefined" == typeof e.call) return "object";
            return A
        },
        B = this || self,
        C2 = function(e, A, c, N) {
            for (c = (N = S(A), 0); 0 < e; e--) c = c << 8 | E(A);
            f(A, N, c)
        },
        f2 = function(e, A, c, N, m) {
            for (m = (N = c[3] | 0, 0), c = c[2] | 0; 14 > m; m++) A = A >>> 8 | A << 24, N = N >>> 8 | N << 24, A += e | 0, A ^= c + 2229, e = e << 3 | e >>> 29, N += c | 0, e ^= A, c = c << 3 | c >>> 29, N ^= m + 2229, c ^= N;
            return [e >>> 24 & 255, e >>> 16 & 255, e >>> 8 & 255, e >>> 0 & 255, A >>> 24 & 255, A >>> 16 & 255, A >>> 8 & 255, A >>> 0 & 255]
        },
        Hw = function(e, A, c, N) {
            (N = (c = S(A), S(A)), L)(N, A, J(Q(c, A), e))
        },
        Bw = function(e, A) {
            return (e = e.create().shift(), A.B).create().length || A.j.create().length || (A.j = void 0, A.B = void 0), e
        },
        wx = function(e, A, c, N, m, y) {
            if (!A.H) {
                A.g++;
                try {
                    for (y = (N = void 0, 0), m = A.I; --e;) try {
                        if (c = void 0, A.B) N = Bw(A.B, A);
                        else {
                            if (y = Q(223, A), y >= m) break;
                            N = (c = (f(A, 383, y), S(A)), Q)(c, A)
                        }
                        k(false, (N && N[Un] & 2048 ? N(A, e) : v([x, 21, c], A, 0), e), A, false)
                    } catch (h) {
                        Q(326, A) ? v(h, A, 22) : f(A, 326, h)
                    }
                    if (!e) {
                        if (A.xD) {
                            wx((A.g--, 555398272107), A);
                            return
                        }
                        v([x, 33], A, 0)
                    }
                } catch (h) {
                    try {
                        v(h, A, 22)
                    } catch (W) {
                        t(A, W)
                    }
                }
                A.g--
            }
        },
        v = function(e, A, c, N, m, y) {
            if (!A.G) {
                if (3 < (e = Q(36, (N = ((y = void 0, e) && e[0] === x && (c = e[1], y = e[2], e = void 0), Q(264, A)), 0 == N.length && (m = Q(383, A) >> 3, N.push(c, m >> 8 & 255, m & 255), void 0 != y && N.push(y & 255)), c = "", e && (e.message && (c += e.message), e.stack && (c += ":" + e.stack)), A)), e)) {
                    A.v = (e -= ((c = c.slice(0, (e | 0) - 3), c).length | 0) + 3, c = uw(c), y = A.v, A);
                    try {
                        L(210, A, J(c.length, 2).concat(c), 9)
                    } finally {
                        A.v = y
                    }
                }
                f(A, 36, e)
            }
        },
        cw = function(e, A, c, N, m, y, h, W) {
            return (c = (W = R3, h = A & 7, [16, -75, -53, 44, 45, 21, c, -10, 33, 10]), y = z[e.K](e.vI), y)[e.K] = function(U) {
                h += 6 + 7 * A, m = U, h &= 7
            }, y.concat = function(U) {
                return (m = (U = (U = N % 16 + 1, 3825 * N * m + c[h + 11 & 7] * N * U + h) + (W() | 0) * U - U * m - 204 * N * N * m + 51 * m * m + 4 * N * N * U - -3723 * m, void 0), U = c[U], c)[(h + 13 & 7) + (A & 2)] = U, c[h + (A & 2)] = -75, U
            }, y
        },
        a = function(e, A, c) {
            c = this;
            try {
                K2(this, A, e)
            } catch (N) {
                t(this, N), A(function(m) {
                    m(c.H)
                })
            }
        },
        jY = function(e, A, c, N, m, y) {
            for (N = (c = (A = (((m = (y = e[p2] || {}, S(e)), y).Ay = S(e), y).i = [], e.v == e ? (E(e) | 0) - 1 : 1), S(e)), 0); N < A; N++) y.i.push(S(e));
            for (; A--;) y.i[A] = Q(y.i[A], e);
            return (y.ty = Q(c, e), y).D = Q(m, e), y
        },
        Q = function(e, A) {
            if (void 0 === (A = A.A[e], A)) throw [x, 30, e];
            if (A.value) return A.create();
            return (A.create(4 * e * e + -75 * e + -73), A).prototype
        },
        d = {
            passive: true,
            capture: true
        },
        $o = function(e, A) {
            f(e, 223, (e.HI.push(e.A.slice()), e.A[223] = void 0, A))
        },
        tQ = function(e, A) {
            return A(function(c) {
                c(e)
            }), [function() {
                return e
            }]
        },
        L = function(e, A, c, N, m, y) {
            if (A.v == A)
                for (m = Q(e, A), 210 == e ? (e = function(h, W, U, I) {
                        if (m.aU != (U = ((I = m.length, I) | 0) - 4 >> 3, U)) {
                            W = [0, 0, y[1], (U = (m.aU = U, (U << 3) - 4), y[2])];
                            try {
                                m.IU = f2(Yo(m, U), Yo(m, (U | 0) + 4), W)
                            } catch (O) {
                                throw O;
                            }
                        }
                        m.push(m.IU[I & 7] ^ h)
                    }, y = Q(491, A)) : e = function(h) {
                        m.push(h)
                    }, N && e(N & 255), A = 0, N = c.length; A < N; A++) e(c[A])
        },
        lw = function(e, A, c, N) {
            return (f(c, 223, ((N = Q(223, c), c.L) && N < c.I ? (f(c, 223, c.I), $o(c, e)) : f(c, 223, e), wx(A, c), N)), Q)(171, c)
        },
        S = function(e, A) {
            if (e.B) return Bw(e.j, e);
            return (A = F(e, true, 8), A & 128) && (A ^= 128, e = F(e, true, 2), A = (A << 2) + (e | 0)), A
        },
        rx = function(e, A, c) {
            return e.Y(function(N) {
                c = N
            }, false, A), c
        },
        V, F = function(e, A, c, N, m, y, h, W, U, I, O, C, R, Y) {
            if ((C = Q(223, e), C) >= e.I) throw [x, 31];
            for (U = (y = (R = (N = e.RU.length, c), 0), C); 0 < R;) W = U >> 3, I = U % 8, m = e.L[W], O = 8 - (I | 0), O = O < R ? O : R, A && (h = e, h.l != U >> 6 && (h.l = U >> 6, Y = Q(141, h), h.S = f2(h.R, h.l, [0, 0, Y[1], Y[2]])), m ^= e.S[W & N]), U += O, y |= (m >> 8 - (I | 0) - (O | 0) & (1 << O) - 1) << (R | 0) - (O | 0), R -= O;
            return A = y, f(e, 223, (C | 0) + (c | 0)), A
        },
        P = B.requestIdleCallback ? function(e) {
            requestIdleCallback(function() {
                e()
            }, {
                timeout: 4
            })
        } : B.setImmediate ? function(e) {
            setImmediate(e)
        } : function(e) {
            setTimeout(e, 0)
        },
        AQ = function(e, A, c) {
            return ((c = z[e.K](e.ZW), c)[e.K] = function() {
                return A
            }, c).concat = function(N) {
                A = N
            }, c
        },
        Yo = function(e, A) {
            return e[A] << 24 | e[(A | 0) + 1] << 16 | e[(A | 0) + 2] << 8 | e[(A | 0) + 3]
        },
        X5 = function(e, A, c, N) {
            function m() {}
            return c = Dt(e, (N = void 0, function(y) {
                m && (A && P(A), N = y, m(), m = void 0)
            }), !!A)[0], {
                invoke: function(y, h, W, U) {
                    function I() {
                        N(function(O) {
                            P(function() {
                                y(O)
                            })
                        }, W)
                    }
                    if (!h) return h = c(W), y && y(h), h;
                    N ? I() : (U = m, m = function() {
                        U(), P(I)
                    })
                }
            }
        },
        K2 = function(e, A, c, N, m) {
            for (N = (m = (e.ZW = (e.vI = SY({get: function() {
                        return this.concat()
                    }
                }, (e.RU = e[(e.rD = dx, e).LR = GF, p], e.K)), z[e.K](e.vI, {
                    value: {
                        value: {}
                    }
                })), 0), []); 303 > m; m++) N[m] = String.fromCharCode(m);
            u(e, true, (X([(X([(T(function(y, h, W, U, I) {
                f(y, (W = (I = (U = Q((W = S((I = S((h = S(y), y)), y)), U = S(y), U), y), Q(I, y)), Q)(W, y), h), gx(y, W, U, I))
            }, e, (T(function(y, h, W, U) {
                U = S((W = S(y), y)), h = S(y), f(y, h, Q(W, y) || Q(U, y))
            }, e, (f(e, 491, (f(e, 397, (T(function(y) {
                sn(4, y)
            }, (T(function(y, h, W, U) {
                if (U = y.HI.pop()) {
                    for (W = E(y); 0 < W; W--) h = S(y), U[h] = y.A[h];
                    U[36] = (U[264] = y.A[264], y).A[36], y.A = U
                } else f(y, 223, y.I)
            }, (f(e, (f(e, 22, (T((T(function(y) {
                sn(3, y)
            }, e, (f(e, (f(e, 326, (f(e, 36, (T(function(y, h, W, U) {
                f(y, (h = Q((W = (U = S((W = (h = S(y), S(y)), y)), Q)(W, y), h), y), U), h in W | 0)
            }, (T((T(function(y, h, W) {
                k(false, h, y, true) || (h = S(y), W = S(y), f(y, W, function(U) {
                    return eval(U)
                }(Qe(Q(h, y.v)))))
            }, (T((T((T(function(y, h, W, U, I, O, C) {
                for (W = (C = Q((h = (I = (O = S(y), q_)(y), ""), 177), y), C.length), U = 0; I--;) U = ((U | 0) + (q_(y) | 0)) % W, h += N[C[U]];
                f(y, O, h)
            }, ((T(function(y, h, W, U, I, O, C, R, Y, l, H, w) {
                function g(r, q) {
                    for (; W < r;) l |= E(y) << W, W += 8;
                    return l >>= (q = l & (W -= r, 1 << r) - 1, r), q
                }
                for (H = (w = (U = (h = ((l = W = (Y = S(y), 0), g(3)) | 0) + 1, g)(5), C = 0, []), 0); H < U; H++) O = g(1), w.push(O), C += O ? 0 : 1;
                for (I = (C = ((C | 0) - 1).toString(2).length, []), H = 0; H < U; H++) w[H] || (I[H] = g(C));
                for (C = 0; C < U; C++) w[C] && (I[C] = S(y));
                for (R = []; h--;) R.push(Q(S(y), y));
                T(function(r, q, b, M, eY) {
                    for (q = (eY = (b = 0, []), []); b < U; b++) {
                        if (!w[M = I[b], b]) {
                            for (; M >= eY.length;) eY.push(S(r));
                            M = eY[M]
                        }
                        q.push(M)
                    }
                    r.j = AQ(r, (r.B = AQ(r, R.slice()), q))
                }, y, Y)
            }, (f(e, (T(function(y, h, W, U, I) {
                for (h = (U = (W = q_((I = S(y), y)), 0), []); U < W; U++) h.push(E(y));
                f(y, I, h)
            }, e, (e.FI = (f(e, 280, (T(function(y, h) {
                (y = Q((h = S(y), h), y.v), y)[0].removeEventListener(y[1], y[2], d)
            }, (e.kD = (T(function(y, h, W, U) {
                f(y, (U = (h = (h = S((U = S(y), y)), W = S(y), Q(h, y)), Q(U, y) == h), W), +U)
            }, (T(function(y, h, W) {
                f(y, (W = (h = S(y), S)(y), W), "" + Q(h, y))
            }, e, ((T(function(y) {
                Hw(1, y)
            }, (T(function(y, h, W, U, I, O) {
                k(false, h, y, true) || (I = jY(y.v), h = I.Ay, U = I.ty, W = I.D, I = I.i, O = I.length, U = 0 == O ? new U[W] : 1 == O ? new U[W](I[0]) : 2 == O ? new U[W](I[0], I[1]) : 3 == O ? new U[W](I[0], I[1], I[2]) : 4 == O ? new U[W](I[0], I[1], I[2], I[3]) : 2(), f(y, h, U))
            }, (T(function(y, h, W, U) {
                f(y, (h = (U = (h = S(y), S)(y), W = Q(U, y), Q(h, y)), U), W + h)
            }, e, (T(function(y, h, W, U) {
                f((h = (U = (W = S(y), E)(y), S(y)), y), h, Q(W, y) >>> U)
            }, (T((T(function(y, h, W, U, I) {
                0 !== (U = Q((I = Q((h = S((U = (I = (W = S(y), S)(y), S(y)), y)), I), y), U), y), W = Q(W, y.v), h = Q(h, y), W) && (h = gx(y, h, 1, U, W, I), W.addEventListener(I, h, d), f(y, 100, [W, I, h]))
            }, (e.pR = (f(e, 171, (T(function(y) {
                Hw(4, y)
            }, e, (f(e, ((f(e, 223, (e.lT = (e.W = ((e.C = false, e).UX = (e.I = 0, e.V = 25, e.h = (e.F = (e.X = 1, 0), void 0), !(e.J = [], e.B = void 0, e.j = void 0, (e.g = 0, e.u = (e.H = void 0, e.U = [], e.N = null, 0), e.A = [], e).fR = 0, e.l = void 0, e.L = [], e.KR = function(y) {
                this.v = y
            }, e.R = void 0, e.S = (e.O = 0, (e.v = e, e).o = 0, (m = window.performance || {}, e).HI = [], e.G = false, void 0), e.T = 8001, 1)), []), m.timeOrigin) || (m.timing || {}).navigationStart || 0, 0)), f)(e, 383, 0), 210), Z(4)), 469)), {})), 0), e), 146), function(y, h, W) {
                f(y, (h = (h = (W = (h = S(y), S)(y), Q)(h, y), On)(h), W), h)
            }), e, 317), e), 137), 87)), T(function(y, h, W, U) {
                U = (W = S((h = S(y), y)), S(y)), y.v == y && (U = Q(U, y), W = Q(W, y), Q(h, y)[W] = U, 141 == h && (y.l = void 0, 2 == W && (y.R = F(y, false, 32), y.l = void 0)))
            }, e, 165), e), 252), e), 440), T(function(y, h) {
                $o((h = Q(S(y), y), y.v), h)
            }, e, 401), f)(e, 264, []), 324)), e), 73), 0), e), 505), [])), 0), 51)), 53), 0), e), 150), T(function(y, h, W, U) {
                f(y, (U = (W = (h = (U = S(y), S)(y), S)(y), h = Q(h, y), Q(U, y)), W), U[h])
            }, e, 290), T)(function() {}, e, 107), e), 419), function(y, h, W, U, I, O) {
                if (!k(true, h, y, true)) {
                    if (y = Q((W = (I = (h = (h = S((O = (I = S((W = S(y), y)), S(y)), y)), Q)(h, y), Q)(I, y), Q(W, y)), O), y), "object" == On(W)) {
                        for (U in O = [], W) O.push(U);
                        W = O
                    }
                    for (O = (U = (y = 0 < y ? y : 1, 0), W.length); U < O; U += y) I(W.slice(U, (U | 0) + (y | 0)), h)
                }
            }), e, 299), function(y, h, W, U) {
                !k(false, h, y, true) && (h = jY(y), W = h.ty, U = h.D, y.v == y || U == y.KR && W == y) && (f(y, h.Ay, U.apply(W, h.i)), y.o = y.Z())
            }), e, 111), e), 259), function(y, h, W) {
                0 != Q((W = (W = (h = S(y), S(y)), Q)(W, y), h), y) && f(y, 223, W)
            }), e, 476), e), 482), 2048)), 549)), 332), [160, 0, 0]), 220)), function(y) {
                C2(4, y)
            }), e, 261), B)), 100), 0), e), 31), e), 457), e)), [0, 0, 0])), 97)), 277)), I3)], e), X([D, c], e), mi), A], e), true))
        },
        Dt = function(e, A, c, N) {
            return (N = n[e.substring(0, 3) + "_"]) ? N(e.substring(3), A, c) : tQ(e, A)
        },
        q_ = function(e, A) {
            return A = E(e), A & 128 && (A = A & 127 | E(e) << 7), A
        },
        E = function(e) {
            return e.B ? Bw(e.j, e) : F(e, true, 8)
        },
        T = function(e, A, c) {
            f(A, c, e), e[I3] = 2796
        },
        gx = function(e, A, c, N, m, y) {
            function h() {
                if (e.v == e) {
                    if (e.A) {
                        var W = [G, N, A, void 0, m, y, arguments];
                        if (2 == c) var U = u(e, (X(W, e), false), false);
                        else if (1 == c) {
                            var I = !e.U.length;
                            X(W, e), I && u(e, false, false)
                        } else U = Zt(e, W);
                        return U
                    }
                    m && y && m.removeEventListener(y, h, d)
                }
            }
            return h
        },
        ye = function(e, A, c, N) {
            for (; e.U.length;) {
                c = (e.N = null, e.U.pop());
                try {
                    N = Zt(e, c)
                } catch (m) {
                    t(e, m)
                }
                if (A && e.N) {
                    (A = e.N, A)(function() {
                        u(e, true, true)
                    });
                    break
                }
            }
            return N
        },
        t = function(e, A) {
            e.H = ((e.H ? e.H + "~" : "E:") + A.message + ":" + A.stack).slice(0, 2048)
        },
        L2 = function(e, A, c, N) {
            try {
                N = e[((A | 0) + 2) % 3], e[A] = (e[A] | 0) - (e[((A | 0) + 1) % 3] | 0) - (N | 0) ^ (1 == A ? N << c : N >>> c)
            } catch (m) {
                throw m;
            }
        },
        SY = function(e, A) {
            return z[A](z.prototype, {
                parent: e,
                length: e,
                stack: e,
                prototype: e,
                propertyIsEnumerable: e,
                document: e,
                floor: e,
                replace: e,
                call: e,
                pop: e,
                splice: e,
                console: e
            })
        },
        k = function(e, A, c, N, m, y, h, W, U) {
            if ((c.X += ((m = (h = (U = (y = 4 == (N || c.h++, W = 0 < c.u && c.C && c.UX && 1 >= c.g && !c.B && !c.N && (!N || 1 < c.T - A) && 0 == document.hidden, c.h)) || W ? c.Z() : c.o, U) - c.o, h >> 14), c).R && (c.R ^= m * (h << 2)), m), c).v = m || c.v, y || W) c.h = 0, c.o = U;
            if (!W || U - c.F < c.u - (e ? 255 : N ? 5 : 2)) return false;
            return ((e = (c.T = A, Q(N ? 383 : 223, c)), f)(c, 223, c.I), c).U.push([Ww, e, N ? A + 1 : A]), c.N = P, true
        },
        iw = function(e) {
            return e
        },
        uw = function(e, A, c, N, m) {
            for (A = m = (N = (e = e.replace(/\r\n/g, "\n"), []), 0); m < e.length; m++) c = e.charCodeAt(m), 128 > c ? N[A++] = c : (2048 > c ? N[A++] = c >> 6 | 192 : (55296 == (c & 64512) && m + 1 < e.length && 56320 == (e.charCodeAt(m + 1) & 64512) ? (c = 65536 + ((c & 1023) << 10) + (e.charCodeAt(++m) & 1023), N[A++] = c >> 18 | 240, N[A++] = c >> 12 & 63 | 128) : N[A++] = c >> 12 | 224, N[A++] = c >> 6 & 63 | 128), N[A++] = c & 63 | 128);
            return N
        },
        n, p2 = String.fromCharCode(105, 110, 116, 101, 103, 67, 104, 101, 99, 107, 66, 121, 112, 97, 115, 115),
        K = (((a.prototype.xD = !(a.prototype.nR = void 0, 1), a.prototype).s = "toString", a.prototype).gD = void 0, []),
        x = {},
        D = [],
        G = [],
        Un = [],
        I3 = [],
        mi = [],
        Ww = [],
        p = [],
        z = ((((F5, function() {})(Z), function() {})(L2), N_, a).prototype.K = "create", x.constructor),
        R3 = ((V = a.prototype, V.QI = function() {
            return Math.floor(this.Z())
        }, V).oU = function(e, A, c, N, m, y) {
            for (m = (y = [], 0), c = 0; c < e.length; c++)
                for (m += A, N = N << A | e[c]; 7 < m;) m -= 8, y.push(N >> m & 255);
            return y
        }, V.cI = function(e, A, c, N, m) {
            for (m = N = 0; N < e.length; N++) m += e.charCodeAt(N), m += m << 10, m ^= m >> 6;
            return N = (e = (m += m << 3, m ^= m >> 11, m + (m << 15) >>> 0), new Number(e & (1 << A) - 1)), N[0] = (e >>> A) % c, N
        }, void 0),
        dx = ((V.qd = function() {
            return Math.floor(this.O + (this.Z() - this.F))
        }, V.Z = (window.performance || {}).now ? function() {
            return this.lT + window.performance.now()
        } : function() {
            return +new Date
        }, V).Nd = (V.Y = function(e, A, c, N, m) {
            if ((c = "array" === On(c) ? c : [c], this).H) e(this.H);
            else try {
                N = [], m = !this.U.length, X([K, N, c], this), X([p, e, N], this), A && !m || u(this, A, true)
            } catch (y) {
                t(this, y), e(this.H)
            }
        }, function(e, A, c) {
            return (A = (A ^= A << 13, A ^= A >> 17, (A ^ A << 5) & c)) || (A = 1), e ^ A
        }), a.prototype.P = function(e, A) {
            return R3 = (A = {}, e = {}, function() {
                    return e == A ? -73 : -56
                }),
                function(c, N, m, y, h, W, U, I, O, C, R, Y, l, H, w) {
                    e = (U = e, A);
                    try {
                        if (y = c[0], y == D) {
                            O = c[1];
                            try {
                                for (H = (Y = w = 0, m = atob(O), []); w < m.length; w++) C = m.charCodeAt(w), 255 < C && (H[Y++] = C & 255, C >>= 8), H[Y++] = C;
                                f(this, 141, [0, 0, (this.I = (this.L = H, this.L.length << 3), 0)])
                            } catch (g) {
                                v(g, this, 17);
                                return
                            }
                            wx(8001, this)
                        } else if (y == K) c[1].push(Q(210, this).length, Q(280, this).length, Q(332, this).length, Q(36, this)), f(this, 171, c[2]), this.A[16] && lw(Q(16, this), 8001, this);
                        else {
                            if (y == p) {
                                this.v = (h = (R = J((w = c[2], (Q(332, this).length | 0) + 2), 2), this.v), this);
                                try {
                                    N = Q(264, this), 0 < N.length && L(332, this, J(N.length, 2).concat(N), 10), L(332, this, J(this.X, 1), 109), L(332, this, J(this[p].length, 1)), m = 0, m -= (Q(332, this).length | 0) + 5, W = Q(210, this), m += Q(53, this) & 2047, 4 < W.length && (m -= (W.length | 0) + 3), 0 < m && L(332, this, J(m, 2).concat(Z(m)), 15), 4 < W.length && L(332, this, J(W.length, 2).concat(W), 156)
                                } finally {
                                    this.v = h
                                }
                                if (((H = Z(2).concat(Q(332, this)), H)[1] = H[0] ^ 6, H[3] = H[1] ^ R[0], H)[4] = H[1] ^ R[1], I = this.BI(H)) I = "!" + I;
                                else
                                    for (I = "", m = 0; m < H.length; m++) l = H[m][this.s](16), 1 == l.length && (l = "0" + l), I += l;
                                return f(this, 36, (Q((Q(280, (Q((Y = I, 210), this).length = w.shift(), this)).length = w.shift(), 332), this).length = w.shift(), w.shift())), Y
                            }
                            if (y == Ww) lw(c[1], c[2], this);
                            else if (y == G) return lw(c[1], 8001, this)
                        }
                    } finally {
                        e = U
                    }
                }
        }(), /./);
    a.prototype.CR = (a.prototype.BI = (a.prototype.iT = 0, function(e, A, c, N) {
        if (N = window.btoa) {
            for (c = (A = "", 0); c < e.length; c += 8192) A += String.fromCharCode.apply(null, e.slice(c, c + 8192));
            e = N(A).replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "")
        } else e = void 0;
        return e
    }), 0);
    var GF, JQ = (a.prototype[mi] = [0, 0, 1, 1, 0, 1, 1], D).pop.bind(a.prototype[K]),
        Qe = function(e, A) {
            return (A = hQ()) && 1 === e.eval(A.createScript("1")) ? function(c) {
                return A.createScript(c)
            } : function(c) {
                return "" + c
            }
        }(((GF = SY({get: JQ
        }, (dx[a.prototype.s] = JQ, a.prototype.K)), a.prototype).jB = void 0, B));
    (40 < (n = B.botguard || (B.botguard = {}), n.m) || (n.m = 41, n.bg = X5, n.a = Dt), n).QDj_ = function(e, A, c) {
        return c = new a(e, A), [function(N) {
            return rx(c, N)
        }]
    };
}).call(this);
#3 JavaScript::Eval (size: 60) - SHA256: 50a742b79bde52a21cb0dd6297bfcc215de7930f03dd910c5b60b863723c79fc
0,
function(y, h, W) {
    W = S((h = S(y), y)), h = y.A[h] && Q(h, y), f(y, W, h)
}
#4 JavaScript::Eval (size: 22) - SHA256: cbaa1253a51917af7651b4fa25dbaea52f5e10e8bc256a3e553c0657927ca13d
0,
function(y) {
    C2(2, y)
}
#5 JavaScript::Eval (size: 22) - SHA256: dfd55ef42c15d74a48aa4c0b0642d8bddc365525fd97a979d61196d132fee637
0,
function(y) {
    C2(1, y)
}
#6 JavaScript::Eval (size: 77117) - SHA256: c3e6af4a52f07f0fa559f373313870786d94ce969550654a1adbdd24fb2d30d3
(function(g, p, Q) {
    function F(a, b) {
        return parseInt(a.css(b), 10) || 0
    }

    function J() {
        var a = p,
            b = "inner";
        "innerWidth" in p || (b = "client", a = document.documentElement || document.body);
        return {
            width: a[b + "Width"],
            height: a[b + "Height"]
        }
    }

    function ha() {
        var a = L();
        p.location.hash = "";
        p.scrollTo(a.x, a.y)
    }

    function ia(a, b) {
        a = "//ilightbox.net/getSource/jsonp.php?url=" + encodeURIComponent(a).replace(/!/g, "%21").replace(/'/g, "%27").replace(/\(/g, "%28").replace(/\)/g, "%29").replace(/\*/g, "%2A");
        g.ajax({
            url: a,
            dataType: "jsonp"
        });
        iLCallback = function(a) {
            b.call(this, a)
        }
    }

    function R(a) {
        var b = [];
        g("*", a).each(function() {
            var a = "";
            "none" != g(this).css("background-image") ? a = g(this).css("background-image") : "undefined" != typeof g(this).attr("src") && "img" == this.nodeName.toLowerCase() && (a = g(this).attr("src"));
            if (-1 == a.indexOf("gradient"))
                for (var a = a.replace(/url\(\"/g, ""), a = a.replace(/url\(/g, ""), a = a.replace(/\"\)/g, ""), a = a.replace(/\)/g, ""), a = a.split(","), d = 0; d < a.length; d++)
                    if (0 < a[d].length && -1 == g.inArray(a[d], b)) {
                        var e = "";
                        D.msie && 9 > D.version && (e = "?" + M(3E3 * S()));
                        b.push(a[d] + e)
                    }
        });
        return b
    }

    function Z(a) {
        a = a.split(".").pop().toLowerCase();
        var b = -1 !== a.indexOf("?") ? a.split("?").pop() : "";
        return a.replace(b, "")
    }

    function aa(a) {
        a = Z(a);
        return -1 !== T.image.indexOf(a) ? "image" : -1 !== T.flash.indexOf(a) ? "flash" : -1 !== T.video.indexOf(a) ? "video" : "iframe"
    }

    function ba(a, b) {
        return parseInt(b / 100 * a)
    }

    function U(a) {
        return (a = String(a).replace(/^\s+|\s+$/g, "").match(/^([^:\/?#]+:)?(\/\/(?:[^:@]*(?::[^:@]*)?@)?(([^:\/?#]*)(?::(\d*))?))?([^?#]*)(\?[^#]*)?(#[\s\S]*)?/)) ? {
            href: a[0] || "",
            protocol: a[1] || "",
            authority: a[2] || "",
            host: a[3] || "",
            hostname: a[4] || "",
            port: a[5] || "",
            pathname: a[6] || "",
            search: a[7] || "",
            hash: a[8] || ""
        } : null
    }

    function N(a, b) {
        function c(a) {
            var b = [];
            a.replace(/^(\.\.?(\/|$))+/, "").replace(/\/(\.(\/|$))+/g, "/").replace(/\/\.\.$/, "/../").replace(/\/?[^\/]*/g, function(a) {
                "/.." === a ? b.pop() : b.push(a)
            });
            return b.join("").replace(/^\//, "/" === a.charAt(0) ? "/" : "")
        }
        b = U(b || "");
        a = U(a || "");
        return b && a ? (b.protocol || a.protocol) + (b.protocol || b.authority ? b.authority : a.authority) + c(b.protocol || b.authority || "/" === b.pathname.charAt(0) ? b.pathname : b.pathname ? (a.authority && !a.pathname ? "/" : "") + a.pathname.slice(0, a.pathname.lastIndexOf("/") + 1) + b.pathname : a.pathname) + (b.protocol || b.authority || b.pathname ? b.search : b.search || a.search) + b.hash : null
    }

    function ja(a, b, c) {
        this.php_js = this.php_js || {};
        this.php_js.ENV = this.php_js.ENV || {};
        var d = 0,
            e = 0,
            f = 0,
            h = {
                dev: -6,
                alpha: -5,
                a: -5,
                beta: -4,
                b: -4,
                RC: -3,
                rc: -3,
                "#": -2,
                p: 1,
                pl: 1
            },
            d = function(a) {
                a = ("" + a).replace(/[_\-+]/g, ".");
                a = a.replace(/([^.\d]+)/g, ".$1.").replace(/\.{2,}/g, ".");
                return a.length ? a.split(".") : [-8]
            },
            g = function(a) {
                return a ? isNaN(a) ? h[a] || -7 : parseInt(a, 10) : 0
            };
        a = d(a);
        b = d(b);
        e = ca(a.length, b.length);
        for (d = 0; d < e; d++)
            if (a[d] != b[d])
                if (a[d] = g(a[d]), b[d] = g(b[d]), a[d] < b[d]) {
                    f = -1;
                    break
                } else if (a[d] > b[d]) {
            f = 1;
            break
        }
        if (!c) return f;
        switch (c) {
            case ">":
            case "gt":
                return 0 < f;
            case ">=":
            case "ge":
                return 0 <= f;
            case "<=":
            case "le":
                return 0 >= f;
            case "==":
            case "=":
            case "eq":
                return 0 === f;
            case "<>":
            case "!=":
            case "ne":
                return 0 !== f;
            case "":
            case "<":
            case "lt":
                return 0 > f;
            default:
                return null
        }
    }

    function L() {
        var a = 0,
            b = 0;
        "number" == typeof p.pageYOffset ? (b = p.pageYOffset, a = p.pageXOffset) : document.body && (document.body.scrollLeft || document.body.scrollTop) ? (b = document.body.scrollTop, a = document.body.scrollLeft) : document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop) && (b = document.documentElement.scrollTop, a = document.documentElement.scrollLeft);
        return {
            x: a,
            y: b
        }
    }

    function da(a, b, c) {
        var d;
        d = q[a + b];
        null == d && (d = q[b]);
        return null != d ? (0 == b.indexOf(a) && null == c && (c = b.substring(a.length)), null == c && (c = b), c + '="' + d + '" ') : ""
    }

    function A(a, b) {
        if (0 == a.indexOf("emb#")) return "";
        0 == a.indexOf("obj#") && null == b && (b = a.substring(4));
        return da("obj#", a, b)
    }

    function G(a, b) {
        if (0 == a.indexOf("obj#")) return "";
        0 == a.indexOf("emb#") && null == b && (b = a.substring(4));
        return da("emb#", a, b)
    }

    function ea(a, b) {
        var c, d = "",
            e = b ? " />" : ">"; - 1 == a.indexOf("emb#") && (c = q["obj#" + a], null == c && (c = q[a]), 0 == a.indexOf("obj#") && (a = a.substring(4)), null != c && (d = '  <param name="' + a + '" value="' + c + '"' + e + "\n"));
        return d
    }

    function ka() {
        for (var a = 0; a < arguments.length; a++) {
            var b = arguments[a];
            delete q[b];
            delete q["emb#" + b];
            delete q["obj#" + b]
        }
    }

    function la() {
        var a;
        a = "QT_GenerateOBJECTText";
        var b = arguments;
        if (4 > b.length || 0 != b.length % 2) b = o, b = b.replace("%%", a), alert(b), a = "";
        else {
            q = [];
            q.src = b[0];
            q.width = b[1];
            q.height = b[2];
            q.classid = "clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B";
            q.pluginspage = "http://www.apple.com/quicktime/download/";
            a = b[3];
            if (null == a || "" == a) a = "6,0,2,0";
            q.codebase = "http://www.apple.com/qtactivex/qtplugin.cab#version=" + a;
            for (var c, d = 4; d < b.length; d += 2) c = b[d].toLowerCase(), a = b[d + 1], "name" == c || "id" == c ? q.name = a : q[c] = a;
            b = "<object " + A("classid") + A("width") + A("height") + A("codebase") + A("name", "id") + A("tabindex") + A("hspace") + A("vspace") + A("border") + A("align") + A("class") + A("title") + A("accesskey") + A("noexternaldata") + ">\n" + ea("src", !1);
            d = "  <embed " + G("src") + G("width") + G("height") + G("pluginspage") + G("name") + G("align") + G("tabindex");
            ka("src", "width", "height", "pluginspage", "classid", "codebase", "name", "tabindex", "hspace", "vspace", "border", "align", "noexternaldata", "class", "title", "accesskey");
            for (c in q) a = q[c], null != a && (d += G(c), b += ea(c, !1));
            a = b + d + "> </embed>\n</object>"
        }
        return a
    }
    var T = {
            flash: ["swf"],
            image: "bmp gif jpeg jpg png tiff tif jfif jpe".split(" "),
            iframe: "asp aspx cgi cfm htm html jsp php pl php3 php4 php5 phtml rb rhtml shtml txt".split(" "),
            video: "avi mov mpg mpeg movie mp4 webm ogv ogg 3gp m4v".split(" ")
        },
        O = g(p),
        E = g(document),
        D, B, H, u = "",
        V = navigator.userAgent || navigator.vendor || p.opera,
        z = !!("ontouchstart" in p) && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(V),
        na = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(V) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(V.substr(0, 4)),
        K = z ? "itap.iLightBox" : "click.iLightBox",
        oa = z ? "touchstart.iLightBox" : "mousedown.iLightBox",
        pa = z ? "touchend.iLightBox" : "mouseup.iLightBox",
        W = z ? "touchmove.iLightBox" : "mousemove.iLightBox",
        I = Math.abs,
        P = Math.sqrt,
        X = Math.round,
        ca = Math.max,
        Y = Math.min,
        M = Math.floor,
        S = Math.random,
        fa = function(a, b, c, d) {
            var e = this;
            e.options = b;
            e.selector = a.selector || a;
            e.context = a.context;
            e.instant = d;
            1 > c.length ? e.attachItems() : e.items = c;
            e.vars = {
                total: e.items.length,
                start: 0,
                current: null,
                next: null,
                prev: null,
                BODY: g("body"),
                loadRequests: 0,
                overlay: g('<div class="ilightbox-overlay"></div>'),
                loader: g('<div class="ilightbox-loader"><div></div></div>'),
                toolbar: g('<div class="ilightbox-toolbar"></div>'),
                innerToolbar: g('<div class="ilightbox-inner-toolbar"></div>'),
                title: g('<div class="ilightbox-title"></div>'),
                closeButton: g('<a class="ilightbox-close" title="' + e.options.text.close + '"></a>'),
                fullScreenButton: g('<a class="ilightbox-fullscreen" title="' + e.options.text.enterFullscreen + '"></a>'),
                innerPlayButton: g('<a class="ilightbox-play" title="' + e.options.text.slideShow + '"></a>'),
                innerNextButton: g('<a class="ilightbox-next-button" title="' + e.options.text.next + '"></a>'),
                innerPrevButton: g('<a class="ilightbox-prev-button" title="' + e.options.text.previous + '"></a>'),
                holder: g('<div class="ilightbox-holder' + (z ? " supportTouch" : "") + '" ondragstart="return false;"><div class="ilightbox-container"></div></div>'),
                nextPhoto: g('<div class="ilightbox-holder' + (z ? " supportTouch" : "") + ' ilightbox-next" ondragstart="return false;"><div class="ilightbox-container"></div></div>'),
                prevPhoto: g('<div class="ilightbox-holder' + (z ? " supportTouch" : "") + ' ilightbox-prev" ondragstart="return false;"><div class="ilightbox-container"></div></div>'),
                nextButton: g('<a class="ilightbox-button ilightbox-next-button" ondragstart="return false;" title="' + e.options.text.next + '"><span></span></a>'),
                prevButton: g('<a class="ilightbox-button ilightbox-prev-button" ondragstart="return false;" title="' + e.options.text.previous + '"><span></span></a>'),
                thumbnails: g('<div class="ilightbox-thumbnails" ondragstart="return false;"><div class="ilightbox-thumbnails-container"><a class="ilightbox-thumbnails-dragger"></a><div class="ilightbox-thumbnails-grid"></div></div></div>'),
                thumbs: !1,
                nextLock: !1,
                prevLock: !1,
                hashLock: !1,
                isMobile: !1,
                mobileMaxWidth: 980,
                isInFullScreen: !1,
                isSwipe: !1,
                mouseID: 0,
                cycleID: 0,
                isPaused: 0
            };
            e.vars.hideableElements = e.vars.nextButton.add(e.vars.prevButton);
            e.normalizeItems();
            e.availPlugins();
            e.options.startFrom = 0 < e.options.startFrom && e.options.startFrom >= e.vars.total ? e.vars.total - 1 : e.options.startFrom;
            e.options.startFrom = e.options.randomStart ? M(S() * e.vars.total) : e.options.startFrom;
            e.vars.start = e.options.startFrom;
            d ? e.instantCall() : e.patchItemsEvents();
            e.options.linkId && (e.hashChangeHandler(), O.iLightBoxHashChange(function() {
                e.hashChangeHandler()
            }));
            z && (a = /(click|mouseenter|mouseleave|mouseover|mouseout)/ig, e.options.caption.show = e.options.caption.show.replace(a, "itap"), e.options.caption.hide = e.options.caption.hide.replace(a, "itap"), e.options.social.show = e.options.social.show.replace(a, "itap"), e.options.social.hide = e.options.social.hide.replace(a, "itap"));
            e.options.controls.arrows && g.extend(e.options.styles, {
                nextOffsetX: 0,
                prevOffsetX: 0,
                nextOpacity: 0,
                prevOpacity: 0
            })
        };
    fa.prototype = {
        showLoader: function() {
            this.vars.loadRequests += 1;
            "horizontal" == this.options.path.toLowerCase() ? this.vars.loader.stop().animate({
                top: "-30px"
            }, this.options.show.speed, "easeOutCirc") : this.vars.loader.stop().animate({
                left: "-30px"
            }, this.options.show.speed, "easeOutCirc")
        },
        hideLoader: function() {
            --this.vars.loadRequests;
            this.vars.loadRequests = 0 > this.vars.loadRequests ? 0 : this.vars.loadRequests;
            "horizontal" == this.options.path.toLowerCase() ? 0 >= this.vars.loadRequests && this.vars.loader.stop().animate({
                top: "-192px"
            }, this.options.show.speed, "easeInCirc") : 0 >= this.vars.loadRequests && this.vars.loader.stop().animate({
                left: "-192px"
            }, this.options.show.speed, "easeInCirc")
        },
        createUI: function() {
            var a = this;
            a.ui = {
                currentElement: a.vars.holder,
                nextElement: a.vars.nextPhoto,
                prevElement: a.vars.prevPhoto,
                currentItem: a.vars.current,
                nextItem: a.vars.next,
                prevItem: a.vars.prev,
                hide: function() {
                    a.closeAction()
                },
                refresh: function() {
                    0 < arguments.length ? a.repositionPhoto(!0) : a.repositionPhoto()
                },
                fullscreen: function() {
                    a.fullScreenAction()
                }
            }
        },
        attachItems: function() {
            var a = this,
                b = [],
                c = [];
            g(a.selector, a.context).each(function() {
                var d = g(this),
                    e = d.attr(a.options.attr) || null,
                    f = d.data("options") && eval("({" + d.data("options") + "})") || {},
                    h = d.data("caption"),
                    l = d.data("title"),
                    k = d.data("type") || aa(e);
                c.push({
                    URL: e,
                    caption: h,
                    title: l,
                    type: k,
                    options: f
                });
                a.instant || b.push(d)
            });
            a.items = c;
            a.itemsObject = b
        },
        normalizeItems: function() {
            var a = this,
                b = [];
            g.each(a.items, function(c, d) {
                "string" == typeof d && (d = {
                    url: d
                });
                var e = d.url || d.URL || null,
                    f = d.options || {},
                    h = d.caption || null,
                    l = d.title || null,
                    k = d.type ? d.type.toLowerCase() : aa(e),
                    m = "object" != typeof e ? Z(e) : "";
                f.thumbnail = f.thumbnail || ("image" == k ? e : null);
                f.videoType = f.videoType || null;
                f.skin = f.skin || a.options.skin;
                f.width = f.width || null;
                f.height = f.height || null;
                f.mousewheel = "undefined" != typeof f.mousewheel ? f.mousewheel : !0;
                f.swipe = "undefined" != typeof f.swipe ? f.swipe : !0;
                f.social = "undefined" != typeof f.social ? f.social : a.options.social.buttons && g.extend({}, {}, a.options.social.buttons);
                "video" == k && (f.html5video = "undefined" != typeof f.html5video ? f.html5video : {}, f.html5video.webm = f.html5video.webm || f.html5video.WEBM || null, f.html5video.controls = "undefined" != typeof f.html5video.controls ? f.html5video.controls : "controls", f.html5video.preload = f.html5video.preload || "metadata", f.html5video.autoplay = "undefined" != typeof f.html5video.autoplay ? f.html5video.autoplay : !1);
                f.width && f.height || ("video" == k ? (f.width = 1280, f.height = 720) : "iframe" == k ? (f.width = "100%", f.height = "90%") : "flash" == k && (f.width = 1280, f.height = 720));
                delete d.url;
                d.index = c;
                d.URL = e;
                d.caption = h;
                d.title = l;
                d.type = k;
                d.options = f;
                d.ext = m;
                b.push(d)
            });
            a.items = b
        },
        instantCall: function() {
            var a = this.vars.start;
            this.vars.current = a;
            this.vars.next = this.items[a + 1] ? a + 1 : null;
            this.vars.prev = this.items[a - 1] ? a - 1 : null;
            this.addContents();
            this.patchEvents()
        },
        addContents: function() {
            var a = this,
                b = a.vars,
                c = a.options,
                d = J(),
                e = c.path.toLowerCase(),
                f = 0 < b.total && a.items.filter(function(a, b, d) {
                    return -1 === ["image", "flash", "video"].indexOf(a.type) && "undefined" === typeof a.recognized && (c.smartRecognition || a.options.smartRecognition)
                }),
                h = 0 < f.length;
            c.mobileOptimizer && !c.innerToolbar && (b.isMobile = d.width <= b.mobileMaxWidth);
            b.overlay.addClass(c.skin).hide().css("opacity", c.overlay.opacity);
            c.linkId && b.overlay[0].setAttribute("linkid", c.linkId);
            c.controls.toolbar && (b.toolbar.addClass(c.skin).append(b.closeButton), c.controls.fullscreen && b.toolbar.append(b.fullScreenButton), c.controls.slideshow && b.toolbar.append(b.innerPlayButton), 1 < b.total && b.toolbar.append(b.innerPrevButton).append(b.innerNextButton));
            b.BODY.addClass("ilightbox-noscroll").append(b.overlay).append(b.loader).append(b.holder).append(b.nextPhoto).append(b.prevPhoto);
            c.innerToolbar || b.BODY.append(b.toolbar);
            c.controls.arrows && b.BODY.append(b.nextButton).append(b.prevButton);
            c.controls.thumbnail && 1 < b.total && (b.BODY.append(b.thumbnails), b.thumbnails.addClass(c.skin).addClass("ilightbox-" + e), g("div.ilightbox-thumbnails-grid", b.thumbnails).empty(), b.thumbs = !0);
            d = "horizontal" == c.path.toLowerCase() ? {
                left: parseInt(d.width / 2 - b.loader.outerWidth() / 2)
            } : {
                top: parseInt(d.height / 2 - b.loader.outerHeight() / 2)
            };
            b.loader.addClass(c.skin).css(d);
            b.nextButton.add(b.prevButton).addClass(c.skin);
            "horizontal" == e && b.loader.add(b.nextButton).add(b.prevButton).addClass("horizontal");
            b.BODY[b.isMobile ? "addClass" : "removeClass"]("isMobile");
            c.infinite || (b.prevButton.add(b.prevButton).add(b.innerPrevButton).add(b.innerNextButton).removeClass("disabled"), 0 == b.current && b.prevButton.add(b.innerPrevButton).addClass("disabled"), b.current >= b.total - 1 && b.nextButton.add(b.innerNextButton).addClass("disabled"));
            c.show.effect ? (b.overlay.stop().fadeIn(c.show.speed), b.toolbar.stop().fadeIn(c.show.speed)) : (b.overlay.show(), b.toolbar.show());
            var l = f.length;
            h ? (a.showLoader(), g.each(f, function(d, e) {
                a.ogpRecognition(this, function(d) {
                    console.log(d);
                    var e = -1;
                    a.items.filter(function(a, b, c) {
                        a.URL == d.url && (e = b);
                        return a.URL == d.url
                    });
                    var f = a.items[e];
                    d && g.extend(!0, f, {
                        URL: d.source,
                        type: d.type,
                        recognized: !0,
                        options: {
                            html5video: d.html5video,
                            width: "image" == d.type ? 0 : d.width || f.width,
                            height: "image" == d.type ? 0 : d.height || f.height,
                            thumbnail: f.options.thumbnail || d.thumbnail
                        }
                    });
                    l--;
                    0 == l && (a.hideLoader(), b.dontGenerateThumbs = !1, a.generateThumbnails(), c.show.effect ? setTimeout(function() {
                        a.generateBoxes()
                    }, c.show.speed) : a.generateBoxes())
                })
            })) : c.show.effect ? setTimeout(function() {
                a.generateBoxes()
            }, c.show.speed) : a.generateBoxes();
            a.createUI();
            p.iLightBox = {
                close: function() {
                    a.closeAction()
                },
                fullscreen: function() {
                    a.fullScreenAction()
                },
                moveNext: function() {
                    a.moveTo("next")
                },
                movePrev: function() {
                    a.moveTo("prev")
                },
                goTo: function(b) {
                    a.goTo(b)
                },
                refresh: function() {
                    a.refresh()
                },
                reposition: function() {
                    0 < arguments.length ? a.repositionPhoto(!0) : a.repositionPhoto()
                },
                setOption: function(b) {
                    a.setOption(b)
                },
                destroy: function() {
                    a.closeAction();
                    a.dispatchItemsEvents()
                }
            };
            c.linkId && (b.hashLock = !0, p.location.hash = c.linkId + "/" + b.current, setTimeout(function() {
                b.hashLock = !1
            }, 55));
            c.slideshow.startPaused || (a.resume(), b.innerPlayButton.removeClass("ilightbox-play").addClass("ilightbox-pause"));
            "function" == typeof a.options.callback.onOpen && a.options.callback.onOpen.call(a)
        },
        loadContent: function(a, b, c) {
            var d, e;
            this.createUI();
            a.speed = c || this.options.effects.loadedFadeSpeed;
            "current" == b && (this.vars.lockWheel = a.options.mousewheel ? !1 : !0, this.vars.lockSwipe = a.options.swipe ? !1 : !0);
            switch (b) {
                case "current":
                    d = this.vars.holder;
                    e = this.vars.current;
                    break;
                case "next":
                    d = this.vars.nextPhoto;
                    e = this.vars.next;
                    break;
                case "prev":
                    d = this.vars.prevPhoto, e = this.vars.prev
            }
            d.removeAttr("style class").addClass("ilightbox-holder" + (z ? " supportTouch" : "")).addClass(a.options.skin);
            g("div.ilightbox-inner-toolbar", d).remove();
            if (a.title || this.options.innerToolbar) {
                c = this.vars.innerToolbar.clone();
                if (a.title && this.options.show.title) {
                    var f = this.vars.title.clone();
                    f.empty().html(a.title);
                    c.append(f)
                }
                this.options.innerToolbar && c.append(1 < this.vars.total ? this.vars.toolbar.clone() : this.vars.toolbar);
                d.prepend(c)
            }
            this.loadSwitcher(a, d, e, b)
        },
        loadSwitcher: function(a, b, c, d) {
            var e = this,
                f = e.options,
                h = {
                    element: b,
                    position: c
                };
            switch (a.type) {
                case "image":
                    "function" == typeof f.callback.onBeforeLoad && f.callback.onBeforeLoad.call(e, e.ui, c);
                    "function" == typeof a.options.onBeforeLoad && a.options.onBeforeLoad.call(e, h);
                    e.loadImage(a.URL, function(l) {
                        "function" == typeof f.callback.onAfterLoad && f.callback.onAfterLoad.call(e, e.ui, c);
                        "function" == typeof a.options.onAfterLoad && a.options.onAfterLoad.call(e, h);
                        b.data({
                            naturalWidth: l ? l.width : 400,
                            naturalHeight: l ? l.height : 200
                        });
                        g("div.ilightbox-container", b).empty().append(l ? '<img src="' + a.URL + '" class="ilightbox-image" />' : '<span class="ilightbox-alert">' + f.errors.loadImage + "</span>");
                        "function" == typeof f.callback.onRender && f.callback.onRender.call(e, e.ui, c);
                        "function" == typeof a.options.onRender && a.options.onRender.call(e, h);
                        e.configureHolder(a, d, b)
                    });
                    break;
                case "video":
                    b.data({
                        naturalWidth: a.options.width,
                        naturalHeight: a.options.height
                    });
                    e.addContent(b, a);
                    "function" == typeof f.callback.onRender && f.callback.onRender.call(e, e.ui, c);
                    "function" == typeof a.options.onRender && a.options.onRender.call(e, h);
                    e.configureHolder(a, d, b);
                    break;
                case "iframe":
                    e.showLoader();
                    b.data({
                        naturalWidth: a.options.width,
                        naturalHeight: a.options.height
                    });
                    var l = e.addContent(b, a);
                    "function" == typeof f.callback.onRender && f.callback.onRender.call(e, e.ui, c);
                    "function" == typeof a.options.onRender && a.options.onRender.call(e, h);
                    "function" == typeof f.callback.onBeforeLoad && f.callback.onBeforeLoad.call(e, e.ui, c);
                    "function" == typeof a.options.onBeforeLoad && a.options.onBeforeLoad.call(e, h);
                    l.bind("load", function() {
                        "function" == typeof f.callback.onAfterLoad && f.callback.onAfterLoad.call(e, e.ui, c);
                        "function" == typeof a.options.onAfterLoad && a.options.onAfterLoad.call(e, h);
                        e.hideLoader();
                        e.configureHolder(a, d, b);
                        l.unbind("load")
                    });
                    break;
                case "inline":
                    var l = g(a.URL),
                        k = e.addContent(b, a),
                        m = R(b);
                    b.data({
                        naturalWidth: e.items[c].options.width || l.outerWidth(),
                        naturalHeight: e.items[c].options.height || l.outerHeight()
                    });
                    k.children().eq(0).show();
                    "function" == typeof f.callback.onRender && f.callback.onRender.call(e, e.ui, c);
                    "function" == typeof a.options.onRender && a.options.onRender.call(e, h);
                    "function" == typeof f.callback.onBeforeLoad && f.callback.onBeforeLoad.call(e, e.ui, c);
                    "function" == typeof a.options.onBeforeLoad && a.options.onBeforeLoad.call(e, h);
                    e.loadImage(m, function() {
                        "function" == typeof f.callback.onAfterLoad && f.callback.onAfterLoad.call(e, e.ui, c);
                        "function" == typeof a.options.onAfterLoad && a.options.onAfterLoad.call(e, h);
                        e.configureHolder(a, d, b)
                    });
                    break;
                case "flash":
                    l = e.addContent(b, a);
                    b.data({
                        naturalWidth: e.items[c].options.width || l.outerWidth(),
                        naturalHeight: e.items[c].options.height || l.outerHeight()
                    });
                    "function" == typeof f.callback.onRender && f.callback.onRender.call(e, e.ui, c);
                    "function" == typeof a.options.onRender && a.options.onRender.call(e, h);
                    e.configureHolder(a, d, b);
                    break;
                case "ajax":
                    var n = a.options.ajax || {};
                    "function" == typeof f.callback.onBeforeLoad && f.callback.onBeforeLoad.call(e, e.ui, c);
                    "function" == typeof a.options.onBeforeLoad && a.options.onBeforeLoad.call(e, h);
                    e.showLoader();
                    g.ajax({
                        url: a.URL || f.ajaxSetup.url,
                        data: n.data || null,
                        dataType: n.dataType || "html",
                        type: n.type || f.ajaxSetup.type,
                        cache: n.cache || f.ajaxSetup.cache,
                        crossDomain: n.crossDomain || f.ajaxSetup.crossDomain,
                        global: n.global || f.ajaxSetup.global,
                        ifModified: n.ifModified || f.ajaxSetup.ifModified,
                        username: n.username || f.ajaxSetup.username,
                        password: n.password || f.ajaxSetup.password,
                        beforeSend: n.beforeSend || f.ajaxSetup.beforeSend,
                        complete: n.complete || f.ajaxSetup.complete,
                        success: function(l, k, m) {
                            e.hideLoader();
                            var r = g(l),
                                v = g("div.ilightbox-container", b),
                                C = e.items[c].options.width || parseInt(r[0].getAttribute("width")),
                                t = e.items[c].options.height || parseInt(r[0].getAttribute("height")),
                                y = r[0].getAttribute("width") && r[0].getAttribute("height") ? {
                                    overflow: "hidden"
                                } : {};
                            v.empty().append(g('<div class="ilightbox-wrapper"></div>').css(y).html(r));
                            b.show().data({
                                naturalWidth: C || v.outerWidth(),
                                naturalHeight: t || v.outerHeight()
                            }).hide();
                            "function" == typeof f.callback.onRender && f.callback.onRender.call(e, e.ui, c);
                            "function" == typeof a.options.onRender && a.options.onRender.call(e, h);
                            r = R(b);
                            e.loadImage(r, function() {
                                "function" == typeof f.callback.onAfterLoad && f.callback.onAfterLoad.call(e, e.ui, c);
                                "function" == typeof a.options.onAfterLoad && a.options.onAfterLoad.call(e, h);
                                e.configureHolder(a, d, b)
                            });
                            f.ajaxSetup.success(l, k, m);
                            "function" == typeof n.success && n.success(l, k, m)
                        },
                        error: function(l, k, m) {
                            "function" == typeof f.callback.onAfterLoad && f.callback.onAfterLoad.call(e, e.ui, c);
                            "function" == typeof a.options.onAfterLoad && a.options.onAfterLoad.call(e, h);
                            e.hideLoader();
                            g("div.ilightbox-container", b).empty().append('<span class="ilightbox-alert">' + f.errors.loadContents + "</span>");
                            e.configureHolder(a, d, b);
                            f.ajaxSetup.error(l, k, m);
                            "function" == typeof n.error && n.error(l, k, m)
                        }
                    });
                    break;
                case "html":
                    k = a.URL;
                    container = g("div.ilightbox-container", b);
                    k[0].nodeName ? l = k.clone() : (k = g(k), l = k.selector ? g("<div>" + k + "</div>") : k);
                    var C = e.items[c].options.width || parseInt(l.attr("width")),
                        y = e.items[c].options.height || parseInt(l.attr("height"));
                    e.addContent(b, a);
                    l.appendTo(document.documentElement).hide();
                    "function" == typeof f.callback.onRender && f.callback.onRender.call(e, e.ui, c);
                    "function" == typeof a.options.onRender && a.options.onRender.call(e, h);
                    m = R(b);
                    "function" == typeof f.callback.onBeforeLoad && f.callback.onBeforeLoad.call(e, e.ui, c);
                    "function" == typeof a.options.onBeforeLoad && a.options.onBeforeLoad.call(e, h);
                    e.loadImage(m, function() {
                        "function" == typeof f.callback.onAfterLoad && f.callback.onAfterLoad.call(e, e.ui, c);
                        "function" == typeof a.options.onAfterLoad && a.options.onAfterLoad.call(e, h);
                        b.show().data({
                            naturalWidth: C || container.outerWidth(),
                            naturalHeight: y || container.outerHeight()
                        }).hide();
                        l.remove();
                        e.configureHolder(a, d, b)
                    })
            }
        },
        configureHolder: function(a, b, c) {
            var d = this,
                e = d.vars,
                f = d.options;
            "current" != b && ("next" == b ? c.addClass("ilightbox-next") : c.addClass("ilightbox-prev"));
            if ("current" == b) var h = e.current;
            else if ("next" == b) var l = f.styles.nextOpacity,
                h = e.next;
            else l = f.styles.prevOpacity, h = e.prev;
            var k = {
                element: c,
                position: h
            };
            d.items[h].options.width = d.items[h].options.width || 0;
            d.items[h].options.height = d.items[h].options.height || 0;
            "current" == b ? f.show.effect ? c.css(B, H).fadeIn(a.speed, function() {
                c.css(B, "");
                if (a.caption) {
                    d.setCaption(a, c);
                    var b = g("div.ilightbox-caption", c),
                        e = parseInt(b.outerHeight() / c.outerHeight() * 100);
                    f.caption.start & 50 >= e && b.fadeIn(f.effects.fadeSpeed)
                }
                if (b = a.options.social) d.setSocial(b, a.URL, c), f.social.start && g("div.ilightbox-social", c).fadeIn(f.effects.fadeSpeed);
                d.generateThumbnails();
                "function" == typeof f.callback.onShow && f.callback.onShow.call(d, d.ui, h);
                "function" == typeof a.options.onShow && a.options.onShow.call(d, k)
            }) : (c.show(), d.generateThumbnails(), "function" == typeof f.callback.onShow && f.callback.onShow.call(d, d.ui, h), "function" == typeof a.options.onShow && a.options.onShow.call(d, k)) : f.show.effect ? c.fadeTo(a.speed, l, function() {
                "next" == b ? e.nextLock = !1 : e.prevLock = !1;
                d.generateThumbnails();
                "function" == typeof f.callback.onShow && f.callback.onShow.call(d, d.ui, h);
                "function" == typeof a.options.onShow && a.options.onShow.call(d, k)
            }) : (c.css({
                opacity: l
            }).show(), "next" == b ? e.nextLock = !1 : e.prevLock = !1, d.generateThumbnails(), "function" == typeof f.callback.onShow && f.callback.onShow.call(d, d.ui, h), "function" == typeof a.options.onShow && a.options.onShow.call(d, k));
            setTimeout(function() {
                d.repositionPhoto()
            }, 0)
        },
        generateBoxes: function() {
            var a = this.vars,
                b = this.options;
            b.infinite && 3 <= a.total ? (a.current == a.total - 1 && (a.next = 0), 0 == a.current && (a.prev = a.total - 1)) : b.infinite = !1;
            this.loadContent(this.items[a.current], "current", b.show.speed);
            this.items[a.next] && this.loadContent(this.items[a.next], "next", b.show.speed);
            this.items[a.prev] && this.loadContent(this.items[a.prev], "prev", b.show.speed)
        },
        generateThumbnails: function() {
            var a = this,
                b = a.vars,
                c = a.options,
                d = null;
            if (b.thumbs && !a.vars.dontGenerateThumbs) {
                var e = b.thumbnails,
                    f = g("div.ilightbox-thumbnails-container", e),
                    h = g("div.ilightbox-thumbnails-grid", f),
                    l = 0;
                h.removeAttr("style").empty();
                g.each(a.items, function(k, m) {
                    var n = b.current == k ? "ilightbox-active" : "",
                        C = b.current == k ? c.thumbnails.activeOpacity : c.thumbnails.normalOpacity,
                        y = m.options.thumbnail,
                        r = g('<div class="ilightbox-thumbnail"></div>'),
                        v = g('<div class="ilightbox-thumbnail-icon"></div>');
                    r.css({
                        opacity: 0
                    }).addClass(n);
                    "video" != m.type && "flash" != m.type || "undefined" != typeof m.options.icon ? m.options.icon && (v.addClass("ilightbox-thumbnail-" + m.options.icon), r.append(v)) : (v.addClass("ilightbox-thumbnail-video"), r.append(v));
                    y && a.loadImage(y, function(b) {
                        l++;
                        b ? r.data({
                            naturalWidth: b.width,
                            naturalHeight: b.height
                        }).append('<img src="' + y + '" border="0" />') : r.data({
                            naturalWidth: c.thumbnails.maxWidth,
                            naturalHeight: c.thumbnails.maxHeight
                        });
                        clearTimeout(d);
                        d = setTimeout(function() {
                            a.positionThumbnails(e, f, h)
                        }, 20);
                        setTimeout(function() {
                            r.fadeTo(c.effects.loadedFadeSpeed, C)
                        }, 20 * l)
                    });
                    h.append(r)
                });
                a.vars.dontGenerateThumbs = !0
            }
        },
        positionThumbnails: function(a, b, c) {
            var d = this,
                e = d.vars,
                f = d.options,
                h = J(),
                l = f.path.toLowerCase();
            a || (a = e.thumbnails);
            b || (b = g("div.ilightbox-thumbnails-container", a));
            c || (c = g("div.ilightbox-thumbnails-grid", b));
            var k = g(".ilightbox-thumbnail", c),
                e = "horizontal" == l ? h.width - f.styles.pageOffsetX : k.eq(0).outerWidth() - f.styles.pageOffsetX,
                h = "horizontal" == l ? k.eq(0).outerHeight() - f.styles.pageOffsetY : h.height - f.styles.pageOffsetY,
                m = "horizontal" == l ? 0 : e,
                n = "horizontal" == l ? h : 0,
                C = g(".ilightbox-active", c),
                y = {};
            3 > arguments.length && (k.css({
                opacity: f.thumbnails.normalOpacity
            }), C.css({
                opacity: f.thumbnails.activeOpacity
            }));
            k.each(function(a) {
                a = g(this);
                var b = a.data(),
                    c = "horizontal" == l ? 0 : f.thumbnails.maxWidth;
                height = "horizontal" == l ? f.thumbnails.maxHeight : 0;
                dims = d.getNewDimenstions(c, height, b.naturalWidth, b.naturalHeight, !0);
                a.css({
                    width: dims.width,
                    height: dims.height
                });
                "horizontal" == l && a.css({
                    "float": "left"
                });
                "horizontal" == l ? m += a.outerWidth() : n += a.outerHeight()
            });
            y = {
                width: m,
                height: n
            };
            c.css(y);
            var y = {},
                k = c.offset(),
                r = C.length ? C.offset() : {
                    top: parseInt(h / 2),
                    left: parseInt(e / 2)
                };
            k.top -= E.scrollTop();
            k.left -= E.scrollLeft();
            r.top = r.top - k.top - E.scrollTop();
            r.left = r.left - k.left - E.scrollLeft();
            "horizontal" == l ? (y.top = 0, y.left = parseInt(e / 2 - r.left - C.outerWidth() / 2)) : (y.top = parseInt(h / 2 - r.top - C.outerHeight() / 2), y.left = 0);
            3 > arguments.length ? c.stop().animate(y, f.effects.repositionSpeed, "easeOutCirc") : c.css(y)
        },
        loadImage: function(a, b) {
            g.isArray(a) || (a = [a]);
            var c = this,
                d = a.length;
            0 < d ? (c.showLoader(), g.each(a, function(e, f) {
                var h = new Image;
                h.onload = function() {
                    --d;
                    0 == d && (c.hideLoader(), b(h))
                };
                h.onerror = h.onabort = function() {
                    --d;
                    0 == d && (c.hideLoader(), b(!1))
                };
                h.src = a[e]
            })) : b(!1)
        },
        patchItemsEvents: function() {
            var a = this,
                b = a.vars,
                c = z ? "itap.iL" : "click.iL",
                d = z ? "click.iL" : "itap.iL";
            if (a.context && a.selector) {
                var e = g(a.selector, a.context);
                g(a.context).on(c, a.selector, function() {
                    var c = g(this),
                        c = e.index(c);
                    b.current = c;
                    b.next = a.items[c + 1] ? c + 1 : null;
                    b.prev = a.items[c - 1] ? c - 1 : null;
                    a.addContents();
                    a.patchEvents();
                    return !1
                }).on(d, a.selector, function() {
                    return !1
                })
            } else g.each(a.itemsObject, function(e, h) {
                h.on(c, function() {
                    b.current = e;
                    b.next = a.items[e + 1] ? e + 1 : null;
                    b.prev = a.items[e - 1] ? e - 1 : null;
                    a.addContents();
                    a.patchEvents();
                    return !1
                }).on(d, function() {
                    return !1
                })
            })
        },
        dispatchItemsEvents: function() {
            this.context && this.selector ? g(this.context).off(".iL", this.selector) : g.each(this.itemsObject, function(a, b) {
                b.off(".iL")
            })
        },
        refresh: function() {
            this.dispatchItemsEvents();
            this.attachItems();
            this.normalizeItems();
            this.patchItemsEvents()
        },
        patchEvents: function() {
            function a(a) {
                c.isMobile || (c.mouseID || c.hideableElements.show(), c.mouseID = clearTimeout(c.mouseID), -1 === k.indexOf(a.target) && (c.mouseID = setTimeout(function() {
                    c.hideableElements.hide();
                    c.mouseID = clearTimeout(c.mouseID)
                }, 3E3)))
            }
            var b = this,
                c = b.vars,
                d = b.options,
                e = d.path.toLowerCase(),
                f = g(".ilightbox-holder"),
                h = u.fullScreenEventName + ".iLightBox",
                l = verticalDistanceThreshold = 100,
                k = [c.nextButton[0], c.prevButton[0], c.nextButton[0].firstChild, c.prevButton[0].firstChild];
            O.bind("resize.iLightBox", function() {
                var a = J();
                d.mobileOptimizer && !d.innerToolbar && (c.isMobile = a.width <= c.mobileMaxWidth);
                c.BODY[c.isMobile ? "addClass" : "removeClass"]("isMobile");
                b.repositionPhoto(null);
                z && (clearTimeout(c.setTime), c.setTime = setTimeout(function() {
                    var a = L().y;
                    p.scrollTo(0, a - 30);
                    p.scrollTo(0, a + 30);
                    p.scrollTo(0, a)
                }, 2E3));
                c.thumbs && b.positionThumbnails()
            }).bind("keydown.iLightBox", function(a) {
                if (d.controls.keyboard) switch (a.keyCode) {
                    case 13:
                        a.shiftKey && d.keyboard.shift_enter && b.fullScreenAction();
                        break;
                    case 27:
                        d.keyboard.esc && b.closeAction();
                        break;
                    case 37:
                        d.keyboard.left && !c.lockKey && b.moveTo("prev");
                        break;
                    case 38:
                        d.keyboard.up && !c.lockKey && b.moveTo("prev");
                        break;
                    case 39:
                        d.keyboard.right && !c.lockKey && b.moveTo("next");
                        break;
                    case 40:
                        d.keyboard.down && !c.lockKey && b.moveTo("next")
                }
            });
            u.supportsFullScreen && O.bind(h, function() {
                b.doFullscreen()
            });
            var h = [d.caption.show + ".iLightBox", d.caption.hide + ".iLightBox", d.social.show + ".iLightBox", d.social.hide + ".iLightBox"].filter(function(a, b, c) {
                    return c.lastIndexOf(a) === b
                }),
                m = "";
            g.each(h, function(a, b) {
                0 != a && (m += " ");
                m += b
            });
            E.on(K, ".ilightbox-overlay", function() {
                d.overlay.blur && b.closeAction()
            }).on(K, ".ilightbox-next, .ilightbox-next-button", function() {
                b.moveTo("next")
            }).on(K, ".ilightbox-prev, .ilightbox-prev-button", function() {
                b.moveTo("prev")
            }).on(K, ".ilightbox-thumbnail", function() {
                var a = g(this),
                    a = g(".ilightbox-thumbnail", c.thumbnails).index(a);
                a != c.current && b.goTo(a)
            }).on(m, ".ilightbox-holder:not(.ilightbox-next, .ilightbox-prev)", function(a) {
                var b = g("div.ilightbox-caption", c.holder),
                    e = g("div.ilightbox-social", c.holder),
                    f = d.effects.fadeSpeed;
                c.nextLock || c.prevLock ? (a.type != d.caption.show || b.is(":visible") ? a.type == d.caption.hide && b.is(":visible") && b.fadeOut(f) : b.fadeIn(f), a.type != d.social.show || e.is(":visible") ? a.type == d.social.hide && e.is(":visible") && e.fadeOut(f) : e.fadeIn(f)) : (a.type != d.caption.show || b.is(":visible") ? a.type == d.caption.hide && b.is(":visible") && b.stop().fadeOut(f) : b.stop().fadeIn(f), a.type != d.social.show || e.is(":visible") ? a.type == d.social.hide && e.is(":visible") && e.stop().fadeOut(f) : e.stop().fadeIn(f))
            }).on("mouseenter.iLightBox mouseleave.iLightBox", ".ilightbox-wrapper", function(a) {
                c.lockWheel = "mouseenter" == a.type ? !0 : !1
            }).on(K, ".ilightbox-toolbar a.ilightbox-close, .ilightbox-toolbar a.ilightbox-fullscreen, .ilightbox-toolbar a.ilightbox-play, .ilightbox-toolbar a.ilightbox-pause", function() {
                var a = g(this);
                a.hasClass("ilightbox-fullscreen") ? b.fullScreenAction() : a.hasClass("ilightbox-play") ? (b.resume(), a.addClass("ilightbox-pause").removeClass("ilightbox-play")) : a.hasClass("ilightbox-pause") ? (b.pause(), a.addClass("ilightbox-play").removeClass("ilightbox-pause")) : b.closeAction()
            }).on(W, ".ilightbox-overlay, .ilightbox-thumbnails-container", function(a) {
                a.preventDefault()
            });
            if (d.controls.arrows && !z) E.on("mousemove.iLightBox", a);
            if (d.controls.slideshow && d.slideshow.pauseOnHover) E.on("mouseenter.iLightBox mouseleave.iLightBox", ".ilightbox-holder:not(.ilightbox-next, .ilightbox-prev)", function(a) {
                "mouseenter" == a.type && c.cycleID ? b.pause() : "mouseleave" == a.type && c.isPaused && b.resume()
            });
            h = g(".ilightbox-overlay, .ilightbox-holder, .ilightbox-thumbnails");
            if (d.controls.mousewheel) h.on("mousewheel.iLightBox", function(a, d) {
                c.lockWheel || (a.preventDefault(), 0 > d ? b.moveTo("next") : 0 < d && b.moveTo("prev"))
            });
            if (d.controls.swipe) f.on(oa, function(a) {
                function h(a) {
                    var b = g(this);
                    a = q[a];
                    var c = [w.coords[0] - x.coords[0], w.coords[1] - x.coords[1]];
                    b[0].style["horizontal" == e ? "left" : "top"] = ("horizontal" == e ? a.left - c[0] : a.top - c[1]) + "px"
                }

                function k(a) {
                    if (w) {
                        var b = a.originalEvent.touches ? a.originalEvent.touches[0] : a;
                        x = {
                            time: (new Date).getTime(),
                            coords: [b.pageX - t, b.pageY - n]
                        };
                        f.each(h);
                        a.preventDefault()
                    }
                }

                function m() {
                    f.each(function() {
                        var a = g(this),
                            b = a.data("offset") || {
                                top: a.offset().top - n,
                                left: a.offset().left - t
                            },
                            c = b.top,
                            b = b.left;
                        a.css(B, H).stop().animate({
                            top: c,
                            left: b
                        }, 500, "easeOutCirc", function() {
                            a.css(B, "")
                        })
                    })
                }
                if (!(c.nextLock || c.prevLock || 1 == c.total || c.lockSwipe)) {
                    c.BODY.addClass("ilightbox-closedhand");
                    a = a.originalEvent.touches ? a.originalEvent.touches[0] : a;
                    var n = E.scrollTop(),
                        t = E.scrollLeft(),
                        p = [f.eq(0).offset(), f.eq(1).offset(), f.eq(2).offset()],
                        q = [{
                            top: p[0].top - n,
                            left: p[0].left - t
                        }, {
                            top: p[1].top - n,
                            left: p[1].left - t
                        }, {
                            top: p[2].top - n,
                            left: p[2].left - t
                        }],
                        w = {
                            time: (new Date).getTime(),
                            coords: [a.pageX - t, a.pageY - n]
                        },
                        x;
                    f.bind(W, k);
                    E.one(pa, function(a) {
                        f.unbind(W, k);
                        c.BODY.removeClass("ilightbox-closedhand");
                        w && x && ("horizontal" == e && 1E3 > x.time - w.time && I(w.coords[0] - x.coords[0]) > l && I(w.coords[1] - x.coords[1]) < verticalDistanceThreshold ? w.coords[0] > x.coords[0] ? c.current != c.total - 1 || d.infinite ? (c.isSwipe = !0, b.moveTo("next")) : m() : 0 != c.current || d.infinite ? (c.isSwipe = !0, b.moveTo("prev")) : m() : "vertical" == e && 1E3 > x.time - w.time && I(w.coords[1] - x.coords[1]) > l && I(w.coords[0] - x.coords[0]) < verticalDistanceThreshold ? w.coords[1] > x.coords[1] ? c.current != c.total - 1 || d.infinite ? (c.isSwipe = !0, b.moveTo("next")) : m() : 0 != c.current || d.infinite ? (c.isSwipe = !0, b.moveTo("prev")) : m() : m());
                        w = x = Q
                    })
                }
            })
        },
        goTo: function(a) {
            var b = this,
                c = b.vars,
                d = b.options,
                e = a - c.current;
            d.infinite && (a == c.total - 1 && 0 == c.current && (e = -1), c.current == c.total - 1 && 0 == a && (e = 1));
            if (1 == e) b.moveTo("next");
            else if (-1 == e) b.moveTo("prev");
            else {
                if (c.nextLock || c.prevLock) return !1;
                "function" == typeof d.callback.onBeforeChange && d.callback.onBeforeChange.call(b, b.ui);
                d.linkId && (c.hashLock = !0, p.location.hash = d.linkId + "/" + a);
                b.items[a] && (b.items[a].options.mousewheel ? b.vars.lockWheel = !1 : c.lockWheel = !0, c.lockSwipe = b.items[a].options.swipe ? !1 : !0);
                g.each([c.holder, c.nextPhoto, c.prevPhoto], function(a, b) {
                    b.css(B, H).fadeOut(d.effects.loadedFadeSpeed)
                });
                c.current = a;
                c.next = a + 1;
                c.prev = a - 1;
                b.createUI();
                setTimeout(function() {
                    b.generateBoxes()
                }, d.effects.loadedFadeSpeed + 50);
                g(".ilightbox-thumbnail", c.thumbnails).removeClass("ilightbox-active").eq(a).addClass("ilightbox-active");
                b.positionThumbnails();
                d.linkId && setTimeout(function() {
                    c.hashLock = !1
                }, 55);
                d.infinite || (c.nextButton.add(c.prevButton).add(c.innerPrevButton).add(c.innerNextButton).removeClass("disabled"), 0 == c.current && c.prevButton.add(c.innerPrevButton).addClass("disabled"), c.current >= c.total - 1 && c.nextButton.add(c.innerNextButton).addClass("disabled"));
                b.resetCycle();
                "function" == typeof d.callback.onAfterChange && d.callback.onAfterChange.call(b, b.ui)
            }
        },
        moveTo: function(a) {
            var b = this,
                c = b.vars,
                d = b.options,
                e = d.path.toLowerCase(),
                f = J(),
                h = d.effects.switchSpeed;
            if (c.nextLock || c.prevLock) return !1;
            var l = "next" == a ? c.next : c.prev;
            d.linkId && (c.hashLock = !0, p.location.hash = d.linkId + "/" + l);
            if ("next" == a) {
                if (!b.items[l]) return !1;
                var k = c.nextPhoto,
                    m = c.holder,
                    n = c.prevPhoto,
                    C = "ilightbox-prev",
                    y = "ilightbox-next"
            } else if ("prev" == a) {
                if (!b.items[l]) return !1;
                k = c.prevPhoto;
                m = c.holder;
                n = c.nextPhoto;
                C = "ilightbox-next";
                y = "ilightbox-prev"
            }
            "function" == typeof d.callback.onBeforeChange && d.callback.onBeforeChange.call(b, b.ui);
            "next" == a ? c.nextLock = !0 : c.prevLock = !0;
            var r = g("div.ilightbox-caption", m),
                v = g("div.ilightbox-social", m);
            r.length && r.stop().fadeOut(h, function() {
                g(this).remove()
            });
            v.length && v.stop().fadeOut(h, function() {
                g(this).remove()
            });
            b.items[l].caption && (b.setCaption(b.items[l], k), r = g("div.ilightbox-caption", k), v = parseInt(r.outerHeight() / k.outerHeight() * 100), d.caption.start && 50 >= v && r.fadeIn(h));
            if (r = b.items[l].options.social) b.setSocial(r, b.items[l].URL, k), d.social.start && g("div.ilightbox-social", k).fadeIn(d.effects.fadeSpeed);
            g.each([k, m, n], function(a, b) {
                b.removeClass("ilightbox-next ilightbox-prev")
            });
            var t = k.data("offset"),
                r = f.width - d.styles.pageOffsetX,
                f = f.height - d.styles.pageOffsetY,
                v = t.newDims.width,
                q = t.newDims.height,
                u = t.thumbsOffset,
                t = t.diff,
                w = parseInt(f / 2 - q / 2 - t.H - u.H / 2),
                t = parseInt(r / 2 - v / 2 - t.W - u.W / 2);
            k.css(B, H).animate({
                top: w,
                left: t,
                opacity: 1
            }, h, c.isSwipe ? "easeOutCirc" : "easeInOutCirc", function() {
                k.css(B, "")
            });
            g("div.ilightbox-container", k).animate({
                width: v,
                height: q
            }, h, c.isSwipe ? "easeOutCirc" : "easeInOutCirc");
            var q = m.data("offset"),
                x = q.object,
                t = q.diff,
                v = q.newDims.width,
                q = q.newDims.height,
                v = parseInt(v * d.styles["next" == a ? "prevScale" : "nextScale"]),
                q = parseInt(q * d.styles["next" == a ? "prevScale" : "nextScale"]),
                w = "horizontal" == e ? parseInt(f / 2 - x.offsetY - q / 2 - t.H - u.H / 2) : parseInt(f - x.offsetX - t.H - u.H / 2);
            "prev" == a ? t = "horizontal" == e ? parseInt(r - x.offsetX - t.W - u.W / 2) : parseInt(r / 2 - v / 2 - t.W - x.offsetY - u.W / 2) : (w = "horizontal" == e ? w : parseInt(x.offsetX - t.H - q - u.H / 2), t = "horizontal" == e ? parseInt(x.offsetX - t.W - v - u.W / 2) : parseInt(r / 2 - x.offsetY - v / 2 - t.W - u.W / 2));
            g("div.ilightbox-container", m).animate({
                width: v,
                height: q
            }, h, c.isSwipe ? "easeOutCirc" : "easeInOutCirc");
            m.addClass(C).css(B, H).animate({
                top: w,
                left: t,
                opacity: d.styles.prevOpacity
            }, h, c.isSwipe ? "easeOutCirc" : "easeInOutCirc", function() {
                m.css(B, "");
                g(".ilightbox-thumbnail", c.thumbnails).removeClass("ilightbox-active").eq(l).addClass("ilightbox-active");
                b.positionThumbnails();
                b.items[l] && (c.lockWheel = b.items[l].options.mousewheel ? !1 : !0, c.lockSwipe = b.items[l].options.swipe ? !1 : !0);
                c.isSwipe = !1;
                "next" == a ? (c.nextPhoto = n, c.prevPhoto = m, c.holder = k, c.nextPhoto.hide(), c.next += 1, c.prev = c.current, c.current += 1, d.infinite && (c.current > c.total - 1 && (c.current = 0), c.current == c.total - 1 && (c.next = 0), 0 == c.current && (c.prev = c.total - 1)), b.createUI(), b.items[c.next] ? b.loadContent(b.items[c.next], "next") : c.nextLock = !1) : (c.prevPhoto = n, c.nextPhoto = m, c.holder = k, c.prevPhoto.hide(), c.next = c.current, c.current = c.prev, c.prev = c.current - 1, d.infinite && (c.current == c.total - 1 && (c.next = 0), 0 == c.current && (c.prev = c.total - 1)), b.createUI(), b.items[c.prev] ? b.loadContent(b.items[c.prev], "prev") : c.prevLock = !1);
                d.linkId && setTimeout(function() {
                    c.hashLock = !1
                }, 55);
                d.infinite || (c.nextButton.add(c.prevButton).add(c.innerPrevButton).add(c.innerNextButton).removeClass("disabled"), 0 == c.current && c.prevButton.add(c.innerPrevButton).addClass("disabled"), c.current >= c.total - 1 && c.nextButton.add(c.innerNextButton).addClass("disabled"));
                b.repositionPhoto();
                b.resetCycle();
                "function" == typeof d.callback.onAfterChange && d.callback.onAfterChange.call(b, b.ui)
            });
            w = "horizontal" == e ? F(n, "top") : "next" == a ? parseInt(-(f / 2) - n.outerHeight()) : parseInt(2 * w);
            t = "horizontal" == e ? "next" == a ? parseInt(-(r / 2) - n.outerWidth()) : parseInt(2 * t) : F(n, "left");
            n.css(B, H).animate({
                top: w,
                left: t,
                opacity: d.styles.nextOpacity
            }, h, c.isSwipe ? "easeOutCirc" : "easeInOutCirc", function() {
                n.css(B, "")
            }).addClass(y)
        },
        setCaption: function(a, b) {
            var c = g('<div class="ilightbox-caption"></div>');
            a.caption && (c.html(a.caption), g("div.ilightbox-container", b).append(c))
        },
        normalizeSocial: function(a, b) {
            var c = this.options,
                d = p.location.href;
            g.each(a, function(e, f) {
                if (!f) return !0;
                var h, g;
                switch (e.toLowerCase()) {
                    case "facebook":
                        h = "http://www.facebook.com/share.php?v=4&src=bm&u={URL}";
                        g = "Share on Facebook";
                        break;
                    case "twitter":
                        h = "http://twitter.com/home?status={URL}";
                        g = "Share on Twitter";
                        break;
                    case "googleplus":
                        h = "https://plus.google.com/share?url={URL}";
                        g = "Share on Google+";
                        break;
                    case "delicious":
                        h = "http://delicious.com/post?url={URL}";
                        g = "Share on Delicious";
                        break;
                    case "digg":
                        h = "http://digg.com/submit?phase=2&url={URL}";
                        g = "Share on Digg";
                        break;
                    case "reddit":
                        h = "http://reddit.com/submit?url={URL}", g = "Share on reddit"
                }
                a[e] = {
                    URL: f.URL && N(d, f.URL) || c.linkId && p.location.href || "string" !== typeof b && d || b && N(d, b) || d,
                    source: f.source || h || f.URL && N(d, f.URL) || b && N(d, b),
                    text: f.text || g || "Share on " + e,
                    width: "undefined" == typeof f.width || isNaN(f.width) ? 640 : parseInt(f.width),
                    height: f.height || 360
                }
            });
            return a
        },
        setSocial: function(a, b, c) {
            var d = g('<div class="ilightbox-social"></div>'),
                e = "<ul>";
            a = this.normalizeSocial(a, b);
            g.each(a, function(a, b) {
                a.toLowerCase();
                var c = b.source.replace(/\{URL\}/g, encodeURIComponent(b.URL).replace(/!/g, "%21").replace(/'/g, "%27").replace(/\(/g, "%28").replace(/\)/g, "%29").replace(/\*/g, "%2A").replace(/%20/g, "+"));
                e += '<li class="' + a + '"><a href="' + c + '" onclick="javascript:window.open(this.href' + (0 >= b.width || 0 >= b.height ? "" : ", '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=" + b.height + ",width=" + b.width + ",left=40,top=40'") + ');return false;" title="' + b.text + '" target="_blank"></a></li>'
            });
            e += "</ul>";
            d.html(e);
            g("div.ilightbox-container", c).append(d)
        },
        fullScreenAction: function() {
            u.supportsFullScreen ? u.isFullScreen() ? u.cancelFullScreen(document.documentElement) : u.requestFullScreen(document.documentElement) : this.doFullscreen()
        },
        doFullscreen: function() {
            var a = this.vars,
                b = J(),
                c = this.options;
            if (c.fullAlone) {
                var d = a.holder,
                    e = this.items[a.current],
                    f = b.width,
                    h = b.height,
                    l = [d, a.nextPhoto, a.prevPhoto, a.nextButton, a.prevButton, a.overlay, a.toolbar, a.thumbnails, a.loader],
                    b = [a.nextPhoto, a.prevPhoto, a.nextButton, a.prevButton, a.loader, a.thumbnails];
                if (a.isInFullScreen) a.isInFullScreen = a.lockKey = a.lockWheel = a.lockSwipe = !1, a.overlay.css({
                    opacity: this.options.overlay.opacity
                }), g.each(b, function(a, b) {
                    b.show()
                }), a.fullScreenButton.attr("title", c.text.enterFullscreen), d.data({
                    naturalWidth: d.data("naturalWidthOld"),
                    naturalHeight: d.data("naturalHeightOld"),
                    naturalWidthOld: null,
                    naturalHeightOld: null
                }), g.each(l, function(a, b) {
                    b.removeClass("ilightbox-fullscreen")
                }), "function" == typeof c.callback.onExitFullScreen && c.callback.onExitFullScreen.call(this, this.ui);
                else {
                    a.isInFullScreen = a.lockKey = a.lockWheel = a.lockSwipe = !0;
                    a.overlay.css({
                        opacity: 1
                    });
                    g.each(b, function(a, b) {
                        b.hide()
                    });
                    a.fullScreenButton.attr("title", c.text.exitFullscreen);
                    if (-1 != c.fullStretchTypes.indexOf(e.type)) d.data({
                        naturalWidthOld: d.data("naturalWidth"),
                        naturalHeightOld: d.data("naturalHeight"),
                        naturalWidth: f,
                        naturalHeight: h
                    });
                    else {
                        var b = e.options.fullViewPort || c.fullViewPort || "",
                            a = f,
                            e = h,
                            f = d.data("naturalWidth"),
                            k = d.data("naturalHeight");
                        "fill" == b.toLowerCase() ? (e = a / f * k, e < h && (a = h / k * f, e = h)) : "fit" == b.toLowerCase() ? (h = this.getNewDimenstions(a, e, f, k, !0), a = h.width, e = h.height) : "stretch" != b.toLowerCase() && (h = this.getNewDimenstions(a, e, f, k, f > a || k > e ? !0 : !1), a = h.width, e = h.height);
                        d.data({
                            naturalWidthOld: d.data("naturalWidth"),
                            naturalHeightOld: d.data("naturalHeight"),
                            naturalWidth: a,
                            naturalHeight: e
                        })
                    }
                    g.each(l, function(a, b) {
                        b.addClass("ilightbox-fullscreen")
                    });
                    "function" == typeof c.callback.onEnterFullScreen && c.callback.onEnterFullScreen.call(this, this.ui)
                }
            } else a.isInFullScreen = a.isInFullScreen ? !1 : !0;
            this.repositionPhoto(!0)
        },
        closeAction: function() {
            var a = this.vars,
                b = this.options;
            O.unbind(".iLightBox");
            E.off(".iLightBox");
            a.isInFullScreen && u.cancelFullScreen(document.documentElement);
            g(".ilightbox-overlay, .ilightbox-holder, .ilightbox-thumbnails").off(".iLightBox");
            b.hide.effect ? a.overlay.stop().fadeOut(b.hide.speed, function() {
                a.overlay.remove();
                a.BODY.removeClass("ilightbox-noscroll").off(".iLightBox")
            }) : (a.overlay.remove(), a.BODY.removeClass("ilightbox-noscroll").off(".iLightBox"));
            g.each([a.toolbar, a.holder, a.nextPhoto, a.prevPhoto, a.nextButton, a.prevButton, a.loader, a.thumbnails], function(a, b) {
                b.removeAttr("style").remove()
            });
            a.dontGenerateThumbs = a.isInFullScreen = !1;
            p.iLightBox = null;
            b.linkId && (a.hashLock = !0, ha(), setTimeout(function() {
                a.hashLock = !1
            }, 55));
            "function" == typeof b.callback.onHide && b.callback.onHide.call(this, this.ui)
        },
        repositionPhoto: function() {
            var a = this.vars,
                b = this.options,
                c = b.path.toLowerCase(),
                d = J(),
                e = d.width,
                f = d.height,
                d = a.isInFullScreen && b.fullAlone || a.isMobile ? 0 : "horizontal" == c ? 0 : a.thumbnails.outerWidth(),
                h = a.isMobile ? a.toolbar.outerHeight() : a.isInFullScreen && b.fullAlone ? 0 : "horizontal" == c ? a.thumbnails.outerHeight() : 0,
                e = a.isInFullScreen && b.fullAlone ? e : e - b.styles.pageOffsetX,
                f = a.isInFullScreen && b.fullAlone ? f : f - b.styles.pageOffsetY,
                l = "horizontal" == c ? parseInt(this.items[a.next] || this.items[a.prev] ? 2 * (b.styles.nextOffsetX + b.styles.prevOffsetX) : 30 >= e / 10 ? 30 : e / 10) : parseInt(30 >= e / 10 ? 30 : e / 10) + d,
                k = "horizontal" == c ? parseInt(30 >= f / 10 ? 30 : f / 10) + h : parseInt(this.items[a.next] || this.items[a.prev] ? 2 * (b.styles.nextOffsetX + b.styles.prevOffsetX) : 30 >= f / 10 ? 30 : f / 10),
                d = {
                    type: "current",
                    width: e,
                    height: f,
                    item: this.items[a.current],
                    offsetW: l,
                    offsetH: k,
                    thumbsOffsetW: d,
                    thumbsOffsetH: h,
                    animate: arguments.length,
                    holder: a.holder
                };
            this.repositionEl(d);
            this.items[a.next] && (d = g.extend(d, {
                type: "next",
                item: this.items[a.next],
                offsetX: b.styles.nextOffsetX,
                offsetY: b.styles.nextOffsetY,
                holder: a.nextPhoto
            }), this.repositionEl(d));
            this.items[a.prev] && (d = g.extend(d, {
                type: "prev",
                item: this.items[a.prev],
                offsetX: b.styles.prevOffsetX,
                offsetY: b.styles.prevOffsetY,
                holder: a.prevPhoto
            }), this.repositionEl(d));
            b = "horizontal" == c ? {
                left: parseInt(e / 2 - a.loader.outerWidth() / 2)
            } : {
                top: parseInt(f / 2 - a.loader.outerHeight() / 2)
            };
            a.loader.css(b)
        },
        repositionEl: function(a) {
            var b = this.vars,
                c = this.options,
                d = c.path.toLowerCase(),
                e = "current" == a.type ? b.isInFullScreen && c.fullAlone ? a.width : a.width - a.offsetW : a.width - a.offsetW,
                f = "current" == a.type ? b.isInFullScreen && c.fullAlone ? a.height : a.height - a.offsetH : a.height - a.offsetH,
                h = a.item,
                l = a.item.options,
                k = a.holder,
                m = a.offsetX || 0,
                n = a.offsetY || 0,
                p = a.thumbsOffsetW,
                q = a.thumbsOffsetH;
            "current" == a.type ? ("number" == typeof l.width && l.width && (e = b.isInFullScreen && c.fullAlone && (-1 != c.fullStretchTypes.indexOf(h.type) || l.fullViewPort || c.fullViewPort) ? e : l.width > e ? e : l.width), "number" == typeof l.height && l.height && (f = b.isInFullScreen && c.fullAlone && (-1 != c.fullStretchTypes.indexOf(h.type) || l.fullViewPort || c.fullViewPort) ? f : l.height > f ? f : l.height)) : ("number" == typeof l.width && l.width && (e = l.width > e ? e : l.width), "number" == typeof l.height && l.height && (f = l.height > f ? f : l.height));
            f = parseInt(f - g(".ilightbox-inner-toolbar", k).outerHeight());
            b = "string" == typeof l.width && -1 != l.width.indexOf("%") ? ba(parseInt(l.width.replace("%", "")), a.width) : k.data("naturalWidth");
            h = "string" == typeof l.height && -1 != l.height.indexOf("%") ? ba(parseInt(l.height.replace("%", "")), a.height) : k.data("naturalHeight");
            h = "string" == typeof l.width && -1 != l.width.indexOf("%") || "string" == typeof l.height && -1 != l.height.indexOf("%") ? {
                width: b,
                height: h
            } : this.getNewDimenstions(e, f, b, h);
            e = g.extend({}, h, {});
            "prev" == a.type || "next" == a.type ? (b = parseInt(h.width * ("next" == a.type ? c.styles.nextScale : c.styles.prevScale)), h = parseInt(h.height * ("next" == a.type ? c.styles.nextScale : c.styles.prevScale))) : (b = h.width, h = h.height);
            f = parseInt((F(k, "padding-left") + F(k, "padding-right") + F(k, "border-left-width") + F(k, "border-right-width")) / 2);
            l = parseInt((F(k, "padding-top") + F(k, "padding-bottom") + F(k, "border-top-width") + F(k, "border-bottom-width") + g(".ilightbox-inner-toolbar", k).outerHeight()) / 2);
            switch (a.type) {
                case "current":
                    var r = parseInt(a.height / 2 - h / 2 - l - q / 2),
                        v = parseInt(a.width / 2 - b / 2 - f - p / 2);
                    break;
                case "next":
                    r = "horizontal" == d ? parseInt(a.height / 2 - n - h / 2 - l - q / 2) : parseInt(a.height - m - l - q / 2);
                    v = "horizontal" == d ? parseInt(a.width - m - f - p / 2) : parseInt(a.width / 2 - b / 2 - f - n - p / 2);
                    break;
                case "prev":
                    r = "horizontal" == d ? parseInt(a.height / 2 - n - h / 2 - l - q / 2) : parseInt(m - l - h - q / 2), v = "horizontal" == d ? parseInt(m - f - b - p / 2) : parseInt(a.width / 2 - n - b / 2 - f - p / 2)
            }
            k.data("offset", {
                top: r,
                left: v,
                newDims: e,
                diff: {
                    W: f,
                    H: l
                },
                thumbsOffset: {
                    W: p,
                    H: q
                },
                object: a
            });
            0 < a.animate && c.effects.reposition ? (k.css(B, H).stop().animate({
                top: r,
                left: v
            }, c.effects.repositionSpeed, "easeOutCirc", function() {
                k.css(B, "")
            }), g("div.ilightbox-container", k).stop().animate({
                width: b,
                height: h
            }, c.effects.repositionSpeed, "easeOutCirc"), g("div.ilightbox-inner-toolbar", k).stop().animate({
                width: b
            }, c.effects.repositionSpeed, "easeOutCirc", function() {
                g(this).css("overflow", "visible")
            })) : (k.css({
                top: r,
                left: v
            }), g("div.ilightbox-container", k).css({
                width: b,
                height: h
            }), g("div.ilightbox-inner-toolbar", k).css({
                width: b
            }))
        },
        resume: function(a) {
            var b = this,
                c = b.vars,
                d = b.options;
            !d.slideshow.pauseTime || d.controls.slideshow && 1 >= c.total || a < c.isPaused || (c.isPaused = 0, c.cycleID && (c.cycleID = clearTimeout(c.cycleID)), c.cycleID = setTimeout(function() {
                c.current == c.total - 1 ? b.goTo(0) : b.moveTo("next")
            }, d.slideshow.pauseTime))
        },
        pause: function(a) {
            var b = this.vars;
            a < b.isPaused || (b.isPaused = a || 100, b.cycleID && (b.cycleID = clearTimeout(b.cycleID)))
        },
        resetCycle: function() {
            var a = this.vars;
            this.options.controls.slideshow && a.cycleID && !a.isPaused && this.resume()
        },
        getNewDimenstions: function(a, b, c, d, e) {
            factor = a ? b ? Y(a / c, b / d) : a / c : b / d;
            e || (factor > this.options.maxScale ? factor = this.options.maxScale : factor < this.options.minScale && (factor = this.options.minScale));
            a = this.options.keepAspectRatio ? X(c * factor) : a;
            b = this.options.keepAspectRatio ? X(d * factor) : b;
            return {
                width: a,
                height: b,
                ratio: factor
            }
        },
        setOption: function(a) {
            this.options = g.extend(!0, this.options, a || {});
            this.refresh()
        },
        availPlugins: function() {
            var a = document.createElement("video");
            this.plugins = {
                flash: !na,
                quicktime: 0 <= parseInt(j.getVersion("QuickTime")) ? !0 : !1,
                html5H264: !(!a.canPlayType || !a.canPlayType("video/mp4").replace(/no/, "")),
                html5WebM: !(!a.canPlayType || !a.canPlayType("video/webm").replace(/no/, "")),
                html5Vorbis: !(!a.canPlayType || !a.canPlayType("video/ogg").replace(/no/, "")),
                html5QuickTime: !(!a.canPlayType || !a.canPlayType("video/quicktime").replace(/no/, ""))
            }
        },
        addContent: function(a, b) {
            var c;
            switch (b.type) {
                case "video":
                    var d = !1,
                        e = b.videoType,
                        f = b.options.html5video;
                    ("video/mp4" == e || "mp4" == b.ext || "m4v" == b.ext || f.h264) && this.plugins.html5H264 ? (b.ext = "mp4", b.URL = f.h264 || b.URL) : f.webm && this.plugins.html5WebM ? (b.ext = "webm", b.URL = f.webm || b.URL) : f.ogg && this.plugins.html5Vorbis && (b.ext = "ogv", b.URL = f.ogg || b.URL);
                    !this.plugins.html5H264 || "video/mp4" != e && "mp4" != b.ext && "m4v" != b.ext ? !this.plugins.html5WebM || "video/webm" != e && "webm" != b.ext ? !this.plugins.html5Vorbis || "video/ogg" != e && "ogv" != b.ext ? !this.plugins.html5QuickTime || "video/quicktime" != e && "mov" != b.ext && "qt" != b.ext || (d = !0, e = "video/quicktime") : (d = !0, e = "video/ogg") : (d = !0, e = "video/webm") : (d = !0, e = "video/mp4");
                    d ? c = g("<video />", {
                        width: "100%",
                        height: "100%",
                        preload: f.preload,
                        autoplay: f.autoplay,
                        poster: f.poster,
                        controls: f.controls
                    }).append(g("<source />", {
                        src: b.URL,
                        type: e
                    })) : this.plugins.quicktime ? (c = g("<object />", {
                        type: "video/quicktime",
                        pluginspage: "http://www.apple.com/quicktime/download"
                    }).attr({
                        data: b.URL,
                        width: "100%",
                        height: "100%"
                    }).append(g("<param />", {
                        name: "src",
                        value: b.URL
                    })).append(g("<param />", {
                        name: "autoplay",
                        value: "false"
                    })).append(g("<param />", {
                        name: "loop",
                        value: "false"
                    })).append(g("<param />", {
                        name: "scale",
                        value: "tofit"
                    })), D.msie && (c = la(b.URL, "100%", "100%", "", "SCALE", "tofit", "AUTOPLAY", "false", "LOOP", "false"))) : c = g("<span />", {
                        "class": "ilightbox-alert",
                        html: this.options.errors.missingPlugin.replace("{pluginspage}", "http://www.apple.com/quicktime/download").replace("{type}", "QuickTime")
                    });
                    break;
                case "flash":
                    if (this.plugins.flash) {
                        var h = "",
                            l = 0;
                        b.options.flashvars ? g.each(b.options.flashvars, function(a, b) {
                            0 != l && (h += "&");
                            h += a + "=" + encodeURIComponent(b);
                            l++
                        }) : h = null;
                        c = g("<embed />").attr({
                            type: "application/x-shockwave-flash",
                            src: b.URL,
                            width: "number" == typeof b.options.width && b.options.width && "1" == this.options.minScale && "1" == this.options.maxScale ? b.options.width : "100%",
                            height: "number" == typeof b.options.height && b.options.height && "1" == this.options.minScale && "1" == this.options.maxScale ? b.options.height : "100%",
                            quality: "high",
                            bgcolor: "#000000",
                            play: "true",
                            loop: "true",
                            menu: "true",
                            wmode: "transparent",
                            scale: "showall",
                            allowScriptAccess: "always",
                            allowFullScreen: "true",
                            flashvars: h,
                            fullscreen: "yes"
                        })
                    } else c = g("<span />", {
                        "class": "ilightbox-alert",
                        html: this.options.errors.missingPlugin.replace("{pluginspage}", "http://www.adobe.com/go/getflash").replace("{type}", "Adobe Flash player")
                    });
                    break;
                case "iframe":
                    c = g("<iframe />").attr({
                        width: "number" == typeof b.options.width && b.options.width && "1" == this.options.minScale && "1" == this.options.maxScale ? b.options.width : "100%",
                        height: "number" == typeof b.options.height && b.options.height && "1" == this.options.minScale && "1" == this.options.maxScale ? b.options.height : "100%",
                        src: b.URL,
                        frameborder: 0,
                        hspace: 0,
                        vspace: 0,
                        scrolling: z ? "auto" : "scroll",
                        webkitAllowFullScreen: "",
                        mozallowfullscreen: "",
                        allowFullScreen: ""
                    });
                    break;
                case "inline":
                    c = g('<div class="ilightbox-wrapper"></div>').html(g(b.URL).clone(!0));
                    break;
                case "html":
                    d = b.URL, d[0].nodeName || (d = g(b.URL), d = d.selector ? g("<div>" + d + "</div>") : d), c = g('<div class="ilightbox-wrapper"></div>').html(d)
            }
            g("div.ilightbox-container", a).empty().html(c);
            "video" === c[0].tagName.toLowerCase() && D.webkit && setTimeout(function() {
                var a = c[0].currentSrc + "?" + M(3E4 * S());
                c[0].currentSrc = a;
                c[0].src = a
            });
            return c
        },
        ogpRecognition: function(a, b) {
            var c = this,
                d = a.URL;
            c.showLoader();
            ia(d, function(a) {
                c.hideLoader();
                if (a) {
                    var d = {
                        length: !1
                    };
                    d.url = a.url;
                    if (200 == a.status) {
                        a = a.results;
                        var e = a.type,
                            g = a.source;
                        d.source = g.src;
                        d.width = g.width && parseInt(g.width) || 0;
                        d.height = g.height && parseInt(g.height) || 0;
                        d.type = e;
                        d.thumbnail = g.thumbnail || a.images[0];
                        d.html5video = a.html5video || {};
                        d.length = !0;
                        "application/x-shockwave-flash" == g.type ? d.type = "flash" : -1 != g.type.indexOf("video/") ? d.type = "video" : -1 != g.type.indexOf("/html") ? d.type = "iframe" : -1 != g.type.indexOf("image/") && (d.type = "image")
                    } else if ("undefined" != typeof a.response) throw a.response;
                    b.call(this, d.length ? d : !1)
                }
            })
        },
        hashChangeHandler: function(a) {
            var b = this.vars,
                c = this.options;
            a = U(a || p.location.href).hash;
            var d = a.split("/");
            b.hashLock || "#" + c.linkId != d[0] && 1 < a.length || (d[1] ? (b = d[1] || 0, this.items[b] ? (a = g(".ilightbox-overlay"), a.length && a.attr("linkid") == c.linkId ? this.goTo(b) : this.itemsObject[b].trigger(z ? "itap" : "click")) : (a = g(".ilightbox-overlay"), a.length && this.closeAction())) : (a = g(".ilightbox-overlay"), a.length && this.closeAction()))
        }
    };
    g.fn.iLightBox = function() {
        var a = arguments,
            b = g.isPlainObject(a[0]) ? a[0] : a[1],
            c = g.isArray(a[0]) || "string" == typeof a[0] ? a[0] : a[1];
        b || (b = {});
        var b = g.extend(!0, {
                attr: "href",
                path: "vertical",
                skin: "dark",
                linkId: !1,
                infinite: !1,
                startFrom: 0,
                randomStart: !1,
                keepAspectRatio: !0,
                maxScale: 1,
                minScale: .2,
                innerToolbar: !1,
                smartRecognition: !1,
                mobileOptimizer: !0,
                fullAlone: !0,
                fullViewPort: null,
                fullStretchTypes: "flash, video",
                overlay: {
                    blur: !0,
                    opacity: .85
                },
                controls: {
                    arrows: !1,
                    slideshow: !1,
                    toolbar: !0,
                    fullscreen: !0,
                    thumbnail: !0,
                    keyboard: !0,
                    mousewheel: !0,
                    swipe: !0
                },
                keyboard: {
                    left: !0,
                    right: !0,
                    up: !0,
                    down: !0,
                    esc: !0,
                    shift_enter: !0
                },
                show: {
                    effect: !0,
                    speed: 300,
                    title: !0
                },
                hide: {
                    effect: !0,
                    speed: 300
                },
                caption: {
                    start: !0,
                    show: "mouseenter",
                    hide: "mouseleave"
                },
                social: {
                    start: !0,
                    show: "mouseenter",
                    hide: "mouseleave",
                    buttons: !1
                },
                styles: {
                    pageOffsetX: 0,
                    pageOffsetY: 0,
                    nextOffsetX: 45,
                    nextOffsetY: 0,
                    nextOpacity: 1,
                    nextScale: 1,
                    prevOffsetX: 45,
                    prevOffsetY: 0,
                    prevOpacity: 1,
                    prevScale: 1
                },
                thumbnails: {
                    maxWidth: 120,
                    maxHeight: 80,
                    normalOpacity: 1,
                    activeOpacity: .6
                },
                effects: {
                    reposition: !0,
                    repositionSpeed: 200,
                    switchSpeed: 500,
                    loadedFadeSpeed: 180,
                    fadeSpeed: 200
                },
                slideshow: {
                    pauseTime: 5E3,
                    pauseOnHover: !1,
                    startPaused: !0
                },
                text: {
                    close: "Press Esc to close",
                    enterFullscreen: "Enter Fullscreen (Shift+Enter)",
                    exitFullscreen: "Exit Fullscreen (Shift+Enter)",
                    slideShow: "Slideshow",
                    next: "Next",
                    previous: "Previous"
                },
                errors: {
                    loadImage: "An error occurred when trying to load photo.",
                    loadContents: "An error occurred when trying to load contents.",
                    missingPlugin: "The content your are attempting to view requires the <a href='{pluginspage}' target='_blank'>{type} plugin</a>."
                },
                ajaxSetup: {
                    url: "",
                    beforeSend: function(a, b) {},
                    cache: !1,
                    complete: function(a, b) {},
                    crossDomain: !1,
                    error: function(a, b, c) {},
                    success: function(a, b, c) {},
                    global: !0,
                    ifModified: !1,
                    username: null,
                    password: null,
                    type: "GET"
                },
                callback: {}
            }, b),
            d = g.isArray(c) || "string" == typeof c ? !0 : !1,
            c = g.isArray(c) ? c : [];
        "string" == typeof a[0] && (c[0] = a[0]);
        if (ja(g.fn.jquery, "1.8", ">=")) {
            var e = new fa(g(this), b, c, d);
            return {
                close: function() {
                    e.closeAction()
                },
                fullscreen: function() {
                    e.fullScreenAction()
                },
                moveNext: function() {
                    e.moveTo("next")
                },
                movePrev: function() {
                    e.moveTo("prev")
                },
                goTo: function(a) {
                    e.goTo(a)
                },
                refresh: function() {
                    e.refresh()
                },
                reposition: function() {
                    0 < arguments.length ? e.repositionPhoto(!0) : e.repositionPhoto()
                },
                setOption: function(a) {
                    e.setOption(a)
                },
                destroy: function() {
                    e.closeAction();
                    e.dispatchItemsEvents()
                }
            }
        }
        throw "The jQuery version that was loaded is too old. iLightBox requires jQuery 1.8+";
    };
    g.iLightBox = function(a, b) {
        return g.fn.iLightBox(a, b)
    };
    g.extend(g.easing, {
        easeInCirc: function(a, b, c, d, e) {
            return -d * (P(1 - (b /= e) * b) - 1) + c
        },
        easeOutCirc: function(a, b, c, d, e) {
            return d * P(1 - (b = b / e - 1) * b) + c
        },
        easeInOutCirc: function(a, b, c, d, e) {
            return 1 > (b /= e / 2) ? -d / 2 * (P(1 - b * b) - 1) + c : d / 2 * (P(1 - (b -= 2) * b) + 1) + c
        }
    });
    (function() {
        g.each("touchstart touchmove touchend tap taphold swipe swipeleft swiperight scrollstart scrollstop".split(" "), function(a, b) {
            g.fn[b] = function(a) {
                return a ? this.bind(b, a) : this.trigger(b)
            };
            g.attrFn && (g.attrFn[b] = !0)
        });
        g.event.special.itap = {
            setup: function() {
                var a = this,
                    b = g(this),
                    c, d;
                b.bind("touchstart.iTap", function(e) {
                    c = L();
                    b.one("touchend.iTap", function(b) {
                        d = L();
                        b = g.event.fix(b || p.event);
                        b.type = "itap";
                        c && d && c.x == d.x && c.y == d.y && (g.event.dispatch || g.event.handle).call(a, b);
                        c = d = Q
                    })
                })
            },
            teardown: function() {
                g(this).unbind("touchstart.iTap")
            }
        }
    })();
    (function() {
        u = {
            supportsFullScreen: !1,
            isFullScreen: function() {
                return !1
            },
            requestFullScreen: function() {},
            cancelFullScreen: function() {},
            fullScreenEventName: "",
            prefix: ""
        };
        browserPrefixes = ["webkit", "moz", "o", "ms", "khtml"];
        if ("undefined" != typeof document.cancelFullScreen) u.supportsFullScreen = !0;
        else
            for (var a = 0, b = browserPrefixes.length; a < b; a++)
                if (u.prefix = browserPrefixes[a], "undefined" != typeof document[u.prefix + "CancelFullScreen"]) {
                    u.supportsFullScreen = !0;
                    break
                }
        u.supportsFullScreen && (u.fullScreenEventName = u.prefix + "fullscreenchange", u.isFullScreen = function() {
            switch (this.prefix) {
                case "":
                    return document.fullScreen;
                case "webkit":
                    return document.webkitIsFullScreen;
                default:
                    return document[this.prefix + "FullScreen"]
            }
        }, u.requestFullScreen = function(a) {
            return "" === this.prefix ? a.requestFullScreen() : a[this.prefix + "RequestFullScreen"]()
        }, u.cancelFullScreen = function(a) {
            return "" === this.prefix ? document.cancelFullScreen() : document[this.prefix + "CancelFullScreen"]()
        })
    })();
    (function() {
        var a, b;
        a = navigator.userAgent;
        a = a.toLowerCase();
        b = /(chrome)[ \/]([\w.]+)/.exec(a) || /(webkit)[ \/]([\w.]+)/.exec(a) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a) || /(msie) ([\w.]+)/.exec(a) || 0 > a.indexOf("compatible") && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a) || [];
        a = b[1] || "";
        b = b[2] || "0";
        D = {};
        a && (D[a] = !0, D.version = b);
        D.chrome ? D.webkit = !0 : D.webkit && (D.safari = !0)
    })();
    (function() {
        function a(a) {
            for (var d = 0, f = b.length; d < f; d++) {
                var h = b[d] ? b[d] + a.charAt(0).toUpperCase() + a.slice(1) : a;
                if (c.style[h] !== Q) return h
            }
        }
        var b = ["", "webkit", "moz", "ms", "o"],
            c = document.createElement("div");
        B = a("transform") || "";
        H = a("perspective") ? "translateZ(0) " : ""
    })();
    var j = {
        version: "0.7.9",
        name: "PluginDetect",
        handler: function(a, b, c) {
            return function() {
                a(b, c)
            }
        },
        openTag: "<",
        isDefined: function(a) {
            return "undefined" != typeof a
        },
        isArray: function(a) {
            return /array/i.test(Object.prototype.toString.call(a))
        },
        isFunc: function(a) {
            return "function" == typeof a
        },
        isString: function(a) {
            return "string" == typeof a
        },
        isNum: function(a) {
            return "number" == typeof a
        },
        isStrNum: function(a) {
            return "string" == typeof a && /\d/.test(a)
        },
        getNumRegx: /[\d][\d\.\_,-]*/,
        splitNumRegx: /[\.\_,-]/g,
        getNum: function(a, b) {
            var c = this.isStrNum(a) ? (this.isDefined(b) ? new RegExp(b) : this.getNumRegx).exec(a) : null;
            return c ? c[0] : null
        },
        compareNums: function(a, b, c) {
            var d = parseInt;
            if (this.isStrNum(a) && this.isStrNum(b)) {
                if (this.isDefined(c) && c.compareNums) return c.compareNums(a, b);
                a = a.split(this.splitNumRegx);
                b = b.split(this.splitNumRegx);
                for (c = 0; c < Y(a.length, b.length); c++) {
                    if (d(a[c], 10) > d(b[c], 10)) return 1;
                    if (d(a[c], 10) < d(b[c], 10)) return -1
                }
            }
            return 0
        },
        formatNum: function(a, b) {
            var c, d;
            if (!this.isStrNum(a)) return null;
            this.isNum(b) || (b = 4);
            b--;
            d = a.replace(/\s/g, "").split(this.splitNumRegx).concat(["0", "0", "0", "0"]);
            for (c = 0; 4 > c; c++)
                if (/^(0+)(.+)$/.test(d[c]) && (d[c] = RegExp.$2), c > b || !/\d/.test(d[c])) d[c] = "0";
            return d.slice(0, 4).join(",")
        },
        $$hasMimeType: function(a) {
            return function(b) {
                if (!a.isIE && b) {
                    var c, d, e = a.isArray(b) ? b : a.isString(b) ? [b] : [];
                    for (d = 0; d < e.length; d++)
                        if (a.isString(e[d]) && /[^\s]/.test(e[d]) && (c = (b = navigator.mimeTypes[e[d]]) ? b.enabledPlugin : 0) && (c.name || c.description)) return b
                }
                return null
            }
        },
        findNavPlugin: function(a, b, c) {
            a = new RegExp(a, "i");
            b = !this.isDefined(b) || b ? /\d/ : 0;
            c = c ? new RegExp(c, "i") : 0;
            var d = navigator.plugins,
                e, f, h;
            for (e = 0; e < d.length; e++)
                if (h = d[e].description || "", f = d[e].name || "", a.test(h) && (!b || b.test(RegExp.leftContext + RegExp.rightContext)) || a.test(f) && (!b || b.test(RegExp.leftContext + RegExp.rightContext)))
                    if (!c || !c.test(h) && !c.test(f)) return d[e];
            return null
        },
        getMimeEnabledPlugin: function(a, b, c) {
            var d;
            b = new RegExp(b, "i");
            c = c ? new RegExp(c, "i") : 0;
            var e, f, h = this.isString(a) ? [a] : a;
            for (f = 0; f < h.length; f++)
                if ((d = this.hasMimeType(h[f])) && (d = d.enabledPlugin) && (e = d.description || "", a = d.name || "", b.test(e) || b.test(a)) && (!c || !c.test(e) && !c.test(a))) return d;
            return 0
        },
        getPluginFileVersion: function(a, b) {
            var c, d, e, f, h = -1;
            if (2 < this.OS || !a || !a.version || !(c = this.getNum(a.version))) return b;
            if (!b) return c;
            c = this.formatNum(c);
            b = this.formatNum(b);
            d = b.split(this.splitNumRegx);
            e = c.split(this.splitNumRegx);
            for (f = 0; f < d.length; f++)
                if (-1 < h && f > h && "0" != d[f] || e[f] != d[f] && (-1 == h && (h = f), "0" != d[f])) return b;
            return c
        },
        AXO: p.ActiveXObject,
        getAXO: function(a) {
            var b = null;
            try {
                b = new this.AXO(a)
            } catch (c) {}
            return b
        },
        convertFuncs: function(a) {
            var b, c, d = /^[\$][\$]/;
            for (b in a)
                if (d.test(b)) try {
                    c = b.slice(2), 0 < c.length && !a[c] && (a[c] = a[b](a), delete a[b])
                } catch (e) {}
        },
        initObj: function(a, b, c) {
            var d;
            if (a) {
                if (1 == a[b[0]] || c)
                    for (d = 0; d < b.length; d += 2) a[b[d]] = b[d + 1];
                for (d in a)(c = a[d]) && 1 == c[b[0]] && this.initObj(c, b)
            }
        },
        initScript: function() {
            var a = navigator,
                b, c = document,
                d = a.userAgent || "",
                e = a.vendor || "",
                f = a.platform || "",
                a = a.product || "";
            this.initObj(this, ["$", this]);
            for (b in this.Plugins) this.Plugins[b] && this.initObj(this.Plugins[b], ["$", this, "$$", this.Plugins[b]], 1);
            this.convertFuncs(this);
            this.OS = 100;
            if (f) {
                var h = ["Win", 1, "Mac", 2, "Linux", 3, "FreeBSD", 4, "iPhone", 21.1, "iPod", 21.2, "iPad", 21.3, "Win.*CE", 22.1, "Win.*Mobile", 22.2, "Pocket\\s*PC", 22.3, "", 100];
                for (b = h.length - 2; 0 <= b; b -= 2)
                    if (h[b] && (new RegExp(h[b], "i")).test(f)) {
                        this.OS = h[b + 1];
                        break
                    }
            }
            this.head = c.getElementsByTagName("head")[0] || c.getElementsByTagName("body")[0] || c.body || null;
            this.verIE = (this.isIE = (new Function("return/*@cc_on!@*/!1"))()) && /MSIE\s*(\d+\.?\d*)/i.test(d) ? parseFloat(RegExp.$1, 10) : null;
            this.docModeIE = this.verIEfull = null;
            if (this.isIE) {
                b = document.createElement("div");
                try {
                    b.style.behavior = "url(#default#clientcaps)", this.verIEfull = b.getComponentVersion("{89820200-ECBD-11CF-8B85-00AA005B4383}", "componentid").replace(/,/g, ".")
                } catch (l) {}
                b = parseFloat(this.verIEfull || "0", 10);
                this.docModeIE = c.documentMode || (/back/i.test(c.compatMode || "") ? 5 : b) || this.verIE;
                this.verIE = b || this.docModeIE
            }
            this.ActiveXEnabled = !1;
            if (this.isIE)
                for (c = "Msxml2.XMLHTTP Msxml2.DOMDocument Microsoft.XMLDOM ShockwaveFlash.ShockwaveFlash TDCCtl.TDCCtl Shell.UIHelper Scripting.Dictionary wmplayer.ocx".split(" "), b = 0; b < c.length; b++)
                    if (this.getAXO(c[b])) {
                        this.ActiveXEnabled = !0;
                        break
                    }
            this.verGecko = (this.isGecko = /Gecko/i.test(a) && /Gecko\s*\/\s*\d/i.test(d)) ? this.formatNum(/rv\s*\:\s*([\.\,\d]+)/i.test(d) ? RegExp.$1 : "0.9") : null;
            this.verChrome = (this.isChrome = /Chrome\s*\/\s*(\d[\d\.]*)/i.test(d)) ? this.formatNum(RegExp.$1) : null;
            this.verSafari = (this.isSafari = (/Apple/i.test(e) || !e && !this.isChrome) && /Safari\s*\/\s*(\d[\d\.]*)/i.test(d)) && /Version\s*\/\s*(\d[\d\.]*)/i.test(d) ? this.formatNum(RegExp.$1) : null;
            this.verOpera = (this.isOpera = /Opera\s*[\/]?\s*(\d+\.?\d*)/i.test(d)) && (/Version\s*\/\s*(\d+\.?\d*)/i.test(d), 1) ? parseFloat(RegExp.$1, 10) : null;
            this.addWinEvent("load", this.handler(this.runWLfuncs, this))
        },
        init: function(a) {
            var b, c = {
                status: -3,
                plugin: 0
            };
            if (!this.isString(a)) return c;
            if (1 == a.length) return this.getVersionDelimiter = a, c;
            a = a.toLowerCase().replace(/\s/g, "");
            b = this.Plugins[a];
            if (!b || !b.getVersion) return c;
            c.plugin = b;
            this.isDefined(b.installed) || (b.installed = null, b.version = null, b.version0 = null, b.getVersionDone = null, b.pluginName = a);
            this.garbage = !1;
            if (this.isIE && !this.ActiveXEnabled && "java" !== a) return c.status = -2, c;
            c.status = 1;
            return c
        },
        fPush: function(a, b) {
            this.isArray(b) && (this.isFunc(a) || this.isArray(a) && 0 < a.length && this.isFunc(a[0])) && b.push(a)
        },
        callArray: function(a) {
            var b;
            if (this.isArray(a))
                for (b = 0; b < a.length && null !== a[b]; b++) this.call(a[b]), a[b] = null
        },
        call: function(a) {
            var b = this.isArray(a) ? a.length : -1;
            if (0 < b && this.isFunc(a[0])) a[0](this, 1 < b ? a[1] : 0, 2 < b ? a[2] : 0, 3 < b ? a[3] : 0);
            else this.isFunc(a) && a(this)
        },
        getVersionDelimiter: ",",
        $$getVersion: function(a) {
            return function(b, c, d) {
                b = a.init(b);
                if (0 > b.status) return null;
                b = b.plugin;
                1 != b.getVersionDone && (b.getVersion(null, c, d), null === b.getVersionDone && (b.getVersionDone = 1));
                a.cleanup();
                return c = (c = b.version || b.version0) ? c.replace(a.splitNumRegx, a.getVersionDelimiter) : c
            }
        },
        cleanup: function() {
            this.garbage && this.isDefined(p.CollectGarbage) && p.CollectGarbage()
        },
        isActiveXObject: function(a, b) {
            var c = !1,
                d = '<object width="1" height="1" style="display:none" ' + a.getCodeBaseVersion(b) + ">" + a.HTML + this.openTag + "/object>";
            if (!this.head) return c;
            this.head.insertBefore(document.createElement("object"), this.head.firstChild);
            this.head.firstChild.outerHTML = d;
            try {
                this.head.firstChild.classid = a.classID
            } catch (e) {}
            try {
                this.head.firstChild.object && (c = !0)
            } catch (e) {}
            try {
                c && 4 > this.head.firstChild.readyState && (this.garbage = !0)
            } catch (e) {}
            this.head.removeChild(this.head.firstChild);
            return c
        },
        codebaseSearch: function(a, b) {
            var c = this;
            if (!c.ActiveXEnabled || !a) return null;
            a.BIfuncs && a.BIfuncs.length && null !== a.BIfuncs[a.BIfuncs.length - 1] && c.callArray(a.BIfuncs);
            var d, e = a.SEARCH;
            if (c.isStrNum(b)) {
                if (e.match && e.min && 0 >= c.compareNums(b, e.min)) return !0;
                if (e.match && e.max && 0 <= c.compareNums(b, e.max)) return !1;
                (d = c.isActiveXObject(a, b)) && (!e.min || 0 < c.compareNums(b, e.min)) && (e.min = b);
                d || e.max && !(0 > c.compareNums(b, e.max)) || (e.max = b);
                return d
            }
            var f = [0, 0, 0, 0],
                h = [].concat(e.digits),
                g = e.min ? 1 : 0,
                k, m, n = function(b, d) {
                    var e = [].concat(f);
                    e[b] = d;
                    return c.isActiveXObject(a, e.join(","))
                };
            if (e.max) {
                d = e.max.split(c.splitNumRegx);
                for (k = 0; k < d.length; k++) d[k] = parseInt(d[k], 10);
                d[0] < h[0] && (h[0] = d[0])
            }
            if (e.min) {
                m = e.min.split(c.splitNumRegx);
                for (k = 0; k < m.length; k++) m[k] = parseInt(m[k], 10);
                m[0] > f[0] && (f[0] = m[0])
            }
            if (m && d)
                for (k = 1; k < m.length && m[k - 1] == d[k - 1]; k++) d[k] < h[k] && (h[k] = d[k]), m[k] > f[k] && (f[k] = m[k]);
            if (e.max)
                for (k = 1; k < h.length; k++)
                    if (0 < d[k] && 0 == h[k] && h[k - 1] < e.digits[k - 1]) {
                        h[k - 1] += 1;
                        break
                    }
            for (k = 0; k < h.length; k++) {
                m = {};
                for (e = 0; 20 > e && !(1 > h[k] - f[k]); e++) {
                    d = X((h[k] + f[k]) / 2);
                    if (m["a" + d]) break;
                    m["a" + d] = 1;
                    n(k, d) ? (f[k] = d, g = 1) : h[k] = d
                }
                h[k] = f[k];
                !g && n(k, f[k]) && (g = 1);
                if (!g) break
            }
            return g ? f.join(",") : null
        },
        addWinEvent: function(a, b) {
            var c;
            this.isFunc(b) && (p.addEventListener ? p.addEventListener(a, b, !1) : p.attachEvent ? p.attachEvent("on" + a, b) : (c = p["on" + a], p["on" + a] = this.winHandler(b, c)))
        },
        winHandler: function(a, b) {
            return function() {
                a();
                "function" == typeof b && b()
            }
        },
        WLfuncs0: [],
        WLfuncs: [],
        runWLfuncs: function(a) {
            a.winLoaded = !0;
            a.callArray(a.WLfuncs0);
            a.callArray(a.WLfuncs);
            if (a.onDoneEmptyDiv) a.onDoneEmptyDiv()
        },
        winLoaded: !1,
        $$onWindowLoaded: function(a) {
            return function(b) {
                a.winLoaded ? a.call(b) : a.fPush(b, a.WLfuncs)
            }
        },
        div: null,
        divID: "plugindetect",
        divWidth: 50,
        pluginSize: 1,
        emptyDiv: function() {
            var a, b, c, d;
            if (this.div && this.div.childNodes)
                for (a = this.div.childNodes.length - 1; 0 <= a; a--) {
                    if ((c = this.div.childNodes[a]) && c.childNodes)
                        for (b = c.childNodes.length - 1; 0 <= b; b--) {
                            d = c.childNodes[b];
                            try {
                                c.removeChild(d)
                            } catch (e) {}
                        }
                    if (c) try {
                        this.div.removeChild(c)
                    } catch (e) {}
                }!this.div && (a = document.getElementById(this.divID)) && (this.div = a);
            if (this.div && this.div.parentNode) {
                try {
                    this.div.parentNode.removeChild(this.div)
                } catch (e) {}
                this.div = null
            }
        },
        DONEfuncs: [],
        onDoneEmptyDiv: function() {
            var a, b;
            if (this.winLoaded && (!this.WLfuncs || !this.WLfuncs.length || null === this.WLfuncs[this.WLfuncs.length - 1])) {
                for (a in this)
                    if ((b = this[a]) && b.funcs && (3 == b.OTF || b.funcs.length && null !== b.funcs[b.funcs.length - 1])) return;
                for (a = 0; a < this.DONEfuncs.length; a++) this.callArray(this.DONEfuncs);
                this.emptyDiv()
            }
        },
        getWidth: function(a) {
            return a && (a = a.scrollWidth || a.offsetWidth, this.isNum(a)) ? a : -1
        },
        getTagStatus: function(a, b, c, d) {
            var e = a.span,
                f = this.getWidth(e);
            c = c.span;
            var g = this.getWidth(c);
            b = b.span;
            var l = this.getWidth(b);
            if (!(e && c && b && this.getDOMobj(a))) return -2;
            if (g < l || 0 > f || 0 > g || 0 > l || l <= this.pluginSize || 1 > this.pluginSize) return 0;
            if (f >= l) return -1;
            try {
                if (f == this.pluginSize && (!this.isIE || 4 == this.getDOMobj(a).readyState) && (!a.winLoaded && this.winLoaded || a.winLoaded && this.isNum(d) && (this.isNum(a.count) || (a.count = d), 10 <= d - a.count))) return 1
            } catch (k) {}
            return 0
        },
        getDOMobj: function(a, b) {
            var c = a ? a.span : 0,
                d = c && c.firstChild ? 1 : 0;
            try {
                d && b && this.div.focus()
            } catch (e) {}
            return d ? c.firstChild : null
        },
        setStyle: function(a, b) {
            var c = a.style,
                d;
            if (c && b)
                for (d = 0; d < b.length; d += 2) try {
                    c[b[d]] = b[d + 1]
                } catch (e) {}
        },
        insertDivInBody: function(a, b) {
            var c = null,
                d = b ? p.top.document : p.document,
                e = d.getElementsByTagName("body")[0] || d.body;
            if (!e) try {
                d.write('<div id="pd33993399">.' + this.openTag + "/div>"), c = d.getElementById("pd33993399")
            } catch (f) {}
            if (e = d.getElementsByTagName("body")[0] || d.body) e.insertBefore(a, e.firstChild), c && e.removeChild(c)
        },
        insertHTML: function(a, b, c, d, e) {
            e = document;
            var f, g = e.createElement("span"),
                l, k = "outlineStyle none borderStyle none padding 0px margin 0px visibility visible".split(" ");
            this.isDefined(d) || (d = "");
            if (this.isString(a) && /[^\s]/.test(a)) {
                a = a.toLowerCase().replace(/\s/g, "");
                f = this.openTag + a + ' width="' + this.pluginSize + '" height="' + this.pluginSize + '" ';
                f += 'style="outline-style:none;border-style:none;padding:0px;margin:0px;visibility:visible;display:inline;" ';
                for (l = 0; l < b.length; l += 2) /[^\s]/.test(b[l + 1]) && (f += b[l] + '="' + b[l + 1] + '" ');
                f += ">";
                for (l = 0; l < c.length; l += 2) /[^\s]/.test(c[l + 1]) && (f += this.openTag + 'param name="' + c[l] + '" value="' + c[l + 1] + '" />');
                f += d + this.openTag + "/" + a + ">"
            } else f = d;
            this.div || ((b = e.getElementById(this.divID)) ? this.div = b : (this.div = e.createElement("div"), this.div.id = this.divID), this.setStyle(this.div, k.concat(["width", this.divWidth + "px", "height", this.pluginSize + 3 + "px", "fontSize", this.pluginSize + 3 + "px", "lineHeight", this.pluginSize + 3 + "px", "verticalAlign", "baseline", "display", "block"])), b || (this.setStyle(this.div, "position absolute right 0px top 0px".split(" ")), this.insertDivInBody(this.div)));
            if (this.div && this.div.parentNode) {
                this.setStyle(g, k.concat(["fontSize", this.pluginSize + 3 + "px", "lineHeight", this.pluginSize + 3 + "px", "verticalAlign", "baseline", "display", "inline"]));
                try {
                    g.innerHTML = f
                } catch (m) {}
                try {
                    this.div.appendChild(g)
                } catch (m) {}
                return {
                    span: g,
                    winLoaded: this.winLoaded,
                    tagName: a,
                    outerHTML: f
                }
            }
            return {
                span: null,
                winLoaded: this.winLoaded,
                tagName: "",
                outerHTML: f
            }
        },
        Plugins: {
            quicktime: {
                mimeType: ["video/quicktime", "application/x-quicktimeplayer", "image/x-macpaint", "image/x-quicktime"],
                progID: "QuickTimeCheckObject.QuickTimeCheck.1",
                progID0: "QuickTime.QuickTime",
                classID: "clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B",
                minIEver: 7,
                HTML: '<param name="src" value="" /><param name="controller" value="false" />',
                getCodeBaseVersion: function(a) {
                    return 'codebase="#version=' + a + '"'
                },
                SEARCH: {
                    min: 0,
                    max: 0,
                    match: 0,
                    digits: [16, 128, 128, 0]
                },
                getVersion: function(a) {
                    var b = this.$,
                        c = null,
                        d = null;
                    if (b.isIE) {
                        b.isStrNum(a) && (a = a.split(b.splitNumRegx), 3 < a.length && 0 < parseInt(a[3], 10) && (a[3] = "9999"), a = a.join(","));
                        if (b.isStrNum(a) && b.verIE >= this.minIEver && 0 < this.canUseIsMin()) {
                            this.installed = this.isMin(a);
                            this.getVersionDone = 0;
                            return
                        }
                        this.getVersionDone = 1;
                        !c && b.verIE >= this.minIEver && (c = this.CDBASE2VER(b.codebaseSearch(this)));
                        c || (d = b.getAXO(this.progID)) && d.QuickTimeVersion && (c = d.QuickTimeVersion.toString(16), c = parseInt(c.charAt(0), 16) + "." + parseInt(c.charAt(1), 16) + "." + parseInt(c.charAt(2), 16))
                    } else b.hasMimeType(this.mimeType) && (d = 3 != b.OS ? b.findNavPlugin("QuickTime.*Plug-?in", 0) : null) && d.name && (c = b.getNum(d.name));
                    this.installed = c ? 1 : d ? 0 : -1;
                    this.version = b.formatNum(c, 3)
                },
                cdbaseUpper: ["7,60,0,0", "0,0,0,0"],
                cdbaseLower: ["7,50,0,0", null],
                cdbase2ver: [function(a, b) {
                    var c = b.split(a.$.splitNumRegx);
                    return [c[0], c[1].charAt(0), c[1].charAt(1), c[2]].join()
                }, null],
                CDBASE2VER: function(a) {
                    var b = this.$,
                        c, d = this.cdbaseUpper,
                        e = this.cdbaseLower;
                    if (a)
                        for (a = b.formatNum(a), c = 0; c < d.length; c++)
                            if (d[c] && 0 > b.compareNums(a, d[c]) && e[c] && 0 <= b.compareNums(a, e[c]) && this.cdbase2ver[c]) return this.cdbase2ver[c](this, a);
                    return a
                },
                canUseIsMin: function() {
                    var a = this.$,
                        b, c = this.canUseIsMin,
                        d = this.cdbaseUpper,
                        e = this.cdbaseLower;
                    if (!c.value)
                        for (c.value = -1, b = 0; b < d.length; b++) {
                            if (d[b] && a.codebaseSearch(this, d[b])) {
                                c.value = 1;
                                break
                            }
                            if (e[b] && a.codebaseSearch(this, e[b])) {
                                c.value = -1;
                                break
                            }
                        }
                    this.SEARCH.match = 1 == c.value ? 1 : 0;
                    return c.value
                },
                isMin: function(a) {
                    return this.$.codebaseSearch(this, a) ? .7 : -1
                }
            },
            flash: {
                mimeType: "application/x-shockwave-flash",
                progID: "ShockwaveFlash.ShockwaveFlash",
                classID: "clsid:D27CDB6E-AE6D-11CF-96B8-444553540000",
                getVersion: function() {
                    var a = function(a) {
                            return a ? (a = /[\d][\d\,\.\s]*[rRdD]{0,1}[\d\,]*/.exec(a)) ? a[0].replace(/[rRdD\.]/g, ",").replace(/\s/g, "") : null : null
                        },
                        b = this.$,
                        c, d = null,
                        e = null,
                        f = null;
                    if (b.isIE) {
                        for (c = 15; 2 < c; c--)
                            if (e = b.getAXO(this.progID + "." + c)) {
                                f = c.toString();
                                break
                            }
                        e || (e = b.getAXO(this.progID));
                        if ("6" == f) try {
                            e.AllowScriptAccess = "always"
                        } catch (h) {
                            return "6,0,21,0"
                        }
                        try {
                            d = a(e.GetVariable("$version"))
                        } catch (h) {}!d && f && (d = f)
                    } else {
                        if (e = b.hasMimeType(this.mimeType)) {
                            c = b.getDOMobj(b.insertHTML("object", ["type", this.mimeType], [], "", this));
                            try {
                                d = b.getNum(c.GetVariable("$version"))
                            } catch (h) {}
                        }
                        d || ((c = e ? e.enabledPlugin : null) && c.description && (d = a(c.description)), d && (d = b.getPluginFileVersion(c, d)))
                    }
                    this.installed = d ? 1 : -1;
                    this.version = b.formatNum(d);
                    return !0
                }
            },
            shockwave: {
                mimeType: "application/x-director",
                progID: "SWCtl.SWCtl",
                classID: "clsid:166B1BCA-3F9C-11CF-8075-444553540000",
                getVersion: function() {
                    var a = null,
                        b = null,
                        c = this.$;
                    if (c.isIE) {
                        try {
                            b = c.getAXO(this.progID).ShockwaveVersion("")
                        } catch (d) {}
                        c.isString(b) && 0 < b.length ? a = c.getNum(b) : c.getAXO(this.progID + ".8") ? a = "8" : c.getAXO(this.progID + ".7") ? a = "7" : c.getAXO(this.progID + ".1") && (a = "6")
                    } else(b = c.findNavPlugin("Shockwave\\s*for\\s*Director")) && b.description && c.hasMimeType(this.mimeType) && (a = c.getNum(b.description)), a && (a = c.getPluginFileVersion(b, a));
                    this.installed = a ? 1 : -1;
                    this.version = c.formatNum(a)
                }
            },
            zz: 0
        }
    };
    j.initScript();
    var o = 'The "%%" function requires an even number of arguments.\nArguments should be in the form "atttributeName", "attributeValue", ...',
        q = null;
    (function() {
        function a(a) {
            a = a || location.href;
            return "#" + a.replace(/^[^#]*#?(.*)$/, "$1")
        }
        var b = document,
            c, d = g.event.special,
            e = b.documentMode,
            f = "oniLightBoxHashChange" in p && (void 0 === e || 7 < e);
        g.fn.iLightBoxHashChange = function(a) {
            return a ? this.bind("iLightBoxHashChange", a) : this.trigger("iLightBoxHashChange")
        };
        g.fn.iLightBoxHashChange.delay = 50;
        d.iLightBoxHashChange = g.extend(d.iLightBoxHashChange, {
            setup: function() {
                if (f) return !1;
                g(c.start)
            },
            teardown: function() {
                if (f) return !1;
                g(c.stop)
            }
        });
        c = function() {
            function c() {
                var b = a(),
                    d = u(m);
                b !== m ? (q(m = b, d), g(p).trigger("iLightBoxHashChange")) : d !== m && (location.href = location.href.replace(/#.*/, "") + d);
                e = setTimeout(c, g.fn.iLightBoxHashChange.delay)
            }
            var d = {},
                e, m = a(),
                n = function(a) {
                    return a
                },
                q = n,
                u = n;
            d.start = function() {
                e || c()
            };
            d.stop = function() {
                e && clearTimeout(e);
                e = void 0
            };
            D.msie && !f && function() {
                var e, f;
                d.start = function() {
                    e || (f = (f = g.fn.iLightBoxHashChange.src) && f + a(), e = g('<iframe tabindex="-1" title="empty"/>').hide().one("load", function() {
                        f || q(a());
                        c()
                    }).attr("src", f || "javascript:0").insertAfter("body")[0].contentWindow, b.onpropertychange = function() {
                        try {
                            "title" === event.propertyName && (e.document.title = b.title)
                        } catch (t) {}
                    })
                };
                d.stop = n;
                u = function() {
                    return a(e.location.href)
                };
                q = function(a, c) {
                    var d = e.document,
                        f = g.fn.iLightBoxHashChange.domain;
                    a !== c && (d.title = b.title, d.open(), f && d.write('<script>document.domain="' + f + '"\x3c/script>'), d.close(), e.location.hash = a)
                }
            }();
            return d
        }()
    })();
    Array.prototype.filter || (Array.prototype.filter = function(a, b) {
        if (null == this) throw new TypeError;
        var c = Object(this),
            d = c.length >>> 0;
        if ("function" != typeof a) throw new TypeError;
        for (var e = [], f = 0; f < d; f++)
            if (f in c) {
                var g = c[f];
                a.call(b, g, f, c) && e.push(g)
            }
        return e
    });
    Array.prototype.indexOf || (Array.prototype.indexOf = function(a, b) {
        var c;
        if (null == this) throw new TypeError('"this" is null or not defined');
        var d = Object(this),
            e = d.length >>> 0;
        if (0 === e) return -1;
        c = +b || 0;
        Infinity === I(c) && (c = 0);
        if (c >= e) return -1;
        for (c = ca(0 <= c ? c : e - I(c), 0); c < e;) {
            if (c in d && d[c] === a) return c;
            c++
        }
        return -1
    });
    Array.prototype.lastIndexOf || (Array.prototype.lastIndexOf = function(a) {
        if (null == this) throw new TypeError;
        var b = Object(this),
            c = b.length >>> 0;
        if (0 === c) return -1;
        var d = c;
        1 < arguments.length && (d = Number(arguments[1]), d != d ? d = 0 : 0 != d && d != 1 / 0 && d != -(1 / 0) && (d = (0 < d || -1) * M(I(d))));
        for (c = 0 <= d ? Y(d, c - 1) : c - I(d); 0 <= c; c--)
            if (c in b && b[c] === a) return c;
        return -1
    })
})(jQuery, this);
#7 JavaScript::Eval (size: 15599) - SHA256: 8ba8531bf15181c2d28041af9b73730380934c867679c2f674cc0e92fe5f5210
/* Anti-spam. Want to say hello? Contact (base64) Ym90Z3VhcmQtY29udGFjdEBnb29nbGUuY29t */
(function() {
    var c = function(e) {
            return e
        },
        h = this || self,
        N = function(e, y) {
            if (!(e = (y = h.trustedTypes, null), y) || !y.createPolicy) return e;
            try {
                e = y.createPolicy("bg", {
                    createHTML: c,
                    createScript: c,
                    createScriptURL: c
                })
            } catch (A) {
                h.console && h.console.error(A.message)
            }
            return e
        };
    (0, eval)(function(e, y) {
        return (y = N()) && 1 === e.eval(y.createScript("1")) ? function(A) {
            return y.createScript(A)
        } : function(A) {
            return "" + A
        }
    }(h)(Array(7824 * Math.random() | 0).join("\n") + '(function(){var Z=function(e,A){for(A=[];e--;)A.push(255*Math.random()|0);return A},u=function(e,A,c,N,m,y){if(e.U.length){e.UX=(e.C=(e.C&&0(),true),A);try{m=e.Z(),e.o=m,e.F=m,e.h=0,N=ye(e,A),y=e.Z()-e.F,e.O+=y,y<(c?0:10)||0>=e.V--||(y=Math.floor(y),e.J.push(254>=y?y:254))}finally{e.C=false}return N}},f=function(e,A,c){if(223==A||383==A)e.A[A]?e.A[A].concat(c):e.A[A]=AQ(e,c);else{if(e.G&&141!=A)return;332==A||210==A||280==A||264==A||491==A?e.A[A]||(e.A[A]=cw(e,78,c,A)):e.A[A]=cw(e,129,c,A)}141==A&&(e.R=F(e,false,32),e.l=void 0)},hQ=function(e,A){if((e=B.trustedTypes,A=null,!e)||!e.createPolicy)return A;try{A=e.createPolicy("bg",{createHTML:iw,createScript:iw,createScriptURL:iw})}catch(c){B.console&&B.console.error(c.message)}return A},N_=function(e,A,c){if(3==e.length){for(c=0;3>c;c++)A[c]+=e[c];for(c=[13,8,13,12,16,5,(e=0,3),10,15];9>e;e++)A[3](A,e%3,c[e])}},Zt=function(e,A,c,N,m){if(N=A[0],N==K)e.V=25,e.P(A);else if(N==p){c=A[1];try{m=e.H||e.P(A)}catch(y){t(e,y),m=e.H}c(m)}else if(N==Ww)e.P(A);else if(N==D)e.P(A);else if(N==mi){try{for(m=0;m<e.W.length;m++)try{c=e.W[m],c[0][c[1]](c[2])}catch(y){}}catch(y){}(0,A[1])(function(y,h){e.Y(y,true,h)},(e.W=[],function(y){(X((y=!e.U.length,[Un]),e),y)&&u(e,true,false)}))}else{if(N==G)return m=A[2],f(e,109,A[6]),f(e,171,m),e.P(A);N==Un?(e.A=null,e.L=[],e.J=[]):N==I3&&"loading"===B.document.readyState&&(e.N=function(y,h){function W(){h||(h=true,y())}(B.document.addEventListener("DOMContentLoaded",W,(h=false,d)),B).addEventListener("load",W,d)})}},X=function(e,A){A.U.splice(0,0,e)},sn=function(e,A,c,N,m){(((m=Q((N=(m=S((e&=(c=e&4,3),A)),S)(A),m),A),c)&&(m=uw(""+m)),e)&&L(N,A,J(m.length,2)),L)(N,A,m)},J=function(e,A,c,N){for(c=(N=(A|0)-1,[]);0<=N;N--)c[(A|0)-1-(N|0)]=e>>8*N&255;return c},F5=function(e,A){(A.push(e[0]<<24|e[1]<<16|e[2]<<8|e[3]),A).push(e[4]<<24|e[5]<<16|e[6]<<8|e[7]),A.push(e[8]<<24|e[9]<<16|e[10]<<8|e[11])},On=function(e,A,c){if("object"==(A=typeof e,A))if(e){if(e instanceof Array)return"array";if(e instanceof Object)return A;if((c=Object.prototype.toString.call(e),"[object Window]")==c)return"object";if("[object Array]"==c||"number"==typeof e.length&&"undefined"!=typeof e.splice&&"undefined"!=typeof e.propertyIsEnumerable&&!e.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof e.call&&"undefined"!=typeof e.propertyIsEnumerable&&!e.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==A&&"undefined"==typeof e.call)return"object";return A},B=this||self,C2=function(e,A,c,N){for(c=(N=S(A),0);0<e;e--)c=c<<8|E(A);f(A,N,c)},f2=function(e,A,c,N,m){for(m=(N=c[3]|0,0),c=c[2]|0;14>m;m++)A=A>>>8|A<<24,N=N>>>8|N<<24,A+=e|0,A^=c+2229,e=e<<3|e>>>29,N+=c|0,e^=A,c=c<<3|c>>>29,N^=m+2229,c^=N;return[e>>>24&255,e>>>16&255,e>>>8&255,e>>>0&255,A>>>24&255,A>>>16&255,A>>>8&255,A>>>0&255]},Hw=function(e,A,c,N){(N=(c=S(A),S(A)),L)(N,A,J(Q(c,A),e))},Bw=function(e,A){return(e=e.create().shift(),A.B).create().length||A.j.create().length||(A.j=void 0,A.B=void 0),e},wx=function(e,A,c,N,m,y){if(!A.H){A.g++;try{for(y=(N=void 0,0),m=A.I;--e;)try{if(c=void 0,A.B)N=Bw(A.B,A);else{if(y=Q(223,A),y>=m)break;N=(c=(f(A,383,y),S(A)),Q)(c,A)}k(false,(N&&N[Un]&2048?N(A,e):v([x,21,c],A,0),e),A,false)}catch(h){Q(326,A)?v(h,A,22):f(A,326,h)}if(!e){if(A.xD){wx((A.g--,555398272107),A);return}v([x,33],A,0)}}catch(h){try{v(h,A,22)}catch(W){t(A,W)}}A.g--}},v=function(e,A,c,N,m,y){if(!A.G){if(3<(e=Q(36,(N=((y=void 0,e)&&e[0]===x&&(c=e[1],y=e[2],e=void 0),Q(264,A)),0==N.length&&(m=Q(383,A)>>3,N.push(c,m>>8&255,m&255),void 0!=y&&N.push(y&255)),c="",e&&(e.message&&(c+=e.message),e.stack&&(c+=":"+e.stack)),A)),e)){A.v=(e-=((c=c.slice(0,(e|0)-3),c).length|0)+3,c=uw(c),y=A.v,A);try{L(210,A,J(c.length,2).concat(c),9)}finally{A.v=y}}f(A,36,e)}},cw=function(e,A,c,N,m,y,h,W){return(c=(W=R3,h=A&7,[16,-75,-53,44,45,21,c,-10,33,10]),y=z[e.K](e.vI),y)[e.K]=function(U){h+=6+7*A,m=U,h&=7},y.concat=function(U){return(m=(U=(U=N%16+1,3825*N*m+c[h+11&7]*N*U+h)+(W()|0)*U-U*m-204*N*N*m+51*m*m+4*N*N*U- -3723*m,void 0),U=c[U],c)[(h+13&7)+(A&2)]=U,c[h+(A&2)]=-75,U},y},a=function(e,A,c){c=this;try{K2(this,A,e)}catch(N){t(this,N),A(function(m){m(c.H)})}},jY=function(e,A,c,N,m,y){for(N=(c=(A=(((m=(y=e[p2]||{},S(e)),y).Ay=S(e),y).i=[],e.v==e?(E(e)|0)-1:1),S(e)),0);N<A;N++)y.i.push(S(e));for(;A--;)y.i[A]=Q(y.i[A],e);return(y.ty=Q(c,e),y).D=Q(m,e),y},Q=function(e,A){if(void 0===(A=A.A[e],A))throw[x,30,e];if(A.value)return A.create();return(A.create(4*e*e+-75*e+-73),A).prototype},d={passive:true,capture:true},$o=function(e,A){f(e,223,(e.HI.push(e.A.slice()),e.A[223]=void 0,A))},tQ=function(e,A){return A(function(c){c(e)}),[function(){return e}]},L=function(e,A,c,N,m,y){if(A.v==A)for(m=Q(e,A),210==e?(e=function(h,W,U,I){if(m.aU!=(U=((I=m.length,I)|0)-4>>3,U)){W=[0,0,y[1],(U=(m.aU=U,(U<<3)-4),y[2])];try{m.IU=f2(Yo(m,U),Yo(m,(U|0)+4),W)}catch(O){throw O;}}m.push(m.IU[I&7]^h)},y=Q(491,A)):e=function(h){m.push(h)},N&&e(N&255),A=0,N=c.length;A<N;A++)e(c[A])},lw=function(e,A,c,N){return(f(c,223,((N=Q(223,c),c.L)&&N<c.I?(f(c,223,c.I),$o(c,e)):f(c,223,e),wx(A,c),N)),Q)(171,c)},S=function(e,A){if(e.B)return Bw(e.j,e);return(A=F(e,true,8),A&128)&&(A^=128,e=F(e,true,2),A=(A<<2)+(e|0)),A},rx=function(e,A,c){return e.Y(function(N){c=N},false,A),c},V,F=function(e,A,c,N,m,y,h,W,U,I,O,C,R,Y){if((C=Q(223,e),C)>=e.I)throw[x,31];for(U=(y=(R=(N=e.RU.length,c),0),C);0<R;)W=U>>3,I=U%8,m=e.L[W],O=8-(I|0),O=O<R?O:R,A&&(h=e,h.l!=U>>6&&(h.l=U>>6,Y=Q(141,h),h.S=f2(h.R,h.l,[0,0,Y[1],Y[2]])),m^=e.S[W&N]),U+=O,y|=(m>>8-(I|0)-(O|0)&(1<<O)-1)<<(R|0)-(O|0),R-=O;return A=y,f(e,223,(C|0)+(c|0)),A},P=B.requestIdleCallback?function(e){requestIdleCallback(function(){e()},{timeout:4})}:B.setImmediate?function(e){setImmediate(e)}:function(e){setTimeout(e,0)},AQ=function(e,A,c){return((c=z[e.K](e.ZW),c)[e.K]=function(){return A},c).concat=function(N){A=N},c},Yo=function(e,A){return e[A]<<24|e[(A|0)+1]<<16|e[(A|0)+2]<<8|e[(A|0)+3]},X5=function(e,A,c,N){function m(){}return c=Dt(e,(N=void 0,function(y){m&&(A&&P(A),N=y,m(),m=void 0)}),!!A)[0],{invoke:function(y,h,W,U){function I(){N(function(O){P(function(){y(O)})},W)}if(!h)return h=c(W),y&&y(h),h;N?I():(U=m,m=function(){U(),P(I)})}}},K2=function(e,A,c,N,m){for(N=(m=(e.ZW=(e.vI=SY({get:function(){return this.concat()}},(e.RU=e[(e.rD=dx,e).LR=GF,p],e.K)),z[e.K](e.vI,{value:{value:{}}})),0),[]);303>m;m++)N[m]=String.fromCharCode(m);u(e,true,(X([(X([(T(function(y,h,W,U,I){f(y,(W=(I=(U=Q((W=S((I=S((h=S(y),y)),y)),U=S(y),U),y),Q(I,y)),Q)(W,y),h),gx(y,W,U,I))},e,(T(function(y,h,W,U){U=S((W=S(y),y)),h=S(y),f(y,h,Q(W,y)||Q(U,y))},e,(f(e,491,(f(e,397,(T(function(y){sn(4,y)},(T(function(y,h,W,U){if(U=y.HI.pop()){for(W=E(y);0<W;W--)h=S(y),U[h]=y.A[h];U[36]=(U[264]=y.A[264],y).A[36],y.A=U}else f(y,223,y.I)},(f(e,(f(e,22,(T((T(function(y){sn(3,y)},e,(f(e,(f(e,326,(f(e,36,(T(function(y,h,W,U){f(y,(h=Q((W=(U=S((W=(h=S(y),S(y)),y)),Q)(W,y),h),y),U),h in W|0)},(T((T(function(y,h,W){k(false,h,y,true)||(h=S(y),W=S(y),f(y,W,function(U){return eval(U)}(Qe(Q(h,y.v)))))},(T((T((T(function(y,h,W,U,I,O,C){for(W=(C=Q((h=(I=(O=S(y),q_)(y),""),177),y),C.length),U=0;I--;)U=((U|0)+(q_(y)|0))%W,h+=N[C[U]];f(y,O,h)},((T(function(y,h,W,U,I,O,C,R,Y,l,H,w){function g(r,q){for(;W<r;)l|=E(y)<<W,W+=8;return l>>=(q=l&(W-=r,1<<r)-1,r),q}for(H=(w=(U=(h=((l=W=(Y=S(y),0),g(3))|0)+1,g)(5),C=0,[]),0);H<U;H++)O=g(1),w.push(O),C+=O?0:1;for(I=(C=((C|0)-1).toString(2).length,[]),H=0;H<U;H++)w[H]||(I[H]=g(C));for(C=0;C<U;C++)w[C]&&(I[C]=S(y));for(R=[];h--;)R.push(Q(S(y),y));T(function(r,q,b,M,eY){for(q=(eY=(b=0,[]),[]);b<U;b++){if(!w[M=I[b],b]){for(;M>=eY.length;)eY.push(S(r));M=eY[M]}q.push(M)}r.j=AQ(r,(r.B=AQ(r,R.slice()),q))},y,Y)},(f(e,(T(function(y,h,W,U,I){for(h=(U=(W=q_((I=S(y),y)),0),[]);U<W;U++)h.push(E(y));f(y,I,h)},e,(e.FI=(f(e,280,(T(function(y,h){(y=Q((h=S(y),h),y.v),y)[0].removeEventListener(y[1],y[2],d)},(e.kD=(T(function(y,h,W,U){f(y,(U=(h=(h=S((U=S(y),y)),W=S(y),Q(h,y)),Q(U,y)==h),W),+U)},(T(function(y,h,W){f(y,(W=(h=S(y),S)(y),W),""+Q(h,y))},e,((T(function(y){Hw(1,y)},(T(function(y,h,W,U,I,O){k(false,h,y,true)||(I=jY(y.v),h=I.Ay,U=I.ty,W=I.D,I=I.i,O=I.length,U=0==O?new U[W]:1==O?new U[W](I[0]):2==O?new U[W](I[0],I[1]):3==O?new U[W](I[0],I[1],I[2]):4==O?new U[W](I[0],I[1],I[2],I[3]):2(),f(y,h,U))},(T(function(y,h,W,U){f(y,(h=(U=(h=S(y),S)(y),W=Q(U,y),Q(h,y)),U),W+h)},e,(T(function(y,h,W,U){f((h=(U=(W=S(y),E)(y),S(y)),y),h,Q(W,y)>>>U)},(T((T(function(y,h,W,U,I){0!==(U=Q((I=Q((h=S((U=(I=(W=S(y),S)(y),S(y)),y)),I),y),U),y),W=Q(W,y.v),h=Q(h,y),W)&&(h=gx(y,h,1,U,W,I),W.addEventListener(I,h,d),f(y,100,[W,I,h]))},(e.pR=(f(e,171,(T(function(y){Hw(4,y)},e,(f(e,((f(e,223,(e.lT=(e.W=((e.C=false,e).UX=(e.I=0,e.V=25,e.h=(e.F=(e.X=1,0),void 0),!(e.J=[],e.B=void 0,e.j=void 0,(e.g=0,e.u=(e.H=void 0,e.U=[],e.N=null,0),e.A=[],e).fR=0,e.l=void 0,e.L=[],e.KR=function(y){this.v=y},e.R=void 0,e.S=(e.O=0,(e.v=e,e).o=0,(m=window.performance||{},e).HI=[],e.G=false,void 0),e.T=8001,1)),[]),m.timeOrigin)||(m.timing||{}).navigationStart||0,0)),f)(e,383,0),210),Z(4)),469)),{})),0),e),146),function(y,h,W){f(y,(h=(h=(W=(h=S(y),S)(y),Q)(h,y),On)(h),W),h)}),e,317),e),137),87)),T(function(y,h,W,U){U=(W=S((h=S(y),y)),S(y)),y.v==y&&(U=Q(U,y),W=Q(W,y),Q(h,y)[W]=U,141==h&&(y.l=void 0,2==W&&(y.R=F(y,false,32),y.l=void 0)))},e,165),e),252),e),440),T(function(y,h){$o((h=Q(S(y),y),y.v),h)},e,401),f)(e,264,[]),324)),e),73),0),e),505),[])),0),51)),53),0),e),150),T(function(y,h,W,U){f(y,(U=(W=(h=(U=S(y),S)(y),S)(y),h=Q(h,y),Q(U,y)),W),U[h])},e,290),T)(function(){},e,107),e),419),function(y,h,W,U,I,O){if(!k(true,h,y,true)){if(y=Q((W=(I=(h=(h=S((O=(I=S((W=S(y),y)),S(y)),y)),Q)(h,y),Q)(I,y),Q(W,y)),O),y),"object"==On(W)){for(U in O=[],W)O.push(U);W=O}for(O=(U=(y=0<y?y:1,0),W.length);U<O;U+=y)I(W.slice(U,(U|0)+(y|0)),h)}}),e,299),function(y,h,W,U){!k(false,h,y,true)&&(h=jY(y),W=h.ty,U=h.D,y.v==y||U==y.KR&&W==y)&&(f(y,h.Ay,U.apply(W,h.i)),y.o=y.Z())}),e,111),e),259),function(y,h,W){0!=Q((W=(W=(h=S(y),S(y)),Q)(W,y),h),y)&&f(y,223,W)}),e,476),e),482),2048)),549)),332),[160,0,0]),220)),function(y){C2(4,y)}),e,261),B)),100),0),e),31),e),457),e)),[0,0,0])),97)),277)),I3)],e),X([D,c],e),mi),A],e),true))},Dt=function(e,A,c,N){return(N=n[e.substring(0,3)+"_"])?N(e.substring(3),A,c):tQ(e,A)},q_=function(e,A){return A=E(e),A&128&&(A=A&127|E(e)<<7),A},E=function(e){return e.B?Bw(e.j,e):F(e,true,8)},T=function(e,A,c){f(A,c,e),e[I3]=2796},gx=function(e,A,c,N,m,y){function h(){if(e.v==e){if(e.A){var W=[G,N,A,void 0,m,y,arguments];if(2==c)var U=u(e,(X(W,e),false),false);else if(1==c){var I=!e.U.length;X(W,e),I&&u(e,false,false)}else U=Zt(e,W);return U}m&&y&&m.removeEventListener(y,h,d)}}return h},ye=function(e,A,c,N){for(;e.U.length;){c=(e.N=null,e.U.pop());try{N=Zt(e,c)}catch(m){t(e,m)}if(A&&e.N){(A=e.N,A)(function(){u(e,true,true)});break}}return N},t=function(e,A){e.H=((e.H?e.H+"~":"E:")+A.message+":"+A.stack).slice(0,2048)},L2=function(e,A,c,N){try{N=e[((A|0)+2)%3],e[A]=(e[A]|0)-(e[((A|0)+1)%3]|0)-(N|0)^(1==A?N<<c:N>>>c)}catch(m){throw m;}},SY=function(e,A){return z[A](z.prototype,{parent:e,length:e,stack:e,prototype:e,propertyIsEnumerable:e,document:e,floor:e,replace:e,call:e,pop:e,splice:e,console:e})},k=function(e,A,c,N,m,y,h,W,U){if((c.X+=((m=(h=(U=(y=4==(N||c.h++,W=0<c.u&&c.C&&c.UX&&1>=c.g&&!c.B&&!c.N&&(!N||1<c.T-A)&&0==document.hidden,c.h))||W?c.Z():c.o,U)-c.o,h>>14),c).R&&(c.R^=m*(h<<2)),m),c).v=m||c.v,y||W)c.h=0,c.o=U;if(!W||U-c.F<c.u-(e?255:N?5:2))return false;return((e=(c.T=A,Q(N?383:223,c)),f)(c,223,c.I),c).U.push([Ww,e,N?A+1:A]),c.N=P,true},iw=function(e){return e},uw=function(e,A,c,N,m){for(A=m=(N=(e=e.replace(/\\r\\n/g,"\\n"),[]),0);m<e.length;m++)c=e.charCodeAt(m),128>c?N[A++]=c:(2048>c?N[A++]=c>>6|192:(55296==(c&64512)&&m+1<e.length&&56320==(e.charCodeAt(m+1)&64512)?(c=65536+((c&1023)<<10)+(e.charCodeAt(++m)&1023),N[A++]=c>>18|240,N[A++]=c>>12&63|128):N[A++]=c>>12|224,N[A++]=c>>6&63|128),N[A++]=c&63|128);return N},n,p2=String.fromCharCode(105,110,116,101,103,67,104,101,99,107,66,121,112,97,115,115),K=(((a.prototype.xD=!(a.prototype.nR=void 0,1),a.prototype).s="toString",a.prototype).gD=void 0,[]),x={},D=[],G=[],Un=[],I3=[],mi=[],Ww=[],p=[],z=((((F5,function(){})(Z),function(){})(L2),N_,a).prototype.K="create",x.constructor),R3=((V=a.prototype,V.QI=function(){return Math.floor(this.Z())},V).oU=function(e,A,c,N,m,y){for(m=(y=[],0),c=0;c<e.length;c++)for(m+=A,N=N<<A|e[c];7<m;)m-=8,y.push(N>>m&255);return y},V.cI=function(e,A,c,N,m){for(m=N=0;N<e.length;N++)m+=e.charCodeAt(N),m+=m<<10,m^=m>>6;return N=(e=(m+=m<<3,m^=m>>11,m+(m<<15)>>>0),new Number(e&(1<<A)-1)),N[0]=(e>>>A)%c,N},void 0),dx=((V.qd=function(){return Math.floor(this.O+(this.Z()-this.F))},V.Z=(window.performance||{}).now?function(){return this.lT+window.performance.now()}:function(){return+new Date},V).Nd=(V.Y=function(e,A,c,N,m){if((c="array"===On(c)?c:[c],this).H)e(this.H);else try{N=[],m=!this.U.length,X([K,N,c],this),X([p,e,N],this),A&&!m||u(this,A,true)}catch(y){t(this,y),e(this.H)}},function(e,A,c){return(A=(A^=A<<13,A^=A>>17,(A^A<<5)&c))||(A=1),e^A}),a.prototype.P=function(e,A){return R3=(A={},e={},function(){return e==A?-73:-56}),function(c,N,m,y,h,W,U,I,O,C,R,Y,l,H,w){e=(U=e,A);try{if(y=c[0],y==D){O=c[1];try{for(H=(Y=w=0,m=atob(O),[]);w<m.length;w++)C=m.charCodeAt(w),255<C&&(H[Y++]=C&255,C>>=8),H[Y++]=C;f(this,141,[0,0,(this.I=(this.L=H,this.L.length<<3),0)])}catch(g){v(g,this,17);return}wx(8001,this)}else if(y==K)c[1].push(Q(210,this).length,Q(280,this).length,Q(332,this).length,Q(36,this)),f(this,171,c[2]),this.A[16]&&lw(Q(16,this),8001,this);else{if(y==p){this.v=(h=(R=J((w=c[2],(Q(332,this).length|0)+2),2),this.v),this);try{N=Q(264,this),0<N.length&&L(332,this,J(N.length,2).concat(N),10),L(332,this,J(this.X,1),109),L(332,this,J(this[p].length,1)),m=0,m-=(Q(332,this).length|0)+5,W=Q(210,this),m+=Q(53,this)&2047,4<W.length&&(m-=(W.length|0)+3),0<m&&L(332,this,J(m,2).concat(Z(m)),15),4<W.length&&L(332,this,J(W.length,2).concat(W),156)}finally{this.v=h}if(((H=Z(2).concat(Q(332,this)),H)[1]=H[0]^6,H[3]=H[1]^R[0],H)[4]=H[1]^R[1],I=this.BI(H))I="!"+I;else for(I="",m=0;m<H.length;m++)l=H[m][this.s](16),1==l.length&&(l="0"+l),I+=l;return f(this,36,(Q((Q(280,(Q((Y=I,210),this).length=w.shift(),this)).length=w.shift(),332),this).length=w.shift(),w.shift())),Y}if(y==Ww)lw(c[1],c[2],this);else if(y==G)return lw(c[1],8001,this)}}finally{e=U}}}(),/./);a.prototype.CR=(a.prototype.BI=(a.prototype.iT=0,function(e,A,c,N){if(N=window.btoa){for(c=(A="",0);c<e.length;c+=8192)A+=String.fromCharCode.apply(null,e.slice(c,c+8192));e=N(A).replace(/\\+/g,"-").replace(/\\//g,"_").replace(/=/g,"")}else e=void 0;return e}),0);var GF,JQ=(a.prototype[mi]=[0,0,1,1,0,1,1],D).pop.bind(a.prototype[K]),Qe=function(e,A){return(A=hQ())&&1===e.eval(A.createScript("1"))?function(c){return A.createScript(c)}:function(c){return""+c}}(((GF=SY({get:JQ},(dx[a.prototype.s]=JQ,a.prototype.K)),a.prototype).jB=void 0,B));(40<(n=B.botguard||(B.botguard={}),n.m)||(n.m=41,n.bg=X5,n.a=Dt),n).QDj_=function(e,A,c){return c=new a(e,A),[function(N){return rx(c,N)}]};}).call(this);'));
}).call(this);
#8 JavaScript::Eval (size: 50899) - SHA256: 2626f69586429e55dcd345b157a84d3956e2ee556ebf54c6a64ca939f88dda04
var layerSliderTransitions = {
    t2d: [{
        name: 'Sliding from right',
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: 'forward'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuad',
            duration: 1000,
            direction: 'left'
        }
    }, {
        name: 'Sliding from left',
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: 'forward'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuad',
            duration: 1000,
            direction: 'right'
        }
    }, {
        name: 'Sliding from bottom',
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: 'forward'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuad',
            duration: 1000,
            direction: 'top'
        }
    }, {
        name: 'Sliding from top',
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: 'forward'
        },
        transition: {
            type: 'slide',
            easing: 'easeInOutQuad',
            duration: 1000,
            direction: 'bottom'
        }
    }, {
        name: 'Crossfading',
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: 'forward'
        },
        transition: {
            type: 'fade',
            easing: 'easeInOutQuad',
            duration: 1000,
            direction: 'left'
        }
    }, {
        name: 'Fading tiles forward',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 30,
            sequence: 'forward'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 1000,
            direction: 'left'
        }
    }, {
        name: 'Fading tiles reverse',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 30,
            sequence: 'reverse'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 1000,
            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: 1000,
            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: 1000,
            direction: 'left'
        }
    }, {
        name: 'Fading tiles (random)',
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 30,
            sequence: 'random'
        },
        transition: {
            type: 'fade',
            easing: 'easeOutQuart',
            duration: 1000,
            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: 0.5
        }
    }, {
        name: 'Carousel rows',
        rows: 4,
        cols: 1,
        tile: {
            delay: 50,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuad',
            duration: 750,
            direction: 'left',
            scale: 0.5
        }
    }, {
        name: 'Carousel cols',
        rows: 1,
        cols: 4,
        tile: {
            delay: 50,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuad',
            duration: 750,
            direction: 'left',
            scale: 0.5
        }
    }, {
        name: 'Carousel tiles horizontal',
        rows: 3,
        cols: 4,
        tile: {
            delay: 35,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuad',
            duration: 750,
            direction: 'left',
            scale: 0.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: 0.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: 0.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: 0.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: 0.5
        }
    }, {
        name: 'Carousel mirror cols',
        rows: 1,
        cols: 4,
        tile: {
            delay: 50,
            sequence: 'forward'
        },
        transition: {
            type: 'mixed',
            easing: 'easeInOutQuad',
            duration: 750,
            direction: 'left',
            scale: 0.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: 0.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: 0.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: 0.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: 0.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: 0.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'
        }
    }],
    t3d: [{
        name: 'Spinning tile to right (180�)',
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        animation: {
            transition: {
                rotateY: 91
            },
            easing: 'easeInQuart',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            transition: {
                rotateY: 180
            },
            easing: 'easeOutQuart',
            duration: 1000,
            direction: 'horizontal'
        }
    }, {
        name: 'Spinning tile to left (180�)',
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        animation: {
            transition: {
                rotateY: -91
            },
            easing: 'easeInQuart',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            transition: {
                rotateY: -180
            },
            easing: 'easeOutQuart',
            duration: 1000,
            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: 1000,
            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: 1000,
            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: 1000,
            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: 1000,
            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: 0.95
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.95
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.95
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.95
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.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: 0.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: 1000,
            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: 1000,
            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: 2000,
            direction: 'vertical'
        }
    }, {
        name: 'Scaling and spinning rows to right (180�)',
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 55,
            sequence: 'forward'
        },
        before: {
            transition: {
                scale3d: 0.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: 0.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: 0.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: 0.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: 0.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: 0.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: 1000,
            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: 1000,
            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: 2000,
            direction: 'horizontal'
        }
    }, {
        name: 'Scaling and spinning columns to right (180�)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 55,
            sequence: 'forward'
        },
        before: {
            transition: {
                scale3d: 0.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: 0.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: 0.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: 0.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: 0.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: 0.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: 0.85,
                rotateX: -30
            },
            duration: 600,
            easing: 'easeOutQuart'
        },
        animation: {
            transition: {
                rotateX: -30,
                rotateY: 180
            },
            easing: 'easeInOutQuart',
            duration: 1000,
            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: 0.85,
                rotateX: -30
            },
            duration: 600,
            easing: 'easeOutQuart'
        },
        animation: {
            transition: {
                rotateX: 30,
                rotateY: -180
            },
            easing: 'easeInOutQuart',
            duration: 1000,
            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: 0.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: 0.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: 0.85
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.85
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateY: -90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.85
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.85
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateX: 90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.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: 0.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: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: 87
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: -90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: 90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.85,
                rotateY: 45
            },
            easing: 'easeInOutQuint',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            transition: {
                rotateY: 90
            },
            easing: 'easeInOutQuint',
            duration: 1000
        }
    }, {
        name: 'Scaling and horizontal turning drunk rows to left (90�)',
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 75,
            sequence: 'reverse'
        },
        animation: {
            transition: {
                scale3d: 0.85,
                rotateY: -45
            },
            easing: 'easeInOutQuint',
            duration: 1000,
            direction: 'horizontal'
        },
        after: {
            transition: {
                rotateY: -90
            },
            easing: 'easeInOutQuint',
            duration: 1000
        }
    }, {
        name: 'Turning columns to bottom (90�)',
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: 'easeInOutQuart',
            duration: 1000,
            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: 1000,
            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: 1000,
            direction: 'vertical'
        }
    }, {
        name: 'Scaling and turning columns to bottom (90�)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: 'forward'
        },
        before: {
            transition: {
                scale3d: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: 90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: -90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.85,
                rotateX: 45
            },
            easing: 'easeInOutQuint',
            duration: 1000,
            direction: 'vertical'
        },
        after: {
            transition: {
                rotateX: 90
            },
            easing: 'easeInOutQuint',
            duration: 1000
        }
    }, {
        name: 'Scaling and vertical turning drunk columns to left (90�)',
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: 'reverse'
        },
        animation: {
            transition: {
                scale3d: 0.85,
                rotateX: -45
            },
            easing: 'easeInOutQuint',
            duration: 1000,
            direction: 'vertical'
        },
        after: {
            transition: {
                rotateX: -90
            },
            easing: 'easeInOutQuint',
            duration: 1000
        }
    }, {
        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: 0.85
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.85
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.85
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.85
            },
            duration: 450,
            easing: 'easeInOutQuint'
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.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: 0.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: 0.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: 0.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: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.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: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.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: 0.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: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.85
            },
            duration: 600,
            easing: 'easeOutBack'
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: 'easeInOutBack',
            duration: 1000,
            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: 0.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: 0.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: 0.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: 0.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: 0.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 (0)


HTTP Transactions (153)


Request Response
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "2DA2FA0B2B86CCC4029D0BAA4E9C5B21A6433228B84B451B72B1D318561D4EF2"
Last-Modified: Sat, 05 Nov 2022 12:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=2608
Expires: Sat, 05 Nov 2022 18:25:34 GMT
Date: Sat, 05 Nov 2022 17:42:06 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 2223
Cache-Control: max-age=145561
Date: Sat, 05 Nov 2022 17:42:06 GMT
Etag: "63662d58-1d7"
Expires: Mon, 07 Nov 2022 10:08:07 GMT
Last-Modified: Sat, 05 Nov 2022 09:31:04 GMT
Server: ECS (ska/F711)
X-Cache: HIT
Content-Length: 471

                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 2223
Cache-Control: max-age=145561
Date: Sat, 05 Nov 2022 17:42:06 GMT
Etag: "63662d58-1d7"
Expires: Mon, 07 Nov 2022 10:08:07 GMT
Last-Modified: Sat, 05 Nov 2022 09:31:04 GMT
Server: ECS (ska/F711)
X-Cache: HIT
Content-Length: 471

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "DD5DD09FEC51669ADF36B3014BBF65D7BFF608F72018D037F9ED9B414675037C"
Last-Modified: Fri, 04 Nov 2022 02:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=11100
Expires: Sat, 05 Nov 2022 20:47:06 GMT
Date: Sat, 05 Nov 2022 17:42:06 GMT
Connection: keep-alive

                                        
                                            GET /chains/remote-settings.content-signature.mozilla.org-2022-11-19-18-50-54.chain HTTP/1.1 
Host: content-signature-2.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         34.160.144.191
HTTP/2 200 OK
content-type: binary/octet-stream
                                        
x-amz-id-2: NYT3EGsDFR1pMoa1pVviQS/FDM4VQ2b+RVMR1PGK5RA42yAumhC0f8mrnthv9tHXsFJJg8z36k4=
x-amz-request-id: Q3Q00006M22QJZY2
content-disposition: attachment
accept-ranges: bytes
server: AmazonS3
content-length: 5348
via: 1.1 google
date: Sat, 05 Nov 2022 16:47:16 GMT
age: 3290
last-modified: Fri, 30 Sep 2022 18:50:55 GMT
etag: "67d5a988edcda47bc3b3b3f65d32b4b6"
cache-control: public,max-age=3600
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  PEM certificate\012- , ASCII text
Size:   5348
Md5:    67d5a988edcda47bc3b3b3f65d32b4b6
Sha1:   d4f0e0da8b3690cc7da925026d3414b68c7d954f
Sha256: 55e4848e3ec682e808ce7ee70950f86179c43af4f81926d826a95edfda395a78
                                        
                                            GET /v1/tiles HTTP/1.1 
Host: contile.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         34.117.237.239
HTTP/2 200 OK
content-type: application/json
                                        
server: nginx
date: Sat, 05 Nov 2022 17:42:06 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
                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 5569
Cache-Control: max-age=143850
Date: Sat, 05 Nov 2022 17:42:06 GMT
Etag: "63661997-1d7"
Expires: Mon, 07 Nov 2022 09:39:36 GMT
Last-Modified: Sat, 05 Nov 2022 08:06:47 GMT
Server: ECS (ska/F711)
X-Cache: HIT
Content-Length: 471

                                        
                                            GET /icmo/sabuisqoroaamliumq HTTP/1.1 
Host: elephantpassresort.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         103.76.228.55
HTTP/1.1 301 Moved Permanently
Content-Type: text/html; charset=UTF-8
                                        
Date: Sat, 05 Nov 2022 17:41:55 GMT
Server: nginx/1.17.6
Content-Length: 0
Cache-Control: no-cache
X-Redirect-By: iThemes Security
Location: https://elephantpassresort.com/icmo/sabuisqoroaamliumq
X-Server-Cache: true
X-Proxy-Cache: MISS


--- Additional Info ---
Magic:  
Size:   0
Md5:    d41d8cd98f00b204e9800998ecf8427e
Sha1:   da39a3ee5e6b4b0d3255bfef95601890afd80709
Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Alerts:
  Blocklists:
    - fortinet: Malware
                                        
                                            GET / HTTP/1.1 
Host: push.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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: R4fsUIc+8hvrkXJRWqjGDA==
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

search
                                         34.218.159.206
HTTP/1.1 101 Switching Protocols
                                        
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Accept: SLJKOv3mAQi9YVo171+xULqfMw4=

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "2A2272E1817FB2F7E7DFA63D16D46F4FF7EB3D7AA8C060DE8DD8DF617B1D0A60"
Last-Modified: Fri, 04 Nov 2022 20:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=21600
Expires: Sat, 05 Nov 2022 23:42:07 GMT
Date: Sat, 05 Nov 2022 17:42:07 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "AC94F3FD00F0F8F8617D15A3816B07D25D3774E91B287AC181E5EFB4EBF95E22"
Last-Modified: Thu, 03 Nov 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=11341
Expires: Sat, 05 Nov 2022 20:51:08 GMT
Date: Sat, 05 Nov 2022 17:42:07 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "AC94F3FD00F0F8F8617D15A3816B07D25D3774E91B287AC181E5EFB4EBF95E22"
Last-Modified: Thu, 03 Nov 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=11341
Expires: Sat, 05 Nov 2022 20:51:08 GMT
Date: Sat, 05 Nov 2022 17:42:07 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "AC94F3FD00F0F8F8617D15A3816B07D25D3774E91B287AC181E5EFB4EBF95E22"
Last-Modified: Thu, 03 Nov 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=11341
Expires: Sat, 05 Nov 2022 20:51:08 GMT
Date: Sat, 05 Nov 2022 17:42:07 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "AC94F3FD00F0F8F8617D15A3816B07D25D3774E91B287AC181E5EFB4EBF95E22"
Last-Modified: Thu, 03 Nov 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=11341
Expires: Sat, 05 Nov 2022 20:51:08 GMT
Date: Sat, 05 Nov 2022 17:42:07 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "AC94F3FD00F0F8F8617D15A3816B07D25D3774E91B287AC181E5EFB4EBF95E22"
Last-Modified: Thu, 03 Nov 2022 21:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=11341
Expires: Sat, 05 Nov 2022 20:51:08 GMT
Date: Sat, 05 Nov 2022 17:42:07 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%2F28a5f5ce-bd81-4e56-bd1b-460e13379581.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 7783
x-amzn-requestid: ab7cc6ee-976d-41a4-b5da-0aefd5cb6246
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: bEJnzH15oAMFlwA=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-6364bc98-68f910b60bd5ecaf2947c59a;Sampled=0
x-amzn-remapped-date: Fri, 04 Nov 2022 07:17:44 GMT
x-amz-cf-pop: SEA73-P1
x-cache: Miss from cloudfront
x-amz-cf-id: JnvKcym5f71Ra_ZHzkTXnU7Fa3D5zBFK9JFKXA_A3G98jN9r3Jikyw==
via: 1.1 95b0ac620fa3a80ee590ecf1cda1c698.cloudfront.net (CloudFront), 1.1 91356d2137f5a7345e93da4516c49ec4.cloudfront.net (CloudFront), 1.1 google
date: Sat, 05 Nov 2022 08:24:07 GMT
age: 33480
etag: "75805b9f03aef14cfad025259936ae5f217d25ca"
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:   7783
Md5:    7a3b1551512640bb8f5e7deb80c32272
Sha1:   75805b9f03aef14cfad025259936ae5f217d25ca
Sha256: 5baa90853202e78cf9b59e9ab597e16ccfbf143d7e124583e64dc1ad1ee2c2df
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F5f29b126-c6e5-4528-8307-e3c7fe12e225.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 7619
x-amzn-requestid: 67308248-e660-4294-aafe-5f178970f822
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: bGHlcHHfIAMFyGA=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-63658622-5b1ee875554a05eb1e8a6f16;Sampled=0
x-amzn-remapped-date: Fri, 04 Nov 2022 21:37:38 GMT
x-amz-cf-pop: HIO50-C1, SEA73-P1
x-cache: Hit from cloudfront
x-amz-cf-id: _-RekVvWiPI4MHy0Up2j6D6a_NcPywYvDeydP3QlbCceU7NfWk00jQ==
via: 1.1 1cc6ed0d2d3dd9529ce544f9dfe61a52.cloudfront.net (CloudFront), 1.1 73cb83fe6699afc2791b5c690c1ff8c6.cloudfront.net (CloudFront), 1.1 google
date: Fri, 04 Nov 2022 21:52:21 GMT
age: 71386
etag: "0bf4de356c3a64785fe116161cb931b3b2476f5d"
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:   7619
Md5:    308da46611df43543d31ca502986bea2
Sha1:   0bf4de356c3a64785fe116161cb931b3b2476f5d
Sha256: 63996962e2763dcf2e0ae5e43aa12dfd8f8677082bb1cdf63528dfd00404f3e3
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F255683f8-a0b6-411a-a41e-4d042746780e.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 9150
x-amzn-requestid: 7c179507-20a7-4fa3-993b-f79b3e7949ac
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: apwiGHD_IAMFQZw=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-635a2e0d-337623ce79dc53c864632c72;Sampled=0
x-amzn-remapped-date: Thu, 27 Oct 2022 07:06:53 GMT
x-amz-cf-pop: SEA73-P1
x-cache: Hit from cloudfront
x-amz-cf-id: CKSa8_W-V5Rf8od3FFPgvBmlfXcqaYotYT5u6Gm8UvmXECcAzfAGoA==
via: 1.1 f13aef0c4b52f6f681401f232d03eb68.cloudfront.net (CloudFront), 1.1 b13f158bdf9805ca47e07c0c35870c12.cloudfront.net (CloudFront), 1.1 google
date: Sat, 05 Nov 2022 14:36:54 GMT
age: 11113
etag: "596c3c084ae3d850a5dc28e549b4e22f2b8cc71f"
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:   9150
Md5:    c7c9c908e891e7277f21a914fea9aa25
Sha1:   596c3c084ae3d850a5dc28e549b4e22f2b8cc71f
Sha256: 709c217b3ac09712d2af4366316c8977b1a4e2a73f887b3e30f10df1ed50bacd
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2Fc6fadd94-b1a4-4bdc-bcf4-b6bade4840a0.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 10462
x-amzn-requestid: 43480a38-fd89-4c47-b8c4-e6ba90b1321c
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: aMF6oEz_oAMF8Hg=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-634e5043-6617fd2e59cab00135301cdd;Sampled=0
x-amzn-remapped-date: Tue, 18 Oct 2022 07:05:39 GMT
x-amz-cf-pop: SEA73-P1
x-cache: Hit from cloudfront
x-amz-cf-id: 3fDf4aoep5tTAusisXhIdAf0A6SbpM5fYtYaiXtNSb0-VRJo5nu8Vg==
via: 1.1 9c60d6224ac0b44e908b5c9dcf70e9a4.cloudfront.net (CloudFront), 1.1 ee330666adf9f04c8c30094f8ddcd004.cloudfront.net (CloudFront), 1.1 google
date: Sat, 05 Nov 2022 06:27:59 GMT
age: 40448
etag: "f052e1f8b2bf4a8eeecfa5b82e27ada1b7719a0c"
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:   10462
Md5:    4e2853cc6ec6223160471401e6871f4b
Sha1:   f052e1f8b2bf4a8eeecfa5b82e27ada1b7719a0c
Sha256: bf4b9145ea043d87a30fd3aeeae21a1a0aa27004cd2467e7aa843bc894ae1f60
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2Fb94b0737-3952-4bbe-b940-e1f79fb95cbe.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 6909
x-amzn-requestid: 7c500c29-f514-491c-b2fe-a732a546925f
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: awWpEEYHoAMFWdg=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-635cd16d-6d9c4c5c41f4fcd16cabda59;Sampled=0
x-amzn-remapped-date: Sat, 29 Oct 2022 07:08:29 GMT
x-amz-cf-pop: SEA73-P1
x-cache: Hit from cloudfront
x-amz-cf-id: lOCFTDiIxZDBzypATpujFz2hjWPabqjokrpq1-5An86y5lZLG5xHxQ==
via: 1.1 112c6b3f9aea37a6cb00b7d933e5af6e.cloudfront.net (CloudFront), 1.1 e95ec8f1dc02e32f0cb9e113963ceb4e.cloudfront.net (CloudFront), 1.1 google
date: Sat, 05 Nov 2022 07:40:21 GMT
age: 36106
etag: "ce73b0ad22139bec863ed990e3d3af4bdc3df288"
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:   6909
Md5:    eaf06d0fb99703abfd57b962eb21ce96
Sha1:   ce73b0ad22139bec863ed990e3d3af4bdc3df288
Sha256: a226250245611193be882c92f2d9920cb6ceeb12823b48c0b9c8fa2aba1c8c0d
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F3d05e3a2-b178-419f-90de-a1985765ff09.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 6557
x-amzn-requestid: f2e39db1-fb8a-4a9b-8a1d-ee08000ddeb6
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: bC1VyFHuIAMF5Eg=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-636435be-7a03ef677f8dbd680f72de90;Sampled=0
x-amzn-remapped-date: Thu, 03 Nov 2022 21:42:22 GMT
x-amz-cf-pop: SEA73-P1
x-cache: Hit from cloudfront
x-amz-cf-id: I6mALhsUwtQqMP_p_HxFaiCyfRDTtVzPIJjeDrKSEq7Tc_d5EcNw3Q==
via: 1.1 0c96ded7ff282d2dbcf47c918b6bb500.cloudfront.net (CloudFront), 1.1 73cb83fe6699afc2791b5c690c1ff8c6.cloudfront.net (CloudFront), 1.1 google
date: Fri, 04 Nov 2022 21:52:32 GMT
age: 71375
etag: "594e5a82ce82fb4cd76548b6d2d6b4cc419b7e4c"
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:   6557
Md5:    ca6c7517d7015fbc35fa290c1c2d6afd
Sha1:   594e5a82ce82fb4cd76548b6d2d6b4cc419b7e4c
Sha256: a746b36be50209915a0e5657abd219aab382eee4b7556142aa1316daf3a9f5a4
                                        
                                            GET /icmo/sabuisqoroaamliumq HTTP/1.1 
Host: elephantpassresort.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         103.76.228.55
HTTP/2 301 Moved Permanently
content-type: text/html; charset=UTF-8
                                        
date: Sat, 05 Nov 2022 17:42:07 GMT
server: Apache
content-length: 0
expires: Wed, 11 Jan 1984 05:00:00 GMT
cache-control: no-cache, must-revalidate, max-age=0
x-redirect-by: WordPress
location: https://www.elephantpassresort.com
x-server-cache: true
x-proxy-cache: MISS
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    d41d8cd98f00b204e9800998ecf8427e
Sha1:   da39a3ee5e6b4b0d3255bfef95601890afd80709
Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Alerts:
  Blocklists:
    - fortinet: Malware
                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         142.250.74.35
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Sat, 05 Nov 2022 17:42:10 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 471
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         142.250.74.35
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Sat, 05 Nov 2022 17:42:10 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 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         142.250.74.35
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Sat, 05 Nov 2022 17:42:10 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            GET /gtag/js?id=AW-847594148 HTTP/1.1 
Host: www.googletagmanager.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.elephantpassresort.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         142.250.74.168
HTTP/2 200 OK
content-type: application/javascript; charset=UTF-8
                                        
access-control-allow-origin: *
access-control-allow-credentials: true
access-control-allow-headers: Cache-Control
content-encoding: br
vary: Accept-Encoding
date: Sat, 05 Nov 2022 17:42:10 GMT
expires: Sat, 05 Nov 2022 17:42:10 GMT
cache-control: private, max-age=900
last-modified: Sat, 05 Nov 2022 15:00:00 GMT
strict-transport-security: max-age=31536000; includeSubDomains
cross-origin-resource-policy: cross-origin
server: Google Tag Manager
content-length: 52803
x-xss-protection: 0
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:  ASCII text, with very long lines (1921)
Size:   52803
Md5:    daebc1d8ada2978dfd30e40c5c39840e
Sha1:   5a7ebc89446990f97377c2ddbfa009fae5894f28
Sha256: 5f257c2eb8bc02259d0cd3fdff85892fa06f778060d1dab5b9a37057b33213e6
                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         142.250.74.35
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Sat, 05 Nov 2022 17:42:10 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 471
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            GET /gtag/js?id=UA-77532242-1 HTTP/1.1 
Host: www.googletagmanager.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.elephantpassresort.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         142.250.74.168
HTTP/2 200 OK
content-type: application/javascript; charset=UTF-8
                                        
access-control-allow-origin: *
access-control-allow-credentials: true
access-control-allow-headers: Cache-Control
content-encoding: br
vary: Accept-Encoding
date: Sat, 05 Nov 2022 17:42:10 GMT
expires: Sat, 05 Nov 2022 17:42:10 GMT
cache-control: private, max-age=900
strict-transport-security: max-age=31536000; includeSubDomains
cross-origin-resource-policy: cross-origin
server: Google Tag Manager
content-length: 44653
x-xss-protection: 0
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:  ASCII text, with very long lines (1921)
Size:   44653
Md5:    8e07bac2a82d5a00af76ebfa47a8c3a1
Sha1:   6a2cb130be4df32b920d893b5eba14b34e52c77f
Sha256: 2d9568ce4561fc54ed20770948e48806dca36a8f47f677bcc978bd737ff734af
                                        
                                            GET /wp-includes/css/classic-themes.min.css?ver=1 HTTP/1.1 
Host: www.elephantpassresort.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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://www.elephantpassresort.com/
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         103.76.228.55
HTTP/2 200 OK
content-type: text/css
                                        
last-modified: Wed, 02 Nov 2022 14:11:57 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 189
date: Sat, 05 Nov 2022 17:42:10 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text
Size:   189
Md5:    5a18e16eb01cbaa862eb32e6b77bedb2
Sha1:   3abf9b913cc9f558f02cba7c9b822f8d1812cb96
Sha256: d2b5af913332941d5ae7786d1fa70e0d009315c4ede6ad5b80d0f663bb54521f
                                        
                                            GET /wp-content/plugins/wpcf7-redirect/build/css/wpcf7-redirect-frontend.min.css?ver=6.1 HTTP/1.1 
Host: www.elephantpassresort.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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://www.elephantpassresort.com/
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         103.76.228.55
HTTP/2 200 OK
content-type: text/css
                                        
last-modified: Sat, 29 Oct 2022 16:24:58 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 124
date: Sat, 05 Nov 2022 17:42:10 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with CRLF, CR line terminators
Size:   124
Md5:    893dd4d34591cb544851b5a41747cdfd
Sha1:   e8585a3187cfaa2288f0cb48e5696929306b7615
Sha256: 1de5e3983dd9d63c6d92bc1543a4ae8978b38fbaa8d79fbbc2035c62a68cd7cf

Alerts:
  Blocklists:
    - fortinet: Malware
                                        
                                            GET /wp-content/plugins/LayerSlider/static/layerslider/css/layerslider.css?ver=6.8.2 HTTP/1.1 
Host: www.elephantpassresort.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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://www.elephantpassresort.com/
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         103.76.228.55
HTTP/2 200 OK
content-type: text/css
                                        
last-modified: Fri, 17 Jan 2020 04:22:04 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 5474
date: Sat, 05 Nov 2022 17:42:10 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text
Size:   5474
Md5:    f491518eccae244f052aaae5eeaa5636
Sha1:   d89f96fe55b4a1339dd2663cb2319d0ec74babbd
Sha256: 02df40e7cc92a310feed821b2c931474fb0e5dd2188d417ded69adf2a0391fd6

Alerts:
  Blocklists:
    - fortinet: Malware
                                        
                                            GET /wp-content/plugins/wp-postratings/css/postratings-css.css?ver=1.90 HTTP/1.1 
Host: www.elephantpassresort.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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://www.elephantpassresort.com/
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         103.76.228.55
HTTP/2 200 OK
content-type: text/css
                                        
last-modified: Wed, 31 Aug 2022 16:51:45 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 410
date: Sat, 05 Nov 2022 17:42:10 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text
Size:   410
Md5:    4a1a6d7b33f8a8e0417d1fe0e0a13e75
Sha1:   5119146fc3e4c2cb9c6ab010e2bc9b2ae7d54282
Sha256: 538ccb5dbf9ddd8a46bf66027cdb5c67a7476dc7760317c4e60fd04ed7a5c614

Alerts:
  Blocklists:
    - fortinet: Malware
                                        
                                            GET /wp-content/themes/hotel-lux/style.css?ver=1.0.0 HTTP/1.1 
Host: www.elephantpassresort.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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://www.elephantpassresort.com/
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         103.76.228.55
HTTP/2 200 OK
content-type: text/css
                                        
last-modified: Thu, 19 Mar 2020 06:44:46 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 2637
date: Sat, 05 Nov 2022 17:42:10 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (1020)
Size:   2637
Md5:    c36d2819d20c1898edf6db57aa83fdd2
Sha1:   01aa8def7f63d3360072964fab323ff31783b98c
Sha256: dfcecc5eaeb0aecf17de7e7b32a29dd3de33626c10dc96ed86b931ba66373980

Alerts:
  Blocklists:
    - fortinet: Malware
                                        
                                            GET /wp-content/plugins/revslider/public/assets/css/settings.css?ver=5.4.8.3 HTTP/1.1 
Host: www.elephantpassresort.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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://www.elephantpassresort.com/
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         103.76.228.55
HTTP/2 200 OK
content-type: text/css
                                        
last-modified: Fri, 17 Jan 2020 04:22:06 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 12242
date: Sat, 05 Nov 2022 17:42:10 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Unicode text, UTF-8 text, with very long lines (5178), with CRLF line terminators
Size:   12242
Md5:    c220a68e588d62a720ffacfa52ad31d3
Sha1:   430b0eb0bdf72cebd13d43d18b8a276847b7a786
Sha256: c12f9fb0d32fe152c3306f864f398f965b24ac6ffe01697b2b05fac214d2991a
                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         142.250.74.35
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Sat, 05 Nov 2022 17:42:10 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 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         142.250.74.35
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Sat, 05 Nov 2022 17:42:10 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 471
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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

search
                                         142.250.74.35
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Sat, 05 Nov 2022 17:42:10 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            GET /wp-content/plugins/google-language-translator/css/style.css?ver=6.0.15 HTTP/1.1 
Host: www.elephantpassresort.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.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://www.elephantpassresort.com/
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         103.76.228.55
HTTP/2 200 OK
content-type: text/css
                                        
last-modified: Fri, 20 May 2022 11:15:24 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 13137
date: Sat, 05 Nov 2022 17:42:10 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text
Size:   13137
Md5:    58dd59686fb83f247d72c74284641945
Sha1:   3f36fc8f2c2921f025ea2dee95d475a5705dc84e
Sha256: df199699d2cda0f41a52e5f3396111fe8868f798b92e0fe2e39018ad39cf497c