PageSourceSearch

https://bialyorzel24.com/app/plugins/responsive-lightbox/assets/tosrus/jquery.tosrus.js?ver=2.5.0

js bialyorzel24.com collected 2026-10-02 12:38:40 UTC 35,216 bytes, 1,347 lines download raw bytes

1/*
2 *	jQuery Touch Optimized Sliders "R"Us 2.5.0-patched
3 *
4 *	Copyright (c) Fred Heusschen
5 *	www.frebsite.nl
6 *
7 *	Plugin website:
8 *	tosrus.frebsite.nl
9 *
10 *	Licensed under the MIT license.
11 *	http://en.wikipedia.org/wiki/MIT_License
12 */
13(!(function (t) {
14	function i() {
15		((n = function (t) {
16			return e + '-' + t;
17		}),
18			(o = function (t) {
19				return e + '-' + t;
20			}),
21			(a = function (t) {
22				return t + '.' + e;
23			}),
24			t.each([n, o, a], function (t, i) {
25				i.add = function (t) {
26					t = t.split(' ');
27					for (var s in t) i[t[s]] = i(t[s]);
28				};
29			}),
30			n.add(
31				'touch desktop scale-1 scale-2 scale-3 wrapper opened opening fixed inline hover slider slide loading noanimation fastanimation'
32			),
33			o.add('slide anchor'),
34			a.add(
35				'open opening close closing prev next slideTo sliding click pinch scroll resize orientationchange load loading loaded transitionend webkitTransitionEnd'
36			),
37			(r = {
38				complObject: function (i, s) {
39					return (t.isPlainObject(i) || (i = s), i);
40				},
41				complBoolean: function (t, i) {
42					return ('boolean' != typeof t && (t = i), t);
43				},
44				complNumber: function (i, s) {
45					return ((!isNaN(parseFloat(i)) && isFinite(i)) || (i = s), i);
46				},
47				complString: function (t, i) {
48					return ('string' != typeof t && (t = i), t);
49				},
50				isPercentage: function (t) {
51					return 'string' == typeof t && '%' == t.slice(-1);
52				},
53				getPercentage: function (t) {
54					return parseInt(t.slice(0, -1));
55				},
56				resizeRatio: function (t, i, s, e, n) {
57					if (i.is(':visible')) {
58						var o = i.width(),
59							a = i.height();
60						(s && o > s && (o = s),
61							e && a > e && (a = e),
62							n > o / a ? (a = o / n) : (o = a * n),
63							t.width(o).height(a));
64					}
65				},
66				transitionend: function (t, i, s) {
67					var e = !1,
68						n = function () {
69							(e || i.call(t[0]), (e = !0));
70						};
71					(t.one(a.transitionend, n),
72						t.one(a.webkitTransitionEnd, n),
73						setTimeout(n, 1.1 * s));
74				},
75				setViewportScale: function () {
76					if (d.viewportScale) {
77						var t = d.viewportScale.getScale();
78						void 0 !== t &&
79							((t = 1 / t),
80							d.$body
81								.removeClass(n['scale-1'])
82								.removeClass(n['scale-2'])
83								.removeClass(n['scale-3'])
84								.addClass(n['scale-' + Math.max(Math.min(Math.round(t), 3), 1)]));
85					}
86				},
87			}),
88			(d = {
89				$wndw: t(window),
90				$html: t('html'),
91				$body: t('body'),
92				scrollPosition: 0,
93				viewportScale: null,
94				viewportScaleInterval: null,
95			}).$body.addClass(t[s].support.touch ? n.touch : n.desktop),
96			d.$wndw.on(a.scroll, function (t) {
97				d.$body.hasClass(n.opened) &&
98					(window.scrollTo(0, d.scrollPosition),
99					t.preventDefault(),
100					t.stopPropagation(),
101					t.stopImmediatePropagation());
102			}),
103			!d.viewportScale &&
104				t[s].support.touch &&
105				'undefined' != typeof FlameViewportScale &&
106				((d.viewportScale = new FlameViewportScale()),
107				r.setViewportScale(),
108				d.$wndw.on(a.orientationchange + ' ' + a.resize, function (t) {
109					(d.viewportScaleInterval &&
110						(clearTimeout(d.viewportScaleInterval), (d.viewportScaleInterval = null)),
111						(d.viewportScaleInterval = setTimeout(function () {
112							r.setViewportScale();
113						}, 500)));
114				})),
115			(t[s]._c = n),
116			(t[s]._d = o),
117			(t[s]._e = a),
118			(t[s]._f = r),
119			(t[s]._g = d));
120	}
121	var s = 'tosrus',
122		e = 'tos';
123	if (!t[s]) {
124		var n = {},
125			o = {},
126			a = {},
127			r = {},
128			d = {};
129		((t[s] = function (t, i, s) {
130			return (
131				(this.$node = t),
132				(this.opts = i),
133				(this.conf = s),
134				(this.vars = {}),
135				(this.nodes = {}),
136				(this.slides = {}),
137				this._init(),
138				this
139			);
140		}),
141			(t[s].prototype = {
142				_init: function () {
143					var i = this;
144					(this._complementOptions(),
145						(this.vars.fixed = 'window' == this.opts.wrapper.target),
146						(this.nodes.$wrpr = t('<div class="' + n.wrapper + '" />')),
147						(this.nodes.$sldr = t('<div class="' + n.slider + '" />').appendTo(
148							this.nodes.$wrpr
149						)),
150						this.nodes.$wrpr
151							.addClass(this.vars.fixed ? n.fixed : n.inline)
152							.addClass(n('fx-' + this.opts.effect))
153							.addClass(n(this.opts.slides.scale))
154							.addClass(this.opts.wrapper.classes),
155						this.nodes.$wrpr
156							.on(
157								a.open +
158									' ' +
159									a.close +
160									' ' +
161									a.prev +
162									' ' +
163									a.next +
164									' ' +
165									a.slideTo,
166								function (t) {
167									var args = Array.prototype.slice.call(arguments);
168									var s = args.shift().type;
169									t.stopPropagation();
170									'function' == typeof i[s] && i[s].apply(i, args);
171								}
172							)
173							.on(
174								a.opening +
175									' ' +
176									a.closing +
177									' ' +
178									a.sliding +
179									' ' +
180									a.loading +
181									' ' +
182									a.loaded,
183								function (t) {
184									t.stopPropagation();
185								}
186							)
187							.on(a.click, function (s) {
188								switch ((s.stopPropagation(), i.opts.wrapper.onClick)) {
189									case 'toggleUI':
190										i.nodes.$wrpr.toggleClass(n.hover);
191										break;
192									case 'close':
193										t(s.target).is('img') || i.close();
194								}
195							}),
196						(this.nodes.$anchors = this._initAnchors()),
197						(this.nodes.$slides = this._initSlides()),
198						(this.slides.total = this.nodes.$slides.length),
199						(this.slides.visible = this.opts.slides.visible),
200						(this.slides.index = 0),
201						(this.vars.opened = !0));
202					for (var e = 0; e < t[s].addons.length; e++)
203						typeof this['_addon_' + t[s].addons[e]] === 'function' &&
204							this['_addon_' + t[s].addons[e]]();
205					for (var o = 0; o < t[s].ui.length; o++)
206						this.nodes.$wrpr.find('.' + n[t[s].ui[o]]).length &&
207							this.nodes.$wrpr.addClass(n('has-' + t[s].ui[o]));
208					('close' == this.opts.wrapper.onClick &&
209						(this.nodes.$uibg ||
210							t()
211								.add(this.nodes.$capt || t())
212								.add(this.nodes.$pagr || t())
213								.on(a.click, function (t) {
214									t.stopPropagation();
215								})),
216						this.vars.fixed
217							? (this.nodes.$wrpr.appendTo(d.$body), this.close(!0))
218							: (this.nodes.$wrpr.appendTo(this.opts.wrapper.target),
219								this.opts.show
220									? ((this.vars.opened = !1), this.open(0, !0))
221									: this.close(!0)));
222				},
223				open: function (i, s) {
224					var e = this;
225					(this.vars.opened ||
226						(this.vars.fixed &&
227							((d.scrollPosition = d.$wndw.scrollTop()),
228							d.$body.addClass(n.opened),
229							r.setViewportScale()),
230						s
231							? this.nodes.$wrpr.addClass(n.opening).trigger(a.opening, [i, s])
232							: setTimeout(function () {
233									e.nodes.$wrpr.addClass(n.opening).trigger(a.opening, [i, s]);
234								}, 5),
235						this.nodes.$wrpr.addClass(n.hover).addClass(n.opened)),
236						(this.vars.opened = !0),
237						this._loadContents(),
238						!isNaN(parseFloat(i)) &&
239							isFinite(i) &&
240							((s = s || !this.vars.opened), this.slideTo(i, s)));
241				},
242				close: function (i) {
243					(this.vars.opened &&
244						(this.vars.fixed && d.$body.removeClass(n.opened),
245						i
246							? this.nodes.$wrpr.removeClass(n.opened)
247							: r.transitionend(
248									this.nodes.$wrpr,
249									function () {
250										t(this).removeClass(n.opened);
251									},
252									this.conf.transitionDuration
253								),
254						this.nodes.$wrpr
255							.removeClass(n.hover)
256							.removeClass(n.opening)
257							.trigger(a.closing, [this.slides.index, i])),
258						(this.vars.opened = !1));
259				},
260				prev: function (i, s) {
261					((!isNaN(parseFloat(i)) && isFinite(i)) || (i = this.opts.slides.slide),
262						this.slideTo(this.slides.index - i, s));
263				},
264				next: function (i, s) {
265					((!isNaN(parseFloat(i)) && isFinite(i)) || (i = this.opts.slides.slide),
266						this.slideTo(this.slides.index + i, s));
267				},
268				slideTo: function (i, e) {
269					if (!this.vars.opened) return !1;
270					if (!(!isNaN(parseFloat(i)) && isFinite(i))) return !1;
271					var o = !0;
272					if (0 > i) {
273						var d = 0 == this.slides.index;
274						this.opts.infinite
275							? (i = d ? this.slides.total - this.slides.visible : 0)
276							: ((i = 0), d && (o = !1));
277					}
278					if (i + this.slides.visible > this.slides.total) {
279						var l = this.slides.index + this.slides.visible >= this.slides.total;
280						this.opts.infinite
281							? (i = l ? 0 : this.slides.total - this.slides.visible)
282							: ((i = this.slides.total - this.slides.visible), l && (o = !1));
283					}
284					if (((this.slides.index = i), this._loadContents(), o)) {
285						var p =
286							0 -
287							this.slides.index * this.opts.slides.width +
288							this.opts.slides.offset;
289						(this.slides.widthPercentage && (p += '%'),
290							e &&
291								(this.nodes.$sldr.addClass(n.noanimation),
292								r.transitionend(
293									this.nodes.$sldr,
294									function () {
295										t(this).removeClass(n.noanimation);
296									},
297									5
298								)));
299						for (var c in t[s].effects)
300							if (c == this.opts.effect) {
301								t[s].effects[c].call(this, p, e);
302								break;
303							}
304						this.nodes.$wrpr.trigger(a.sliding, [i, e]);
305					}
306				},
307				_initAnchors: function () {
308					var i = this,
309						e = t();
310					if (this.$node.is('a'))
311						for (var n in t[s].media)
312							e = e.add(
313								this.$node.filter(function () {
314									if (i.opts.media[n] && i.opts.media[n].filterAnchors) {
315										var e = i.opts.media[n].filterAnchors.call(i, t(this));
316										if ('boolean' == typeof e) return e;
317									}
318									return t[s].media[n].filterAnchors.call(i, t(this));
319								})
320							);
321					return e;
322				},
323				_initSlides: function () {
324					return (
325						this[
326							this.$node.is('a') ? '_initSlidesFromAnchors' : '_initSlidesFromContent'
327						](),
328						this.nodes.$sldr
329							.children()
330							.css(
331								'width',
332								this.opts.slides.width + (this.slides.widthPercentage ? '%' : 'px')
333							)
334					);
335				},
336				_initSlidesFromAnchors: function () {
337					var i = this;
338					this.nodes.$anchors.each(function (s) {
339						var e = t(this),
340							r = t('<div class="' + n.slide + ' ' + n.loading + '" />')
341								.data(o.anchor, e)
342								.appendTo(i.nodes.$sldr);
343						e.data(o.slide, r).on(a.click, function (t) {
344							(t.preventDefault(), i.open(s));
345						});
346					});
347				},
348				_initSlidesFromContent: function () {
349					var i = this;
350					this.$node.children().each(function () {
351						var e = t(this);
352						t('<div class="' + n.slide + '" />')
353							.append(e)
354							.appendTo(i.nodes.$sldr);
355						for (var o in t[s].media) {
356							var a = null;
357							if (
358								(i.opts.media[o] &&
359									i.opts.media[o].filterSlides &&
360									(a = i.opts.media[o].filterSlides.call(i, e)),
361								'boolean' != typeof a &&
362									(a = t[s].media[o].filterSlides.call(i, e)),
363								a)
364							) {
365								(t[s].media[o].initSlides.call(i, e), e.parent().addClass(n(o)));
366								break;
367							}
368						}
369					});
370				},
371				_loadContents: function () {
372					var t = this;
373					switch (this.opts.slides.load) {
374						case 'all':
375							this._loadContent(0, this.slides.total);
376							break;
377						case 'visible':
378							this._loadContent(
379								this.slides.index,
380								this.slides.index + this.slides.visible
381							);
382							break;
383						case 'near-visible':
384						default:
385							(this._loadContent(
386								this.slides.index,
387								this.slides.index + this.slides.visible
388							),
389								setTimeout(function () {
390									(t._loadContent(
391										t.slides.index - t.slides.visible,
392										t.slides.index
393									),
394										t._loadContent(
395											t.slides.index + t.slides.visible,
396											t.slides.index + 2 * t.slides.visible
397										));
398								}, this.conf.transitionDuration));
399					}
400				},
401				_loadContent: function (i, e) {
402					var r = this;
403					this.nodes.$slides.slice(i, e).each(function () {
404						var i = t(this);
405						if (0 == i.children().length) {
406							var e = i.data(o.anchor),
407								d = e.attr('href');
408							for (var l in t[s].media) {
409								var p = null;
410								if (
411									(r.opts.media[l] &&
412										r.opts.media[l].filterAnchors &&
413										(p = r.opts.media[l].filterAnchors.call(r, e)),
414									'boolean' != typeof p &&
415										(p = t[s].media[l].filterAnchors.call(r, e)),
416									p)
417								) {
418									(t[s].media[l].initAnchors.call(r, i, d), i.addClass(n(l)));
419									break;
420								}
421							}
422							i.trigger(a.loading, [i.data(o.anchor)]);
423						}
424					});
425				},
426				_complementOptions: function () {
427					if (
428						(void 0 === this.opts.wrapper.target &&
429							(this.opts.wrapper.target = this.$node.is('a') ? 'window' : this.$node),
430						'window' != this.opts.wrapper.target &&
431							'string' == typeof this.opts.wrapper.target &&
432							(this.opts.wrapper.target = t(this.opts.wrapper.target)),
433						(this.opts.show = r.complBoolean(
434							this.opts.show,
435							'window' != this.opts.wrapper.target
436						)),
437						!isNaN(parseFloat(this.opts.slides.width)) &&
438							isFinite(this.opts.slides.width))
439					)
440						((this.slides.widthPercentage = !1),
441							(this.opts.slides.visible = r.complNumber(
442								this.opts.slides.visible,
443								1
444							)));
445					else {
446						var i =
447							!!r.isPercentage(this.opts.slides.width) &&
448							r.getPercentage(this.opts.slides.width);
449						((this.slides.widthPercentage = !0),
450							(this.opts.slides.visible = r.complNumber(
451								this.opts.slides.visible,
452								i ? Math.floor(100 / i) : 1
453							)),
454							(this.opts.slides.width =
455								i || Math.ceil(1e4 / this.opts.slides.visible) / 100));
456					}
457					((this.opts.slides.slide = r.complNumber(
458						this.opts.slides.slide,
459						this.opts.slides.visible
460					)),
461						(this.opts.slides.offset = r.isPercentage(this.opts.slides.offset)
462							? r.getPercentage(this.opts.slides.offset)
463							: r.complNumber(this.opts.slides.offset, 0)));
464				},
465				_uniqueID: function () {
466					return (
467						this.__uniqueID || (this.__uniqueID = 0),
468						this.__uniqueID++,
469						n('uid-' + this.__uniqueID)
470					);
471				},
472			}),
473			(t.fn[s] = function (e, n, o, a) {
474				(d.$wndw || i(),
475					(e = t.extend(!0, {}, t[s].defaults, e)),
476					(e = t.extend(!0, {}, e, t[s].support.touch ? o : n)),
477					(a = t.extend(!0, {}, t[s].configuration, a)));
478				var r = new t[s](this, e, a);
479				return (this.data(s, r), r.nodes.$wrpr);
480			}),
481			(t[s].support = {
482				touch: 'ontouchstart' in window.document || navigator.msMaxTouchPoints,
483			}),
484			(t[s].defaults = {
485				infinite: !1,
486				effect: 'slide',
487				wrapper: {
488					classes: '',
489					onClick: 'toggleUI',
490				},
491				slides: {
492					offset: 0,
493					scale: 'fit',
494					load: 'near-visible',
495					visible: 1,
496				},
497				media: {},
498			}),
499			(t[s].configuration = {
500				transitionDuration: 400,
501			}),
502			(t[s].constants = {}),
503			(t[s].debug = function (t) {}),
504			(t[s].deprecated = function (t, i) {
505				'undefined' != typeof console &&
506					void 0 !== console.warn &&
507					console.warn(s + ': ' + t + ' is deprecated, use ' + i + ' instead.');
508			}),
509			(t[s].effects = {
510				slide: function (t) {
511					this.nodes.$sldr.css('left', t);
512				},
513				fade: function (i) {
514					(r.transitionend(
515						this.nodes.$sldr,
516						function () {
517							t(this).css('left', i).css('opacity', 1);
518						},
519						this.conf.transitionDuration
520					),
521						this.nodes.$sldr.css('opacity', 0));
522				},
523			}),
524			(t[s].version = '2.5.0'),
525			(t[s].media = {}),
526			(t[s].addons = []),
527			(t[s].ui = []));
528	}
529})(jQuery),
530	(function (t) {
531		var i,
532			s,
533			e,
534			n,
535			o,
536			a = 'tosrus',
537			r = 'autoplay',
538			d = !1;
539		((t[a].prototype['_addon_' + r] = function () {
540			d ||
541				((i = t[a]._c),
542				(s = t[a]._d),
543				(e = t[a]._e),
544				(n = t[a]._f),
545				(o = t[a]._g),
546				e.add('mouseover mouseout'),
547				(d = !0));
548			var l = this,
549				p = this.opts[r];
550			p.play &&
551				((this.opts.infinite = !0),
552				this.nodes.$wrpr.on(e.sliding, function (t) {
553					l.autoplay();
554				}),
555				p.pauseOnHover &&
556					this.nodes.$wrpr
557						.on(e.mouseover, function (t) {
558							l.autostop();
559						})
560						.on(e.mouseout, function (t) {
561							l.autoplay();
562						}),
563				this.autoplay());
564		}),
565			(t[a].prototype.autoplay = function () {
566				var t = this;
567				(this.autostop(),
568					(this.vars.autoplay = setTimeout(function () {
569						t.next();
570					}, this.opts[r].timeout)));
571			}),
572			(t[a].prototype.autostop = function () {
573				this.vars.autoplay && clearTimeout(this.vars.autoplay);
574			}),
575			(t[a].defaults[r] = {
576				play: !1,
577				timeout: 4e3,
578				pauseOnHover: !1,
579			}),
580			t[a].addons.push(r));
581	})(jQuery),
582	(function (t) {
583		function i(i, s) {
584			return t('<a class="' + e[i] + s + '" href="#"><span></span></a>');
585		}
586
587		function s(t, i, s, e) {
588			i.on(o.click, function (i) {
589				(i.preventDefault(), i.stopPropagation(), t.trigger(o[s], [e]));
590			});
591		}
592		var e,
593			n,
594			o,
595			a,
596			r,
597			d = 'tosrus',
598			l = 'buttons',
599			p = !1;
600		((t[d].prototype['_addon_' + l] = function () {
601			p ||
602				((e = t[d]._c),
603				(n = t[d]._d),
604				(o = t[d]._e),
605				(a = t[d]._f),
606				(r = t[d]._g),
607				e.add('prev next close disabled'),
608				(p = !0));
609			var c = this,
610				h = this.opts[l];
611			((this.nodes.$prev = null),
612				(this.nodes.$next = null),
613				(this.nodes.$clse = null),
614				('boolean' == typeof h || ('string' == typeof h && 'inline' == h)) &&
615					(h = {
616						prev: h,
617						next: h,
618					}),
619				void 0 === h.close && (h.close = this.vars.fixed),
620				this.nodes.$slides.length < 2 && ((h.prev = !1), (h.next = !1)),
621				t.each(
622					{
623						prev: 'prev',
624						next: 'next',
625						close: 'clse',
626					},
627					function (n, a) {
628						h[n] &&
629							('string' == typeof h[n] && 'inline' == h[n]
630								? c.vars.fixed &&
631									'close' != n &&
632									c.nodes.$slides.on(o.loading, function (o, a) {
633										var r = i(n, ' ' + e.inline)[
634											'prev' == n ? 'prependTo' : 'appendTo'
635										](this);
636										(s(c.nodes.$wrpr, r, n, 1),
637											c.opts.infinite ||
638												((('prev' == n && t(this).is(':first-child')) ||
639													('next' == n && t(this).is(':last-child'))) &&
640													r.addClass(e.disabled)));
641									})
642								: ('string' == typeof h[n] && (h[n] = t(h[n])),
643									(c.nodes['$' + a] =
644										h[n] instanceof t
645											? h[n]
646											: i(n, '').appendTo(c.nodes.$wrpr)),
647									s(c.nodes.$wrpr, c.nodes['$' + a], n, null)));
648					}
649				),
650				this.opts.infinite ||
651					(this.updateButtons(),
652					this.nodes.$wrpr.on(o.sliding, function (t, i, s) {
653						c.updateButtons();
654					})));
655		}),
656			(t[d].prototype.updateButtons = function () {
657				(this.nodes.$prev &&
658					this.nodes.$prev[(this.slides.index < 1 ? 'add' : 'remove') + 'Class'](
659						e.disabled
660					),
661					this.nodes.$next &&
662						this.nodes.$next[
663							(this.slides.index >= this.slides.total - this.slides.visible
664								? 'add'
665								: 'remove') + 'Class'
666						](e.disabled));
667			}),
668			(t[d].defaults[l] = {
669				prev: !t[d].support.touch,
670				next: !t[d].support.touch,
671			}),
672			t[d].addons.push(l),
673			t[d].ui.push('prev'),
674			t[d].ui.push('next'),
675			t[d].ui.push('close'));
676	})(jQuery),
677	(function (t) {
678		var i,
679			s,
680			e,
681			n,
682			o,
683			a = 'tosrus',
684			r = 'caption',
685			d = !1;
686		((t[a].prototype['_addon_' + r] = function () {
687			d ||
688				((i = t[a]._c),
689				(s = t[a]._d),
690				(e = t[a]._e),
691				(n = t[a]._f),
692				(o = t[a]._g),
693				i.add('caption uibg'),
694				s.add('caption'),
695				(d = !0));
696			var l = this,
697				p = this.opts[r];
698			if (p.add) {
699				((p.attributes = p.attributes || []),
700					'string' == typeof p.target && (p.target = t(p.target)),
701					p.target instanceof t
702						? (this.nodes.$capt = p.target)
703						: ((this.nodes.$capt = t('<div class="' + i.caption + '" />').appendTo(
704								this.nodes.$wrpr
705							)),
706							this.nodes.$uibg ||
707								(this.nodes.$uibg = t('<div class="' + i.uibg + '" />').prependTo(
708									this.nodes.$wrpr
709								))));
710				for (var c = 0, h = this.slides.visible; h > c; c++)
711					t('<div class="' + i.caption + '-' + c + '" />')
712						.css(
713							'width',
714							this.opts.slides.width + (this.slides.widthPercentage ? '%' : 'px')
715						)
716						.appendTo(this.nodes.$capt);
717				(this.nodes.$slides.each(function (i) {
718					var e = t(this),
719						n = l.vars.fixed ? e.data(s.anchor) : e.children();
720					e.data(s.caption, '');
721					for (var o = 0, a = p.attributes.length; a > o; o++) {
722						var r = n.attr(p.attributes[o]);
723						if (r && r.length) {
724							e.data(s.caption, r);
725							break;
726						}
727					}
728				}),
729					this.nodes.$wrpr.on(e.sliding, function (t, i, e) {
730						for (var n = 0, o = l.slides.visible; o > n; n++)
731							l.nodes.$capt
732								.children()
733								.eq(n)
734								.html(
735									window.RLG && window.RLG.sanitizeHtml
736										? window.RLG.sanitizeHtml(
737												l.nodes.$sldr
738													.children()
739													.eq(l.slides.index + n)
740													.data(s.caption) || ''
741											)
742										: l.nodes.$sldr
743												.children()
744												.eq(l.slides.index + n)
745												.data(s.caption) || ''
746								);
747					}));
748			}
749		}),
750			(t[a].defaults[r] = {
751				add: !1,
752				target: null,
753				attributes: ['title', 'alt', 'rel'],
754			}),
755			t[a].addons.push(r),
756			t[a].ui.push('caption'));
757	})(jQuery),
758	(function (t) {
759		var i,
760			s,
761			e,
762			n,
763			o,
764			a = 'tosrus',
765			r = 'drag',
766			d = !1;
767		((t[a].prototype['_addon_' + r] = function () {
768			d ||
769				((i = t[a]._c),
770				(s = t[a]._d),
771				(e = t[a]._e),
772				(n = t[a]._f),
773				(o = t[a]._g),
774				(d = !0));
775			var l = this;
776			if (this.opts[r] && 'slide' == this.opts.effect) {
777				if (this.nodes.$slides.length > 1) {
778					var p = 0,
779						c = !1,
780						h = !1,
781						u = null,
782						f = null,
783						v = 0;
784
785					this.nodes.$wrpr.on(
786						'touchstart pointerdown MSPointerDown mousedown',
787						function (t) {
788							var e = t.originalEvent.touches
789								? t.originalEvent.touches[0]
790								: t.originalEvent;
791							((u = e.pageX),
792								(f = e.pageY),
793								(c = !1),
794								(h = !1),
795								(v = new Date().getTime()));
796						}
797					);
798
799					this.nodes.$wrpr.on(
800						'touchmove pointermove MSPointerMove mousemove',
801						function (t) {
802							if (u !== null) {
803								var e = t.originalEvent.touches
804									? t.originalEvent.touches[0]
805									: t.originalEvent;
806								var deltaY = e.pageY - f;
807								p = e.pageX - u;
808
809								if (typeof c === 'undefined' || c === !1) {
810									c = Math.abs(p) > Math.abs(deltaY) ? 'horizontal' : 'vertical';
811								}
812
813								if (c == 'horizontal') {
814									t.preventDefault();
815									l.nodes.$sldr.addClass(i.noanimation);
816
817									var r = p;
818									if (
819										(p < 0 &&
820											l.slides.index + l.slides.visible >= l.slides.total) ||
821										(p >
821 0 && 0 == l.slides.index)
822									) {
823										r /= 2.5;
824									}
825									l.nodes.$sldr.css('margin-left', Math.round(r));
826								}
827							}
828						}
829					);
830
831					this.nodes.$wrpr.on(
832						'touchend touchcancel pointerup pointercancel MSPointerUp MSPointerCancel mouseup mouseleave',
833						function (t) {
834							if (u !== null && c == 'horizontal') {
835								l.nodes.$sldr.removeClass(i.noanimation).addClass(i.fastanimation);
836								n.transitionend(
837									l.nodes.$sldr,
838									function () {
839										l.nodes.$sldr.removeClass(i.fastanimation);
840									},
841									l.conf.transitionDuration / 2
842								);
843								l.nodes.$sldr.css('margin-left', 0);
844
845								var r = new Date().getTime() - v;
846								if (r < 300 && Math.abs(p) > 20) {
847									h = !0;
848								}
849
850								if (p < 0 || p > 0) {
851									if (h) o = l.slides.visible;
852									else {
853										var s = l.nodes.$slides.first().width();
854										o = Math.floor((Math.abs(p) + s / 2) / s);
855									}
856									if (o > 0) {
857										l.nodes.$wrpr.trigger(e[p < 0 ? 'next' : 'prev'], [o]);
858									}
859								}
860							}
861							((u = null), (c = !1), (h = !1));
862						}
863					);
864				}
865			}
866		}),
867			(t[a].defaults[r] = t[a].support.touch),
868			t[a].addons.push(r));
869	})(jQuery),
870	(function (t) {
871		var i,
872			s,
873			e,
874			n,
875			o,
876			a = 'tosrus',
877			r = 'keys',
878			d = !1;
879		((t[a].prototype['_addon_' + r] = function () {
880			d ||
881				((i = t[a]._c),
882				(s = t[a]._d),
883				(e = t[a]._e),
884				(n = t[a]._f),
885				(o = t[a]._g),
886				e.add('keyup'),
887				(d = !0));
888			var l = this,
889				p = this.opts[r];
890			if (
891				('boolean' == typeof p &&
892					p &&
893					(p = {
894						prev: !0,
895						next: !0,
896						close: !0,
897					}),
898				t.isPlainObject(p))
899			) {
900				for (var c in t[a].constants[r])
901					'boolean' == typeof p[c] && p[c] && (p[c] = t[a].constants[r][c]);
902				(this.nodes.$slides.length < 2 && ((p.prev = !1), (p.next = !1)),
903					t(document).on(e.keyup, function (t) {
904						if (l.vars.opened) {
905							var i = !1;
906							switch (t.keyCode) {
907								case p.prev:
908									i = e.prev;
909									break;
910								case p.next:
911									i = e.next;
912									break;
913								case p.close:
914									i = e.close;
915							}
916							i &&
917								(t.preventDefault(), t.stopPropagation(), l.nodes.$wrpr.trigger(i));
918						}
919					}));
920			}
921		}),
922			(t[a].defaults[r] = !1),
923			(t[a].constants[r] = {
924				prev: 37,
925				next: 39,
926				close: 27,
927			}),
928			t[a].addons.push(r));
929	})(jQuery),
930	(function (t) {
931		var i,
932			s,
933			e,
934			n,
935			o,
936			a = 'tosrus',
937			r = 'pagination',
938			d = !1;
939
940		function getAllowedMediaUrl(url) {
941			if (window.RLG && window.RLG.isAllowedMediaUrl) {
942				return window.RLG.isAllowedMediaUrl(url) ? url : '';
943			}
944
945			if (
946				window.RLG &&
947				window.RLG.sanitizeConfig &&
948				window.RLG.sanitizeConfig.ALLOWED_URI_REGEXP &&
949				!window.RLG.sanitizeConfig.ALLOWED_URI_REGEXP.test(url)
950			) {
951				return '';
952			}
953
954			return url;
955		}
956
957		function buildThumbnailAnchor(url) {
958			var anchor = t('<a href="#"></a>');
959
960			if (url) anchor.css('background-image', 'url("' + url + '")');
961
962			return anchor;
963		}
964		((t[a].prototype['_addon_' + r] = function () {
965			d ||
966				((i = t[a]._c),
967				(s = t[a]._d),
968				(e = t[a]._e),
969				(n = t[a]._f),
970				(o = t[a]._g),
971				i.add('pagination selected uibg bullets thumbnails'),
972				(d = !0));
973			var l = this,
974				p = this.opts[r];
975			if ((this.nodes.$slides.length < 2 && (p.add = !1), p.add)) {
976				if (
977					('string' == typeof p.target && (p.target = t(p.target)),
978					p.target instanceof t
979						? (this.nodes.$pagr = p.target)
980						: ((this.nodes.$pagr = t(
981								'<div class="' + i.pagination + ' ' + i[p.type] + '" />'
982							).appendTo(this.nodes.$wrpr)),
983							this.nodes.$uibg ||
984								(this.nodes.$uibg = t('<div class="' + i.uibg + '" />').prependTo(
985									this.nodes.$wrpr
986								))),
987					'function' != typeof p.anchorBuilder)
988				)
989					switch (p.type) {
990						case 'thumbnails':
991							this.vars.fixed
992								? (p.anchorBuilder = function (i) {
993										return buildThumbnailAnchor(
994											getAllowedMediaUrl(t(this).data(s.anchor).attr('href'))
995										);
996									})
997								: (p.anchorBuilder = function (i) {
998										return buildThumbnailAnchor(
999											getAllowedMediaUrl(t(this).find('img').attr('src'))
1000										);
1001									});
1002							break;
1003						case 'bullets':
1004						default:
1005							p.anchorBuilder = function (t) {
1006								return '<a href="#"></a>';
1007							};
1008					}
1009				(this.nodes.$slides.each(function (i) {
1010					t(p.anchorBuilder.call(this, i + 1))
1011						.appendTo(l.nodes.$pagr)
1012						.on(e.click, function (t) {
1013							(t.preventDefault(),
1014								t.stopPropagation(),
1015								l.nodes.$wrpr.trigger(e.slideTo, [i]));
1016						});
1017				}),
1018					this.updatePagination(),
1019					this.nodes.$wrpr.on(e.sliding, function (t, i, s) {
1020						l.updatePagination();
1021					}));
1022			}
1023		}),
1024			(t[a].prototype.updatePagination = function () {
1025				this.nodes.$pagr &&
1026					this.nodes.$pagr
1027						.children()
1028						.removeClass(i.selected)
1029						.eq(this.slides.index)
1030						.addClass(i.selected);
1031			}),
1032			(t[a].defaults[r] = {
1033				add: !1,
1034				type: 'bullets',
1035				target: null,
1036				anchorBuilder: null,
1037			}),
1038			t[a].addons.push(r),
1039			t[a].ui.push('pagination'),
1040			t[a].ui.push('bullets'),
1041			t[a].ui.push('thumbnails'));
1042	})(jQuery),
1043	(function (t) {
1044		var i = 'tosrus',
1045			s = 'html';
1046		((t[i].media[s] = {
1047			filterAnchors: function (i) {
1048				var s = i.attr('href');
1049				return '#' == s.slice(0, 1) && t(s).is('div');
1050			},
1051			initAnchors: function (s, e) {
1052				var content = t(e).html(); // Get inner HTML
1053				var sanitized =
1054					window.RLG && window.RLG.sanitizeHtml
1055						? window.RLG.sanitizeHtml(content)
1056						: content; // Fallback if RLG unavailable
1057				t('<div class="' + t[i]._c('html') + '" />')
1058					.html(sanitized)
1059					.appendTo(s); // Use sanitized HTML
1060				s.removeClass(t[i]._c.loading).trigger(t[i]._e.loaded);
1061			},
1062			filterSlides: function (t) {
1063				return t.is('div');
1064			},
1065			initSlides: function (t) {},
1066		}),
1067			(t[i].defaults.media[s] = {}));
1068	})(jQuery),
1069	(function (t) {
1070		var i = 'tosrus',
1071			s = 'image';
1072
1073		function getAllowedMediaUrl(url) {
1074			if (window.RLG && window.RLG.isAllowedMediaUrl) {
1075				return window.RLG.isAllowedMediaUrl(url) ? url : '';
1076			}
1077
1078			if (
1079				window.RLG &&
1080				window.RLG.sanitizeConfig &&
1081				window.RLG.sanitizeConfig.ALLOWED_URI_REGEXP &&
1082				!window.RLG.sanitizeConfig.ALLOWED_URI_REGEXP.test(url)
1083			) {
1084				return '';
1085			}
1086
1087			return url;
1088		}
1089		((t[i].media[s] = {
1090			filterAnchors: function (i) {
1091				return (
1092					t.inArray(i.attr('href').toLowerCase().split('.').pop().split('?')[0], [
1093						'jpg',
1094						'jpe',
1095						'jpeg',
1096						'gif',
1097						'png',
1098						'webp',
1099					]) > -1
1100				);
1101			},
1102			initAnchors: function (s, e) {
1103				if (!getAllowedMediaUrl(e)) {
1104					return; // Skip invalid URIs
1105				}
1106				t('<img border="0" />')
1107					.on(t[i]._e.load, function (e) {
1108						(e.stopPropagation(),
1109							s.removeClass(t[i]._c.loading).trigger(t[i]._e.loaded));
1110					})
1111					.appendTo(s)
1112					.attr('src', e);
1113			},
1114			filterSlides: function (t) {
1115				return t.is('img');
1116			},
1117			initSlides: function (t) {},
1118		}),
1119			(t[i].defaults.media[s] = {}));
1120	})(jQuery),
1121	(function (t) {
1122		function i(i) {
1123			function p() {
1124				c.length && (c.attr('src', ''), c.attr('src', u));
1125			}
1126			l ||
1127				((s = t[r]._c),
1128				(e = t[r]._d),
1129				(n = t[r]._e),
1130				(o = t[r]._f),
1131				(a = t[r]._g),
1132				e.add('ratio maxWidth maxHeight'),
1133				(l = !0));
1134			var c = i.children(),
1135				h = i.data(t[r]._d.anchor) || t(),
1136				u = c.attr('src'),
1137				f = h.data(e.ratio) || this.opts[d].ratio,
1138				v = h.data(e.maxWidth) || this.opts[d].maxWidth,
1139				g = h.data(e.maxHeight) || this.opts[d].maxHeight;
1140			(i
1141				.removeClass(s.loading)
1142				.trigger(n.loaded)
1143				.on(n.loading, function (t) {
1144					o.resizeRatio(c, i, v, g, f);
1145				}),
1146				this.nodes.$wrpr
1147					.on(n.sliding, function (t) {
1148						p();
1149					})
1150					.on(n.opening, function (t) {
1151						o.resizeRatio(c, i, v, g, f);
1152					})
1153					.on(n.closing, function (t) {
1154						p();
1155					}),
1156				a.$wndw.on(n.resize, function (t) {
1157					o.resizeRatio(c, i, v, g, f);
1158				}));
1159		}
1160		var s,
1161			e,
1162			n,
1163			o,
1164			a,
1165			r = 'tosrus',
1166			d = 'vimeo',
1167			l = !1;
1168		((t[r].media[d] = {
1169			filterAnchors: function (t) {
1170				return t.attr('href').toLowerCase().indexOf('vimeo.com/') > -1;
1171			},
1172			initAnchors: function (s, e) {
1173				var n = this._uniqueID();
1174				var videoId = e.split('vimeo.com/')[1].split('?')[0].replace(/\D/g, '');
1175
1176				if (!videoId) {
1177					return;
1178				}
1179
1180				var url = 'https://player.vimeo.com/video/' + videoId + '?api=1&player_id=' + n;
1181				if (
1182					window.RLG &&
1183					window.RLG.isAllowedEmbedUrl &&
1184					!window.RLG.isAllowedEmbedUrl(url)
1185				) {
1186					return; // Skip disallowed embeds
1187				}
1188				t('<iframe/>', {
1189					id: n,
1190					src: url,
1191					frameborder: 0,
1192					allowfullscreen: 'allowfullscreen',
1193				}).appendTo(s);
1194				i.call(this, s);
1195			},
1196			filterSlides: function (t) {
1197				return (
1198					!(!t.is('iframe') || !t.attr('src')) &&
1199					t.attr('src').toLowerCase().indexOf('vimeo.com/video/') > -1
1200				);
1201			},
1202			initSlides: function (t) {
1203				i.call(this, t);
1204			},
1205		}),
1206			(t[r].defaults.media[d] = {}),
1207			(t[r].defaults[d] = {
1208				ratio: 16 / 9,
1209				maxWidth: !1,
1210				maxHeight: !1,
1211			}));
1212	})(jQuery),
1213	(function (t) {
1214		function i(i) {
1215			function p(t) {
1216				c.length &&
1217					c[0].contentWindow.postMessage(
1218						'{ "event": "command", "func": "' + t + 'Video" }',
1219						'*'
1220					);
1221			}
1222			l ||
1223				((s = t[r]._c),
1224				(e = t[r]._d),
1225				(n = t[r]._e),
1226				(o = t[r]._f),
1227				(a = t[r]._g),
1228				e.add('ratio maxWidth maxHeight'),
1229				(l = !0));
1230			var c = i.children(),
1231				h = i.data(t[r]._d.anchor) || t(),
1232				u = h.data(e.ratio) || this.opts[d].ratio,
1233				f = h.data(e.maxWidth) || this.opts[d].maxWidth,
1234				v = h.data(e.maxHeight) || this.opts[d].maxHeight;
1235			(i
1236				.removeClass(s.loading)
1237				.trigger(n.loaded)
1238				.on(n.loading, function (t) {
1239					o.resizeRatio(c, i, f, v, u);
1240				}),
1241				this.nodes.$wrpr
1242					.on(n.sliding, function (t) {
1243						p('pause');
1244					})
1245					.on(n.opening, function (t) {
1246						o.resizeRatio(c, i, f, v, u);
1247					})
1248					.on(n.closing, function (t) {
1249						p('stop');
1250					}),
1251				a.$wndw.on(n.resize, function (t) {
1252					o.resizeRatio(c, i, f, v, u);
1253				}));
1254		}
1255		var s,
1256			e,
1257			n,
1258			o,
1259			a,
1260			r = 'tosrus',
1261			d = 'youtube',
1262			l = !1;
1263
1264		function getAllowedMediaUrl(url) {
1265			if (window.RLG && window.RLG.isAllowedMediaUrl) {
1266				return window.RLG.isAllowedMediaUrl(url) ? url : '';
1267			}
1268
1269			if (
1270				window.RLG &&
1271				window.RLG.sanitizeConfig &&
1272				window.RLG.sanitizeConfig.ALLOWED_URI_REGEXP &&
1273				!window.RLG.sanitizeConfig.ALLOWED_URI_REGEXP.test(url)
1274			) {
1275				return '';
1276			}
1277
1278			return url;
1279		}
1280		((t[r].media[d] = {
1281			filterAnchors: function (t) {
1282				return t.attr('href').toLowerCase().indexOf('youtube.com/watch?v=') > -1;
1283			},
1284			initAnchors: function (s, e) {
1285				var videoId = e.split('?v=')[1].split('&')[0].replace(/[^a-zA-Z0-9_-]/g, '');
1286
1287				if (!videoId) {
1288					return;
1289				}
1290
1291				if (this.opts[d].imageLink) {
1292					var thumbnailUrl = 'https://img.youtube.com/vi/' + videoId + '/0.jpg';
1293					var watchUrl = 'https://www.youtube.com/watch?v=' + videoId;
1294					if (
1295						getAllowedMediaUrl(thumbnailUrl) &&
1296						!(window.RLG && window.RLG.isAllowedEmbedUrl && !window.RLG.isAllowedEmbedUrl(watchUrl))
1297					) {
1298						t('<a/>', {
1299							href: watchUrl,
1300							class: t[r]._c('play'),
1301							target: '_blank',
1302							rel: 'noopener noreferrer',
1303						}).appendTo(s);
1304						t('<img border="0" />')
1305							.on(t[r]._e.load, function (i) {
1306								(i.stopPropagation(),
1307									s.removeClass(t[r]._c.loading).trigger(t[r]._e.loaded));
1308							})
1309							.appendTo(s)
1310							.attr('src', thumbnailUrl);
1311					}
1312				} else {
1313					var url = 'https://www.youtube.com/embed/' + videoId + '?enablejsapi=1';
1314					if (
1315						!(
1316							window.RLG &&
1317							window.RLG.isAllowedEmbedUrl &&
1318							!window.RLG.isAllowedEmbedUrl(url)
1319						)
1320					) {
1321						t('<iframe/>', {
1322							src: url,
1323							frameborder: 0,
1324							allowfullscreen: 'allowfullscreen',
1325						}).appendTo(s);
1326						i.call(this, s);
1327					}
1328				}
1329			},
1330			filterSlides: function (t) {
1331				return (
1332					!(!t.is('iframe') || !t.attr('src')) &&
1333					t.attr('src').toLowerCase().indexOf('youtube.com/embed/') > -1
1334				);
1335			},
1336			initSlides: function (t) {
1337				i.call(this, t);
1338			},
1339		}),
1340			(t[r].defaults.media[d] = {}),
1341			(t[r].defaults[d] = {
1342				ratio: 16 / 9,
1343				maxWidth: !1,
1344				maxHeight: !1,
1345				imageLink: t[r].support.touch,
1346			}));
1347	})(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.