{"version":3,"sources":["jsdelivr-header.js","/npm/jquery-lazyload@1.9.5/jquery.lazyload.js"],"names":[],"mappings":"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","file":"/npm/jquery-lazyload@1.9.5/jquery.lazyload.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/jquery-lazyload@1.9.5/jquery.lazyload.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/*\n * Lazy Load - jQuery plugin for lazy loading images\n *\n * Copyright (c) 2007-2015 Mika Tuupola\n *\n * Licensed under the MIT license:\n *   http://www.opensource.org/licenses/mit-license.php\n *\n * Project home:\n *   http://www.appelsiini.net/projects/lazyload\n *\n * Version:  1.9.5\n *\n */\n\n(function($, window, document, undefined) {\n    var $window = $(window);\n\n    $.fn.lazyload = function(options) {\n        var elements = this;\n        var $container;\n        var settings = {\n            threshold       : 0,\n            failure_limit   : 0,\n            event           : \"scroll\",\n            effect          : \"show\",\n            container       : window,\n            data_attribute  : \"original\",\n            skip_invisible  : false,\n            appear          : null,\n            load            : null,\n            placeholder     : \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC\"\n        };\n\n        function update() {\n            var counter = 0;\n\n            elements.each(function() {\n                var $this = $(this);\n                if (settings.skip_invisible && !$this.is(\":visible\")) {\n                    return;\n                }\n                if ($.abovethetop(this, settings) ||\n                    $.leftofbegin(this, settings)) {\n                        /* Nothing. */\n                } else if (!$.belowthefold(this, settings) &&\n                    !$.rightoffold(this, settings)) {\n                        $this.trigger(\"appear\");\n                        /* if we found an image we'll load, reset the counter */\n                        counter = 0;\n                } else {\n                    if (++counter > settings.failure_limit) {\n                        return false;\n                    }\n                }\n            });\n\n        }\n\n        if(options) {\n            /* Maintain BC for a couple of versions. */\n            if (undefined !== options.failurelimit) {\n                options.failure_limit = options.failurelimit;\n                delete options.failurelimit;\n            }\n            if (undefined !== options.effectspeed) {\n                options.effect_speed = options.effectspeed;\n                delete options.effectspeed;\n            }\n\n            $.extend(settings, options);\n        }\n\n        /* Cache container as jQuery as object. */\n        $container = (settings.container === undefined ||\n                      settings.container === window) ? $window : $(settings.container);\n\n        /* Fire one scroll event per scroll. Not one scroll event per image. */\n        if (0 === settings.event.indexOf(\"scroll\")) {\n            $container.bind(settings.event, function() {\n                return update();\n            });\n        }\n\n        this.each(function() {\n            var self = this;\n            var $self = $(self);\n\n            self.loaded = false;\n\n            /* If no src attribute given use data:uri. */\n            if ($self.attr(\"src\") === undefined || $self.attr(\"src\") === false) {\n                if ($self.is(\"img\")) {\n                    $self.attr(\"src\", settings.placeholder);\n                }\n            }\n\n            /* When appear is triggered load original image. */\n            $self.one(\"appear\", function() {\n                if (!this.loaded) {\n                    if (settings.appear) {\n                        var elements_left = elements.length;\n                        settings.appear.call(self, elements_left, settings);\n                    }\n                    $(\"<img />\")\n                        .bind(\"load\", function() {\n\n                            var original = $self.attr(\"data-\" + settings.data_attribute);\n                            $self.hide();\n                            if ($self.is(\"img\")) {\n                                $self.attr(\"src\", original);\n                            } else {\n                                $self.css(\"background-image\", \"url('\" + original + \"')\");\n                            }\n                            $self[settings.effect](settings.effect_speed);\n\n                            self.loaded = true;\n\n                            /* Remove image from array so it is not looped next time. */\n                            var temp = $.grep(elements, function(element) {\n                                return !element.loaded;\n                            });\n                            elements = $(temp);\n\n                            if (settings.load) {\n                                var elements_left = elements.length;\n                                settings.load.call(self, elements_left, settings);\n                            }\n                        })\n                        .attr(\"src\", $self.attr(\"data-\" + settings.data_attribute));\n                }\n            });\n\n            /* When wanted event is triggered load original image */\n            /* by triggering appear.                              */\n            if (0 !== settings.event.indexOf(\"scroll\")) {\n                $self.bind(settings.event, function() {\n                    if (!self.loaded) {\n                        $self.trigger(\"appear\");\n                    }\n                });\n            }\n        });\n\n        /* Check if something appears when window is resized. */\n        $window.bind(\"resize\", function() {\n            update();\n        });\n\n        /* With IOS5 force loading images when navigating with back button. */\n        /* Non optimal workaround. */\n        if ((/(?:iphone|ipod|ipad).*os 5/gi).test(navigator.appVersion)) {\n            $window.bind(\"pageshow\", function(event) {\n                if (event.originalEvent && event.originalEvent.persisted) {\n                    elements.each(function() {\n                        $(this).trigger(\"appear\");\n                    });\n                }\n            });\n        }\n\n        /* Force initial check if images should appear. */\n        $(document).ready(function() {\n            update();\n        });\n\n        return this;\n    };\n\n    /* Convenience methods in jQuery namespace.           */\n    /* Use as  $.belowthefold(element, {threshold : 100, container : window}) */\n\n    $.belowthefold = function(element, settings) {\n        var fold;\n\n        if (settings.container === undefined || settings.container === window) {\n            fold = (window.innerHeight ? window.innerHeight : $window.height()) + $window.scrollTop();\n        } else {\n            fold = $(settings.container).offset().top + $(settings.container).height();\n        }\n\n        return fold <= $(element).offset().top - settings.threshold;\n    };\n\n    $.rightoffold = function(element, settings) {\n        var fold;\n\n        if (settings.container === undefined || settings.container === window) {\n            fold = $window.width() + $window.scrollLeft();\n        } else {\n            fold = $(settings.container).offset().left + $(settings.container).width();\n        }\n\n        return fold <= $(element).offset().left - settings.threshold;\n    };\n\n    $.abovethetop = function(element, settings) {\n        var fold;\n\n        if (settings.container === undefined || settings.container === window) {\n            fold = $window.scrollTop();\n        } else {\n            fold = $(settings.container).offset().top;\n        }\n\n        return fold >= $(element).offset().top + settings.threshold  + $(element).height();\n    };\n\n    $.leftofbegin = function(element, settings) {\n        var fold;\n\n        if (settings.container === undefined || settings.container === window) {\n            fold = $window.scrollLeft();\n        } else {\n            fold = $(settings.container).offset().left;\n        }\n\n        return fold >= $(element).offset().left + settings.threshold + $(element).width();\n    };\n\n    $.inviewport = function(element, settings) {\n         return !$.rightoffold(element, settings) && !$.leftofbegin(element, settings) &&\n                !$.belowthefold(element, settings) && !$.abovethetop(element, settings);\n     };\n\n    /* Custom selectors for your convenience.   */\n    /* Use as $(\"img:below-the-fold\").something() or */\n    /* $(\"img\").filter(\":below-the-fold\").something() which is faster */\n\n    $.extend($.expr[\":\"], {\n        \"below-the-fold\" : function(a) { return $.belowthefold(a, {threshold : 0}); },\n        \"above-the-top\"  : function(a) { return !$.belowthefold(a, {threshold : 0}); },\n        \"right-of-screen\": function(a) { return $.rightoffold(a, {threshold : 0}); },\n        \"left-of-screen\" : function(a) { return !$.rightoffold(a, {threshold : 0}); },\n        \"in-viewport\"    : function(a) { return $.inviewport(a, {threshold : 0}); },\n        /* Maintain BC for couple of versions. */\n        \"above-the-fold\" : function(a) { return !$.belowthefold(a, {threshold : 0}); },\n        \"right-of-fold\"  : function(a) { return $.rightoffold(a, {threshold : 0}); },\n        \"left-of-fold\"   : function(a) { return !$.rightoffold(a, {threshold : 0}); }\n    });\n\n})(jQuery, window, document);\n"]}