text: /*!
   * imagesLoaded PACKAGED v4.1.4
   * JavaScript is all like "You images are done yet or what?"
   * MIT License
   */
  
  !(function (e, t) {
      "function" == typeof define && define.amd ? define("ev-emitter/ev-emitter", t) : "object" == typeof module && module.exports ? (module.exports = t()) : (e.EvEmitter = t());
  })("undefined" != typeof window ? window : this, function () {
      function e() {}
      var t = e.prototype;
      return (
          (t.on = function (e, t) {
              if (e && t) {
                  var i = (this._events = this._events || {}),
                      n = (i[e] = i[e] || []);
                  return n.indexOf(t) == -1 && n.push(t), this;
              }
          }),
          (t.once = function (e, t) {
              if (e && t) {
                  this.on(e, t);
                  var i = (this._onceEvents = this._onceEvents || {}),
                      n = (i[e] = i[e] || {});
                  return (n[t] = !0), this;
              }
          }),
          (t.off = function (e, t) {
              var i = this._events && this._events[e];
              if (i && i.length) {
                  var n = i.indexOf(t);
                  return n != -1 && i.splice(n, 1), this;
              }
          }),
          (t.emitEvent = function (e, t) {
              var i = this._events && this._events[e];
              if (i && i.length) {
                  (i = i.slice(0)), (t = t || []);
                  for (var n = this._onceEvents && this._onceEvents[e], o = 0; o < i.length; o++) {
                      var r = i[o],
                          s = n && n[r];
                      s && (this.off(e, r), delete n[r]), r.apply(this, t);
                  }
                  return this;
              }
          }),
          (t.allOff = function () {
              delete this._events, delete this._onceEvents;
          }),
          e
      );
  }),
      (function (e, t) {
          "use strict";
          "function" == typeof define && define.amd
              ? define(["ev-emitter/ev-emitter"], function (i) {
                    return t(e, i);
                })
              : "object" == typeof module && module.exports
              ? (module.exports = t(e, require("ev-emitter")))
              : (e.imagesLoaded = t(e, e.EvEmitter));
      })("undefined" != typeof window ? window : this, function (e, t) {
          function i(e, t) {
              for (var i in t) e[i] = t[i];
              return e;
          }
          function n(e) {
              if (Array.isArray(e)) return e;
              var t = "object" == typeof e && "number" == typeof e.length;
              return t ? d.call(e) : [e];
          }
          function o(e, t, r) {
              if (!(this instanceof o)) return new o(e, t, r);
              var s = e;
              return (
                  "string" == typeof e && (s = document.querySelectorAll(e)),
                  s
                      ? ((this.elements = n(s)),
                        (this.options = i({}, this.options)),
                        "function" == typeof t ? (r = t) : i(this.options, t),
                        r && this.on("always", r),
                        this.getImages(),
                        h && (this.jqDeferred = new h.Deferred()),
                        void setTimeout(this.check.bind(this)))
                      : void a.error("Bad element for imagesLoaded " + (s || e))
              );
          }
          function r(e) {
              this.img = e;
          }
          function s(e, t) {
              (this.url = e), (this.element = t), (this.img = new Image());
          }
          var h = e.jQuery,
              a = e.console,
              d = Array.prototype.slice;
          (o.prototype = Object.create(t.prototype)),
              (o.prototype.options = {}),
              (o.prototype.getImages = function () {
                  (this.images = []), this.elements.forEach(this.addElementImages, this);
              }),
              (o.prototype.addElementImages = function (e) {
                  "IMG" == e.nodeName && this.addImage(e), this.options.background === !0 && this.addElementBackgroundImages(e);
                  var t = e.nodeType;
                  if (t && u[t]) {
                      for (var i = e.querySelectorAll("img"), n = 0; n < i.length; n++) {
                          var o = i[n];
                          this.addImage(o);
                      }
                      if ("string" == typeof this.options.background) {
                          var r = e.querySelectorAll(this.options.background);
                          for (n = 0; n < r.length; n++) {
                              var s = r[n];
                              this.addElementBackgroundImages(s);
                          }
                      }
                  }
              });
          var u = { 1: !0, 9: !0, 11: !0 };
          return (
              (o.prototype.addElementBackgroundImages = function (e) {
                  var t = getComputedStyle(e);
                  if (t)
                      for (var i = /url\((['"])?(.*?)\1\)/gi, n = i.exec(t.backgroundImage); null !== n; ) {
                          var o = n && n[2];
                          o && this.addBackground(o, e), (n = i.exec(t.backgroundImage));
                      }
              }),
              (o.prototype.addImage = function (e) {
                  var t = new r(e);
                  this.images.push(t);
              }),
              (o.prototype.addBackground = function (e, t) {
                  var i = new s(e, t);
                  this.images.push(i);
              }),
              (o.prototype.check = function () {
                  function e(e, i, n) {
                      setTimeout(function () {
                          t.progress(e, i, n);
                      });
                  }
                  var t = this;
                  return (
                      (this.progressedCount = 0),
                      (this.hasAnyBroken = !1),
                      this.images.length
                          ? void this.images.forEach(function (t) {
                                t.once("progress", e), t.check();
                            })
                          : void this.complete()
                  );
              }),
              (o.prototype.progress = function (e, t, i) {
                  this.progressedCount++,
                      (this.hasAnyBroken = this.hasAnyBroken || !e.isLoaded),
                      this.emitEvent("progress", [this, e, t]),
                      this.jqDeferred && this.jqDeferred.notify && this.jqDeferred.notify(this, e),
                      this.progressedCount == this.images.length && this.complete(),
                      this.options.debug && a && a.log("progress: " + i, e, t);
              }),
              (o.prototype.complete = function () {
                  var e = this.hasAnyBroken ? "fail" : "done";
                  if (((this.isComplete = !0), this.emitEvent(e, [this]), this.emitEvent("always", [this]), this.jqDeferred)) {
                      var t = this.hasAnyBroken ? "reject" : "resolve";
                      this.jqDeferred[t](this);
                  }
              }),
              (r.prototype = Object.create(t.prototype)),
              (r.prototype.check = function () {
                  var e = this.getIsImageComplete();
                  return e
                      ? void this.confirm(0 !== this.img.naturalWidth, "naturalWidth")
                      : ((this.proxyImage = new Image()),
                        this.proxyImage.addEventListener("load", this),
                        this.proxyImage.addEventListener("error", this),
                        this.img.addEventListener("load", this),
                        this.img.addEventListener("error", this),
                        void (this.proxyImage.src = this.img.src));
              }),
              (r.prototype.getIsImageComplete = function () {
                  return this.img.complete && this.img.naturalWidth;
              }),
              (r.prototype.confirm = function (e, t) {
                  (this.isLoaded = e), this.emitEvent("progress", [this, this.img, t]);
              }),
              (r.prototype.handleEvent = function (e) {
                  var t = "on" + e.type;
                  this[t] && this[t](e);
              }),
              (r.prototype.onload = function () {
                  this.confirm(!0, "onload"), this.unbindEvents();
              }),
              (r.prototype.onerror = function () {
                  this.confirm(!1, "onerror"), this.unbindEvents();
              }),
              (r.prototype.unbindEvents = function () {
                  this.proxyImage.removeEventListener("load", this), this.proxyImage.removeEventListener("error", this), this.img.removeEventListener("load", this), this.img.removeEventListener("error", this);
              }),
              (s.prototype = Object.create(r.prototype)),
              (s.prototype.check = function () {
                  this.img.addEventListener("load", this), this.img.addEventListener("error", this), (this.img.src = this.url);
                  var e = this.getIsImageComplete();
                  e && (this.confirm(0 !== this.img.naturalWidth, "naturalWidth"), this.unbindEvents());
              }),
              (s.prototype.unbindEvents = function () {
                  this.img.removeEventListener("load", this), this.img.removeEventListener("error", this);
              }),
              (s.prototype.confirm = function (e, t) {
                  (this.isLoaded = e), this.emitEvent("progress", [this, this.element, t]);
              }),
              (o.makeJQueryPlugin = function (t) {
                  (t = t || e.jQuery),
                      t &&
                          ((h = t),
                          (h.fn.imagesLoaded = function (e, t) {
                              var i = new o(this, e, t);
                              return i.jqDeferred.promise(h(this));
                          }));
              }),
              o.makeJQueryPlugin(),
              o
          );
      });
  