PageSourceSearch

https://www.modlily.com/themes/trade-n/js/jquery.flexslider.min.js?ver=20251201055102

js modlily.com collected 2026-10-01 13:53:04 UTC 54,167 bytes, 892 lines download raw bytes

vendor: 4,928 bytes, lines 1-69
1!
2function(a) {
3	a.flexslider = function(b, c) {
4		var d = a(b);
5		d.vars = a.extend({}, a.flexslider.defaults, c);
6		var j, e = d.vars.namespace,
7			f = window.navigator && window.navigator.msPointerEnabled && window.MSGesture,
8			g = ("ontouchstart" in window || f || window.DocumentTouch && document instanceof DocumentTouch) && d.vars.touch,
9			h = "click touchend MSPointerUp",
10			i = "",
11			k = "vertical" === d.vars.direction,
12			l = d.vars.reverse,
13			m = d.vars.itemWidth > 0,
14			n = "fade" === d.vars.animation,
15			o = "" !== d.vars.asNavFor,
16			p = {},
17			q = !0;
18		a.data(b, "flexslider", d), p = {
19			init: function() {
20				d.animating = !1, d.currentSlide = parseInt(d.vars.startAt ? d.vars.startAt : 0, 10), isNaN(d.currentSlide) && (d.currentSlide = 0), d.animatingTo = d.currentSlide, d.atEnd = 0 === d.currentSlide || d.currentSlide === d.last, d.containerSelector = d.vars.selector.substr(0, d.vars.selector.search(" ")), d.slides = a(d.vars.selector, d), d.container = a(d.containerSelector, d), d.count = d.slides.length, d.syncExists = a(d.vars.sync).length > 0, "slide" === d.vars.animation && (d.vars.animation = "swing"), d.prop = k ? "top" : "marginLeft", d.args = {}, d.manualPause = !1, d.stopped = !1, d.started = !1, d.startTimeout = null, d.transitions = !d.vars.video && !n && d.vars.useCSS &&
21				function() {
22					var a = document.createElement("div"),
23						b = ["perspectiveProperty", "WebkitPerspective", "MozPerspective", "OPerspective", "msPerspective"];
24					for (var c in b) if (void 0 !== a.style[b[c]]) return d.pfx = b[c].replace("Perspective", "").toLowerCase(), d.prop = "-" + d.pfx + "-transform", !0;
25					return !1
26				}(), "" !== d.vars.controlsContainer && (d.controlsContainer = a(d.vars.controlsContainer).length > 0 && a(d.vars.controlsContainer)), "" !== d.vars.manualControls && (d.manualControls = a(d.vars.manualControls).length > 0 && a(d.vars.manualControls)), d.vars.randomize && (d.slides.sort(function() {
27					return Math.round(Math.random()) - .5
28				}), d.container.empty().append(d.slides)), d.doMath(), d.setup("init"), d.vars.controlNav && p.controlNav.setup(), d.vars.directionNav && p.directionNav.setup(), d.vars.keyboard && (1 === a(d.containerSelector).length || d.vars.multipleKeyboard) && a(document).bind("keyup", function(a) {
29					var b = a.keyCode;
30					if (!d.animating && (39 === b || 37 === b)) {
31						var c = 39 === b ? d.getTarget("next") : 37 === b ? d.getTarget("prev") : !1;
32						d.flexAnimate(c, d.vars.pauseOnAction)
33					}
34				}), d.vars.mousewheel && d.bind("mousewheel", function(a, b) {
35					a.preventDefault();
36					var f = 0 > b ? d.getTarget("next") : d.getTarget("prev");
37					d.flexAnimate(f, d.vars.pauseOnAction)
38				}), d.vars.pausePlay && p.pausePlay.setup(), d.vars.slideshow && d.vars.pauseInvisible && p.pauseInvisible.init(), d.vars.slideshow && (d.vars.pauseOnHover && d.hover(function() {
39					!d.manualPlay && !d.manualPause && d.pause()
40				}, function() {
41					!d.manualPause && !d.manualPlay && !d.stopped && d.play()
42				}), d.vars.pauseInvisible && p.pauseInvisible.isHidden() || (d.vars.initDelay > 0 ? d.startTimeout = setTimeout(d.play, d.vars.initDelay) : d.play())), o && p.asNav.setup(), g && d.vars.touch && p.touch(), (!n || n && d.vars.smoothHeight) && a(window).bind("resize orientationchange focus", p.resize), d.find("img").attr("draggable", "false"), setTimeout(function() {
43					d.vars.start(d)
44				}, 200)
45			},
46			asNav: {
47				setup: function() {
48					d.asNav = !0, d.animatingTo = Math.floor(d.currentSlide / d.move), d.currentItem = d.currentSlide, d.slides.removeClass(e + "active-slide").eq(d.currentItem).addClass(e + "active-slide"), f ? (b._slider = d, d.slides.each(function() {
49						var b = this;
50						b._gesture = new MSGesture, b._gesture.target = b, b.addEventListener("MSPointerDown", function(a) {
51							a.preventDefault(), a.currentTarget._gesture && a.currentTarget._gesture.addPointer(a.pointerId)
52						}, !1), b.addEventListener("MSGestureTap", function(b) {
53							b.preventDefault();
54							var c = a(this),
55								e = c.index();
56							a(d.vars.asNavFor).data("flexslider").animating || c.hasClass("active") || (d.direction = d.currentItem < e ? "next" : "prev", d.flexAnimate(e, d.vars.pauseOnAction, !1, !0, !0))
57						})
58					})) : d.slides.on(h, function(b) {
59						b.preventDefault();
60						var c = a(this),
61							f = c.index(),
62							g = c.offset().left - a(d).scrollLeft();
63						0 >= g && c.hasClass(e + "active-slide") ? d.flexAnimate(d.getTarget("prev"), !0) : a(d.vars.asNavFor).data("flexslider").animating || c.hasClass(e + "active-slide") || (d.direction = d.currentItem < f ? "next" : "prev", d.flexAnimate(f, d.vars.pauseOnAction, !1, !0, !0))
64					})
65				}
66			},
67			controlNav: {
68				setup: function() {
69					d.manualControls ? p.controlNav.setupManual() : p.controlNav.setupPaging(
69)
70				},
71				setupPaging: function() {
72					var f, g, b = "thumbnails" === d.vars.controlNav ? "control-thumbs" : "control-paging",
73						c = 1;
74					if (d.controlNavScaffold = a('<ol class="' + e + "control-nav " + e + b + '"></ol>'), d.pagingCount > 1) for (var j = 0; j < d.pagingCount; j++) {
75						if (g = d.slides.eq(j), f = "thumbnails" === d.vars.controlNav ? '<img src="' + g.attr("data-thumb") + '"/>' : "<a>" + c + "</a>", "thumbnails" === d.vars.controlNav && !0 === d.vars.thumbCaptions) {
76							var k = g.attr("data-thumbcaption");
77							"" != k && void 0 != k && (f += '<span class="' + e + 'caption">' + k + "</span>")
78						}
79						d.controlNavScaffold.append("<li>" + f + "</li>"), c++
80					}
81					d.controlsContainer ? a(d.controlsContainer).append(d.controlNavScaffold) : d.append(d.controlNavScaffold), p.controlNav.set(), p.controlNav.active(), d.controlNavScaffold.delegate("a, img", h, function(b) {
82						if (b.preventDefault(), "" === i || i === b.type) {
83							var c = a(this),
84								f = d.controlNav.index(c);
85							c.hasClass(e + "active") || (d.direction = f > d.currentSlide ? "next" : "prev", d.flexAnimate(f, d.vars.pauseOnAction))
86						}
87						"" === i && (i = b.type), p.setToClearWatchedEvent()
88					})
89				},
90				setupManual: function() {
91					d.controlNav = d.manualControls, p.controlNav.active(), d.controlNav.bind(h, function(b) {
92						if (b.preventDefault(), "" === i || i === b.type) {
93							var c = a(this),
94								f = d.controlNav.index(c);
95							c.hasClass(e + "active") || (d.direction = f > d.currentSlide ? "next" : "prev", d.flexAnimate(f, d.vars.pauseOnAction))
96						}
97						"" === i && (i = b.type), p.setToClearWatchedEvent()
98					})
99				},
100				set: function() {
101					var b = "thumbnails" === d.vars.controlNav ? "img" : "a";
102					d.controlNav = a("." + e + "control-nav li " + b, d.controlsContainer ? d.controlsContainer : d)
103				},
104				active: function() {
105					d.controlNav.removeClass(e + "active").eq(d.animatingTo).addClass(e + "active")
106				},
107				update: function(b, c) {
108					d.pagingCount > 1 && "add" === b ? d.controlNavScaffold.append(a("<li><a>" + d.count + "</a></li>")) : 1 === d.pagingCount ? d.controlNavScaffold.find("li").remove() : d.controlNav.eq(c).closest("li").remove(), p.controlNav.set(), d.pagingCount > 1 && d.pagingCount !== d.controlNav.length ? d.update(c, b) : p.controlNav.active()
109				}
110			},
111			directionNav: {
112				setup: function() {
113					if(d.pagingCount > 1)
114					{
115					var b = a('<ul class="' + e + 'direction-nav"><li><a class="' + e + 'prev" href="#">' + d.vars.prevText + '</a></li><li><a class="' + e + 'next" href="#">' + d.vars.nextText + "</a></li></ul>");
116					d.controlsContainer ? (a(d.controlsContainer).append(b), d.directionNav = a("." + e + "direction-nav li a", d.controlsContainer)) : (d.append(b), d.directionNav = a("." + e + "direction-nav li a", d)), p.directionNav.update(), d.directionNav.bind(h, function(b) {
117						b.preventDefault();
118						var c;
119						("" === i || i === b.type) && (c = a(this).hasClass(e + "next") ? d.getTarget("next") : d.getTarget("prev"), d.flexAnimate(c, d.vars.pauseOnAction)), "" === i && (i = b.type), p.setToClearWatchedEvent()
120					})
121					}
122				},
123				update: function() {
124					var a = e + "disabled";
125					1 === d.pagingCount ? d.directionNav.addClass(a).attr("tabindex", "-1") : d.vars.animationLoop ? d.directionNav.removeClass(a).removeAttr("tabindex") : 0 === d.animatingTo ? d.directionNav.removeClass(a).filter("." + e + "prev").addClass(a).attr("tabindex", "-1") : d.animatingTo === d.last ? d.directionNav.removeClass(a).filter("." + e + "next").addClass(a).attr("tabindex", "-1") : d.directionNav.removeClass(a).removeAttr("tabindex")
126				}
127			},
128			pausePlay: {
129				setup: function() {
130					var b = a('<div class="' + e + 'pauseplay"><a></a></div>');
131					d.controlsContainer ? (d.controlsContainer.append(b), d.pausePlay = a("." + e + "pauseplay a", d.controlsContainer)) : (d.append(b), d.pausePlay = a("." + e + "pauseplay a", d)), p.pausePlay.update(d.vars.slideshow ? e + "pause" : e + "play"), d.pausePlay.bind(h, function(b) {
132						b.preventDefault(), ("" === i || i === b.type) && (a(this).hasClass(e + "pause") ? (d.manualPause = !0, d.manualPlay 
vendor: 34,071 bytes, lines 132-693
132= !1, d.pause()) : (d.manualPause = !1, d.manualPlay = !0, d.play())), "" === i && (i = b.type), p.setToClearWatchedEvent()
133					})
134				},
135				update: function(a) {
136					"play" === a ? d.pausePlay.removeClass(e + "pause").addClass(e + "play").html(d.vars.playText) : d.pausePlay.removeClass(e + "play").addClass(e + "pause").html(d.vars.pauseText)
137				}
138			},
139			touch: function() {
140				function r(f) {
141					d.animating ? f.preventDefault() : (window.navigator.msPointerEnabled || 1 === f.touches.length) && (d.pause(), g = k ? d.h : d.w, i = Number(new Date), o = f.touches[0].pageX, p = f.touches[0].pageY, e = m && l && d.animatingTo === d.last ? 0 : m && l ? d.limit - (d.itemW + d.vars.itemMargin) * d.move * d.animatingTo : m && d.currentSlide === d.last ? d.limit : m ? (d.itemW + d.vars.itemMargin) * d.move * d.currentSlide : l ? (d.last - d.currentSlide + d.cloneOffset) * g : (d.currentSlide + d.cloneOffset) * g, a = k ? p : o, c = k ? o : p, b.addEventListener("touchmove", s, !1), b.addEventListener("touchend", t, !1))
142				}
143				function s(b) {
144					o = b.touches[0].pageX, p = b.touches[0].pageY, h = k ? a - p : a - o, j = k ? Math.abs(h) < Math.abs(o - c) : Math.abs(h) < Math.abs(p - c);
145					var f = 500;
146					(!j || Number(new Date) - i > f) && (b.preventDefault(), !n && d.transitions && (d.vars.animationLoop || (h /= 0 === d.currentSlide && 0 > h || d.currentSlide === d.last && h > 0 ? Math.abs(h) / g + 2 : 1), d.setProps(e + h, "setTouch")))
147				}
148				function t() {
149					if (b.removeEventListener("touchmove", s, !1), d.animatingTo === d.currentSlide && !j && null !== h) {
150						var k = l ? -h : h,
151							m = k > 0 ? d.getTarget("next") : d.getTarget("prev");
152						d.canAdvance(m) && (Number(new Date) - i < 550 && Math.abs(k) > 50 || Math.abs(k) > g / 2) ? d.flexAnimate(m, d.vars.pauseOnAction) : n || d.flexAnimate(d.currentSlide, d.vars.pauseOnAction, !0)
153					}
154					b.removeEventListener("touchend", t, !1), a = null, c = null, h = null, e = null
155				}
156				function u(a) {
157					a.stopPropagation(), d.animating ? a.preventDefault() : (d.pause(), b._gesture.addPointer(a.pointerId), q = 0, g = k ? d.h : d.w, i = Number(new Date), e = m && l && d.animatingTo === d.last ? 0 : m && l ? d.limit - (d.itemW + d.vars.itemMargin) * d.move * d.animatingTo : m && d.currentSlide === d.last ? d.limit : m ? (d.itemW + d.vars.itemMargin) * d.move * d.currentSlide : l ? (d.last - d.currentSlide + d.cloneOffset) * g : (d.currentSlide + d.cloneOffset) * g)
158				}
159				function v(a) {
160					a.stopPropagation();
161					var c = a.target._slider;
162					if (c) {
163						var d = -a.translationX,
164							f = -a.translationY;
165						return q += k ? f : d, h = q, j = k ? Math.abs(q) < Math.abs(-d) : Math.abs(q) < Math.abs(-f), a.detail === a.MSGESTURE_FLAG_INERTIA ? (setImmediate(function() {
166							b._gesture.stop()
167						}), void 0) : ((!j || Number(new Date) - i > 500) && (a.preventDefault(), !n && c.transitions && (c.vars.animationLoop || (h = q / (0 === c.currentSlide && 0 > q || c.currentSlide === c.last && q > 0 ? Math.abs(q) / g + 2 : 1)), c.setProps(e + h, "setTouch"))), void 0)
168					}
169				}
170				function w(b) {
171					b.stopPropagation();
172					var d = b.target._slider;
173					if (d) {
174						if (d.animatingTo === d.currentSlide && !j && null !== h) {
175							var f = l ? -h : h,
176								k = f > 0 ? d.getTarget("next") : d.getTarget("prev");
177							d.canAdvance(k) && (Number(new Date) - i < 550 && Math.abs(f) > 50 || Math.abs(f) > g / 2) ? d.flexAnimate(k, d.vars.pauseOnAction) : n || d.flexAnimate(d.currentSlide, d.vars.pauseOnAction, !0)
178						}
179						a = null, c = null, h = null, e = null, q = 0
180					}
181				}
182				var a, c, e, g, h, i, j = !1,
183					o = 0,
184					p = 0,
185					q = 0;
186				f ? (b.style.msTouchAction = "none", b._gesture = new MSGesture, b._gesture.target = b, b.addEventListener("MSPointerDown", u, !1), b._slider = d, b.addEventListener("MSGestureChange", v, !1), b.addEventListener("MSGestureEnd", w, !1)) : b.addEventListener("touchstart", r, !1)
187			},
188			resize: function() {
189				!d.animating && d.is(":visible") && (m || d.doMath(), n ? p.smoothHeight() : m ? (d.slides.width(d.computedW), d.update(d.pagingCount), d.setProps()) : k ? (d.viewport.height(d.h), d.setProps(d.h, "setTotal")) : (d.vars.smoothHeight && p.smoothHeight(), d.newSlides.width(d.computedW), d.setProps(d.computedW, "setTotal")))
190			},
191			smoothHeight: function(a) {
192				if (!k || n) {
193					var b = n ? d : d.viewport;
194					a ? b.animate({
195						height: d.slides.eq(d.animatingTo).height()
196					}, a) : b.height(d.slides.eq(d.animatingTo).height())
197				}
198			},
199			sync: function(b) {
200				var c = a(d.vars.sync).data("flexslider"),
201					e = d.animatingTo;
202				switch (b) {
203				case "animate":
204					c.flexAnimate(e, d.vars.pauseOnAction, !1, !0);
205					break;
206				case "play":
207					!c.playing && !c.asNav && c.play();
208					break;
209				case "pause":
210					c.pause()
211				}
212			},
213			uniqueID: function(b) {
214				return b.find("[id]").each(function() {
215					var b = a(this);
216					b.attr("id", b.attr("id") + "_clone")
217				}), b
218			},
219			pauseInvisible: {
220				visProp: null,
221				init: function() {
222					var a = ["webkit", "moz", "ms", "o"];
223					if ("hidden" in document) return "hidden";
224					for (var b = 0; b < a.length; b++) a[b] + "Hidden" in document && (p.pauseInvisible.visProp = a[b] + "Hidden");
225					if (p.pauseInvisible.visProp) {
226						var c = p.pauseInvisible.visProp.replace(/[H|h]idden/, "") + "visibilitychange";
227						document.addEventListener(c, function() {
228							p.pauseInvisible.isHidden() ? d.startTimeout ? clearTimeout(d.startTimeout) : d.pause() : d.started ? d.play() : d.vars.initDelay > 0 ? setTimeout(d.play, d.vars.initDelay) : d.play()
229						})
230					}
231				},
232				isHidden: function() {
233					return document[p.pauseInvisible.visProp] || !1
234				}
235			},
236			setToClearWatchedEvent: function() {
237				clearTimeout(j), j = setTimeout(function() {
238					i = ""
239				}, 3e3)
240			}
241		}, d.flexAnimate = function(b, c, f, h, i) {
242			if (!d.vars.animationLoop && b !== d.currentSlide && (d.direction = b > d.currentSlide ? "next" : "prev"), o && 1 === d.pagingCount && (d.direction = d.currentItem < b ? "next" : "prev"), !d.animating && (d.canAdvance(b, i) || f) && d.is(":visible")) {
243				if (o && h) {
244					var j = a(d.vars.asNavFor).data("flexslider");
245					if (d.atEnd = 0 === b || b === d.count - 1, j.flexAnimate(b, !0, !1, !0, i), d.direction = d.currentItem < b ? "next" : "prev", j.direction = d.direction, Math.ceil((b + 1) / d.visible) - 1 === d.currentSlide || 0 === b) return d.currentItem = b, d.slides.removeClass(e + "active-slide").eq(b).addClass(e + "active-slide"), !1;
246					d.currentItem = b, d.slides.removeClass(e + "active-slide").eq(b).addClass(e + "active-slide"), b = Math.floor(b / d.visible)
247				}
248				if (d.animating = !0, d.animatingTo = b, c && d.pause(), d.vars.before(d), d.syncExists && !i && p.sync("animate"), d.vars.controlNav && p.controlNav.active(), m || d.slides.removeClass(e + "active-slide").eq(b).addClass(e + "active-slide"), d.atEnd = 0 === b || b === d.last, d.vars.directionNav && p.directionNav.update(), b === d.last && (d.vars.end(d), d.vars.animationLoop || d.pause()), n) g ? (d.slides.eq(d.currentSlide).css({
249					opacity: 0,
250					zIndex: 1
251				}), d.slides.eq(b).css({
252					opacity: 1,
253					zIndex: 2
254				}), d.wrapup(q)) : (d.slides.eq(d.currentSlide).css({
255					zIndex: 1
256				}).animate({
257					opacity: 0
258				}, d.vars.animationSpeed, d.vars.easing), d.slides.eq(b).css({
259					zIndex: 2
260				}).animate({
261					opacity: 1
262				}, d.vars.animationSpeed, d.vars.easing, d.wrapup));
263				else {
264					var r, s, t, q = k ? d.slides.filter(":first").height() : d.computedW;
265					m ? (r = d.vars.itemMargin, t = (d.itemW + r) * d.move * d.animatingTo, s = t > d.limit && 1 !== d.visible ? d.limit : t) : s = 0 === d.currentSlide && b === d.count - 1 && d.vars.animationLoop && "next" !== d.direction ? l ? (d.count + d.cloneOffset) * q : 0 : d.currentSlide === d.last && 0 === b && d.vars.animationLoop && "prev" !== d.direction ? l ? 0 : (d.count + 1) * q : l ? (d.count - 1 - b + d.cloneOffset) * q : (b + d.cloneOffset) * q, d.setProps(s, "", d.vars.animationSpeed), d.transitions ? (d.vars.animationLoop && d.atEnd || (d.animating = !1, d.currentSlide = d.animatingTo), d.container.unbind("webkitTransitionEnd transitionend"), d.container.bind("webkitTransitionEnd transitionend", function() {
266						d.wrapup(q)
267					})) : d.container.animate(d.args, d.vars.animationSpeed, d.vars.easing, function() {
268						d.wrapup(q)
269					})
270				}
271				d.vars.smoothHeight && p.smoothHeight(d.vars.animationSpeed)
272			}
273		}, d.wrapup = function(a) {
274			!n && !m && (0 === d.currentSlide && d.animatingTo === d.last && d.vars.animationLoop ? d.setProps(a, "jumpEnd") : d.currentSlide === d.last && 0 === d.animatingTo && d.vars.animationLoop && d.setProps(a, "jumpStart")), d.animating = !1, d.currentSlide = d.animatingTo, d.vars.after(d)
275		}, d.animateSlides = function() {
276			!d.animating && q && d.flexAnimate(d.getTarget("next"))
277		}, d.pause = function() {
278			clearInterval(d.animatedSlides), d.animatedSlides = null, d.playing = !1, d.vars.pausePlay && p.pausePlay.update("play"), d.syncExists && p.sync("pause")
279		}, d.play = function() {
280			d.playing && clearInterval(d.animatedSlides), d.animatedSlides = d.animatedSlides || setInterval(d.animateSlides, d.vars.slideshowSpeed), d.started = d.playing = !0, d.vars.pausePlay && p.pausePlay.update("pause"), d.syncExists && p.sync("play")
281		}, d.stop = function() {
282			d.pause(), d.stopped = !0
283		}, d.canAdvance = function(a, b) {
284			var c = o ? d.pagingCount - 1 : d.last;
285			return b ? !0 : o && d.currentItem === d.count - 1 && 0 === a && "prev" === d.direction ? !0 : o && 0 === d.currentItem && a === d.pagingCount - 1 && "next" !== d.direction ? !1 : a !== d.currentSlide || o ? d.vars.animationLoop ? !0 : d.atEnd && 0 === d.currentSlide && a === c && "next" !== d.direction ? !1 : d.atEnd && d.currentSlide === c && 0 === a && "next" === d.direction ? !1 : !0 : !1
286		}, d.getTarget = function(a) {
287			return d.direction = a, "next" === a ? d.currentSlide === d.last ? 0 : d.currentSlide + 1 : 0 === d.currentSlide ? d.last : d.currentSlide - 1
288		}, d.setProps = function(a, b, c) {
289			var e = function() {
290					var c = a ? a : (d.itemW + d.vars.itemMargin) * d.move * d.animatingTo,
291						e = function() {
292							if (m) return "setTouch" === b ? a : l && d.animatingTo === d.last ? 0 : l ? d.limit - (d.itemW + d.vars.itemMargin) * d.move * d.animatingTo : d.animatingTo === d.last ? d.limit : c;
293							switch (b) {
294							case "setTotal":
295								return l ? (d.count - 1 - d.currentSlide + d.cloneOffset) * a : (d.currentSlide + d.cloneOffset) * a;
296							case "setTouch":
297								return l ? a : a;
298							case "jumpEnd":
299								return l ? a : d.count * a;
300							case "jumpStart":
301								return l ? d.count * a : a;
302							default:
303								return a
304							}
305						}();
306					return -1 * e + "px"
307				}();
308			d.transitions && (e = k ? "translate3d(0," + e + ",0)" : "translate3d(" + e + ",0,0)", c = void 0 !== c ? c / 1e3 + "s" : "0s", d.container.css("-" + d.pfx + "-transition-duration", c), d.container.css("transition-duration", c)), d.args[d.prop] = e, (d.transitions || void 0 === c) && d.container.css(d.args), d.container.css("transform", e)
309		}, d.setup = function(b) {
310			if (n) d.slides.css({
311				width: "100%",
312				"float": "left",
313				marginRight: "-100%",
314				position: "relative"
315			}), "init" === b && (g ? d.slides.css({
316				opacity: 0,
317				display: "block",
318				webkitTransition: "opacity " + d.vars.animationSpeed / 1e3 + "s ease",
319				zIndex: 1
320			}).eq(d.currentSlide).css({
321				opacity: 1,
322				zIndex: 2
323			}) : d.slides.css({
324				opacity: 0,
325				display: "block",
326				zIndex: 1
327			}).eq(d.currentSlide).css({
328				zIndex: 2
329			}).animate({
330				opacity: 1
331			}, d.vars.animationSpeed, d.vars.easing)), d.vars.smoothHeight && p.smoothHeight();
332			else {
333				var c, f;
334				"init" === b && (d.viewport = a('<div class="' + e + 'viewport"></div>').css({
335					overflow: "hidden",
336					position: "relative"
337				}).appendTo(d).append(d.container), d.cloneCount = 0, d.cloneOffset = 0, l && (f = a.makeArray(d.slides).reverse(), d.slides = a(f), d.container.empty().append(d.slides))), d.vars.animationLoop && !m && (d.cloneCount = 2, d.cloneOffset = 1, "init" !== b && d.container.find(".clone").remove(), d.container.append(d.slides.first().clone().addClass("clone").attr("aria-hidden", "true")).prepend(d.slides.last().clone().addClass("clone").attr("aria-hidden", "true")), p.uniqueID(d.slides.first().clone().addClass("clone")).appendTo(d.container), p.uniqueID(d.slides.last().clone().addClass("clone")).prependTo(d.container)), d.newSlides = a(d.vars.selector, d), c = l ? d.count - 1 - d.currentSlide + d.cloneOffset : d.currentSlide + d.cloneOffset, k && !m ? (d.container.height(200 * (d.count + d.cloneCount) + "%").css("position", "absolute").width("100%"), setTimeout(function() {
338					d.newSlides.css({
339						display: "block"
340					}), d.doMath(), d.viewport.height(d.h), d.setProps(c * d.h, "init")
341				}, "init" === b ? 100 : 0)) : (d.container.width(200 * (d.count + d.cloneCount) + "%"), d.setProps(c * d.computedW, "init"), setTimeout(function() {
342					d.doMath(), d.newSlides.css({
343						width: d.computedW,
344						"float": "left",
345						display: "block"
346					}), d.vars.smoothHeight && p.smoothHeight()
347				}, "init" === b ? 100 : 0))
348			}
349			m || d.slides.removeClass(e + "active-slide").eq(d.currentSlide).addClass(e + "active-slide"), d.vars.init(d)
350		}, d.doMath = function() {
351			var a = d.slides.first(),
352				b = d.vars.itemMargin,
353				c = d.vars.minItems,
354				e = d.vars.maxItems;
355			d.w = void 0 === d.viewport ? d.width() : d.viewport.width(), d.h = a.height(), d.boxPadding = a.outerWidth() - a.width(), m ? (d.itemT = d.vars.itemWidth + b, d.minW = c ? c * d.itemT : d.w, d.maxW = e ? e * d.itemT - b : d.w, d.itemW = d.minW > d.w ? (d.w - b * (c - 1)) / c : d.maxW < d.w ? (d.w - b * (e - 1)) / e : d.vars.itemWidth > d.w ? d.w : d.vars.itemWidth, d.visible = Math.floor(d.w / d.itemW), d.move = d.vars.move > 0 && d.vars.move < d.visible ? d.vars.move : d.visible, d.pagingCount = Math.ceil((d.count - d.visible) / d.move + 1), d.last = d.pagingCount - 1, d.limit = 1 === d.pagingCount ? 0 : d.vars.itemWidth > d.w ? d.itemW * (d.count - 1) + b * (d.count - 1) : (d.itemW + b) * d.count - d.w - b) : (d.itemW = d.w, d.pagingCount = d.count, d.last = d.count - 1), d.computedW = d.itemW - d.boxPadding
356		}, d.update = function(a, b) {
357			d.doMath(), m || (a < d.currentSlide ? d.currentSlide += 1 : a <= d.currentSlide && 0 !== a && (d.currentSlide -= 1), d.animatingTo = d.currentSlide), d.vars.controlNav && !d.manualControls && ("add" === b && !m || d.pagingCount > d.controlNav.length ? p.controlNav.update("add") : ("remove" === b && !m || d.pagingCount < d.controlNav.length) && (m && d.currentSlide > d.last && (d.currentSlide -= 1, d.animatingTo -= 1), p.controlNav.update("remove", d.last))), d.vars.directionNav && p.directionNav.update()
358		}, d.addSlide = function(b, c) {
359			var e = a(b);
360			d.count += 1, d.last = d.count - 1, k && l ? void 0 !== c ? d.slides.eq(d.count - c).after(e) : d.container.prepend(e) : void 0 !== c ? d.slides.eq(c).before(e) : d.container.append(e), d.update(c, "add"), d.slides = a(d.vars.selector + ":not(.clone)", d), d.setup(), d.vars.added(d)
361		}, d.removeSlide = function(b) {
362			var c = isNaN(b) ? d.slides.index(a(b)) : b;
363			d.count -= 1, d.last = d.count - 1, isNaN(b) ? a(b, d.slides).remove() : k && l ? d.slides.eq(d.last).remove() : d.slides.eq(b).remove(), d.doMath(), d.update(c, "remove"), d.slides = a(d.vars.selector + ":not(.clone)", d), d.setup(), d.vars.removed(d)
364		}, p.init()
365	}, a(window).blur(function() {
366		focused = !1
367	}).focus(function() {
368		focused = !0
369	}), a.flexslider.defaults = {
370		namespace: "flex-",
371		selector: ".slides > li",
372		animation: "fade",
373		easing: "swing",
374		direction: "horizontal",
375		reverse: !1,
376		animationLoop: !0,
377		smoothHeight: !1,
378		startAt: 0,
379		slideshow: !0,
380		slideshowSpeed: 7e3,
381		animationSpeed: 600,
382		initDelay: 0,
383		randomize: !1,
384		thumbCaptions: !1,
385		pauseOnAction: !0,
386		pauseOnHover: !1,
387		pauseInvisible: !0,
388		useCSS: !0,
389		touch: !0,
390		video: !1,
391		controlNav: !0,
392		directionNav: !0,
393		prevText: "Previous",
394		nextText: "Next",
395		keyboard: !0,
396		multipleKeyboard: !1,
397		mousewheel: !1,
398		pausePlay: !1,
399		pauseText: "Pause",
400		playText: "Play",
401		controlsContainer: "",
402		manualControls: "",
403		sync: "",
404		asNavFor: "",
405		itemWidth: 0,
406		itemMargin: 0,
407		minItems: 1,
408		maxItems: 0,
409		move: 0,
410		allowOneSlide: !0,
411		start: function() {},
412		before: function() {},
413		after: function() {},
414		end: function() {},
415		added: function() {},
416		removed: function() {},
417		init: function() {}
418	}, a.fn.flexslider = function(b) {
419		if (void 0 === b && (b = {}), "object" == typeof b) return this.each(function() {
420			var c = a(this),
421				d = b.selector ? b.selector : ".slides > li",
422				e = c.find(d);
423			1 === e.length && b.allowOneSlide === !0 || 0 === e.length ? (e.fadeIn(400), b.start && b.start(c)) : void 0 === c.data("flexslider") && new a.flexslider(this, b)
424		});
425		var c = a(this).data("flexslider");
426		switch (b) {
427		case "play":
428			c.play();
429			break;
430		case "pause":
431			c.pause();
432			break;
433		case "stop":
434			c.stop();
435			break;
436		case "next":
437			c.flexAnimate(c.getTarget("next"), !0);
438			break;
439		case "prev":
440		case "previous":
441			c.flexAnimate(c.getTarget("prev"), !0);
442			break;
443		default:
444			"number" == typeof b && c.flexAnimate(b, !0)
445		}
446	}
447}(jQuery), function(a) {
448	a.flexslider = function(b, c) {
449		var d = a(b);
450		d.vars = a.extend({}, a.flexslider.defaults, c);
451		var j, e = d.vars.namespace,
452			f = window.navigator && window.navigator.msPointerEnabled && window.MSGesture,
453			g = ("ontouchstart" in window || f || window.DocumentTouch && document instanceof DocumentTouch) && d.vars.touch,
454			h = "click touchend MSPointerUp",
455			i = "",
456			k = "vertical" === d.vars.direction,
457			l = d.vars.reverse,
458			m = d.vars.itemWidth > 0,
459			n = "fade" === d.vars.animation,
460			o = "" !== d.vars.asNavFor,
461			p = {},
462			q = !0;
463		a.data(b, "flexslider", d), p = {
464			init: function() {
465				d.animating = !1, d.currentSlide = parseInt(d.vars.startAt ? d.vars.startAt : 0, 10), isNaN(d.currentSlide) && (d.currentSlide = 0), d.animatingTo = d.currentSlide, d.atEnd = 0 === d.currentSlide || d.currentSlide === d.last, d.containerSelector = d.vars.selector.substr(0, d.vars.selector.search(" ")), d.slides = a(d.vars.selector, d), d.container = a(d.containerSelector, d), d.count = d.slides.length, d.syncExists = a(d.vars.sync).length > 0, "slide" === d.vars.animation && (d.vars.animation = "swing"), d.prop = k ? "top" : "marginLeft", d.args = {}, d.manualPause = !1, d.stopped = !1, d.started = !1, d.startTimeout = null, d.transitions = !d.vars.video && !n && d.vars.useCSS &&
466				function() {
467					var a = document.createElement("div"),
468						b = ["perspectiveProperty", "WebkitPerspective", "MozPerspective", "OPerspective", "msPerspective"];
469					for (var c in b) if (void 0 !== a.style[b[c]]) return d.pfx = b[c].replace("Perspective", "").toLowerCase(), d.prop = "-" + d.pfx + "-transform", !0;
470					return !1
471				}(), "" !== d.vars.controlsContainer && (d.controlsContainer = a(d.vars.controlsContainer).length > 0 && a(d.vars.controlsContainer)), "" !== d.vars.manualControls && (d.manualControls = a(d.vars.manualControls).length > 0 && a(d.vars.manualControls)), d.vars.randomize && (d.slides.sort(function() {
472					return Math.round(Math.random()) - .5
473				}), d.container.empty().append(d.slides)), d.doMath(), d.setup("init"), d.vars.controlNav && p.controlNav.setup(), d.vars.directionNav && p.directionNav.setup(), d.vars.keyboard && (1 === a(d.containerSelector).length || d.vars.multipleKeyboard) && a(document).bind("keyup", function(a) {
474					var b = a.keyCode;
475					if (!d.animating && (39 === b || 37 === b)) {
476						var c = 39 === b ? d.getTarget("next") : 37 === b ? d.getTarget("prev") : !1;
477						d.flexAnimate(c, d.vars.pauseOnAction)
478					}
479				}), d.vars.mousewheel && d.bind("mousewheel", function(a, b) {
480					a.preventDefault();
481					var f = 0 > b ? d.getTarget("next") : d.getTarget("prev");
482					d.flexAnimate(f, d.vars.pauseOnAction)
483				}), d.vars.pausePlay && p.pausePlay.setup(), d.vars.slideshow && d.vars.pauseInvisible && p.pauseInvisible.init(), d.vars.slideshow && (d.vars.pauseOnHover && d.hover(function() {
484					!d.manualPlay && !d.manualPause && d.pause()
485				}, function() {
486					!d.manualPause && !d.manualPlay && !d.stopped && d.play()
487				}), d.vars.pauseInvisible && p.pauseInvisible.isHidden() || (d.vars.initDelay > 0 ? d.startTimeout = setTimeout(d.play, d.vars.initDelay) : d.play())), o && p.asNav.setup(), g && d.vars.touch && p.touch(), (!n || n && d.vars.smoothHeight) && a(window).bind("resize orientationchange focus", p.resize), d.find("img").attr("draggable", "false"), setTimeout(function() {
488					d.vars.start(d)
489				}, 200)
490			},
491			asNav: {
492				setup: function() {
493					d.asNav = !0, d.animatingTo = Math.floor(d.currentSlide / d.move), d.currentItem = d.currentSlide, d.slides.removeClass(e + "active-slide").eq(d.currentItem).addClass(e + "active-slide"), f ? (b._slider = d, d.slides.each(function() {
494						var b = this;
495						b._gesture = new MSGesture, b._gesture.target = b, b.addEventListener("MSPointerDown", function(a) {
496							a.preventDefault(), a.currentTarget._gesture && a.currentTarget._gesture.addPointer(a.pointerId)
497						}, !1), b.addEventListener("MSGestureTap", function(b) {
498							b.preventDefault();
499							var c = a(this),
500								e = c.index();
501							a(d.vars.asNavFor).data("flexslider").animating || c.hasClass("active") || (d.direction = d.currentItem < e ? "next" : "prev", d.flexAnimate(e, d.vars.pauseOnAction, !1, !0, !0))
502						})
503					})) : d.slides.on(h, function(b) {
504						b.preventDefault();
505						var c = a(this),
506							f = c.index(),
507							g = c.offset().left - a(d).scrollLeft();
508						0 >= g && c.hasClass(e + "active-slide") ? d.flexAnimate(d.getTarget("prev"), !0) : a(d.vars.asNavFor).data("flexslider").animating || c.hasClass(e + "active-slide") || (d.direction = d.currentItem < f ? "next" : "prev", d.flexAnimate(f, d.vars.pauseOnAction, !1, !0, !0))
509					})
510				}
511			},
512			controlNav: {
513				setup: function() {
514					d.manualControls ? p.controlNav.setupManual() : p.controlNav.setupPaging()
515				},
516				setupPaging: function() {
517					var f, g, b = "thumbnails" === d.vars.controlNav ? "control-thumbs" : "control-paging",
518						c = 1;
519					if (d.controlNavScaffold = a('<ol class="' + e + "control-nav " + e + b + '"></ol>'), d.pagingCount > 1) for (var j = 0; j < d.pagingCount; j++) {
520						if (g = d.slides.eq(j), f = "thumbnails" === d.vars.controlNav ? '<img src="' + g.attr("data-thumb") + '"/>' : "<a>" + c + "</a>", "thumbnails" === d.vars.controlNav && !0 === d.vars.thumbCaptions) {
521							var k = g.attr("data-thumbcaption");
522							"" != k && void 0 != k && (f += '<span class="' + e + 'caption">' + k + "</span>")
523						}
524						d.controlNavScaffold.append("<li>" + f + "</li>"), c++
525					}
526					d.controlsContainer ? a(d.controlsContainer).append(d.controlNavScaffold) : d.append(d.controlNavScaffold), p.controlNav.set(), p.controlNav.active(), d.controlNavScaffold.delegate("a, img", h, function(b) {
527						if (b.preventDefault(), "" === i || i === b.type) {
528							var c = a(this),
529								f = d.controlNav.index(c);
530							c.hasClass(e + "active") || (d.direction = f > d.currentSlide ? "next" : "prev", d.flexAnimate(f, d.vars.pauseOnAction))
531						}
532						"" === i && (i = b.type), p.setToClearWatchedEvent()
533					})
534				},
535				setupManual: function() {
536					d.controlNav = d.manualControls, p.controlNav.active(), d.controlNav.bind(h, function(b) {
537						if (b.preventDefault(), "" === i || i === b.type) {
538							var c = a(this),
539								f = d.controlNav.index(c);
540							c.hasClass(e + "active") || (d.direction = f > d.currentSlide ? "next" : "prev", d.flexAnimate(f, d.vars.pauseOnAction))
541						}
542						"" === i && (i = b.type), p.setToClearWatchedEvent()
543					})
544				},
545				set: function() {
546					var b = "thumbnails" === d.vars.controlNav ? "img" : "a";
547					d.controlNav = a("." + e + "control-nav li " + b, d.controlsContainer ? d.controlsContainer : d)
548				},
549				active: function() {
550					d.controlNav.removeClass(e + "active").eq(d.animatingTo).addClass(e + "active")
551				},
552				update: function(b, c) {
553					d.pagingCount > 1 && "add" === b ? d.controlNavScaffold.append(a("<li><a>" + d.count + "</a></li>")) : 1 === d.pagingCount ? d.controlNavScaffold.find("li").remove() : d.controlNav.eq(c).closest("li").remove(), p.controlNav.set(), d.pagingCount > 1 && d.pagingCount !== d.controlNav.length ? d.update(c, b) : p.controlNav.active()
554				}
555			},
556			directionNav: {
557				setup: function() {
558					if(d.pagingCount > 1)
559					{
560					var b = a('<ul class="' + e + 'direction-nav"><li><div class="' + e + 'prev"><span></span></div></li><li><div class="' + e + 'next" ><span></span></div></li></ul>');
561					d.controlsContainer ? (a(d.controlsContainer).append(b), d.directionNav = a("." + e + "direction-nav li div", d.controlsContainer)) : (d.append(b), d.directionNav = a("." + e + "direction-nav li div", d)), p.directionNav.update(), d.directionNav.bind(h, function(b) {
562						b.preventDefault();
563						var c;
564						("" === i || i === b.type) && (c = a(this).hasClass(e + "next") ? d.getTarget("next") : d.getTarget("prev"), d.flexAnimate(c, d.vars.pauseOnAction)), "" === i && (i = b.type), p.setToClearWatchedEvent()
565					})
566					}
567				},
568				update: function() {
569					var a = e + "disabled";
570					1 === d.pagingCount ? d.directionNav.addClass(a).attr("tabindex", "-1") : d.vars.animationLoop ? d.directionNav.removeClass(a).removeAttr("tabindex") : 0 === d.animatingTo ? d.directionNav.removeClass(a).filter("." + e + "prev").addClass(a).attr("tabindex", "-1") : d.animatingTo === d.last ? d.directionNav.removeClass(a).filter("." + e + "next").addClass(a).attr("tabindex", "-1") : d.directionNav.removeClass(a).removeAttr("tabindex")
571				}
572			},
573			pausePlay: {
574				setup: function() {
575					var b = a('<div class="' + e + 'pauseplay"><a></a></div>');
576					d.controlsContainer ? (d.controlsContainer.append(b), d.pausePlay = a("." + e + "pauseplay a", d.controlsContainer)) : (d.append(b), d.pausePlay = a("." + e + "pauseplay a", d)), p.pausePlay.update(d.vars.slideshow ? e + "pause" : e + "play"), d.pausePlay.bind(h, function(b) {
577						b.preventDefault(), ("" === i || i === b.type) && (a(this).hasClass(e + "pause") ? (d.manualPause = !0, d.manualPlay = !1, d.pause()) : (d.manualPause = !1, d.manualPlay = !0, d.play())), "" === i && (i = b.type), p.setToClearWatchedEvent()
578					})
579				},
580				update: function(a) {
581					"play" === a ? d.pausePlay.removeClass(e + "pause").addClass(e + "play").html(d.vars.playText) : d.pausePlay.removeClass(e + "play").addClass(e + "pause").html(d.vars.pauseText)
582				}
583			},
584			touch: function() {
585				function r(f) {
586					d.animating ? f.preventDefault() : (window.navigator.msPointerEnabled || 1 === f.touches.length) && (d.pause(), g = k ? d.h : d.w, i = Number(new Date), o = f.touches[0].pageX, p = f.touches[0].pageY, e = m && l && d.animatingTo === d.last ? 0 : m && l ? d.limit - (d.itemW + d.vars.itemMargin) * d.move * d.animatingTo : m && d.currentSlide === d.last ? d.limit : m ? (d.itemW + d.vars.itemMargin) * d.move * d.currentSlide : l ? (d.last - d.currentSlide + d.cloneOffset) * g : (d.currentSlide + d.cloneOffset) * g, a = k ? p : o, c = k ? o : p, b.addEventListener("touchmove", s, !1), b.addEventListener("touchend", t, !1))
587				}
588				function s(b) {
589					o = b.touches[0].pageX, p = b.touches[0].pageY, h = k ? a - p : a - o, j = k ? Math.abs(h) < Math.abs(o - c) : Math.abs(h) < Math.abs(p - c);
590					var f = 500;
591					(!j || Number(new Date) - i > f) && (b.preventDefault(), !n && d.transitions && (d.vars.animationLoop || (h /= 0 === d.currentSlide && 0 > h || d.currentSlide === d.last && h > 0 ? Math.abs(h) / g + 2 : 1), d.setProps(e + h, "setTouch")))
592				}
593				function t() {
594					if (b.removeEventListener("touchmove", s, !1), d.animatingTo === d.currentSlide && !j && null !== h) {
595						var k = l ? -h : h,
596							m = k > 0 ? d.getTarget("next") : d.getTarget("prev");
597						d.canAdvance(m) && (Number(new Date) - i < 550 && Math.abs(k) > 50 || Math.abs(k) > g / 2) ? d.flexAnimate(m, d.vars.pauseOnAction) : n || d.flexAnimate(d.currentSlide, d.vars.pauseOnAction, !0)
598					}
599					b.removeEventListener("touchend", t, !1), a = null, c = null, h = null, e = null
600				}
601				function u(a) {
602					a.stopPropagation(), d.animating ? a.preventDefault() : (d.pause(), b._gesture.addPointer(a.pointerId), q = 0, g = k ? d.h : d.w, i = Number(new Date), e = m && l && d.animatingTo === d.last ? 0 : m && l ? d.limit - (d.itemW + d.vars.itemMargin) * d.move * d.animatingTo : m && d.currentSlide === d.last ? d.limit : m ? (d.itemW + d.vars.itemMargin) * d.move * d.currentSlide : l ? (d.last - d.currentSlide + d.cloneOffset) * g : (d.currentSlide + d.cloneOffset) * g)
603				}
604				function v(a) {
605					a.stopPropagation();
606					var c = a.target._slider;
607					if (c) {
608						var d = -a.translationX,
609							f = -a.translationY;
610						return q += k ? f : d, h = q, j = k ? Math.abs(q) < Math.abs(-d) : Math.abs(q) < Math.abs(-f), a.detail === a.MSGESTURE_FLAG_INERTIA ? (setImmediate(function() {
611							b._gesture.stop()
612						}), void 0) : ((!j || Number(new Date) - i > 500) && (a.preventDefault(), !n && c.transitions && (c.vars.animationLoop || (h = q / (0 === c.currentSlide && 0 > q || c.currentSlide === c.last && q > 0 ? Math.abs(q) / g + 2 : 1)), c.setProps(e + h, "setTouch"))), void 0)
613					}
614				}
615				function w(b) {
616					b.stopPropagation();
617					var d = b.target._slider;
618					if (d) {
619						if (d.animatingTo === d.currentSlide && !j && null !== h) {
620							var f = l ? -h : h,
621								k = f > 0 ? d.getTarget("next") : d.getTarget("prev");
622							d.canAdvance(k) && (Number(new Date) - i < 550 && Math.abs(f) > 50 || Math.abs(f) > g / 2) ? d.flexAnimate(k, d.vars.pauseOnAction) : n || d.flexAnimate(d.currentSlide, d.vars.pauseOnAction, !0)
623						}
624						a = null, c = null, h = null, e = null, q = 0
625					}
626				}
627				var a, c, e, g, h, i, j = !1,
628					o = 0,
629					p = 0,
630					q = 0;
631				f ? (b.style.msTouchAction = "none", b._gesture = new MSGesture, b._gesture.target = b, b.addEventListener("MSPointerDown", u, !1), b._slider = d, b.addEventListener("MSGestureChange", v, !1), b.addEventListener("MSGestureEnd", w, !1)) : b.addEventListener("touchstart", r, !1)
632			},
633			resize: function() {
634				!d.animating && d.is(":visible") && (m || d.doMath(), n ? p.smoothHeight() : m ? (d.slides.width(d.computedW), d.update(d.pagingCount), d.setProps()) : k ? (d.viewport.height(d.h), d.setProps(d.h, "setTotal")) : (d.vars.smoothHeight && p.smoothHeight(), d.newSlides.width(d.computedW), d.setProps(d.computedW, "setTotal")))
635			},
636			smoothHeight: function(a) {
637				if (!k || n) {
638					var b = n ? d : d.viewport;
639					a ? b.animate({
640						height: d.slides.eq(d.animatingTo).height()
641					}, a) : b.height(d.slides.eq(d.animatingTo).height())
642				}
643			},
644			sync: function(b) {
645				var c = a(d.vars.sync).data("flexslider"),
646					e = d.animatingTo;
647				switch (b) {
648				case "animate":
649					c.flexAnimate(e, d.vars.pauseOnAction, !1, !0);
650					break;
651				case "play":
652					!c.playing && !c.asNav && c.play();
653					break;
654				case "pause":
655					c.pause()
656				}
657			},
658			uniqueID: function(b) {
659				return b.find("[id]").each(function() {
660					var b = a(this);
661					b.attr("id", b.attr("id") + "_clone")
662				}), b
663			},
664			pauseInvisible: {
665				visProp: null,
666				init: function() {
667					var a = ["webkit", "moz", "ms", "o"];
668					if ("hidden" in document) return "hidden";
669					for (var b = 0; b < a.length; b++) a[b] + "Hidden" in document && (p.pauseInvisible.visProp = a[b] + "Hidden");
670					if (p.pauseInvisible.visProp) {
671						var c = p.pauseInvisible.visProp.replace(/[H|h]idden/, "") + "visibilitychange";
672						document.addEventListener(c, function() {
673							p.pauseInvisible.isHidden() ? d.startTimeout ? clearTimeout(d.startTimeout) : d.pause() : d.started ? d.play() : d.vars.initDelay > 0 ? setTimeout(d.play, d.vars.initDelay) : d.play()
674						})
675					}
676				},
677				isHidden: function() {
678					return document[p.pauseInvisible.visProp] || !1
679				}
680			},
681			setToClearWatchedEvent: function() {
682				clearTimeout(j), j = setTimeout(function() {
683					i = ""
684				}, 3e3)
685			}
686		}, d.flexAnimate = function(b, c, f, h, i) {
687			if (!d.vars.animationLoop && b !== d.currentSlide && (d.direction = b > d.currentSlide ? "next" : "prev"), o && 1 === d.pagingCount && (d.direction = d.currentItem < b ? "next" : "prev"), !d.animating && (d.canAdvance(b, i) || f) && d.is(":visible")) {
688				if (o && h) {
689					var j = a(d.vars.asNavFor).data("flexslider");
690					if (d.atEnd = 0 === b || b === d.count - 1, j.flexAnimate(b, !0, !1, !0, i), d.direction = d.currentItem < b ? "next" : "prev", j.direction = d.direction, Math.ceil((b + 1) / d.visible) - 1 === d.currentSlide || 0 === b) return d.currentItem = b, d.slides.removeClass(e + "active-slide").eq(b).addClass(e + "active-slide"), !1;
691					d.currentItem = b, d.slides.removeClass(e + "active-slide").eq(b).addClass(e + "active-slide"), b = Math.floor(b / d.visible)
692				}
693				if (d.animating = !0, d.animatingTo = b, c && d.pause(), d.vars.before(d), d.syncExists && !i && p.sync("animate"), d.vars.c
693ontrolNav && p.controlNav.active(), m || d.slides.removeClass(e + "active-slide").eq(b).addClass(e + "active-slide"), d.atEnd = 0 === b || b === d.last, d.vars.directionNav && p.directionNav.update(), b === d.last && (d.vars.end(d), d.vars.animationLoop || d.pause()), n) g ? (d.slides.eq(d.currentSlide).css({
694					opacity: 0,
695					zIndex: 1
696				}), d.slides.eq(b).css({
697					opacity: 1,
698					zIndex: 2
699				}), d.wrapup(q)) : (d.slides.eq(d.currentSlide).css({
700					zIndex: 1
701				}).animate({
702					opacity: 0
703				}, d.vars.animationSpeed, d.vars.easing), d.slides.eq(b).css({
704					zIndex: 2
705				}).animate({
706					opacity: 1
707				}, d.vars.animationSpeed, d.vars.easing, d.wrapup));
708				else {
709					var r, s, t, q = k ? d.slides.filter(":first").height() : d.computedW;
710					m ? (r = d.vars.itemMargin, t = (d.itemW + r) * d.move * d.animatingTo, s = t > d.limit && 1 !== d.visible ? d.limit : t) : s = 0 === d.currentSlide && b === d.count - 1 && d.vars.animationLoop && "next" !== d.direction ? l ? (d.count + d.cloneOffset) * q : 0 : d.currentSlide === d.last && 0 === b && d.vars.animationLoop && "prev" !== d.direction ? l ? 0 : (d.count + 1) * q : l ? (d.count - 1 - b + d.cloneOffset) * q : (b + d.cloneOffset) * q, d.setProps(s, "", d.vars.animationSpeed), d.transitions ? (d.vars.animationLoop && d.atEnd || (d.animating = !1, d.currentSlide = d.animatingTo), d.container.unbind("webkitTransitionEnd transitionend"), d.container.bind("webkitTransitionEnd transitionend", function() {
711						d.wrapup(q)
712					})) : d.container.animate(d.args, d.vars.animationSpeed, d.vars.easing, function() {
713						d.wrapup(q)
714					})
715				}
716				d.vars.smoothHeight && p.smoothHeight(d.vars.animationSpeed)
717			}
718		}, d.wrapup = function(a) {
719			!n && !m && (0 === d.currentSlide && d.animatingTo === d.last && d.vars.animationLoop ? d.setProps(a, "jumpEnd") : d.currentSlide === d.last && 0 === d.animatingTo && d.vars.animationLoop && d.setProps(a, "jumpStart")), d.animating = !1, d.currentSlide = d.animatingTo, d.vars.after(d)
720		}, d.animateSlides = function() {
721			!d.animating && q && d.flexAnimate(d.getTarget("next"))
722		}, d.pause = function() {
723			clearInterval(d.animatedSlides), d.animatedSlides = null, d.playing = !1, d.vars.pausePlay && p.pausePlay.update("play"), d.syncExists && p.sync("pause")
724		}, d.play = function() {
725			d.playing && clearInterval(d.animatedSlides), d.animatedSlides = d.animatedSlides || setInterval(d.animateSlides, d.vars.slideshowSpeed), d.started = d.playing = !0, d.vars.pausePlay && p.pausePlay.update("pause"), d.syncExists && p.sync("play")
726		}, d.stop = function() {
727			d.pause(), d.stopped = !0
728		}, d.canAdvance = function(a, b) {
729			var c = o ? d.pagingCount - 1 : d.last;
730			return b ? !0 : o && d.currentItem === d.count - 1 && 0 === a && "prev" === d.direction ? !0 : o && 0 === d.currentItem && a === d.pagingCount - 1 && "next" !== d.direction ? !1 : a !== d.currentSlide || o ? d.vars.animationLoop ? !0 : d.atEnd && 0 === d.currentSlide && a === c && "next" !== d.direction ? !1 : d.atEnd && d.currentSlide === c && 0 === a && "next" === d.direction ? !1 : !0 : !1
731		}, d.getTarget = function(a) {
732			return d.direction = a, "next" === a ? d.currentSlide === d.last ? 0 : d.currentSlide + 1 : 0 === d.currentSlide ? d.last : d.currentSlide - 1
733		}, d.setProps = function(a, b, c) {
734			var e = function() {
735					var c = a ? a : (d.itemW + d.vars.itemMargin) * d.move * d.animatingTo,
736						e = function() {
737							if (m) return "setTouch" === b ? a : l && d.animatingTo === d.last ? 0 : l ? d.limit - (d.itemW + d.vars.itemMargin) * d.move * d.animatingTo : d.animatingTo === d.last ? d.limit : c;
738							switch (b) {
739							case "setTotal":
740								return l ? (d.count - 1 - d.currentSlide + d.cloneOffset) * a : (d.currentSlide + d.cloneOffset) * a;
741							case "setTouch":
742								return l ? a : a;
743							case "jumpEnd":
744								return l ? a : d.count * a;
745							case "jumpStart":
746								return l ? d.count * a : a;
747							default:
748								return a
749							}
750						}();
751					return -1 * e + "px"
752				}();
753			d.transitions && (e = k ? "translate3d(0," + e + ",0)" : "translate3d(" + e + ",0,0)", c = void 0 !== c ? c / 1e3 + "s" : "0s", d.container.css("-" + d.pfx + "-transition-duration", c), d.container.css("transition-duration", c)), d.args[d.prop] = e, (d.transitions || void 0 === c) && d.container.css(d.args), d.container.css("transform", e)
754		}, d.setup = function(b) {
755			if (n) d.slides.css({
756				width: "100%",
757				"float": "left",
758				marginRight: "-100%",
759				position: "relative"
760			}), "init" === b && (g ? d.slides.css({
761				opacity: 0,
762				display: "block",
763				webkitTransition: "opacity " + d.vars.animationSpeed / 1e3 + "s ease",
764				zIndex: 1
765			}).eq(d.currentSlide).css({
766				opacity: 1,
767				zIndex: 2
768			}) : d.slides.css({
769				opacity: 0,
770				display: "block",
771				zIndex: 1
772			}).eq(d.currentSlide).css({
773				zIndex: 2
774			}).animate({
775				opacity: 1
776			}, d.vars.animationSpeed, d.vars.easing)), d.vars.smoothHeight && p.smoothHeight();
777			else {
778				var c, f;
779				"init" === b && (d.viewport = a('<div class="' + e + 'viewport"></div>').css({
780					overflow: "hidden",
781					position: "relative"
782				}).appendTo(d).append(d.container), d.cloneCount = 0, d.cloneOffset = 0, l && (f = a.makeArray(d.slides).reverse(), d.slides = a(f), d.container.empty().append(d.slides))), d.vars.animationLoop && !m && (d.cloneCount = 2, d.cloneOffset = 1, "init" !== b && d.container.find(".clone").remove(), d.container.append(d.slides.first().clone().addClass("clone").attr("aria-hidden", "true")).prepend(d.slides.last().clone().addClass("clone").attr("aria-hidden", "true")), p.uniqueID(d.slides.first().clone().addClass("clone")).appendTo(d.container), p.uniqueID(d.slides.last().clone().addClass("clone")).prependTo(d.container)), d.newSlides = a(d.vars.selector, d), c = l ? d.count - 1 - d.currentSlide + d.
vendor: 4,909 bytes, lines 782-892
782cloneOffset : d.currentSlide + d.cloneOffset, k && !m ? (d.container.height(200 * (d.count + d.cloneCount) + "%").css("position", "absolute").width("100%"), setTimeout(function() {
783					d.newSlides.css({
784						display: "block"
785					}), d.doMath(), d.viewport.height(d.h), d.setProps(c * d.h, "init")
786				}, "init" === b ? 100 : 0)) : (d.container.width(200 * (d.count + d.cloneCount) + "%"), d.setProps(c * d.computedW, "init"), setTimeout(function() {
787					d.doMath(), d.newSlides.css({
788						width: d.computedW,
789						"float": "left",
790						display: "block"
791					}), d.vars.smoothHeight && p.smoothHeight()
792				}, "init" === b ? 100 : 0))
793			}
794			m || d.slides.removeClass(e + "active-slide").eq(d.currentSlide).addClass(e + "active-slide"), d.vars.init(d)
795		}, d.doMath = function() {
796			var a = d.slides.first(),
797				b = d.vars.itemMargin,
798				c = d.vars.minItems,
799				e = d.vars.maxItems;
800			d.w = void 0 === d.viewport ? d.width() : d.viewport.width(), d.h = a.height(), d.boxPadding = a.outerWidth() - a.width(), m ? (d.itemT = d.vars.itemWidth + b, d.minW = c ? c * d.itemT : d.w, d.maxW = e ? e * d.itemT - b : d.w, d.itemW = d.minW > d.w ? (d.w - b * (c - 1)) / c : d.maxW < d.w ? (d.w - b * (e - 1)) / e : d.vars.itemWidth > d.w ? d.w : d.vars.itemWidth, d.visible = Math.floor(d.w / d.itemW), d.move = d.vars.move > 0 && d.vars.move < d.visible ? d.vars.move : d.visible, d.pagingCount = Math.ceil((d.count - d.visible) / d.move + 1), d.last = d.pagingCount - 1, d.limit = 1 === d.pagingCount ? 0 : d.vars.itemWidth > d.w ? d.itemW * (d.count - 1) + b * (d.count - 1) : (d.itemW + b) * d.count - d.w - b) : (d.itemW = d.w, d.pagingCount = d.count, d.last = d.count - 1), d.computedW = d.itemW - d.boxPadding
801		}, d.update = function(a, b) {
802			d.doMath(), m || (a < d.currentSlide ? d.currentSlide += 1 : a <= d.currentSlide && 0 !== a && (d.currentSlide -= 1), d.animatingTo = d.currentSlide), d.vars.controlNav && !d.manualControls && ("add" === b && !m || d.pagingCount > d.controlNav.length ? p.controlNav.update("add") : ("remove" === b && !m || d.pagingCount < d.controlNav.length) && (m && d.currentSlide > d.last && (d.currentSlide -= 1, d.animatingTo -= 1), p.controlNav.update("remove", d.last))), d.vars.directionNav && p.directionNav.update()
803		}, d.addSlide = function(b, c) {
804			var e = a(b);
805			d.count += 1, d.last = d.count - 1, k && l ? void 0 !== c ? d.slides.eq(d.count - c).after(e) : d.container.prepend(e) : void 0 !== c ? d.slides.eq(c).before(e) : d.container.append(e), d.update(c, "add"), d.slides = a(d.vars.selector + ":not(.clone)", d), d.setup(), d.vars.added(d)
806		}, d.removeSlide = function(b) {
807			var c = isNaN(b) ? d.slides.index(a(b)) : b;
808			d.count -= 1, d.last = d.count - 1, isNaN(b) ? a(b, d.slides).remove() : k && l ? d.slides.eq(d.last).remove() : d.slides.eq(b).remove(), d.doMath(), d.update(c, "remove"), d.slides = a(d.vars.selector + ":not(.clone)", d), d.setup(), d.vars.removed(d)
809		}, p.init()
810	}, a(window).blur(function() {
811		focused = !1
812	}).focus(function() {
813		focused = !0
814	}), a.flexslider.defaults = {
815		namespace: "flex-",
816		selector: ".slides > li",
817		animation: "fade",
818		easing: "swing",
819		direction: "horizontal",
820		reverse: !1,
821		animationLoop: !0,
822		smoothHeight: !1,
823		startAt: 0,
824		slideshow: !0,
825		slideshowSpeed: 7e3,
826		animationSpeed: 600,
827		initDelay: 0,
828		randomize: !1,
829		thumbCaptions: !1,
830		pauseOnAction: !0,
831		pauseOnHover: !1,
832		pauseInvisible: !0,
833		useCSS: !0,
834		touch: !0,
835		video: !1,
836		controlNav: !0,
837		directionNav: !0,
838		prevText: "Previous",
839		nextText: "Next",
840		keyboard: !0,
841		multipleKeyboard: !1,
842		mousewheel: !1,
843		pausePlay: !1,
844		pauseText: "Pause",
845		playText: "Play",
846		controlsContainer: "",
847		manualControls: "",
848		sync: "",
849		asNavFor: "",
850		itemWidth: 0,
851		itemMargin: 0,
852		minItems: 1,
853		maxItems: 0,
854		move: 0,
855		allowOneSlide: !0,
856		start: function() {},
857		before: function() {},
858		after: function() {},
859		end: function() {},
860		added: function() {},
861		removed: function() {},
862		init: function() {}
863	}, a.fn.flexslider = function(b) {
864		if (void 0 === b && (b = {}), "object" == typeof b) return this.each(function() {
865			var c = a(this),
866				d = b.selector ? b.selector : ".slides > li",
867				e = c.find(d);
868			1 === e.length && b.allowOneSlide === !0 || 0 === e.length ? (e.fadeIn(400), b.start && b.start(c)) : void 0 === c.data("flexslider") && new a.flexslider(this, b)
869		});
870		var c = a(this).data("flexslider");
871		switch (b) {
872		case "play":
873			c.play();
874			break;
875		case "pause":
876			c.pause();
877			break;
878		case "stop":
879			c.stop();
880			break;
881		case "next":
882			c.flexAnimate(c.getTarget("next"), !0);
883			break;
884		case "prev":
885		case "previous":
886			c.flexAnimate(c.getTarget("prev"), !0);
887			break;
888		default:
889			"number" == typeof b && c.flexAnimate(b, !0)
890		}
891	}
892}(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.