function ddtabcontent(e) { this.tabinterfaceid = e, this.tabs = document.getElementById(e).getElementsByTagName("a"), this.enabletabpersistence = !0, this.hottabspositions = [], this.currentTabIndex = 0, this.subcontentids = [], this.revcontentids = [], this.selectedClassTarget = "link" } jQuery(function (e) { e(".mega-menu .imcm").addClass("cbp-hrmenu"), e(".mega-menu .imsc").addClass("cbp-hrsub"), e(".mega-menu .imsubc").addClass("cbp-hrsub-inner"), e(".mega-menu .Menu >span>div>.imcm > ul > li").each(function () { e(this).hover(function () { e(".mega-menu .Menu >span>div>.imcm > ul > li").removeClass("cbp-hropen"), e(this).toggleClass("cbp-hropen") }), e(this).mouseleave(function () { e(".mega-menu .Menu >span>div>.imcm > ul > li").removeClass("cbp-hropen") }) }), e(".collapse-button").click(function () { e(".mega-menu").toggle("slow") }), e(function () { cbpHorizontalMenu.init() }), jQuery("document").ready(function (e) { e("table.PrintControl").appendTo(".print") }), e(window).scroll(function () { e(window).scrollTop() > 100 ? e(".navbar-fixed-top").addClass("past-main") : e(".navbar-fixed-top").removeClass("past-main") }), function (e) { function t(e, t) { return e.toFixed(t.decimals) } e.fn.countTo = function (t) { return t = t || {}, e(this).each(function () { function n() { c++, o(u += r), "function" == typeof i.onUpdate && i.onUpdate.call(s, u), c >= a && (l.removeData("countTo"), clearInterval(d.interval), u = i.to, "function" == typeof i.onComplete && i.onComplete.call(s, u)) } function o(e) { var t = i.formatter.call(s, e, i); l.html(t) } var i = e.extend({}, e.fn.countTo.defaults, { from: e(this).data("from"), to: e(this).data("to"), speed: e(this).data("speed"), refreshInterval: e(this).data("refresh-interval"), decimals: e(this).data("decimals") }, t), a = Math.ceil(i.speed / i.refreshInterval), r = (i.to - i.from) / a, s = this, l = e(this), c = 0, u = i.from, d = l.data("countTo") || {}; l.data("countTo", d), d.interval && clearInterval(d.interval), d.interval = setInterval(n, i.refreshInterval), o(u) }) }, e.fn.countTo.defaults = { from: 0, to: 0, speed: 1e3, refreshInterval: 100, decimals: 0, formatter: t, onUpdate: null, onComplete: null } } (jQuery), jQuery(function (e) { function t(t) { var n = e(this); t = e.extend({}, t || {}, n.data("countToOptions") || {}), n.countTo(t) } e("#count-number").data("countToOptions", { formatter: function (e, t) { return e.toFixed(t.decimals).replace(/\B(?=(?:\d{3})+(?!\d))/g, ",") } }), e("#count-number2").data("countToOptions", { formatter: function (e, t) { return e.toFixed(t.decimals).replace(/\B(?=(?:\d{3})+(?!\d))/g, ",") } }), e("#count-number3").data("countToOptions", { formatter: function (e, t) { return e.toFixed(t.decimals).replace(/\B(?=(?:\d{3})+(?!\d))/g, ",") } }), e("#count-number4").data("countToOptions", { formatter: function (e, t) { return e.toFixed(t.decimals).replace(/\B(?=(?:\d{3})+(?!\d))/g, ",") } }), e(".timer").each(t) }), e(window).scroll(function () { e(this).scrollTop() > 300 ? e(".scrollToTop").fadeIn() : e(".scrollToTop").fadeOut() }), e(".scrollToTop").click(function () { return e("html, body").animate({ scrollTop: 0 }, 800), !1 }), jQuery(window).load(function () { e("#status").fadeOut(), e("#preloader").delay(100).fadeOut("slow"), e("body").delay(100).css({ overflow: "visible" }) }); /*var t = e("#top-menu"), n = t.outerHeight() + 13, o = t.find("a"); o.map(function () { var t = e(this).attr("href"); return t.length ? t : void 0 }), o.click(function (t) { var o = e(this).attr("href"), i = "#" === o ? 0 : e(o).offset().top - n + 1; e("html, body").stop().animate({ scrollTop: i }, 900), t.preventDefault() })*/ }); var cbpHorizontalMenu = function () { function e() { i.on("mouseenter", t), o.on("mouseenter", function (e) { e.stopPropagation() }) } function t(e) { -1 !== r && o.eq(r).removeClass("cbp-hropen"); var t = $(e.currentTarget).parent("li"), i = t.index(); return r === i ? (t.removeClass("cbp-hropen"), r = -1) : (t.addClass("cbp-hropen"), r = i, a.off("mouseenter").on("mouseenter", n)), !1 } function n(e) { o.eq(r).removeClass("cbp-hropen"), r = -1 } var o = $(".mega-menu .imcm > ul > li"), i = o.children("a"), a = $("body"), r = -1; return { init: e } } (); $(document).on("scroll", function () { $(document).scrollTop() > 120 ? $("nav").addClass("small") : $("nav").removeClass("small") }), jQuery("document").ready(function (e) { e("table.PrintControl").appendTo(".print"), e(".NavigationBar .NavigationCurrent").each(function () { e(this).text(" > ") }), e("a[rel='country2']").click(function () { }) }), function (e, t, n, o, i, a, r) { function s() { function t(e, t) { r.push({ $EventName: e, $Handler: t }) } function n(e, t) { d.$Each(r, function (n, o) { n.$EventName == e && n.$Handler === t && r.splice(o, 1) }) } function o() { r = [] } function i() { d.$Each(s, function (e) { d.$RemoveEvent(e.$Obj, e.$EventName, e.$Handler) }), s = [] } var a = this, r = [], s = []; a.$Listen = function (e, t, n, o) { d.$AddEvent(e, t, n, o), s.push({ $Obj: e, $EventName: t, $Handler: n }) }, a.$Unlisten = function (e, t, n) { d.$Each(s, function (o, i) { o.$Obj === e && o.$EventName == t && o.$Handler === n && (d.$RemoveEvent(e, t, n), s.splice(i, 1)) }) }, a.$UnlistenAll = i, a.$On = a.addEventListener = t, a.$Off = a.removeEventListener = n, a.$TriggerEvent = function (t) { var n = [].slice.call(arguments, 1); d.$Each(r, function (o) { o.$EventName == t && o.$Handler.apply(e, n) }) }, a.$Destroy = function () { i(), o(); for (var e in a) delete a[e] } } function l(t, r, s, l, c, $) { function f(e) { O += e, A += e, H += e, N += e, D += e, L += e, k = e } function h(e, n) { return f(e - O + t * n), A } function p(e, t) { var o = e; if (B && (o >= A || o <= O) && (o = ((o - O) % B + B) % B + O), !I || y || t || D != o) { var a = n.min(o, A); if (a = n.max(a, O), !I || y || t || a != L) { if ($) { var u = (a - H) / (r || 1); s.$Reverse && (u = 1 - u); var f = d.$Cast(c, $, u, w, T, E, s); d.$Each(f, function (e, t) { P[t] && P[t](l, e) }) } M.$OnInnerOffsetChange(L - H, a - H), L = a, d.$Each(W, function (n, o) { (e < D ? W[W.length - o - 1] : n).$GoToPosition(L - k, t) }); var h = D, p = L; D = o, I = i, M.$OnPositionChange(h, p) } } } function m(e, t, o) { t && e.$Locate(A, 1), o || (O = n.min(O, e.$GetPosition_OuterBegin() + k), A = n.max(A, e.$GetPosition_OuterEnd() + k)), W.push(e) } function v() { if (b) { var e = d.$GetNow(), t = n.min(e - R, s.$IntervalMax), o = D + t * S; R = e, o * S >= x * S && (o = x), p(o), !y && o * S >= x * S ? C(_) : G(v) } } function g(e, t, o) { b || (b = i, y = o, _ = t, e = n.max(e, O), e = n.min(e, A), S = (x = e) < D ? -1 : 1, M.$OnStart(), R = d.$GetNow(), G(v)) } function C(e) { b && (y = b = _ = a, M.$OnStop(), e && e()) } var b, x, S, y, w, E, T, _, I, O, A, B, P, M = this, R = 0, k = 0, D = 0, L = 0, H = t = t || 0, N = t + r, W = [], G = e.requestAnimationFrame || e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || e.msRequestAnimationFrame; d.$IsBrowserSafari() && d.$BrowserVersion() < 7 && (G = o), G = G || function (e) { d.$Delay(e, s.$Interval) }, M.$Play = function (e, t, n) { g(e ? D + e : A, t, n) }, M.$PlayToPosition = g, M.$PlayToBegin = function (e, t) { g(O, e, t) }, M.$PlayToEnd = function (e, t) { g(A, e, t) }, M.$Stop = C, M.$Continue = function (e) { g(e) }, M.$GetPosition = function () { return D }, M.$GetPlayToPosition = function () { return x }, M.$GetPosition_Display = function () { return L }, M.$GoToPosition = p, M.$GoToBegin = function () { p(O, i) }, M.$GoToEnd = function () { p(A, i) }, M.$Move = function (e) { p(D + e) }, M.$CombineMode = function () { }, M.$GetDuration = function () { return r }, M.$IsPlaying = function () { return b }, M.$IsOnTheWay = function () { return D > H && D <= N }, M.$SetLoopLength = function (e) { B = e }, M.$Locate = h, M.$Shift = f, M.$Join = m, M.$Combine = function (e) { m(e, 0) }, M.$Chain = function (e) { m(e, 1) }, M.$GetPosition_InnerBegin = function () { return H }, M.$GetPosition_InnerEnd = function () { return N }, M.$GetPosition_OuterBegin = function () { return O }, M.$GetPosition_OuterEnd = function () { return A }, M.$OnPositionChange = M.$OnStart = M.$OnStop = M.$OnInnerOffsetChange = d.$EmptyFunction, M.$Version = d.$GetNow(), s = d.$Extend({ $Interval: 16, $IntervalMax: 50 }, s), B = s.$LoopLength, P = d.$Extend({}, d.$StyleSetter(), s.$Setter), O = H = t, A = N = t + r, E = s.$Round || {}, T = s.$During || {}, w = d.$Extend({ $Default: d.$IsFunction(s.$Easing) && s.$Easing || u.$EaseSwing }, s.$Easing) } function c() { l.call(this, 0, 0), this.$Revert = d.$EmptyFunction } new function () { function n(e) { if (e.constructor === n.caller) throw new Error("Cannot create instance of an abstract class.") } this.$DebugMode = i, this.$Log = function (t, n) { var o = e.console || {}, i = this.$DebugMode; i && o.log ? o.log(t) : i && n && alert(t) }, this.$Error = function (t, n) { var o = e.console || {}, i = this.$DebugMode; if (i && o.error ? o.error(t) : i && alert(t), i) throw n || new Error(t) }, this.$Fail = function (e) { throw new Error(e) }, this.$Assert = function (e, t) { if (this.$DebugMode && !e) throw new Error("Assert failed " + t || "") }, this.$Trace = function (t) { var n = e.console || {}; this.$DebugMode && n.log && n.log(t) }, this.$Execute = function (e) { this.$DebugMode && e() }, this.$LiveStamp = function (e, n) { if (this.$DebugMode) { var o = t.createElement("DIV"); o.setAttribute("id", n), e.$Live = o } }, this.$C_AbstractProperty = function () { throw new Error("The property is abstract, it should be implemented by subclass.") }, this.$C_AbstractMethod = function () { throw new Error("The method is abstract, it should be implemented by subclass.") }, this.$C_AbstractClass = n }; var u = e.$JssorEasing$ = { $EaseSwing: function (e) { return -n.cos(e * n.PI) / 2 + .5 }, $EaseLinear: function (e) { return e }, $EaseOutQuad: function (e) { return -e * (e - 2) }, $EaseGoBack: function (e) { return 1 - n.abs(1) }, $EaseInWave: function (e) { return 1 - n.cos(e * n.PI * 2) }, $EaseOutWave: function (e) { return n.sin(e * n.PI * 2) }, $EaseOutJump: function (e) { return 1 - ((e *= 2) < 1 ? (e = 1 - e) * e * e : (e -= 1) * e * e) }, $EaseInJump: function (e) { return (e *= 2) < 1 ? e * e * e : (e = 2 - e) * e * e } }; e.$JssorDirection$ = { $TO_LEFT: 1, $TO_RIGHT: 2, $TO_TOP: 4, $TO_BOTTOM: 8, $HORIZONTAL: 3, $VERTICAL: 12, $GetDirectionHorizontal: function (e) { return 3 & e }, $GetDirectionVertical: function (e) { return 12 & e }, $IsHorizontal: function (e) { return 3 & e }, $IsVertical: function (e) { return 12 & e } }; var d = e.$Jssor$ = new function () { function s() { if (!ae) { ae = { $Touchable: "ontouchstart" in e || "createTouch" in t }; var n; (be.pointerEnabled || (n = be.msPointerEnabled)) && (ae.$TouchActionAttr = n ? "msTouchAction" : "touchAction") } return ae } function l(n) { if (!pe) if (pe = -1, "Microsoft Internet Explorer" == xe && e.attachEvent && e.ActiveXObject) { var o = Se.indexOf("MSIE"); pe = ue, ve = Te(Se.substring(o + 5, Se.indexOf(";", o))), me = t.documentMode || ve } else if ("Netscape" == xe && e.addEventListener) { var i = Se.indexOf("Firefox"), a = Se.indexOf("Safari"), r = Se.indexOf("Chrome"), s = Se.indexOf("AppleWebKit"); if (i >= 0) pe = de, me = Te(Se.substring(i + 8)); else if (a >= 0) { var l = Se.substring(0, a).lastIndexOf("/"); pe = r >= 0 ? fe : $e, me = Te(Se.substring(l + 1, a)) } else (c = /Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/i.exec(Se)) && (pe = ue, me = ve = Te(c[1])); s >= 0 && (Ce = Te(Se.substring(s + 12))) } else { var c = /(opera)(?:.*version|)[ \/]([\w.]+)/i.exec(Se); c && (pe = he, me = Te(c[2])) } return n == pe } function c() { return l(ue) } function $() { return c() && (me < 6 || "BackCompat" == t.compatMode) } function f() { return l(de) } function h() { return l($e) } function p() { return l(fe) } function m() { return l(he) } function v() { return h() && Ce > 534 && Ce < 535 } function g() { return c() && me < 9 } function C(e) { return re || (S(["transform", "WebkitTransform", "msTransform", "MozTransform", "OTransform"], function (t) { if (e.style[t] != r) return re = t, i }), re = re || "transform"), re } function b(e) { return {}.toString.call(e) } function x() { return se || (se = {}, S(["Boolean", "Number", "String", "Function", "Array", "Date", "RegExp", "Object"], function (e) { se["[object " + e + "]"] = e.toLowerCase() })), se } function S(e, t) { if ("[object Array]" == b(e)) { for (var n = 0; n < e.length; n++) if (t(e[n], n, e)) return i } else for (var o in e) if (t(e[o], o, e)) return i } function y(e) { return e == o ? String(e) : x()[b(e)] || "object" } function w(e) { for (var t in e) return i } function E(e) { try { return "object" == y(e) && !e.nodeType && e != e.window && (!e.constructor || {}.hasOwnProperty.call(e.constructor.prototype, "isPrototypeOf")) } catch (e) { } } function T(e, t) { return { x: e, y: t } } function _(e, t) { setTimeout(e, t || 0) } function I(e, t, n) { var o = e && "inherit" != e ? e : ""; return S(t, function (e) { var t = e.exec(o); if (t) { var n = o.substr(0, t.index), i = o.substr(t.lastIndex + 1, o.length - (t.lastIndex + 1)); o = n + i } }), o = n + (0 != o.indexOf(" ") ? " " : "") + o } function O(e, t) { me < 9 && (e.style.filter = t) } function A(e, t, n) { ge < 9 && (O(e, I(e.style.filter, [new RegExp(/[\s]*progid:DXImageTransform\.Microsoft\.Matrix\([^\)]*\)/g)], t ? "progid:DXImageTransform.Microsoft.Matrix(M11=" + t[0][0] + ", M12=" + t[0][1] + ", M21=" + t[1][0] + ", M22=" + t[1][1] + ", SizingMethod='auto expand')" : "")), le.$CssMarginTop(e, n.y), le.$CssMarginLeft(e, n.x)) } function B(e) { e.constructor === B.caller && e.$Construct && e.$Construct.apply(e, B.caller.arguments) } function P(t) { return t || e.event } function M(t, n, i) { if (i == r) { var a = t.currentStyle || t.style; return "" == (i = a[n]) && e.getComputedStyle && (a = t.ownerDocument.defaultView.getComputedStyle(t, o)) && (i = a.getPropertyValue(n) || a[n]), i } t.style[n] = i } function R(e, t, n, o) { if (n == r) return Te(M(e, t)); o && (n += "px"), M(e, t, n) } function k(e, t, n) { return R(e, t, n, i) } function D(e, t) { var n = 2 & t, o = t ? R : M; return function (t, i) { return o(t, e, i, n) } } function L(e) { if (c() && ve < 9) { var t = /opacity=([^)]*)/.exec(e.style.filter || ""); return t ? Te(t[1]) / 100 : 1 } return Te(e.style.opacity || "1") } function H(e, t, o) { if (c() && ve < 9) { var i = e.style.filter || "", a = new RegExp(/[\s]*alpha\([^\)]*\)/g), r = n.round(100 * t), s = ""; (r < 100 || o) && (s = "alpha(opacity=" + r + ") "), O(e, I(i, [a], s)) } else e.style.opacity = 1 == t ? "" : n.round(100 * t) / 100 } function N(t, i) { var a = i.$Rotate || 0, s = i.$Scale == r ? 1 : i.$Scale; if (g()) { var l = le.$CreateMatrix(a / 180 * n.PI, s, s); A(t, a || 1 != s ? l : o, le.$GetMatrixOffset(l, i.$OriginalWidth, i.$OriginalHeight)) } else { var c = C(t); if (c) { var u = "rotate(" + a % 360 + "deg) scale(" + s + ")"; p() && Ce > 535 && "ontouchstart" in e && (u += " perspective(2000px)"), t.style[c] = u } } } function W(e, t, n, i) { for (i = i || "u", e = e ? e.firstChild : o; e; e = e.nextSibling) if (1 == e.nodeType) { if (Z(e, i) == t) return e; if (!n) { var a = W(e, t, n, i); if (a) return a } } } function G(e, t, n, i) { i = i || "u"; var a = []; for (e = e ? e.firstChild : o; e; e = e.nextSibling) if (1 == e.nodeType && (Z(e, i) == t && a.push(e), !n)) { var r = G(e, t, n, i); r.length && (a = a.concat(r)) } return a } function F(e, t, n) { for (e = e ? e.firstChild : o; e; e = e.nextSibling) if (1 == e.nodeType) { if (e.tagName == t) return e; if (!n) { var i = F(e, t, n); if (i) return i } } } function V(e, t, n) { var i = []; for (e = e ? e.firstChild : o; e; e = e.nextSibling) if (1 == e.nodeType && ((!t || e.tagName == t) && i.push(e), !n)) { var a = V(e, t, n); a.length && (i = i.concat(a)) } return i } function z() { var e, t, n, o, i = arguments, a = 1 & i[0], s = 1 + a; for (e = i[s - 1] || {}; s < i.length; s++) if (t = i[s]) for (n in t) (o = t[n]) !== r && (o = t[n], e[n] = a && E(e[n]) ? z(a, {}, o) : o); return e } function j(e, t) { var n, o, i, a = {}; for (n in e) if (o = e[n], i = t[n], o !== i) { var r; E(o) && E(i) && (r = !w(o = j(i))), !r && (a[n] = o) } return a } function U(e) { return t.createElement(e) } function Q(e, t, n) { if (n == r) return e.getAttribute(t); e.setAttribute(t, n) } function Z(e, t) { return Q(e, t) || Q(e, "data-" + t) } function X(e, t) { if (t == r) return e.className; e.className = t } function q(e) { var t = {}; return S(e, function (e) { t[e] = e }), t } function Y(e, t) { return e.match(t || ce) } function J(e, t) { return q(Y(e || "", t)) } function K(e, t) { var n = ""; return S(t, function (t) { n && (n += e), n += t }), n } function ee(e, t, n) { X(e, K(" ", z(j(J(X(e)), J(t)), J(n)))) } function te(e, t, n) { var o = e.cloneNode(!t); return !n && le.$RemoveAttribute(o, "id"), o } function ne(e) { function n() { ee(e, a, u[h || $ || 2 & f || f]) } function o() { $ = 0, n(), le.$RemoveEvent(t, "mouseup", o), le.$RemoveEvent(t, "touchend", o), le.$RemoveEvent(t, "touchcancel", o) } function i(e) { h ? le.$CancelEvent(e) : ($ = 4, n(), le.$AddEvent(t, "mouseup", o), le.$AddEvent(t, "touchend", o), le.$AddEvent(t, "touchcancel", o)) } var a, s = this, l = "", c = ["av", "pv", "ds", "dn"], u = [], $ = 0, f = 0, h = 0; s.$Selected = function (e) { if (e == r) return f; f = 2 & e || 1 & e, n() }, s.$Enable = function (e) { if (e == r) return !h; h = e ? 0 : 3, n() }, e = le.$GetElement(e); var p = d.$Split(X(e)); p && (l = p.shift()), S(c, function (e) { u.push(l + e) }), a = K(" ", u), u.unshift(""), le.$AddEvent(e, "mousedown", i), le.$AddEvent(e, "touchstart", i) } function oe() { return _e || (_e = z({ $MarginTop: le.$CssMarginTop, $MarginLeft: le.$CssMarginLeft, $Clip: le.$SetStyleClip, $Transform: le.$SetStyleTransform }, Ie)), _e } function ie() { return oe(), _e.$Transform = _e.$Transform, _e } var ae, re, se, le = this, ce = /\S+/g, ue = 1, de = 2, $e = 3, fe = 4, he = 5, pe = 0, me = 0, ve = 0, ge = 0, Ce = 0, be = navigator, xe = be.appName, Se = be.userAgent, ye = t.documentElement; le.$Device = s, le.$IsBrowserIE = c, le.$IsBrowserIeQuirks = $, le.$IsBrowserFireFox = f, le.$IsBrowserSafari = h, le.$IsBrowserChrome = p, le.$IsBrowserOpera = m, le.$IsBrowserBadTransform = v, le.$IsBrowserIe9Earlier = g, le.$BrowserVersion = function () { return me }, le.$BrowserEngineVersion = function () { return ve || me }, le.$WebKitVersion = function () { return l(), Ce }, le.$Delay = _, le.$Inherit = function (e, t) { return t.call(e), z({}, e) }, le.$Construct = B, le.$GetElement = function (e) { return le.$IsString(e) && (e = t.getElementById(e)), e }, le.$GetEvent = P, le.$EvtSrc = function (e) { return (e = P(e)).target || e.srcElement || t }, le.$EvtTarget = function (e) { return (e = P(e)).relatedTarget || e.toElement }, le.$EvtWhich = function (e) { return (e = P(e)).which || [0, 1, 3, 0, 2][e.button] || e.charCode || e.keyCode }, le.$MousePosition = function (e) { return e = P(e), { x: e.pageX || e.clientX || 0, y: e.pageY || e.clientY || 0 } }, le.$PageScroll = function () { var n = t.body; return { x: (e.pageXOffset || ye.scrollLeft || n.scrollLeft || 0) - (ye.clientLeft || n.clientLeft || 0), y: (e.pageYOffset || ye.scrollTop || n.scrollTop || 0) - (ye.clientTop || n.clientTop || 0) } }, le.$WindowSize = function () { var e = t.body; return { x: e.clientWidth || ye.clientWidth, y: e.clientHeight || ye.clientHeight } }, le.$SetStyleTransform = function (e, t) { v() ? _(le.$CreateCallback(o, N, e, t)) : N(e, t) }, le.$SetStyleTransformOrigin = function (e, t) { var n = C(e); n && (e.style[n + "Origin"] = t) }, le.$CssScale = function (e, t) { if (c() && ve < 9 || ve < 10 && $()) e.style.zoom = 1 == t ? "" : t; else { var n = C(e); if (n) { var o = "scale(" + t + ")", i = I(e.style[n], [new RegExp(/[\s]*scale\(.*?\)/g)], o); e.style[n] = i } } }, le.$EnableHWA = function (e) { e.style[C(e)] && "none" != e.style[C(e)] || (e.style[C(e)] = "perspective(2000px)") }, le.$DisableHWA = function (e) { e.style[C(e)] = "none" }; var we = 0, Ee = 0; le.$WindowResizeFilter = function (e, t) { return g() ? function () { var n = i, o = $() ? e.document.body : e.document.documentElement; if (o) { var r = o.offsetWidth - we, s = o.offsetHeight - Ee; r || s ? (we += r, Ee += s) : n = a } n && t() } : t }, le.$MouseOverOutFilter = function (e, t) { return function (n) { var o = (n = P(n)).type, i = n.relatedTarget || ("mouseout" == o ? n.toElement : n.fromElement); (!i || i !== t && !le.$IsChild(t, i)) && e(n) } }, le.$AddEvent = function (e, t, n, o) { (e = le.$GetElement(e)).addEventListener ? ("mousewheel" == t && e.addEventListener("DOMMouseScroll", n, o), e.addEventListener(t, n, o)) : e.attachEvent && (e.attachEvent("on" + t, n), o && e.setCapture && e.setCapture()) }, le.$RemoveEvent = function (e, t, n, o) { (e = le.$GetElement(e)).removeEventListener ? ("mousewheel" == t && e.removeEventListener("DOMMouseScroll", n, o), e.removeEventListener(t, n, o)) : e.detachEvent && (e.detachEvent("on" + t, n), o && e.releaseCapture && e.releaseCapture()) }, le.$FireEvent = function (e, n) { var o; if (t.createEvent) (o = t.createEvent("HTMLEvents")).initEvent(n, a, a), e.dispatchEvent(o); else { var i = "on" + n; o = t.createEventObject(), e.fireEvent(i, o) } }, le.$CancelEvent = function (e) { (e = P(e)).preventDefault && e.preventDefault(), e.cancel = i, e.returnValue = a }, le.$StopEvent = function (e) { (e = P(e)).stopPropagation && e.stopPropagation(), e.cancelBubble = i }, le.$CreateCallback = function (e, t) { var n = [].slice.call(arguments, 2); return function () { var o = n.concat([].slice.call(arguments, 0)); return t.apply(e, o) } }, le.$InnerText = function (e, n) { if (n == r) return e.textContent || e.innerText; var o = t.createTextNode(n); le.$Empty(e), e.appendChild(o) }, le.$InnerHtml = function (e, t) { if (t == r) return e.innerHTML; e.innerHTML = t }, le.$GetClientRect = function (e) { var t = e.getBoundingClientRect(); return { x: t.left, y: t.top, w: t.right - t.left, h: t.bottom - t.top } }, le.$ClearInnerHtml = function (e) { e.innerHTML = "" }, le.$EncodeHtml = function (e) { var t = le.$CreateDiv(); return le.$InnerText(t, e), le.$InnerHtml(t) }, le.$DecodeHtml = function (e) { var t = le.$CreateDiv(); return le.$InnerHtml(t, e), le.$InnerText(t) }, le.$SelectElement = function (n) { var i; e.getSelection && (i = e.getSelection()); var a = o; t.createRange ? (a = t.createRange()).selectNode(n) : ((a = t.body.createTextRange()).moveToElementText(n), a.select()), i && i.addRange(a) }, le.$DeselectElements = function () { t.selection ? t.selection.empty() : e.getSelection && e.getSelection().removeAllRanges() }, le.$Children = function (e, t) { for (var n = [], o = e.firstChild; o; o = o.nextSibling) (t || 1 == o.nodeType) && n.push(o); return n }, le.$FindChild = W, le.$FindChildByTag = F, le.$FindChildrenByTag = V, le.$GetElementsByTag = function (e, t) { return e.getElementsByTagName(t) }, le.$Extend = z, le.$Unextend = j, le.$IsFunction = function (e) { return "function" == y(e) }, le.$IsArray = function (e) { return "array" == y(e) }, le.$IsString = function (e) { return "string" == y(e) }, le.$IsNumeric = function (e) { return !isNaN(Te(e)) && isFinite(e) }, le.$Type = y, le.$Each = S, le.$IsNotEmpty = w, le.$CreateElement = U, le.$CreateDiv = function () { return U("DIV") }, le.$CreateSpan = function () { return U("SPAN") }, le.$EmptyFunction = function () { }, le.$Attribute = Q, le.$AttributeEx = Z, le.$ClassName = X, le.$ToHash = q, le.$Split = Y, le.$Join = K, le.$AddClass = function (e, t) { ee(e, o, t) }, le.$RemoveClass = ee, le.$ReplaceClass = ee, le.$ParentNode = function (e) { return e.parentNode }, le.$HideElement = function (e) { le.$CssDisplay(e, "none") }, le.$EnableElement = function (e, t) { t ? le.$Attribute(e, "disabled", i) : le.$RemoveAttribute(e, "disabled") }, le.$HideElements = function (e) { for (var t = 0; t < e.length; t++) le.$HideElement(e[t]) }, le.$ShowElement = function (e, t) { le.$CssDisplay(e, t ? "none" : "") }, le.$ShowElements = function (e, t) { for (var n = 0; n < e.length; n++) le.$ShowElement(e[n], t) }, le.$RemoveAttribute = function (e, t) { e.removeAttribute(t) }, le.$CanClearClip = function () { return c() && me < 10 }, le.$SetStyleClip = function (e, t) { if (t) e.style.clip = "rect(" + n.round(t.$Top) + "px " + n.round(t.$Right) + "px " + n.round(t.$Bottom) + "px " + n.round(t.$Left) + "px)"; else { var o = I(e.style.cssText, [new RegExp(/[\s]*clip: rect\(.*?\)[;]?/i), new RegExp(/[\s]*cliptop: .*?[;]?/i), new RegExp(/[\s]*clipright: .*?[;]?/i), new RegExp(/[\s]*clipbottom: .*?[;]?/i), new RegExp(/[\s]*clipleft: .*?[;]?/i)], ""); d.$CssCssText(e, o) } }, le.$GetNow = function () { return +new Date }, le.$AppendChild = function (e, t) { e.appendChild(t) }, le.$AppendChildren = function (e, t) { S(t, function (t) { le.$AppendChild(e, t) }) }, le.$InsertBefore = function (e, t, n) { (n || t.parentNode).insertBefore(e, t) }, le.$InsertAfter = function (e, t, n) { le.$InsertBefore(e, t.nextSibling, n || t.parentNode) }, le.$InsertAdjacentHtml = function (e, t, n) { e.insertAdjacentHTML(t, n) }, le.$RemoveElement = function (e, t) { (t || e.parentNode).removeChild(e) }, le.$RemoveElements = function (e, t) { S(e, function (e) { le.$RemoveElement(e, t) }) }, le.$Empty = function (e) { le.$RemoveElements(le.$Children(e, i), e) }, le.$ParseInt = function (e, t) { return parseInt(e, t || 10) }; var Te = parseFloat; le.$ParseFloat = Te, le.$IsChild = function (e, n) { for (var o = t.body; n && e !== n && o !== n; ) try { n = n.parentNode } catch (e) { return a } return e === n }, le.$CloneNode = te, le.$LoadImage = function (e, t) { function n(e, i) { le.$RemoveEvent(a, "load", n), le.$RemoveEvent(a, "abort", o), le.$RemoveEvent(a, "error", o), t && t(a, i) } function o(e) { n(e, i) } var a = new Image; m() && me < 11.6 || !e ? n(!e) : (le.$AddEvent(a, "load", n), le.$AddEvent(a, "abort", o), le.$AddEvent(a, "error", o), a.src = e) }, le.$LoadImages = function (e, t, n) { function o(e) { i--, t && e && e.src == t.src && (t = e), !i && n && n(t) } var i = e.length + 1; S(e, function (e) { le.$LoadImage(e.src, o) }), o() }, le.$BuildElement = function (e, t, n, o) { o && (e = te(e)); var i = G(e, t); i.length || (i = d.$GetElementsByTag(e, t)); for (var a = i.length - 1; a > -1; a--) { var r = i[a], s = te(n); X(s, X(r)), d.$CssCssText(s, r.style.cssText), d.$InsertBefore(s, r), d.$RemoveElement(r) } return e }, le.$Buttonize = function (e) { return new ne(e) }, le.$Css = M, le.$CssN = R, le.$CssP = k, le.$CssOverflow = D("overflow"), le.$CssTop = D("top", 2), le.$CssLeft = D("left", 2), le.$CssWidth = D("width", 2), le.$CssHeight = D("height", 2), le.$CssMarginLeft = D("marginLeft", 2), le.$CssMarginTop = D("marginTop", 2), le.$CssPosition = D("position"), le.$CssDisplay = D("display"), le.$CssZIndex = D("zIndex", 1), le.$CssFloat = function (e, t) { return M(e, c() ? "styleFloat" : "cssFloat", t) }, le.$CssOpacity = function (e, t, n) { if (t == r) return L(e); H(e, t, n) }, le.$CssCssText = function (e, t) { if (t == r) return e.style.cssText; e.style.cssText = t }; var _e, Ie = { $Opacity: le.$CssOpacity, $Top: le.$CssTop, $Left: le.$CssLeft, $Width: le.$CssWidth, $Height: le.$CssHeight, $Position: le.$CssPosition, $Display: le.$CssDisplay, $ZIndex: le.$CssZIndex }; le.$StyleSetter = oe, le.$StyleSetterEx = ie, le.$GetStyles = function (e, t) { oe(); var n = {}; return S(t, function (t, o) { Ie[o] && (n[o] = Ie[o](e)) }), n }, le.$SetStyles = function (e, t) { var n = oe(); S(t, function (t, o) { n[o] && n[o](e, t) }) }, le.$SetStylesEx = function (e, t) { ie(), le.$SetStyles(e, t) }; var Oe = new function () { function e(e, t) { for (var n = e[0].length, o = e.length, i = t[0].length, a = [], r = 0; r < o; r++) for (var s = a[r] = [], l = 0; l < i; l++) { for (var c = 0, u = 0; u < n; u++) c += e[r][u] * t[u][l]; s[l] = c } return a } var t = this; t.$ScaleX = function (e, n) { return t.$ScaleXY(e, n, 0) }, t.$ScaleY = function (e, n) { return t.$ScaleXY(e, 0, n) }, t.$ScaleXY = function (t, n, o) { return e(t, [ [n, 0], [0, o] ]) }, t.$TransformPoint = function (t, n) { var o = e(t, [ [n.x], [n.y] ]); return T(o[0][0], o[1][0]) } }; le.$CreateMatrix = function (e, t, o) { var i = n.cos(e), a = n.sin(e); return [ [i * t, -a * o], [a * t, i * o] ] }, le.$GetMatrixOffset = function (e, t, o) { var i = Oe.$TransformPoint(e, T(-t / 2, -o / 2)), a = Oe.$TransformPoint(e, T(t / 2, -o / 2)), r = Oe.$TransformPoint(e, T(t / 2, o / 2)), s = Oe.$TransformPoint(e, T(-t / 2, o / 2)); return T(n.min(i.x, a.x, r.x, s.x) + t / 2, n.min(i.y, a.y, r.y, s.y) + o / 2) }, le.$Cast = function (e, t, i, a, r, s, l) { var c = t; if (e) { c = {}; for (var $ in t) { var f = s[$] || 1, h = r[$] || [0, 1], p = (i - h[0]) / h[1]; p = n.min(n.max(p, 0), 1), p *= f; var m = n.floor(p); p != m && (p -= m); var v, g = (a[$] || a.$Default || u.$EaseSwing)(p), C = e[$]; t[$]; var b = t[$]; d.$IsNumeric(b) ? v = C + b * g : (v = d.$Extend({ $Offset: {} }, e[$]), d.$Each(b.$Offset, function (e, t) { var n = e * g; v.$Offset[t] = n, v[t] += n })), c[$] = v } (t.$Zoom || t.$Rotate) && (c.$Transform = { $Rotate: c.$Rotate || 0, $Scale: c.$Zoom, $OriginalWidth: l.$OriginalWidth, $OriginalHeight: l.$OriginalHeight }) } if (t.$Clip && l.$Move) { var x = c.$Clip.$Offset, S = (x.$Top || 0) + (x.$Bottom || 0), y = (x.$Left || 0) + (x.$Right || 0); c.$Left = (c.$Left || 0) + y, c.$Top = (c.$Top || 0) + S, c.$Clip.$Left -= y, c.$Clip.$Right -= y, c.$Clip.$Top -= S, c.$Clip.$Bottom -= S } return c.$Clip && d.$CanClearClip() && !c.$Clip.$Top && !c.$Clip.$Left && c.$Clip.$Right == l.$OriginalWidth && c.$Clip.$Bottom == l.$OriginalHeight && (c.$Clip = o), c } }, $ = e.$JssorSlideshowFormations$ = new function () { function e(e) { return (e & r) == r } function t(e) { return (e & s) == s } function o(e, t, n) { n.push(t), e[t] = e[t] || [], e[t].push(n) } var a = this, r = 2, s = 4, l = 2049, c = 2048 + r, u = 513, d = 512 + r, $ = 256 + s, f = 264, h = 1024 + s, p = 1032; a.$FormationStraight = function (e) { for (var t, n = e.$Cols, i = e.$Rows, a = e.$Assembly, r = [], s = 0, p = 0, m = n - 1, v = i - 1, g = e.$Count - 1, p = 0; p < i; p++) for (s = 0; s < n; s++) { switch (a) { case l: t = g - (s * i + (v - p)); break; case h: t = g - (p * n + (m - s)); break; case u: t = g - (s * i + p); case $: t = g - (p * n + s); break; case c: t = s * i + p; break; case f: t = p * n + (m - s); break; case d: t = s * i + (v - p); break; default: t = p * n + s } o(r, t, [p, s]) } return r }, a.$FormationSwirl = function (e) { var t, n, a = e.$Cols, r = e.$Rows, s = e.$Assembly, p = e.$Count, m = [], v = [], g = 0, C = 0, b = 0, x = a - 1, S = r - 1, y = 0; switch (s) { case l: C = x, b = 0, n = [2, 1, 3, 0]; break; case h: C = 0, b = S, n = [0, 3, 1, 2]; break; case u: C = x, b = S, n = [3, 1, 2, 0]; break; case $: C = x, b = S, n = [1, 3, 0, 2]; break; case c: C = 0, b = 0, n = [2, 0, 3, 1]; break; case f: C = x, b = 0, n = [1, 2, 0, 3]; break; case d: C = 0, b = S, n = [3, 0, 2, 1]; break; default: C = 0, b = 0, n = [0, 2, 1, 3] } for (g = 0; g < p; ) { if (t = b + "," + C, C >= 0 && C < a && b >= 0 && b < r && !v[t]) v[t] = i, o(m, g++, [b, C]); else switch (n[y++ % n.length]) { case 0: C--; break; case 2: b--; break; case 1: C++; break; case 3: b++ } switch (n[y % n.length]) { case 0: C++; break; case 2: b++; break; case 1: C--; break; case 3: b-- } } return m }, a.$FormationZigZag = function (e) { var t, n, i = e.$Cols, a = e.$Rows, r = e.$Assembly, s = e.$Count, p = [], m = 0, v = 0, g = 0, C = i - 1, b = a - 1, x = 0; switch (r) { case l: v = C, g = 0, n = [2, 1, 3, 1]; break; case h: v = 0, g = b, n = [0, 3, 1, 3]; break; case u: v = C, g = b, n = [3, 1, 2, 1]; break; case $: v = C, g = b, n = [1, 3, 0, 3]; break; case c: v = 0, g = 0, n = [2, 0, 3, 0]; break; case f: v = C, g = 0, n = [1, 2, 0, 2]; break; case d: v = 0, g = b, n = [3, 0, 2, 0]; break; default: v = 0, g = 0, n = [0, 2, 1, 2] } for (m = 0; m < s; ) if (t = g + "," + v, v >= 0 && v < i && g >= 0 && g < a && void 0 === p[t]) switch (o(p, m++, [g, v]), n[x % n.length]) { case 0: v++; break; case 2: g++; break; case 1: v--; break; case 3: g-- } else { switch (n[x++ % n.length]) { case 0: v--; break; case 2: g--; break; case 1: v++; break; case 3: g++ } switch (n[x++ % n.length]) { case 0: v++; break; case 2: g++; break; case 1: v--; break; case 3: g-- } } return p }, a.$FormationStraightStairs = function (n) { var i = n.$Cols, a = n.$Rows, r = n.$Assembly, s = n.$Count, m = [], v = 0, g = 0, C = 0, b = i - 1, x = a - 1, S = s - 1; switch (r) { case l: case d: case u: case c: var y = 0, w = 0; break; case f: case h: case $: case p: var y = b, w = 0; break; default: r = p; var y = b, w = 0 } for (g = y, C = w; v < s; ) { switch (t(r) || e(r) ? o(m, S - v++, [C, g]) : o(m, v++, [C, g]), r) { case l: case d: g--, C++; break; case u: case c: g++, C--; break; case f: case h: g--, C--; break; case p: case $: default: g++, C++ } if (g < 0 || C < 0 || g > b || C > x) { switch (r) { case l: case d: y++; break; case f: case h: case u: case c: w++; break; case p: case $: default: y-- } if (y < 0 || w < 0 || y > b || w > x) { switch (r) { case l: case d: y = b, w++; break; case u: case c: w = x, y++; break; case f: case h: w = x, y--; break; case p: case $: default: y = 0, w++ } w > x ? w = x : w < 0 ? w = 0 : y > b ? y = b : y < 0 && (y = 0) } C = w, g = y } } return m }, a.$FormationSquare = function (e) { var t, i, a, r, s, l = e.$Cols || 1, c = e.$Rows || 1, u = []; for (a = l < c ? (c - l) / 2 : 0, r = l > c ? (l - c) / 2 : 0, s = n.round(n.max(l / 2, c / 2)) + 1, t = 0; t < l; t++) for (i = 0; i < c; i++) o(u, s - n.min(t + 1 + a, i + 1 + r, l - t + a, c - i + r), [i, t]); return u }, a.$FormationRectangle = function (e) { var t, i, a, r = e.$Cols || 1, s = e.$Rows || 1, l = []; for (a = n.round(n.min(r / 2, s / 2)) + 1, t = 0; t < r; t++) for (i = 0; i < s; i++) o(l, a - n.min(t + 1, i + 1, r - t, s - i), [i, t]); return l }, a.$FormationRandom = function (e) { for (var t, i = [], a = 0; a < e.$Rows; a++) for (t = 0; t < e.$Cols; t++) o(i, n.ceil(1e5 * n.random()) % 13, [a, t]); return i }, a.$FormationCircle = function (e) { for (var t, i = e.$Cols || 1, a = e.$Rows || 1, r = [], s = i / 2 - .5, l = a / 2 - .5, c = 0; c < i; c++) for (t = 0; t < a; t++) o(r, n.round(n.sqrt(n.pow(c - s, 2) + n.pow(t - l, 2))), [t, c]); return r }, a.$FormationCross = function (e) { for (var t, i = e.$Cols || 1, a = e.$Rows || 1, r = [], s = i / 2 - .5, l = a / 2 - .5, c = 0; c < i; c++) for (t = 0; t < a; t++) o(r, n.round(n.min(n.abs(c - s), n.abs(t - l))), [t, c]); return r }, a.$FormationRectangleCross = function (e) { for (var t, i = e.$Cols || 1, a = e.$Rows || 1, r = [], s = i / 2 - .5, l = a / 2 - .5, c = n.max(s, l) + 1, u = 0; u < i; u++) for (t = 0; t < a; t++) o(r, n.round(c - n.max(s - n.abs(u - s), l - n.abs(t - l))) - 1, [t, u]); return r } }; e.$JssorSlideshowRunner$ = function (e, t, r, c, f) { function h(e, t) { var o = { $Interval: t, $Duration: 1, $Delay: 0, $Cols: 1, $Rows: 1, $Opacity: 0, $Zoom: 0, $Clip: 0, $Move: a, $SlideOut: a, $Reverse: a, $Formation: $.$FormationRandom, $Assembly: 1032, $ChessMode: { $Column: 0, $Row: 0 }, $Easing: u.$EaseSwing, $Round: {}, $Blocks: [], $During: {} }; return d.$Extend(o, e), o.$Count = o.$Cols * o.$Rows, d.$IsFunction(o.$Easing) && (o.$Easing = { $Default: o.$Easing }), o.$FramesCount = n.ceil(o.$Duration / o.$Interval), o.$GetBlocks = function (e, t) { var n = (e /= o.$Cols) + "x" + (t /= o.$Rows); if (!o.$Blocks[n]) { o.$Blocks[n] = { $Width: e, $Height: t }; for (var i = 0; i < o.$Cols; i++) for (var a = 0; a < o.$Rows; a++) o.$Blocks[n][a + "," + i] = { $Top: a * t, $Right: i * e + e, $Bottom: a * t + t, $Left: i * e } } return o.$Blocks[n] }, o.$Brother && (o.$Brother = h(o.$Brother, t), o.$SlideOut = i), o } function p(e, t, o, r, s, l) { var c, u, $, f, h, p = this, m = {}, v = {}, g = [], C = o.$ChessMode.$Column || 0, b = o.$ChessMode.$Row || 0, x = o.$GetBlocks(s, l), S = function (e) { var t = e.$Formation(e); return e.$Reverse ? t.reverse() : t } (o), y = S.length - 1, w = o.$Duration + o.$Delay * y, E = r + w, T = o.$SlideOut; if (E += 50, p.$EndTime = E, p.$ShowFrame = function (e) { var t = (e -= r) < w; if (t || h) { h = t, T || (e = w - e); var i = n.ceil(e / o.$Interval); d.$Each(v, function (e, t) { var o = n.max(i, e.$Min); o = n.min(o, e.length - 1), e.$LastFrameIndex != o && (e.$LastFrameIndex || T ? o == e.$Max && T && d.$HideElement(g[t]) : d.$ShowElement(g[t]), e.$LastFrameIndex = o, d.$SetStylesEx(g[t], e[o])) }) } }, t = d.$CloneNode(t), d.$IsBrowserIe9Earlier()) { var _ = !t["no-image"], I = d.$FindChildrenByTag(t); d.$Each(I, function (e) { (_ || e["jssor-slider"]) && d.$CssOpacity(e, d.$CssOpacity(e), i) }) } d.$Each(S, function (e, t) { d.$Each(e, function (e) { var r = e[0], h = e[1], p = r + "," + h, g = a, S = a, y = a; C && h % 2 && (3 & C && (g = !g), 12 & C && (S = !S), 16 & C && (y = !y)), b && r % 2 && (3 & b && (g = !g), 12 & b && (S = !S), 16 & b && (y = !y)), o.$Top = o.$Top || 4 & o.$Clip, o.$Bottom = o.$Bottom || 8 & o.$Clip, o.$Left = o.$Left || 1 & o.$Clip, o.$Right = o.$Right || 2 & o.$Clip; var w = S ? o.$Bottom : o.$Top, E = S ? o.$Top : o.$Bottom, _ = g ? o.$Right : o.$Left, I = g ? o.$Left : o.$Right; o.$Clip = w || E || _ || I, f = {}, $ = { $Top: 0, $Left: 0, $Opacity: 1, $Width: s, $Height: l }, u = d.$Extend({}, $), c = d.$Extend({}, x[p]), o.$Opacity && ($.$Opacity = 2 - o.$Opacity), o.$ZIndex && ($.$ZIndex = o.$ZIndex, u.$ZIndex = 0); var O = o.$Cols * o.$Rows > 1 || o.$Clip; if (o.$Zoom || o.$Rotate) { var A = i; if (d.$IsBrowserIe9Earlier() && (o.$Cols * o.$Rows > 1 ? A = a : O = a), A) { $.$Zoom = o.$Zoom ? o.$Zoom - 1 : 1, u.$Zoom = 1, (d.$IsBrowserIe9Earlier() || d.$IsBrowserOpera()) && ($.$Zoom = n.min($.$Zoom, 2)); var B = o.$Rotate; $.$Rotate = 360 * B * (y ? -1 : 1), u.$Rotate = 0 } } if (O) { if (o.$Clip) { var P = o.$ScaleClip || 1, M = c.$Offset = {}; w && E ? (M.$Top = x.$Height / 2 * P, M.$Bottom = -M.$Top) : w ? M.$Bottom = -x.$Height * P : E && (M.$Top = x.$Height * P), _ && I ? (M.$Left = x.$Width / 2 * P, M.$Right = -M.$Left) : _ ? M.$Right = -x.$Width * P : I && (M.$Left = x.$Width * P) } f.$Clip = c, u.$Clip = x[p] } var R = g ? 1 : -1, k = S ? 1 : -1; o.x && ($.$Left += s * o.x * R), o.y && ($.$Top += l * o.y * k), d.$Each($, function (e, t) { d.$IsNumeric(e) && e != u[t] && (f[t] = e - u[t]) }), m[p] = T ? u : $; var D = o.$FramesCount, L = n.round(t * o.$Delay / o.$Interval); v[p] = new Array(L), v[p].$Min = L, v[p].$Max = L + D - 1; for (var H = 0; H <= D; H++) { var N = d.$Cast(u, f, H / D, o.$Easing, o.$During, o.$Round, { $Move: o.$Move, $OriginalWidth: s, $OriginalHeight: l }); N.$ZIndex = N.$ZIndex || 1, v[p].push(N) } }) }), S.reverse(), d.$Each(S, function (n) { d.$Each(n, function (n) { var o = n[0], i = n[1], a = o + "," + i, r = t; (i || o) && (r = d.$CloneNode(t)), d.$SetStyles(r, m[a]), d.$CssOverflow(r, "hidden"), d.$CssPosition(r, "absolute"), e.$AddClipElement(r), g[a] = r, d.$ShowElement(r, !T) }) }) } function m() { var e = this, t = 0; l.call(e, 0, v), e.$OnPositionChange = function (e, n) { n - t > w && (t = n, C && C.$ShowFrame(n), g && g.$ShowFrame(n)) }, e.$Transition = b } var v, g, C, b, x = this, S = 0, y = c.$TransitionsOrder, w = 8; x.$GetTransition = function () { var e = 0, t = c.$Transitions, o = t.length; return e = y ? S++ % o : n.floor(n.random() * o), t[e] && (t[e].$Index = e), t[e] }, x.$Initialize = function (o, i, a, s, l) { b = l, l = h(l, w); var c = s.$Item, u = a.$Item; c["no-image"] = !s.$Image, u["no-image"] = !a.$Image; var d = c, $ = u, f = l, m = l.$Brother || h({}, w); l.$SlideOut || (d = u, $ = c); var S = m.$Shift || 0; g = new p(e, $, m, n.max(S - m.$Interval, 0), t, r), C = new p(e, d, f, n.max(m.$Interval - S, 0), t, r), g.$ShowFrame(0), C.$ShowFrame(0), v = n.max(g.$EndTime, C.$EndTime), x.$Index = o }, x.$Clear = function () { e.$Clear(), g = o, C = o }, x.$GetProcessor = function () { var e = o; return C && (e = new m), e }, (d.$IsBrowserIe9Earlier() || d.$IsBrowserOpera() || f && d.$WebKitVersion() < 537) && (w = 16), s.call(x), l.call(x, -1e7, 1e7) }; var f = e.$JssorSlider$ = function ($, p) { function m() { var e = this; l.call(e, -1e8, 2e8), e.$GetCurrentSlideInfo = function () { var t = e.$GetPosition_Display(), o = n.floor(t); return { $Index: N(o), $VirtualIndex: o, $Position: t - n.floor(t) } }, e.$OnPositionChange = function (e, t) { var o = n.floor(t); o != t && t > e && o++, k(o, i), X.$TriggerEvent(f.$EVT_POSITION_CHANGE, N(t), N(e), t, e) } } function v() { var e = this; l.call(e, 0, 0, { $LoopLength: Ue }), d.$Each(vt, function (t) { 1 & at && t.$SetLoopLength(Ue), e.$Chain(t), t.$Shift(Be / Je) }) } function g() { var e = this, t = ct.$Elmt; l.call(e, -1, 2, { $Easing: u.$EaseLinear, $Setter: { $Position: y }, $LoopLength: Ue }, t, { $Position: 1 }, { $Position: -2 }), e.$Wrapper = t } function C(e, t) { var n, r, s, c, u, d = this; l.call(d, -1e8, 2e8, { $IntervalMax: 100 }), d.$OnStart = function () { Re = i, De = o, X.$TriggerEvent(f.$EVT_SWIPE_START, N(Ge.$GetPosition()), Ge.$GetPosition()) }, d.$OnStop = function () { Re = a, c = a; var e = Ge.$GetCurrentSlideInfo(); X.$TriggerEvent(f.$EVT_SWIPE_END, N(Ge.$GetPosition()), Ge.$GetPosition()), !e.$Position && R(e.$VirtualIndex, je) }, d.$OnPositionChange = function (e, t) { var o; if (c) o = u; else if (o = r, s) { var i = t / s; o = q.$SlideEasing(i) * (r - n) + n } Ge.$GoToPosition(o) }, d.$PlayCarousel = function (e, t, o, i) { n = e, r = t, s = o, Ge.$GoToPosition(e), d.$GoToPosition(0), d.$PlayToPosition(o, i) }, d.$StandBy = function (e) { c = i, u = e, d.$Play(e, o, i) }, d.$SetStandByPosition = function (e) { u = e }, d.$MoveCarouselTo = function (e) { Ge.$GoToPosition(e) }, (Ge = new m).$Combine(e), Ge.$Combine(t) } function b() { var e = this, t = H(); d.$CssZIndex(t, 0), d.$Css(t, "pointerEvents", "none"), e.$Elmt = t, e.$AddClipElement = function (e) { d.$AppendChild(t, e), d.$ShowElement(t) }, e.$Clear = function () { d.$HideElement(t), d.$Empty(t) } } function x(e, t) { function r(t) { w && w.$Revert(), x && x.$Revert(), b(e, t), M = i, x = new ne.$Class(e, ne, 1), (w = new ne.$Class(e, ne)).$GoToPosition(0), x.$GoToPosition(0) } function c() { x.$Version < ne.$Version && r() } function u(e, n, o) { if (!B && (B = i, _ && o)) { var r = o.width, s = o.height, l = r, c = s; if (r && s && q.$FillMode) { if (3 & q.$FillMode && (!(4 & q.$FillMode) || r > Qe || s > Ze)) { var u = a, $ = Qe / Ze * s / r; 1 & q.$FillMode ? u = $ > 1 : 2 & q.$FillMode && (u = $ < 1), l = u ? r * Ze / s : Qe, c = u ? Ze : s * Qe / r } d.$CssWidth(_, l), d.$CssHeight(_, c), d.$CssTop(_, (Ze - c) / 2), d.$CssLeft(_, (Qe - l) / 2) } d.$CssPosition(_, "absolute"), X.$TriggerEvent(f.$EVT_LOAD_END, t) } d.$HideElement(n), e && e(L) } function $(e, n, o, i) { if (i == De && je == t && Ie && !_e) { var a = N(e); ut.$Initialize(a, t, n, L, o), n.$HideContentForSlideshow(), Fe.$Locate(a, 1), Fe.$GoToPosition(a), Ve.$PlayCarousel(e, e, 0) } } function h(n) { if (n == De && je == t) { if (!R) { var i = o; ut && (ut.$Index == t ? i = ut.$GetProcessor() : ut.$Clear()), c(), (R = new S(e, t, i, L.$GetCaptionSliderIn(), L.$GetCaptionSliderOut())).$SetPlayer(D) } !R.$IsPlaying() && R.$Replay() } } function p(e, i, a) { if (e == t) { e != i ? vt[i] && vt[i].$ParkOut() : !a && R && R.$AdjustIdleOnPark(), D && D.$Enable(); var r = De = d.$GetNow(); L.$LoadImage(d.$CreateCallback(o, h, r)) } else { var s = n.abs(t - e), l = Ke + q.$LazyLoading - 1; (!P || s <= l) && L.$LoadImage() } } function m() { je == t && R && (R.$Stop(), D && D.$Quit(), D && D.$Disable(), R.$OpenSlideshowPanel()) } function v() { je == t && R && R.$Stop() } function g(e) { !Me && X.$TriggerEvent(f.$EVT_CLICK, t, e) } function C() { D = k.pInstance, R && R.$SetPlayer(D) } function b(e, t, n) { if (!d.$Attribute(e, "jssor-slider")) { n = n || 0, M || ("IMG" == e.tagName && (H.push(e), d.$Attribute(e, "src") || (P = i, e["display-origin"] = d.$CssDisplay(e), d.$HideElement(e))), d.$IsBrowserIe9Earlier() && d.$CssZIndex(e, (d.$CssZIndex(e) || 0) + 1), q.$HWA && d.$WebKitVersion() && (d.$WebKitVersion() < 534 || !Ae && !d.$IsBrowserChrome()) && d.$EnableHWA(e)); var o = d.$Children(e); d.$Each(o, function (o) { var r = o.tagName, s = d.$AttributeEx(o, "u"); if ("player" != s || k || ((k = o).pInstance ? C() : d.$AddEvent(k, "dataavailable", C)), "caption" == s) { if (!d.$IsBrowserIE() && !t) { var l = d.$CloneNode(o, a, i); d.$InsertBefore(l, o, e), d.$RemoveElement(o, e), o = l, t = i } } else M || n || _ || ("A" == r ? (_ = "image" == d.$AttributeEx(o, "u") ? d.$FindChildByTag(o, "IMG") : d.$FindChild(o, "image", i)) && (I = o, d.$SetStyles(I, J), O = d.$CloneNode(I, i), d.$CssDisplay(O, "block"), d.$SetStyles(O, J), d.$CssOpacity(O, 0), d.$Css(O, "backgroundColor", "#000")) : "IMG" == r && "image" == d.$AttributeEx(o, "u") && (_ = o), _ && (_.border = 0, d.$SetStyles(_, J))); b(o, t, n + 1) }) } } var x, w, E, T, _, I, O, A, B, P, M, R, k, D, L = this, H = []; l.call(L, -Ke, Ke + 1, { $SlideItemAnimator: i }), L.$LoadImage = function (e, n) { n = n || T, H.length && !B ? (d.$ShowElement(n), A || (A = i, X.$TriggerEvent(f.$EVT_LOAD_START, t), d.$Each(H, function (e) { d.$Attribute(e, "src") || (e.src = d.$AttributeEx(e, "src2"), d.$CssDisplay(e, e["display-origin"])) })), d.$LoadImages(H, _, d.$CreateCallback(o, u, e, n))) : u(e, n) }, L.$GoForNextSlide = function () { if (ut) { var e = ut.$GetTransition(Ue); if (e) { var n = De = d.$GetNow(), i = t + q.$AutoPlaySteps * ee, a = vt[N(i)]; return a.$LoadImage(d.$CreateCallback(o, $, i, a, e, n), T) } } var r = je; q.$AutoPlaySteps < 0 && (r -= Ue), j(r + q.$AutoPlaySteps * ee) }, L.$TryActivate = function () { p(t, t, i) }, L.$ParkOut = function () { D && D.$Quit(), D && D.$Disable(), L.$UnhideContentForSlideshow(), R && R.$Abort(), R = o, r() }, L.$StampSlideItemElements = function (e) { e = void 0 + "_" + e }, L.$HideContentForSlideshow = function () { d.$HideElement(e) }, L.$UnhideContentForSlideshow = function () { d.$ShowElement(e) }, L.$EnablePlayer = function () { D && D.$Enable() }, L.$OnInnerOffsetChange = function (e, t) { y(E, Ke - t) }, L.$GetCaptionSliderIn = function () { return x }, L.$GetCaptionSliderOut = function () { return w }, L.$Index = t, s.call(L); var W = d.$FindChild(e, "thumb", i); W && (L.$Thumb = d.$CloneNode(W), d.$RemoveAttribute(W, "id"), d.$HideElement(W)), d.$ShowElement(e), T = d.$CloneNode(le), d.$CssZIndex(T, 1e3), d.$AddEvent(e, "click", g), r(i), L.$Image = _, L.$Link = O, L.$Item = e, L.$Wrapper = E = e, d.$AppendChild(E, T), X.$On(203, p), X.$On(28, v), X.$On(24, m) } function S(e, t, n, o, r) { function s() { d.$Empty(dt), Te && v && y.$Link && d.$AppendChild(dt, y.$Link), d.$ShowElement(dt, !v && y.$Image) } function c() { g && (g = a, X.$TriggerEvent(f.$EVT_ROLLBACK_END, t, p, S, h, p, m), x.$GoToPosition(h)), x.$Replay() } function u(e) { b = e, x.$Stop(), x.$Replay() } var $, h, p, m, v, g, C, b, x = this, S = 0, y = vt[t]; l.call(x, 0, 0), x.$Replay = function () { var e = x.$GetPosition_Display(); if (!ke && !Re && !b && je == t) { e || ($ && !v && (v = i, x.$OpenSlideshowPanel(i), X.$TriggerEvent(f.$EVT_SLIDESHOW_START, t, S, 0, $, m)), s()); var n, o = f.$EVT_STATE_CHANGE; e != m && (e == p ? n = m : e == h ? n = p : e ? e > p ? (g = i, n = p, o = f.$EVT_ROLLBACK_START) : n = x.$GetPlayToPosition() : n = h), X.$TriggerEvent(o, t, e, S, h, p, m); var a = Ie && (!tt || rt); e == m ? (p != m && !(12 & tt) || a) && y.$GoForNextSlide() : (a || e != p) && x.$PlayToPosition(n, c) } }, x.$AdjustIdleOnPark = function () { p == m && p == x.$GetPosition_Display() && x.$GoToPosition(h) }, x.$Abort = function () { ut && ut.$Index == t && ut.$Clear(); var e = x.$GetPosition_Display(); e < m && X.$TriggerEvent(f.$EVT_STATE_CHANGE, t, -e - 1, S, h, p, m) }, x.$OpenSlideshowPanel = function (e) { n && d.$CssOverflow(Ce, e && n.$Transition.$Outside ? "" : "hidden") }, x.$OnInnerOffsetChange = function (e, n) { v && n >= $ && (v = a, s(), y.$UnhideContentForSlideshow(), ut.$Clear(), X.$TriggerEvent(f.$EVT_SLIDESHOW_END, t, S, 0, $, m)), X.$TriggerEvent(f.$EVT_PROGRESS_CHANGE, t, n, S, h, p, m) }, x.$SetPlayer = function (e) { e && !C && (C = e, e.$On($JssorPlayer$.$EVT_SWITCH, u)) }, n && x.$Chain(n), $ = x.$GetPosition_OuterEnd(), x.$GetPosition_OuterEnd(), x.$Chain(o), h = o.$GetPosition_OuterEnd(), p = h + (d.$ParseFloat(d.$AttributeEx(e, "idle")) || nt), r.$Shift(p), x.$Combine(r), m = x.$GetPosition_OuterEnd() } function y(e, t) { var o = be > 0 ? be : K, i = qe * t * (1 & o), a = Ye * t * (o >> 1 & 1); i = n.round(i), a = n.round(a), d.$CssLeft(e, i), d.$CssTop(e, a) } function w() { ft = Re, ht = Ve.$GetPlayToPosition(), $t = Ge.$GetPosition() } function E() { w(), (ke || !rt && 12 & tt) && (Ve.$Stop(), X.$TriggerEvent(f.$EVT_FREEZE)) } function T(e) { if (!ke && (rt || !(12 & tt)) && !Ve.$IsPlaying()) { var t = Ge.$GetPosition(), o = n.ceil($t); e && n.abs(Le) >= q.$MinDragOffsetToSlide && (o = n.ceil(t), o += Ne), 1 & at || (o = n.min(Ue - Ke, n.max(o, 0))); var i = n.abs(o - t); i = 1 - n.pow(1 - i, 5), !Me && ft ? Ve.$Continue(ht) : t == o ? (ge.$EnablePlayer(), ge.$TryActivate()) : Ve.$PlayCarousel(t, o, i * ot) } } function _(e) { !d.$AttributeEx(d.$EvtSrc(e), "nodrag") && d.$CancelEvent(e) } function I(e) { O(e, 1) } function O(e, n) { e = d.$GetEvent(e); var r = d.$EvtSrc(e); if (!xe && !d.$AttributeEx(r, "nodrag") && D() && (!n || 1 == e.touches.length)) { if (ke = i, Se = a, De = o, d.$AddEvent(t, n ? "touchmove" : "mousemove", A), d.$GetNow(), Me = 0, E(), ft || (be = 0), n) { var s = e.touches[0]; st = s.clientX, lt = s.clientY } else { var l = d.$MousePosition(e); st = l.x, lt = l.y } Le = 0, He = 0, Ne = 0, X.$TriggerEvent(f.$EVT_DRAG_START, N($t), $t, e) } } function A(e) { if (ke) { var t; if ("mousemove" != (e = d.$GetEvent(e)).type) { var o = e.touches[0]; t = { x: o.clientX, y: o.clientY } } else t = d.$MousePosition(e); if (t) { var a = t.x - st, r = t.y - lt; if (n.floor($t) != $t && (be = be || K & xe), !a && !r || be || (be = 3 == xe ? n.abs(r) > n.abs(a) ? 2 : 1 : xe, Ct && 1 == be && n.abs(r) - n.abs(a) > 3 && (Se = i)), be) { var s = r, l = Ye; if (1 == be && (s = a, l = qe), !(1 & at) && (s > 0 && (u = s - (c = l * je)) > 0 && (s = c + 5 * n.sqrt(u)), s < 0)) { var c = l * (Ue - Ke - je), u = -s - c; u > 0 && (s = -c - 5 * n.sqrt(u)) } Le - He < -2 ? Ne = 0 : Le - He > 2 && (Ne = -1), He = Le, pt = $t - (Le = s) / l / (ze || 1), Le && be && !Se && (d.$CancelEvent(e), Re ? Ve.$SetStandByPosition(pt) : Ve.$StandBy(pt)) } } } } function B() { if (L(), ke) { ke = a, d.$GetNow(), d.$RemoveEvent(t, "mousemove", A), d.$RemoveEvent(t, "touchmove", A), Me = Le, Ve.$Stop(); var e = Ge.$GetPosition(); X.$TriggerEvent(f.$EVT_DRAG_END, N(e), e, N($t), $t), 12 & tt && w(), T(i) } } function P(e) { if (Me) { d.$StopEvent(e); for (var t = d.$EvtSrc(e); t && se !== t; ) { "A" == t.tagName && d.$CancelEvent(e); try { t = t.parentNode } catch (e) { break } } } } function M(e) { return vt[je], je = N(e), ge = vt[je], k(e), je } function R(e, t) { be = 0, M(e), X.$TriggerEvent(f.$EVT_PARK, N(e), t) } function k(e, t) { ve = e, d.$Each(et, function (n) { n.$SetCurrentIndex(N(e), e, t) }) } function D() { var e = f.$DragRegistry || 0, t = Pe; return Ct && 1 & t && (t &= 1), f.$DragRegistry |= t, xe = t & ~e } function L() { xe && (f.$DragRegistry &= ~Pe, xe = 0) } function H() { var e = d.$CreateDiv(); return d.$SetStyles(e, J), d.$CssPosition(e, "absolute"), e } function N(e) { return (e % Ue + Ue) % Ue } function W(e, t) { t && (at ? 2 & at && (e = N(e + ve), t = a) : (e = n.min(n.max(e + ve, 0), Ue - Ke), t = a)), j(e, q.$SlideDuration, t) } function G() { d.$Each(et, function (e) { e.$Show(e.$Options.$ChanceToShow <= rt) }) } function F() { rt || (rt = 1, G(), ke || (12 & tt && T(), 3 & tt && vt[je].$TryActivate())) } function V() { rt && (rt = 0, G(), ke || !(12 & tt) || E()) } function z(e, t) { j(e, t, i) } function j(e, t, o) { if (it && (!ke || q.$NaviQuitDrag)) { Re = i, ke = a, Ve.$Stop(), t == r && (t = ot); var s = We.$GetPosition_Display(), l = e; o && (l = s + e, l = e > 0 ? n.ceil(l) : n.floor(l)), 2 & at && (l = N(l)), 1 & at || (l = n.max(0, n.min(l, Ue - Ke))); var c = (l - s) % Ue, u = s == (l = s + c) ? 0 : t * n.abs(c); u = n.min(u, t * Ke * 1.5), Ve.$PlayCarousel(s, l, u || 1) } } function U() { return d.$CssWidth(Y || $) } function Q() { return d.$CssHeight(Y || $) } function Z(e, n) { if (e == r) return d.$CssWidth($); if (!Y) { var o = d.$CreateDiv(t); d.$ClassName(o, d.$ClassName($)), d.$CssCssText(o, d.$CssCssText($)), d.$CssDisplay(o, "block"), d.$CssPosition(o, "relative"), d.$CssTop(o, 0), d.$CssLeft(o, 0), d.$CssOverflow(o, "visible"), Y = d.$CreateDiv(t), d.$CssPosition(Y, "absolute"), d.$CssTop(Y, 0), d.$CssLeft(Y, 0), d.$CssWidth(Y, d.$CssWidth($)), d.$CssHeight(Y, d.$CssHeight($)), d.$SetStyleTransformOrigin(Y, "0 0"), d.$AppendChild(Y, o); var i = d.$Children($); d.$AppendChild($, Y), d.$Css($, "backgroundImage", ""), d.$Each(i, function (e) { d.$AppendChild(d.$AttributeEx(e, "noscale") ? $ : o, e) }) } ze = e / (n ? d.$CssHeight : d.$CssWidth)(Y), d.$CssScale(Y, ze); var a = n ? ze * U() : e, s = n ? e : ze * Q(); d.$CssWidth($, a), d.$CssHeight($, s), d.$Each(et, function (e) { e.$Relocate(a, s) }) } var X = this; X.$PlayTo = j, X.$GoTo = function (e) { j(e, 1) }, X.$Next = function () { z(1) }, X.$Prev = function () { z(-1) }, X.$Pause = function () { Ie = a }, X.$Play = function () { Ie || (Ie = i, vt[je] && vt[je].$TryActivate()) }, X.$SetSlideshowTransitions = function (e) { q.$SlideshowOptions.$Transitions = e }, X.$SetCaptionTransitions = function (e) { ne.$CaptionTransitions = e, ne.$Version = d.$GetNow() }, X.$SlidesCount = function () { return pe.length }, X.$CurrentIndex = function () { return je }, X.$IsAutoPlaying = function () { return Ie }, X.$IsDragging = function () { return ke }, X.$IsSliding = function () { return Re }, X.$IsMouseOver = function () { return !rt }, X.$LastDragSucceded = function () { return Me }, X.$OriginalWidth = X.$GetOriginalWidth = U, X.$OriginalHeight = X.$GetOriginalHeight = Q, X.$ScaleHeight = X.$GetScaleHeight = function (e) { if (e == r) return d.$CssHeight($); Z(e, i) }, X.$ScaleWidth = X.$SetScaleWidth = X.$GetScaleWidth = Z, X.$GetVirtualIndex = function (e) { var t = n.ceil(N(Be / Je)), o = N(e - je + t); return o > Ke ? e - je > Ue / 2 ? e -= Ue : e - je <= -Ue / 2 && (e += Ue) : e = je + o - t, e }, s.call(X), X.$Elmt = $ = d.$GetElement($); var q = d.$Extend({ $FillMode: 0, $LazyLoading: 1, $StartIndex: 0, $AutoPlay: a, $Loop: 1, $HWA: i, $NaviQuitDrag: i, $AutoPlaySteps: 1, $AutoPlayInterval: 3e3, $PauseOnHover: 1, $SlideDuration: 500, $SlideEasing: u.$EaseOutQuad, $MinDragOffsetToSlide: 20, $SlideSpacing: 0, $DisplayPieces: 1, $ParkingPosition: 0, $UISearchMode: 1, $PlayOrientation: 1, $DragOrientation: 1 }, p); q.$Idle != r && (q.$AutoPlayInterval = q.$Idle), q.$Cols != r && (q.$DisplayPieces = q.$Cols); var Y, J, K = 3 & q.$PlayOrientation, ee = (4 & q.$PlayOrientation) / -4 || 1, te = q.$SlideshowOptions, ne = d.$Extend({ $Class: c, $PlayInMode: 1, $PlayOutMode: 1 }, q.$CaptionSliderOptions), oe = q.$BulletNavigatorOptions, ie = q.$ArrowNavigatorOptions, ae = q.$ThumbnailNavigatorOptions, re = !q.$UISearchMode, se = d.$FindChild($, "slides", re), le = d.$FindChild($, "loading", re) || d.$CreateDiv(t), ce = d.$FindChild($, "navigator", re), ue = d.$FindChild($, "arrowleft", re), de = d.$FindChild($, "arrowright", re), $e = d.$FindChild($, "thumbnavigator", re), fe = d.$CssWidth(se), he = d.$CssHeight(se), pe = [], me = d.$Children(se); d.$Each(me, function (e) { "DIV" != e.tagName || d.$AttributeEx(e, "u") ? d.$IsBrowserIe9Earlier() && d.$CssZIndex(e, (d.$CssZIndex(e) || 0) + 1) : pe.push(e) }); var ve, ge, Ce, be, xe, Se, ye, we, Ee, Te, _e, Ie, Oe, Ae, Be, Pe, Me, Re, ke, De, Le, He, Ne, We, Ge, Fe, Ve, ze, je = -1, Ue = pe.length, Qe = q.$SlideWidth || fe, Ze = q.$SlideHeight || he, Xe = q.$SlideSpacing, qe = Qe + Xe, Ye = Ze + Xe, Je = 1 & K ? qe : Ye, Ke = n.min(q.$DisplayPieces, Ue), et = [], tt = q.$PauseOnHover, nt = q.$AutoPlayInterval, ot = q.$SlideDuration, it = Ke < Ue, at = it ? q.$Loop : 0, rt = 1, st = 0, lt = 0, ct = new b; Ie = q.$AutoPlay, X.$Options = p, function () { J = { $Width: Qe, $Height: Ze, $Top: 0, $Left: 0 }, d.$Each(pe, function (e) { d.$SetStyles(e, J), d.$CssPosition(e, "absolute"), d.$CssOverflow(e, "hidden"), d.$HideElement(e) }), d.$SetStyles(le, J) } (), d.$Attribute($, "jssor-slider", i), d.$CssZIndex(se, d.$CssZIndex(se) || 0), d.$CssPosition(se, "absolute"), Ce = d.$CloneNode(se, i), d.$InsertBefore(Ce, se), te && (Te = te.$ShowLink, Oe = te.$Class, Ae = 1 == Ke && Ue > 1 && Oe && (!d.$IsBrowserIE() || d.$BrowserVersion() >= 8)), Be = Ae || Ke >= Ue || !(1 & at) ? 0 : q.$ParkingPosition, Pe = (Ke > 1 || Be ? K : -1) & q.$DragOrientation; var ut, dt, $t, ft, ht, pt, mt = se, vt = [], gt = d.$Device(), Ct = gt.$Touchable; gt.$TouchActionAttr && d.$Css(mt, gt.$TouchActionAttr, [o, "pan-y", "pan-x", "none"][Pe] || ""), Fe = new g, Ae && (ut = new Oe(ct, Qe, Ze, te, Ct)), d.$AppendChild(Ce, Fe.$Wrapper), d.$CssOverflow(se, "hidden"), dt = H(), d.$Css(dt, "backgroundColor", "#000"), d.$CssOpacity(dt, 0), d.$InsertBefore(dt, mt.firstChild, mt); for (var bt = 0; bt < pe.length; bt++) { var xt = new x(pe[bt], bt); vt.push(xt) } d.$HideElement(le), We = new v, Ve = new C(We, Fe), Pe && (d.$AddEvent(se, "mousedown", O), d.$AddEvent(se, "touchstart", I), d.$AddEvent(se, "dragstart", _), d.$AddEvent(se, "selectstart", _), d.$AddEvent(t, "mouseup", B), d.$AddEvent(t, "touchend", B), d.$AddEvent(t, "touchcancel", B), d.$AddEvent(e, "blur", B)), tt &= Ct ? 10 : 5, ce && oe && (ye = new oe.$Class(ce, oe, U(), Q()), et.push(ye)), ie && ue && de && (ie.$Loop = at, ie.$DisplayPieces = Ke, we = new ie.$Class(ue, de, ie, U(), Q()), et.push(we)), $e && ae && (ae.$StartIndex = q.$StartIndex, Ee = new ae.$Class($e, ae), et.push(Ee)), d.$Each(et, function (e) { e.$Reset(Ue, vt, le), e.$On(h.$NAVIGATIONREQUEST, W) }), Z(U()), d.$AddEvent(se, "click", P), d.$AddEvent($, "mouseout", d.$MouseOverOutFilter(F, $)), d.$AddEvent($, "mouseover", d.$MouseOverOutFilter(V, $)), G(), q.$ArrowKeyNavigation && d.$AddEvent(t, "keydown", function (e) { 37 == e.keyCode ? z(-1) : 39 == e.keyCode && z(1) }); var St = q.$StartIndex; 1 & at || (St = n.max(0, n.min(St, Ue - Ke))), Ve.$PlayCarousel(St, St, 0) }; e.$JssorSlideo$ = f, f.$EVT_CLICK = 21, f.$EVT_DRAG_START = 22, f.$EVT_DRAG_END = 23, f.$EVT_SWIPE_START = 24, f.$EVT_SWIPE_END = 25, f.$EVT_LOAD_START = 26, f.$EVT_LOAD_END = 27, f.$EVT_FREEZE = 28, f.$EVT_POSITION_CHANGE = 202, f.$EVT_PARK = 203, f.$EVT_SLIDESHOW_START = 206, f.$EVT_SLIDESHOW_END = 207, f.$EVT_PROGRESS_CHANGE = 208, f.$EVT_STATE_CHANGE = 209, f.$EVT_ROLLBACK_START = 210, f.$EVT_ROLLBACK_END = 211; var h = { $NAVIGATIONREQUEST: 1, $INDEXCHANGE: 2, $RESET: 3 }; e.$JssorBulletNavigator$ = function (e, t) { function r(e) { -1 != e && _[e].$Selected(e == E) } function l(e) { c.$TriggerEvent(h.$NAVIGATIONREQUEST, e * v) } var c = this; s.call(c), e = d.$GetElement(e); var u, $, f, p, m, v, g, C, b, x, S, y, w, E = 0, T = [], _ = []; c.$Elmt = e, c.$GetCurrentIndex = function () { return p }, c.$SetCurrentIndex = function (e) { if (e != p) { var t = E, o = n.floor(e / v); E = o, p = e, r(t), r(o) } }, c.$Show = function (t) { d.$ShowElement(e, t) }; var I; c.$Relocate = function (t, n) { if (!I || m.$Scale == a) { var t = d.$ParentNode(e).clientWidth, n = d.$ParentNode(e).clientHeight; 1 & m.$AutoCenter && d.$CssLeft(e, (t - $) / 2), 2 & m.$AutoCenter && d.$CssTop(e, (n - f) / 2), I = i } }; var O; c.$Reset = function (t) { if (!O) { u = n.ceil(t / v), E = 0; var a = y + C, r = w + b, s = n.ceil(u / g) - 1; $ = y + a * (x ? g - 1 : s), f = w + r * (x ? s : g - 1), d.$CssWidth(e, $), d.$CssHeight(e, f); for (var c = 0; c < u; c++) { var h = d.$CreateSpan(); d.$InnerText(h, c + 1); var p = d.$BuildElement(S, "numbertemplate", h, i); d.$CssPosition(p, "absolute"); var I = c % (s + 1); d.$CssLeft(p, x ? c % g * a : a * I), d.$CssTop(p, x ? r * I : n.floor(c / (s + 1)) * r), d.$AppendChild(e, p), T[c] = p, 1 & m.$ActionMode && d.$AddEvent(p, "click", d.$CreateCallback(o, l, c)), 2 & m.$ActionMode && d.$AddEvent(p, "mouseover", d.$MouseOverOutFilter(d.$CreateCallback(o, l, c), p)), _[c] = d.$Buttonize(p) } O = i } }, c.$Options = m = d.$Extend({ $SpacingX: 0, $SpacingY: 0, $Orientation: 1, $ActionMode: 1 }, t), S = d.$FindChild(e, "prototype"), y = d.$CssWidth(S), w = d.$CssHeight(S), d.$RemoveElement(S, e), v = m.$Steps || 1, g = m.$Lanes || 1, C = m.$SpacingX, b = m.$SpacingY, x = m.$Orientation - 1, m.$Scale == a && d.$Attribute(e, "noscale", i) }, e.$JssorArrowNavigator$ = function (e, t, n) { function r(e) { c.$TriggerEvent(h.$NAVIGATIONREQUEST, e, i) } function l(o) { d.$ShowElement(e, o || !n.$Loop && 0 == f), d.$ShowElement(t, o || !n.$Loop && f >= $ - n.$DisplayPieces), u = o } var c = this; s.call(c); var u, $, f, p, m, v = d.$CssWidth(e), g = d.$CssHeight(e); c.$GetCurrentIndex = function () { return f }, c.$SetCurrentIndex = function (e, t, n) { n ? f = t : (f = e, l(u)) }, c.$Show = l; var C; c.$Relocate = function (n, o) { if (!C || p.$Scale == a) { var r = d.$ParentNode(e).clientWidth, o = d.$ParentNode(e).clientHeight; 1 & p.$AutoCenter && (d.$CssLeft(e, (r - v) / 2), d.$CssLeft(t, (r - v) / 2)), 2 & p.$AutoCenter && (d.$CssTop(e, (o - g) / 2), d.$CssTop(t, (o - g) / 2)), C = i } }; var b; c.$Reset = function (n) { $ = n, f = 0, b || (d.$AddEvent(e, "click", d.$CreateCallback(o, r, -m)), d.$AddEvent(t, "click", d.$CreateCallback(o, r, m)), d.$Buttonize(e), d.$Buttonize(t), b = i) }, c.$Options = p = d.$Extend({ $Steps: 1 }, n), m = p.$Steps, p.$Scale == a && (d.$Attribute(e, "noscale", i), d.$Attribute(t, "noscale", i)) }, e.$JssorThumbnailNavigator$ = function (e, t) { function o(e, t) { function n() { r.$Selected(c == t) } function o() { if (!S.$LastDragSucceded()) { var e = m - t % m, n = S.$GetVirtualIndex((t + e) / m - 1) * m + m - e; E.$TriggerEvent(h.$NAVIGATIONREQUEST, n) } } var a, r, s, l = this; l.$Index = t, l.$Highlight = n, s = e.$Thumb || e.$Image || d.$CreateDiv(), l.$Wrapper = a = d.$BuildElement(w, "thumbnailtemplate", s, i), r = d.$Buttonize(a), 1 & u.$ActionMode && d.$AddEvent(a, "click", o), 2 & u.$ActionMode && d.$AddEvent(a, "mouseover", d.$MouseOverOutFilter(o, a)) } var l, c, u, $, p, m, v, g, C, b, x, S, y, w, E = this, T = []; s.call(E), e = d.$GetElement(e), E.$GetCurrentIndex = function () { return c }, E.$SetCurrentIndex = function (e, t, o) { var i = c; c = e, -1 != i && T[i].$Highlight(), T[e].$Highlight(), !o && S.$PlayTo(S.$GetVirtualIndex(n.floor(t / m))) }, E.$Show = function (t) { d.$ShowElement(e, t) }, E.$Relocate = d.$EmptyFunction; var _; E.$Reset = function (t, r) { if (!_) { l = t, n.ceil(l / m), c = -1, x = n.min(x, r.length); var s = 1 & u.$Orientation, h = C + (C + v) * (m - 1) * (1 - s), w = b + (b + g) * (m - 1) * s, E = h + (h + v) * (x - 1) * s, I = w + (w + g) * (x - 1) * (1 - s); d.$CssPosition(y, "absolute"), d.$CssOverflow(y, "hidden"), 1 & u.$AutoCenter && d.$CssLeft(y, ($ - E) / 2), 2 & u.$AutoCenter && d.$CssTop(y, (p - I) / 2), d.$CssWidth(y, E), d.$CssHeight(y, I); var O = []; d.$Each(r, function (e, t) { var i = new o(e, t), a = i.$Wrapper, r = n.floor(t / m), l = t % m; d.$CssLeft(a, (C + v) * l * (1 - s)), d.$CssTop(a, (b + g) * l * s), O[r] || (O[r] = d.$CreateDiv(), d.$AppendChild(y, O[r])), d.$AppendChild(O[r], a), T.push(i) }); var A = d.$Extend({ $HWA: a, $AutoPlay: a, $NaviQuitDrag: a, $SlideWidth: h, $SlideHeight: w, $SlideSpacing: v * s + g * (1 - s), $MinDragOffsetToSlide: 12, $SlideDuration: 200, $PauseOnHover: 1, $PlayOrientation: u.$Orientation, $DragOrientation: u.$DisableDrag ? 0 : u.$Orientation }, u); S = new f(e, A), _ = i } }, E.$Options = u = d.$Extend({ $SpacingX: 3, $SpacingY: 3, $DisplayPieces: 1, $Orientation: 1, $AutoCenter: 3, $ActionMode: 1 }, t), u.$Rows != r && (u.$Lanes = u.$Rows), $ = d.$CssWidth(e), p = d.$CssHeight(e), y = d.$FindChild(e, "slides", i), w = d.$FindChild(y, "prototype"), C = d.$CssWidth(w), b = d.$CssHeight(w), d.$RemoveElement(w, y), m = u.$Lanes || 1, v = u.$SpacingX, g = u.$SpacingY, x = u.$DisplayPieces, u.$Scale == a && d.$Attribute(e, "noscale", i) }, e.$JssorCaptionSlider$ = function (e, t, o) { function i(e, t) { function a(e, t) { var n = {}; return d.$Each(h, function (o, i) { var a = d.$AttributeEx(e, o + (t || "")); if (a) { var r = {}; "t" == o ? r.$Value = a : a.indexOf("%") + 1 ? r.$Percent = d.$ParseFloat(a) / 100 : r.$Value = d.$ParseFloat(a), n[i] = r } }), n } function r() { return f[n.floor(n.random() * f.length)] } function s(e) { var t; if ("*" == e) t = r(); else if (e) { var o = f[d.$ParseInt(e)] || f[e]; d.$IsArray(o) && (e != l ? (l = e, m[e] = 0, u[e] = o[n.floor(n.random() * o.length)]) : m[e]++, o = u[e], d.$IsArray(o) && (o = o.length && o[m[e] % o.length], d.$IsArray(o) && (o = o[n.floor(n.random() * o.length)]))), t = o, d.$IsString(t) && (t = s(t)) } return t } var l, c = [], u = [], m = [], v = d.$Children(e); return d.$Each(v, function (e) { var n = []; n.$Elmt = e; var r = "caption" == d.$AttributeEx(e, "u"); d.$Each(o ? [0, 3] : [2], function (o, l) { if (r) { var c, u; if (2 == o && d.$AttributeEx(e, "t3") || (u = a(e, o), 2 != o || u.$Transition || (u.$Delay = u.$Delay || { $Value: 0 }, u = d.$Extend(a(e, 0), u))), u && u.$Transition && (c = s(u.$Transition.$Value))) { var f = d.$Extend({ $Delay: 0 }, c); d.$Each(u, function (e, t) { var n = (p[t] || p.$Default).apply(p, [f[t], u[t]]); isNaN(n) || (f[t] = n) }), l || (u.$BeginTime ? f.$BeginTime = u.$BeginTime.$Value || 0 : 2 & $ && (f.$BeginTime = 0)) } n.push(f) } t % 2 && !l && (n.$Children = i(e, t + 1)) }), c.push(n) }), c } function a(e, t, i) { var a = { $Easing: t.$Easing, $Round: t.$Round, $During: t.$During, $Reverse: o && !i }, r = e, s = d.$ParentNode(e), c = d.$CssWidth(r), u = d.$CssHeight(r), $ = d.$CssWidth(s), f = d.$CssHeight(s), h = {}, p = {}, m = t.$ScaleClip || 1; if (t.$Opacity && (p.$Opacity = 1 - t.$Opacity), a.$OriginalWidth = c, a.$OriginalHeight = u, t.$Zoom || t.$Rotate) { p.$Zoom = (t.$Zoom || 2) - 2, (d.$IsBrowserIe9Earlier() || d.$IsBrowserOpera()) && (p.$Zoom = n.min(p.$Zoom, 1)), h.$Zoom = 1; var v = t.$Rotate || 0; p.$Rotate = 360 * v, h.$Rotate = 0 } else if (t.$Clip) { var g = { $Top: 0, $Right: c, $Bottom: u, $Left: 0 }, C = d.$Extend({}, g), b = C.$Offset = {}, x = 4 & t.$Clip, S = 8 & t.$Clip, y = 1 & t.$Clip, w = 2 & t.$Clip; x && S ? (b.$Top = u / 2 * m, b.$Bottom = -b.$Top) : x ? b.$Bottom = -u * m : S && (b.$Top = u * m), y && w ? (b.$Left = c / 2 * m, b.$Right = -b.$Left) : y ? b.$Right = -c * m : w && (b.$Left = c * m), a.$Move = t.$Move, p.$Clip = C, h.$Clip = g } var E = 0, T = 0; t.x && (E -= $ * t.x), t.y && (T -= f * t.y), (E || T || a.$Move) && (p.$Left = E, p.$Top = T); var _ = t.$Duration; return h = d.$Extend(h, d.$GetStyles(r, p)), a.$Setter = d.$StyleSetterEx(), new l(t.$Delay, _, a, r, h, p) } function s(e, t) { return d.$Each(t, function (t) { var n, o = t.$Elmt, i = t[0], l = t[1]; if (i && (n = a(o, i), e = n.$Locate(i.$BeginTime == r ? e : i.$BeginTime, 1)), e = s(e, t.$Children), l) { var d = a(o, l, 1); d.$Locate(e, 1), u.$Combine(d), c.$Combine(d) } n && u.$Combine(n) }), e } var c, u = this, $ = o ? t.$PlayInMode : t.$PlayOutMode, f = t.$CaptionTransitions, h = { $Transition: "t", $Delay: "d", $Duration: "du", x: "x", y: "y", $Rotate: "r", $Zoom: "z", $Opacity: "f", $BeginTime: "b" }, p = { $Default: function (e, t) { return isNaN(t.$Value) ? e *= t.$Percent : e = t.$Value, e }, $Opacity: function (e, t) { return this.$Default(e - 1, t) } }; p.$Zoom = p.$Opacity, l.call(u, 0, 0), u.$Revert = function () { u.$GoToPosition(u.$GetPosition_OuterEnd() * (o || 0)), c.$GoToPosition(0) }, c = new l(0, 0), s(0, $ ? i(e, 1) : []) } } (window, document, Math, null, !0, !1), jQuery.easing.jswing = jQuery.easing.swing, jQuery.extend(jQuery.easing, { def: "easeOutQuad", swing: function (e, t, n, o, i) { return jQuery.easing[jQuery.easing.def](e, t, n, o, i) }, easeInQuad: function (e, t, n, o, i) { return o * (t /= i) * t + n }, easeOutQuad: function (e, t, n, o, i) { return -o * (t /= i) * (t - 2) + n }, easeInOutQuad: function (e, t, n, o, i) { return (t /= i / 2) < 1 ? o / 2 * t * t + n : -o / 2 * (--t * (t - 2) - 1) + n }, easeInCubic: function (e, t, n, o, i) { return o * (t /= i) * t * t + n }, easeOutCubic: function (e, t, n, o, i) { return o * ((t = t / i - 1) * t * t + 1) + n }, easeInOutCubic: function (e, t, n, o, i) { return (t /= i / 2) < 1 ? o / 2 * t * t * t + n : o / 2 * ((t -= 2) * t * t + 2) + n }, easeInQuart: function (e, t, n, o, i) { return o * (t /= i) * t * t * t + n }, easeOutQuart: function (e, t, n, o, i) { return -o * ((t = t / i - 1) * t * t * t - 1) + n }, easeInOutQuart: function (e, t, n, o, i) { return (t /= i / 2) < 1 ? o / 2 * t * t * t * t + n : -o / 2 * ((t -= 2) * t * t * t - 2) + n }, easeInQuint: function (e, t, n, o, i) { return o * (t /= i) * t * t * t * t + n }, easeOutQuint: function (e, t, n, o, i) { return o * ((t = t / i - 1) * t * t * t * t + 1) + n }, easeInOutQuint: function (e, t, n, o, i) { return (t /= i / 2) < 1 ? o / 2 * t * t * t * t * t + n : o / 2 * ((t -= 2) * t * t * t * t + 2) + n }, easeInSine: function (e, t, n, o, i) { return -o * Math.cos(t / i * (Math.PI / 2)) + o + n }, easeOutSine: function (e, t, n, o, i) { return o * Math.sin(t / i * (Math.PI / 2)) + n }, easeInOutSine: function (e, t, n, o, i) { return -o / 2 * (Math.cos(Math.PI * t / i) - 1) + n }, easeInExpo: function (e, t, n, o, i) { return 0 == t ? n : o * Math.pow(2, 10 * (t / i - 1)) + n }, easeOutExpo: function (e, t, n, o, i) { return t == i ? n + o : o * (1 - Math.pow(2, -10 * t / i)) + n }, easeInOutExpo: function (e, t, n, o, i) { return 0 == t ? n : t == i ? n + o : (t /= i / 2) < 1 ? o / 2 * Math.pow(2, 10 * (t - 1)) + n : o / 2 * (2 - Math.pow(2, -10 * --t)) + n }, easeInCirc: function (e, t, n, o, i) { return -o * (Math.sqrt(1 - (t /= i) * t) - 1) + n }, easeOutCirc: function (e, t, n, o, i) { return o * Math.sqrt(1 - (t = t / i - 1) * t) + n }, easeInOutCirc: function (e, t, n, o, i) { return (t /= i / 2) < 1 ? -o / 2 * (Math.sqrt(1 - t * t) - 1) + n : o / 2 * (Math.sqrt(1 - (t -= 2) * t) + 1) + n }, easeInElastic: function (e, t, n, o, i) { var a = 1.70158, r = 0, s = o; if (0 == t) return n; if (1 == (t /= i)) return n + o; if (r || (r = .3 * i), s < Math.abs(o)) { s = o; a = r / 4 } else a = r / (2 * Math.PI) * Math.asin(o / s); return -s * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * i - a) * (2 * Math.PI) / r) + n }, easeOutElastic: function (e, t, n, o, i) { var a = 1.70158, r = 0, s = o; if (0 == t) return n; if (1 == (t /= i)) return n + o; if (r || (r = .3 * i), s < Math.abs(o)) { s = o; a = r / 4 } else a = r / (2 * Math.PI) * Math.asin(o / s); return s * Math.pow(2, -10 * t) * Math.sin((t * i - a) * (2 * Math.PI) / r) + o + n }, easeInOutElastic: function (e, t, n, o, i) { var a = 1.70158, r = 0, s = o; if (0 == t) return n; if (2 == (t /= i / 2)) return n + o; if (r || (r = i * (.3 * 1.5)), s < Math.abs(o)) { s = o; a = r / 4 } else a = r / (2 * Math.PI) * Math.asin(o / s); return t < 1 ? s * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * i - a) * (2 * Math.PI) / r) * -.5 + n : s * Math.pow(2, -10 * (t -= 1)) * Math.sin((t * i - a) * (2 * Math.PI) / r) * .5 + o + n }, easeInBack: function (e, t, n, o, i, a) { return void 0 == a && (a = 1.70158), o * (t /= i) * t * ((a + 1) * t - a) + n }, easeOutBack: function (e, t, n, o, i, a) { return void 0 == a && (a = 1.70158), o * ((t = t / i - 1) * t * ((a + 1) * t + a) + 1) + n }, easeInOutBack: function (e, t, n, o, i, a) { return void 0 == a && (a = 1.70158), (t /= i / 2) < 1 ? o / 2 * (t * t * ((1 + (a *= 1.525)) * t - a)) + n : o / 2 * ((t -= 2) * t * ((1 + (a *= 1.525)) * t + a) + 2) + n }, easeInBounce: function (e, t, n, o, i) { return o - jQuery.easing.easeOutBounce(e, i - t, 0, o, i) + n }, easeOutBounce: function (e, t, n, o, i) { return (t /= i) < 1 / 2.75 ? o * (7.5625 * t * t) + n : t < 2 / 2.75 ? o * (7.5625 * (t -= 1.5 / 2.75) * t + .75) + n : t < 2.5 / 2.75 ? o * (7.5625 * (t -= 2.25 / 2.75) * t + .9375) + n : o * (7.5625 * (t -= 2.625 / 2.75) * t + .984375) + n }, easeInOutBounce: function (e, t, n, o, i) { return t < i / 2 ? .5 * jQuery.easing.easeInBounce(e, 2 * t, 0, o, i) + n : .5 * jQuery.easing.easeOutBounce(e, 2 * t - i, 0, o, i) + .5 * o + n } }), function (e) { "undefined" != typeof module && module.exports ? module.exports = e : e(jQuery, window, document) } (function (e) { !function (t) { var n = "function" == typeof define && define.amd, o = "undefined" != typeof module && module.exports, i = "https:" == document.location.protocol ? "https:" : "http:"; n || (o ? require("jquery-mousewheel")(e) : e.event.special.mousewheel || e("head").append(decodeURI("%3Cscript src=" + i + "//cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.13/jquery.mousewheel.min.js%3E%3C/script%3E"))), function () { var t, n = "mCustomScrollbar", o = "mCS", i = ".mCustomScrollbar", a = { setTop: 0, setLeft: 0, axis: "y", scrollbarPosition: "inside", scrollInertia: 950, autoDraggerLength: !0, alwaysShowScrollbar: 0, snapOffset: 0, mouseWheel: { enable: !0, scrollAmount: "auto", axis: "y", deltaFactor: "auto", disableOver: ["select", "option", "keygen", "datalist", "textarea"] }, scrollButtons: { scrollType: "stepless", scrollAmount: "auto" }, keyboard: { enable: !0, scrollType: "stepless", scrollAmount: "auto" }, contentTouchScroll: 25, documentTouchScroll: !0, advanced: { autoScrollOnFocus: "input,textarea,select,button,datalist,keygen,a[tabindex],area,object,[contenteditable='true']", updateOnContentResize: !0, updateOnImageLoad: "auto", autoUpdateTimeout: 60 }, theme: "light", callbacks: { onTotalScrollOffset: 0, onTotalScrollBackOffset: 0, alwaysTriggerOffsets: !0 } }, r = 0, s = {}, l = window.attachEvent && !window.addEventListener ? 1 : 0, c = !1, u = ["mCSB_dragger_onDrag", "mCSB_scrollTools_onDrag", "mCS_img_loaded", "mCS_disabled", "mCS_destroyed", "mCS_no_scrollbar", "mCS-autoHide", "mCS-dir-rtl", "mCS_no_scrollbar_y", "mCS_no_scrollbar_x", "mCS_y_hidden", "mCS_x_hidden", "mCSB_draggerContainer", "mCSB_buttonUp", "mCSB_buttonDown", "mCSB_buttonLeft", "mCSB_buttonRight"], d = { init: function (t) { var t = e.extend(!0, {}, a, t), n = $.call(this); if (t.live) { var l = t.liveSelector || this.selector || i, c = e(l); if ("off" === t.live) return void h(l); s[l] = setTimeout(function () { c.mCustomScrollbar(t), "once" === t.live && c.length && h(l) }, 500) } else h(l); return t.setWidth = t.set_width ? t.set_width : t.setWidth, t.setHeight = t.set_height ? t.set_height : t.setHeight, t.axis = t.horizontalScroll ? "x" : p(t.axis), t.scrollInertia = t.scrollInertia > 0 && t.scrollInertia < 17 ? 17 : t.scrollInertia, "object" != typeof t.mouseWheel && 1 == t.mouseWheel && (t.mouseWheel = { enable: !0, scrollAmount: "auto", axis: "y", preventDefault: !1, deltaFactor: "auto", normalizeDelta: !1, invert: !1 }), t.mouseWheel.scrollAmount = t.mouseWheelPixels ? t.mouseWheelPixels : t.mouseWheel.scrollAmount, t.mouseWheel.normalizeDelta = t.advanced.normalizeMouseWheelDelta ? t.advanced.normalizeMouseWheelDelta : t.mouseWheel.normalizeDelta, t.scrollButtons.scrollType = m(t.scrollButtons.scrollType), f(t), e(n).each(function () { var n = e(this); if (!n.data(o)) { n.data(o, { idx: ++r, opt: t, scrollRatio: { y: null, x: null }, overflowed: null, contentReset: { y: null, x: null }, bindEvents: !1, tweenRunning: !1, sequential: {}, langDir: n.css("direction"), cbOffsets: null, trigger: null, poll: { size: { o: 0, n: 0 }, img: { o: 0, n: 0 }, change: { o: 0, n: 0 } } }); var i = n.data(o), a = i.opt, s = n.data("mcs-axis"), l = n.data("mcs-scrollbar-position"), c = n.data("mcs-theme"); s && (a.axis = s), l && (a.scrollbarPosition = l), c && (a.theme = c, f(a)), v.call(this), i && a.callbacks.onCreate && "function" == typeof a.callbacks.onCreate && a.callbacks.onCreate.call(this), e("#mCSB_" + i.idx + "_container img:not(." + u[2] + ")").addClass(u[2]), d.update.call(null, n) } }) }, update: function (t, n) { var i = t || $.call(this); return e(i).each(function () { var t = e(this); if (t.data(o)) { var i = t.data(o), a = i.opt, r = e("#mCSB_" + i.idx + "_container"), s = e("#mCSB_" + i.idx), l = [e("#mCSB_" + i.idx + "_dragger_vertical"), e("#mCSB_" + i.idx + "_dragger_horizontal")]; if (!r.length) return; i.tweenRunning && U(t), n && i && a.callbacks.onBeforeUpdate && "function" == typeof a.callbacks.onBeforeUpdate && a.callbacks.onBeforeUpdate.call(this), t.hasClass(u[3]) && t.removeClass(u[3]), t.hasClass(u[4]) && t.removeClass(u[4]), s.css("max-height", "none"), s.height() !== t.height() && s.css("max-height", t.height()), C.call(this), "y" === a.axis || a.advanced.autoExpandHorizontalScroll || r.css("width", g(r)), i.overflowed = w.call(this), I.call(this), a.autoDraggerLength && x.call(this), S.call(this), T.call(this); var c = [Math.abs(r[0].offsetTop), Math.abs(r[0].offsetLeft)]; "x" !== a.axis && (i.overflowed[0] ? l[0].height() > l[0].parent().height() ? E.call(this) : (Q(t, c[0].toString(), { dir: "y", dur: 0, overwrite: "none" }), i.contentReset.y = null) : (E.call(this), "y" === a.axis ? _.call(this) : "yx" === a.axis && i.overflowed[1] && Q(t, c[1].toString(), { dir: "x", dur: 0, overwrite: "none" }))), "y" !== a.axis && (i.overflowed[1] ? l[1].width() > l[1].parent().width() ? E.call(this) : (Q(t, c[1].toString(), { dir: "x", dur: 0, overwrite: "none" }), i.contentReset.x = null) : (E.call(this), "x" === a.axis ? _.call(this) : "yx" === a.axis && i.overflowed[0] && Q(t, c[0].toString(), { dir: "y", dur: 0, overwrite: "none" }))), n && i && (2 === n && a.callbacks.onImageLoad && "function" == typeof a.callbacks.onImageLoad ? a.callbacks.onImageLoad.call(this) : 3 === n && a.callbacks.onSelectorChange && "function" == typeof a.callbacks.onSelectorChange ? a.callbacks.onSelectorChange.call(this) : a.callbacks.onUpdate && "function" == typeof a.callbacks.onUpdate && a.callbacks.onUpdate.call(this)), z.call(this) } }) }, scrollTo: function (t, n) { if (void 0 !== t && null != t) { var i = $.call(this); return e(i).each(function () { var i = e(this); if (i.data(o)) { var a = i.data(o), r = a.opt, s = { trigger: "external", scrollInertia: r.scrollInertia, scrollEasing: "mcsEaseInOut", moveDragger: !1, timeout: 60, callbacks: !0, onStart: !0, onUpdate: !0, onComplete: !0 }, l = e.extend(!0, {}, s, n), c = F.call(this, t), u = l.scrollInertia > 0 && l.scrollInertia < 17 ? 17 : l.scrollInertia; c[0] = V.call(this, c[0], "y"), c[1] = V.call(this, c[1], "x"), l.moveDragger && (c[0] *= a.scrollRatio.y, c[1] *= a.scrollRatio.x), l.dur = ne() ? 0 : u, setTimeout(function () { null !== c[0] && void 0 !== c[0] && "x" !== r.axis && a.overflowed[0] && (l.dir = "y", l.overwrite = "all", Q(i, c[0].toString(), l)), null !== c[1] && void 0 !== c[1] && "y" !== r.axis && a.overflowed[1] && (l.dir = "x", l.overwrite = "none", Q(i, c[1].toString(), l)) }, l.timeout) } }) } }, stop: function () { var t = $.call(this); return e(t).each(function () { var t = e(this); t.data(o) && U(t) }) }, disable: function (t) { var n = $.call(this); return e(n).each(function () { var n = e(this); n.data(o) && (n.data(o), z.call(this, "remove"), _.call(this), t && E.call(this), I.call(this, !0), n.addClass(u[3])) }) }, destroy: function () { var t = $.call(this); return e(t).each(function () { var i = e(this); if (i.data(o)) { var a = i.data(o), r = a.opt, s = e("#mCSB_" + a.idx), l = e("#mCSB_" + a.idx + "_container"), c = e(".mCSB_" + a.idx + "_scrollbar"); r.live && h(r.liveSelector || e(t).selector), z.call(this, "remove"), _.call(this), E.call(this), i.removeData(o), Y(this, "mcs"), c.remove(), l.find("img." + u[2]).removeClass(u[2]), s.replaceWith(l.contents()), i.removeClass(n + " _" + o + "_" + a.idx + " " + u[6] + " " + u[7] + " " + u[5] + " " + u[3]).addClass(u[4]) } }) } }, $ = function () { return "object" != typeof e(this) || e(this).length < 1 ? i : this }, f = function (t) { var n = ["rounded", "rounded-dark", "rounded-dots", "rounded-dots-dark"], o = ["rounded-dots", "rounded-dots-dark", "3d", "3d-dark", "3d-thick", "3d-thick-dark", "inset", "inset-dark", "inset-2", "inset-2-dark", "inset-3", "inset-3-dark"], i = ["minimal", "minimal-dark"], a = ["minimal", "minimal-dark"], r = ["minimal", "minimal-dark"]; t.autoDraggerLength = !(e.inArray(t.theme, n) > -1) && t.autoDraggerLength, t.autoExpandScrollbar = !(e.inArray(t.theme, o) > -1) && t.autoExpandScrollbar, t.scrollButtons.enable = !(e.inArray(t.theme, i) > -1) && t.scrollButtons.enable, t.autoHideScrollbar = e.inArray(t.theme, a) > -1 || t.autoHideScrollbar, t.scrollbarPosition = e.inArray(t.theme, r) > -1 ? "outside" : t.scrollbarPosition }, h = function (e) { s[e] && (clearTimeout(s[e]), Y(s, e)) }, p = function (e) { return "yx" === e || "xy" === e || "auto" === e ? "yx" : "x" === e || "horizontal" === e ? "x" : "y" }, m = function (e) { return "stepped" === e || "pixels" === e || "step" === e || "click" === e ? "stepped" : "stepless" }, v = function () { var t = e(this), i = t.data(o), a = i.opt, r = a.autoExpandScrollbar ? " " + u[1] + "_expand" : "", s = ["
", "
"], l = "yx" === a.axis ? "mCSB_vertical_horizontal" : "x" === a.axis ? "mCSB_horizontal" : "mCSB_vertical", c = "yx" === a.axis ? s[0] + s[1] : "x" === a.axis ? s[1] : s[0], d = "yx" === a.axis ? "
" : "", $ = a.autoHideScrollbar ? " " + u[6] : "", f = "x" !== a.axis && "rtl" === i.langDir ? " " + u[7] : ""; a.setWidth && t.css("width", a.setWidth), a.setHeight && t.css("height", a.setHeight), a.setLeft = "y" !== a.axis && "rtl" === i.langDir ? "989999px" : a.setLeft, t.addClass(n + " _" + o + "_" + i.idx + $ + f).wrapInner("
"); var h = e("#mCSB_" + i.idx), p = e("#mCSB_" + i.idx + "_container"); "y" === a.axis || a.advanced.autoExpandHorizontalScroll || p.css("width", g(p)), "outside" === a.scrollbarPosition ? ("static" === t.css("position") && t.css("position", "relative"), t.css("overflow", "visible"), h.addClass("mCSB_outside").after(c)) : (h.addClass("mCSB_inside").append(c), p.wrap(d)), b.call(this); var m = [e("#mCSB_" + i.idx + "_dragger_vertical"), e("#mCSB_" + i.idx + "_dragger_horizontal")]; m[0].css("min-height", m[0].height()), m[1].css("min-width", m[1].width()) }, g = function (t) { var n = [t[0].scrollWidth, Math.max.apply(Math, t.children().map(function () { return e(this).outerWidth(!0) }).get())], o = t.parent().width(); return n[0] > o ? n[0] : n[1] > o ? n[1] : "100%" }, C = function () { var t = e(this).data(o), n = t.opt, i = e("#mCSB_" + t.idx + "_container"); if (n.advanced.autoExpandHorizontalScroll && "y" !== n.axis) { i.css({ width: "auto", "min-width": 0, "overflow-x": "scroll" }); var a = Math.ceil(i[0].scrollWidth); 3 === n.advanced.autoExpandHorizontalScroll || 2 !== n.advanced.autoExpandHorizontalScroll && a > i.parent().width() ? i.css({ width: a, "min-width": "100%", "overflow-x": "inherit" }) : i.css({ "overflow-x": "inherit", position: "absolute" }).wrap("
").css({ width: Math.ceil(i[0].getBoundingClientRect().right + .4) - Math.floor(i[0].getBoundingClientRect().left), "min-width": "100%", position: "relative" }).unwrap() } }, b = function () { var t = e(this).data(o), n = t.opt, i = e(".mCSB_" + t.idx + "_scrollbar:first"), a = ee(n.scrollButtons.tabindex) ? "tabindex='" + n.scrollButtons.tabindex + "'" : "", r = ["", "", "", ""], s = ["x" === n.axis ? r[2] : r[0], "x" === n.axis ? r[3] : r[1], r[2], r[3]]; n.scrollButtons.enable && i.prepend(s[0]).append(s[1]).next(".mCSB_scrollTools").prepend(s[2]).append(s[3]) }, x = function () { var t = e(this).data(o), n = e("#mCSB_" + t.idx), i = e("#mCSB_" + t.idx + "_container"), a = [e("#mCSB_" + t.idx + "_dragger_vertical"), e("#mCSB_" + t.idx + "_dragger_horizontal")], r = [n.height() / i.outerHeight(!1), n.width() / i.outerWidth(!1)], s = [parseInt(a[0].css("min-height")), Math.round(r[0] * a[0].parent().height()), parseInt(a[1].css("min-width")), Math.round(r[1] * a[1].parent().width())], c = l && s[1] < s[0] ? s[0] : s[1], u = l && s[3] < s[2] ? s[2] : s[3]; a[0].css({ height: c, "max-height": a[0].parent().height() - 10 }).find(".mCSB_dragger_bar").css({ "line-height": s[0] + "px" }), a[1].css({ width: u, "max-width": a[1].parent().width() - 10 }) }, S = function () { var t = e(this).data(o), n = e("#mCSB_" + t.idx), i = e("#mCSB_" + t.idx + "_container"), a = [e("#mCSB_" + t.idx + "_dragger_vertical"), e("#mCSB_" + t.idx + "_dragger_horizontal")], r = [i.outerHeight(!1) - n.height(), i.outerWidth(!1) - n.width()], s = [r[0] / (a[0].parent().height() - a[0].height()), r[1] / (a[1].parent().width() - a[1].width())]; t.scrollRatio = { y: s[0], x: s[1] } }, y = function (e, t, n) { var o = n ? u[0] + "_expanded" : "", i = e.closest(".mCSB_scrollTools"); "active" === t ? (e.toggleClass(u[0] + " " + o), i.toggleClass(u[1]), e[0]._draggable = e[0]._draggable ? 0 : 1) : e[0]._draggable || ("hide" === t ? (e.removeClass(u[0]), i.removeClass(u[1])) : (e.addClass(u[0]), i.addClass(u[1]))) }, w = function () { var t = e(this).data(o), n = e("#mCSB_" + t.idx), i = e("#mCSB_" + t.idx + "_container"), a = null == t.overflowed ? i.height() : i.outerHeight(!1), r = null == t.overflowed ? i.width() : i.outerWidth(!1), s = i[0].scrollHeight, l = i[0].scrollWidth; return s > a && (a = s), l > r && (r = l), [a > n.height(), r > n.width()] }, E = function () { var t = e(this), n = t.data(o), i = n.opt, a = e("#mCSB_" + n.idx), r = e("#mCSB_" + n.idx + "_container"), s = [e("#mCSB_" + n.idx + "_dragger_vertical"), e("#mCSB_" + n.idx + "_dragger_horizontal")]; if (U(t), ("x" !== i.axis && !n.overflowed[0] || "y" === i.axis && n.overflowed[0]) && (s[0].add(r).css("top", 0), Q(t, "_resetY")), "y" !== i.axis && !n.overflowed[1] || "x" === i.axis && n.overflowed[1]) { var l = dx = 0; "rtl" === n.langDir && (l = a.width() - r.outerWidth(!1), dx = Math.abs(l / n.scrollRatio.x)), r.css("left", l), s[1].css("left", dx), Q(t, "_resetX") } }, T = function () { function t() { r = setTimeout(function () { e.event.special.mousewheel ? (clearTimeout(r), M.call(n[0])) : t() }, 100) } var n = e(this), i = n.data(o), a = i.opt; if (!i.bindEvents) { if (A.call(this), a.contentTouchScroll && B.call(this), P.call(this), a.mouseWheel.enable) { var r; t() } D.call(this), H.call(this), a.advanced.autoScrollOnFocus && L.call(this), a.scrollButtons.enable && N.call(this), a.keyboard.enable && W.call(this), i.bindEvents = !0 } }, _ = function () { var t = e(this), n = t.data(o), i = n.opt, a = o + "_" + n.idx, r = ".mCSB_" + n.idx + "_scrollbar", s = e("#mCSB_" + n.idx + ",#mCSB_" + n.idx + "_container,#mCSB_" + n.idx + "_container_wrapper," + r + " ." + u[12] + ",#mCSB_" + n.idx + "_dragger_vertical,#mCSB_" + n.idx + "_dragger_horizontal," + r + ">a"), l = e("#mCSB_" + n.idx + "_container"); i.advanced.releaseDraggableSelectors && s.add(e(i.advanced.releaseDraggableSelectors)), i.advanced.extraDraggableSelectors && s.add(e(i.advanced.extraDraggableSelectors)), n.bindEvents && (e(document).add(e(!R() || top.document)).unbind("." + a), s.each(function () { e(this).unbind("." + a) }), clearTimeout(t[0]._focusTimeout), Y(t[0], "_focusTimeout"), clearTimeout(n.sequential.step), Y(n.sequential, "step"), clearTimeout(l[0].onCompleteTimeout), Y(l[0], "onCompleteTimeout"), n.bindEvents = !1) }, I = function (t) { var n = e(this), i = n.data(o), a = i.opt, r = e("#mCSB_" + i.idx + "_container_wrapper"), s = r.length ? r : e("#mCSB_" + i.idx + "_container"), l = [e("#mCSB_" + i.idx + "_scrollbar_vertical"), e("#mCSB_" + i.idx + "_scrollbar_horizontal")], c = [l[0].find(".mCSB_dragger"), l[1].find(".mCSB_dragger")]; "x" !== a.axis && (i.overflowed[0] && !t ? (l[0].add(c[0]).add(l[0].children("a")).css("display", "block"), s.removeClass(u[8] + " " + u[10])) : (a.alwaysShowScrollbar ? (2 !== a.alwaysShowScrollbar && c[0].css("display", "none"), s.removeClass(u[10])) : (l[0].css("display", "none"), s.addClass(u[10])), s.addClass(u[8]))), "y" !== a.axis && (i.overflowed[1] && !t ? (l[1].add(c[1]).add(l[1].children("a")).css("display", "block"), s.removeClass(u[9] + " " + u[11])) : (a.alwaysShowScrollbar ? (2 !== a.alwaysShowScrollbar && c[1].css("display", "none"), s.removeClass(u[11])) : (l[1].css("display", "none"), s.addClass(u[11])), s.addClass(u[9]))), i.overflowed[0] || i.overflowed[1] ? n.removeClass(u[5]) : n.addClass(u[5]) }, O = function (t) { var n = t.type, o = t.target.ownerDocument !== document ? [e(frameElement).offset().top, e(frameElement).offset().left] : null, i = R() && t.target.ownerDocument !== top.document ? [e(t.view.frameElement).offset().top, e(t.view.frameElement).offset().left] : [0, 0]; switch (n) { case "pointerdown": case "MSPointerDown": case "pointermove": case "MSPointerMove": case "pointerup": case "MSPointerUp": return o ? [t.originalEvent.pageY - o[0] + i[0], t.originalEvent.pageX - o[1] + i[1], !1] : [t.originalEvent.pageY, t.originalEvent.pageX, !1]; case "touchstart": case "touchmove": case "touchend": var a = t.originalEvent.touches[0] || t.originalEvent.changedTouches[0], r = t.originalEvent.touches.length || t.originalEvent.changedTouches.length; return t.target.ownerDocument !== document ? [a.screenY, a.screenX, r > 1] : [a.pageY, a.pageX, r > 1]; default: return o ? [t.pageY - o[0] + i[0], t.pageX - o[1] + i[1], !1] : [t.pageY, t.pageX, !1] } }, A = function () { function t(e) { var t = h.find("iframe"); if (t.length) { var n = e ? "auto" : "none"; t.css("pointer-events", n) } } function n(e, t, n, o) { if (h[0].idleTimer = d.scrollInertia < 233 ? 250 : 0, i.attr("id") === f[1]) var a = "x", r = (i[0].offsetLeft - t + o) * u.scrollRatio.x; else var a = "y", r = (i[0].offsetTop - e + n) * u.scrollRatio.y; Q(s, r.toString(), { dir: a, drag: !0 }) } var i, a, r, s = e(this), u = s.data(o), d = u.opt, $ = o + "_" + u.idx, f = ["mCSB_" + u.idx + "_dragger_vertical", "mCSB_" + u.idx + "_dragger_horizontal"], h = e("#mCSB_" + u.idx + "_container"), p = e("#" + f[0] + ",#" + f[1]), m = d.advanced.releaseDraggableSelectors ? p.add(e(d.advanced.releaseDraggableSelectors)) : p, v = d.advanced.extraDraggableSelectors ? e(!R() || top.document).add(e(d.advanced.extraDraggableSelectors)) : e(!R() || top.document); p.bind("mousedown." + $ + " touchstart." + $ + " pointerdown." + $ + " MSPointerDown." + $, function (n) { if (n.stopImmediatePropagation(), n.preventDefault(), J(n)) { c = !0, l && (document.onselectstart = function () { return !1 }), t(!1), U(s); var o = (i = e(this)).offset(), u = O(n)[0] - o.top, $ = O(n)[1] - o.left, f = i.height() + o.top, h = i.width() + o.left; f > u && u > 0 && h > $ && $ > 0 && (a = u, r = $), y(i, "active", d.autoExpandScrollbar) } }).bind("touchmove." + $, function (e) { e.stopImmediatePropagation(), e.preventDefault(); var t = i.offset(), o = O(e)[0] - t.top, s = O(e)[1] - t.left; n(a, r, o, s) }), e(document).add(v).bind("mousemove." + $ + " pointermove." + $ + " MSPointerMove." + $, function (e) { if (i) { var t = i.offset(), o = O(e)[0] - t.top, s = O(e)[1] - t.left; if (a === o && r === s) return; n(a, r, o, s) } }).add(m).bind("mouseup." + $ + " touchend." + $ + " pointerup." + $ + " MSPointerUp." + $, function (e) { i && (y(i, "active", d.autoExpandScrollbar), i = null), c = !1, l && (document.onselectstart = null), t(!0) }) }, B = function () { function n(e) { if (!K(e) || c || O(e)[2]) t = 0; else { t = 1, S = 0, y = 0, u = 1, w.removeClass("mCS_touch_action"); var n = A.offset(); d = O(e)[0] - n.top, $ = O(e)[1] - n.left, L = [O(e)[0], O(e)[1]] } } function i(e) { if (K(e) && !c && !O(e)[2] && (T.documentTouchScroll || e.preventDefault(), e.stopImmediatePropagation(), (!y || S) && u)) { m = X(); var t = I.offset(), n = O(e)[0] - t.top, o = O(e)[1] - t.left, i = "mcsLinearOut"; if (P.push(n), M.push(o), L[2] = Math.abs(O(e)[0] - L[0]), L[3] = Math.abs(O(e)[1] - L[1]), E.overflowed[0]) var a = B[0].parent().height() - B[0].height(), r = d - n > 0 && n - d > -a * E.scrollRatio.y && (2 * L[3] < L[2] || "yx" === T.axis); if (E.overflowed[1]) var s = B[1].parent().width() - B[1].width(), f = $ - o > 0 && o - $ > -s * E.scrollRatio.x && (2 * L[2] < L[3] || "yx" === T.axis); r || f ? (W || e.preventDefault(), S = 1) : (y = 1, w.addClass("mCS_touch_action")), W && e.preventDefault(), b = "yx" === T.axis ? [d - n, $ - o] : "x" === T.axis ? [null, $ - o] : [d - n, null], A[0].idleTimer = 250, E.overflowed[0] && l(b[0], k, i, "y", "all", !0), E.overflowed[1] && l(b[1], k, i, "x", D, !0) } } function a(e) { if (!K(e) || c || O(e)[2]) t = 0; else { t = 1, e.stopImmediatePropagation(), U(w), p = X(); var n = I.offset(); f = O(e)[0] - n.top, h = O(e)[1] - n.left, P = [], M = [] } } function r(e) { if (K(e) && !c && !O(e)[2]) { u = 0, e.stopImmediatePropagation(), S = 0, y = 0, v = X(); var t = I.offset(), n = O(e)[0] - t.top, o = O(e)[1] - t.left; if (!(v - m > 30)) { var i = "mcsEaseOut", a = 2.5 > (C = 1e3 / (v - p)), r = a ? [P[P.length - 2], M[M.length - 2]] : [0, 0]; g = a ? [n - r[0], o - r[1]] : [n - f, o - h]; var d = [Math.abs(g[0]), Math.abs(g[1])]; C = a ? [Math.abs(g[0] / 4), Math.abs(g[1] / 4)] : [C, C]; var $ = [Math.abs(A[0].offsetTop) - g[0] * s(d[0] / C[0], C[0]), Math.abs(A[0].offsetLeft) - g[1] * s(d[1] / C[1], C[1])]; b = "yx" === T.axis ? [$[0], $[1]] : "x" === T.axis ? [null, $[1]] : [$[0], null], x = [4 * d[0] + T.scrollInertia, 4 * d[1] + T.scrollInertia]; var w = parseInt(T.contentTouchScroll) || 0; b[0] = d[0] > w ? b[0] : 0, b[1] = d[1] > w ? b[1] : 0, E.overflowed[0] && l(b[0], x[0], i, "y", D, !1), E.overflowed[1] && l(b[1], x[1], i, "x", D, !1) } } } function s(e, t) { var n = [1.5 * t, 2 * t, t / 1.5, t / 2]; return e > 90 ? t > 4 ? n[0] : n[3] : e > 60 ? t > 3 ? n[3] : n[2] : e > 30 ? t > 8 ? n[1] : t > 6 ? n[0] : t > 4 ? t : n[2] : t > 8 ? t : n[3] } function l(e, t, n, o, i, a) { e && Q(w, e.toString(), { dur: t, scrollEasing: n, dir: o, overwrite: i, drag: a }) } var u, d, $, f, h, p, m, v, g, C, b, x, S, y, w = e(this), E = w.data(o), T = E.opt, _ = o + "_" + E.idx, I = e("#mCSB_" + E.idx), A = e("#mCSB_" + E.idx + "_container"), B = [e("#mCSB_" + E.idx + "_dragger_vertical"), e("#mCSB_" + E.idx + "_dragger_horizontal")], P = [], M = [], k = 0, D = "yx" === T.axis ? "none" : "all", L = [], H = A.find("iframe"), N = ["touchstart." + _ + " pointerdown." + _ + " MSPointerDown." + _, "touchmove." + _ + " pointermove." + _ + " MSPointerMove." + _, "touchend." + _ + " pointerup." + _ + " MSPointerUp." + _], W = void 0 !== document.body.style.touchAction; A.bind(N[0], function (e) { n(e) }).bind(N[1], function (e) { i(e) }), I.bind(N[0], function (e) { a(e) }).bind(N[2], function (e) { r(e) }), H.length && H.each(function () { e(this).load(function () { R(this) && e(this.contentDocument || this.contentWindow.document).bind(N[0], function (e) { n(e), a(e) }).bind(N[1], function (e) { i(e) }).bind(N[2], function (e) { r(e) }) }) }) }, P = function () { function n() { return window.getSelection ? window.getSelection().toString() : document.selection && "Control" != document.selection.type ? document.selection.createRange().text : 0 } function i(e, t, n) { u.type = n && a ? "stepped" : "stepless", u.scrollAmount = 10, G(r, e, t, "mcsLinearOut", n ? 60 : null) } var a, r = e(this), s = r.data(o), l = s.opt, u = s.sequential, d = o + "_" + s.idx, $ = e("#mCSB_" + s.idx + "_container"), f = $.parent(); $.bind("mousedown." + d, function (e) { t || a || (a = 1, c = !0) }).add(document).bind("mousemove." + d, function (e) { if (!t && a && n()) { var o = $.offset(), r = O(e)[0] - o.top + $[0].offsetTop, c = O(e)[1] - o.left + $[0].offsetLeft; r > 0 && r < f.height() && c > 0 && c < f.width() ? u.step && i("off", null, "stepped") : ("x" !== l.axis && s.overflowed[0] && (0 > r ? i("on", 38) : r > f.height() && i("on", 40)), "y" !== l.axis && s.overflowed[1] && (0 > c ? i("on", 37) : c > f.width() && i("on", 39))) } }).bind("mouseup." + d + " dragend." + d, function (e) { t || (a && (a = 0, i("off", null)), c = !1) }) }, M = function () { function t(t, o) { if (U(n), !k(n, t.target)) { var r = "auto" !== a.mouseWheel.deltaFactor ? parseInt(a.mouseWheel.deltaFactor) : l && t.deltaFactor < 100 ? 100 : t.deltaFactor || 100, u = a.scrollInertia; if ("x" === a.axis || "x" === a.mouseWheel.axis) var d = "x", $ = [Math.round(r * i.scrollRatio.x), parseInt(a.mouseWheel.scrollAmount)], f = "auto" !== a.mouseWheel.scrollAmount ? $[1] : $[0] >= s.width() ? .9 * s.width() : $[0], h = Math.abs(e("#mCSB_" + i.idx + "_container")[0].offsetLeft), p = c[1][0].offsetLeft, m = c[1].parent().width() - c[1].width(), v = t.deltaX || t.deltaY || o; else var d = "y", $ = [Math.round(r * i.scrollRatio.y), parseInt(a.mouseWheel.scrollAmount)], f = "auto" !== a.mouseWheel.scrollAmount ? $[1] : $[0] >= s.height() ? .9 * s.height() : $[0], h = Math.abs(e("#mCSB_" + i.idx + "_container")[0].offsetTop), p = c[0][0].offsetTop, m = c[0].parent().height() - c[0].height(), v = t.deltaY || o; "y" === d && !i.overflowed[0] || "x" === d && !i.overflowed[1] || ((a.mouseWheel.invert || t.webkitDirectionInvertedFromDevice) && (v = -v), a.mouseWheel.normalizeDelta && (v = 0 > v ? -1 : 1), (v > 0 && 0 !== p || 0 > v && p !== m || a.mouseWheel.preventDefault) && (t.stopImmediatePropagation(), t.preventDefault()), t.deltaFactor < 2 && !a.mouseWheel.normalizeDelta && (f = t.deltaFactor, u = 17), Q(n, (h - v * f).toString(), { dir: d, dur: u })) } } if (e(this).data(o)) { var n = e(this), i = n.data(o), a = i.opt, r = o + "_" + i.idx, s = e("#mCSB_" + i.idx), c = [e("#mCSB_" + i.idx + "_dragger_vertical"), e("#mCSB_" + i.idx + "_dragger_horizontal")], u = e("#mCSB_" + i.idx + "_container").find("iframe"); u.length && u.each(function () { e(this).load(function () { R(this) && e(this.contentDocument || this.contentWindow.document).bind("mousewheel." + r, function (e, n) { t(e, n) }) }) }), s.bind("mousewheel." + r, function (e, n) { t(e, n) }) } }, R = function (e) { var t = null; if (e) { try { t = (n = e.contentDocument || e.contentWindow.document).body.innerHTML } catch (e) { } return null !== t } try { var n = top.document; t = n.body.innerHTML } catch (e) { } return null !== t }, k = function (t, n) { var i = n.nodeName.toLowerCase(), a = t.data(o).opt.mouseWheel.disableOver, r = ["select", "textarea"]; return e.inArray(i, a) > -1 && !(e.inArray(i, r) > -1 && !e(n).is(":focus")) }, D = function () { var t, n = e(this), i = n.data(o), a = o + "_" + i.idx, r = e("#mCSB_" + i.idx + "_container"), s = r.parent(); e(".mCSB_" + i.idx + "_scrollbar ." + u[12]).bind("mousedown." + a + " touchstart." + a + " pointerdown." + a + " MSPointerDown." + a, function (n) { c = !0, e(n.target).hasClass("mCSB_dragger") || (t = 1) }).bind("touchend." + a + " pointerup." + a + " MSPointerUp." + a, function (e) { c = !1 }).bind("click." + a, function (o) { if (t && (t = 0, e(o.target).hasClass(u[12]) || e(o.target).hasClass("mCSB_draggerRail"))) { U(n); var a = e(this), l = a.find(".mCSB_dragger"); if (a.parent(".mCSB_scrollTools_horizontal").length > 0) { if (!i.overflowed[1]) return; var c = "x", d = o.pageX > l.offset().left ? -1 : 1, $ = Math.abs(r[0].offsetLeft) - d * (.9 * s.width()) } else { if (!i.overflowed[0]) return; var c = "y", d = o.pageY > l.offset().top ? -1 : 1, $ = Math.abs(r[0].offsetTop) - d * (.9 * s.height()) } Q(n, $.toString(), { dir: c, scrollEasing: "mcsEaseInOut" }) } }) }, L = function () { var t = e(this), n = t.data(o), i = n.opt, a = o + "_" + n.idx, r = e("#mCSB_" + n.idx + "_container"), s = r.parent(); r.bind("focusin." + a, function (n) { var o = e(document.activeElement), a = r.find(".mCustomScrollBox").length; o.is(i.advanced.autoScrollOnFocus) && (U(t), clearTimeout(t[0]._focusTimeout), t[0]._focusTimer = a ? 17 * a : 0, t[0]._focusTimeout = setTimeout(function () { var e = [te(o)[0], te(o)[1]], n = [r[0].offsetTop, r[0].offsetLeft], a = [n[0] + e[0] >= 0 && n[0] + e[0] < s.height() - o.outerHeight(!1), n[1] + e[1] >= 0 && n[0] + e[1] < s.width() - o.outerWidth(!1)], l = "yx" !== i.axis || a[0] || a[1] ? "all" : "none"; "x" === i.axis || a[0] || Q(t, e[0].toString(), { dir: "y", scrollEasing: "mcsEaseInOut", overwrite: l, dur: 0 }), "y" === i.axis || a[1] || Q(t, e[1].toString(), { dir: "x", scrollEasing: "mcsEaseInOut", overwrite: l, dur: 0 }) }, t[0]._focusTimer)) }) }, H = function () { var t = e(this).data(o), n = o + "_" + t.idx, i = e("#mCSB_" + t.idx + "_container").parent(); i.bind("scroll." + n, function (n) { (0 !== i.scrollTop() || 0 !== i.scrollLeft()) && e(".mCSB_" + t.idx + "_scrollbar").css("visibility", "hidden") }) }, N = function () { var t = e(this), n = t.data(o), i = n.opt, a = n.sequential, r = o + "_" + n.idx, s = ".mCSB_" + n.idx + "_scrollbar"; e(s + ">a").bind("mousedown." + r + " touchstart." + r + " pointerdown." + r + " MSPointerDown." + r + " mouseup." + r + " touchend." + r + " pointerup." + r + " MSPointerUp." + r + " mouseout." + r + " pointerout." + r + " MSPointerOut." + r + " click." + r, function (o) { function r(e, n) { a.scrollAmount = i.scrollButtons.scrollAmount, G(t, e, n) } if (o.preventDefault(), J(o)) { var s = e(this).attr("class"); switch (a.type = i.scrollButtons.scrollType, o.type) { case "mousedown": case "touchstart": case "pointerdown": case "MSPointerDown": if ("stepped" === a.type) return; c = !0, n.tweenRunning = !1, r("on", s); break; case "mouseup": case "touchend": case "pointerup": case "MSPointerUp": case "mouseout": case "pointerout": case "MSPointerOut": if ("stepped" === a.type) return; c = !1, a.dir && r("off", s); break; case "click": if ("stepped" !== a.type || n.tweenRunning) return; r("on", s) } } }) }, W = function () { function t(t) { function o(e, t) { r.type = a.keyboard.scrollType, r.scrollAmount = a.keyboard.scrollAmount, "stepped" === r.type && i.tweenRunning || G(n, e, t) } switch (t.type) { case "blur": i.tweenRunning && r.dir && o("off", null); break; case "keydown": case "keyup": var s = t.keyCode ? t.keyCode : t.which, l = "on"; if ("x" !== a.axis && (38 === s || 40 === s) || "y" !== a.axis && (37 === s || 39 === s)) { if ((38 === s || 40 === s) && !i.overflowed[0] || (37 === s || 39 === s) && !i.overflowed[1]) return; "keyup" === t.type && (l = "off"), e(document.activeElement).is(d) || (t.preventDefault(), t.stopImmediatePropagation(), o(l, s)) } else if (33 === s || 34 === s) { if ((i.overflowed[0] || i.overflowed[1]) && (t.preventDefault(), t.stopImmediatePropagation()), "keyup" === t.type) { U(n); var $ = 34 === s ? -1 : 1; if ("x" === a.axis || "yx" === a.axis && i.overflowed[1] && !i.overflowed[0]) var f = "x", h = Math.abs(c[0].offsetLeft) - $ * (.9 * u.width()); else var f = "y", h = Math.abs(c[0].offsetTop) - $ * (.9 * u.height()); Q(n, h.toString(), { dir: f, scrollEasing: "mcsEaseInOut" }) } } else if ((35 === s || 36 === s) && !e(document.activeElement).is(d) && ((i.overflowed[0] || i.overflowed[1]) && (t.preventDefault(), t.stopImmediatePropagation()), "keyup" === t.type)) { if ("x" === a.axis || "yx" === a.axis && i.overflowed[1] && !i.overflowed[0]) var f = "x", h = 35 === s ? Math.abs(u.width() - c.outerWidth(!1)) : 0; else var f = "y", h = 35 === s ? Math.abs(u.height() - c.outerHeight(!1)) : 0; Q(n, h.toString(), { dir: f, scrollEasing: "mcsEaseInOut" }) } } } var n = e(this), i = n.data(o), a = i.opt, r = i.sequential, s = o + "_" + i.idx, l = e("#mCSB_" + i.idx), c = e("#mCSB_" + i.idx + "_container"), u = c.parent(), d = "input,textarea,select,datalist,keygen,[contenteditable='true']", $ = c.find("iframe"), f = ["blur." + s + " keydown." + s + " keyup." + s]; $.length && $.each(function () { e(this).load(function () { R(this) && e(this.contentDocument || this.contentWindow.document).bind(f[0], function (e) { t(e) }) }) }), l.attr("tabindex", "0").bind(f[0], function (e) { t(e) }) }, G = function (t, n, i, a, r) { function s(e) { c.snapAmount && (d.scrollAmount = c.snapAmount instanceof Array ? "x" === d.dir[0] ? c.snapAmount[1] : c.snapAmount[0] : c.snapAmount); var n = "stepped" !== d.type, o = r || (e ? n ? h / 1.5 : p : 1e3 / 60), i = e ? n ? 7.5 : 40 : 2.5, u = [Math.abs($[0].offsetTop), Math.abs($[0].offsetLeft)], f = [l.scrollRatio.y > 10 ? 10 : l.scrollRatio.y, l.scrollRatio.x > 10 ? 10 : l.scrollRatio.x], m = "x" === d.dir[0] ? u[1] + d.dir[1] * (f[1] * i) : u[0] + d.dir[1] * (f[0] * i), v = "x" === d.dir[0] ? u[1] + d.dir[1] * parseInt(d.scrollAmount) : u[0] + d.dir[1] * parseInt(d.scrollAmount), g = "auto" !== d.scrollAmount ? v : m, C = a || (e ? n ? "mcsLinearOut" : "mcsEaseInOut" : "mcsLinear"), b = !!e; return e && 17 > o && (g = "x" === d.dir[0] ? u[1] : u[0]), Q(t, g.toString(), { dir: d.dir[0], scrollEasing: C, dur: o, onComplete: b }), e ? void (d.dir = !1) : (clearTimeout(d.step), void (d.step = setTimeout(function () { s() }, o))) } var l = t.data(o), c = l.opt, d = l.sequential, $ = e("#mCSB_" + l.idx + "_container"), f = "stepped" === d.type, h = c.scrollInertia < 26 ? 26 : c.scrollInertia, p = c.scrollInertia < 1 ? 17 : c.scrollInertia; switch (n) { case "on": if (d.dir = [i === u[16] || i === u[15] || 39 === i || 37 === i ? "x" : "y", i === u[13] || i === u[15] || 38 === i || 37 === i ? -1 : 1], U(t), ee(i) && "stepped" === d.type) return; s(f); break; case "off": (function () { clearTimeout(d.step), Y(d, "step"), U(t) })(), (f || l.tweenRunning && d.dir) && s(!0) } }, F = function (t) { var n = e(this).data(o).opt, i = []; return "function" == typeof t && (t = t()), t instanceof Array ? i = t.length > 1 ? [t[0], t[1]] : "x" === n.axis ? [null, t[0]] : [t[0], null] : (i[0] = t.y ? t.y : t.x || "x" === n.axis ? null : t, i[1] = t.x ? t.x : t.y || "y" === n.axis ? null : t), "function" == typeof i[0] && (i[0] = i[0]()), "function" == typeof i[1] && (i[1] = i[1]()), i }, V = function (t, n) { if (null != t && void 0 !== t) { var i = e(this), a = i.data(o), r = a.opt, s = e("#mCSB_" + a.idx + "_container"), l = s.parent(), c = typeof t; n || (n = "x" === r.axis ? "x" : "y"); var u = "x" === n ? s.outerWidth(!1) : s.outerHeight(!1), $ = "x" === n ? s[0].offsetLeft : s[0].offsetTop, f = "x" === n ? "left" : "top"; switch (c) { case "function": return t(); case "object": if (!(p = t.jquery ? t : e(t)).length) return; return "x" === n ? te(p)[1] : te(p)[0]; case "string": case "number": if (ee(t)) return Math.abs(t); if (-1 !== t.indexOf("%")) return Math.abs(u * parseInt(t) / 100); if (-1 !== t.indexOf("-=")) return Math.abs($ - parseInt(t.split("-=")[1])); if (-1 !== t.indexOf("+=")) { var h = $ + parseInt(t.split("+=")[1]); return h >= 0 ? 0 : Math.abs(h) } if (-1 !== t.indexOf("px") && ee(t.split("px")[0])) return Math.abs(t.split("px")[0]); if ("top" === t || "left" === t) return 0; if ("bottom" === t) return Math.abs(l.height() - s.outerHeight(!1)); if ("right" === t) return Math.abs(l.width() - s.outerWidth(!1)); if ("first" === t || "last" === t) { var p = s.find(":" + t); return "x" === n ? te(p)[1] : te(p)[0] } return e(t).length ? "x" === n ? te(e(t))[1] : te(e(t))[0] : (s.css(f, t), void d.update.call(null, i[0])) } } }, z = function (t) { function n() { return clearTimeout($[0].autoUpdate), 0 === s.parents("html").length ? void (s = null) : void ($[0].autoUpdate = setTimeout(function () { return c.advanced.updateOnSelectorChange && (l.poll.change.n = a(), l.poll.change.n !== l.poll.change.o) ? (l.poll.change.o = l.poll.change.n, void r(3)) : c.advanced.updateOnContentResize && (l.poll.size.n = s[0].scrollHeight + s[0].scrollWidth + $[0].offsetHeight + s[0].offsetHeight + s[0].offsetWidth, l.poll.size.n !== l.poll.size.o) ? (l.poll.size.o = l.poll.size.n, void r(1)) : !c.advanced.updateOnImageLoad || "auto" === c.advanced.updateOnImageLoad && "y" === c.axis || (l.poll.img.n = $.find("img").length, l.poll.img.n === l.poll.img.o) ? void ((c.advanced.updateOnSelectorChange || c.advanced.updateOnContentResize || c.advanced.updateOnImageLoad) && n()) : (l.poll.img.o = l.poll.img.n, void $.find("img").each(function () { i(this) })) }, c.advanced.autoUpdateTimeout)) } function i(t) { function n() { this.onload = null, e(t).addClass(u[2]), r(2) } if (e(t).hasClass(u[2])) r(); else { var o = new Image; o.onload = function (e, t) { return function () { return t.apply(e, arguments) } } (o, n), o.src = t.src } } function a() { !0 === c.advanced.updateOnSelectorChange && (c.advanced.updateOnSelectorChange = "*"); var e = 0, t = $.find(c.advanced.updateOnSelectorChange); return c.advanced.updateOnSelectorChange && t.length > 0 && t.each(function () { e += this.offsetHeight + this.offsetWidth }), e } function r(e) { clearTimeout($[0].autoUpdate), d.update.call(null, s[0], e) } var s = e(this), l = s.data(o), c = l.opt, $ = e("#mCSB_" + l.idx + "_container"); return t ? (clearTimeout($[0].autoUpdate), void Y($[0], "autoUpdate")) : void n() }, j = function (e, t, n) { return Math.round(e / t) * t - n }, U = function (t) { var n = t.data(o); e("#mCSB_" + n.idx + "_container,#mCSB_" + n.idx + "_container_wrapper,#mCSB_" + n.idx + "_dragger_vertical,#mCSB_" + n.idx + "_dragger_horizontal").each(function () { q.call(this) }) }, Q = function (t, n, i) { function a(e) { return l && c.callbacks[e] && "function" == typeof c.callbacks[e] } function r() { return [c.callbacks.alwaysTriggerOffsets || b >= x[0] + w, c.callbacks.alwaysTriggerOffsets || -E >= b] } function s() { var e = [f[0].offsetTop, f[0].offsetLeft], n = [g[0].offsetTop, g[0].offsetLeft], o = [f.outerHeight(!1), f.outerWidth(!1)], a = [$.height(), $.width()]; t[0].mcs = { content: f, top: e[0], left: e[1], draggerTop: n[0], draggerLeft: n[1], topPct: Math.round(100 * Math.abs(e[0]) / (Math.abs(o[0]) - a[0])), leftPct: Math.round(100 * Math.abs(e[1]) / (Math.abs(o[1]) - a[1])), direction: i.dir } } var l = t.data(o), c = l.opt, u = { trigger: "internal", dir: "y", scrollEasing: "mcsEaseOut", drag: !1, dur: c.scrollInertia, overwrite: "all", callbacks: !0, onStart: !0, onUpdate: !0, onComplete: !0 }, d = [(i = e.extend(u, i)).dur, i.drag ? 0 : i.dur], $ = e("#mCSB_" + l.idx), f = e("#mCSB_" + l.idx + "_container"), h = f.parent(), p = c.callbacks.onTotalScrollOffset ? F.call(t, c.callbacks.onTotalScrollOffset) : [0, 0], m = c.callbacks.onTotalScrollBackOffset ? F.call(t, c.callbacks.onTotalScrollBackOffset) : [0, 0]; if (l.trigger = i.trigger, (0 !== h.scrollTop() || 0 !== h.scrollLeft()) && (e(".mCSB_" + l.idx + "_scrollbar").css("visibility", "visible"), h.scrollTop(0).scrollLeft(0)), "_resetY" !== n || l.contentReset.y || (a("onOverflowYNone") && c.callbacks.onOverflowYNone.call(t[0]), l.contentReset.y = 1), "_resetX" !== n || l.contentReset.x || (a("onOverflowXNone") && c.callbacks.onOverflowXNone.call(t[0]), l.contentReset.x = 1), "_resetY" !== n && "_resetX" !== n) { if (!l.contentReset.y && t[0].mcs || !l.overflowed[0] || (a("onOverflowY") && c.callbacks.onOverflowY.call(t[0]), l.contentReset.x = null), !l.contentReset.x && t[0].mcs || !l.overflowed[1] || (a("onOverflowX") && c.callbacks.onOverflowX.call(t[0]), l.contentReset.x = null), c.snapAmount) { var v = c.snapAmount instanceof Array ? "x" === i.dir ? c.snapAmount[1] : c.snapAmount[0] : c.snapAmount; n = j(n, v, c.snapOffset) } switch (i.dir) { case "x": var g = e("#mCSB_" + l.idx + "_dragger_horizontal"), C = "left", b = f[0].offsetLeft, x = [$.width() - f.outerWidth(!1), g.parent().width() - g.width()], S = [n, 0 === n ? 0 : n / l.scrollRatio.x], w = p[1], E = m[1], T = w > 0 ? w / l.scrollRatio.x : 0, _ = E > 0 ? E / l.scrollRatio.x : 0; break; case "y": var g = e("#mCSB_" + l.idx + "_dragger_vertical"), C = "top", b = f[0].offsetTop, x = [$.height() - f.outerHeight(!1), g.parent().height() - g.height()], S = [n, 0 === n ? 0 : n / l.scrollRatio.y], w = p[0], E = m[0], T = w > 0 ? w / l.scrollRatio.y : 0, _ = E > 0 ? E / l.scrollRatio.y : 0 } S[1] < 0 || 0 === S[0] && 0 === S[1] ? S = [0, 0] : S[1] >= x[1] ? S = [x[0], x[1]] : S[0] = -S[0], t[0].mcs || (s(), a("onInit") && c.callbacks.onInit.call(t[0])), clearTimeout(f[0].onCompleteTimeout), Z(g[0], C, Math.round(S[1]), d[1], i.scrollEasing), (l.tweenRunning || !(0 === b && S[0] >= 0 || b === x[0] && S[0] <= x[0])) && Z(f[0], C, Math.round(S[0]), d[0], i.scrollEasing, i.overwrite, { onStart: function () { i.callbacks && i.onStart && !l.tweenRunning && (a("onScrollStart") && (s(), c.callbacks.onScrollStart.call(t[0])), l.tweenRunning = !0, y(g), l.cbOffsets = r()) }, onUpdate: function () { i.callbacks && i.onUpdate && a("whileScrolling") && (s(), c.callbacks.whileScrolling.call(t[0])) }, onComplete: function () { if (i.callbacks && i.onComplete) { "yx" === c.axis && clearTimeout(f[0].onCompleteTimeout); var e = f[0].idleTimer || 0; f[0].onCompleteTimeout = setTimeout(function () { a("onScroll") && (s(), c.callbacks.onScroll.call(t[0])), a("onTotalScroll") && S[1] >= x[1] - T && l.cbOffsets[0] && (s(), c.callbacks.onTotalScroll.call(t[0])), a("onTotalScrollBack") && S[1] <= _ && l.cbOffsets[1] && (s(), c.callbacks.onTotalScrollBack.call(t[0])), l.tweenRunning = !1, f[0].idleTimer = 0, y(g, "hide") }, e) } } }) } }, Z = function (e, t, n, o, i, a, r) { function s() { C.stop || (m || $.call(), m = X() - p, l(), m >= C.time && (C.time = m > C.time ? m + u - (m - C.time) : m + u - 1, C.time < m + 1 && (C.time = m + 1)), C.time < o ? C.id = d(s) : h.call()) } function l() { o > 0 ? (C.currVal = c(C.time, v, b, o, i), g[t] = Math.round(C.currVal) + "px") : g[t] = n + "px", f.call() } function c(e, t, n, o, i) { switch (i) { case "linear": case "mcsLinear": return n * e / o + t; case "mcsLinearOut": return e /= o, e--, n * Math.sqrt(1 - e * e) + t; case "easeInOutSmooth": return e /= o / 2, 1 > e ? n / 2 * e * e + t : (e--, -n / 2 * (e * (e - 2) - 1) + t); case "easeInOutStrong": return e /= o / 2, 1 > e ? n / 2 * Math.pow(2, 10 * (e - 1)) + t : (e--, n / 2 * (2 - Math.pow(2, -10 * e)) + t); case "easeInOut": case "mcsEaseInOut": return e /= o / 2, 1 > e ? n / 2 * e * e * e + t : (e -= 2, n / 2 * (e * e * e + 2) + t); case "easeOutSmooth": return e /= o, e--, -n * (e * e * e * e - 1) + t; case "easeOutStrong": return n * (1 - Math.pow(2, -10 * e / o)) + t; case "easeOut": case "mcsEaseOut": default: var a = (e /= o) * e, r = a * e; return t + n * (.499999999999997 * r * a + -2.5 * a * a + 5.5 * r + -6.5 * a + 4 * e) } } e._mTween || (e._mTween = { top: {}, left: {} }); var u, d, $ = (r = r || {}).onStart || function () { }, f = r.onUpdate || function () { }, h = r.onComplete || function () { }, p = X(), m = 0, v = e.offsetTop, g = e.style, C = e._mTween[t]; "left" === t && (v = e.offsetLeft); var b = n - v; C.stop = 0, "none" !== a && function () { null != C.id && (window.requestAnimationFrame ? window.cancelAnimationFrame(C.id) : clearTimeout(C.id), C.id = null) } (), function () { u = 1e3 / 60, C.time = m + u, d = window.requestAnimationFrame ? window.requestAnimationFrame : function (e) { return l(), setTimeout(e, .01) }, C.id = d(s) } () }, X = function () { return window.performance && window.performance.now ? window.performance.now() : window.performance && window.performance.webkitNow ? window.performance.webkitNow() : Date.now ? Date.now() : (new Date).getTime() }, q = function () { var e = this; e._mTween || (e._mTween = { top: {}, left: {} }); for (var t = ["top", "left"], n = 0; n < t.length; n++) { var o = t[n]; e._mTween[o].id && (window.requestAnimationFrame ? window.cancelAnimationFrame(e._mTween[o].id) : clearTimeout(e._mTween[o].id), e._mTween[o].id = null, e._mTween[o].stop = 1) } }, Y = function (e, t) { try { delete e[t] } catch (n) { e[t] = null } }, J = function (e) { return !(e.which && 1 !== e.which) }, K = function (e) { var t = e.originalEvent.pointerType; return !(t && "touch" !== t && 2 !== t) }, ee = function (e) { return !isNaN(parseFloat(e)) && isFinite(e) }, te = function (e) { var t = e.parents(".mCSB_container"); return [e.offset().top - t.offset().top, e.offset().left - t.offset().left] }, ne = function () { var e = function () { var e = ["webkit", "moz", "ms", "o"]; if ("hidden" in document) return "hidden"; for (var t = 0; t < e.length; t++) if (e[t] + "Hidden" in document) return e[t] + "Hidden"; return null } (); return !!e && document[e] }; e.fn[n] = function (t) { return d[t] ? d[t].apply(this, Array.prototype.slice.call(arguments, 1)) : "object" != typeof t && t ? void e.error("Method " + t + " does not exist") : d.init.apply(this, arguments) }, e[n] = function (t) { return d[t] ? d[t].apply(this, Array.prototype.slice.call(arguments, 1)) : "object" != typeof t && t ? void e.error("Method " + t + " does not exist") : d.init.apply(this, arguments) }, e[n].defaults = a, window[n] = !0, e(window).load(function () { e(i)[n](), e.extend(e.expr[":"], { mcsInView: e.expr[":"].mcsInView || function (t) { var n, o, i = e(t), a = i.parents(".mCSB_container"); if (a.length) return n = a.parent(), (o = [a[0].offsetTop, a[0].offsetLeft])[0] + te(i)[0] >= 0 && o[0] + te(i)[0] < n.height() - i.outerHeight(!1) && o[1] + te(i)[1] >= 0 && o[1] + te(i)[1] < n.width() - i.outerWidth(!1) }, mcsOverflow: e.expr[":"].mcsOverflow || function (t) { var n = e(t).data(o); if (n) return n.overflowed[0] || n.overflowed[1] } }) }) } () } () }), ddtabcontent.getCookie = function (e) { var t = new RegExp(e + "=[^;]+", "i"); return document.cookie.match(t) ? document.cookie.match(t)[0].split("=")[1] : "" }, ddtabcontent.setCookie = function (e, t) { document.cookie = e + "=" + t + ";path=/" }, ddtabcontent.prototype = { expandit: function (e) { this.cancelautorun(); var t = ""; try { "string" == typeof e && document.getElementById(e).getAttribute("rel") ? t = document.getElementById(e) : NaN != parseInt(e) && this.tabs[e].getAttribute("rel") && (t = this.tabs[e]) } catch (e) { alert("Invalid Tab ID or position entered!") } "" != t && this.expandtab(t) }, cycleit: function (e, t) { if ("next" == e) n = this.currentTabIndex < this.hottabspositions.length - 1 ? this.currentTabIndex + 1 : 0; else if ("prev" == e) var n = this.currentTabIndex > 0 ? this.currentTabIndex - 1 : this.hottabspositions.length - 1; void 0 === t && this.cancelautorun(), this.expandtab(this.tabs[this.hottabspositions[n]]) }, setpersist: function (e) { this.enabletabpersistence = e }, setselectedClassTarget: function (e) { this.selectedClassTarget = e || "link" }, getselectedClassTarget: function (e) { return this.selectedClassTarget == "linkparent".toLowerCase() ? e.parentNode : e }, urlparamselect: function (e) { return null == window.location.search.match(new RegExp(e + "=(\\d+)", "i")) ? null : parseInt(RegExp.$1) }, expandtab: function (e) { var t = e.getAttribute("rel"), n = e.getAttribute("rev") ? "," + e.getAttribute("rev").replace(/\s+/, "") + "," : ""; this.expandsubcontent(t), this.expandrevcontent(n); for (var o = 0; o < this.tabs.length; o++) this.getselectedClassTarget(this.tabs[o]).className = this.tabs[o].getAttribute("rel") == t ? "selected" : ""; this.enabletabpersistence && ddtabcontent.setCookie(this.tabinterfaceid, e.tabposition), this.setcurrenttabindex(e.tabposition) }, expandsubcontent: function (e) { for (var t = 0; t < this.subcontentids.length; t++) { var n = document.getElementById(this.subcontentids[t]); n.style.display = n.id == e ? "block" : "none" } }, expandrevcontent: function (e) { for (var t = this.revcontentids, n = 0; n < t.length; n++) document.getElementById(t[n]).style.display = -1 != e.indexOf("," + t[n] + ",") ? "block" : "none" }, setcurrenttabindex: function (e) { for (var t = 0; t < this.hottabspositions.length; t++) if (e == this.hottabspositions[t]) { this.currentTabIndex = t; break } }, autorun: function () { this.cycleit("next", !0) }, cancelautorun: function () { void 0 !== this.autoruntimer && clearInterval(this.autoruntimer) }, init: function (e) { var t = ddtabcontent.getCookie(this.tabinterfaceid), n = -1, o = this.urlparamselect(this.tabinterfaceid); this.automodeperiod = e || 0; for (var i = 0; i < this.tabs.length; i++) if (this.tabs[i].tabposition = i, this.tabs[i].getAttribute("rel")) { var a = this; this.hottabspositions[this.hottabspositions.length] = i, this.subcontentids[this.subcontentids.length] = this.tabs[i].getAttribute("rel"), this.tabs[i].onclick = function () { return a.expandtab(this), a.cancelautorun(), !1 }, this.tabs[i].getAttribute("rev") && (this.revcontentids = this.revcontentids.concat(this.tabs[i].getAttribute("rev").split(/\s*,\s*/))), (o == i || this.enabletabpersistence && -1 == n && parseInt(t) == i || !this.enabletabpersistence && -1 == n && "selected" == this.getselectedClassTarget(this.tabs[i]).className) && (n = i) } -1 != n ? this.expandtab(this.tabs[n]) : this.expandtab(this.tabs[this.hottabspositions[0]]), parseInt(this.automodeperiod) > 500 && this.hottabspositions.length > 1 && (this.autoruntimer = setInterval(function () { a.autorun() }, this.automodeperiod)) } },$(document).ready(function () { !function (e) { e(window).load(function () { e("#content-1").mCustomScrollbar({ axis: "x", advanced: { autoExpandHorizontalScroll: !0 } }) }) }(jQuery); if ($( '#countrytabs' ).length > 0) { var e = new ddtabcontent("countrytabs"); e.setpersist(!0), e.setselectedClassTarget("link"), e.init() } }); $(document).ready(function () { if ($(window).width() <= 767) { $("#News-article .column.three-Supplement").css("height", "auto"); } else { $("#News-article .column.three-Supplement").height($("#News-article .column.three .articles").height()); } $(window).resize(function () { if ($(window).width() <= 767) { $("#News-article .column.three-Supplement").css("height", "auto"); } else { $("#News-article .column.three-Supplement").height($("#News-article .column.three .articles").height()); } }); }); // menu-responsive $(document).ready(function () { var Flag = 0; $('.mega-menu .cdd0_main_menu li ').each(function () { if ($(this).find('.imsubc').length > 0) { $(this).addClass('hassubmenu') } }) function MenuResponsive() { if (window.matchMedia("(max-width: 768px)").matches && !Flag) { $('.mega-menu .cdd0_main_menu > li>a').click(function () { $('.cdd0_main_menu> li >a').not(this).parent().children('.imsc').children('.imsubc').css('display','none') $('.cdd0_main_menu> li> a').not(this).parent().removeClass('submenuisopen') $(this).parent().toggleClass('submenuisopen'); $(this).parent().children('.imsc').children('.imsubc').fadeToggle(); }) $('.mega-menu .cdd0_main_menu .cdd0_sub_menu > li >a').click(function () { $('.mega-menu .cdd0_main_menu .cdd0_sub_menu > li >a').not(this).parent().children('.imsc').children('.imsubc').css('display','none') $('.mega-menu .cdd0_main_menu .cdd0_sub_menu > li> a').not(this).parent().removeClass('submenuisopen') $(this).parent().toggleClass('submenuisopen') $(this).parent().children('.imsc').children('.imsubc').fadeToggle(); }); Flag = 1; } else { $('.mega-menu .cdd0_main_menu li .imsubc').css('display', ''); } } MenuResponsive(); $(window).resize(function () { $('.mega-menu .cdd0_main_menu li .imsubc').slideUp(); $('.mega-menu .cdd0_main_menu li ').removeClass('submenuisopen') MenuResponsive(); }) })