/*! lazysizes - v3.0.0 */ ! function (a, b) {
var c = b(a, a.document);
a.lazySizes = c, "object" == typeof module && module.exports && (module.exports = c)
}(window, function (a, b) {
"use strict";
if (b.getElementsByClassName) {
var c, d = b.documentElement,
e = a.Date,
f = a.HTMLPictureElement,
g = "addEventListener",
h = "getAttribute",
i = a[g],
j = a.setTimeout,
k = a.requestAnimationFrame || j,
l = a.requestIdleCallback,
m = /^picture$/i,
n = ["load", "error", "lazyincluded", "_lazyloaded"],
o = {},
p = Array.prototype.forEach,
q = function (a, b) {
return o[b] || (o[b] = new RegExp("(\\s|^)" + b + "(\\s|$)")), o[b].test(a[h]("class") || "") && o[b]
},
r = function (a, b) {
q(a, b) || a.setAttribute("class", (a[h]("class") || "").trim() + " " + b)
},
s = function (a, b) {
var c;
(c = q(a, b)) && a.setAttribute("class", (a[h]("class") || "").replace(c, " "))
},
t = function (a, b, c) {
var d = c ? g : "removeEventListener";
c && t(a, b), n.forEach(function (c) {
a[d](c, b)
})
},
u = function (a, c, d, e, f) {
var g = b.createEvent("CustomEvent");
return g.initCustomEvent(c, !e, !f, d || {}), a.dispatchEvent(g), g
},
v = function (b, d) {
var e;
!f && (e = a.picturefill || c.pf) ? e({
reevaluate: !0,
elements: [b]
}) : d && d.src && (b.src = d.src)
},
w = function (a, b) {
return (getComputedStyle(a, null) || {})[b]
},
x = function (a, b, d) {
for (d = d || a.offsetWidth; d < c.minSize && b && !a._lazysizesWidth;) d = b.offsetWidth, b = b.parentNode;
return d
},
y = function () {
var a, c, d = [],
e = [],
f = d,
g = function () {
var b = f;
for (f = d.length ? e : d, a = !0, c = !1; b.length;) b.shift()();
a = !1
},
h = function (d, e) {
a && !e ? d.apply(this, arguments) : (f.push(d), c || (c = !0, (b.hidden ? j : k)(g)))
};
return h._lsFlush = g, h
}(),
z = function (a, b) {
return b ? function () {
y(a)
} : function () {
var b = this,
c = arguments;
y(function () {
a.apply(b, c)
})
}
},
A = function (a) {
var b, c = 0,
d = 125,
f = 666,
g = f,
h = function () {
b = !1, c = e.now(), a()
},
i = l ? function () {
l(h, {
timeout: g
}), g !== f && (g = f)
} : z(function () {
j(h)
}, !0);
return function (a) {
var f;
(a = a === !0) && (g = 44), b || (b = !0, f = d - (e.now() - c), 0 > f && (f = 0), a || 9 > f && l ? i() : j(i, f))
}
},
B = function (a) {
var b, c, d = 99,
f = function () {
b = null, a()
},
g = function () {
var a = e.now() - c;
d > a ? j(g, d - a) : (l || f)(f)
};
return function () {
c = e.now(), b || (b = j(g, d))
}
},
C = function () {
var f, k, l, n, o, x, C, E, F, G, H, I, J, K, L, M = /^img$/i,
N = /^iframe$/i,
O = "onscroll" in a && !/glebot/.test(navigator.userAgent),
P = 0,
Q = 0,
R = 0,
S = -1,
T = function (a) {
R--, a && a.target && t(a.target, T), (!a || 0 > R || !a.target) && (R = 0)
},
U = function (a, c) {
var e, f = a,
g = "hidden" == w(b.body, "visibility") || "hidden" != w(a, "visibility");
for (F -= c, I += c, G -= c, H += c; g && (f = f.offsetParent) && f != b.body && f != d;) g = (w(f, "opacity") || 1) > 0, g && "visible" != w(f, "overflow") && (e = f.getBoundingClientRect(), g = H > e.left && G < e.right && I > e.top - 1 && F < e.bottom + 1);
return g
},
V = function () {
var a, e, g, i, j, m, n, p, q;
if ((o = c.loadMode) && 8 > R && (a = f.length)) {
e = 0, S++, null == K && ("expand" in c || (c.expand = d.clientHeight > 500 && d.clientWidth > 500 ? 500 : 370), J = c.expand, K = J * c.expFactor), K > Q && 1 > R && S > 2 && o > 2 && !b.hidden ? (Q = K, S = 0) : Q = o > 1 && S > 1 && 6 > R ? J : P;
for (; a > e; e++)
if (f[e] && !f[e]._lazyRace)
if (O)
if ((p = f[e][h]("data-expand")) && (m = 1 * p) || (m = Q), q !== m && (C = innerWidth + m * L, E = innerHeight + m, n = -1 * m, q = m), g = f[e].getBoundingClientRect(), (I = g.bottom) >= n && (F = g.top) <= E && (H = g.right) >= n * L && (G = g.left) <= C && (I || H || G || F) && (l && 3 > R && !p && (3 > o || 4 > S) || U(f[e], m))) {
if (ba(f[e]), j = !0, R > 9) break
} else !j && l && !i && 4 > R && 4 > S && o > 2 && (k[0] || c.preloadAfterLoad) && (k[0] || !p && (I || H || G || F || "auto" != f[e][h](c.sizesAttr))) && (i = k[0] || f[e]);
else ba(f[e]);
i && !j && ba(i)
}
},
W = A(V),
X = function (a) {
r(a.target, c.loadedClass), s(a.target, c.loadingClass), t(a.target, Z)
},
Y = z(X),
Z = function (a) {
Y({
target: a.target
})
},
$ = function (a, b) {
try {
a.contentWindow.location.replace(b)
} catch (c) {
a.src = b
}
},
_ = function (a) {
var b, d, e = a[h](c.srcsetAttr);
(b = c.customMedia[a[h]("data-media") || a[h]("media")]) && a.setAttribute("media", b), e && a.setAttribute("srcset", e), b && (d = a.parentNode, d.insertBefore(a.cloneNode(), a), d.removeChild(a))
},
aa = z(function (a, b, d, e, f) {
var g, i, k, l, o, q;
(o = u(a, "lazybeforeunveil", b)).defaultPrevented || (e && (d ? r(a, c.autosizesClass) : a.setAttribute("sizes", e)), i = a[h](c.srcsetAttr), g = a[h](c.srcAttr), f && (k = a.parentNode, l = k && m.test(k.nodeName || "")), q = b.firesLoad || "src" in a && (i || g || l), o = {
target: a
}, q && (t(a, T, !0), clearTimeout(n), n = j(T, 2500), r(a, c.loadingClass), t(a, Z, !0)), l && p.call(k.getElementsByTagName("source"), _), i ? a.setAttribute("srcset", i) : g && !l && (N.test(a.nodeName) ? $(a, g) : a.src = g), (i || l) && v(a, {
src: g
})), a._lazyRace && delete a._lazyRace, s(a, c.lazyClass), y(function () {
(!q || a.complete && a.naturalWidth > 1) && (q ? T(o) : R--, X(o))
}, !0)
}),
ba = function (a) {
var b, d = M.test(a.nodeName),
e = d && (a[h](c.sizesAttr) || a[h]("sizes")),
f = "auto" == e;
(!f && l || !d || !a.src && !a.srcset || a.complete || q(a, c.errorClass)) && (b = u(a, "lazyunveilread").detail, f && D.updateElem(a, !0, a.offsetWidth), a._lazyRace = !0, R++, aa(a, b, f, e, d))
},
ca = function () {
if (!l) {
if (e.now() - x < 999) return void j(ca, 999);
var a = B(function () {
c.loadMode = 3, W()
});
l = !0, c.loadMode = 3, W(), i("scroll", function () {
3 == c.loadMode && (c.loadMode = 2), a()
}, !0)
}
};
return {
_: function () {
x = e.now(), f = b.getElementsByClassName(c.lazyClass), k = b.getElementsByClassName(c.lazyClass + " " + c.preloadClass), L = c.hFac, i("scroll", W, !0), i("resize", W, !0), a.MutationObserver ? new MutationObserver(W).observe(d, {
childList: !0,
subtree: !0,
attributes: !0
}) : (d[g]("DOMNodeInserted", W, !0), d[g]("DOMAttrModified", W, !0), setInterval(W, 999)), i("hashchange", W, !0), ["focus", "mouseover", "click", "load", "transitionend", "animationend", "webkitAnimationEnd"].forEach(function (a) {
b[g](a, W, !0)
}), /d$|^c/.test(b.readyState) ? ca() : (i("load", ca), b[g]("DOMContentLoaded", W), j(ca, 2e4)), f.length ? (V(), y._lsFlush()) : W()
},
checkElems: W,
unveil: ba
}
}(),
D = function () {
var a, d = z(function (a, b, c, d) {
var e, f, g;
if (a._lazysizesWidth = d, d += "px", a.setAttribute("sizes", d), m.test(b.nodeName || ""))
for (e = b.getElementsByTagName("source"), f = 0, g = e.length; g > f; f++) e[f].setAttribute("sizes", d);
c.detail.dataAttr || v(a, c.detail)
}),
e = function (a, b, c) {
var e, f = a.parentNode;
f && (c = x(a, f, c), e = u(a, "lazybeforesizes", {
width: c,
dataAttr: !!b
}), e.defaultPrevented || (c = e.detail.width, c && c !== a._lazysizesWidth && d(a, f, e, c)))
},
f = function () {
var b, c = a.length;
if (c)
for (b = 0; c > b; b++) e(a[b])
},
g = B(f);
return {
_: function () {
a = b.getElementsByClassName(c.autosizesClass), i("resize", g)
},
checkElems: g,
updateElem: e
}
}(),
E = function () {
E.i || (E.i = !0, D._(), C._())
};
return function () {
var b, d = {
lazyClass: "lazyload",
loadedClass: "lazyloaded",
loadingClass: "lazyloading",
preloadClass: "lazypreload",
errorClass: "lazyerror",
autosizesClass: "lazyautosizes",
srcAttr: "data-src",
srcsetAttr: "data-srcset",
sizesAttr: "data-sizes",
minSize: 40,
customMedia: {},
init: !0,
expFactor: 1.5,
hFac: .8,
loadMode: 2
};
c = a.lazySizesConfig || a.lazysizesConfig || {};
for (b in d) b in c || (c[b] = d[b]);
a.lazySizesConfig = c, j(function () {
c.init && E()
})
}(), {
cfg: c,
autoSizer: D,
loader: C,
init: E,
uP: v,
aC: r,
rC: s,
hC: q,
fire: u,
gW: x,
rAF: y
}
}
}); |