PageSourceSearch

https://digital-culture.ru/bitrix/cache/js/s1/culture/template_549…cb67dc637bb9ba89504_v1.js?17914356371130116

js digital-culture.ru collected 2026-10-08 05:17:48 UTC 1,130,116 bytes, 15,803 lines download raw bytes

vendor: 4,503 bytes, lines 1-156
1
2; /* Start:"a:4:{s:4:"full";s:60:"/local/templates/culture/build/js/jquery.js?1766567244293671";s:6:"source";s:43:"/local/templates/culture/build/js/jquery.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
3/*!
4 * jQuery JavaScript Library v3.6.3
5 * https://jquery.com/
6 *
7 * Includes Sizzle.js
8 * https://sizzlejs.com/
9 *
10 * Copyright OpenJS Foundation and other contributors
11 * Released under the MIT license
12 * https://jquery.org/license
13 *
14 * Date: 2022-12-20T21:28Z
15 */
16( function( global, factory ) {
17
18	"use strict";
19
20	if ( typeof module === "object" && typeof module.exports === "object" ) {
21
22		// For CommonJS and CommonJS-like environments where a proper `window`
23		// is present, execute the factory and get jQuery.
24		// For environments that do not have a `window` with a `document`
25		// (such as Node.js), expose a factory as module.exports.
26		// This accentuates the need for the creation of a real `window`.
27		// e.g. var jQuery = require("jquery")(window);
28		// See ticket trac-14549 for more info.
29		module.exports = global.document ?
30			factory( global, true ) :
31			function( w ) {
32				if ( !w.document ) {
33					throw new Error( "jQuery requires a window with a document" );
34				}
35				return factory( w );
36			};
37	} else {
38		factory( global );
39	}
40
41// Pass this if window is not defined yet
42} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
43
44// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
45// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
46// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
47// enough that all such attempts are guarded in a try block.
48"use strict";
49
50var arr = [];
51
52var getProto = Object.getPrototypeOf;
53
54var slice = arr.slice;
55
56var flat = arr.flat ? function( array ) {
57	return arr.flat.call( array );
58} : function( array ) {
59	return arr.concat.apply( [], array );
60};
61
62
63var push = arr.push;
64
65var indexOf = arr.indexOf;
66
67var class2type = {};
68
69var toString = class2type.toString;
70
71var hasOwn = class2type.hasOwnProperty;
72
73var fnToString = hasOwn.toString;
74
75var ObjectFunctionString = fnToString.call( Object );
76
77var support = {};
78
79var isFunction = function isFunction( obj ) {
80
81		// Support: Chrome <=57, Firefox <=52
82		// In some browsers, typeof returns "function" for HTML <object> elements
83		// (i.e., `typeof document.createElement( "object" ) === "function"`).
84		// We don't want to classify *any* DOM node as a function.
85		// Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5
86		// Plus for old WebKit, typeof returns "function" for HTML collections
87		// (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756)
88		return typeof obj === "function" && typeof obj.nodeType !== "number" &&
89			typeof obj.item !== "function";
90	};
91
92
93var isWindow = function isWindow( obj ) {
94		return obj != null && obj === obj.window;
95	};
96
97
98var document = window.document;
99
100
101
102	var preservedScriptAttributes = {
103		type: true,
104		src: true,
105		nonce: true,
106		noModule: true
107	};
108
109	function DOMEval( code, node, doc ) {
110		doc = doc || document;
111
112		var i, val,
113			script = doc.createElement( "script" );
114
115		script.text = code;
116		if ( node ) {
117			for ( i in preservedScriptAttributes ) {
118
119				// Support: Firefox 64+, Edge 18+
120				// Some browsers don't support the "nonce" property on scripts.
121				// On the other hand, just using `getAttribute` is not enough as
122				// the `nonce` attribute is reset to an empty string whenever it
123				// becomes browsing-context connected.
124				// See https://github.com/whatwg/html/issues/2369
125				// See https://html.spec.whatwg.org/#nonce-attributes
126				// The `node.getAttribute` check was added for the sake of
127				// `jQuery.globalEval` so that it can fake a nonce-containing node
128				// via an object.
129				val = node[ i ] || node.getAttribute && node.getAttribute( i );
130				if ( val ) {
131					script.setAttribute( i, val );
132				}
133			}
134		}
135		doc.head.appendChild( script ).parentNode.removeChild( script );
136	}
137
138
139function toType( obj ) {
140	if ( obj == null ) {
141		return obj + "";
142	}
143
144	// Support: Android <=2.3 only (functionish RegExp)
145	return typeof obj === "object" || typeof obj === "function" ?
146		class2type[ toString.call( obj ) ] || "object" :
147		typeof obj;
148}
149/* global Symbol */
150// Defining this global in .eslintrc.json would create a danger of using the global
151// unguarded in another place, it seems safer to define global only for this module
152
153
154
155var
156	version = "3.6.3
vendor: 8,505 bytes, lines 156-527
156",
157
158	// Define a local copy of jQuery
159	jQuery = function( selector, context ) {
160
161		// The jQuery object is actually just the init constructor 'enhanced'
162		// Need init if jQuery is called (just allow error to be thrown if not included)
163		return new jQuery.fn.init( selector, context );
164	};
165
166jQuery.fn = jQuery.prototype = {
167
168	// The current version of jQuery being used
169	jquery: version,
170
171	constructor: jQuery,
172
173	// The default length of a jQuery object is 0
174	length: 0,
175
176	toArray: function() {
177		return slice.call( this );
178	},
179
180	// Get the Nth element in the matched element set OR
181	// Get the whole matched element set as a clean array
182	get: function( num ) {
183
184		// Return all the elements in a clean array
185		if ( num == null ) {
186			return slice.call( this );
187		}
188
189		// Return just the one element from the set
190		return num < 0 ? this[ num + this.length ] : this[ num ];
191	},
192
193	// Take an array of elements and push it onto the stack
194	// (returning the new matched element set)
195	pushStack: function( elems ) {
196
197		// Build a new jQuery matched element set
198		var ret = jQuery.merge( this.constructor(), elems );
199
200		// Add the old object onto the stack (as a reference)
201		ret.prevObject = this;
202
203		// Return the newly-formed element set
204		return ret;
205	},
206
207	// Execute a callback for every element in the matched set.
208	each: function( callback ) {
209		return jQuery.each( this, callback );
210	},
211
212	map: function( callback ) {
213		return this.pushStack( jQuery.map( this, function( elem, i ) {
214			return callback.call( elem, i, elem );
215		} ) );
216	},
217
218	slice: function() {
219		return this.pushStack( slice.apply( this, arguments ) );
220	},
221
222	first: function() {
223		return this.eq( 0 );
224	},
225
226	last: function() {
227		return this.eq( -1 );
228	},
229
230	even: function() {
231		return this.pushStack( jQuery.grep( this, function( _elem, i ) {
232			return ( i + 1 ) % 2;
233		} ) );
234	},
235
236	odd: function() {
237		return this.pushStack( jQuery.grep( this, function( _elem, i ) {
238			return i % 2;
239		} ) );
240	},
241
242	eq: function( i ) {
243		var len = this.length,
244			j = +i + ( i < 0 ? len : 0 );
245		return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
246	},
247
248	end: function() {
249		return this.prevObject || this.constructor();
250	},
251
252	// For internal use only.
253	// Behaves like an Array's method, not like a jQuery method.
254	push: push,
255	sort: arr.sort,
256	splice: arr.splice
257};
258
259jQuery.extend = jQuery.fn.extend = function() {
260	var options, name, src, copy, copyIsArray, clone,
261		target = arguments[ 0 ] || {},
262		i = 1,
263		length = arguments.length,
264		deep = false;
265
266	// Handle a deep copy situation
267	if ( typeof target === "boolean" ) {
268		deep = target;
269
270		// Skip the boolean and the target
271		target = arguments[ i ] || {};
272		i++;
273	}
274
275	// Handle case when target is a string or something (possible in deep copy)
276	if ( typeof target !== "object" && !isFunction( target ) ) {
277		target = {};
278	}
279
280	// Extend jQuery itself if only one argument is passed
281	if ( i === length ) {
282		target = this;
283		i--;
284	}
285
286	for ( ; i < length; i++ ) {
287
288		// Only deal with non-null/undefined values
289		if ( ( options = arguments[ i ] ) != null ) {
290
291			// Extend the base object
292			for ( name in options ) {
293				copy = options[ name ];
294
295				// Prevent Object.prototype pollution
296				// Prevent never-ending loop
297				if ( name === "__proto__" || target === copy ) {
298					continue;
299				}
300
301				// Recurse if we're merging plain objects or arrays
302				if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
303					( copyIsArray = Array.isArray( copy ) ) ) ) {
304					src = target[ name ];
305
306					// Ensure proper type for the source value
307					if ( copyIsArray && !Array.isArray( src ) ) {
308						clone = [];
309					} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {
310						clone = {};
311					} else {
312						clone = src;
313					}
314					copyIsArray = false;
315
316					// Never move original objects, clone them
317					target[ name ] = jQuery.extend( deep, clone, copy );
318
319				// Don't bring in undefined values
320				} else if ( copy !== undefined ) {
321					target[ name ] = copy;
322				}
323			}
324		}
325	}
326
327	// Return the modified object
328	return target;
329};
330
331jQuery.extend( {
332
333	// Unique for each copy of jQuery on the page
334	expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
335
336	// Assume jQuery is ready without the ready module
337	isReady: true,
338
339	error: function( msg ) {
340		throw new Error( msg );
341	},
342
343	noop: function() {},
344
345	isPlainObject: function( obj ) {
346		var proto, Ctor;
347
348		// Detect obvious negatives
349		// Use toString instead of jQuery.type to catch host objects
350		if ( !obj || toString.call( obj ) !== "[object Object]" ) {
351			return false;
352		}
353
354		proto = getProto( obj );
355
356		// Objects with no prototype (e.g., `Object.create( null )`) are plain
357		if ( !proto ) {
358			return true;
359		}
360
361		// Objects with prototype are plain iff they were constructed by a global Object function
362		Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
363		return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
364	},
365
366	isEmptyObject: function( obj ) {
367		var name;
368
369		for ( name in obj ) {
370			return false;
371		}
372		return true;
373	},
374
375	// Evaluates a script in a provided context; falls back to the global one
376	// if not specified.
377	globalEval: function( code, options, doc ) {
378		DOMEval( code, { nonce: options && options.nonce }, doc );
379	},
380
381	each: function( obj, callback ) {
382		var length, i = 0;
383
384		if ( isArrayLike( obj ) ) {
385			length = obj.length;
386			for ( ; i < length; i++ ) {
387				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
388					break;
389				}
390			}
391		} else {
392			for ( i in obj ) {
393				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
394					break;
395				}
396			}
397		}
398
399		return obj;
400	},
401
402	// results is for internal usage only
403	makeArray: function( arr, results ) {
404		var ret = results || [];
405
406		if ( arr != null ) {
407			if ( isArrayLike( Object( arr ) ) ) {
408				jQuery.merge( ret,
409					typeof arr === "string" ?
410						[ arr ] : arr
411				);
412			} else {
413				push.call( ret, arr );
414			}
415		}
416
417		return ret;
418	},
419
420	inArray: function( elem, arr, i ) {
421		return arr == null ? -1 : indexOf.call( arr, elem, i );
422	},
423
424	// Support: Android <=4.0 only, PhantomJS 1 only
425	// push.apply(_, arraylike) throws on ancient WebKit
426	merge: function( first, second ) {
427		var len = +second.length,
428			j = 0,
429			i = first.length;
430
431		for ( ; j < len; j++ ) {
432			first[ i++ ] = second[ j ];
433		}
434
435		first.length = i;
436
437		return first;
438	},
439
440	grep: function( elems, callback, invert ) {
441		var callbackInverse,
442			matches = [],
443			i = 0,
444			length = elems.length,
445			callbackExpect = !invert;
446
447		// Go through the array, only saving the items
448		// that pass the validator function
449		for ( ; i < length; i++ ) {
450			callbackInverse = !callback( elems[ i ], i );
451			if ( callbackInverse !== callbackExpect ) {
452				matches.push( elems[ i ] );
453			}
454		}
455
456		return matches;
457	},
458
459	// arg is for internal usage only
460	map: function( elems, callback, arg ) {
461		var length, value,
462			i = 0,
463			ret = [];
464
465		// Go through the array, translating each of the items to their new values
466		if ( isArrayLike( elems ) ) {
467			length = elems.length;
468			for ( ; i < length; i++ ) {
469				value = callback( elems[ i ], i, arg );
470
471				if ( value != null ) {
472					ret.push( value );
473				}
474			}
475
476		// Go through every key on the object,
477		} else {
478			for ( i in elems ) {
479				value = callback( elems[ i ], i, arg );
480
481				if ( value != null ) {
482					ret.push( value );
483				}
484			}
485		}
486
487		// Flatten any nested arrays
488		return flat( ret );
489	},
490
491	// A global GUID counter for objects
492	guid: 1,
493
494	// jQuery.support is not used in Core but other projects attach their
495	// properties to it so it needs to exist.
496	support: support
497} );
498
499if ( typeof Symbol === "function" ) {
500	jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
501}
502
503// Populate the class2type map
504jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
505	function( _i, name ) {
506		class2type[ "[object " + name + "]" ] = name.toLowerCase();
507	} );
508
509function isArrayLike( obj ) {
510
511	// Support: real iOS 8.2 only (not reproducible in simulator)
512	// `in` check used to prevent JIT error (gh-2145)
513	// hasOwn isn't used here due to false negatives
514	// regarding Nodelist length in IE
515	var length = !!obj && "length" in obj && obj.length,
516		type = toType( obj );
517
518	if ( isFunction( obj ) || isWindow( obj ) ) {
519		return false;
520	}
521
522	return type === "array" || length === 0 ||
523		typeof length === "number" && length > 0 && ( length - 1 ) in obj;
524}
525var Sizzle =
526/*!
527 * Sizzle CSS Selector Engine v2.3.
5279
528 * https://sizzlejs.com/
529 *
530 * Copyright JS Foundation and other contributors
531 * Released under the MIT license
532 * https://js.foundation/
533 *
534 * Date: 2022-12-19
vendor: 10,174 bytes, lines 534-883
534
535 */
536( function( window ) {
537var i,
538	support,
539	Expr,
540	getText,
541	isXML,
542	tokenize,
543	compile,
544	select,
545	outermostContext,
546	sortInput,
547	hasDuplicate,
548
549	// Local document vars
550	setDocument,
551	document,
552	docElem,
553	documentIsHTML,
554	rbuggyQSA,
555	rbuggyMatches,
556	matches,
557	contains,
558
559	// Instance-specific data
560	expando = "sizzle" + 1 * new Date(),
561	preferredDoc = window.document,
562	dirruns = 0,
563	done = 0,
564	classCache = createCache(),
565	tokenCache = createCache(),
566	compilerCache = createCache(),
567	nonnativeSelectorCache = createCache(),
568	sortOrder = function( a, b ) {
569		if ( a === b ) {
570			hasDuplicate = true;
571		}
572		return 0;
573	},
574
575	// Instance methods
576	hasOwn = ( {} ).hasOwnProperty,
577	arr = [],
578	pop = arr.pop,
579	pushNative = arr.push,
580	push = arr.push,
581	slice = arr.slice,
582
583	// Use a stripped-down indexOf as it's faster than native
584	// https://jsperf.com/thor-indexof-vs-for/5
585	indexOf = function( list, elem ) {
586		var i = 0,
587			len = list.length;
588		for ( ; i < len; i++ ) {
589			if ( list[ i ] === elem ) {
590				return i;
591			}
592		}
593		return -1;
594	},
595
596	booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" +
597		"ismap|loop|multiple|open|readonly|required|scoped",
598
599	// Regular expressions
600
601	// http://www.w3.org/TR/css3-selectors/#whitespace
602	whitespace = "[\\x20\\t\\r\\n\\f]",
603
604	// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram
605	identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace +
606		"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
607
608	// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
609	attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
610
611		// Operator (capture 2)
612		"*([*^$|!~]?=)" + whitespace +
613
614		// "Attribute values must be CSS identifiers [capture 5]
615		// or strings [capture 3 or capture 4]"
616		"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" +
617		whitespace + "*\\]",
618
619	pseudos = ":(" + identifier + ")(?:\\((" +
620
621		// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
622		// 1. quoted (capture 3; capture 4 or capture 5)
623		"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
624
625		// 2. simple (capture 6)
626		"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
627
628		// 3. anything else (capture 2)
629		".*" +
630		")\\)|)",
631
632	// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
633	rwhitespace = new RegExp( whitespace + "+", "g" ),
634	rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" +
635		whitespace + "+$", "g" ),
636
637	rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
638	rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace +
639		"*" ),
640	rdescend = new RegExp( whitespace + "|>" ),
641
642	rpseudo = new RegExp( pseudos ),
643	ridentifier = new RegExp( "^" + identifier + "$" ),
644
645	matchExpr = {
646		"ID": new RegExp( "^#(" + identifier + ")" ),
647		"CLASS": new RegExp( "^\\.(" + identifier + ")" ),
648		"TAG": new RegExp( "^(" + identifier + "|[*])" ),
649		"ATTR": new RegExp( "^" + attributes ),
650		"PSEUDO": new RegExp( "^" + pseudos ),
651		"CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" +
652			whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" +
653			whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
654		"bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
655
656		// For use in libraries implementing .is()
657		// We use this for POS matching in `select`
658		"needsContext": new RegExp( "^" + whitespace +
659			"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace +
660			"*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
661	},
662
663	rhtml = /HTML$/i,
664	rinputs = /^(?:input|select|textarea|button)$/i,
665	rheader = /^h\d$/i,
666
667	rnative = /^[^{]+\{\s*\[native \w/,
668
669	// Easily-parseable/retrievable ID or TAG or CLASS selectors
670	rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
671
672	rsibling = /[+~]/,
673
674	// CSS escapes
675	// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
676	runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ),
677	funescape = function( escape, nonHex ) {
678		var high = "0x" + escape.slice( 1 ) - 0x10000;
679
680		return nonHex ?
681
682			// Strip the backslash prefix from a non-hex escape sequence
683			nonHex :
684
685			// Replace a hexadecimal escape sequence with the encoded Unicode code point
686			// Support: IE <=11+
687			// For values outside the Basic Multilingual Plane (BMP), manually construct a
688			// surrogate pair
689			high < 0 ?
690				String.fromCharCode( high + 0x10000 ) :
691				String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
692	},
693
694	// CSS string/identifier serialization
695	// https://drafts.csswg.org/cssom/#common-serializing-idioms
696	rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
697	fcssescape = function( ch, asCodePoint ) {
698		if ( asCodePoint ) {
699
700			// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
701			if ( ch === "\0" ) {
702				return "\uFFFD";
703			}
704
705			// Control characters and (dependent upon position) numbers get escaped as code points
706			return ch.slice( 0, -1 ) + "\\" +
707				ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
708		}
709
710		// Other potentially-special ASCII characters get backslash-escaped
711		return "\\" + ch;
712	},
713
714	// Used for iframes
715	// See setDocument()
716	// Removing the function wrapper causes a "Permission Denied"
717	// error in IE
718	unloadHandler = function() {
719		setDocument();
720	},
721
722	inDisabledFieldset = addCombinator(
723		function( elem ) {
724			return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset";
725		},
726		{ dir: "parentNode", next: "legend" }
727	);
728
729// Optimize for push.apply( _, NodeList )
730try {
731	push.apply(
732		( arr = slice.call( preferredDoc.childNodes ) ),
733		preferredDoc.childNodes
734	);
735
736	// Support: Android<4.0
737	// Detect silently failing push.apply
738	// eslint-disable-next-line no-unused-expressions
739	arr[ preferredDoc.childNodes.length ].nodeType;
740} catch ( e ) {
741	push = { apply: arr.length ?
742
743		// Leverage slice if possible
744		function( target, els ) {
745			pushNative.apply( target, slice.call( els ) );
746		} :
747
748		// Support: IE<9
749		// Otherwise append directly
750		function( target, els ) {
751			var j = target.length,
752				i = 0;
753
754			// Can't trust NodeList.length
755			while ( ( target[ j++ ] = els[ i++ ] ) ) {}
756			target.length = j - 1;
757		}
758	};
759}
760
761function Sizzle( selector, context, results, seed ) {
762	var m, i, elem, nid, match, groups, newSelector,
763		newContext = context && context.ownerDocument,
764
765		// nodeType defaults to 9, since context defaults to document
766		nodeType = context ? context.nodeType : 9;
767
768	results = results || [];
769
770	// Return early from calls with invalid selector or context
771	if ( typeof selector !== "string" || !selector ||
772		nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
773
774		return results;
775	}
776
777	// Try to shortcut find operations (as opposed to filters) in HTML documents
778	if ( !seed ) {
779		setDocument( context );
780		context = context || document;
781
782		if ( documentIsHTML ) {
783
784			// If the selector is sufficiently simple, try using a "get*By*" DOM method
785			// (excepting DocumentFragment context, where the methods don't exist)
786			if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {
787
788				// ID selector
789				if ( ( m = match[ 1 ] ) ) {
790
791					// Document context
792					if ( nodeType === 9 ) {
793						if ( ( elem = context.getElementById( m ) ) ) {
794
795							// Support: IE, Opera, Webkit
796							// TODO: identify versions
797							// getElementById can match elements by name instead of ID
798							if ( elem.id === m ) {
799								results.push( elem );
800								return results;
801							}
802						} else {
803							return results;
804						}
805
806					// Element context
807					} else {
808
809						// Support: IE, Opera, Webkit
810						// TODO: identify versions
811						// getElementById can match elements by name instead of ID
812						if ( newContext && ( elem = newContext.getElementById( m ) ) &&
813							contains( context, elem ) &&
814							elem.id === m ) {
815
816							results.push( elem );
817							return results;
818						}
819					}
820
821				// Type selector
822				} else if ( match[ 2 ] ) {
823					push.apply( results, context.getElementsByTagName( selector ) );
824					return results;
825
826				// Class selector
827				} else if ( ( m = match[ 3 ] ) && support.getElementsByClassName &&
828					context.getElementsByClassName ) {
829
830					push.apply( results, context.getElementsByClassName( m ) );
831					return results;
832				}
833			}
834
835			// Take advantage of querySelectorAll
836			if ( support.qsa &&
837				!nonnativeSelectorCache[ selector + " " ] &&
838				( !rbuggyQSA || !rbuggyQSA.test( selector ) ) &&
839
840				// Support: IE 8 only
841				// Exclude object elements
842				( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) {
843
844				newSelector = selector;
845				newContext = context;
846
847				// qSA considers elements outside a scoping root when evaluating child or
848				// descendant combinators, which is not what we want.
849				// In such cases, we work around the behavior by prefixing every selector in the
850				// list with an ID selector referencing the scope context.
851				// The technique has to be used as well when a leading combinator is used
852				// as such selectors are not recognized by querySelectorAll.
853				// Thanks to Andrew Dupont for this technique.
854				if ( nodeType === 1 &&
855					( rdescend.test( selector ) || rcombinators.test( selector ) ) ) {
856
857					// Expand context for sibling selectors
858					newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
859						context;
860
861					// We can use :scope instead of the ID hack if the browser
862					// supports it & if we're not changing the context.
863					if ( newContext !== context || !support.scope ) {
864
865						// Capture the context ID, setting it first if necessary
866						if ( ( nid = context.getAttribute( "id" ) ) ) {
867							nid = nid.replace( rcssescape, fcssescape );
868						} else {
869							context.setAttribute( "id", ( nid = expando ) );
870						}
871					}
872
873					// Prefix every selector in the list
874					groups = tokenize( selector );
875					i = groups.length;
876					while ( i-- ) {
877						groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " +
878							toSelector( groups[ i ] );
879					}
880					newSelector = groups.join( "," );
881				}
882
883				try {
884
885					// `qSA` may not throw for unrecognized parts using forgiving parsing:
886					// https://drafts.csswg.org/selectors/#forgiving-selector
887					// like the `:has()` pseudo-class:
888					// https://drafts.csswg.org/selectors/#relational
889					// `CSS.supports` is still expected to return `false` then:
890					// https://drafts.csswg.org/css-conditional-4/#typedef-supports-selector-fn
891					// https://drafts.csswg.org/css-conditional-4/#dfn-support-selector
892					if ( support.cssSupportsSelector &&
893
894						// eslint-disable-next-line no-undef
895						!CSS.supports( "selector(:is(" + newSelector + "))" ) ) {
896
897						// Support: IE 11+
898						// Throw to get to the same code path as an error directly in qSA.
899						// Note: once we only support browser supporting
900						// `CSS.supports('selector(...)')`, we can most likely drop
901						// the `try-catch`. IE doesn't implement the API.
902						throw new Error();
903					}
vendor: 8,590 bytes, lines 904-1200
904
905					push.apply( results,
906						newContext.querySelectorAll( newSelector )
907					);
908					return results;
909				} catch ( qsaError ) {
910					nonnativeSelectorCache( selector, true );
911				} finally {
912					if ( nid === expando ) {
913						context.removeAttribute( "id" );
914					}
915				}
916			}
917		}
918	}
919
920	// All others
921	return select( selector.replace( rtrim, "$1" ), context, results, seed );
922}
923
924/**
925 * Create key-value caches of limited size
926 * @returns {function(string, object)} Returns the Object data after storing it on itself with
927 *	property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
928 *	deleting the oldest entry
929 */
930function createCache() {
931	var keys = [];
932
933	function cache( key, value ) {
934
935		// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
936		if ( keys.push( key + " " ) > Expr.cacheLength ) {
937
938			// Only keep the most recent entries
939			delete cache[ keys.shift() ];
940		}
941		return ( cache[ key + " " ] = value );
942	}
943	return cache;
944}
945
946/**
947 * Mark a function for special use by Sizzle
948 * @param {Function} fn The function to mark
949 */
950function markFunction( fn ) {
951	fn[ expando ] = true;
952	return fn;
953}
954
955/**
956 * Support testing using an element
957 * @param {Function} fn Passed the created element and returns a boolean result
958 */
959function assert( fn ) {
960	var el = document.createElement( "fieldset" );
961
962	try {
963		return !!fn( el );
964	} catch ( e ) {
965		return false;
966	} finally {
967
968		// Remove from its parent by default
969		if ( el.parentNode ) {
970			el.parentNode.removeChild( el );
971		}
972
973		// release memory in IE
974		el = null;
975	}
976}
977
978/**
979 * Adds the same handler for all of the specified attrs
980 * @param {String} attrs Pipe-separated list of attributes
981 * @param {Function} handler The method that will be applied
982 */
983function addHandle( attrs, handler ) {
984	var arr = attrs.split( "|" ),
985		i = arr.length;
986
987	while ( i-- ) {
988		Expr.attrHandle[ arr[ i ] ] = handler;
989	}
990}
991
992/**
993 * Checks document order of two siblings
994 * @param {Element} a
995 * @param {Element} b
996 * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
997 */
998function siblingCheck( a, b ) {
999	var cur = b && a,
1000		diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
1001			a.sourceIndex - b.sourceIndex;
1002
1003	// Use IE sourceIndex if available on both nodes
1004	if ( diff ) {
1005		return diff;
1006	}
1007
1008	// Check if b follows a
1009	if ( cur ) {
1010		while ( ( cur = cur.nextSibling ) ) {
1011			if ( cur === b ) {
1012				return -1;
1013			}
1014		}
1015	}
1016
1017	return a ? 1 : -1;
1018}
1019
1020/**
1021 * Returns a function to use in pseudos for input types
1022 * @param {String} type
1023 */
1024function createInputPseudo( type ) {
1025	return function( elem ) {
1026		var name = elem.nodeName.toLowerCase();
1027		return name === "input" && elem.type === type;
1028	};
1029}
1030
1031/**
1032 * Returns a function to use in pseudos for buttons
1033 * @param {String} type
1034 */
1035function createButtonPseudo( type ) {
1036	return function( elem ) {
1037		var name = elem.nodeName.toLowerCase();
1038		return ( name === "input" || name === "button" ) && elem.type === type;
1039	};
1040}
1041
1042/**
1043 * Returns a function to use in pseudos for :enabled/:disabled
1044 * @param {Boolean} disabled true for :disabled; false for :enabled
1045 */
1046function createDisabledPseudo( disabled ) {
1047
1048	// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
1049	return function( elem ) {
1050
1051		// Only certain elements can match :enabled or :disabled
1052		// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
1053		// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
1054		if ( "form" in elem ) {
1055
1056			// Check for inherited disabledness on relevant non-disabled elements:
1057			// * listed form-associated elements in a disabled fieldset
1058			//   https://html.spec.whatwg.org/multipage/forms.html#category-listed
1059			//   https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
1060			// * option elements in a disabled optgroup
1061			//   https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
1062			// All such elements have a "form" property.
1063			if ( elem.parentNode && elem.disabled === false ) {
1064
1065				// Option elements defer to a parent optgroup if present
1066				if ( "label" in elem ) {
1067					if ( "label" in elem.parentNode ) {
1068						return elem.parentNode.disabled === disabled;
1069					} else {
1070						return elem.disabled === disabled;
1071					}
1072				}
1073
1074				// Support: IE 6 - 11
1075				// Use the isDisabled shortcut property to check for disabled fieldset ancestors
1076				return elem.isDisabled === disabled ||
1077
1078					// Where there is no isDisabled, check manually
1079					/* jshint -W018 */
1080					elem.isDisabled !== !disabled &&
1081					inDisabledFieldset( elem ) === disabled;
1082			}
1083
1084			return elem.disabled === disabled;
1085
1086		// Try to winnow out elements that can't be disabled before trusting the disabled property.
1087		// Some victims get caught in our net (label, legend, menu, track), but it shouldn't
1088		// even exist on them, let alone have a boolean value.
1089		} else if ( "label" in elem ) {
1090			return elem.disabled === disabled;
1091		}
1092
1093		// Remaining elements are neither :enabled nor :disabled
1094		return false;
1095	};
1096}
1097
1098/**
1099 * Returns a function to use in pseudos for positionals
1100 * @param {Function} fn
1101 */
1102function createPositionalPseudo( fn ) {
1103	return markFunction( function( argument ) {
1104		argument = +argument;
1105		return markFunction( function( seed, matches ) {
1106			var j,
1107				matchIndexes = fn( [], seed.length, argument ),
1108				i = matchIndexes.length;
1109
1110			// Match elements found at the specified indexes
1111			while ( i-- ) {
1112				if ( seed[ ( j = matchIndexes[ i ] ) ] ) {
1113					seed[ j ] = !( matches[ j ] = seed[ j ] );
1114				}
1115			}
1116		} );
1117	} );
1118}
1119
1120/**
1121 * Checks a node for validity as a Sizzle context
1122 * @param {Element|Object=} context
1123 * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
1124 */
1125function testContext( context ) {
1126	return context && typeof context.getElementsByTagName !== "undefined" && context;
1127}
1128
1129// Expose support vars for convenience
1130support = Sizzle.support = {};
1131
1132/**
1133 * Detects XML nodes
1134 * @param {Element|Object} elem An element or a document
1135 * @returns {Boolean} True iff elem is a non-HTML XML node
1136 */
1137isXML = Sizzle.isXML = function( elem ) {
1138	var namespace = elem && elem.namespaceURI,
1139		docElem = elem && ( elem.ownerDocument || elem ).documentElement;
1140
1141	// Support: IE <=8
1142	// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
1143	// https://bugs.jquery.com/ticket/4833
1144	return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" );
1145};
1146
1147/**
1148 * Sets document-related variables once based on the current document
1149 * @param {Element|Object} [doc] An element or document object to use to set the document
1150 * @returns {Object} Returns the current document
1151 */
1152setDocument = Sizzle.setDocument = function( node ) {
1153	var hasCompare, subWindow,
1154		doc = node ? node.ownerDocument || node : preferredDoc;
1155
1156	// Return early if doc is invalid or already selected
1157	// Support: IE 11+, Edge 17 - 18+
1158	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1159	// two documents; shallow comparisons work.
1160	// eslint-disable-next-line eqeqeq
1161	if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {
1162		return document;
1163	}
1164
1165	// Update global variables
1166	document = doc;
1167	docElem = document.documentElement;
1168	documentIsHTML = !isXML( document );
1169
1170	// Support: IE 9 - 11+, Edge 12 - 18+
1171	// Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
1172	// Support: IE 11+, Edge 17 - 18+
1173	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1174	// two documents; shallow comparisons work.
1175	// eslint-disable-next-line eqeqeq
1176	if ( preferredDoc != document &&
1177		( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {
1178
1179		// Support: IE 11, Edge
1180		if ( subWindow.addEventListener ) {
1181			subWindow.addEventListener( "unload", unloadHandler, false );
1182
1183		// Support: IE 9 - 10 only
1184		} else if ( subWindow.attachEvent ) {
1185			subWindow.attachEvent( "onunload", unloadHandler );
1186		}
1187	}
1188
1189	// Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only,
1190	// Safari 4 - 5 only, Opera <=11.6 - 12.x only
1191	// IE/Edge & older browsers don't support the :scope pseudo-class.
1192	// Support: Safari 6.0 only
1193	// Safari 6.0 supports :scope but it's an alias of :root there.
1194	support.scope = assert( function( el ) {
1195		docElem.appendChild( el ).appendChild( document.createElement( "div" ) );
1196		return typeof el.querySelectorAll !== "undefined" &&
1197			!el.querySelectorAll( ":scope fieldset div" ).length;
1198	} );
1199
1200	/
1200/ Support: Chrome 105+, Firefox 104+, Safari 15.4+
1201	// Make sure forgiving mode is not used in `CSS.supports( "selector(...)" )`.
1202	//
1203	// `:is()` uses a forgiving selector list as an argument and is widely
1204	// implemented, so it's a good one to test against.
1205	support.cssSupportsSelector = assert( function() {
1206		/* eslint-disable no-undef */
1207
1208		return CSS.supports( "selector(*)" ) &&
1209
1210			// Support: Firefox 78-81 only
1211			// In old Firefox, `:is()` didn't use forgiving parsing. In that case,
1212			// fail this test as there's no selector to test against that.
1213			// `CSS.supports` uses unforgiving parsing
1214			document.querySelectorAll( ":is(:jqfake)" ) &&
1215
1216			// `*` is needed as Safari & newer Chrome implemented something in between
1217			// for `:has()` - it throws in `qSA` if it only contains an unsupported
1218			// argument but multiple ones, one of which is supported, are fine.
1219			// We want to play safe in case `:is()` gets the same treatment.
1220			!CSS.supports( "selector(:is(*,:jqfake))" );
1221
1222		/* eslint-enable */
vendor: 8,689 bytes, lines 1222-1491
1222
1223	} );
1224
1225	/* Attributes
1226	---------------------------------------------------------------------- */
1227
1228	// Support: IE<8
1229	// Verify that getAttribute really returns attributes and not properties
1230	// (excepting IE8 booleans)
1231	support.attributes = assert( function( el ) {
1232		el.className = "i";
1233		return !el.getAttribute( "className" );
1234	} );
1235
1236	/* getElement(s)By*
1237	---------------------------------------------------------------------- */
1238
1239	// Check if getElementsByTagName("*") returns only elements
1240	support.getElementsByTagName = assert( function( el ) {
1241		el.appendChild( document.createComment( "" ) );
1242		return !el.getElementsByTagName( "*" ).length;
1243	} );
1244
1245	// Support: IE<9
1246	support.getElementsByClassName = rnative.test( document.getElementsByClassName );
1247
1248	// Support: IE<10
1249	// Check if getElementById returns elements by name
1250	// The broken getElementById methods don't pick up programmatically-set names,
1251	// so use a roundabout getElementsByName test
1252	support.getById = assert( function( el ) {
1253		docElem.appendChild( el ).id = expando;
1254		return !document.getElementsByName || !document.getElementsByName( expando ).length;
1255	} );
1256
1257	// ID filter and find
1258	if ( support.getById ) {
1259		Expr.filter[ "ID" ] = function( id ) {
1260			var attrId = id.replace( runescape, funescape );
1261			return function( elem ) {
1262				return elem.getAttribute( "id" ) === attrId;
1263			};
1264		};
1265		Expr.find[ "ID" ] = function( id, context ) {
1266			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
1267				var elem = context.getElementById( id );
1268				return elem ? [ elem ] : [];
1269			}
1270		};
1271	} else {
1272		Expr.filter[ "ID" ] =  function( id ) {
1273			var attrId = id.replace( runescape, funescape );
1274			return function( elem ) {
1275				var node = typeof elem.getAttributeNode !== "undefined" &&
1276					elem.getAttributeNode( "id" );
1277				return node && node.value === attrId;
1278			};
1279		};
1280
1281		// Support: IE 6 - 7 only
1282		// getElementById is not reliable as a find shortcut
1283		Expr.find[ "ID" ] = function( id, context ) {
1284			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
1285				var node, i, elems,
1286					elem = context.getElementById( id );
1287
1288				if ( elem ) {
1289
1290					// Verify the id attribute
1291					node = elem.getAttributeNode( "id" );
1292					if ( node && node.value === id ) {
1293						return [ elem ];
1294					}
1295
1296					// Fall back on getElementsByName
1297					elems = context.getElementsByName( id );
1298					i = 0;
1299					while ( ( elem = elems[ i++ ] ) ) {
1300						node = elem.getAttributeNode( "id" );
1301						if ( node && node.value === id ) {
1302							return [ elem ];
1303						}
1304					}
1305				}
1306
1307				return [];
1308			}
1309		};
1310	}
1311
1312	// Tag
1313	Expr.find[ "TAG" ] = support.getElementsByTagName ?
1314		function( tag, context ) {
1315			if ( typeof context.getElementsByTagName !== "undefined" ) {
1316				return context.getElementsByTagName( tag );
1317
1318			// DocumentFragment nodes don't have gEBTN
1319			} else if ( support.qsa ) {
1320				return context.querySelectorAll( tag );
1321			}
1322		} :
1323
1324		function( tag, context ) {
1325			var elem,
1326				tmp = [],
1327				i = 0,
1328
1329				// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
1330				results = context.getElementsByTagName( tag );
1331
1332			// Filter out possible comments
1333			if ( tag === "*" ) {
1334				while ( ( elem = results[ i++ ] ) ) {
1335					if ( elem.nodeType === 1 ) {
1336						tmp.push( elem );
1337					}
1338				}
1339
1340				return tmp;
1341			}
1342			return results;
1343		};
1344
1345	// Class
1346	Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) {
1347		if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
1348			return context.getElementsByClassName( className );
1349		}
1350	};
1351
1352	/* QSA/matchesSelector
1353	---------------------------------------------------------------------- */
1354
1355	// QSA and matchesSelector support
1356
1357	// matchesSelector(:active) reports false when true (IE9/Opera 11.5)
1358	rbuggyMatches = [];
1359
1360	// qSa(:focus) reports false when true (Chrome 21)
1361	// We allow this because of a bug in IE8/9 that throws an error
1362	// whenever `document.activeElement` is accessed on an iframe
1363	// So, we allow :focus to pass through QSA all the time to avoid the IE error
1364	// See https://bugs.jquery.com/ticket/13378
1365	rbuggyQSA = [];
1366
1367	if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) {
1368
1369		// Build QSA regex
1370		// Regex strategy adopted from Diego Perini
1371		assert( function( el ) {
1372
1373			var input;
1374
1375			// Select is set to empty string on purpose
1376			// This is to test IE's treatment of not explicitly
1377			// setting a boolean content attribute,
1378			// since its presence should be enough
1379			// https://bugs.jquery.com/ticket/12359
1380			docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" +
1381				"<select id='" + expando + "-\r\\' msallowcapture=''>" +
1382				"<option selected=''></option></select>";
1383
1384			// Support: IE8, Opera 11-12.16
1385			// Nothing should be selected when empty strings follow ^= or $= or *=
1386			// The test attribute must be unknown in Opera but "safe" for WinRT
1387			// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
1388			if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) {
1389				rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
1390			}
1391
1392			// Support: IE8
1393			// Boolean attributes and "value" are not treated correctly
1394			if ( !el.querySelectorAll( "[selected]" ).length ) {
1395				rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
1396			}
1397
1398			// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
1399			if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
1400				rbuggyQSA.push( "~=" );
1401			}
1402
1403			// Support: IE 11+, Edge 15 - 18+
1404			// IE 11/Edge don't find elements on a `[name='']` query in some cases.
1405			// Adding a temporary attribute to the document before the selection works
1406			// around the issue.
1407			// Interestingly, IE 10 & older don't seem to have the issue.
1408			input = document.createElement( "input" );
1409			input.setAttribute( "name", "" );
1410			el.appendChild( input );
1411			if ( !el.querySelectorAll( "[name='']" ).length ) {
1412				rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" +
1413					whitespace + "*(?:''|\"\")" );
1414			}
1415
1416			// Webkit/Opera - :checked should return selected option elements
1417			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
1418			// IE8 throws error here and will not see later tests
1419			if ( !el.querySelectorAll( ":checked" ).length ) {
1420				rbuggyQSA.push( ":checked" );
1421			}
1422
1423			// Support: Safari 8+, iOS 8+
1424			// https://bugs.webkit.org/show_bug.cgi?id=136851
1425			// In-page `selector#id sibling-combinator selector` fails
1426			if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
1427				rbuggyQSA.push( ".#.+[+~]" );
1428			}
1429
1430			// Support: Firefox <=3.6 - 5 only
1431			// Old Firefox doesn't throw on a badly-escaped identifier.
1432			el.querySelectorAll( "\\\f" );
1433			rbuggyQSA.push( "[\\r\\n\\f]" );
1434		} );
1435
1436		assert( function( el ) {
1437			el.innerHTML = "<a href='' disabled='disabled'></a>" +
1438				"<select disabled='disabled'><option/></select>";
1439
1440			// Support: Windows 8 Native Apps
1441			// The type and name attributes are restricted during .innerHTML assignment
1442			var input = document.createElement( "input" );
1443			input.setAttribute( "type", "hidden" );
1444			el.appendChild( input ).setAttribute( "name", "D" );
1445
1446			// Support: IE8
1447			// Enforce case-sensitivity of name attribute
1448			if ( el.querySelectorAll( "[name=d]" ).length ) {
1449				rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
1450			}
1451
1452			// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
1453			// IE8 throws error here and will not see later tests
1454			if ( el.querySelectorAll( ":enabled" ).length !== 2 ) {
1455				rbuggyQSA.push( ":enabled", ":disabled" );
1456			}
1457
1458			// Support: IE9-11+
1459			// IE's :disabled selector does not pick up the children of disabled fieldsets
1460			docElem.appendChild( el ).disabled = true;
1461			if ( el.querySelectorAll( ":disabled" ).length !== 2 ) {
1462				rbuggyQSA.push( ":enabled", ":disabled" );
1463			}
1464
1465			// Support: Opera 10 - 11 only
1466			// Opera 10-11 does not throw on post-comma invalid pseudos
1467			el.querySelectorAll( "*,:x" );
1468			rbuggyQSA.push( ",.*:" );
1469		} );
1470	}
1471
1472	if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches ||
1473		docElem.webkitMatchesSelector ||
1474		docElem.mozMatchesSelector ||
1475		docElem.oMatchesSelector ||
1476		docElem.msMatchesSelector ) ) ) ) {
1477
1478		assert( function( el ) {
1479
1480			// Check to see if it's possible to do matchesSelector
1481			// on a disconnected node (IE 9)
1482			support.disconnectedMatch = matches.call( el, "*" );
1483
1484			// This should fail with an exception
1485			// Gecko does not error, returns false instead
1486			matches.call( el, "[s!='']:x" );
1487			rbuggyMatches.push( "!=", pseudos );
1488		} );
1489	}
1490
1491	
1491if ( !support.cssSupportsSelector ) {
1492
1493		// Support: Chrome 105+, Safari 15.4+
1494		// `:has()` uses a forgiving selector list as an argument so our regular
1495		// `try-catch` mechanism fails to catch `:has()` with arguments not supported
1496		// natively like `:has(:contains("Foo"))`. Where supported & spec-compliant,
1497		// we now use `CSS.supports("selector(:is(SELECTOR_TO_BE_TESTED))")`, but
1498		// outside that we mark `:has` as buggy.
1499		rbuggyQSA.push( ":has" );
1500	}
1501
1502	rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) );
1503	rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) );
1504
1505	/* Contains
1506	---------------------------------------------------------------------- */
1507	hasCompare = rnative.test( docElem.compareDocumentPosition );
1508
1509	// Element contains another
1510	// Purposefully self-exclusive
1511	// As in, an element does not contain itself
1512	contains = hasCompare || rnative.test( docElem.contains ) ?
1513		function( a, b ) {
1514
1515			// Support: IE <9 only
1516			// IE doesn't have `contains` on `document` so we need to check for
1517			// `documentElement` presence.
1518			// We need to fall back to `a` when `documentElement` is missing
1519			// as `ownerDocument` of elements within `<template/>` may have
1520			// a null one - a default behavior of all modern browsers.
1521			var adown = a.nodeType === 9 && a.documentElement ||
vendor: 21,612 bytes, lines 1521-2311
1521 a,
1522				bup = b && b.parentNode;
1523			return a === bup || !!( bup && bup.nodeType === 1 && (
1524				adown.contains ?
1525					adown.contains( bup ) :
1526					a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
1527			) );
1528		} :
1529		function( a, b ) {
1530			if ( b ) {
1531				while ( ( b = b.parentNode ) ) {
1532					if ( b === a ) {
1533						return true;
1534					}
1535				}
1536			}
1537			return false;
1538		};
1539
1540	/* Sorting
1541	---------------------------------------------------------------------- */
1542
1543	// Document order sorting
1544	sortOrder = hasCompare ?
1545	function( a, b ) {
1546
1547		// Flag for duplicate removal
1548		if ( a === b ) {
1549			hasDuplicate = true;
1550			return 0;
1551		}
1552
1553		// Sort on method existence if only one input has compareDocumentPosition
1554		var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
1555		if ( compare ) {
1556			return compare;
1557		}
1558
1559		// Calculate position if both inputs belong to the same document
1560		// Support: IE 11+, Edge 17 - 18+
1561		// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1562		// two documents; shallow comparisons work.
1563		// eslint-disable-next-line eqeqeq
1564		compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?
1565			a.compareDocumentPosition( b ) :
1566
1567			// Otherwise we know they are disconnected
1568			1;
1569
1570		// Disconnected nodes
1571		if ( compare & 1 ||
1572			( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {
1573
1574			// Choose the first element that is related to our preferred document
1575			// Support: IE 11+, Edge 17 - 18+
1576			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1577			// two documents; shallow comparisons work.
1578			// eslint-disable-next-line eqeqeq
1579			if ( a == document || a.ownerDocument == preferredDoc &&
1580				contains( preferredDoc, a ) ) {
1581				return -1;
1582			}
1583
1584			// Support: IE 11+, Edge 17 - 18+
1585			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1586			// two documents; shallow comparisons work.
1587			// eslint-disable-next-line eqeqeq
1588			if ( b == document || b.ownerDocument == preferredDoc &&
1589				contains( preferredDoc, b ) ) {
1590				return 1;
1591			}
1592
1593			// Maintain original order
1594			return sortInput ?
1595				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
1596				0;
1597		}
1598
1599		return compare & 4 ? -1 : 1;
1600	} :
1601	function( a, b ) {
1602
1603		// Exit early if the nodes are identical
1604		if ( a === b ) {
1605			hasDuplicate = true;
1606			return 0;
1607		}
1608
1609		var cur,
1610			i = 0,
1611			aup = a.parentNode,
1612			bup = b.parentNode,
1613			ap = [ a ],
1614			bp = [ b ];
1615
1616		// Parentless nodes are either documents or disconnected
1617		if ( !aup || !bup ) {
1618
1619			// Support: IE 11+, Edge 17 - 18+
1620			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1621			// two documents; shallow comparisons work.
1622			/* eslint-disable eqeqeq */
1623			return a == document ? -1 :
1624				b == document ? 1 :
1625				/* eslint-enable eqeqeq */
1626				aup ? -1 :
1627				bup ? 1 :
1628				sortInput ?
1629				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
1630				0;
1631
1632		// If the nodes are siblings, we can do a quick check
1633		} else if ( aup === bup ) {
1634			return siblingCheck( a, b );
1635		}
1636
1637		// Otherwise we need full lists of their ancestors for comparison
1638		cur = a;
1639		while ( ( cur = cur.parentNode ) ) {
1640			ap.unshift( cur );
1641		}
1642		cur = b;
1643		while ( ( cur = cur.parentNode ) ) {
1644			bp.unshift( cur );
1645		}
1646
1647		// Walk down the tree looking for a discrepancy
1648		while ( ap[ i ] === bp[ i ] ) {
1649			i++;
1650		}
1651
1652		return i ?
1653
1654			// Do a sibling check if the nodes have a common ancestor
1655			siblingCheck( ap[ i ], bp[ i ] ) :
1656
1657			// Otherwise nodes in our document sort first
1658			// Support: IE 11+, Edge 17 - 18+
1659			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1660			// two documents; shallow comparisons work.
1661			/* eslint-disable eqeqeq */
1662			ap[ i ] == preferredDoc ? -1 :
1663			bp[ i ] == preferredDoc ? 1 :
1664			/* eslint-enable eqeqeq */
1665			0;
1666	};
1667
1668	return document;
1669};
1670
1671Sizzle.matches = function( expr, elements ) {
1672	return Sizzle( expr, null, null, elements );
1673};
1674
1675Sizzle.matchesSelector = function( elem, expr ) {
1676	setDocument( elem );
1677
1678	if ( support.matchesSelector && documentIsHTML &&
1679		!nonnativeSelectorCache[ expr + " " ] &&
1680		( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
1681		( !rbuggyQSA     || !rbuggyQSA.test( expr ) ) ) {
1682
1683		try {
1684			var ret = matches.call( elem, expr );
1685
1686			// IE 9's matchesSelector returns false on disconnected nodes
1687			if ( ret || support.disconnectedMatch ||
1688
1689				// As well, disconnected nodes are said to be in a document
1690				// fragment in IE 9
1691				elem.document && elem.document.nodeType !== 11 ) {
1692				return ret;
1693			}
1694		} catch ( e ) {
1695			nonnativeSelectorCache( expr, true );
1696		}
1697	}
1698
1699	return Sizzle( expr, document, null, [ elem ] ).length > 0;
1700};
1701
1702Sizzle.contains = function( context, elem ) {
1703
1704	// Set document vars if needed
1705	// Support: IE 11+, Edge 17 - 18+
1706	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1707	// two documents; shallow comparisons work.
1708	// eslint-disable-next-line eqeqeq
1709	if ( ( context.ownerDocument || context ) != document ) {
1710		setDocument( context );
1711	}
1712	return contains( context, elem );
1713};
1714
1715Sizzle.attr = function( elem, name ) {
1716
1717	// Set document vars if needed
1718	// Support: IE 11+, Edge 17 - 18+
1719	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
1720	// two documents; shallow comparisons work.
1721	// eslint-disable-next-line eqeqeq
1722	if ( ( elem.ownerDocument || elem ) != document ) {
1723		setDocument( elem );
1724	}
1725
1726	var fn = Expr.attrHandle[ name.toLowerCase() ],
1727
1728		// Don't get fooled by Object.prototype properties (jQuery #13807)
1729		val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
1730			fn( elem, name, !documentIsHTML ) :
1731			undefined;
1732
1733	return val !== undefined ?
1734		val :
1735		support.attributes || !documentIsHTML ?
1736			elem.getAttribute( name ) :
1737			( val = elem.getAttributeNode( name ) ) && val.specified ?
1738				val.value :
1739				null;
1740};
1741
1742Sizzle.escape = function( sel ) {
1743	return ( sel + "" ).replace( rcssescape, fcssescape );
1744};
1745
1746Sizzle.error = function( msg ) {
1747	throw new Error( "Syntax error, unrecognized expression: " + msg );
1748};
1749
1750/**
1751 * Document sorting and removing duplicates
1752 * @param {ArrayLike} results
1753 */
1754Sizzle.uniqueSort = function( results ) {
1755	var elem,
1756		duplicates = [],
1757		j = 0,
1758		i = 0;
1759
1760	// Unless we *know* we can detect duplicates, assume their presence
1761	hasDuplicate = !support.detectDuplicates;
1762	sortInput = !support.sortStable && results.slice( 0 );
1763	results.sort( sortOrder );
1764
1765	if ( hasDuplicate ) {
1766		while ( ( elem = results[ i++ ] ) ) {
1767			if ( elem === results[ i ] ) {
1768				j = duplicates.push( i );
1769			}
1770		}
1771		while ( j-- ) {
1772			results.splice( duplicates[ j ], 1 );
1773		}
1774	}
1775
1776	// Clear input after sorting to release objects
1777	// See https://github.com/jquery/sizzle/pull/225
1778	sortInput = null;
1779
1780	return results;
1781};
1782
1783/**
1784 * Utility function for retrieving the text value of an array of DOM nodes
1785 * @param {Array|Element} elem
1786 */
1787getText = Sizzle.getText = function( elem ) {
1788	var node,
1789		ret = "",
1790		i = 0,
1791		nodeType = elem.nodeType;
1792
1793	if ( !nodeType ) {
1794
1795		// If no nodeType, this is expected to be an array
1796		while ( ( node = elem[ i++ ] ) ) {
1797
1798			// Do not traverse comment nodes
1799			ret += getText( node );
1800		}
1801	} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
1802
1803		// Use textContent for elements
1804		// innerText usage removed for consistency of new lines (jQuery #11153)
1805		if ( typeof elem.textContent === "string" ) {
1806			return elem.textContent;
1807		} else {
1808
1809			// Traverse its children
1810			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
1811				ret += getText( elem );
1812			}
1813		}
1814	} else if ( nodeType === 3 || nodeType === 4 ) {
1815		return elem.nodeValue;
1816	}
1817
1818	// Do not include comment or processing instruction nodes
1819
1820	return ret;
1821};
1822
1823Expr = Sizzle.selectors = {
1824
1825	// Can be adjusted by the user
1826	cacheLength: 50,
1827
1828	createPseudo: markFunction,
1829
1830	match: matchExpr,
1831
1832	attrHandle: {},
1833
1834	find: {},
1835
1836	relative: {
1837		">": { dir: "parentNode", first: true },
1838		" ": { dir: "parentNode" },
1839		"+": { dir: "previousSibling", first: true },
1840		"~": { dir: "previousSibling" }
1841	},
1842
1843	preFilter: {
1844		"ATTR": function( match ) {
1845			match[ 1 ] = match[ 1 ].replace( runescape, funescape );
1846
1847			// Move the given value to match[3] whether quoted or unquoted
1848			match[ 3 ] = ( match[ 3 ] || match[ 4 ] ||
1849				match[ 5 ] || "" ).replace( runescape, funescape );
1850
1851			if ( match[ 2 ] === "~=" ) {
1852				match[ 3 ] = " " + match[ 3 ] + " ";
1853			}
1854
1855			return match.slice( 0, 4 );
1856		},
1857
1858		"CHILD": function( match ) {
1859
1860			/* matches from matchExpr["CHILD"]
1861				1 type (only|nth|...)
1862				2 what (child|of-type)
1863				3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
1864				4 xn-component of xn+y argument ([+-]?\d*n|)
1865				5 sign of xn-component
1866				6 x of xn-component
1867				7 sign of y-component
1868				8 y of y-component
1869			*/
1870			match[ 1 ] = match[ 1 ].toLowerCase();
1871
1872			if ( match[ 1 ].slice( 0, 3 ) === "nth" ) {
1873
1874				// nth-* requires argument
1875				if ( !match[ 3 ] ) {
1876					Sizzle.error( match[ 0 ] );
1877				}
1878
1879				// numeric x and y parameters for Expr.filter.CHILD
1880				// remember that false/true cast respectively to 0/1
1881				match[ 4 ] = +( match[ 4 ] ?
1882					match[ 5 ] + ( match[ 6 ] || 1 ) :
1883					2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) );
1884				match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" );
1885
1886				// other types prohibit arguments
1887			} else if ( match[ 3 ] ) {
1888				Sizzle.error( match[ 0 ] );
1889			}
1890
1891			return match;
1892		},
1893
1894		"PSEUDO": function( match ) {
1895			var excess,
1896				unquoted = !match[ 6 ] && match[ 2 ];
1897
1898			if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) {
1899				return null;
1900			}
1901
1902			// Accept quoted arguments as-is
1903			if ( match[ 3 ] ) {
1904				match[ 2 ] = match[ 4 ] || match[ 5 ] || "";
1905
1906			// Strip excess characters from unquoted arguments
1907			} else if ( unquoted && rpseudo.test( unquoted ) &&
1908
1909				// Get excess from tokenize (recursively)
1910				( excess = tokenize( unquoted, true ) ) &&
1911
1912				// advance to the next closing parenthesis
1913				( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) {
1914
1915				// excess is a negative index
1916				match[ 0 ] = match[ 0 ].slice( 0, excess );
1917				match[ 2 ] = unquoted.slice( 0, excess );
1918			}
1919
1920			// Return only captures needed by the pseudo filter method (type and argument)
1921			return match.slice( 0, 3 );
1922		}
1923	},
1924
1925	filter: {
1926
1927		"TAG": function( nodeNameSelector ) {
1928			var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
1929			return nodeNameSelector === "*" ?
1930				function() {
1931					return true;
1932				} :
1933				function( elem ) {
1934					return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
1935				};
1936		},
1937
1938		"CLASS": function( className ) {
1939			var pattern = classCache[ className + " " ];
1940
1941			return pattern ||
1942				( pattern = new RegExp( "(^|" + whitespace +
1943					")" + className + "(" + whitespace + "|$)" ) ) && classCache(
1944						className, function( elem ) {
1945							return pattern.test(
1946								typeof elem.className === "string" && elem.className ||
1947								typeof elem.getAttribute !== "undefined" &&
1948									elem.getAttribute( "class" ) ||
1949								""
1950							);
1951				} );
1952		},
1953
1954		"ATTR": function( name, operator, check ) {
1955			return function( elem ) {
1956				var result = Sizzle.attr( elem, name );
1957
1958				if ( result == null ) {
1959					return operator === "!=";
1960				}
1961				if ( !operator ) {
1962					return true;
1963				}
1964
1965				result += "";
1966
1967				/* eslint-disable max-len */
1968
1969				return operator === "=" ? result === check :
1970					operator === "!=" ? result !== check :
1971					operator === "^=" ? check && result.indexOf( check ) === 0 :
1972					operator === "*=" ? check && result.indexOf( check ) > -1 :
1973					operator === "$=" ? check && result.slice( -check.length ) === check :
1974					operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
1975					operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
1976					false;
1977				/* eslint-enable max-len */
1978
1979			};
1980		},
1981
1982		"CHILD": function( type, what, _argument, first, last ) {
1983			var simple = type.slice( 0, 3 ) !== "nth",
1984				forward = type.slice( -4 ) !== "last",
1985				ofType = what === "of-type";
1986
1987			return first === 1 && last === 0 ?
1988
1989				// Shortcut for :nth-*(n)
1990				function( elem ) {
1991					return !!elem.parentNode;
1992				} :
1993
1994				function( elem, _context, xml ) {
1995					var cache, uniqueCache, outerCache, node, nodeIndex, start,
1996						dir = simple !== forward ? "nextSibling" : "previousSibling",
1997						parent = elem.parentNode,
1998						name = ofType && elem.nodeName.toLowerCase(),
1999						useCache = !xml && !ofType,
2000						diff = false;
2001
2002					if ( parent ) {
2003
2004						// :(first|last|only)-(child|of-type)
2005						if ( simple ) {
2006							while ( dir ) {
2007								node = elem;
2008								while ( ( node = node[ dir ] ) ) {
2009									if ( ofType ?
2010										node.nodeName.toLowerCase() === name :
2011										node.nodeType === 1 ) {
2012
2013										return false;
2014									}
2015								}
2016
2017								// Reverse direction for :only-* (if we haven't yet done so)
2018								start = dir = type === "only" && !start && "nextSibling";
2019							}
2020							return true;
2021						}
2022
2023						start = [ forward ? parent.firstChild : parent.lastChild ];
2024
2025						// non-xml :nth-child(...) stores cache data on `parent`
2026						if ( forward && useCache ) {
2027
2028							// Seek `elem` from a previously-cached index
2029
2030							// ...in a gzip-friendly way
2031							node = parent;
2032							outerCache = node[ expando ] || ( node[ expando ] = {} );
2033
2034							// Support: IE <9 only
2035							// Defend against cloned attroperties (jQuery gh-1709)
2036							uniqueCache = outerCache[ node.uniqueID ] ||
2037								( outerCache[ node.uniqueID ] = {} );
2038
2039							cache = uniqueCache[ type ] || [];
2040							nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
2041							diff = nodeIndex && cache[ 2 ];
2042							node = nodeIndex && parent.childNodes[ nodeIndex ];
2043
2044							while ( ( node = ++nodeIndex && node && node[ dir ] ||
2045
2046								// Fallback to seeking `elem` from the start
2047								( diff = nodeIndex = 0 ) || start.pop() ) ) {
2048
2049								// When found, cache indexes on `parent` and break
2050								if ( node.nodeType === 1 && ++diff && node === elem ) {
2051									uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
2052									break;
2053								}
2054							}
2055
2056						} else {
2057
2058							// Use previously-cached element index if available
2059							if ( useCache ) {
2060
2061								// ...in a gzip-friendly way
2062								node = elem;
2063								outerCache = node[ expando ] || ( node[ expando ] = {} );
2064
2065								// Support: IE <9 only
2066								// Defend against cloned attroperties (jQuery gh-1709)
2067								uniqueCache = outerCache[ node.uniqueID ] ||
2068									( outerCache[ node.uniqueID ] = {} );
2069
2070								cache = uniqueCache[ type ] || [];
2071								nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
2072								diff = nodeIndex;
2073							}
2074
2075							// xml :nth-child(...)
2076							// or :nth-last-child(...) or :nth(-last)?-of-type(...)
2077							if ( diff === false ) {
2078
2079								// Use the same loop as above to seek `elem` from the start
2080								while ( ( node = ++nodeIndex && node && node[ dir ] ||
2081									( diff = nodeIndex = 0 ) || start.pop() ) ) {
2082
2083									if ( ( ofType ?
2084										node.nodeName.toLowerCase() === name :
2085										node.nodeType === 1 ) &&
2086										++diff ) {
2087
2088										// Cache the index of each encountered element
2089										if ( useCache ) {
2090											outerCache = node[ expando ] ||
2091												( node[ expando ] = {} );
2092
2093											// Support: IE <9 only
2094											// Defend against cloned attroperties (jQuery gh-1709)
2095											uniqueCache = outerCache[ node.uniqueID ] ||
2096												( outerCache[ node.uniqueID ] = {} );
2097
2098											uniqueCache[ type ] = [ dirruns, diff ];
2099										}
2100
2101										if ( node === elem ) {
2102											break;
2103										}
2104									}
2105								}
2106							}
2107						}
2108
2109						// Incorporate the offset, then check against cycle size
2110						diff -= last;
2111						return diff === first || ( diff % first === 0 && diff / first >= 0 );
2112					}
2113				};
2114		},
2115
2116		"PSEUDO": function( pseudo, argument ) {
2117
2118			// pseudo-class names are case-insensitive
2119			// http://www.w3.org/TR/selectors/#pseudo-classes
2120			// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
2121			// Remember that setFilters inherits from pseudos
2122			var args,
2123				fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
2124					Sizzle.error( "unsupported pseudo: " + pseudo );
2125
2126			// The user may use createPseudo to indicate that
2127			// arguments are needed to create the filter function
2128			// just as Sizzle does
2129			if ( fn[ expando ] ) {
2130				return fn( argument );
2131			}
2132
2133			// But maintain support for old signatures
2134			if ( fn.length > 1 ) {
2135				args = [ pseudo, pseudo, "", argument ];
2136				return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
2137					markFunction( function( seed, matches ) {
2138						var idx,
2139							matched = fn( seed, argument ),
2140							i = matched.length;
2141						while ( i-- ) {
2142							idx = indexOf( seed, matched[ i ] );
2143							seed[ idx ] = !( matches[ idx ] = matched[ i ] );
2144						}
2145					} ) :
2146					function( elem ) {
2147						return fn( elem, 0, args );
2148					};
2149			}
2150
2151			return fn;
2152		}
2153	},
2154
2155	pseudos: {
2156
2157		// Potentially complex pseudos
2158		"not": markFunction( function( selector ) {
2159
2160			// Trim the selector passed to compile
2161			// to avoid treating leading and trailing
2162			// spaces as combinators
2163			var input = [],
2164				results = [],
2165				matcher = compile( selector.replace( rtrim, "$1" ) );
2166
2167			return matcher[ expando ] ?
2168				markFunction( function( seed, matches, _context, xml ) {
2169					var elem,
2170						unmatched = matcher( seed, null, xml, [] ),
2171						i = seed.length;
2172
2173					// Match elements unmatched by `matcher`
2174					while ( i-- ) {
2175						if ( ( elem = unmatched[ i ] ) ) {
2176							seed[ i ] = !( matches[ i ] = elem );
2177						}
2178					}
2179				} ) :
2180				function( elem, _context, xml ) {
2181					input[ 0 ] = elem;
2182					matcher( input, null, xml, results );
2183
2184					// Don't keep the element (issue #299)
2185					input[ 0 ] = null;
2186					return !results.pop();
2187				};
2188		} ),
2189
2190		"has": markFunction( function( selector ) {
2191			return function( elem ) {
2192				return Sizzle( selector, elem ).length > 0;
2193			};
2194		} ),
2195
2196		"contains": markFunction( function( text ) {
2197			text = text.replace( runescape, funescape );
2198			return function( elem ) {
2199				return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;
2200			};
2201		} ),
2202
2203		// "Whether an element is represented by a :lang() selector
2204		// is based solely on the element's language value
2205		// being equal to the identifier C,
2206		// or beginning with the identifier C immediately followed by "-".
2207		// The matching of C against the element's language value is performed case-insensitively.
2208		// The identifier C does not have to be a valid language name."
2209		// http://www.w3.org/TR/selectors/#lang-pseudo
2210		"lang": markFunction( function( lang ) {
2211
2212			// lang value must be a valid identifier
2213			if ( !ridentifier.test( lang || "" ) ) {
2214				Sizzle.error( "unsupported lang: " + lang );
2215			}
2216			lang = lang.replace( runescape, funescape ).toLowerCase();
2217			return function( elem ) {
2218				var elemLang;
2219				do {
2220					if ( ( elemLang = documentIsHTML ?
2221						elem.lang :
2222						elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) {
2223
2224						elemLang = elemLang.toLowerCase();
2225						return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
2226					}
2227				} while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );
2228				return false;
2229			};
2230		} ),
2231
2232		// Miscellaneous
2233		"target": function( elem ) {
2234			var hash = window.location && window.location.hash;
2235			return hash && hash.slice( 1 ) === elem.id;
2236		},
2237
2238		"root": function( elem ) {
2239			return elem === docElem;
2240		},
2241
2242		"focus": function( elem ) {
2243			return elem === document.activeElement &&
2244				( !document.hasFocus || document.hasFocus() ) &&
2245				!!( elem.type || elem.href || ~elem.tabIndex );
2246		},
2247
2248		// Boolean properties
2249		"enabled": createDisabledPseudo( false ),
2250		"disabled": createDisabledPseudo( true ),
2251
2252		"checked": function( elem ) {
2253
2254			// In CSS3, :checked should return both checked and selected elements
2255			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
2256			var nodeName = elem.nodeName.toLowerCase();
2257			return ( nodeName === "input" && !!elem.checked ) ||
2258				( nodeName === "option" && !!elem.selected );
2259		},
2260
2261		"selected": function( elem ) {
2262
2263			// Accessing this property makes selected-by-default
2264			// options in Safari work properly
2265			if ( elem.parentNode ) {
2266				// eslint-disable-next-line no-unused-expressions
2267				elem.parentNode.selectedIndex;
2268			}
2269
2270			return elem.selected === true;
2271		},
2272
2273		// Contents
2274		"empty": function( elem ) {
2275
2276			// http://www.w3.org/TR/selectors/#empty-pseudo
2277			// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
2278			//   but not by others (comment: 8; processing instruction: 7; etc.)
2279			// nodeType < 6 works because attributes (2) do not appear as children
2280			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
2281				if ( elem.nodeType < 6 ) {
2282					return false;
2283				}
2284			}
2285			return true;
2286		},
2287
2288		"parent": function( elem ) {
2289			return !Expr.pseudos[ "empty" ]( elem );
2290		},
2291
2292		// Element/input types
2293		"header": function( elem ) {
2294			return rheader.test( elem.nodeName );
2295		},
2296
2297		"input": function( elem ) {
2298			return rinputs.test( elem.nodeName );
2299		},
2300
2301		"button": function( elem ) {
2302			var name = elem.nodeName.toLowerCase();
2303			return name === "input" && elem.type === "button" || name === "button";
2304		},
2305
2306		"text": function( elem ) {
2307			var attr;
2308			return elem.nodeName.toLowerCase() === "input" &&
2309				elem.type === "text" &&
2310
2311				// Support: IE
2311 <10 only
vendor: 22,597 bytes, lines 2311-3152
2311
2312				// New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
2313				( ( attr = elem.getAttribute( "type" ) ) == null ||
2314					attr.toLowerCase() === "text" );
2315		},
2316
2317		// Position-in-collection
2318		"first": createPositionalPseudo( function() {
2319			return [ 0 ];
2320		} ),
2321
2322		"last": createPositionalPseudo( function( _matchIndexes, length ) {
2323			return [ length - 1 ];
2324		} ),
2325
2326		"eq": createPositionalPseudo( function( _matchIndexes, length, argument ) {
2327			return [ argument < 0 ? argument + length : argument ];
2328		} ),
2329
2330		"even": createPositionalPseudo( function( matchIndexes, length ) {
2331			var i = 0;
2332			for ( ; i < length; i += 2 ) {
2333				matchIndexes.push( i );
2334			}
2335			return matchIndexes;
2336		} ),
2337
2338		"odd": createPositionalPseudo( function( matchIndexes, length ) {
2339			var i = 1;
2340			for ( ; i < length; i += 2 ) {
2341				matchIndexes.push( i );
2342			}
2343			return matchIndexes;
2344		} ),
2345
2346		"lt": createPositionalPseudo( function( matchIndexes, length, argument ) {
2347			var i = argument < 0 ?
2348				argument + length :
2349				argument > length ?
2350					length :
2351					argument;
2352			for ( ; --i >= 0; ) {
2353				matchIndexes.push( i );
2354			}
2355			return matchIndexes;
2356		} ),
2357
2358		"gt": createPositionalPseudo( function( matchIndexes, length, argument ) {
2359			var i = argument < 0 ? argument + length : argument;
2360			for ( ; ++i < length; ) {
2361				matchIndexes.push( i );
2362			}
2363			return matchIndexes;
2364		} )
2365	}
2366};
2367
2368Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ];
2369
2370// Add button/input type pseudos
2371for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
2372	Expr.pseudos[ i ] = createInputPseudo( i );
2373}
2374for ( i in { submit: true, reset: true } ) {
2375	Expr.pseudos[ i ] = createButtonPseudo( i );
2376}
2377
2378// Easy API for creating new setFilters
2379function setFilters() {}
2380setFilters.prototype = Expr.filters = Expr.pseudos;
2381Expr.setFilters = new setFilters();
2382
2383tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
2384	var matched, match, tokens, type,
2385		soFar, groups, preFilters,
2386		cached = tokenCache[ selector + " " ];
2387
2388	if ( cached ) {
2389		return parseOnly ? 0 : cached.slice( 0 );
2390	}
2391
2392	soFar = selector;
2393	groups = [];
2394	preFilters = Expr.preFilter;
2395
2396	while ( soFar ) {
2397
2398		// Comma and first run
2399		if ( !matched || ( match = rcomma.exec( soFar ) ) ) {
2400			if ( match ) {
2401
2402				// Don't consume trailing commas as valid
2403				soFar = soFar.slice( match[ 0 ].length ) || soFar;
2404			}
2405			groups.push( ( tokens = [] ) );
2406		}
2407
2408		matched = false;
2409
2410		// Combinators
2411		if ( ( match = rcombinators.exec( soFar ) ) ) {
2412			matched = match.shift();
2413			tokens.push( {
2414				value: matched,
2415
2416				// Cast descendant combinators to space
2417				type: match[ 0 ].replace( rtrim, " " )
2418			} );
2419			soFar = soFar.slice( matched.length );
2420		}
2421
2422		// Filters
2423		for ( type in Expr.filter ) {
2424			if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||
2425				( match = preFilters[ type ]( match ) ) ) ) {
2426				matched = match.shift();
2427				tokens.push( {
2428					value: matched,
2429					type: type,
2430					matches: match
2431				} );
2432				soFar = soFar.slice( matched.length );
2433			}
2434		}
2435
2436		if ( !matched ) {
2437			break;
2438		}
2439	}
2440
2441	// Return the length of the invalid excess
2442	// if we're just parsing
2443	// Otherwise, throw an error or return tokens
2444	return parseOnly ?
2445		soFar.length :
2446		soFar ?
2447			Sizzle.error( selector ) :
2448
2449			// Cache the tokens
2450			tokenCache( selector, groups ).slice( 0 );
2451};
2452
2453function toSelector( tokens ) {
2454	var i = 0,
2455		len = tokens.length,
2456		selector = "";
2457	for ( ; i < len; i++ ) {
2458		selector += tokens[ i ].value;
2459	}
2460	return selector;
2461}
2462
2463function addCombinator( matcher, combinator, base ) {
2464	var dir = combinator.dir,
2465		skip = combinator.next,
2466		key = skip || dir,
2467		checkNonElements = base && key === "parentNode",
2468		doneName = done++;
2469
2470	return combinator.first ?
2471
2472		// Check against closest ancestor/preceding element
2473		function( elem, context, xml ) {
2474			while ( ( elem = elem[ dir ] ) ) {
2475				if ( elem.nodeType === 1 || checkNonElements ) {
2476					return matcher( elem, context, xml );
2477				}
2478			}
2479			return false;
2480		} :
2481
2482		// Check against all ancestor/preceding elements
2483		function( elem, context, xml ) {
2484			var oldCache, uniqueCache, outerCache,
2485				newCache = [ dirruns, doneName ];
2486
2487			// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
2488			if ( xml ) {
2489				while ( ( elem = elem[ dir ] ) ) {
2490					if ( elem.nodeType === 1 || checkNonElements ) {
2491						if ( matcher( elem, context, xml ) ) {
2492							return true;
2493						}
2494					}
2495				}
2496			} else {
2497				while ( ( elem = elem[ dir ] ) ) {
2498					if ( elem.nodeType === 1 || checkNonElements ) {
2499						outerCache = elem[ expando ] || ( elem[ expando ] = {} );
2500
2501						// Support: IE <9 only
2502						// Defend against cloned attroperties (jQuery gh-1709)
2503						uniqueCache = outerCache[ elem.uniqueID ] ||
2504							( outerCache[ elem.uniqueID ] = {} );
2505
2506						if ( skip && skip === elem.nodeName.toLowerCase() ) {
2507							elem = elem[ dir ] || elem;
2508						} else if ( ( oldCache = uniqueCache[ key ] ) &&
2509							oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
2510
2511							// Assign to newCache so results back-propagate to previous elements
2512							return ( newCache[ 2 ] = oldCache[ 2 ] );
2513						} else {
2514
2515							// Reuse newcache so results back-propagate to previous elements
2516							uniqueCache[ key ] = newCache;
2517
2518							// A match means we're done; a fail means we have to keep checking
2519							if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {
2520								return true;
2521							}
2522						}
2523					}
2524				}
2525			}
2526			return false;
2527		};
2528}
2529
2530function elementMatcher( matchers ) {
2531	return matchers.length > 1 ?
2532		function( elem, context, xml ) {
2533			var i = matchers.length;
2534			while ( i-- ) {
2535				if ( !matchers[ i ]( elem, context, xml ) ) {
2536					return false;
2537				}
2538			}
2539			return true;
2540		} :
2541		matchers[ 0 ];
2542}
2543
2544function multipleContexts( selector, contexts, results ) {
2545	var i = 0,
2546		len = contexts.length;
2547	for ( ; i < len; i++ ) {
2548		Sizzle( selector, contexts[ i ], results );
2549	}
2550	return results;
2551}
2552
2553function condense( unmatched, map, filter, context, xml ) {
2554	var elem,
2555		newUnmatched = [],
2556		i = 0,
2557		len = unmatched.length,
2558		mapped = map != null;
2559
2560	for ( ; i < len; i++ ) {
2561		if ( ( elem = unmatched[ i ] ) ) {
2562			if ( !filter || filter( elem, context, xml ) ) {
2563				newUnmatched.push( elem );
2564				if ( mapped ) {
2565					map.push( i );
2566				}
2567			}
2568		}
2569	}
2570
2571	return newUnmatched;
2572}
2573
2574function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
2575	if ( postFilter && !postFilter[ expando ] ) {
2576		postFilter = setMatcher( postFilter );
2577	}
2578	if ( postFinder && !postFinder[ expando ] ) {
2579		postFinder = setMatcher( postFinder, postSelector );
2580	}
2581	return markFunction( function( seed, results, context, xml ) {
2582		var temp, i, elem,
2583			preMap = [],
2584			postMap = [],
2585			preexisting = results.length,
2586
2587			// Get initial elements from seed or context
2588			elems = seed || multipleContexts(
2589				selector || "*",
2590				context.nodeType ? [ context ] : context,
2591				[]
2592			),
2593
2594			// Prefilter to get matcher input, preserving a map for seed-results synchronization
2595			matcherIn = preFilter && ( seed || !selector ) ?
2596				condense( elems, preMap, preFilter, context, xml ) :
2597				elems,
2598
2599			matcherOut = matcher ?
2600
2601				// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
2602				postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
2603
2604					// ...intermediate processing is necessary
2605					[] :
2606
2607					// ...otherwise use results directly
2608					results :
2609				matcherIn;
2610
2611		// Find primary matches
2612		if ( matcher ) {
2613			matcher( matcherIn, matcherOut, context, xml );
2614		}
2615
2616		// Apply postFilter
2617		if ( postFilter ) {
2618			temp = condense( matcherOut, postMap );
2619			postFilter( temp, [], context, xml );
2620
2621			// Un-match failing elements by moving them back to matcherIn
2622			i = temp.length;
2623			while ( i-- ) {
2624				if ( ( elem = temp[ i ] ) ) {
2625					matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );
2626				}
2627			}
2628		}
2629
2630		if ( seed ) {
2631			if ( postFinder || preFilter ) {
2632				if ( postFinder ) {
2633
2634					// Get the final matcherOut by condensing this intermediate into postFinder contexts
2635					temp = [];
2636					i = matcherOut.length;
2637					while ( i-- ) {
2638						if ( ( elem = matcherOut[ i ] ) ) {
2639
2640							// Restore matcherIn since elem is not yet a final match
2641							temp.push( ( matcherIn[ i ] = elem ) );
2642						}
2643					}
2644					postFinder( null, ( matcherOut = [] ), temp, xml );
2645				}
2646
2647				// Move matched elements from seed to results to keep them synchronized
2648				i = matcherOut.length;
2649				while ( i-- ) {
2650					if ( ( elem = matcherOut[ i ] ) &&
2651						( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) {
2652
2653						seed[ temp ] = !( results[ temp ] = elem );
2654					}
2655				}
2656			}
2657
2658		// Add elements to results, through postFinder if defined
2659		} else {
2660			matcherOut = condense(
2661				matcherOut === results ?
2662					matcherOut.splice( preexisting, matcherOut.length ) :
2663					matcherOut
2664			);
2665			if ( postFinder ) {
2666				postFinder( null, results, matcherOut, xml );
2667			} else {
2668				push.apply( results, matcherOut );
2669			}
2670		}
2671	} );
2672}
2673
2674function matcherFromTokens( tokens ) {
2675	var checkContext, matcher, j,
2676		len = tokens.length,
2677		leadingRelative = Expr.relative[ tokens[ 0 ].type ],
2678		implicitRelative = leadingRelative || Expr.relative[ " " ],
2679		i = leadingRelative ? 1 : 0,
2680
2681		// The foundational matcher ensures that elements are reachable from top-level context(s)
2682		matchContext = addCombinator( function( elem ) {
2683			return elem === checkContext;
2684		}, implicitRelative, true ),
2685		matchAnyContext = addCombinator( function( elem ) {
2686			return indexOf( checkContext, elem ) > -1;
2687		}, implicitRelative, true ),
2688		matchers = [ function( elem, context, xml ) {
2689			var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
2690				( checkContext = context ).nodeType ?
2691					matchContext( elem, context, xml ) :
2692					matchAnyContext( elem, context, xml ) );
2693
2694			// Avoid hanging onto element (issue #299)
2695			checkContext = null;
2696			return ret;
2697		} ];
2698
2699	for ( ; i < len; i++ ) {
2700		if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {
2701			matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];
2702		} else {
2703			matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );
2704
2705			// Return special upon seeing a positional matcher
2706			if ( matcher[ expando ] ) {
2707
2708				// Find the next relative operator (if any) for proper handling
2709				j = ++i;
2710				for ( ; j < len; j++ ) {
2711					if ( Expr.relative[ tokens[ j ].type ] ) {
2712						break;
2713					}
2714				}
2715				return setMatcher(
2716					i > 1 && elementMatcher( matchers ),
2717					i > 1 && toSelector(
2718
2719					// If the preceding token was a descendant combinator, insert an implicit any-element `*`
2720					tokens
2721						.slice( 0, i - 1 )
2722						.concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } )
2723					).replace( rtrim, "$1" ),
2724					matcher,
2725					i < j && matcherFromTokens( tokens.slice( i, j ) ),
2726					j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),
2727					j < len && toSelector( tokens )
2728				);
2729			}
2730			matchers.push( matcher );
2731		}
2732	}
2733
2734	return elementMatcher( matchers );
2735}
2736
2737function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
2738	var bySet = setMatchers.length > 0,
2739		byElement = elementMatchers.length > 0,
2740		superMatcher = function( seed, context, xml, results, outermost ) {
2741			var elem, j, matcher,
2742				matchedCount = 0,
2743				i = "0",
2744				unmatched = seed && [],
2745				setMatched = [],
2746				contextBackup = outermostContext,
2747
2748				// We must always have either seed elements or outermost context
2749				elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ),
2750
2751				// Use integer dirruns iff this is the outermost matcher
2752				dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),
2753				len = elems.length;
2754
2755			if ( outermost ) {
2756
2757				// Support: IE 11+, Edge 17 - 18+
2758				// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
2759				// two documents; shallow comparisons work.
2760				// eslint-disable-next-line eqeqeq
2761				outermostContext = context == document || context || outermost;
2762			}
2763
2764			// Add elements passing elementMatchers directly to results
2765			// Support: IE<9, Safari
2766			// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
2767			for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {
2768				if ( byElement && elem ) {
2769					j = 0;
2770
2771					// Support: IE 11+, Edge 17 - 18+
2772					// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
2773					// two documents; shallow comparisons work.
2774					// eslint-disable-next-line eqeqeq
2775					if ( !context && elem.ownerDocument != document ) {
2776						setDocument( elem );
2777						xml = !documentIsHTML;
2778					}
2779					while ( ( matcher = elementMatchers[ j++ ] ) ) {
2780						if ( matcher( elem, context || document, xml ) ) {
2781							results.push( elem );
2782							break;
2783						}
2784					}
2785					if ( outermost ) {
2786						dirruns = dirrunsUnique;
2787					}
2788				}
2789
2790				// Track unmatched elements for set filters
2791				if ( bySet ) {
2792
2793					// They will have gone through all possible matchers
2794					if ( ( elem = !matcher && elem ) ) {
2795						matchedCount--;
2796					}
2797
2798					// Lengthen the array for every element, matched or not
2799					if ( seed ) {
2800						unmatched.push( elem );
2801					}
2802				}
2803			}
2804
2805			// `i` is now the count of elements visited above, and adding it to `matchedCount`
2806			// makes the latter nonnegative.
2807			matchedCount += i;
2808
2809			// Apply set filters to unmatched elements
2810			// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
2811			// equals `i`), unless we didn't visit _any_ elements in the above loop because we have
2812			// no element matchers and no seed.
2813			// Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
2814			// case, which will result in a "00" `matchedCount` that differs from `i` but is also
2815			// numerically zero.
2816			if ( bySet && i !== matchedCount ) {
2817				j = 0;
2818				while ( ( matcher = setMatchers[ j++ ] ) ) {
2819					matcher( unmatched, setMatched, context, xml );
2820				}
2821
2822				if ( seed ) {
2823
2824					// Reintegrate element matches to eliminate the need for sorting
2825					if ( matchedCount > 0 ) {
2826						while ( i-- ) {
2827							if ( !( unmatched[ i ] || setMatched[ i ] ) ) {
2828								setMatched[ i ] = pop.call( results );
2829							}
2830						}
2831					}
2832
2833					// Discard index placeholder values to get only actual matches
2834					setMatched = condense( setMatched );
2835				}
2836
2837				// Add matches to results
2838				push.apply( results, setMatched );
2839
2840				// Seedless set matches succeeding multiple successful matchers stipulate sorting
2841				if ( outermost && !seed && setMatched.length > 0 &&
2842					( matchedCount + setMatchers.length ) > 1 ) {
2843
2844					Sizzle.uniqueSort( results );
2845				}
2846			}
2847
2848			// Override manipulation of globals by nested matchers
2849			if ( outermost ) {
2850				dirruns = dirrunsUnique;
2851				outermostContext = contextBackup;
2852			}
2853
2854			return unmatched;
2855		};
2856
2857	return bySet ?
2858		markFunction( superMatcher ) :
2859		superMatcher;
2860}
2861
2862compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
2863	var i,
2864		setMatchers = [],
2865		elementMatchers = [],
2866		cached = compilerCache[ selector + " " ];
2867
2868	if ( !cached ) {
2869
2870		// Generate a function of recursive functions that can be used to check each element
2871		if ( !match ) {
2872			match = tokenize( selector );
2873		}
2874		i = match.length;
2875		while ( i-- ) {
2876			cached = matcherFromTokens( match[ i ] );
2877			if ( cached[ expando ] ) {
2878				setMatchers.push( cached );
2879			} else {
2880				elementMatchers.push( cached );
2881			}
2882		}
2883
2884		// Cache the compiled function
2885		cached = compilerCache(
2886			selector,
2887			matcherFromGroupMatchers( elementMatchers, setMatchers )
2888		);
2889
2890		// Save selector and tokenization
2891		cached.selector = selector;
2892	}
2893	return cached;
2894};
2895
2896/**
2897 * A low-level selection function that works with Sizzle's compiled
2898 *  selector functions
2899 * @param {String|Function} selector A selector or a pre-compiled
2900 *  selector function built with Sizzle.compile
2901 * @param {Element} context
2902 * @param {Array} [results]
2903 * @param {Array} [seed] A set of elements to match against
2904 */
2905select = Sizzle.select = function( selector, context, results, seed ) {
2906	var i, tokens, token, type, find,
2907		compiled = typeof selector === "function" && selector,
2908		match = !seed && tokenize( ( selector = compiled.selector || selector ) );
2909
2910	results = results || [];
2911
2912	// Try to minimize operations if there is only one selector in the list and no seed
2913	// (the latter of which guarantees us context)
2914	if ( match.length === 1 ) {
2915
2916		// Reduce context if the leading compound selector is an ID
2917		tokens = match[ 0 ] = match[ 0 ].slice( 0 );
2918		if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" &&
2919			context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {
2920
2921			context = ( Expr.find[ "ID" ]( token.matches[ 0 ]
2922				.replace( runescape, funescape ), context ) || [] )[ 0 ];
2923			if ( !context ) {
2924				return results;
2925
2926			// Precompiled matchers will still verify ancestry, so step up a level
2927			} else if ( compiled ) {
2928				context = context.parentNode;
2929			}
2930
2931			selector = selector.slice( tokens.shift().value.length );
2932		}
2933
2934		// Fetch a seed set for right-to-left matching
2935		i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length;
2936		while ( i-- ) {
2937			token = tokens[ i ];
2938
2939			// Abort if we hit a combinator
2940			if ( Expr.relative[ ( type = token.type ) ] ) {
2941				break;
2942			}
2943			if ( ( find = Expr.find[ type ] ) ) {
2944
2945				// Search, expanding context for leading sibling combinators
2946				if ( ( seed = find(
2947					token.matches[ 0 ].replace( runescape, funescape ),
2948					rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) ||
2949						context
2950				) ) ) {
2951
2952					// If seed is empty or no tokens remain, we can return early
2953					tokens.splice( i, 1 );
2954					selector = seed.length && toSelector( tokens );
2955					if ( !selector ) {
2956						push.apply( results, seed );
2957						return results;
2958					}
2959
2960					break;
2961				}
2962			}
2963		}
2964	}
2965
2966	// Compile and execute a filtering function if one is not provided
2967	// Provide `match` to avoid retokenization if we modified the selector above
2968	( compiled || compile( selector, match ) )(
2969		seed,
2970		context,
2971		!documentIsHTML,
2972		results,
2973		!context || rsibling.test( selector ) && testContext( context.parentNode ) || context
2974	);
2975	return results;
2976};
2977
2978// One-time assignments
2979
2980// Sort stability
2981support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando;
2982
2983// Support: Chrome 14-35+
2984// Always assume duplicates if they aren't passed to the comparison function
2985support.detectDuplicates = !!hasDuplicate;
2986
2987// Initialize against the default document
2988setDocument();
2989
2990// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
2991// Detached nodes confoundingly follow *each other*
2992support.sortDetached = assert( function( el ) {
2993
2994	// Should return 1, but returns 4 (following)
2995	return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1;
2996} );
2997
2998// Support: IE<8
2999// Prevent attribute/property "interpolation"
3000// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
3001if ( !assert( function( el ) {
3002	el.innerHTML = "<a href='#'></a>";
3003	return el.firstChild.getAttribute( "href" ) === "#";
3004} ) ) {
3005	addHandle( "type|href|height|width", function( elem, name, isXML ) {
3006		if ( !isXML ) {
3007			return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
3008		}
3009	} );
3010}
3011
3012// Support: IE<9
3013// Use defaultValue in place of getAttribute("value")
3014if ( !support.attributes || !assert( function( el ) {
3015	el.innerHTML = "<input/>";
3016	el.firstChild.setAttribute( "value", "" );
3017	return el.firstChild.getAttribute( "value" ) === "";
3018} ) ) {
3019	addHandle( "value", function( elem, _name, isXML ) {
3020		if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
3021			return elem.defaultValue;
3022		}
3023	} );
3024}
3025
3026// Support: IE<9
3027// Use getAttributeNode to fetch booleans when getAttribute lies
3028if ( !assert( function( el ) {
3029	return el.getAttribute( "disabled" ) == null;
3030} ) ) {
3031	addHandle( booleans, function( elem, name, isXML ) {
3032		var val;
3033		if ( !isXML ) {
3034			return elem[ name ] === true ? name.toLowerCase() :
3035				( val = elem.getAttributeNode( name ) ) && val.specified ?
3036					val.value :
3037					null;
3038		}
3039	} );
3040}
3041
3042return Sizzle;
3043
3044} )( window );
3045
3046
3047
3048jQuery.find = Sizzle;
3049jQuery.expr = Sizzle.selectors;
3050
3051// Deprecated
3052jQuery.expr[ ":" ] = jQuery.expr.pseudos;
3053jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
3054jQuery.text = Sizzle.getText;
3055jQuery.isXMLDoc = Sizzle.isXML;
3056jQuery.contains = Sizzle.contains;
3057jQuery.escapeSelector = Sizzle.escape;
3058
3059
3060
3061
3062var dir = function( elem, dir, until ) {
3063	var matched = [],
3064		truncate = until !== undefined;
3065
3066	while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
3067		if ( elem.nodeType === 1 ) {
3068			if ( truncate && jQuery( elem ).is( until ) ) {
3069				break;
3070			}
3071			matched.push( elem );
3072		}
3073	}
3074	return matched;
3075};
3076
3077
3078var siblings = function( n, elem ) {
3079	var matched = [];
3080
3081	for ( ; n; n = n.nextSibling ) {
3082		if ( n.nodeType === 1 && n !== elem ) {
3083			matched.push( n );
3084		}
3085	}
3086
3087	return matched;
3088};
3089
3090
3091var rneedsContext = jQuery.expr.match.needsContext;
3092
3093
3094
3095function nodeName( elem, name ) {
3096
3097	return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
3098
3099}
3100var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
3101
3102
3103
3104// Implement the identical functionality for filter and not
3105function winnow( elements, qualifier, not ) {
3106	if ( isFunction( qualifier ) ) {
3107		return jQuery.grep( elements, function( elem, i ) {
3108			return !!qualifier.call( elem, i, elem ) !== not;
3109		} );
3110	}
3111
3112	// Single element
3113	if ( qualifier.nodeType ) {
3114		return jQuery.grep( elements, function( elem ) {
3115			return ( elem === qualifier ) !== not;
3116		} );
3117	}
3118
3119	// Arraylike of elements (jQuery, arguments, Array)
3120	if ( typeof qualifier !== "string" ) {
3121		return jQuery.grep( elements, function( elem ) {
3122			return ( indexOf.call( qualifier, elem ) > -1 ) !== not;
3123		} );
3124	}
3125
3126	// Filtered directly for both simple and complex selectors
3127	return jQuery.filter( qualifier, elements, not );
3128}
3129
3130jQuery.filter = function( expr, elems, not ) {
3131	var elem = elems[ 0 ];
3132
3133	if ( not ) {
3134		expr = ":not(" + expr + ")";
3135	}
3136
3137	if ( elems.length === 1 && elem.nodeType === 1 ) {
3138		return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];
3139	}
3140
3141	return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
3142		return elem.nodeType === 1;
3143	} ) );
3144};
3145
3146jQuery.fn.extend( {
3147	find: function( selector ) {
3148		var i, ret,
3149			len = this.length,
3150			self = this;
3151
3152		if ( typeof selector !== "string" ) {
vendor: 4,670 bytes, lines 3153-3338
3153			return this.pushStack( jQuery( selector ).filter( function() {
3154				for ( i = 0; i < len; i++ ) {
3155					if ( jQuery.contains( self[ i ], this ) ) {
3156						return true;
3157					}
3158				}
3159			} ) );
3160		}
3161
3162		ret = this.pushStack( [] );
3163
3164		for ( i = 0; i < len; i++ ) {
3165			jQuery.find( selector, self[ i ], ret );
3166		}
3167
3168		return len > 1 ? jQuery.uniqueSort( ret ) : ret;
3169	},
3170	filter: function( selector ) {
3171		return this.pushStack( winnow( this, selector || [], false ) );
3172	},
3173	not: function( selector ) {
3174		return this.pushStack( winnow( this, selector || [], true ) );
3175	},
3176	is: function( selector ) {
3177		return !!winnow(
3178			this,
3179
3180			// If this is a positional/relative selector, check membership in the returned set
3181			// so $("p:first").is("p:last") won't return true for a doc with two "p".
3182			typeof selector === "string" && rneedsContext.test( selector ) ?
3183				jQuery( selector ) :
3184				selector || [],
3185			false
3186		).length;
3187	}
3188} );
3189
3190
3191// Initialize a jQuery object
3192
3193
3194// A central reference to the root jQuery(document)
3195var rootjQuery,
3196
3197	// A simple way to check for HTML strings
3198	// Prioritize #id over <tag> to avoid XSS via location.hash (trac-9521)
3199	// Strict HTML recognition (trac-11290: must start with <)
3200	// Shortcut simple #id case for speed
3201	rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
3202
3203	init = jQuery.fn.init = function( selector, context, root ) {
3204		var match, elem;
3205
3206		// HANDLE: $(""), $(null), $(undefined), $(false)
3207		if ( !selector ) {
3208			return this;
3209		}
3210
3211		// Method init() accepts an alternate rootjQuery
3212		// so migrate can support jQuery.sub (gh-2101)
3213		root = root || rootjQuery;
3214
3215		// Handle HTML strings
3216		if ( typeof selector === "string" ) {
3217			if ( selector[ 0 ] === "<" &&
3218				selector[ selector.length - 1 ] === ">" &&
3219				selector.length >= 3 ) {
3220
3221				// Assume that strings that start and end with <> are HTML and skip the regex check
3222				match = [ null, selector, null ];
3223
3224			} else {
3225				match = rquickExpr.exec( selector );
3226			}
3227
3228			// Match html or make sure no context is specified for #id
3229			if ( match && ( match[ 1 ] || !context ) ) {
3230
3231				// HANDLE: $(html) -> $(array)
3232				if ( match[ 1 ] ) {
3233					context = context instanceof jQuery ? context[ 0 ] : context;
3234
3235					// Option to run scripts is true for back-compat
3236					// Intentionally let the error be thrown if parseHTML is not present
3237					jQuery.merge( this, jQuery.parseHTML(
3238						match[ 1 ],
3239						context && context.nodeType ? context.ownerDocument || context : document,
3240						true
3241					) );
3242
3243					// HANDLE: $(html, props)
3244					if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
3245						for ( match in context ) {
3246
3247							// Properties of context are called as methods if possible
3248							if ( isFunction( this[ match ] ) ) {
3249								this[ match ]( context[ match ] );
3250
3251							// ...and otherwise set as attributes
3252							} else {
3253								this.attr( match, context[ match ] );
3254							}
3255						}
3256					}
3257
3258					return this;
3259
3260				// HANDLE: $(#id)
3261				} else {
3262					elem = document.getElementById( match[ 2 ] );
3263
3264					if ( elem ) {
3265
3266						// Inject the element directly into the jQuery object
3267						this[ 0 ] = elem;
3268						this.length = 1;
3269					}
3270					return this;
3271				}
3272
3273			// HANDLE: $(expr, $(...))
3274			} else if ( !context || context.jquery ) {
3275				return ( context || root ).find( selector );
3276
3277			// HANDLE: $(expr, context)
3278			// (which is just equivalent to: $(context).find(expr)
3279			} else {
3280				return this.constructor( context ).find( selector );
3281			}
3282
3283		// HANDLE: $(DOMElement)
3284		} else if ( selector.nodeType ) {
3285			this[ 0 ] = selector;
3286			this.length = 1;
3287			return this;
3288
3289		// HANDLE: $(function)
3290		// Shortcut for document ready
3291		} else if ( isFunction( selector ) ) {
3292			return root.ready !== undefined ?
3293				root.ready( selector ) :
3294
3295				// Execute immediately if ready is not present
3296				selector( jQuery );
3297		}
3298
3299		return jQuery.makeArray( selector, this );
3300	};
3301
3302// Give the init function the jQuery prototype for later instantiation
3303init.prototype = jQuery.fn;
3304
3305// Initialize central reference
3306rootjQuery = jQuery( document );
3307
3308
3309var rparentsprev = /^(?:parents|prev(?:Until|All))/,
3310
3311	// Methods guaranteed to produce a unique set when starting from a unique set
3312	guaranteedUnique = {
3313		children: true,
3314		contents: true,
3315		next: true,
3316		prev: true
3317	};
3318
3319jQuery.fn.extend( {
3320	has: function( target ) {
3321		var targets = jQuery( target, this ),
3322			l = targets.length;
3323
3324		return this.filter( function() {
3325			var i = 0;
3326			for ( ; i < l; i++ ) {
3327				if ( jQuery.contains( this, targets[ i ] ) ) {
3328					return true;
3329				}
3330			}
3331		} );
3332	},
3333
3334	closest: function( selectors, context ) {
3335		var cur,
3336			i = 0,
3337			l = this.length,
3338			matched = [],
vendor: 15,549 bytes, lines 3339-3924
3339			targets = typeof selectors !== "string" && jQuery( selectors );
3340
3341		// Positional selectors never match, since there's no _selection_ context
3342		if ( !rneedsContext.test( selectors ) ) {
3343			for ( ; i < l; i++ ) {
3344				for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {
3345
3346					// Always skip document fragments
3347					if ( cur.nodeType < 11 && ( targets ?
3348						targets.index( cur ) > -1 :
3349
3350						// Don't pass non-elements to Sizzle
3351						cur.nodeType === 1 &&
3352							jQuery.find.matchesSelector( cur, selectors ) ) ) {
3353
3354						matched.push( cur );
3355						break;
3356					}
3357				}
3358			}
3359		}
3360
3361		return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
3362	},
3363
3364	// Determine the position of an element within the set
3365	index: function( elem ) {
3366
3367		// No argument, return index in parent
3368		if ( !elem ) {
3369			return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
3370		}
3371
3372		// Index in selector
3373		if ( typeof elem === "string" ) {
3374			return indexOf.call( jQuery( elem ), this[ 0 ] );
3375		}
3376
3377		// Locate the position of the desired element
3378		return indexOf.call( this,
3379
3380			// If it receives a jQuery object, the first element is used
3381			elem.jquery ? elem[ 0 ] : elem
3382		);
3383	},
3384
3385	add: function( selector, context ) {
3386		return this.pushStack(
3387			jQuery.uniqueSort(
3388				jQuery.merge( this.get(), jQuery( selector, context ) )
3389			)
3390		);
3391	},
3392
3393	addBack: function( selector ) {
3394		return this.add( selector == null ?
3395			this.prevObject : this.prevObject.filter( selector )
3396		);
3397	}
3398} );
3399
3400function sibling( cur, dir ) {
3401	while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
3402	return cur;
3403}
3404
3405jQuery.each( {
3406	parent: function( elem ) {
3407		var parent = elem.parentNode;
3408		return parent && parent.nodeType !== 11 ? parent : null;
3409	},
3410	parents: function( elem ) {
3411		return dir( elem, "parentNode" );
3412	},
3413	parentsUntil: function( elem, _i, until ) {
3414		return dir( elem, "parentNode", until );
3415	},
3416	next: function( elem ) {
3417		return sibling( elem, "nextSibling" );
3418	},
3419	prev: function( elem ) {
3420		return sibling( elem, "previousSibling" );
3421	},
3422	nextAll: function( elem ) {
3423		return dir( elem, "nextSibling" );
3424	},
3425	prevAll: function( elem ) {
3426		return dir( elem, "previousSibling" );
3427	},
3428	nextUntil: function( elem, _i, until ) {
3429		return dir( elem, "nextSibling", until );
3430	},
3431	prevUntil: function( elem, _i, until ) {
3432		return dir( elem, "previousSibling", until );
3433	},
3434	siblings: function( elem ) {
3435		return siblings( ( elem.parentNode || {} ).firstChild, elem );
3436	},
3437	children: function( elem ) {
3438		return siblings( elem.firstChild );
3439	},
3440	contents: function( elem ) {
3441		if ( elem.contentDocument != null &&
3442
3443			// Support: IE 11+
3444			// <object> elements with no `data` attribute has an object
3445			// `contentDocument` with a `null` prototype.
3446			getProto( elem.contentDocument ) ) {
3447
3448			return elem.contentDocument;
3449		}
3450
3451		// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
3452		// Treat the template element as a regular one in browsers that
3453		// don't support it.
3454		if ( nodeName( elem, "template" ) ) {
3455			elem = elem.content || elem;
3456		}
3457
3458		return jQuery.merge( [], elem.childNodes );
3459	}
3460}, function( name, fn ) {
3461	jQuery.fn[ name ] = function( until, selector ) {
3462		var matched = jQuery.map( this, fn, until );
3463
3464		if ( name.slice( -5 ) !== "Until" ) {
3465			selector = until;
3466		}
3467
3468		if ( selector && typeof selector === "string" ) {
3469			matched = jQuery.filter( selector, matched );
3470		}
3471
3472		if ( this.length > 1 ) {
3473
3474			// Remove duplicates
3475			if ( !guaranteedUnique[ name ] ) {
3476				jQuery.uniqueSort( matched );
3477			}
3478
3479			// Reverse order for parents* and prev-derivatives
3480			if ( rparentsprev.test( name ) ) {
3481				matched.reverse();
3482			}
3483		}
3484
3485		return this.pushStack( matched );
3486	};
3487} );
3488var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g );
3489
3490
3491
3492// Convert String-formatted options into Object-formatted ones
3493function createOptions( options ) {
3494	var object = {};
3495	jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {
3496		object[ flag ] = true;
3497	} );
3498	return object;
3499}
3500
3501/*
3502 * Create a callback list using the following parameters:
3503 *
3504 *	options: an optional list of space-separated options that will change how
3505 *			the callback list behaves or a more traditional option object
3506 *
3507 * By default a callback list will act like an event callback list and can be
3508 * "fired" multiple times.
3509 *
3510 * Possible options:
3511 *
3512 *	once:			will ensure the callback list can only be fired once (like a Deferred)
3513 *
3514 *	memory:			will keep track of previous values and will call any callback added
3515 *					after the list has been fired right away with the latest "memorized"
3516 *					values (like a Deferred)
3517 *
3518 *	unique:			will ensure a callback can only be added once (no duplicate in the list)
3519 *
3520 *	stopOnFalse:	interrupt callings when a callback returns false
3521 *
3522 */
3523jQuery.Callbacks = function( options ) {
3524
3525	// Convert options from String-formatted to Object-formatted if needed
3526	// (we check in cache first)
3527	options = typeof options === "string" ?
3528		createOptions( options ) :
3529		jQuery.extend( {}, options );
3530
3531	var // Flag to know if list is currently firing
3532		firing,
3533
3534		// Last fire value for non-forgettable lists
3535		memory,
3536
3537		// Flag to know if list was already fired
3538		fired,
3539
3540		// Flag to prevent firing
3541		locked,
3542
3543		// Actual callback list
3544		list = [],
3545
3546		// Queue of execution data for repeatable lists
3547		queue = [],
3548
3549		// Index of currently firing callback (modified by add/remove as needed)
3550		firingIndex = -1,
3551
3552		// Fire callbacks
3553		fire = function() {
3554
3555			// Enforce single-firing
3556			locked = locked || options.once;
3557
3558			// Execute callbacks for all pending executions,
3559			// respecting firingIndex overrides and runtime changes
3560			fired = firing = true;
3561			for ( ; queue.length; firingIndex = -1 ) {
3562				memory = queue.shift();
3563				while ( ++firingIndex < list.length ) {
3564
3565					// Run callback and check for early termination
3566					if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
3567						options.stopOnFalse ) {
3568
3569						// Jump to end and forget the data so .add doesn't re-fire
3570						firingIndex = list.length;
3571						memory = false;
3572					}
3573				}
3574			}
3575
3576			// Forget the data if we're done with it
3577			if ( !options.memory ) {
3578				memory = false;
3579			}
3580
3581			firing = false;
3582
3583			// Clean up if we're done firing for good
3584			if ( locked ) {
3585
3586				// Keep an empty list if we have data for future add calls
3587				if ( memory ) {
3588					list = [];
3589
3590				// Otherwise, this object is spent
3591				} else {
3592					list = "";
3593				}
3594			}
3595		},
3596
3597		// Actual Callbacks object
3598		self = {
3599
3600			// Add a callback or a collection of callbacks to the list
3601			add: function() {
3602				if ( list ) {
3603
3604					// If we have memory from a past run, we should fire after adding
3605					if ( memory && !firing ) {
3606						firingIndex = list.length - 1;
3607						queue.push( memory );
3608					}
3609
3610					( function add( args ) {
3611						jQuery.each( args, function( _, arg ) {
3612							if ( isFunction( arg ) ) {
3613								if ( !options.unique || !self.has( arg ) ) {
3614									list.push( arg );
3615								}
3616							} else if ( arg && arg.length && toType( arg ) !== "string" ) {
3617
3618								// Inspect recursively
3619								add( arg );
3620							}
3621						} );
3622					} )( arguments );
3623
3624					if ( memory && !firing ) {
3625						fire();
3626					}
3627				}
3628				return this;
3629			},
3630
3631			// Remove a callback from the list
3632			remove: function() {
3633				jQuery.each( arguments, function( _, arg ) {
3634					var index;
3635					while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
3636						list.splice( index, 1 );
3637
3638						// Handle firing indexes
3639						if ( index <= firingIndex ) {
3640							firingIndex--;
3641						}
3642					}
3643				} );
3644				return this;
3645			},
3646
3647			// Check if a given callback is in the list.
3648			// If no argument is given, return whether or not list has callbacks attached.
3649			has: function( fn ) {
3650				return fn ?
3651					jQuery.inArray( fn, list ) > -1 :
3652					list.length > 0;
3653			},
3654
3655			// Remove all callbacks from the list
3656			empty: function() {
3657				if ( list ) {
3658					list = [];
3659				}
3660				return this;
3661			},
3662
3663			// Disable .fire and .add
3664			// Abort any current/pending executions
3665			// Clear all callbacks and values
3666			disable: function() {
3667				locked = queue = [];
3668				list = memory = "";
3669				return this;
3670			},
3671			disabled: function() {
3672				return !list;
3673			},
3674
3675			// Disable .fire
3676			// Also disable .add unless we have memory (since it would have no effect)
3677			// Abort any pending executions
3678			lock: function() {
3679				locked = queue = [];
3680				if ( !memory && !firing ) {
3681					list = memory = "";
3682				}
3683				return this;
3684			},
3685			locked: function() {
3686				return !!locked;
3687			},
3688
3689			// Call all callbacks with the given context and arguments
3690			fireWith: function( context, args ) {
3691				if ( !locked ) {
3692					args = args || [];
3693					args = [ context, args.slice ? args.slice() : args ];
3694					queue.push( args );
3695					if ( !firing ) {
3696						fire();
3697					}
3698				}
3699				return this;
3700			},
3701
3702			// Call all the callbacks with the given arguments
3703			fire: function() {
3704				self.fireWith( this, arguments );
3705				return this;
3706			},
3707
3708			// To know if the callbacks have already been called at least once
3709			fired: function() {
3710				return !!fired;
3711			}
3712		};
3713
3714	return self;
3715};
3716
3717
3718function Identity( v ) {
3719	return v;
3720}
3721function Thrower( ex ) {
3722	throw ex;
3723}
3724
3725function adoptValue( value, resolve, reject, noValue ) {
3726	var method;
3727
3728	try {
3729
3730		// Check for promise aspect first to privilege synchronous behavior
3731		if ( value && isFunction( ( method = value.promise ) ) ) {
3732			method.call( value ).done( resolve ).fail( reject );
3733
3734		// Other thenables
3735		} else if ( value && isFunction( ( method = value.then ) ) ) {
3736			method.call( value, resolve, reject );
3737
3738		// Other non-thenables
3739		} else {
3740
3741			// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:
3742			// * false: [ value ].slice( 0 ) => resolve( value )
3743			// * true: [ value ].slice( 1 ) => resolve()
3744			resolve.apply( undefined, [ value ].slice( noValue ) );
3745		}
3746
3747	// For Promises/A+, convert exceptions into rejections
3748	// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in
3749	// Deferred#then to conditionally suppress rejection.
3750	} catch ( value ) {
3751
3752		// Support: Android 4.0 only
3753		// Strict mode functions invoked without .call/.apply get global-object context
3754		reject.apply( undefined, [ value ] );
3755	}
3756}
3757
3758jQuery.extend( {
3759
3760	Deferred: function( func ) {
3761		var tuples = [
3762
3763				// action, add listener, callbacks,
3764				// ... .then handlers, argument index, [final state]
3765				[ "notify", "progress", jQuery.Callbacks( "memory" ),
3766					jQuery.Callbacks( "memory" ), 2 ],
3767				[ "resolve", "done", jQuery.Callbacks( "once memory" ),
3768					jQuery.Callbacks( "once memory" ), 0, "resolved" ],
3769				[ "reject", "fail", jQuery.Callbacks( "once memory" ),
3770					jQuery.Callbacks( "once memory" ), 1, "rejected" ]
3771			],
3772			state = "pending",
3773			promise = {
3774				state: function() {
3775					return state;
3776				},
3777				always: function() {
3778					deferred.done( arguments ).fail( arguments );
3779					return this;
3780				},
3781				"catch": function( fn ) {
3782					return promise.then( null, fn );
3783				},
3784
3785				// Keep pipe for back-compat
3786				pipe: function( /* fnDone, fnFail, fnProgress */ ) {
3787					var fns = arguments;
3788
3789					return jQuery.Deferred( function( newDefer ) {
3790						jQuery.each( tuples, function( _i, tuple ) {
3791
3792							// Map tuples (progress, done, fail) to arguments (done, fail, progress)
3793							var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
3794
3795							// deferred.progress(function() { bind to newDefer or newDefer.notify })
3796							// deferred.done(function() { bind to newDefer or newDefer.resolve })
3797							// deferred.fail(function() { bind to newDefer or newDefer.reject })
3798							deferred[ tuple[ 1 ] ]( function() {
3799								var returned = fn && fn.apply( this, arguments );
3800								if ( returned && isFunction( returned.promise ) ) {
3801									returned.promise()
3802										.progress( newDefer.notify )
3803										.done( newDefer.resolve )
3804										.fail( newDefer.reject );
3805								} else {
3806									newDefer[ tuple[ 0 ] + "With" ](
3807										this,
3808										fn ? [ returned ] : arguments
3809									);
3810								}
3811							} );
3812						} );
3813						fns = null;
3814					} ).promise();
3815				},
3816				then: function( onFulfilled, onRejected, onProgress ) {
3817					var maxDepth = 0;
3818					function resolve( depth, deferred, handler, special ) {
3819						return function() {
3820							var that = this,
3821								args = arguments,
3822								mightThrow = function() {
3823									var returned, then;
3824
3825									// Support: Promises/A+ section 2.3.3.3.3
3826									// https://promisesaplus.com/#point-59
3827									// Ignore double-resolution attempts
3828									if ( depth < maxDepth ) {
3829										return;
3830									}
3831
3832									returned = handler.apply( that, args );
3833
3834									// Support: Promises/A+ section 2.3.1
3835									// https://promisesaplus.com/#point-48
3836									if ( returned === deferred.promise() ) {
3837										throw new TypeError( "Thenable self-resolution" );
3838									}
3839
3840									// Support: Promises/A+ sections 2.3.3.1, 3.5
3841									// https://promisesaplus.com/#point-54
3842									// https://promisesaplus.com/#point-75
3843									// Retrieve `then` only once
3844									then = returned &&
3845
3846										// Support: Promises/A+ section 2.3.4
3847										// https://promisesaplus.com/#point-64
3848										// Only check objects and functions for thenability
3849										( typeof returned === "object" ||
3850											typeof returned === "function" ) &&
3851										returned.then;
3852
3853									// Handle a returned thenable
3854									if ( isFunction( then ) ) {
3855
3856										// Special processors (notify) just wait for resolution
3857										if ( special ) {
3858											then.call(
3859												returned,
3860												resolve( maxDepth, deferred, Identity, special ),
3861												resolve( maxDepth, deferred, Thrower, special )
3862											);
3863
3864										// Normal processors (resolve) also hook into progress
3865										} else {
3866
3867											// ...and disregard older resolution values
3868											maxDepth++;
3869
3870											then.call(
3871												returned,
3872												resolve( maxDepth, deferred, Identity, special ),
3873												resolve( maxDepth, deferred, Thrower, special ),
3874												resolve( maxDepth, deferred, Identity,
3875													deferred.notifyWith )
3876											);
3877										}
3878
3879									// Handle all other returned values
3880									} else {
3881
3882										// Only substitute handlers pass on context
3883										// and multiple values (non-spec behavior)
3884										if ( handler !== Identity ) {
3885											that = undefined;
3886											args = [ returned ];
3887										}
3888
3889										// Process the value(s)
3890										// Default process is resolve
3891										( special || deferred.resolveWith )( that, args );
3892									}
3893								},
3894
3895								// Only normal processors (resolve) catch and reject exceptions
3896								process = special ?
3897									mightThrow :
3898									function() {
3899										try {
3900											mightThrow();
3901										} catch ( e ) {
3902
3903											if ( jQuery.Deferred.exceptionHook ) {
3904												jQuery.Deferred.exceptionHook( e,
3905													process.stackTrace );
3906											}
3907
3908											// Support: Promises/A+ section 2.3.3.3.4.1
3909											// https://promisesaplus.com/#point-61
3910											// Ignore post-resolution exceptions
3911											if ( depth + 1 >= maxDepth ) {
3912
3913												// Only substitute handlers pass on context
3914												// and multiple values (non-spec behavior)
3915												if ( handler !== Thrower ) {
3916													that = undefined;
3917													args = [ e ];
3918												}
3919
3920												deferred.rejectWith( that, args );
3921											}
3922										}
3923									};
3924
vendor: 10,679 bytes, lines 3925-4373
3925							// Support: Promises/A+ section 2.3.3.3.1
3926							// https://promisesaplus.com/#point-57
3927							// Re-resolve promises immediately to dodge false rejection from
3928							// subsequent errors
3929							if ( depth ) {
3930								process();
3931							} else {
3932
3933								// Call an optional hook to record the stack, in case of exception
3934								// since it's otherwise lost when execution goes async
3935								if ( jQuery.Deferred.getStackHook ) {
3936									process.stackTrace = jQuery.Deferred.getStackHook();
3937								}
3938								window.setTimeout( process );
3939							}
3940						};
3941					}
3942
3943					return jQuery.Deferred( function( newDefer ) {
3944
3945						// progress_handlers.add( ... )
3946						tuples[ 0 ][ 3 ].add(
3947							resolve(
3948								0,
3949								newDefer,
3950								isFunction( onProgress ) ?
3951									onProgress :
3952									Identity,
3953								newDefer.notifyWith
3954							)
3955						);
3956
3957						// fulfilled_handlers.add( ... )
3958						tuples[ 1 ][ 3 ].add(
3959							resolve(
3960								0,
3961								newDefer,
3962								isFunction( onFulfilled ) ?
3963									onFulfilled :
3964									Identity
3965							)
3966						);
3967
3968						// rejected_handlers.add( ... )
3969						tuples[ 2 ][ 3 ].add(
3970							resolve(
3971								0,
3972								newDefer,
3973								isFunction( onRejected ) ?
3974									onRejected :
3975									Thrower
3976							)
3977						);
3978					} ).promise();
3979				},
3980
3981				// Get a promise for this deferred
3982				// If obj is provided, the promise aspect is added to the object
3983				promise: function( obj ) {
3984					return obj != null ? jQuery.extend( obj, promise ) : promise;
3985				}
3986			},
3987			deferred = {};
3988
3989		// Add list-specific methods
3990		jQuery.each( tuples, function( i, tuple ) {
3991			var list = tuple[ 2 ],
3992				stateString = tuple[ 5 ];
3993
3994			// promise.progress = list.add
3995			// promise.done = list.add
3996			// promise.fail = list.add
3997			promise[ tuple[ 1 ] ] = list.add;
3998
3999			// Handle state
4000			if ( stateString ) {
4001				list.add(
4002					function() {
4003
4004						// state = "resolved" (i.e., fulfilled)
4005						// state = "rejected"
4006						state = stateString;
4007					},
4008
4009					// rejected_callbacks.disable
4010					// fulfilled_callbacks.disable
4011					tuples[ 3 - i ][ 2 ].disable,
4012
4013					// rejected_handlers.disable
4014					// fulfilled_handlers.disable
4015					tuples[ 3 - i ][ 3 ].disable,
4016
4017					// progress_callbacks.lock
4018					tuples[ 0 ][ 2 ].lock,
4019
4020					// progress_handlers.lock
4021					tuples[ 0 ][ 3 ].lock
4022				);
4023			}
4024
4025			// progress_handlers.fire
4026			// fulfilled_handlers.fire
4027			// rejected_handlers.fire
4028			list.add( tuple[ 3 ].fire );
4029
4030			// deferred.notify = function() { deferred.notifyWith(...) }
4031			// deferred.resolve = function() { deferred.resolveWith(...) }
4032			// deferred.reject = function() { deferred.rejectWith(...) }
4033			deferred[ tuple[ 0 ] ] = function() {
4034				deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments );
4035				return this;
4036			};
4037
4038			// deferred.notifyWith = list.fireWith
4039			// deferred.resolveWith = list.fireWith
4040			// deferred.rejectWith = list.fireWith
4041			deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
4042		} );
4043
4044		// Make the deferred a promise
4045		promise.promise( deferred );
4046
4047		// Call given func if any
4048		if ( func ) {
4049			func.call( deferred, deferred );
4050		}
4051
4052		// All done!
4053		return deferred;
4054	},
4055
4056	// Deferred helper
4057	when: function( singleValue ) {
4058		var
4059
4060			// count of uncompleted subordinates
4061			remaining = arguments.length,
4062
4063			// count of unprocessed arguments
4064			i = remaining,
4065
4066			// subordinate fulfillment data
4067			resolveContexts = Array( i ),
4068			resolveValues = slice.call( arguments ),
4069
4070			// the primary Deferred
4071			primary = jQuery.Deferred(),
4072
4073			// subordinate callback factory
4074			updateFunc = function( i ) {
4075				return function( value ) {
4076					resolveContexts[ i ] = this;
4077					resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
4078					if ( !( --remaining ) ) {
4079						primary.resolveWith( resolveContexts, resolveValues );
4080					}
4081				};
4082			};
4083
4084		// Single- and empty arguments are adopted like Promise.resolve
4085		if ( remaining <= 1 ) {
4086			adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject,
4087				!remaining );
4088
4089			// Use .then() to unwrap secondary thenables (cf. gh-3000)
4090			if ( primary.state() === "pending" ||
4091				isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
4092
4093				return primary.then();
4094			}
4095		}
4096
4097		// Multiple arguments are aggregated like Promise.all array elements
4098		while ( i-- ) {
4099			adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject );
4100		}
4101
4102		return primary.promise();
4103	}
4104} );
4105
4106
4107// These usually indicate a programmer mistake during development,
4108// warn about them ASAP rather than swallowing them by default.
4109var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
4110
4111jQuery.Deferred.exceptionHook = function( error, stack ) {
4112
4113	// Support: IE 8 - 9 only
4114	// Console exists when dev tools are open, which can happen at any time
4115	if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
4116		window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack );
4117	}
4118};
4119
4120
4121
4122
4123jQuery.readyException = function( error ) {
4124	window.setTimeout( function() {
4125		throw error;
4126	} );
4127};
4128
4129
4130
4131
4132// The deferred used on DOM ready
4133var readyList = jQuery.Deferred();
4134
4135jQuery.fn.ready = function( fn ) {
4136
4137	readyList
4138		.then( fn )
4139
4140		// Wrap jQuery.readyException in a function so that the lookup
4141		// happens at the time of error handling instead of callback
4142		// registration.
4143		.catch( function( error ) {
4144			jQuery.readyException( error );
4145		} );
4146
4147	return this;
4148};
4149
4150jQuery.extend( {
4151
4152	// Is the DOM ready to be used? Set to true once it occurs.
4153	isReady: false,
4154
4155	// A counter to track how many items to wait for before
4156	// the ready event fires. See trac-6781
4157	readyWait: 1,
4158
4159	// Handle when the DOM is ready
4160	ready: function( wait ) {
4161
4162		// Abort if there are pending holds or we're already ready
4163		if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
4164			return;
4165		}
4166
4167		// Remember that the DOM is ready
4168		jQuery.isReady = true;
4169
4170		// If a normal DOM Ready event fired, decrement, and wait if need be
4171		if ( wait !== true && --jQuery.readyWait > 0 ) {
4172			return;
4173		}
4174
4175		// If there are functions bound, to execute
4176		readyList.resolveWith( document, [ jQuery ] );
4177	}
4178} );
4179
4180jQuery.ready.then = readyList.then;
4181
4182// The ready event handler and self cleanup method
4183function completed() {
4184	document.removeEventListener( "DOMContentLoaded", completed );
4185	window.removeEventListener( "load", completed );
4186	jQuery.ready();
4187}
4188
4189// Catch cases where $(document).ready() is called
4190// after the browser event has already occurred.
4191// Support: IE <=9 - 10 only
4192// Older IE sometimes signals "interactive" too soon
4193if ( document.readyState === "complete" ||
4194	( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
4195
4196	// Handle it asynchronously to allow scripts the opportunity to delay ready
4197	window.setTimeout( jQuery.ready );
4198
4199} else {
4200
4201	// Use the handy event callback
4202	document.addEventListener( "DOMContentLoaded", completed );
4203
4204	// A fallback to window.onload, that will always work
4205	window.addEventListener( "load", completed );
4206}
4207
4208
4209
4210
4211// Multifunctional method to get and set values of a collection
4212// The value/s can optionally be executed if it's a function
4213var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
4214	var i = 0,
4215		len = elems.length,
4216		bulk = key == null;
4217
4218	// Sets many values
4219	if ( toType( key ) === "object" ) {
4220		chainable = true;
4221		for ( i in key ) {
4222			access( elems, fn, i, key[ i ], true, emptyGet, raw );
4223		}
4224
4225	// Sets one value
4226	} else if ( value !== undefined ) {
4227		chainable = true;
4228
4229		if ( !isFunction( value ) ) {
4230			raw = true;
4231		}
4232
4233		if ( bulk ) {
4234
4235			// Bulk operations run against the entire set
4236			if ( raw ) {
4237				fn.call( elems, value );
4238				fn = null;
4239
4240			// ...except when executing function values
4241			} else {
4242				bulk = fn;
4243				fn = function( elem, _key, value ) {
4244					return bulk.call( jQuery( elem ), value );
4245				};
4246			}
4247		}
4248
4249		if ( fn ) {
4250			for ( ; i < len; i++ ) {
4251				fn(
4252					elems[ i ], key, raw ?
4253						value :
4254						value.call( elems[ i ], i, fn( elems[ i ], key ) )
4255				);
4256			}
4257		}
4258	}
4259
4260	if ( chainable ) {
4261		return elems;
4262	}
4263
4264	// Gets
4265	if ( bulk ) {
4266		return fn.call( elems );
4267	}
4268
4269	return len ? fn( elems[ 0 ], key ) : emptyGet;
4270};
4271
4272
4273// Matches dashed string for camelizing
4274var rmsPrefix = /^-ms-/,
4275	rdashAlpha = /-([a-z])/g;
4276
4277// Used by camelCase as callback to replace()
4278function fcamelCase( _all, letter ) {
4279	return letter.toUpperCase();
4280}
4281
4282// Convert dashed to camelCase; used by the css and data modules
4283// Support: IE <=9 - 11, Edge 12 - 15
4284// Microsoft forgot to hump their vendor prefix (trac-9572)
4285function camelCase( string ) {
4286	return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
4287}
4288var acceptData = function( owner ) {
4289
4290	// Accepts only:
4291	//  - Node
4292	//    - Node.ELEMENT_NODE
4293	//    - Node.DOCUMENT_NODE
4294	//  - Object
4295	//    - Any
4296	return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
4297};
4298
4299
4300
4301
4302function Data() {
4303	this.expando = jQuery.expando + Data.uid++;
4304}
4305
4306Data.uid = 1;
4307
4308Data.prototype = {
4309
4310	cache: function( owner ) {
4311
4312		// Check if the owner object already has a cache
4313		var value = owner[ this.expando ];
4314
4315		// If not, create one
4316		if ( !value ) {
4317			value = {};
4318
4319			// We can accept data for non-element nodes in modern browsers,
4320			// but we should not, see trac-8335.
4321			// Always return an empty object.
4322			if ( acceptData( owner ) ) {
4323
4324				// If it is a node unlikely to be stringify-ed or looped over
4325				// use plain assignment
4326				if ( owner.nodeType ) {
4327					owner[ this.expando ] = value;
4328
4329				// Otherwise secure it in a non-enumerable property
4330				// configurable must be true to allow the property to be
4331				// deleted when data is removed
4332				} else {
4333					Object.defineProperty( owner, this.expando, {
4334						value: value,
4335						configurable: true
4336					} );
4337				}
4338			}
4339		}
4340
4341		return value;
4342	},
4343	set: function( owner, data, value ) {
4344		var prop,
4345			cache = this.cache( owner );
4346
4347		// Handle: [ owner, key, value ] args
4348		// Always use camelCase key (gh-2257)
4349		if ( typeof data === "string" ) {
4350			cache[ camelCase( data ) ] = value;
4351
4352		// Handle: [ owner, { properties } ] args
4353		} else {
4354
4355			// Copy the properties one-by-one to the cache object
4356			for ( prop in data ) {
4357				cache[ camelCase( prop ) ] = data[ prop ];
4358			}
4359		}
4360		return cache;
4361	},
4362	get: function( owner, key ) {
4363		return key === undefined ?
4364			this.cache( owner ) :
4365
4366			// Always use camelCase key (gh-2257)
4367			owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];
4368	},
4369	access: function( owner, key, value ) {
4370
4371		// In cases where either:
4372		//
4373		//   1. No key was specified
vendor: 4,579 bytes, lines 4374-4557
4374		//   2. A string key was specified, but no value provided
4375		//
4376		// Take the "read" path and allow the get method to determine
4377		// which value to return, respectively either:
4378		//
4379		//   1. The entire cache object
4380		//   2. The data stored at the key
4381		//
4382		if ( key === undefined ||
4383				( ( key && typeof key === "string" ) && value === undefined ) ) {
4384
4385			return this.get( owner, key );
4386		}
4387
4388		// When the key is not a string, or both a key and value
4389		// are specified, set or extend (existing objects) with either:
4390		//
4391		//   1. An object of properties
4392		//   2. A key and value
4393		//
4394		this.set( owner, key, value );
4395
4396		// Since the "set" path can have two possible entry points
4397		// return the expected data based on which path was taken[*]
4398		return value !== undefined ? value : key;
4399	},
4400	remove: function( owner, key ) {
4401		var i,
4402			cache = owner[ this.expando ];
4403
4404		if ( cache === undefined ) {
4405			return;
4406		}
4407
4408		if ( key !== undefined ) {
4409
4410			// Support array or space separated string of keys
4411			if ( Array.isArray( key ) ) {
4412
4413				// If key is an array of keys...
4414				// We always set camelCase keys, so remove that.
4415				key = key.map( camelCase );
4416			} else {
4417				key = camelCase( key );
4418
4419				// If a key with the spaces exists, use it.
4420				// Otherwise, create an array by matching non-whitespace
4421				key = key in cache ?
4422					[ key ] :
4423					( key.match( rnothtmlwhite ) || [] );
4424			}
4425
4426			i = key.length;
4427
4428			while ( i-- ) {
4429				delete cache[ key[ i ] ];
4430			}
4431		}
4432
4433		// Remove the expando if there's no more data
4434		if ( key === undefined || jQuery.isEmptyObject( cache ) ) {
4435
4436			// Support: Chrome <=35 - 45
4437			// Webkit & Blink performance suffers when deleting properties
4438			// from DOM nodes, so set to undefined instead
4439			// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)
4440			if ( owner.nodeType ) {
4441				owner[ this.expando ] = undefined;
4442			} else {
4443				delete owner[ this.expando ];
4444			}
4445		}
4446	},
4447	hasData: function( owner ) {
4448		var cache = owner[ this.expando ];
4449		return cache !== undefined && !jQuery.isEmptyObject( cache );
4450	}
4451};
4452var dataPriv = new Data();
4453
4454var dataUser = new Data();
4455
4456
4457
4458//	Implementation Summary
4459//
4460//	1. Enforce API surface and semantic compatibility with 1.9.x branch
4461//	2. Improve the module's maintainability by reducing the storage
4462//		paths to a single mechanism.
4463//	3. Use the same single mechanism to support "private" and "user" data.
4464//	4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
4465//	5. Avoid exposing implementation details on user objects (eg. expando properties)
4466//	6. Provide a clear path for implementation upgrade to WeakMap in 2014
4467
4468var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
4469	rmultiDash = /[A-Z]/g;
4470
4471function getData( data ) {
4472	if ( data === "true" ) {
4473		return true;
4474	}
4475
4476	if ( data === "false" ) {
4477		return false;
4478	}
4479
4480	if ( data === "null" ) {
4481		return null;
4482	}
4483
4484	// Only convert to a number if it doesn't change the string
4485	if ( data === +data + "" ) {
4486		return +data;
4487	}
4488
4489	if ( rbrace.test( data ) ) {
4490		return JSON.parse( data );
4491	}
4492
4493	return data;
4494}
4495
4496function dataAttr( elem, key, data ) {
4497	var name;
4498
4499	// If nothing was found internally, try to fetch any
4500	// data from the HTML5 data-* attribute
4501	if ( data === undefined && elem.nodeType === 1 ) {
4502		name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();
4503		data = elem.getAttribute( name );
4504
4505		if ( typeof data === "string" ) {
4506			try {
4507				data = getData( data );
4508			} catch ( e ) {}
4509
4510			// Make sure we set the data so it isn't changed later
4511			dataUser.set( elem, key, data );
4512		} else {
4513			data = undefined;
4514		}
4515	}
4516	return data;
4517}
4518
4519jQuery.extend( {
4520	hasData: function( elem ) {
4521		return dataUser.hasData( elem ) || dataPriv.hasData( elem );
4522	},
4523
4524	data: function( elem, name, data ) {
4525		return dataUser.access( elem, name, data );
4526	},
4527
4528	removeData: function( elem, name ) {
4529		dataUser.remove( elem, name );
4530	},
4531
4532	// TODO: Now that all calls to _data and _removeData have been replaced
4533	// with direct calls to dataPriv methods, these can be deprecated.
4534	_data: function( elem, name, data ) {
4535		return dataPriv.access( elem, name, data );
4536	},
4537
4538	_removeData: function( elem, name ) {
4539		dataPriv.remove( elem, name );
4540	}
4541} );
4542
4543jQuery.fn.extend( {
4544	data: function( key, value ) {
4545		var i, name, data,
4546			elem = this[ 0 ],
4547			attrs = elem && elem.attributes;
4548
4549		// Gets all values
4550		if ( key === undefined ) {
4551			if ( this.length ) {
4552				data = dataUser.get( elem );
4553
4554				if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {
4555					i = attrs.length;
4556					while ( i-- ) {
4557
vendor: 4,119 bytes, lines 4558-4732
4558						// Support: IE 11 only
4559						// The attrs elements can be null (trac-14894)
4560						if ( attrs[ i ] ) {
4561							name = attrs[ i ].name;
4562							if ( name.indexOf( "data-" ) === 0 ) {
4563								name = camelCase( name.slice( 5 ) );
4564								dataAttr( elem, name, data[ name ] );
4565							}
4566						}
4567					}
4568					dataPriv.set( elem, "hasDataAttrs", true );
4569				}
4570			}
4571
4572			return data;
4573		}
4574
4575		// Sets multiple values
4576		if ( typeof key === "object" ) {
4577			return this.each( function() {
4578				dataUser.set( this, key );
4579			} );
4580		}
4581
4582		return access( this, function( value ) {
4583			var data;
4584
4585			// The calling jQuery object (element matches) is not empty
4586			// (and therefore has an element appears at this[ 0 ]) and the
4587			// `value` parameter was not undefined. An empty jQuery object
4588			// will result in `undefined` for elem = this[ 0 ] which will
4589			// throw an exception if an attempt to read a data cache is made.
4590			if ( elem && value === undefined ) {
4591
4592				// Attempt to get data from the cache
4593				// The key will always be camelCased in Data
4594				data = dataUser.get( elem, key );
4595				if ( data !== undefined ) {
4596					return data;
4597				}
4598
4599				// Attempt to "discover" the data in
4600				// HTML5 custom data-* attrs
4601				data = dataAttr( elem, key );
4602				if ( data !== undefined ) {
4603					return data;
4604				}
4605
4606				// We tried really hard, but the data doesn't exist.
4607				return;
4608			}
4609
4610			// Set the data...
4611			this.each( function() {
4612
4613				// We always store the camelCased key
4614				dataUser.set( this, key, value );
4615			} );
4616		}, null, value, arguments.length > 1, null, true );
4617	},
4618
4619	removeData: function( key ) {
4620		return this.each( function() {
4621			dataUser.remove( this, key );
4622		} );
4623	}
4624} );
4625
4626
4627jQuery.extend( {
4628	queue: function( elem, type, data ) {
4629		var queue;
4630
4631		if ( elem ) {
4632			type = ( type || "fx" ) + "queue";
4633			queue = dataPriv.get( elem, type );
4634
4635			// Speed up dequeue by getting out quickly if this is just a lookup
4636			if ( data ) {
4637				if ( !queue || Array.isArray( data ) ) {
4638					queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
4639				} else {
4640					queue.push( data );
4641				}
4642			}
4643			return queue || [];
4644		}
4645	},
4646
4647	dequeue: function( elem, type ) {
4648		type = type || "fx";
4649
4650		var queue = jQuery.queue( elem, type ),
4651			startLength = queue.length,
4652			fn = queue.shift(),
4653			hooks = jQuery._queueHooks( elem, type ),
4654			next = function() {
4655				jQuery.dequeue( elem, type );
4656			};
4657
4658		// If the fx queue is dequeued, always remove the progress sentinel
4659		if ( fn === "inprogress" ) {
4660			fn = queue.shift();
4661			startLength--;
4662		}
4663
4664		if ( fn ) {
4665
4666			// Add a progress sentinel to prevent the fx queue from being
4667			// automatically dequeued
4668			if ( type === "fx" ) {
4669				queue.unshift( "inprogress" );
4670			}
4671
4672			// Clear up the last queue stop function
4673			delete hooks.stop;
4674			fn.call( elem, next, hooks );
4675		}
4676
4677		if ( !startLength && hooks ) {
4678			hooks.empty.fire();
4679		}
4680	},
4681
4682	// Not public - generate a queueHooks object, or return the current one
4683	_queueHooks: function( elem, type ) {
4684		var key = type + "queueHooks";
4685		return dataPriv.get( elem, key ) || dataPriv.access( elem, key, {
4686			empty: jQuery.Callbacks( "once memory" ).add( function() {
4687				dataPriv.remove( elem, [ type + "queue", key ] );
4688			} )
4689		} );
4690	}
4691} );
4692
4693jQuery.fn.extend( {
4694	queue: function( type, data ) {
4695		var setter = 2;
4696
4697		if ( typeof type !== "string" ) {
4698			data = type;
4699			type = "fx";
4700			setter--;
4701		}
4702
4703		if ( arguments.length < setter ) {
4704			return jQuery.queue( this[ 0 ], type );
4705		}
4706
4707		return data === undefined ?
4708			this :
4709			this.each( function() {
4710				var queue = jQuery.queue( this, type, data );
4711
4712				// Ensure a hooks for this queue
4713				jQuery._queueHooks( this, type );
4714
4715				if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
4716					jQuery.dequeue( this, type );
4717				}
4718			} );
4719	},
4720	dequeue: function( type ) {
4721		return this.each( function() {
4722			jQuery.dequeue( this, type );
4723		} );
4724	},
4725	clearQueue: function( type ) {
4726		return this.queue( type || "fx", [] );
4727	},
4728
4729	// Get a promise resolved when queues of a certain type
4730	// are emptied (fx is the type by default)
4731	promise: function( type, obj ) {
4732		var tmp,
vendor: 6,339 bytes, lines 4733-4981
4733			count = 1,
4734			defer = jQuery.Deferred(),
4735			elements = this,
4736			i = this.length,
4737			resolve = function() {
4738				if ( !( --count ) ) {
4739					defer.resolveWith( elements, [ elements ] );
4740				}
4741			};
4742
4743		if ( typeof type !== "string" ) {
4744			obj = type;
4745			type = undefined;
4746		}
4747		type = type || "fx";
4748
4749		while ( i-- ) {
4750			tmp = dataPriv.get( elements[ i ], type + "queueHooks" );
4751			if ( tmp && tmp.empty ) {
4752				count++;
4753				tmp.empty.add( resolve );
4754			}
4755		}
4756		resolve();
4757		return defer.promise( obj );
4758	}
4759} );
4760var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
4761
4762var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
4763
4764
4765var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
4766
4767var documentElement = document.documentElement;
4768
4769
4770
4771	var isAttached = function( elem ) {
4772			return jQuery.contains( elem.ownerDocument, elem );
4773		},
4774		composed = { composed: true };
4775
4776	// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only
4777	// Check attachment across shadow DOM boundaries when possible (gh-3504)
4778	// Support: iOS 10.0-10.2 only
4779	// Early iOS 10 versions support `attachShadow` but not `getRootNode`,
4780	// leading to errors. We need to check for `getRootNode`.
4781	if ( documentElement.getRootNode ) {
4782		isAttached = function( elem ) {
4783			return jQuery.contains( elem.ownerDocument, elem ) ||
4784				elem.getRootNode( composed ) === elem.ownerDocument;
4785		};
4786	}
4787var isHiddenWithinTree = function( elem, el ) {
4788
4789		// isHiddenWithinTree might be called from jQuery#filter function;
4790		// in that case, element will be second argument
4791		elem = el || elem;
4792
4793		// Inline style trumps all
4794		return elem.style.display === "none" ||
4795			elem.style.display === "" &&
4796
4797			// Otherwise, check computed style
4798			// Support: Firefox <=43 - 45
4799			// Disconnected elements can have computed display: none, so first confirm that elem is
4800			// in the document.
4801			isAttached( elem ) &&
4802
4803			jQuery.css( elem, "display" ) === "none";
4804	};
4805
4806
4807
4808function adjustCSS( elem, prop, valueParts, tween ) {
4809	var adjusted, scale,
4810		maxIterations = 20,
4811		currentValue = tween ?
4812			function() {
4813				return tween.cur();
4814			} :
4815			function() {
4816				return jQuery.css( elem, prop, "" );
4817			},
4818		initial = currentValue(),
4819		unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
4820
4821		// Starting value computation is required for potential unit mismatches
4822		initialInUnit = elem.nodeType &&
4823			( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
4824			rcssNum.exec( jQuery.css( elem, prop ) );
4825
4826	if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
4827
4828		// Support: Firefox <=54
4829		// Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)
4830		initial = initial / 2;
4831
4832		// Trust units reported by jQuery.css
4833		unit = unit || initialInUnit[ 3 ];
4834
4835		// Iteratively approximate from a nonzero starting point
4836		initialInUnit = +initial || 1;
4837
4838		while ( maxIterations-- ) {
4839
4840			// Evaluate and update our best guess (doubling guesses that zero out).
4841			// Finish if the scale equals or crosses 1 (making the old*new product non-positive).
4842			jQuery.style( elem, prop, initialInUnit + unit );
4843			if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {
4844				maxIterations = 0;
4845			}
4846			initialInUnit = initialInUnit / scale;
4847
4848		}
4849
4850		initialInUnit = initialInUnit * 2;
4851		jQuery.style( elem, prop, initialInUnit + unit );
4852
4853		// Make sure we update the tween properties later on
4854		valueParts = valueParts || [];
4855	}
4856
4857	if ( valueParts ) {
4858		initialInUnit = +initialInUnit || +initial || 0;
4859
4860		// Apply relative offset (+=/-=) if specified
4861		adjusted = valueParts[ 1 ] ?
4862			initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
4863			+valueParts[ 2 ];
4864		if ( tween ) {
4865			tween.unit = unit;
4866			tween.start = initialInUnit;
4867			tween.end = adjusted;
4868		}
4869	}
4870	return adjusted;
4871}
4872
4873
4874var defaultDisplayMap = {};
4875
4876function getDefaultDisplay( elem ) {
4877	var temp,
4878		doc = elem.ownerDocument,
4879		nodeName = elem.nodeName,
4880		display = defaultDisplayMap[ nodeName ];
4881
4882	if ( display ) {
4883		return display;
4884	}
4885
4886	temp = doc.body.appendChild( doc.createElement( nodeName ) );
4887	display = jQuery.css( temp, "display" );
4888
4889	temp.parentNode.removeChild( temp );
4890
4891	if ( display === "none" ) {
4892		display = "block";
4893	}
4894	defaultDisplayMap[ nodeName ] = display;
4895
4896	return display;
4897}
4898
4899function showHide( elements, show ) {
4900	var display, elem,
4901		values = [],
4902		index = 0,
4903		length = elements.length;
4904
4905	// Determine new display value for elements that need to change
4906	for ( ; index < length; index++ ) {
4907		elem = elements[ index ];
4908		if ( !elem.style ) {
4909			continue;
4910		}
4911
4912		display = elem.style.display;
4913		if ( show ) {
4914
4915			// Since we force visibility upon cascade-hidden elements, an immediate (and slow)
4916			// check is required in this first loop unless we have a nonempty display value (either
4917			// inline or about-to-be-restored)
4918			if ( display === "none" ) {
4919				values[ index ] = dataPriv.get( elem, "display" ) || null;
4920				if ( !values[ index ] ) {
4921					elem.style.display = "";
4922				}
4923			}
4924			if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) {
4925				values[ index ] = getDefaultDisplay( elem );
4926			}
4927		} else {
4928			if ( display !== "none" ) {
4929				values[ index ] = "none";
4930
4931				// Remember what we're overwriting
4932				dataPriv.set( elem, "display", display );
4933			}
4934		}
4935	}
4936
4937	// Set the display of the elements in a second loop to avoid constant reflow
4938	for ( index = 0; index < length; index++ ) {
4939		if ( values[ index ] != null ) {
4940			elements[ index ].style.display = values[ index ];
4941		}
4942	}
4943
4944	return elements;
4945}
4946
4947jQuery.fn.extend( {
4948	show: function() {
4949		return showHide( this, true );
4950	},
4951	hide: function() {
4952		return showHide( this );
4953	},
4954	toggle: function( state ) {
4955		if ( typeof state === "boolean" ) {
4956			return state ? this.show() : this.hide();
4957		}
4958
4959		return this.each( function() {
4960			if ( isHiddenWithinTree( this ) ) {
4961				jQuery( this ).show();
4962			} else {
4963				jQuery( this ).hide();
4964			}
4965		} );
4966	}
4967} );
4968var rcheckableType = ( /^(?:checkbox|radio)$/i );
4969
4970var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i );
4971
4972var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
4973
4974
4975
4976( function() {
4977	var fragment = document.createDocumentFragment(),
4978		div = fragment.appendChild( document.createElement( "div" ) ),
4979		input = document.createElement( "input" );
4980
4981	// Support: Android 4.0 - 4.3 only
vendor: 4,796 bytes, lines 4982-5169
4982	// Check state lost if the name is set (trac-11217)
4983	// Support: Windows Web Apps (WWA)
4984	// `name` and `type` must use .setAttribute for WWA (trac-14901)
4985	input.setAttribute( "type", "radio" );
4986	input.setAttribute( "checked", "checked" );
4987	input.setAttribute( "name", "t" );
4988
4989	div.appendChild( input );
4990
4991	// Support: Android <=4.1 only
4992	// Older WebKit doesn't clone checked state correctly in fragments
4993	support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
4994
4995	// Support: IE <=11 only
4996	// Make sure textarea (and checkbox) defaultValue is properly cloned
4997	div.innerHTML = "<textarea>x</textarea>";
4998	support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
4999
5000	// Support: IE <=9 only
5001	// IE <=9 replaces <option> tags with their contents when inserted outside of
5002	// the select element.
5003	div.innerHTML = "<option></option>";
5004	support.option = !!div.lastChild;
5005} )();
5006
5007
5008// We have to close these tags to support XHTML (trac-13200)
5009var wrapMap = {
5010
5011	// XHTML parsers do not magically insert elements in the
5012	// same way that tag soup parsers do. So we cannot shorten
5013	// this by omitting <tbody> or other required elements.
5014	thead: [ 1, "<table>", "</table>" ],
5015	col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
5016	tr: [ 2, "<table><tbody>", "</tbody></table>" ],
5017	td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
5018
5019	_default: [ 0, "", "" ]
5020};
5021
5022wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
5023wrapMap.th = wrapMap.td;
5024
5025// Support: IE <=9 only
5026if ( !support.option ) {
5027	wrapMap.optgroup = wrapMap.option = [ 1, "<select multiple='multiple'>", "</select>" ];
5028}
5029
5030
5031function getAll( context, tag ) {
5032
5033	// Support: IE <=9 - 11 only
5034	// Use typeof to avoid zero-argument method invocation on host objects (trac-15151)
5035	var ret;
5036
5037	if ( typeof context.getElementsByTagName !== "undefined" ) {
5038		ret = context.getElementsByTagName( tag || "*" );
5039
5040	} else if ( typeof context.querySelectorAll !== "undefined" ) {
5041		ret = context.querySelectorAll( tag || "*" );
5042
5043	} else {
5044		ret = [];
5045	}
5046
5047	if ( tag === undefined || tag && nodeName( context, tag ) ) {
5048		return jQuery.merge( [ context ], ret );
5049	}
5050
5051	return ret;
5052}
5053
5054
5055// Mark scripts as having already been evaluated
5056function setGlobalEval( elems, refElements ) {
5057	var i = 0,
5058		l = elems.length;
5059
5060	for ( ; i < l; i++ ) {
5061		dataPriv.set(
5062			elems[ i ],
5063			"globalEval",
5064			!refElements || dataPriv.get( refElements[ i ], "globalEval" )
5065		);
5066	}
5067}
5068
5069
5070var rhtml = /<|&#?\w+;/;
5071
5072function buildFragment( elems, context, scripts, selection, ignored ) {
5073	var elem, tmp, tag, wrap, attached, j,
5074		fragment = context.createDocumentFragment(),
5075		nodes = [],
5076		i = 0,
5077		l = elems.length;
5078
5079	for ( ; i < l; i++ ) {
5080		elem = elems[ i ];
5081
5082		if ( elem || elem === 0 ) {
5083
5084			// Add nodes directly
5085			if ( toType( elem ) === "object" ) {
5086
5087				// Support: Android <=4.0 only, PhantomJS 1 only
5088				// push.apply(_, arraylike) throws on ancient WebKit
5089				jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
5090
5091			// Convert non-html into a text node
5092			} else if ( !rhtml.test( elem ) ) {
5093				nodes.push( context.createTextNode( elem ) );
5094
5095			// Convert html into DOM nodes
5096			} else {
5097				tmp = tmp || fragment.appendChild( context.createElement( "div" ) );
5098
5099				// Deserialize a standard representation
5100				tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
5101				wrap = wrapMap[ tag ] || wrapMap._default;
5102				tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];
5103
5104				// Descend through wrappers to the right content
5105				j = wrap[ 0 ];
5106				while ( j-- ) {
5107					tmp = tmp.lastChild;
5108				}
5109
5110				// Support: Android <=4.0 only, PhantomJS 1 only
5111				// push.apply(_, arraylike) throws on ancient WebKit
5112				jQuery.merge( nodes, tmp.childNodes );
5113
5114				// Remember the top-level container
5115				tmp = fragment.firstChild;
5116
5117				// Ensure the created nodes are orphaned (trac-12392)
5118				tmp.textContent = "";
5119			}
5120		}
5121	}
5122
5123	// Remove wrapper from fragment
5124	fragment.textContent = "";
5125
5126	i = 0;
5127	while ( ( elem = nodes[ i++ ] ) ) {
5128
5129		// Skip elements already in the context collection (trac-4087)
5130		if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
5131			if ( ignored ) {
5132				ignored.push( elem );
5133			}
5134			continue;
5135		}
5136
5137		attached = isAttached( elem );
5138
5139		// Append to fragment
5140		tmp = getAll( fragment.appendChild( elem ), "script" );
5141
5142		// Preserve script evaluation history
5143		if ( attached ) {
5144			setGlobalEval( tmp );
5145		}
5146
5147		// Capture executables
5148		if ( scripts ) {
5149			j = 0;
5150			while ( ( elem = tmp[ j++ ] ) ) {
5151				if ( rscriptType.test( elem.type || "" ) ) {
5152					scripts.push( elem );
5153				}
5154			}
5155		}
5156	}
5157
5158	return fragment;
5159}
5160
5161
5162var rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
5163
5164function returnTrue() {
5165	return true;
5166}
5167
5168function returnFalse() {
5169	return false;
vendor: 10,171 bytes, lines 5170-5524
5170}
5171
5172// Support: IE <=9 - 11+
5173// focus() and blur() are asynchronous, except when they are no-op.
5174// So expect focus to be synchronous when the element is already active,
5175// and blur to be synchronous when the element is not already active.
5176// (focus and blur are always synchronous in other supported browsers,
5177// this just defines when we can count on it).
5178function expectSync( elem, type ) {
5179	return ( elem === safeActiveElement() ) === ( type === "focus" );
5180}
5181
5182// Support: IE <=9 only
5183// Accessing document.activeElement can throw unexpectedly
5184// https://bugs.jquery.com/ticket/13393
5185function safeActiveElement() {
5186	try {
5187		return document.activeElement;
5188	} catch ( err ) { }
5189}
5190
5191function on( elem, types, selector, data, fn, one ) {
5192	var origFn, type;
5193
5194	// Types can be a map of types/handlers
5195	if ( typeof types === "object" ) {
5196
5197		// ( types-Object, selector, data )
5198		if ( typeof selector !== "string" ) {
5199
5200			// ( types-Object, data )
5201			data = data || selector;
5202			selector = undefined;
5203		}
5204		for ( type in types ) {
5205			on( elem, type, selector, data, types[ type ], one );
5206		}
5207		return elem;
5208	}
5209
5210	if ( data == null && fn == null ) {
5211
5212		// ( types, fn )
5213		fn = selector;
5214		data = selector = undefined;
5215	} else if ( fn == null ) {
5216		if ( typeof selector === "string" ) {
5217
5218			// ( types, selector, fn )
5219			fn = data;
5220			data = undefined;
5221		} else {
5222
5223			// ( types, data, fn )
5224			fn = data;
5225			data = selector;
5226			selector = undefined;
5227		}
5228	}
5229	if ( fn === false ) {
5230		fn = returnFalse;
5231	} else if ( !fn ) {
5232		return elem;
5233	}
5234
5235	if ( one === 1 ) {
5236		origFn = fn;
5237		fn = function( event ) {
5238
5239			// Can use an empty set, since event contains the info
5240			jQuery().off( event );
5241			return origFn.apply( this, arguments );
5242		};
5243
5244		// Use same guid so caller can remove using origFn
5245		fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
5246	}
5247	return elem.each( function() {
5248		jQuery.event.add( this, types, fn, data, selector );
5249	} );
5250}
5251
5252/*
5253 * Helper functions for managing events -- not part of the public interface.
5254 * Props to Dean Edwards' addEvent library for many of the ideas.
5255 */
5256jQuery.event = {
5257
5258	global: {},
5259
5260	add: function( elem, types, handler, data, selector ) {
5261
5262		var handleObjIn, eventHandle, tmp,
5263			events, t, handleObj,
5264			special, handlers, type, namespaces, origType,
5265			elemData = dataPriv.get( elem );
5266
5267		// Only attach events to objects that accept data
5268		if ( !acceptData( elem ) ) {
5269			return;
5270		}
5271
5272		// Caller can pass in an object of custom data in lieu of the handler
5273		if ( handler.handler ) {
5274			handleObjIn = handler;
5275			handler = handleObjIn.handler;
5276			selector = handleObjIn.selector;
5277		}
5278
5279		// Ensure that invalid selectors throw exceptions at attach time
5280		// Evaluate against documentElement in case elem is a non-element node (e.g., document)
5281		if ( selector ) {
5282			jQuery.find.matchesSelector( documentElement, selector );
5283		}
5284
5285		// Make sure that the handler has a unique ID, used to find/remove it later
5286		if ( !handler.guid ) {
5287			handler.guid = jQuery.guid++;
5288		}
5289
5290		// Init the element's event structure and main handler, if this is the first
5291		if ( !( events = elemData.events ) ) {
5292			events = elemData.events = Object.create( null );
5293		}
5294		if ( !( eventHandle = elemData.handle ) ) {
5295			eventHandle = elemData.handle = function( e ) {
5296
5297				// Discard the second event of a jQuery.event.trigger() and
5298				// when an event is called after a page has unloaded
5299				return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
5300					jQuery.event.dispatch.apply( elem, arguments ) : undefined;
5301			};
5302		}
5303
5304		// Handle multiple events separated by a space
5305		types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
5306		t = types.length;
5307		while ( t-- ) {
5308			tmp = rtypenamespace.exec( types[ t ] ) || [];
5309			type = origType = tmp[ 1 ];
5310			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
5311
5312			// There *must* be a type, no attaching namespace-only handlers
5313			if ( !type ) {
5314				continue;
5315			}
5316
5317			// If event changes its type, use the special event handlers for the changed type
5318			special = jQuery.event.special[ type ] || {};
5319
5320			// If selector defined, determine special event api type, otherwise given type
5321			type = ( selector ? special.delegateType : special.bindType ) || type;
5322
5323			// Update special based on newly reset type
5324			special = jQuery.event.special[ type ] || {};
5325
5326			// handleObj is passed to all event handlers
5327			handleObj = jQuery.extend( {
5328				type: type,
5329				origType: origType,
5330				data: data,
5331				handler: handler,
5332				guid: handler.guid,
5333				selector: selector,
5334				needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
5335				namespace: namespaces.join( "." )
5336			}, handleObjIn );
5337
5338			// Init the event handler queue if we're the first
5339			if ( !( handlers = events[ type ] ) ) {
5340				handlers = events[ type ] = [];
5341				handlers.delegateCount = 0;
5342
5343				// Only use addEventListener if the special events handler returns false
5344				if ( !special.setup ||
5345					special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
5346
5347					if ( elem.addEventListener ) {
5348						elem.addEventListener( type, eventHandle );
5349					}
5350				}
5351			}
5352
5353			if ( special.add ) {
5354				special.add.call( elem, handleObj );
5355
5356				if ( !handleObj.handler.guid ) {
5357					handleObj.handler.guid = handler.guid;
5358				}
5359			}
5360
5361			// Add to the element's handler list, delegates in front
5362			if ( selector ) {
5363				handlers.splice( handlers.delegateCount++, 0, handleObj );
5364			} else {
5365				handlers.push( handleObj );
5366			}
5367
5368			// Keep track of which events have ever been used, for event optimization
5369			jQuery.event.global[ type ] = true;
5370		}
5371
5372	},
5373
5374	// Detach an event or set of events from an element
5375	remove: function( elem, types, handler, selector, mappedTypes ) {
5376
5377		var j, origCount, tmp,
5378			events, t, handleObj,
5379			special, handlers, type, namespaces, origType,
5380			elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );
5381
5382		if ( !elemData || !( events = elemData.events ) ) {
5383			return;
5384		}
5385
5386		// Once for each type.namespace in types; type may be omitted
5387		types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
5388		t = types.length;
5389		while ( t-- ) {
5390			tmp = rtypenamespace.exec( types[ t ] ) || [];
5391			type = origType = tmp[ 1 ];
5392			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
5393
5394			// Unbind all events (on this namespace, if provided) for the element
5395			if ( !type ) {
5396				for ( type in events ) {
5397					jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
5398				}
5399				continue;
5400			}
5401
5402			special = jQuery.event.special[ type ] || {};
5403			type = ( selector ? special.delegateType : special.bindType ) || type;
5404			handlers = events[ type ] || [];
5405			tmp = tmp[ 2 ] &&
5406				new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
5407
5408			// Remove matching events
5409			origCount = j = handlers.length;
5410			while ( j-- ) {
5411				handleObj = handlers[ j ];
5412
5413				if ( ( mappedTypes || origType === handleObj.origType ) &&
5414					( !handler || handler.guid === handleObj.guid ) &&
5415					( !tmp || tmp.test( handleObj.namespace ) ) &&
5416					( !selector || selector === handleObj.selector ||
5417						selector === "**" && handleObj.selector ) ) {
5418					handlers.splice( j, 1 );
5419
5420					if ( handleObj.selector ) {
5421						handlers.delegateCount--;
5422					}
5423					if ( special.remove ) {
5424						special.remove.call( elem, handleObj );
5425					}
5426				}
5427			}
5428
5429			// Remove generic event handler if we removed something and no more handlers exist
5430			// (avoids potential for endless recursion during removal of special event handlers)
5431			if ( origCount && !handlers.length ) {
5432				if ( !special.teardown ||
5433					special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
5434
5435					jQuery.removeEvent( elem, type, elemData.handle );
5436				}
5437
5438				delete events[ type ];
5439			}
5440		}
5441
5442		// Remove data and the expando if it's no longer used
5443		if ( jQuery.isEmptyObject( events ) ) {
5444			dataPriv.remove( elem, "handle events" );
5445		}
5446	},
5447
5448	dispatch: function( nativeEvent ) {
5449
5450		var i, j, ret, matched, handleObj, handlerQueue,
5451			args = new Array( arguments.length ),
5452
5453			// Make a writable jQuery.Event from the native event object
5454			event = jQuery.event.fix( nativeEvent ),
5455
5456			handlers = (
5457				dataPriv.get( this, "events" ) || Object.create( null )
5458			)[ event.type ] || [],
5459			special = jQuery.event.special[ event.type ] || {};
5460
5461		// Use the fix-ed jQuery.Event rather than the (read-only) native event
5462		args[ 0 ] = event;
5463
5464		for ( i = 1; i < arguments.length; i++ ) {
5465			args[ i ] = arguments[ i ];
5466		}
5467
5468		event.delegateTarget = this;
5469
5470		// Call the preDispatch hook for the mapped type, and let it bail if desired
5471		if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
5472			return;
5473		}
5474
5475		// Determine handlers
5476		handlerQueue = jQuery.event.handlers.call( this, event, handlers );
5477
5478		// Run delegates first; they may want to stop propagation beneath us
5479		i = 0;
5480		while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
5481			event.currentTarget = matched.elem;
5482
5483			j = 0;
5484			while ( ( handleObj = matched.handlers[ j++ ] ) &&
5485				!event.isImmediatePropagationStopped() ) {
5486
5487				// If the event is namespaced, then each handler is only invoked if it is
5488				// specially universal or its namespaces are a superset of the event's.
5489				if ( !event.rnamespace || handleObj.namespace === false ||
5490					event.rnamespace.test( handleObj.namespace ) ) {
5491
5492					event.handleObj = handleObj;
5493					event.data = handleObj.data;
5494
5495					ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
5496						handleObj.handler ).apply( matched.elem, args );
5497
5498					if ( ret !== undefined ) {
5499						if ( ( event.result = ret ) === false ) {
5500							event.preventDefault();
5501							event.stopPropagation();
5502						}
5503					}
5504				}
5505			}
5506		}
5507
5508		// Call the postDispatch hook for the mapped type
5509		if ( special.postDispatch ) {
5510			special.postDispatch.call( this, event );
5511		}
5512
5513		return event.result;
5514	},
5515
5516	handlers: function( event, handlers ) {
5517		var i, handleObj, sel, matchedHandlers, matchedSelectors,
5518			handlerQueue = [],
5519			delegateCount = handlers.delegateCount,
5520			cur = event.target;
5521
5522		// Find delegate handlers
5523		if ( delegateCount &&
5524
vendor: 21,304 bytes, lines 5525-6285
5525			// Support: IE <=9
5526			// Black-hole SVG <use> instance trees (trac-13180)
5527			cur.nodeType &&
5528
5529			// Support: Firefox <=42
5530			// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)
5531			// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click
5532			// Support: IE 11 only
5533			// ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343)
5534			!( event.type === "click" && event.button >= 1 ) ) {
5535
5536			for ( ; cur !== this; cur = cur.parentNode || this ) {
5537
5538				// Don't check non-elements (trac-13208)
5539				// Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764)
5540				if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
5541					matchedHandlers = [];
5542					matchedSelectors = {};
5543					for ( i = 0; i < delegateCount; i++ ) {
5544						handleObj = handlers[ i ];
5545
5546						// Don't conflict with Object.prototype properties (trac-13203)
5547						sel = handleObj.selector + " ";
5548
5549						if ( matchedSelectors[ sel ] === undefined ) {
5550							matchedSelectors[ sel ] = handleObj.needsContext ?
5551								jQuery( sel, this ).index( cur ) > -1 :
5552								jQuery.find( sel, this, null, [ cur ] ).length;
5553						}
5554						if ( matchedSelectors[ sel ] ) {
5555							matchedHandlers.push( handleObj );
5556						}
5557					}
5558					if ( matchedHandlers.length ) {
5559						handlerQueue.push( { elem: cur, handlers: matchedHandlers } );
5560					}
5561				}
5562			}
5563		}
5564
5565		// Add the remaining (directly-bound) handlers
5566		cur = this;
5567		if ( delegateCount < handlers.length ) {
5568			handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );
5569		}
5570
5571		return handlerQueue;
5572	},
5573
5574	addProp: function( name, hook ) {
5575		Object.defineProperty( jQuery.Event.prototype, name, {
5576			enumerable: true,
5577			configurable: true,
5578
5579			get: isFunction( hook ) ?
5580				function() {
5581					if ( this.originalEvent ) {
5582						return hook( this.originalEvent );
5583					}
5584				} :
5585				function() {
5586					if ( this.originalEvent ) {
5587						return this.originalEvent[ name ];
5588					}
5589				},
5590
5591			set: function( value ) {
5592				Object.defineProperty( this, name, {
5593					enumerable: true,
5594					configurable: true,
5595					writable: true,
5596					value: value
5597				} );
5598			}
5599		} );
5600	},
5601
5602	fix: function( originalEvent ) {
5603		return originalEvent[ jQuery.expando ] ?
5604			originalEvent :
5605			new jQuery.Event( originalEvent );
5606	},
5607
5608	special: {
5609		load: {
5610
5611			// Prevent triggered image.load events from bubbling to window.load
5612			noBubble: true
5613		},
5614		click: {
5615
5616			// Utilize native event to ensure correct state for checkable inputs
5617			setup: function( data ) {
5618
5619				// For mutual compressibility with _default, replace `this` access with a local var.
5620				// `|| data` is dead code meant only to preserve the variable through minification.
5621				var el = this || data;
5622
5623				// Claim the first handler
5624				if ( rcheckableType.test( el.type ) &&
5625					el.click && nodeName( el, "input" ) ) {
5626
5627					// dataPriv.set( el, "click", ... )
5628					leverageNative( el, "click", returnTrue );
5629				}
5630
5631				// Return false to allow normal processing in the caller
5632				return false;
5633			},
5634			trigger: function( data ) {
5635
5636				// For mutual compressibility with _default, replace `this` access with a local var.
5637				// `|| data` is dead code meant only to preserve the variable through minification.
5638				var el = this || data;
5639
5640				// Force setup before triggering a click
5641				if ( rcheckableType.test( el.type ) &&
5642					el.click && nodeName( el, "input" ) ) {
5643
5644					leverageNative( el, "click" );
5645				}
5646
5647				// Return non-false to allow normal event-path propagation
5648				return true;
5649			},
5650
5651			// For cross-browser consistency, suppress native .click() on links
5652			// Also prevent it if we're currently inside a leveraged native-event stack
5653			_default: function( event ) {
5654				var target = event.target;
5655				return rcheckableType.test( target.type ) &&
5656					target.click && nodeName( target, "input" ) &&
5657					dataPriv.get( target, "click" ) ||
5658					nodeName( target, "a" );
5659			}
5660		},
5661
5662		beforeunload: {
5663			postDispatch: function( event ) {
5664
5665				// Support: Firefox 20+
5666				// Firefox doesn't alert if the returnValue field is not set.
5667				if ( event.result !== undefined && event.originalEvent ) {
5668					event.originalEvent.returnValue = event.result;
5669				}
5670			}
5671		}
5672	}
5673};
5674
5675// Ensure the presence of an event listener that handles manually-triggered
5676// synthetic events by interrupting progress until reinvoked in response to
5677// *native* events that it fires directly, ensuring that state changes have
5678// already occurred before other listeners are invoked.
5679function leverageNative( el, type, expectSync ) {
5680
5681	// Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add
5682	if ( !expectSync ) {
5683		if ( dataPriv.get( el, type ) === undefined ) {
5684			jQuery.event.add( el, type, returnTrue );
5685		}
5686		return;
5687	}
5688
5689	// Register the controller as a special universal handler for all event namespaces
5690	dataPriv.set( el, type, false );
5691	jQuery.event.add( el, type, {
5692		namespace: false,
5693		handler: function( event ) {
5694			var notAsync, result,
5695				saved = dataPriv.get( this, type );
5696
5697			if ( ( event.isTrigger & 1 ) && this[ type ] ) {
5698
5699				// Interrupt processing of the outer synthetic .trigger()ed event
5700				// Saved data should be false in such cases, but might be a leftover capture object
5701				// from an async native handler (gh-4350)
5702				if ( !saved.length ) {
5703
5704					// Store arguments for use when handling the inner native event
5705					// There will always be at least one argument (an event object), so this array
5706					// will not be confused with a leftover capture object.
5707					saved = slice.call( arguments );
5708					dataPriv.set( this, type, saved );
5709
5710					// Trigger the native event and capture its result
5711					// Support: IE <=9 - 11+
5712					// focus() and blur() are asynchronous
5713					notAsync = expectSync( this, type );
5714					this[ type ]();
5715					result = dataPriv.get( this, type );
5716					if ( saved !== result || notAsync ) {
5717						dataPriv.set( this, type, false );
5718					} else {
5719						result = {};
5720					}
5721					if ( saved !== result ) {
5722
5723						// Cancel the outer synthetic event
5724						event.stopImmediatePropagation();
5725						event.preventDefault();
5726
5727						// Support: Chrome 86+
5728						// In Chrome, if an element having a focusout handler is blurred by
5729						// clicking outside of it, it invokes the handler synchronously. If
5730						// that handler calls `.remove()` on the element, the data is cleared,
5731						// leaving `result` undefined. We need to guard against this.
5732						return result && result.value;
5733					}
5734
5735				// If this is an inner synthetic event for an event with a bubbling surrogate
5736				// (focus or blur), assume that the surrogate already propagated from triggering the
5737				// native event and prevent that from happening again here.
5738				// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the
5739				// bubbling surrogate propagates *after* the non-bubbling base), but that seems
5740				// less bad than duplication.
5741				} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {
5742					event.stopPropagation();
5743				}
5744
5745			// If this is a native event triggered above, everything is now in order
5746			// Fire an inner synthetic event with the original arguments
5747			} else if ( saved.length ) {
5748
5749				// ...and capture the result
5750				dataPriv.set( this, type, {
5751					value: jQuery.event.trigger(
5752
5753						// Support: IE <=9 - 11+
5754						// Extend with the prototype to reset the above stopImmediatePropagation()
5755						jQuery.extend( saved[ 0 ], jQuery.Event.prototype ),
5756						saved.slice( 1 ),
5757						this
5758					)
5759				} );
5760
5761				// Abort handling of the native event
5762				event.stopImmediatePropagation();
5763			}
5764		}
5765	} );
5766}
5767
5768jQuery.removeEvent = function( elem, type, handle ) {
5769
5770	// This "if" is needed for plain objects
5771	if ( elem.removeEventListener ) {
5772		elem.removeEventListener( type, handle );
5773	}
5774};
5775
5776jQuery.Event = function( src, props ) {
5777
5778	// Allow instantiation without the 'new' keyword
5779	if ( !( this instanceof jQuery.Event ) ) {
5780		return new jQuery.Event( src, props );
5781	}
5782
5783	// Event object
5784	if ( src && src.type ) {
5785		this.originalEvent = src;
5786		this.type = src.type;
5787
5788		// Events bubbling up the document may have been marked as prevented
5789		// by a handler lower down the tree; reflect the correct value.
5790		this.isDefaultPrevented = src.defaultPrevented ||
5791				src.defaultPrevented === undefined &&
5792
5793				// Support: Android <=2.3 only
5794				src.returnValue === false ?
5795			returnTrue :
5796			returnFalse;
5797
5798		// Create target properties
5799		// Support: Safari <=6 - 7 only
5800		// Target should not be a text node (trac-504, trac-13143)
5801		this.target = ( src.target && src.target.nodeType === 3 ) ?
5802			src.target.parentNode :
5803			src.target;
5804
5805		this.currentTarget = src.currentTarget;
5806		this.relatedTarget = src.relatedTarget;
5807
5808	// Event type
5809	} else {
5810		this.type = src;
5811	}
5812
5813	// Put explicitly provided properties onto the event object
5814	if ( props ) {
5815		jQuery.extend( this, props );
5816	}
5817
5818	// Create a timestamp if incoming event doesn't have one
5819	this.timeStamp = src && src.timeStamp || Date.now();
5820
5821	// Mark it as fixed
5822	this[ jQuery.expando ] = true;
5823};
5824
5825// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
5826// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
5827jQuery.Event.prototype = {
5828	constructor: jQuery.Event,
5829	isDefaultPrevented: returnFalse,
5830	isPropagationStopped: returnFalse,
5831	isImmediatePropagationStopped: returnFalse,
5832	isSimulated: false,
5833
5834	preventDefault: function() {
5835		var e = this.originalEvent;
5836
5837		this.isDefaultPrevented = returnTrue;
5838
5839		if ( e && !this.isSimulated ) {
5840			e.preventDefault();
5841		}
5842	},
5843	stopPropagation: function() {
5844		var e = this.originalEvent;
5845
5846		this.isPropagationStopped = returnTrue;
5847
5848		if ( e && !this.isSimulated ) {
5849			e.stopPropagation();
5850		}
5851	},
5852	stopImmediatePropagation: function() {
5853		var e = this.originalEvent;
5854
5855		this.isImmediatePropagationStopped = returnTrue;
5856
5857		if ( e && !this.isSimulated ) {
5858			e.stopImmediatePropagation();
5859		}
5860
5861		this.stopPropagation();
5862	}
5863};
5864
5865// Includes all common event props including KeyEvent and MouseEvent specific props
5866jQuery.each( {
5867	altKey: true,
5868	bubbles: true,
5869	cancelable: true,
5870	changedTouches: true,
5871	ctrlKey: true,
5872	detail: true,
5873	eventPhase: true,
5874	metaKey: true,
5875	pageX: true,
5876	pageY: true,
5877	shiftKey: true,
5878	view: true,
5879	"char": true,
5880	code: true,
5881	charCode: true,
5882	key: true,
5883	keyCode: true,
5884	button: true,
5885	buttons: true,
5886	clientX: true,
5887	clientY: true,
5888	offsetX: true,
5889	offsetY: true,
5890	pointerId: true,
5891	pointerType: true,
5892	screenX: true,
5893	screenY: true,
5894	targetTouches: true,
5895	toElement: true,
5896	touches: true,
5897	which: true
5898}, jQuery.event.addProp );
5899
5900jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) {
5901	jQuery.event.special[ type ] = {
5902
5903		// Utilize native event if possible so blur/focus sequence is correct
5904		setup: function() {
5905
5906			// Claim the first handler
5907			// dataPriv.set( this, "focus", ... )
5908			// dataPriv.set( this, "blur", ... )
5909			leverageNative( this, type, expectSync );
5910
5911			// Return false to allow normal processing in the caller
5912			return false;
5913		},
5914		trigger: function() {
5915
5916			// Force setup before trigger
5917			leverageNative( this, type );
5918
5919			// Return non-false to allow normal event-path propagation
5920			return true;
5921		},
5922
5923		// Suppress native focus or blur if we're currently inside
5924		// a leveraged native-event stack
5925		_default: function( event ) {
5926			return dataPriv.get( event.target, type );
5927		},
5928
5929		delegateType: delegateType
5930	};
5931} );
5932
5933// Create mouseenter/leave events using mouseover/out and event-time checks
5934// so that event delegation works in jQuery.
5935// Do the same for pointerenter/pointerleave and pointerover/pointerout
5936//
5937// Support: Safari 7 only
5938// Safari sends mouseenter too often; see:
5939// https://bugs.chromium.org/p/chromium/issues/detail?id=470258
5940// for the description of the bug (it existed in older Chrome versions as well).
5941jQuery.each( {
5942	mouseenter: "mouseover",
5943	mouseleave: "mouseout",
5944	pointerenter: "pointerover",
5945	pointerleave: "pointerout"
5946}, function( orig, fix ) {
5947	jQuery.event.special[ orig ] = {
5948		delegateType: fix,
5949		bindType: fix,
5950
5951		handle: function( event ) {
5952			var ret,
5953				target = this,
5954				related = event.relatedTarget,
5955				handleObj = event.handleObj;
5956
5957			// For mouseenter/leave call the handler if related is outside the target.
5958			// NB: No relatedTarget if the mouse left/entered the browser window
5959			if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
5960				event.type = handleObj.origType;
5961				ret = handleObj.handler.apply( this, arguments );
5962				event.type = fix;
5963			}
5964			return ret;
5965		}
5966	};
5967} );
5968
5969jQuery.fn.extend( {
5970
5971	on: function( types, selector, data, fn ) {
5972		return on( this, types, selector, data, fn );
5973	},
5974	one: function( types, selector, data, fn ) {
5975		return on( this, types, selector, data, fn, 1 );
5976	},
5977	off: function( types, selector, fn ) {
5978		var handleObj, type;
5979		if ( types && types.preventDefault && types.handleObj ) {
5980
5981			// ( event )  dispatched jQuery.Event
5982			handleObj = types.handleObj;
5983			jQuery( types.delegateTarget ).off(
5984				handleObj.namespace ?
5985					handleObj.origType + "." + handleObj.namespace :
5986					handleObj.origType,
5987				handleObj.selector,
5988				handleObj.handler
5989			);
5990			return this;
5991		}
5992		if ( typeof types === "object" ) {
5993
5994			// ( types-object [, selector] )
5995			for ( type in types ) {
5996				this.off( type, selector, types[ type ] );
5997			}
5998			return this;
5999		}
6000		if ( selector === false || typeof selector === "function" ) {
6001
6002			// ( types [, fn] )
6003			fn = selector;
6004			selector = undefined;
6005		}
6006		if ( fn === false ) {
6007			fn = returnFalse;
6008		}
6009		return this.each( function() {
6010			jQuery.event.remove( this, types, fn, selector );
6011		} );
6012	}
6013} );
6014
6015
6016var
6017
6018	// Support: IE <=10 - 11, Edge 12 - 13 only
6019	// In IE/Edge using regex groups here causes severe slowdowns.
6020	// See https://connect.microsoft.com/IE/feedback/details/1736512/
6021	rnoInnerhtml = /<script|<style|<link/i,
6022
6023	// checked="checked" or checked
6024	rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
6025
6026	rcleanScript = /^\s*<!\[CDATA\[|\]\]>\s*$/g;
6027
6028// Prefer a tbody over its parent table for containing new rows
6029function manipulationTarget( elem, content ) {
6030	if ( nodeName( elem, "table" ) &&
6031		nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
6032
6033		return jQuery( elem ).children( "tbody" )[ 0 ] || elem;
6034	}
6035
6036	return elem;
6037}
6038
6039// Replace/restore the type attribute of script elements for safe DOM manipulation
6040function disableScript( elem ) {
6041	elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
6042	return elem;
6043}
6044function restoreScript( elem ) {
6045	if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) {
6046		elem.type = elem.type.slice( 5 );
6047	} else {
6048		elem.removeAttribute( "type" );
6049	}
6050
6051	return elem;
6052}
6053
6054function cloneCopyEvent( src, dest ) {
6055	var i, l, type, pdataOld, udataOld, udataCur, events;
6056
6057	if ( dest.nodeType !== 1 ) {
6058		return;
6059	}
6060
6061	// 1. Copy private data: events, handlers, etc.
6062	if ( dataPriv.hasData( src ) ) {
6063		pdataOld = dataPriv.get( src );
6064		events = pdataOld.events;
6065
6066		if ( events ) {
6067			dataPriv.remove( dest, "handle events" );
6068
6069			for ( type in events ) {
6070				for ( i = 0, l = events[ type ].length; i < l; i++ ) {
6071					jQuery.event.add( dest, type, events[ type ][ i ] );
6072				}
6073			}
6074		}
6075	}
6076
6077	// 2. Copy user data
6078	if ( dataUser.hasData( src ) ) {
6079		udataOld = dataUser.access( src );
6080		udataCur = jQuery.extend( {}, udataOld );
6081
6082		dataUser.set( dest, udataCur );
6083	}
6084}
6085
6086// Fix IE bugs, see support tests
6087function fixInput( src, dest ) {
6088	var nodeName = dest.nodeName.toLowerCase();
6089
6090	// Fails to persist the checked state of a cloned checkbox or radio button.
6091	if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
6092		dest.checked = src.checked;
6093
6094	// Fails to return the selected option to the default selected state when cloning options
6095	} else if ( nodeName === "input" || nodeName === "textarea" ) {
6096		dest.defaultValue = src.defaultValue;
6097	}
6098}
6099
6100function domManip( collection, args, callback, ignored ) {
6101
6102	// Flatten any nested arrays
6103	args = flat( args );
6104
6105	var fragment, first, scripts, hasScripts, node, doc,
6106		i = 0,
6107		l = collection.length,
6108		iNoClone = l - 1,
6109		value = args[ 0 ],
6110		valueIsFunction = isFunction( value );
6111
6112	// We can't cloneNode fragments that contain checked, in WebKit
6113	if ( valueIsFunction ||
6114			( l > 1 && typeof value === "string" &&
6115				!support.checkClone && rchecked.test( value ) ) ) {
6116		return collection.each( function( index ) {
6117			var self = collection.eq( index );
6118			if ( valueIsFunction ) {
6119				args[ 0 ] = value.call( this, index, self.html() );
6120			}
6121			domManip( self, args, callback, ignored );
6122		} );
6123	}
6124
6125	if ( l ) {
6126		fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
6127		first = fragment.firstChild;
6128
6129		if ( fragment.childNodes.length === 1 ) {
6130			fragment = first;
6131		}
6132
6133		// Require either new content or an interest in ignored elements to invoke the callback
6134		if ( first || ignored ) {
6135			scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
6136			hasScripts = scripts.length;
6137
6138			// Use the original fragment for the last item
6139			// instead of the first because it can end up
6140			// being emptied incorrectly in certain situations (trac-8070).
6141			for ( ; i < l; i++ ) {
6142				node = fragment;
6143
6144				if ( i !== iNoClone ) {
6145					node = jQuery.clone( node, true, true );
6146
6147					// Keep references to cloned scripts for later restoration
6148					if ( hasScripts ) {
6149
6150						// Support: Android <=4.0 only, PhantomJS 1 only
6151						// push.apply(_, arraylike) throws on ancient WebKit
6152						jQuery.merge( scripts, getAll( node, "script" ) );
6153					}
6154				}
6155
6156				callback.call( collection[ i ], node, i );
6157			}
6158
6159			if ( hasScripts ) {
6160				doc = scripts[ scripts.length - 1 ].ownerDocument;
6161
6162				// Reenable scripts
6163				jQuery.map( scripts, restoreScript );
6164
6165				// Evaluate executable scripts on first document insertion
6166				for ( i = 0; i < hasScripts; i++ ) {
6167					node = scripts[ i ];
6168					if ( rscriptType.test( node.type || "" ) &&
6169						!dataPriv.access( node, "globalEval" ) &&
6170						jQuery.contains( doc, node ) ) {
6171
6172						if ( node.src && ( node.type || "" ).toLowerCase()  !== "module" ) {
6173
6174							// Optional AJAX dependency, but won't run scripts if not present
6175							if ( jQuery._evalUrl && !node.noModule ) {
6176								jQuery._evalUrl( node.src, {
6177									nonce: node.nonce || node.getAttribute( "nonce" )
6178								}, doc );
6179							}
6180						} else {
6181
6182							// Unwrap a CDATA section containing script contents. This shouldn't be
6183							// needed as in XML documents they're already not visible when
6184							// inspecting element contents and in HTML documents they have no
6185							// meaning but we're preserving that logic for backwards compatibility.
6186							// This will be removed completely in 4.0. See gh-4904.
6187							DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc );
6188						}
6189					}
6190				}
6191			}
6192		}
6193	}
6194
6195	return collection;
6196}
6197
6198function remove( elem, selector, keepData ) {
6199	var node,
6200		nodes = selector ? jQuery.filter( selector, elem ) : elem,
6201		i = 0;
6202
6203	for ( ; ( node = nodes[ i ] ) != null; i++ ) {
6204		if ( !keepData && node.nodeType === 1 ) {
6205			jQuery.cleanData( getAll( node ) );
6206		}
6207
6208		if ( node.parentNode ) {
6209			if ( keepData && isAttached( node ) ) {
6210				setGlobalEval( getAll( node, "script" ) );
6211			}
6212			node.parentNode.removeChild( node );
6213		}
6214	}
6215
6216	return elem;
6217}
6218
6219jQuery.extend( {
6220	htmlPrefilter: function( html ) {
6221		return html;
6222	},
6223
6224	clone: function( elem, dataAndEvents, deepDataAndEvents ) {
6225		var i, l, srcElements, destElements,
6226			clone = elem.cloneNode( true ),
6227			inPage = isAttached( elem );
6228
6229		// Fix IE cloning issues
6230		if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
6231				!jQuery.isXMLDoc( elem ) ) {
6232
6233			// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
6234			destElements = getAll( clone );
6235			srcElements = getAll( elem );
6236
6237			for ( i = 0, l = srcElements.length; i < l; i++ ) {
6238				fixInput( srcElements[ i ], destElements[ i ] );
6239			}
6240		}
6241
6242		// Copy the events from the original to the clone
6243		if ( dataAndEvents ) {
6244			if ( deepDataAndEvents ) {
6245				srcElements = srcElements || getAll( elem );
6246				destElements = destElements || getAll( clone );
6247
6248				for ( i = 0, l = srcElements.length; i < l; i++ ) {
6249					cloneCopyEvent( srcElements[ i ], destElements[ i ] );
6250				}
6251			} else {
6252				cloneCopyEvent( elem, clone );
6253			}
6254		}
6255
6256		// Preserve script evaluation history
6257		destElements = getAll( clone, "script" );
6258		if ( destElements.length > 0 ) {
6259			setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
6260		}
6261
6262		// Return the cloned set
6263		return clone;
6264	},
6265
6266	cleanData: function( elems ) {
6267		var data, elem, type,
6268			special = jQuery.event.special,
6269			i = 0;
6270
6271		for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
6272			if ( acceptData( elem ) ) {
6273				if ( ( data = elem[ dataPriv.expando ] ) ) {
6274					if ( data.events ) {
6275						for ( type in data.events ) {
6276							if ( special[ type ] ) {
6277								jQuery.event.remove( elem, type );
6278
6279							// This is a shortcut to avoid jQuery.event.remove's overhead
6280							} else {
6281								jQuery.removeEvent( elem, type, data.handle );
6282							}
6283						}
6284					}
6285
vendor: 1,119 bytes, lines 6286-6330
6286					// Support: Chrome <=35 - 45+
6287					// Assign undefined instead of using delete, see Data#remove
6288					elem[ dataPriv.expando ] = undefined;
6289				}
6290				if ( elem[ dataUser.expando ] ) {
6291
6292					// Support: Chrome <=35 - 45+
6293					// Assign undefined instead of using delete, see Data#remove
6294					elem[ dataUser.expando ] = undefined;
6295				}
6296			}
6297		}
6298	}
6299} );
6300
6301jQuery.fn.extend( {
6302	detach: function( selector ) {
6303		return remove( this, selector, true );
6304	},
6305
6306	remove: function( selector ) {
6307		return remove( this, selector );
6308	},
6309
6310	text: function( value ) {
6311		return access( this, function( value ) {
6312			return value === undefined ?
6313				jQuery.text( this ) :
6314				this.empty().each( function() {
6315					if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
6316						this.textContent = value;
6317					}
6318				} );
6319		}, null, value, arguments.length );
6320	},
6321
6322	append: function() {
6323		return domManip( this, arguments, function( elem ) {
6324			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
6325				var target = manipulationTarget( this, elem );
6326				target.appendChild( elem );
6327			}
6328		} );
6329	},
6330
vendor: 4,664 bytes, lines 6331-6531
6331	prepend: function() {
6332		return domManip( this, arguments, function( elem ) {
6333			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
6334				var target = manipulationTarget( this, elem );
6335				target.insertBefore( elem, target.firstChild );
6336			}
6337		} );
6338	},
6339
6340	before: function() {
6341		return domManip( this, arguments, function( elem ) {
6342			if ( this.parentNode ) {
6343				this.parentNode.insertBefore( elem, this );
6344			}
6345		} );
6346	},
6347
6348	after: function() {
6349		return domManip( this, arguments, function( elem ) {
6350			if ( this.parentNode ) {
6351				this.parentNode.insertBefore( elem, this.nextSibling );
6352			}
6353		} );
6354	},
6355
6356	empty: function() {
6357		var elem,
6358			i = 0;
6359
6360		for ( ; ( elem = this[ i ] ) != null; i++ ) {
6361			if ( elem.nodeType === 1 ) {
6362
6363				// Prevent memory leaks
6364				jQuery.cleanData( getAll( elem, false ) );
6365
6366				// Remove any remaining nodes
6367				elem.textContent = "";
6368			}
6369		}
6370
6371		return this;
6372	},
6373
6374	clone: function( dataAndEvents, deepDataAndEvents ) {
6375		dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
6376		deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
6377
6378		return this.map( function() {
6379			return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
6380		} );
6381	},
6382
6383	html: function( value ) {
6384		return access( this, function( value ) {
6385			var elem = this[ 0 ] || {},
6386				i = 0,
6387				l = this.length;
6388
6389			if ( value === undefined && elem.nodeType === 1 ) {
6390				return elem.innerHTML;
6391			}
6392
6393			// See if we can take a shortcut and just use innerHTML
6394			if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
6395				!wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
6396
6397				value = jQuery.htmlPrefilter( value );
6398
6399				try {
6400					for ( ; i < l; i++ ) {
6401						elem = this[ i ] || {};
6402
6403						// Remove element nodes and prevent memory leaks
6404						if ( elem.nodeType === 1 ) {
6405							jQuery.cleanData( getAll( elem, false ) );
6406							elem.innerHTML = value;
6407						}
6408					}
6409
6410					elem = 0;
6411
6412				// If using innerHTML throws an exception, use the fallback method
6413				} catch ( e ) {}
6414			}
6415
6416			if ( elem ) {
6417				this.empty().append( value );
6418			}
6419		}, null, value, arguments.length );
6420	},
6421
6422	replaceWith: function() {
6423		var ignored = [];
6424
6425		// Make the changes, replacing each non-ignored context element with the new content
6426		return domManip( this, arguments, function( elem ) {
6427			var parent = this.parentNode;
6428
6429			if ( jQuery.inArray( this, ignored ) < 0 ) {
6430				jQuery.cleanData( getAll( this ) );
6431				if ( parent ) {
6432					parent.replaceChild( elem, this );
6433				}
6434			}
6435
6436		// Force callback invocation
6437		}, ignored );
6438	}
6439} );
6440
6441jQuery.each( {
6442	appendTo: "append",
6443	prependTo: "prepend",
6444	insertBefore: "before",
6445	insertAfter: "after",
6446	replaceAll: "replaceWith"
6447}, function( name, original ) {
6448	jQuery.fn[ name ] = function( selector ) {
6449		var elems,
6450			ret = [],
6451			insert = jQuery( selector ),
6452			last = insert.length - 1,
6453			i = 0;
6454
6455		for ( ; i <= last; i++ ) {
6456			elems = i === last ? this : this.clone( true );
6457			jQuery( insert[ i ] )[ original ]( elems );
6458
6459			// Support: Android <=4.0 only, PhantomJS 1 only
6460			// .get() because push.apply(_, arraylike) throws on ancient WebKit
6461			push.apply( ret, elems.get() );
6462		}
6463
6464		return this.pushStack( ret );
6465	};
6466} );
6467var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
6468
6469var rcustomProp = /^--/;
6470
6471
6472var getStyles = function( elem ) {
6473
6474		// Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150)
6475		// IE throws on elements created in popups
6476		// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
6477		var view = elem.ownerDocument.defaultView;
6478
6479		if ( !view || !view.opener ) {
6480			view = window;
6481		}
6482
6483		return view.getComputedStyle( elem );
6484	};
6485
6486var swap = function( elem, options, callback ) {
6487	var ret, name,
6488		old = {};
6489
6490	// Remember the old values, and insert the new ones
6491	for ( name in options ) {
6492		old[ name ] = elem.style[ name ];
6493		elem.style[ name ] = options[ name ];
6494	}
6495
6496	ret = callback.call( elem );
6497
6498	// Revert the old values
6499	for ( name in options ) {
6500		elem.style[ name ] = old[ name ];
6501	}
6502
6503	return ret;
6504};
6505
6506
6507var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
6508
6509var whitespace = "[\\x20\\t\\r\\n\\f]";
6510
6511
6512var rtrimCSS = new RegExp(
6513	"^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$",
6514	"g"
6515);
6516
6517
6518
6519
6520( function() {
6521
6522	// Executing both pixelPosition & boxSizingReliable tests require only one layout
6523	// so they're executed at the same time to save the second computation.
6524	function computeStyleTests() {
6525
6526		// This is a singleton, we need to execute it only once
6527		if ( !div ) {
6528			return;
6529		}
6530
6531		container.style.cssText = "position:absolute;
vendor: 9,426 bytes, lines 6531-6826
6531left:-11111px;width:60px;" +
6532			"margin-top:1px;padding:0;border:0";
6533		div.style.cssText =
6534			"position:relative;display:block;box-sizing:border-box;overflow:scroll;" +
6535			"margin:auto;border:1px;padding:1px;" +
6536			"width:60%;top:1%";
6537		documentElement.appendChild( container ).appendChild( div );
6538
6539		var divStyle = window.getComputedStyle( div );
6540		pixelPositionVal = divStyle.top !== "1%";
6541
6542		// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
6543		reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;
6544
6545		// Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3
6546		// Some styles come back with percentage values, even though they shouldn't
6547		div.style.right = "60%";
6548		pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;
6549
6550		// Support: IE 9 - 11 only
6551		// Detect misreporting of content dimensions for box-sizing:border-box elements
6552		boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;
6553
6554		// Support: IE 9 only
6555		// Detect overflow:scroll screwiness (gh-3699)
6556		// Support: Chrome <=64
6557		// Don't get tricked when zoom affects offsetWidth (gh-4029)
6558		div.style.position = "absolute";
6559		scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;
6560
6561		documentElement.removeChild( container );
6562
6563		// Nullify the div so it wouldn't be stored in the memory and
6564		// it will also be a sign that checks already performed
6565		div = null;
6566	}
6567
6568	function roundPixelMeasures( measure ) {
6569		return Math.round( parseFloat( measure ) );
6570	}
6571
6572	var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,
6573		reliableTrDimensionsVal, reliableMarginLeftVal,
6574		container = document.createElement( "div" ),
6575		div = document.createElement( "div" );
6576
6577	// Finish early in limited (non-browser) environments
6578	if ( !div.style ) {
6579		return;
6580	}
6581
6582	// Support: IE <=9 - 11 only
6583	// Style of cloned element affects source element cloned (trac-8908)
6584	div.style.backgroundClip = "content-box";
6585	div.cloneNode( true ).style.backgroundClip = "";
6586	support.clearCloneStyle = div.style.backgroundClip === "content-box";
6587
6588	jQuery.extend( support, {
6589		boxSizingReliable: function() {
6590			computeStyleTests();
6591			return boxSizingReliableVal;
6592		},
6593		pixelBoxStyles: function() {
6594			computeStyleTests();
6595			return pixelBoxStylesVal;
6596		},
6597		pixelPosition: function() {
6598			computeStyleTests();
6599			return pixelPositionVal;
6600		},
6601		reliableMarginLeft: function() {
6602			computeStyleTests();
6603			return reliableMarginLeftVal;
6604		},
6605		scrollboxSize: function() {
6606			computeStyleTests();
6607			return scrollboxSizeVal;
6608		},
6609
6610		// Support: IE 9 - 11+, Edge 15 - 18+
6611		// IE/Edge misreport `getComputedStyle` of table rows with width/height
6612		// set in CSS while `offset*` properties report correct values.
6613		// Behavior in IE 9 is more subtle than in newer versions & it passes
6614		// some versions of this test; make sure not to make it pass there!
6615		//
6616		// Support: Firefox 70+
6617		// Only Firefox includes border widths
6618		// in computed dimensions. (gh-4529)
6619		reliableTrDimensions: function() {
6620			var table, tr, trChild, trStyle;
6621			if ( reliableTrDimensionsVal == null ) {
6622				table = document.createElement( "table" );
6623				tr = document.createElement( "tr" );
6624				trChild = document.createElement( "div" );
6625
6626				table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate";
6627				tr.style.cssText = "border:1px solid";
6628
6629				// Support: Chrome 86+
6630				// Height set through cssText does not get applied.
6631				// Computed height then comes back as 0.
6632				tr.style.height = "1px";
6633				trChild.style.height = "9px";
6634
6635				// Support: Android 8 Chrome 86+
6636				// In our bodyBackground.html iframe,
6637				// display for all div elements is set to "inline",
6638				// which causes a problem only in Android 8 Chrome 86.
6639				// Ensuring the div is display: block
6640				// gets around this issue.
6641				trChild.style.display = "block";
6642
6643				documentElement
6644					.appendChild( table )
6645					.appendChild( tr )
6646					.appendChild( trChild );
6647
6648				trStyle = window.getComputedStyle( tr );
6649				reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) +
6650					parseInt( trStyle.borderTopWidth, 10 ) +
6651					parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight;
6652
6653				documentElement.removeChild( table );
6654			}
6655			return reliableTrDimensionsVal;
6656		}
6657	} );
6658} )();
6659
6660
6661function curCSS( elem, name, computed ) {
6662	var width, minWidth, maxWidth, ret,
6663		isCustomProp = rcustomProp.test( name ),
6664
6665		// Support: Firefox 51+
6666		// Retrieving style before computed somehow
6667		// fixes an issue with getting wrong values
6668		// on detached elements
6669		style = elem.style;
6670
6671	computed = computed || getStyles( elem );
6672
6673	// getPropertyValue is needed for:
6674	//   .css('filter') (IE 9 only, trac-12537)
6675	//   .css('--customProperty) (gh-3144)
6676	if ( computed ) {
6677
6678		// Support: IE <=9 - 11+
6679		// IE only supports `"float"` in `getPropertyValue`; in computed styles
6680		// it's only available as `"cssFloat"`. We no longer modify properties
6681		// sent to `.css()` apart from camelCasing, so we need to check both.
6682		// Normally, this would create difference in behavior: if
6683		// `getPropertyValue` returns an empty string, the value returned
6684		// by `.css()` would be `undefined`. This is usually the case for
6685		// disconnected elements. However, in IE even disconnected elements
6686		// with no styles return `"none"` for `getPropertyValue( "float" )`
6687		ret = computed.getPropertyValue( name ) || computed[ name ];
6688
6689		if ( isCustomProp && ret ) {
6690
6691			// Support: Firefox 105+, Chrome <=105+
6692			// Spec requires trimming whitespace for custom properties (gh-4926).
6693			// Firefox only trims leading whitespace. Chrome just collapses
6694			// both leading & trailing whitespace to a single space.
6695			//
6696			// Fall back to `undefined` if empty string returned.
6697			// This collapses a missing definition with property defined
6698			// and set to an empty string but there's no standard API
6699			// allowing us to differentiate them without a performance penalty
6700			// and returning `undefined` aligns with older jQuery.
6701			//
6702			// rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED
6703			// as whitespace while CSS does not, but this is not a problem
6704			// because CSS preprocessing replaces them with U+000A LINE FEED
6705			// (which *is* CSS whitespace)
6706			// https://www.w3.org/TR/css-syntax-3/#input-preprocessing
6707			ret = ret.replace( rtrimCSS, "$1" ) || undefined;
6708		}
6709
6710		if ( ret === "" && !isAttached( elem ) ) {
6711			ret = jQuery.style( elem, name );
6712		}
6713
6714		// A tribute to the "awesome hack by Dean Edwards"
6715		// Android Browser returns percentage for some values,
6716		// but width seems to be reliably pixels.
6717		// This is against the CSSOM draft spec:
6718		// https://drafts.csswg.org/cssom/#resolved-values
6719		if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {
6720
6721			// Remember the original values
6722			width = style.width;
6723			minWidth = style.minWidth;
6724			maxWidth = style.maxWidth;
6725
6726			// Put in the new values to get a computed value out
6727			style.minWidth = style.maxWidth = style.width = ret;
6728			ret = computed.width;
6729
6730			// Revert the changed values
6731			style.width = width;
6732			style.minWidth = minWidth;
6733			style.maxWidth = maxWidth;
6734		}
6735	}
6736
6737	return ret !== undefined ?
6738
6739		// Support: IE <=9 - 11 only
6740		// IE returns zIndex value as an integer.
6741		ret + "" :
6742		ret;
6743}
6744
6745
6746function addGetHookIf( conditionFn, hookFn ) {
6747
6748	// Define the hook, we'll check on the first run if it's really needed.
6749	return {
6750		get: function() {
6751			if ( conditionFn() ) {
6752
6753				// Hook not needed (or it's not possible to use it due
6754				// to missing dependency), remove it.
6755				delete this.get;
6756				return;
6757			}
6758
6759			// Hook needed; redefine it so that the support test is not executed again.
6760			return ( this.get = hookFn ).apply( this, arguments );
6761		}
6762	};
6763}
6764
6765
6766var cssPrefixes = [ "Webkit", "Moz", "ms" ],
6767	emptyStyle = document.createElement( "div" ).style,
6768	vendorProps = {};
6769
6770// Return a vendor-prefixed property or undefined
6771function vendorPropName( name ) {
6772
6773	// Check for vendor prefixed names
6774	var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
6775		i = cssPrefixes.length;
6776
6777	while ( i-- ) {
6778		name = cssPrefixes[ i ] + capName;
6779		if ( name in emptyStyle ) {
6780			return name;
6781		}
6782	}
6783}
6784
6785// Return a potentially-mapped jQuery.cssProps or vendor prefixed property
6786function finalPropName( name ) {
6787	var final = jQuery.cssProps[ name ] || vendorProps[ name ];
6788
6789	if ( final ) {
6790		return final;
6791	}
6792	if ( name in emptyStyle ) {
6793		return name;
6794	}
6795	return vendorProps[ name ] = vendorPropName( name ) || name;
6796}
6797
6798
6799var
6800
6801	// Swappable if display is none or starts with table
6802	// except "table", "table-cell", or "table-caption"
6803	// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
6804	rdisplayswap = /^(none|table(?!-c[ea]).+)/,
6805	cssShow = { position: "absolute", visibility: "hidden", display: "block" },
6806	cssNormalTransform = {
6807		letterSpacing: "0",
6808		fontWeight: "400"
6809	};
6810
6811function setPositiveNumber( _elem, value, subtract ) {
6812
6813	// Any relative (+/-) values have already been
6814	// normalized at this point
6815	var matches = rcssNum.exec( value );
6816	return matches ?
6817
6818		// Guard against undefined "subtract", e.g., when used as in cssHooks
6819		Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
6820		value;
6821}
6822
6823function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {
6824	var i = dimension === "width" ? 1 : 0,
6825		extra = 0,
6826		delta = 0
vendor: 6,571 bytes, lines 6826-7048
6826;
6827
6828	// Adjustment may not be necessary
6829	if ( box === ( isBorderBox ? "border" : "content" ) ) {
6830		return 0;
6831	}
6832
6833	for ( ; i < 4; i += 2 ) {
6834
6835		// Both box models exclude margin
6836		if ( box === "margin" ) {
6837			delta += jQuery.css( elem, box + cssExpand[ i ], true, styles );
6838		}
6839
6840		// If we get here with a content-box, we're seeking "padding" or "border" or "margin"
6841		if ( !isBorderBox ) {
6842
6843			// Add padding
6844			delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
6845
6846			// For "border" or "margin", add border
6847			if ( box !== "padding" ) {
6848				delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
6849
6850			// But still keep track of it otherwise
6851			} else {
6852				extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
6853			}
6854
6855		// If we get here with a border-box (content + padding + border), we're seeking "content" or
6856		// "padding" or "margin"
6857		} else {
6858
6859			// For "content", subtract padding
6860			if ( box === "content" ) {
6861				delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
6862			}
6863
6864			// For "content" or "padding", subtract border
6865			if ( box !== "margin" ) {
6866				delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
6867			}
6868		}
6869	}
6870
6871	// Account for positive content-box scroll gutter when requested by providing computedVal
6872	if ( !isBorderBox && computedVal >= 0 ) {
6873
6874		// offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border
6875		// Assuming integer scroll gutter, subtract the rest and round down
6876		delta += Math.max( 0, Math.ceil(
6877			elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
6878			computedVal -
6879			delta -
6880			extra -
6881			0.5
6882
6883		// If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter
6884		// Use an explicit zero to avoid NaN (gh-3964)
6885		) ) || 0;
6886	}
6887
6888	return delta;
6889}
6890
6891function getWidthOrHeight( elem, dimension, extra ) {
6892
6893	// Start with computed style
6894	var styles = getStyles( elem ),
6895
6896		// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).
6897		// Fake content-box until we know it's needed to know the true value.
6898		boxSizingNeeded = !support.boxSizingReliable() || extra,
6899		isBorderBox = boxSizingNeeded &&
6900			jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
6901		valueIsBorderBox = isBorderBox,
6902
6903		val = curCSS( elem, dimension, styles ),
6904		offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );
6905
6906	// Support: Firefox <=54
6907	// Return a confounding non-pixel value or feign ignorance, as appropriate.
6908	if ( rnumnonpx.test( val ) ) {
6909		if ( !extra ) {
6910			return val;
6911		}
6912		val = "auto";
6913	}
6914
6915
6916	// Support: IE 9 - 11 only
6917	// Use offsetWidth/offsetHeight for when box sizing is unreliable.
6918	// In those cases, the computed value can be trusted to be border-box.
6919	if ( ( !support.boxSizingReliable() && isBorderBox ||
6920
6921		// Support: IE 10 - 11+, Edge 15 - 18+
6922		// IE/Edge misreport `getComputedStyle` of table rows with width/height
6923		// set in CSS while `offset*` properties report correct values.
6924		// Interestingly, in some cases IE 9 doesn't suffer from this issue.
6925		!support.reliableTrDimensions() && nodeName( elem, "tr" ) ||
6926
6927		// Fall back to offsetWidth/offsetHeight when value is "auto"
6928		// This happens for inline elements with no explicit setting (gh-3571)
6929		val === "auto" ||
6930
6931		// Support: Android <=4.1 - 4.3 only
6932		// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
6933		!parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) &&
6934
6935		// Make sure the element is visible & connected
6936		elem.getClientRects().length ) {
6937
6938		isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
6939
6940		// Where available, offsetWidth/offsetHeight approximate border box dimensions.
6941		// Where not available (e.g., SVG), assume unreliable box-sizing and interpret the
6942		// retrieved value as a content box dimension.
6943		valueIsBorderBox = offsetProp in elem;
6944		if ( valueIsBorderBox ) {
6945			val = elem[ offsetProp ];
6946		}
6947	}
6948
6949	// Normalize "" and auto
6950	val = parseFloat( val ) || 0;
6951
6952	// Adjust for the element's box model
6953	return ( val +
6954		boxModelAdjustment(
6955			elem,
6956			dimension,
6957			extra || ( isBorderBox ? "border" : "content" ),
6958			valueIsBorderBox,
6959			styles,
6960
6961			// Provide the current computed size to request scroll gutter calculation (gh-3589)
6962			val
6963		)
6964	) + "px";
6965}
6966
6967jQuery.extend( {
6968
6969	// Add in style property hooks for overriding the default
6970	// behavior of getting and setting a style property
6971	cssHooks: {
6972		opacity: {
6973			get: function( elem, computed ) {
6974				if ( computed ) {
6975
6976					// We should always get a number back from opacity
6977					var ret = curCSS( elem, "opacity" );
6978					return ret === "" ? "1" : ret;
6979				}
6980			}
6981		}
6982	},
6983
6984	// Don't automatically add "px" to these possibly-unitless properties
6985	cssNumber: {
6986		"animationIterationCount": true,
6987		"columnCount": true,
6988		"fillOpacity": true,
6989		"flexGrow": true,
6990		"flexShrink": true,
6991		"fontWeight": true,
6992		"gridArea": true,
6993		"gridColumn": true,
6994		"gridColumnEnd": true,
6995		"gridColumnStart": true,
6996		"gridRow": true,
6997		"gridRowEnd": true,
6998		"gridRowStart": true,
6999		"lineHeight": true,
7000		"opacity": true,
7001		"order": true,
7002		"orphans": true,
7003		"widows": true,
7004		"zIndex": true,
7005		"zoom": true
7006	},
7007
7008	// Add in properties whose names you wish to fix before
7009	// setting or getting the value
7010	cssProps: {},
7011
7012	// Get and set the style property on a DOM Node
7013	style: function( elem, name, value, extra ) {
7014
7015		// Don't set styles on text and comment nodes
7016		if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
7017			return;
7018		}
7019
7020		// Make sure that we're working with the right name
7021		var ret, type, hooks,
7022			origName = camelCase( name ),
7023			isCustomProp = rcustomProp.test( name ),
7024			style = elem.style;
7025
7026		// Make sure that we're working with the right name. We don't
7027		// want to query the value if it is a CSS custom property
7028		// since they are user-defined.
7029		if ( !isCustomProp ) {
7030			name = finalPropName( origName );
7031		}
7032
7033		// Gets hook for the prefixed version, then unprefixed version
7034		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
7035
7036		// Check if we're setting a value
7037		if ( value !== undefined ) {
7038			type = typeof value;
7039
7040			// Convert "+=" or "-=" to relative numbers (trac-7345)
7041			if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
7042				value = adjustCSS( elem, name, ret );
7043
7044				// Fixes bug trac-9237
7045				type = "number";
7046			}
7047
7048			// Make sure that null and NaN values aren't set (trac-
vendor: 16,724 bytes, lines 7048-7670
70487116)
7049			if ( value == null || value !== value ) {
7050				return;
7051			}
7052
7053			// If a number was passed in, add the unit (except for certain CSS properties)
7054			// The isCustomProp check can be removed in jQuery 4.0 when we only auto-append
7055			// "px" to a few hardcoded values.
7056			if ( type === "number" && !isCustomProp ) {
7057				value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
7058			}
7059
7060			// background-* props affect original clone's values
7061			if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
7062				style[ name ] = "inherit";
7063			}
7064
7065			// If a hook was provided, use that value, otherwise just set the specified value
7066			if ( !hooks || !( "set" in hooks ) ||
7067				( value = hooks.set( elem, value, extra ) ) !== undefined ) {
7068
7069				if ( isCustomProp ) {
7070					style.setProperty( name, value );
7071				} else {
7072					style[ name ] = value;
7073				}
7074			}
7075
7076		} else {
7077
7078			// If a hook was provided get the non-computed value from there
7079			if ( hooks && "get" in hooks &&
7080				( ret = hooks.get( elem, false, extra ) ) !== undefined ) {
7081
7082				return ret;
7083			}
7084
7085			// Otherwise just get the value from the style object
7086			return style[ name ];
7087		}
7088	},
7089
7090	css: function( elem, name, extra, styles ) {
7091		var val, num, hooks,
7092			origName = camelCase( name ),
7093			isCustomProp = rcustomProp.test( name );
7094
7095		// Make sure that we're working with the right name. We don't
7096		// want to modify the value if it is a CSS custom property
7097		// since they are user-defined.
7098		if ( !isCustomProp ) {
7099			name = finalPropName( origName );
7100		}
7101
7102		// Try prefixed name followed by the unprefixed name
7103		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
7104
7105		// If a hook was provided get the computed value from there
7106		if ( hooks && "get" in hooks ) {
7107			val = hooks.get( elem, true, extra );
7108		}
7109
7110		// Otherwise, if a way to get the computed value exists, use that
7111		if ( val === undefined ) {
7112			val = curCSS( elem, name, styles );
7113		}
7114
7115		// Convert "normal" to computed value
7116		if ( val === "normal" && name in cssNormalTransform ) {
7117			val = cssNormalTransform[ name ];
7118		}
7119
7120		// Make numeric if forced or a qualifier was provided and val looks numeric
7121		if ( extra === "" || extra ) {
7122			num = parseFloat( val );
7123			return extra === true || isFinite( num ) ? num || 0 : val;
7124		}
7125
7126		return val;
7127	}
7128} );
7129
7130jQuery.each( [ "height", "width" ], function( _i, dimension ) {
7131	jQuery.cssHooks[ dimension ] = {
7132		get: function( elem, computed, extra ) {
7133			if ( computed ) {
7134
7135				// Certain elements can have dimension info if we invisibly show them
7136				// but it must have a current display style that would benefit
7137				return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&
7138
7139					// Support: Safari 8+
7140					// Table columns in Safari have non-zero offsetWidth & zero
7141					// getBoundingClientRect().width unless display is changed.
7142					// Support: IE <=11 only
7143					// Running getBoundingClientRect on a disconnected node
7144					// in IE throws an error.
7145					( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
7146					swap( elem, cssShow, function() {
7147						return getWidthOrHeight( elem, dimension, extra );
7148					} ) :
7149					getWidthOrHeight( elem, dimension, extra );
7150			}
7151		},
7152
7153		set: function( elem, value, extra ) {
7154			var matches,
7155				styles = getStyles( elem ),
7156
7157				// Only read styles.position if the test has a chance to fail
7158				// to avoid forcing a reflow.
7159				scrollboxSizeBuggy = !support.scrollboxSize() &&
7160					styles.position === "absolute",
7161
7162				// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)
7163				boxSizingNeeded = scrollboxSizeBuggy || extra,
7164				isBorderBox = boxSizingNeeded &&
7165					jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
7166				subtract = extra ?
7167					boxModelAdjustment(
7168						elem,
7169						dimension,
7170						extra,
7171						isBorderBox,
7172						styles
7173					) :
7174					0;
7175
7176			// Account for unreliable border-box dimensions by comparing offset* to computed and
7177			// faking a content-box to get border and padding (gh-3699)
7178			if ( isBorderBox && scrollboxSizeBuggy ) {
7179				subtract -= Math.ceil(
7180					elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
7181					parseFloat( styles[ dimension ] ) -
7182					boxModelAdjustment( elem, dimension, "border", false, styles ) -
7183					0.5
7184				);
7185			}
7186
7187			// Convert to pixels if value adjustment is needed
7188			if ( subtract && ( matches = rcssNum.exec( value ) ) &&
7189				( matches[ 3 ] || "px" ) !== "px" ) {
7190
7191				elem.style[ dimension ] = value;
7192				value = jQuery.css( elem, dimension );
7193			}
7194
7195			return setPositiveNumber( elem, value, subtract );
7196		}
7197	};
7198} );
7199
7200jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
7201	function( elem, computed ) {
7202		if ( computed ) {
7203			return ( parseFloat( curCSS( elem, "marginLeft" ) ) ||
7204				elem.getBoundingClientRect().left -
7205					swap( elem, { marginLeft: 0 }, function() {
7206						return elem.getBoundingClientRect().left;
7207					} )
7208			) + "px";
7209		}
7210	}
7211);
7212
7213// These hooks are used by animate to expand properties
7214jQuery.each( {
7215	margin: "",
7216	padding: "",
7217	border: "Width"
7218}, function( prefix, suffix ) {
7219	jQuery.cssHooks[ prefix + suffix ] = {
7220		expand: function( value ) {
7221			var i = 0,
7222				expanded = {},
7223
7224				// Assumes a single number if not a string
7225				parts = typeof value === "string" ? value.split( " " ) : [ value ];
7226
7227			for ( ; i < 4; i++ ) {
7228				expanded[ prefix + cssExpand[ i ] + suffix ] =
7229					parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
7230			}
7231
7232			return expanded;
7233		}
7234	};
7235
7236	if ( prefix !== "margin" ) {
7237		jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
7238	}
7239} );
7240
7241jQuery.fn.extend( {
7242	css: function( name, value ) {
7243		return access( this, function( elem, name, value ) {
7244			var styles, len,
7245				map = {},
7246				i = 0;
7247
7248			if ( Array.isArray( name ) ) {
7249				styles = getStyles( elem );
7250				len = name.length;
7251
7252				for ( ; i < len; i++ ) {
7253					map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
7254				}
7255
7256				return map;
7257			}
7258
7259			return value !== undefined ?
7260				jQuery.style( elem, name, value ) :
7261				jQuery.css( elem, name );
7262		}, name, value, arguments.length > 1 );
7263	}
7264} );
7265
7266
7267function Tween( elem, options, prop, end, easing ) {
7268	return new Tween.prototype.init( elem, options, prop, end, easing );
7269}
7270jQuery.Tween = Tween;
7271
7272Tween.prototype = {
7273	constructor: Tween,
7274	init: function( elem, options, prop, end, easing, unit ) {
7275		this.elem = elem;
7276		this.prop = prop;
7277		this.easing = easing || jQuery.easing._default;
7278		this.options = options;
7279		this.start = this.now = this.cur();
7280		this.end = end;
7281		this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );
7282	},
7283	cur: function() {
7284		var hooks = Tween.propHooks[ this.prop ];
7285
7286		return hooks && hooks.get ?
7287			hooks.get( this ) :
7288			Tween.propHooks._default.get( this );
7289	},
7290	run: function( percent ) {
7291		var eased,
7292			hooks = Tween.propHooks[ this.prop ];
7293
7294		if ( this.options.duration ) {
7295			this.pos = eased = jQuery.easing[ this.easing ](
7296				percent, this.options.duration * percent, 0, 1, this.options.duration
7297			);
7298		} else {
7299			this.pos = eased = percent;
7300		}
7301		this.now = ( this.end - this.start ) * eased + this.start;
7302
7303		if ( this.options.step ) {
7304			this.options.step.call( this.elem, this.now, this );
7305		}
7306
7307		if ( hooks && hooks.set ) {
7308			hooks.set( this );
7309		} else {
7310			Tween.propHooks._default.set( this );
7311		}
7312		return this;
7313	}
7314};
7315
7316Tween.prototype.init.prototype = Tween.prototype;
7317
7318Tween.propHooks = {
7319	_default: {
7320		get: function( tween ) {
7321			var result;
7322
7323			// Use a property on the element directly when it is not a DOM element,
7324			// or when there is no matching style property that exists.
7325			if ( tween.elem.nodeType !== 1 ||
7326				tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {
7327				return tween.elem[ tween.prop ];
7328			}
7329
7330			// Passing an empty string as a 3rd parameter to .css will automatically
7331			// attempt a parseFloat and fallback to a string if the parse fails.
7332			// Simple values such as "10px" are parsed to Float;
7333			// complex values such as "rotate(1rad)" are returned as-is.
7334			result = jQuery.css( tween.elem, tween.prop, "" );
7335
7336			// Empty strings, null, undefined and "auto" are converted to 0.
7337			return !result || result === "auto" ? 0 : result;
7338		},
7339		set: function( tween ) {
7340
7341			// Use step hook for back compat.
7342			// Use cssHook if its there.
7343			// Use .style if available and use plain properties where available.
7344			if ( jQuery.fx.step[ tween.prop ] ) {
7345				jQuery.fx.step[ tween.prop ]( tween );
7346			} else if ( tween.elem.nodeType === 1 && (
7347				jQuery.cssHooks[ tween.prop ] ||
7348					tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {
7349				jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
7350			} else {
7351				tween.elem[ tween.prop ] = tween.now;
7352			}
7353		}
7354	}
7355};
7356
7357// Support: IE <=9 only
7358// Panic based approach to setting things on disconnected nodes
7359Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
7360	set: function( tween ) {
7361		if ( tween.elem.nodeType && tween.elem.parentNode ) {
7362			tween.elem[ tween.prop ] = tween.now;
7363		}
7364	}
7365};
7366
7367jQuery.easing = {
7368	linear: function( p ) {
7369		return p;
7370	},
7371	swing: function( p ) {
7372		return 0.5 - Math.cos( p * Math.PI ) / 2;
7373	},
7374	_default: "swing"
7375};
7376
7377jQuery.fx = Tween.prototype.init;
7378
7379// Back compat <1.8 extension point
7380jQuery.fx.step = {};
7381
7382
7383
7384
7385var
7386	fxNow, inProgress,
7387	rfxtypes = /^(?:toggle|show|hide)$/,
7388	rrun = /queueHooks$/;
7389
7390function schedule() {
7391	if ( inProgress ) {
7392		if ( document.hidden === false && window.requestAnimationFrame ) {
7393			window.requestAnimationFrame( schedule );
7394		} else {
7395			window.setTimeout( schedule, jQuery.fx.interval );
7396		}
7397
7398		jQuery.fx.tick();
7399	}
7400}
7401
7402// Animations created synchronously will run synchronously
7403function createFxNow() {
7404	window.setTimeout( function() {
7405		fxNow = undefined;
7406	} );
7407	return ( fxNow = Date.now() );
7408}
7409
7410// Generate parameters to create a standard animation
7411function genFx( type, includeWidth ) {
7412	var which,
7413		i = 0,
7414		attrs = { height: type };
7415
7416	// If we include width, step value is 1 to do all cssExpand values,
7417	// otherwise step value is 2 to skip over Left and Right
7418	includeWidth = includeWidth ? 1 : 0;
7419	for ( ; i < 4; i += 2 - includeWidth ) {
7420		which = cssExpand[ i ];
7421		attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
7422	}
7423
7424	if ( includeWidth ) {
7425		attrs.opacity = attrs.width = type;
7426	}
7427
7428	return attrs;
7429}
7430
7431function createTween( value, prop, animation ) {
7432	var tween,
7433		collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ),
7434		index = 0,
7435		length = collection.length;
7436	for ( ; index < length; index++ ) {
7437		if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {
7438
7439			// We're done with this property
7440			return tween;
7441		}
7442	}
7443}
7444
7445function defaultPrefilter( elem, props, opts ) {
7446	var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,
7447		isBox = "width" in props || "height" in props,
7448		anim = this,
7449		orig = {},
7450		style = elem.style,
7451		hidden = elem.nodeType && isHiddenWithinTree( elem ),
7452		dataShow = dataPriv.get( elem, "fxshow" );
7453
7454	// Queue-skipping animations hijack the fx hooks
7455	if ( !opts.queue ) {
7456		hooks = jQuery._queueHooks( elem, "fx" );
7457		if ( hooks.unqueued == null ) {
7458			hooks.unqueued = 0;
7459			oldfire = hooks.empty.fire;
7460			hooks.empty.fire = function() {
7461				if ( !hooks.unqueued ) {
7462					oldfire();
7463				}
7464			};
7465		}
7466		hooks.unqueued++;
7467
7468		anim.always( function() {
7469
7470			// Ensure the complete handler is called before this completes
7471			anim.always( function() {
7472				hooks.unqueued--;
7473				if ( !jQuery.queue( elem, "fx" ).length ) {
7474					hooks.empty.fire();
7475				}
7476			} );
7477		} );
7478	}
7479
7480	// Detect show/hide animations
7481	for ( prop in props ) {
7482		value = props[ prop ];
7483		if ( rfxtypes.test( value ) ) {
7484			delete props[ prop ];
7485			toggle = toggle || value === "toggle";
7486			if ( value === ( hidden ? "hide" : "show" ) ) {
7487
7488				// Pretend to be hidden if this is a "show" and
7489				// there is still data from a stopped show/hide
7490				if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
7491					hidden = true;
7492
7493				// Ignore all other no-op show/hide data
7494				} else {
7495					continue;
7496				}
7497			}
7498			orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
7499		}
7500	}
7501
7502	// Bail out if this is a no-op like .hide().hide()
7503	propTween = !jQuery.isEmptyObject( props );
7504	if ( !propTween && jQuery.isEmptyObject( orig ) ) {
7505		return;
7506	}
7507
7508	// Restrict "overflow" and "display" styles during box animations
7509	if ( isBox && elem.nodeType === 1 ) {
7510
7511		// Support: IE <=9 - 11, Edge 12 - 15
7512		// Record all 3 overflow attributes because IE does not infer the shorthand
7513		// from identically-valued overflowX and overflowY and Edge just mirrors
7514		// the overflowX value there.
7515		opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
7516
7517		// Identify a display type, preferring old show/hide data over the CSS cascade
7518		restoreDisplay = dataShow && dataShow.display;
7519		if ( restoreDisplay == null ) {
7520			restoreDisplay = dataPriv.get( elem, "display" );
7521		}
7522		display = jQuery.css( elem, "display" );
7523		if ( display === "none" ) {
7524			if ( restoreDisplay ) {
7525				display = restoreDisplay;
7526			} else {
7527
7528				// Get nonempty value(s) by temporarily forcing visibility
7529				showHide( [ elem ], true );
7530				restoreDisplay = elem.style.display || restoreDisplay;
7531				display = jQuery.css( elem, "display" );
7532				showHide( [ elem ] );
7533			}
7534		}
7535
7536		// Animate inline elements as inline-block
7537		if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) {
7538			if ( jQuery.css( elem, "float" ) === "none" ) {
7539
7540				// Restore the original display value at the end of pure show/hide animations
7541				if ( !propTween ) {
7542					anim.done( function() {
7543						style.display = restoreDisplay;
7544					} );
7545					if ( restoreDisplay == null ) {
7546						display = style.display;
7547						restoreDisplay = display === "none" ? "" : display;
7548					}
7549				}
7550				style.display = "inline-block";
7551			}
7552		}
7553	}
7554
7555	if ( opts.overflow ) {
7556		style.overflow = "hidden";
7557		anim.always( function() {
7558			style.overflow = opts.overflow[ 0 ];
7559			style.overflowX = opts.overflow[ 1 ];
7560			style.overflowY = opts.overflow[ 2 ];
7561		} );
7562	}
7563
7564	// Implement show/hide animations
7565	propTween = false;
7566	for ( prop in orig ) {
7567
7568		// General show/hide setup for this element animation
7569		if ( !propTween ) {
7570			if ( dataShow ) {
7571				if ( "hidden" in dataShow ) {
7572					hidden = dataShow.hidden;
7573				}
7574			} else {
7575				dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } );
7576			}
7577
7578			// Store hidden/visible for toggle so `.stop().toggle()` "reverses"
7579			if ( toggle ) {
7580				dataShow.hidden = !hidden;
7581			}
7582
7583			// Show elements before animating them
7584			if ( hidden ) {
7585				showHide( [ elem ], true );
7586			}
7587
7588			/* eslint-disable no-loop-func */
7589
7590			anim.done( function() {
7591
7592				/* eslint-enable no-loop-func */
7593
7594				// The final step of a "hide" animation is actually hiding the element
7595				if ( !hidden ) {
7596					showHide( [ elem ] );
7597				}
7598				dataPriv.remove( elem, "fxshow" );
7599				for ( prop in orig ) {
7600					jQuery.style( elem, prop, orig[ prop ] );
7601				}
7602			} );
7603		}
7604
7605		// Per-property setup
7606		propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
7607		if ( !( prop in dataShow ) ) {
7608			dataShow[ prop ] = propTween.start;
7609			if ( hidden ) {
7610				propTween.end = propTween.start;
7611				propTween.start = 0;
7612			}
7613		}
7614	}
7615}
7616
7617function propFilter( props, specialEasing ) {
7618	var index, name, easing, value, hooks;
7619
7620	// camelCase, specialEasing and expand cssHook pass
7621	for ( index in props ) {
7622		name = camelCase( index );
7623		easing = specialEasing[ name ];
7624		value = props[ index ];
7625		if ( Array.isArray( value ) ) {
7626			easing = value[ 1 ];
7627			value = props[ index ] = value[ 0 ];
7628		}
7629
7630		if ( index !== name ) {
7631			props[ name ] = value;
7632			delete props[ index ];
7633		}
7634
7635		hooks = jQuery.cssHooks[ name ];
7636		if ( hooks && "expand" in hooks ) {
7637			value = hooks.expand( value );
7638			delete props[ name ];
7639
7640			// Not quite $.extend, this won't overwrite existing keys.
7641			// Reusing 'index' because we have the correct "name"
7642			for ( index in value ) {
7643				if ( !( index in props ) ) {
7644					props[ index ] = value[ index ];
7645					specialEasing[ index ] = easing;
7646				}
7647			}
7648		} else {
7649			specialEasing[ name ] = easing;
7650		}
7651	}
7652}
7653
7654function Animation( elem, properties, options ) {
7655	var result,
7656		stopped,
7657		index = 0,
7658		length = Animation.prefilters.length,
7659		deferred = jQuery.Deferred().always( function() {
7660
7661			// Don't match elem in the :animated selector
7662			delete tick.elem;
7663		} ),
7664		tick = function() {
7665			if ( stopped ) {
7666				return false;
7667			}
7668			var currentTime = fxNow || createFxNow(),
7669				remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
7670
vendor: 9,542 bytes, lines 7671-8061
7671				// Support: Android 2.3 only
7672				// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497)
7673				temp = remaining / animation.duration || 0,
7674				percent = 1 - temp,
7675				index = 0,
7676				length = animation.tweens.length;
7677
7678			for ( ; index < length; index++ ) {
7679				animation.tweens[ index ].run( percent );
7680			}
7681
7682			deferred.notifyWith( elem, [ animation, percent, remaining ] );
7683
7684			// If there's more to do, yield
7685			if ( percent < 1 && length ) {
7686				return remaining;
7687			}
7688
7689			// If this was an empty animation, synthesize a final progress notification
7690			if ( !length ) {
7691				deferred.notifyWith( elem, [ animation, 1, 0 ] );
7692			}
7693
7694			// Resolve the animation and report its conclusion
7695			deferred.resolveWith( elem, [ animation ] );
7696			return false;
7697		},
7698		animation = deferred.promise( {
7699			elem: elem,
7700			props: jQuery.extend( {}, properties ),
7701			opts: jQuery.extend( true, {
7702				specialEasing: {},
7703				easing: jQuery.easing._default
7704			}, options ),
7705			originalProperties: properties,
7706			originalOptions: options,
7707			startTime: fxNow || createFxNow(),
7708			duration: options.duration,
7709			tweens: [],
7710			createTween: function( prop, end ) {
7711				var tween = jQuery.Tween( elem, animation.opts, prop, end,
7712					animation.opts.specialEasing[ prop ] || animation.opts.easing );
7713				animation.tweens.push( tween );
7714				return tween;
7715			},
7716			stop: function( gotoEnd ) {
7717				var index = 0,
7718
7719					// If we are going to the end, we want to run all the tweens
7720					// otherwise we skip this part
7721					length = gotoEnd ? animation.tweens.length : 0;
7722				if ( stopped ) {
7723					return this;
7724				}
7725				stopped = true;
7726				for ( ; index < length; index++ ) {
7727					animation.tweens[ index ].run( 1 );
7728				}
7729
7730				// Resolve when we played the last frame; otherwise, reject
7731				if ( gotoEnd ) {
7732					deferred.notifyWith( elem, [ animation, 1, 0 ] );
7733					deferred.resolveWith( elem, [ animation, gotoEnd ] );
7734				} else {
7735					deferred.rejectWith( elem, [ animation, gotoEnd ] );
7736				}
7737				return this;
7738			}
7739		} ),
7740		props = animation.props;
7741
7742	propFilter( props, animation.opts.specialEasing );
7743
7744	for ( ; index < length; index++ ) {
7745		result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );
7746		if ( result ) {
7747			if ( isFunction( result.stop ) ) {
7748				jQuery._queueHooks( animation.elem, animation.opts.queue ).stop =
7749					result.stop.bind( result );
7750			}
7751			return result;
7752		}
7753	}
7754
7755	jQuery.map( props, createTween, animation );
7756
7757	if ( isFunction( animation.opts.start ) ) {
7758		animation.opts.start.call( elem, animation );
7759	}
7760
7761	// Attach callbacks from options
7762	animation
7763		.progress( animation.opts.progress )
7764		.done( animation.opts.done, animation.opts.complete )
7765		.fail( animation.opts.fail )
7766		.always( animation.opts.always );
7767
7768	jQuery.fx.timer(
7769		jQuery.extend( tick, {
7770			elem: elem,
7771			anim: animation,
7772			queue: animation.opts.queue
7773		} )
7774	);
7775
7776	return animation;
7777}
7778
7779jQuery.Animation = jQuery.extend( Animation, {
7780
7781	tweeners: {
7782		"*": [ function( prop, value ) {
7783			var tween = this.createTween( prop, value );
7784			adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );
7785			return tween;
7786		} ]
7787	},
7788
7789	tweener: function( props, callback ) {
7790		if ( isFunction( props ) ) {
7791			callback = props;
7792			props = [ "*" ];
7793		} else {
7794			props = props.match( rnothtmlwhite );
7795		}
7796
7797		var prop,
7798			index = 0,
7799			length = props.length;
7800
7801		for ( ; index < length; index++ ) {
7802			prop = props[ index ];
7803			Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];
7804			Animation.tweeners[ prop ].unshift( callback );
7805		}
7806	},
7807
7808	prefilters: [ defaultPrefilter ],
7809
7810	prefilter: function( callback, prepend ) {
7811		if ( prepend ) {
7812			Animation.prefilters.unshift( callback );
7813		} else {
7814			Animation.prefilters.push( callback );
7815		}
7816	}
7817} );
7818
7819jQuery.speed = function( speed, easing, fn ) {
7820	var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
7821		complete: fn || !fn && easing ||
7822			isFunction( speed ) && speed,
7823		duration: speed,
7824		easing: fn && easing || easing && !isFunction( easing ) && easing
7825	};
7826
7827	// Go to the end state if fx are off
7828	if ( jQuery.fx.off ) {
7829		opt.duration = 0;
7830
7831	} else {
7832		if ( typeof opt.duration !== "number" ) {
7833			if ( opt.duration in jQuery.fx.speeds ) {
7834				opt.duration = jQuery.fx.speeds[ opt.duration ];
7835
7836			} else {
7837				opt.duration = jQuery.fx.speeds._default;
7838			}
7839		}
7840	}
7841
7842	// Normalize opt.queue - true/undefined/null -> "fx"
7843	if ( opt.queue == null || opt.queue === true ) {
7844		opt.queue = "fx";
7845	}
7846
7847	// Queueing
7848	opt.old = opt.complete;
7849
7850	opt.complete = function() {
7851		if ( isFunction( opt.old ) ) {
7852			opt.old.call( this );
7853		}
7854
7855		if ( opt.queue ) {
7856			jQuery.dequeue( this, opt.queue );
7857		}
7858	};
7859
7860	return opt;
7861};
7862
7863jQuery.fn.extend( {
7864	fadeTo: function( speed, to, easing, callback ) {
7865
7866		// Show any hidden elements after setting opacity to 0
7867		return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show()
7868
7869			// Animate to the value specified
7870			.end().animate( { opacity: to }, speed, easing, callback );
7871	},
7872	animate: function( prop, speed, easing, callback ) {
7873		var empty = jQuery.isEmptyObject( prop ),
7874			optall = jQuery.speed( speed, easing, callback ),
7875			doAnimation = function() {
7876
7877				// Operate on a copy of prop so per-property easing won't be lost
7878				var anim = Animation( this, jQuery.extend( {}, prop ), optall );
7879
7880				// Empty animations, or finishing resolves immediately
7881				if ( empty || dataPriv.get( this, "finish" ) ) {
7882					anim.stop( true );
7883				}
7884			};
7885
7886		doAnimation.finish = doAnimation;
7887
7888		return empty || optall.queue === false ?
7889			this.each( doAnimation ) :
7890			this.queue( optall.queue, doAnimation );
7891	},
7892	stop: function( type, clearQueue, gotoEnd ) {
7893		var stopQueue = function( hooks ) {
7894			var stop = hooks.stop;
7895			delete hooks.stop;
7896			stop( gotoEnd );
7897		};
7898
7899		if ( typeof type !== "string" ) {
7900			gotoEnd = clearQueue;
7901			clearQueue = type;
7902			type = undefined;
7903		}
7904		if ( clearQueue ) {
7905			this.queue( type || "fx", [] );
7906		}
7907
7908		return this.each( function() {
7909			var dequeue = true,
7910				index = type != null && type + "queueHooks",
7911				timers = jQuery.timers,
7912				data = dataPriv.get( this );
7913
7914			if ( index ) {
7915				if ( data[ index ] && data[ index ].stop ) {
7916					stopQueue( data[ index ] );
7917				}
7918			} else {
7919				for ( index in data ) {
7920					if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
7921						stopQueue( data[ index ] );
7922					}
7923				}
7924			}
7925
7926			for ( index = timers.length; index--; ) {
7927				if ( timers[ index ].elem === this &&
7928					( type == null || timers[ index ].queue === type ) ) {
7929
7930					timers[ index ].anim.stop( gotoEnd );
7931					dequeue = false;
7932					timers.splice( index, 1 );
7933				}
7934			}
7935
7936			// Start the next in the queue if the last step wasn't forced.
7937			// Timers currently will call their complete callbacks, which
7938			// will dequeue but only if they were gotoEnd.
7939			if ( dequeue || !gotoEnd ) {
7940				jQuery.dequeue( this, type );
7941			}
7942		} );
7943	},
7944	finish: function( type ) {
7945		if ( type !== false ) {
7946			type = type || "fx";
7947		}
7948		return this.each( function() {
7949			var index,
7950				data = dataPriv.get( this ),
7951				queue = data[ type + "queue" ],
7952				hooks = data[ type + "queueHooks" ],
7953				timers = jQuery.timers,
7954				length = queue ? queue.length : 0;
7955
7956			// Enable finishing flag on private data
7957			data.finish = true;
7958
7959			// Empty the queue first
7960			jQuery.queue( this, type, [] );
7961
7962			if ( hooks && hooks.stop ) {
7963				hooks.stop.call( this, true );
7964			}
7965
7966			// Look for any active animations, and finish them
7967			for ( index = timers.length; index--; ) {
7968				if ( timers[ index ].elem === this && timers[ index ].queue === type ) {
7969					timers[ index ].anim.stop( true );
7970					timers.splice( index, 1 );
7971				}
7972			}
7973
7974			// Look for any animations in the old queue and finish them
7975			for ( index = 0; index < length; index++ ) {
7976				if ( queue[ index ] && queue[ index ].finish ) {
7977					queue[ index ].finish.call( this );
7978				}
7979			}
7980
7981			// Turn off finishing flag
7982			delete data.finish;
7983		} );
7984	}
7985} );
7986
7987jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) {
7988	var cssFn = jQuery.fn[ name ];
7989	jQuery.fn[ name ] = function( speed, easing, callback ) {
7990		return speed == null || typeof speed === "boolean" ?
7991			cssFn.apply( this, arguments ) :
7992			this.animate( genFx( name, true ), speed, easing, callback );
7993	};
7994} );
7995
7996// Generate shortcuts for custom animations
7997jQuery.each( {
7998	slideDown: genFx( "show" ),
7999	slideUp: genFx( "hide" ),
8000	slideToggle: genFx( "toggle" ),
8001	fadeIn: { opacity: "show" },
8002	fadeOut: { opacity: "hide" },
8003	fadeToggle: { opacity: "toggle" }
8004}, function( name, props ) {
8005	jQuery.fn[ name ] = function( speed, easing, callback ) {
8006		return this.animate( props, speed, easing, callback );
8007	};
8008} );
8009
8010jQuery.timers = [];
8011jQuery.fx.tick = function() {
8012	var timer,
8013		i = 0,
8014		timers = jQuery.timers;
8015
8016	fxNow = Date.now();
8017
8018	for ( ; i < timers.length; i++ ) {
8019		timer = timers[ i ];
8020
8021		// Run the timer and safely remove it when done (allowing for external removal)
8022		if ( !timer() && timers[ i ] === timer ) {
8023			timers.splice( i--, 1 );
8024		}
8025	}
8026
8027	if ( !timers.length ) {
8028		jQuery.fx.stop();
8029	}
8030	fxNow = undefined;
8031};
8032
8033jQuery.fx.timer = function( timer ) {
8034	jQuery.timers.push( timer );
8035	jQuery.fx.start();
8036};
8037
8038jQuery.fx.interval = 13;
8039jQuery.fx.start = function() {
8040	if ( inProgress ) {
8041		return;
8042	}
8043
8044	inProgress = true;
8045	schedule();
8046};
8047
8048jQuery.fx.stop = function() {
8049	inProgress = null;
8050};
8051
8052jQuery.fx.speeds = {
8053	slow: 600,
8054	fast: 200,
8055
8056	// Default speed
8057	_default: 400
8058};
8059
8060
8061// Based off of the plugin by Clint Helfers, with permission.
vendor: 5,177 bytes, lines 8062-8282
8062jQuery.fn.delay = function( time, type ) {
8063	time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
8064	type = type || "fx";
8065
8066	return this.queue( type, function( next, hooks ) {
8067		var timeout = window.setTimeout( next, time );
8068		hooks.stop = function() {
8069			window.clearTimeout( timeout );
8070		};
8071	} );
8072};
8073
8074
8075( function() {
8076	var input = document.createElement( "input" ),
8077		select = document.createElement( "select" ),
8078		opt = select.appendChild( document.createElement( "option" ) );
8079
8080	input.type = "checkbox";
8081
8082	// Support: Android <=4.3 only
8083	// Default value for a checkbox should be "on"
8084	support.checkOn = input.value !== "";
8085
8086	// Support: IE <=11 only
8087	// Must access selectedIndex to make default options select
8088	support.optSelected = opt.selected;
8089
8090	// Support: IE <=11 only
8091	// An input loses its value after becoming a radio
8092	input = document.createElement( "input" );
8093	input.value = "t";
8094	input.type = "radio";
8095	support.radioValue = input.value === "t";
8096} )();
8097
8098
8099var boolHook,
8100	attrHandle = jQuery.expr.attrHandle;
8101
8102jQuery.fn.extend( {
8103	attr: function( name, value ) {
8104		return access( this, jQuery.attr, name, value, arguments.length > 1 );
8105	},
8106
8107	removeAttr: function( name ) {
8108		return this.each( function() {
8109			jQuery.removeAttr( this, name );
8110		} );
8111	}
8112} );
8113
8114jQuery.extend( {
8115	attr: function( elem, name, value ) {
8116		var ret, hooks,
8117			nType = elem.nodeType;
8118
8119		// Don't get/set attributes on text, comment and attribute nodes
8120		if ( nType === 3 || nType === 8 || nType === 2 ) {
8121			return;
8122		}
8123
8124		// Fallback to prop when attributes are not supported
8125		if ( typeof elem.getAttribute === "undefined" ) {
8126			return jQuery.prop( elem, name, value );
8127		}
8128
8129		// Attribute hooks are determined by the lowercase version
8130		// Grab necessary hook if one is defined
8131		if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
8132			hooks = jQuery.attrHooks[ name.toLowerCase() ] ||
8133				( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );
8134		}
8135
8136		if ( value !== undefined ) {
8137			if ( value === null ) {
8138				jQuery.removeAttr( elem, name );
8139				return;
8140			}
8141
8142			if ( hooks && "set" in hooks &&
8143				( ret = hooks.set( elem, value, name ) ) !== undefined ) {
8144				return ret;
8145			}
8146
8147			elem.setAttribute( name, value + "" );
8148			return value;
8149		}
8150
8151		if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
8152			return ret;
8153		}
8154
8155		ret = jQuery.find.attr( elem, name );
8156
8157		// Non-existent attributes return null, we normalize to undefined
8158		return ret == null ? undefined : ret;
8159	},
8160
8161	attrHooks: {
8162		type: {
8163			set: function( elem, value ) {
8164				if ( !support.radioValue && value === "radio" &&
8165					nodeName( elem, "input" ) ) {
8166					var val = elem.value;
8167					elem.setAttribute( "type", value );
8168					if ( val ) {
8169						elem.value = val;
8170					}
8171					return value;
8172				}
8173			}
8174		}
8175	},
8176
8177	removeAttr: function( elem, value ) {
8178		var name,
8179			i = 0,
8180
8181			// Attribute names can contain non-HTML whitespace characters
8182			// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
8183			attrNames = value && value.match( rnothtmlwhite );
8184
8185		if ( attrNames && elem.nodeType === 1 ) {
8186			while ( ( name = attrNames[ i++ ] ) ) {
8187				elem.removeAttribute( name );
8188			}
8189		}
8190	}
8191} );
8192
8193// Hooks for boolean attributes
8194boolHook = {
8195	set: function( elem, value, name ) {
8196		if ( value === false ) {
8197
8198			// Remove boolean attributes when set to false
8199			jQuery.removeAttr( elem, name );
8200		} else {
8201			elem.setAttribute( name, name );
8202		}
8203		return name;
8204	}
8205};
8206
8207jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) {
8208	var getter = attrHandle[ name ] || jQuery.find.attr;
8209
8210	attrHandle[ name ] = function( elem, name, isXML ) {
8211		var ret, handle,
8212			lowercaseName = name.toLowerCase();
8213
8214		if ( !isXML ) {
8215
8216			// Avoid an infinite loop by temporarily removing this function from the getter
8217			handle = attrHandle[ lowercaseName ];
8218			attrHandle[ lowercaseName ] = ret;
8219			ret = getter( elem, name, isXML ) != null ?
8220				lowercaseName :
8221				null;
8222			attrHandle[ lowercaseName ] = handle;
8223		}
8224		return ret;
8225	};
8226} );
8227
8228
8229
8230
8231var rfocusable = /^(?:input|select|textarea|button)$/i,
8232	rclickable = /^(?:a|area)$/i;
8233
8234jQuery.fn.extend( {
8235	prop: function( name, value ) {
8236		return access( this, jQuery.prop, name, value, arguments.length > 1 );
8237	},
8238
8239	removeProp: function( name ) {
8240		return this.each( function() {
8241			delete this[ jQuery.propFix[ name ] || name ];
8242		} );
8243	}
8244} );
8245
8246jQuery.extend( {
8247	prop: function( elem, name, value ) {
8248		var ret, hooks,
8249			nType = elem.nodeType;
8250
8251		// Don't get/set properties on text, comment and attribute nodes
8252		if ( nType === 3 || nType === 8 || nType === 2 ) {
8253			return;
8254		}
8255
8256		if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
8257
8258			// Fix name and attach hooks
8259			name = jQuery.propFix[ name ] || name;
8260			hooks = jQuery.propHooks[ name ];
8261		}
8262
8263		if ( value !== undefined ) {
8264			if ( hooks && "set" in hooks &&
8265				( ret = hooks.set( elem, value, name ) ) !== undefined ) {
8266				return ret;
8267			}
8268
8269			return ( elem[ name ] = value );
8270		}
8271
8272		if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
8273			return ret;
8274		}
8275
8276		return elem[ name ];
8277	},
8278
8279	propHooks: {
8280		tabIndex: {
8281			get: function( elem ) {
8282
vendor: 6,126 bytes, lines 8283-8542
8283				// Support: IE <=9 - 11 only
8284				// elem.tabIndex doesn't always return the
8285				// correct value when it hasn't been explicitly set
8286				// Use proper attribute retrieval (trac-12072)
8287				var tabindex = jQuery.find.attr( elem, "tabindex" );
8288
8289				if ( tabindex ) {
8290					return parseInt( tabindex, 10 );
8291				}
8292
8293				if (
8294					rfocusable.test( elem.nodeName ) ||
8295					rclickable.test( elem.nodeName ) &&
8296					elem.href
8297				) {
8298					return 0;
8299				}
8300
8301				return -1;
8302			}
8303		}
8304	},
8305
8306	propFix: {
8307		"for": "htmlFor",
8308		"class": "className"
8309	}
8310} );
8311
8312// Support: IE <=11 only
8313// Accessing the selectedIndex property
8314// forces the browser to respect setting selected
8315// on the option
8316// The getter ensures a default option is selected
8317// when in an optgroup
8318// eslint rule "no-unused-expressions" is disabled for this code
8319// since it considers such accessions noop
8320if ( !support.optSelected ) {
8321	jQuery.propHooks.selected = {
8322		get: function( elem ) {
8323
8324			/* eslint no-unused-expressions: "off" */
8325
8326			var parent = elem.parentNode;
8327			if ( parent && parent.parentNode ) {
8328				parent.parentNode.selectedIndex;
8329			}
8330			return null;
8331		},
8332		set: function( elem ) {
8333
8334			/* eslint no-unused-expressions: "off" */
8335
8336			var parent = elem.parentNode;
8337			if ( parent ) {
8338				parent.selectedIndex;
8339
8340				if ( parent.parentNode ) {
8341					parent.parentNode.selectedIndex;
8342				}
8343			}
8344		}
8345	};
8346}
8347
8348jQuery.each( [
8349	"tabIndex",
8350	"readOnly",
8351	"maxLength",
8352	"cellSpacing",
8353	"cellPadding",
8354	"rowSpan",
8355	"colSpan",
8356	"useMap",
8357	"frameBorder",
8358	"contentEditable"
8359], function() {
8360	jQuery.propFix[ this.toLowerCase() ] = this;
8361} );
8362
8363
8364
8365
8366	// Strip and collapse whitespace according to HTML spec
8367	// https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace
8368	function stripAndCollapse( value ) {
8369		var tokens = value.match( rnothtmlwhite ) || [];
8370		return tokens.join( " " );
8371	}
8372
8373
8374function getClass( elem ) {
8375	return elem.getAttribute && elem.getAttribute( "class" ) || "";
8376}
8377
8378function classesToArray( value ) {
8379	if ( Array.isArray( value ) ) {
8380		return value;
8381	}
8382	if ( typeof value === "string" ) {
8383		return value.match( rnothtmlwhite ) || [];
8384	}
8385	return [];
8386}
8387
8388jQuery.fn.extend( {
8389	addClass: function( value ) {
8390		var classNames, cur, curValue, className, i, finalValue;
8391
8392		if ( isFunction( value ) ) {
8393			return this.each( function( j ) {
8394				jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );
8395			} );
8396		}
8397
8398		classNames = classesToArray( value );
8399
8400		if ( classNames.length ) {
8401			return this.each( function() {
8402				curValue = getClass( this );
8403				cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
8404
8405				if ( cur ) {
8406					for ( i = 0; i < classNames.length; i++ ) {
8407						className = classNames[ i ];
8408						if ( cur.indexOf( " " + className + " " ) < 0 ) {
8409							cur += className + " ";
8410						}
8411					}
8412
8413					// Only assign if different to avoid unneeded rendering.
8414					finalValue = stripAndCollapse( cur );
8415					if ( curValue !== finalValue ) {
8416						this.setAttribute( "class", finalValue );
8417					}
8418				}
8419			} );
8420		}
8421
8422		return this;
8423	},
8424
8425	removeClass: function( value ) {
8426		var classNames, cur, curValue, className, i, finalValue;
8427
8428		if ( isFunction( value ) ) {
8429			return this.each( function( j ) {
8430				jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
8431			} );
8432		}
8433
8434		if ( !arguments.length ) {
8435			return this.attr( "class", "" );
8436		}
8437
8438		classNames = classesToArray( value );
8439
8440		if ( classNames.length ) {
8441			return this.each( function() {
8442				curValue = getClass( this );
8443
8444				// This expression is here for better compressibility (see addClass)
8445				cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
8446
8447				if ( cur ) {
8448					for ( i = 0; i < classNames.length; i++ ) {
8449						className = classNames[ i ];
8450
8451						// Remove *all* instances
8452						while ( cur.indexOf( " " + className + " " ) > -1 ) {
8453							cur = cur.replace( " " + className + " ", " " );
8454						}
8455					}
8456
8457					// Only assign if different to avoid unneeded rendering.
8458					finalValue = stripAndCollapse( cur );
8459					if ( curValue !== finalValue ) {
8460						this.setAttribute( "class", finalValue );
8461					}
8462				}
8463			} );
8464		}
8465
8466		return this;
8467	},
8468
8469	toggleClass: function( value, stateVal ) {
8470		var classNames, className, i, self,
8471			type = typeof value,
8472			isValidValue = type === "string" || Array.isArray( value );
8473
8474		if ( isFunction( value ) ) {
8475			return this.each( function( i ) {
8476				jQuery( this ).toggleClass(
8477					value.call( this, i, getClass( this ), stateVal ),
8478					stateVal
8479				);
8480			} );
8481		}
8482
8483		if ( typeof stateVal === "boolean" && isValidValue ) {
8484			return stateVal ? this.addClass( value ) : this.removeClass( value );
8485		}
8486
8487		classNames = classesToArray( value );
8488
8489		return this.each( function() {
8490			if ( isValidValue ) {
8491
8492				// Toggle individual class names
8493				self = jQuery( this );
8494
8495				for ( i = 0; i < classNames.length; i++ ) {
8496					className = classNames[ i ];
8497
8498					// Check each className given, space separated list
8499					if ( self.hasClass( className ) ) {
8500						self.removeClass( className );
8501					} else {
8502						self.addClass( className );
8503					}
8504				}
8505
8506			// Toggle whole class name
8507			} else if ( value === undefined || type === "boolean" ) {
8508				className = getClass( this );
8509				if ( className ) {
8510
8511					// Store className if set
8512					dataPriv.set( this, "__className__", className );
8513				}
8514
8515				// If the element has a class name or if we're passed `false`,
8516				// then remove the whole classname (if there was one, the above saved it).
8517				// Otherwise bring back whatever was previously saved (if anything),
8518				// falling back to the empty string if nothing was stored.
8519				if ( this.setAttribute ) {
8520					this.setAttribute( "class",
8521						className || value === false ?
8522							"" :
8523							dataPriv.get( this, "__className__" ) || ""
8524					);
8525				}
8526			}
8527		} );
8528	},
8529
8530	hasClass: function( selector ) {
8531		var className, elem,
8532			i = 0;
8533
8534		className = " " + selector + " ";
8535		while ( ( elem = this[ i++ ] ) ) {
8536			if ( elem.nodeType === 1 &&
8537				( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) {
8538				return true;
8539			}
8540		}
8541
8542		return false;
vendor: 1,385 bytes, lines 8543-8612
8543	}
8544} );
8545
8546
8547
8548
8549var rreturn = /\r/g;
8550
8551jQuery.fn.extend( {
8552	val: function( value ) {
8553		var hooks, ret, valueIsFunction,
8554			elem = this[ 0 ];
8555
8556		if ( !arguments.length ) {
8557			if ( elem ) {
8558				hooks = jQuery.valHooks[ elem.type ] ||
8559					jQuery.valHooks[ elem.nodeName.toLowerCase() ];
8560
8561				if ( hooks &&
8562					"get" in hooks &&
8563					( ret = hooks.get( elem, "value" ) ) !== undefined
8564				) {
8565					return ret;
8566				}
8567
8568				ret = elem.value;
8569
8570				// Handle most common string cases
8571				if ( typeof ret === "string" ) {
8572					return ret.replace( rreturn, "" );
8573				}
8574
8575				// Handle cases where value is null/undef or number
8576				return ret == null ? "" : ret;
8577			}
8578
8579			return;
8580		}
8581
8582		valueIsFunction = isFunction( value );
8583
8584		return this.each( function( i ) {
8585			var val;
8586
8587			if ( this.nodeType !== 1 ) {
8588				return;
8589			}
8590
8591			if ( valueIsFunction ) {
8592				val = value.call( this, i, jQuery( this ).val() );
8593			} else {
8594				val = value;
8595			}
8596
8597			// Treat null/undefined as ""; convert numbers to string
8598			if ( val == null ) {
8599				val = "";
8600
8601			} else if ( typeof val === "number" ) {
8602				val += "";
8603
8604			} else if ( Array.isArray( val ) ) {
8605				val = jQuery.map( val, function( value ) {
8606					return value == null ? "" : value + "";
8607				} );
8608			}
8609
8610			hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
8611
8612			// If set returns undefined, fall back to normal setting
vendor: 8,269 bytes, lines 8613-8927
8613			if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {
8614				this.value = val;
8615			}
8616		} );
8617	}
8618} );
8619
8620jQuery.extend( {
8621	valHooks: {
8622		option: {
8623			get: function( elem ) {
8624
8625				var val = jQuery.find.attr( elem, "value" );
8626				return val != null ?
8627					val :
8628
8629					// Support: IE <=10 - 11 only
8630					// option.text throws exceptions (trac-14686, trac-14858)
8631					// Strip and collapse whitespace
8632					// https://html.spec.whatwg.org/#strip-and-collapse-whitespace
8633					stripAndCollapse( jQuery.text( elem ) );
8634			}
8635		},
8636		select: {
8637			get: function( elem ) {
8638				var value, option, i,
8639					options = elem.options,
8640					index = elem.selectedIndex,
8641					one = elem.type === "select-one",
8642					values = one ? null : [],
8643					max = one ? index + 1 : options.length;
8644
8645				if ( index < 0 ) {
8646					i = max;
8647
8648				} else {
8649					i = one ? index : 0;
8650				}
8651
8652				// Loop through all the selected options
8653				for ( ; i < max; i++ ) {
8654					option = options[ i ];
8655
8656					// Support: IE <=9 only
8657					// IE8-9 doesn't update selected after form reset (trac-2551)
8658					if ( ( option.selected || i === index ) &&
8659
8660							// Don't return options that are disabled or in a disabled optgroup
8661							!option.disabled &&
8662							( !option.parentNode.disabled ||
8663								!nodeName( option.parentNode, "optgroup" ) ) ) {
8664
8665						// Get the specific value for the option
8666						value = jQuery( option ).val();
8667
8668						// We don't need an array for one selects
8669						if ( one ) {
8670							return value;
8671						}
8672
8673						// Multi-Selects return an array
8674						values.push( value );
8675					}
8676				}
8677
8678				return values;
8679			},
8680
8681			set: function( elem, value ) {
8682				var optionSet, option,
8683					options = elem.options,
8684					values = jQuery.makeArray( value ),
8685					i = options.length;
8686
8687				while ( i-- ) {
8688					option = options[ i ];
8689
8690					/* eslint-disable no-cond-assign */
8691
8692					if ( option.selected =
8693						jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1
8694					) {
8695						optionSet = true;
8696					}
8697
8698					/* eslint-enable no-cond-assign */
8699				}
8700
8701				// Force browsers to behave consistently when non-matching value is set
8702				if ( !optionSet ) {
8703					elem.selectedIndex = -1;
8704				}
8705				return values;
8706			}
8707		}
8708	}
8709} );
8710
8711// Radios and checkboxes getter/setter
8712jQuery.each( [ "radio", "checkbox" ], function() {
8713	jQuery.valHooks[ this ] = {
8714		set: function( elem, value ) {
8715			if ( Array.isArray( value ) ) {
8716				return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
8717			}
8718		}
8719	};
8720	if ( !support.checkOn ) {
8721		jQuery.valHooks[ this ].get = function( elem ) {
8722			return elem.getAttribute( "value" ) === null ? "on" : elem.value;
8723		};
8724	}
8725} );
8726
8727
8728
8729
8730// Return jQuery for attributes-only inclusion
8731
8732
8733support.focusin = "onfocusin" in window;
8734
8735
8736var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
8737	stopPropagationCallback = function( e ) {
8738		e.stopPropagation();
8739	};
8740
8741jQuery.extend( jQuery.event, {
8742
8743	trigger: function( event, data, elem, onlyHandlers ) {
8744
8745		var i, cur, tmp, bubbleType, ontype, handle, special, lastElement,
8746			eventPath = [ elem || document ],
8747			type = hasOwn.call( event, "type" ) ? event.type : event,
8748			namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];
8749
8750		cur = lastElement = tmp = elem = elem || document;
8751
8752		// Don't do events on text and comment nodes
8753		if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
8754			return;
8755		}
8756
8757		// focus/blur morphs to focusin/out; ensure we're not firing them right now
8758		if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
8759			return;
8760		}
8761
8762		if ( type.indexOf( "." ) > -1 ) {
8763
8764			// Namespaced trigger; create a regexp to match event type in handle()
8765			namespaces = type.split( "." );
8766			type = namespaces.shift();
8767			namespaces.sort();
8768		}
8769		ontype = type.indexOf( ":" ) < 0 && "on" + type;
8770
8771		// Caller can pass in a jQuery.Event object, Object, or just an event type string
8772		event = event[ jQuery.expando ] ?
8773			event :
8774			new jQuery.Event( type, typeof event === "object" && event );
8775
8776		// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
8777		event.isTrigger = onlyHandlers ? 2 : 3;
8778		event.namespace = namespaces.join( "." );
8779		event.rnamespace = event.namespace ?
8780			new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
8781			null;
8782
8783		// Clean up the event in case it is being reused
8784		event.result = undefined;
8785		if ( !event.target ) {
8786			event.target = elem;
8787		}
8788
8789		// Clone any incoming data and prepend the event, creating the handler arg list
8790		data = data == null ?
8791			[ event ] :
8792			jQuery.makeArray( data, [ event ] );
8793
8794		// Allow special events to draw outside the lines
8795		special = jQuery.event.special[ type ] || {};
8796		if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
8797			return;
8798		}
8799
8800		// Determine event propagation path in advance, per W3C events spec (trac-9951)
8801		// Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724)
8802		if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {
8803
8804			bubbleType = special.delegateType || type;
8805			if ( !rfocusMorph.test( bubbleType + type ) ) {
8806				cur = cur.parentNode;
8807			}
8808			for ( ; cur; cur = cur.parentNode ) {
8809				eventPath.push( cur );
8810				tmp = cur;
8811			}
8812
8813			// Only add window if we got to document (e.g., not plain obj or detached DOM)
8814			if ( tmp === ( elem.ownerDocument || document ) ) {
8815				eventPath.push( tmp.defaultView || tmp.parentWindow || window );
8816			}
8817		}
8818
8819		// Fire handlers on the event path
8820		i = 0;
8821		while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
8822			lastElement = cur;
8823			event.type = i > 1 ?
8824				bubbleType :
8825				special.bindType || type;
8826
8827			// jQuery handler
8828			handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] &&
8829				dataPriv.get( cur, "handle" );
8830			if ( handle ) {
8831				handle.apply( cur, data );
8832			}
8833
8834			// Native handler
8835			handle = ontype && cur[ ontype ];
8836			if ( handle && handle.apply && acceptData( cur ) ) {
8837				event.result = handle.apply( cur, data );
8838				if ( event.result === false ) {
8839					event.preventDefault();
8840				}
8841			}
8842		}
8843		event.type = type;
8844
8845		// If nobody prevented the default action, do it now
8846		if ( !onlyHandlers && !event.isDefaultPrevented() ) {
8847
8848			if ( ( !special._default ||
8849				special._default.apply( eventPath.pop(), data ) === false ) &&
8850				acceptData( elem ) ) {
8851
8852				// Call a native DOM method on the target with the same name as the event.
8853				// Don't do default actions on window, that's where global variables be (trac-6170)
8854				if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {
8855
8856					// Don't re-trigger an onFOO event when we call its FOO() method
8857					tmp = elem[ ontype ];
8858
8859					if ( tmp ) {
8860						elem[ ontype ] = null;
8861					}
8862
8863					// Prevent re-triggering of the same event, since we already bubbled it above
8864					jQuery.event.triggered = type;
8865
8866					if ( event.isPropagationStopped() ) {
8867						lastElement.addEventListener( type, stopPropagationCallback );
8868					}
8869
8870					elem[ type ]();
8871
8872					if ( event.isPropagationStopped() ) {
8873						lastElement.removeEventListener( type, stopPropagationCallback );
8874					}
8875
8876					jQuery.event.triggered = undefined;
8877
8878					if ( tmp ) {
8879						elem[ ontype ] = tmp;
8880					}
8881				}
8882			}
8883		}
8884
8885		return event.result;
8886	},
8887
8888	// Piggyback on a donor event to simulate a different one
8889	// Used only for `focus(in | out)` events
8890	simulate: function( type, elem, event ) {
8891		var e = jQuery.extend(
8892			new jQuery.Event(),
8893			event,
8894			{
8895				type: type,
8896				isSimulated: true
8897			}
8898		);
8899
8900		jQuery.event.trigger( e, null, elem );
8901	}
8902
8903} );
8904
8905jQuery.fn.extend( {
8906
8907	trigger: function( type, data ) {
8908		return this.each( function() {
8909			jQuery.event.trigger( type, data, this );
8910		} );
8911	},
8912	triggerHandler: function( type, data ) {
8913		var elem = this[ 0 ];
8914		if ( elem ) {
8915			return jQuery.event.trigger( type, data, elem, true );
8916		}
8917	}
8918} );
8919
8920
8921// Support: Firefox <=44
8922// Firefox doesn't have focus(in | out) events
8923// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
8924//
8925// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
8926// focus(in | out) events fire after focus & blur events,
8927// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
vendor: 4,255 bytes, lines 8928-9097
8928// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
8929if ( !support.focusin ) {
8930	jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
8931
8932		// Attach a single capturing handler on the document while someone wants focusin/focusout
8933		var handler = function( event ) {
8934			jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
8935		};
8936
8937		jQuery.event.special[ fix ] = {
8938			setup: function() {
8939
8940				// Handle: regular nodes (via `this.ownerDocument`), window
8941				// (via `this.document`) & document (via `this`).
8942				var doc = this.ownerDocument || this.document || this,
8943					attaches = dataPriv.access( doc, fix );
8944
8945				if ( !attaches ) {
8946					doc.addEventListener( orig, handler, true );
8947				}
8948				dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
8949			},
8950			teardown: function() {
8951				var doc = this.ownerDocument || this.document || this,
8952					attaches = dataPriv.access( doc, fix ) - 1;
8953
8954				if ( !attaches ) {
8955					doc.removeEventListener( orig, handler, true );
8956					dataPriv.remove( doc, fix );
8957
8958				} else {
8959					dataPriv.access( doc, fix, attaches );
8960				}
8961			}
8962		};
8963	} );
8964}
8965var location = window.location;
8966
8967var nonce = { guid: Date.now() };
8968
8969var rquery = ( /\?/ );
8970
8971
8972
8973// Cross-browser xml parsing
8974jQuery.parseXML = function( data ) {
8975	var xml, parserErrorElem;
8976	if ( !data || typeof data !== "string" ) {
8977		return null;
8978	}
8979
8980	// Support: IE 9 - 11 only
8981	// IE throws on parseFromString with invalid input.
8982	try {
8983		xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
8984	} catch ( e ) {}
8985
8986	parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ];
8987	if ( !xml || parserErrorElem ) {
8988		jQuery.error( "Invalid XML: " + (
8989			parserErrorElem ?
8990				jQuery.map( parserErrorElem.childNodes, function( el ) {
8991					return el.textContent;
8992				} ).join( "\n" ) :
8993				data
8994		) );
8995	}
8996	return xml;
8997};
8998
8999
9000var
9001	rbracket = /\[\]$/,
9002	rCRLF = /\r?\n/g,
9003	rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
9004	rsubmittable = /^(?:input|select|textarea|keygen)/i;
9005
9006function buildParams( prefix, obj, traditional, add ) {
9007	var name;
9008
9009	if ( Array.isArray( obj ) ) {
9010
9011		// Serialize array item.
9012		jQuery.each( obj, function( i, v ) {
9013			if ( traditional || rbracket.test( prefix ) ) {
9014
9015				// Treat each array item as a scalar.
9016				add( prefix, v );
9017
9018			} else {
9019
9020				// Item is non-scalar (array or object), encode its numeric index.
9021				buildParams(
9022					prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]",
9023					v,
9024					traditional,
9025					add
9026				);
9027			}
9028		} );
9029
9030	} else if ( !traditional && toType( obj ) === "object" ) {
9031
9032		// Serialize object item.
9033		for ( name in obj ) {
9034			buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
9035		}
9036
9037	} else {
9038
9039		// Serialize scalar item.
9040		add( prefix, obj );
9041	}
9042}
9043
9044// Serialize an array of form elements or a set of
9045// key/values into a query string
9046jQuery.param = function( a, traditional ) {
9047	var prefix,
9048		s = [],
9049		add = function( key, valueOrFunction ) {
9050
9051			// If value is a function, invoke it and use its return value
9052			var value = isFunction( valueOrFunction ) ?
9053				valueOrFunction() :
9054				valueOrFunction;
9055
9056			s[ s.length ] = encodeURIComponent( key ) + "=" +
9057				encodeURIComponent( value == null ? "" : value );
9058		};
9059
9060	if ( a == null ) {
9061		return "";
9062	}
9063
9064	// If an array was passed in, assume that it is an array of form elements.
9065	if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
9066
9067		// Serialize the form elements
9068		jQuery.each( a, function() {
9069			add( this.name, this.value );
9070		} );
9071
9072	} else {
9073
9074		// If traditional, encode the "old" way (the way 1.3.2 or older
9075		// did it), otherwise encode params recursively.
9076		for ( prefix in a ) {
9077			buildParams( prefix, a[ prefix ], traditional, add );
9078		}
9079	}
9080
9081	// Return the resulting serialization
9082	return s.join( "&" );
9083};
9084
9085jQuery.fn.extend( {
9086	serialize: function() {
9087		return jQuery.param( this.serializeArray() );
9088	},
9089	serializeArray: function() {
9090		return this.map( function() {
9091
9092			// Can add propHook for "elements" to filter or add form elements
9093			var elements = jQuery.prop( this, "elements" );
9094			return elements ? jQuery.makeArray( elements ) : this;
9095		} ).filter( function() {
9096			var type = this.type;
9097
vendor: 32,437 bytes, lines 9098-10351
9098			// Use .is( ":disabled" ) so that fieldset[disabled] works
9099			return this.name && !jQuery( this ).is( ":disabled" ) &&
9100				rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
9101				( this.checked || !rcheckableType.test( type ) );
9102		} ).map( function( _i, elem ) {
9103			var val = jQuery( this ).val();
9104
9105			if ( val == null ) {
9106				return null;
9107			}
9108
9109			if ( Array.isArray( val ) ) {
9110				return jQuery.map( val, function( val ) {
9111					return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
9112				} );
9113			}
9114
9115			return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
9116		} ).get();
9117	}
9118} );
9119
9120
9121var
9122	r20 = /%20/g,
9123	rhash = /#.*$/,
9124	rantiCache = /([?&])_=[^&]*/,
9125	rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
9126
9127	// trac-7653, trac-8125, trac-8152: local protocol detection
9128	rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
9129	rnoContent = /^(?:GET|HEAD)$/,
9130	rprotocol = /^\/\//,
9131
9132	/* Prefilters
9133	 * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
9134	 * 2) These are called:
9135	 *    - BEFORE asking for a transport
9136	 *    - AFTER param serialization (s.data is a string if s.processData is true)
9137	 * 3) key is the dataType
9138	 * 4) the catchall symbol "*" can be used
9139	 * 5) execution will start with transport dataType and THEN continue down to "*" if needed
9140	 */
9141	prefilters = {},
9142
9143	/* Transports bindings
9144	 * 1) key is the dataType
9145	 * 2) the catchall symbol "*" can be used
9146	 * 3) selection will start with transport dataType and THEN go to "*" if needed
9147	 */
9148	transports = {},
9149
9150	// Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression
9151	allTypes = "*/".concat( "*" ),
9152
9153	// Anchor tag for parsing the document origin
9154	originAnchor = document.createElement( "a" );
9155
9156originAnchor.href = location.href;
9157
9158// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
9159function addToPrefiltersOrTransports( structure ) {
9160
9161	// dataTypeExpression is optional and defaults to "*"
9162	return function( dataTypeExpression, func ) {
9163
9164		if ( typeof dataTypeExpression !== "string" ) {
9165			func = dataTypeExpression;
9166			dataTypeExpression = "*";
9167		}
9168
9169		var dataType,
9170			i = 0,
9171			dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];
9172
9173		if ( isFunction( func ) ) {
9174
9175			// For each dataType in the dataTypeExpression
9176			while ( ( dataType = dataTypes[ i++ ] ) ) {
9177
9178				// Prepend if requested
9179				if ( dataType[ 0 ] === "+" ) {
9180					dataType = dataType.slice( 1 ) || "*";
9181					( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );
9182
9183				// Otherwise append
9184				} else {
9185					( structure[ dataType ] = structure[ dataType ] || [] ).push( func );
9186				}
9187			}
9188		}
9189	};
9190}
9191
9192// Base inspection function for prefilters and transports
9193function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {
9194
9195	var inspected = {},
9196		seekingTransport = ( structure === transports );
9197
9198	function inspect( dataType ) {
9199		var selected;
9200		inspected[ dataType ] = true;
9201		jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
9202			var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
9203			if ( typeof dataTypeOrTransport === "string" &&
9204				!seekingTransport && !inspected[ dataTypeOrTransport ] ) {
9205
9206				options.dataTypes.unshift( dataTypeOrTransport );
9207				inspect( dataTypeOrTransport );
9208				return false;
9209			} else if ( seekingTransport ) {
9210				return !( selected = dataTypeOrTransport );
9211			}
9212		} );
9213		return selected;
9214	}
9215
9216	return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );
9217}
9218
9219// A special extend for ajax options
9220// that takes "flat" options (not to be deep extended)
9221// Fixes trac-9887
9222function ajaxExtend( target, src ) {
9223	var key, deep,
9224		flatOptions = jQuery.ajaxSettings.flatOptions || {};
9225
9226	for ( key in src ) {
9227		if ( src[ key ] !== undefined ) {
9228			( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
9229		}
9230	}
9231	if ( deep ) {
9232		jQuery.extend( true, target, deep );
9233	}
9234
9235	return target;
9236}
9237
9238/* Handles responses to an ajax request:
9239 * - finds the right dataType (mediates between content-type and expected dataType)
9240 * - returns the corresponding response
9241 */
9242function ajaxHandleResponses( s, jqXHR, responses ) {
9243
9244	var ct, type, finalDataType, firstDataType,
9245		contents = s.contents,
9246		dataTypes = s.dataTypes;
9247
9248	// Remove auto dataType and get content-type in the process
9249	while ( dataTypes[ 0 ] === "*" ) {
9250		dataTypes.shift();
9251		if ( ct === undefined ) {
9252			ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" );
9253		}
9254	}
9255
9256	// Check if we're dealing with a known content-type
9257	if ( ct ) {
9258		for ( type in contents ) {
9259			if ( contents[ type ] && contents[ type ].test( ct ) ) {
9260				dataTypes.unshift( type );
9261				break;
9262			}
9263		}
9264	}
9265
9266	// Check to see if we have a response for the expected dataType
9267	if ( dataTypes[ 0 ] in responses ) {
9268		finalDataType = dataTypes[ 0 ];
9269	} else {
9270
9271		// Try convertible dataTypes
9272		for ( type in responses ) {
9273			if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) {
9274				finalDataType = type;
9275				break;
9276			}
9277			if ( !firstDataType ) {
9278				firstDataType = type;
9279			}
9280		}
9281
9282		// Or just use first one
9283		finalDataType = finalDataType || firstDataType;
9284	}
9285
9286	// If we found a dataType
9287	// We add the dataType to the list if needed
9288	// and return the corresponding response
9289	if ( finalDataType ) {
9290		if ( finalDataType !== dataTypes[ 0 ] ) {
9291			dataTypes.unshift( finalDataType );
9292		}
9293		return responses[ finalDataType ];
9294	}
9295}
9296
9297/* Chain conversions given the request and the original response
9298 * Also sets the responseXXX fields on the jqXHR instance
9299 */
9300function ajaxConvert( s, response, jqXHR, isSuccess ) {
9301	var conv2, current, conv, tmp, prev,
9302		converters = {},
9303
9304		// Work with a copy of dataTypes in case we need to modify it for conversion
9305		dataTypes = s.dataTypes.slice();
9306
9307	// Create converters map with lowercased keys
9308	if ( dataTypes[ 1 ] ) {
9309		for ( conv in s.converters ) {
9310			converters[ conv.toLowerCase() ] = s.converters[ conv ];
9311		}
9312	}
9313
9314	current = dataTypes.shift();
9315
9316	// Convert to each sequential dataType
9317	while ( current ) {
9318
9319		if ( s.responseFields[ current ] ) {
9320			jqXHR[ s.responseFields[ current ] ] = response;
9321		}
9322
9323		// Apply the dataFilter if provided
9324		if ( !prev && isSuccess && s.dataFilter ) {
9325			response = s.dataFilter( response, s.dataType );
9326		}
9327
9328		prev = current;
9329		current = dataTypes.shift();
9330
9331		if ( current ) {
9332
9333			// There's only work to do if current dataType is non-auto
9334			if ( current === "*" ) {
9335
9336				current = prev;
9337
9338			// Convert response if prev dataType is non-auto and differs from current
9339			} else if ( prev !== "*" && prev !== current ) {
9340
9341				// Seek a direct converter
9342				conv = converters[ prev + " " + current ] || converters[ "* " + current ];
9343
9344				// If none found, seek a pair
9345				if ( !conv ) {
9346					for ( conv2 in converters ) {
9347
9348						// If conv2 outputs current
9349						tmp = conv2.split( " " );
9350						if ( tmp[ 1 ] === current ) {
9351
9352							// If prev can be converted to accepted input
9353							conv = converters[ prev + " " + tmp[ 0 ] ] ||
9354								converters[ "* " + tmp[ 0 ] ];
9355							if ( conv ) {
9356
9357								// Condense equivalence converters
9358								if ( conv === true ) {
9359									conv = converters[ conv2 ];
9360
9361								// Otherwise, insert the intermediate dataType
9362								} else if ( converters[ conv2 ] !== true ) {
9363									current = tmp[ 0 ];
9364									dataTypes.unshift( tmp[ 1 ] );
9365								}
9366								break;
9367							}
9368						}
9369					}
9370				}
9371
9372				// Apply converter (if not an equivalence)
9373				if ( conv !== true ) {
9374
9375					// Unless errors are allowed to bubble, catch and return them
9376					if ( conv && s.throws ) {
9377						response = conv( response );
9378					} else {
9379						try {
9380							response = conv( response );
9381						} catch ( e ) {
9382							return {
9383								state: "parsererror",
9384								error: conv ? e : "No conversion from " + prev + " to " + current
9385							};
9386						}
9387					}
9388				}
9389			}
9390		}
9391	}
9392
9393	return { state: "success", data: response };
9394}
9395
9396jQuery.extend( {
9397
9398	// Counter for holding the number of active queries
9399	active: 0,
9400
9401	// Last-Modified header cache for next request
9402	lastModified: {},
9403	etag: {},
9404
9405	ajaxSettings: {
9406		url: location.href,
9407		type: "GET",
9408		isLocal: rlocalProtocol.test( location.protocol ),
9409		global: true,
9410		processData: true,
9411		async: true,
9412		contentType: "application/x-www-form-urlencoded; charset=UTF-8",
9413
9414		/*
9415		timeout: 0,
9416		data: null,
9417		dataType: null,
9418		username: null,
9419		password: null,
9420		cache: null,
9421		throws: false,
9422		traditional: false,
9423		headers: {},
9424		*/
9425
9426		accepts: {
9427			"*": allTypes,
9428			text: "text/plain",
9429			html: "text/html",
9430			xml: "application/xml, text/xml",
9431			json: "application/json, text/javascript"
9432		},
9433
9434		contents: {
9435			xml: /\bxml\b/,
9436			html: /\bhtml/,
9437			json: /\bjson\b/
9438		},
9439
9440		responseFields: {
9441			xml: "responseXML",
9442			text: "responseText",
9443			json: "responseJSON"
9444		},
9445
9446		// Data converters
9447		// Keys separate source (or catchall "*") and destination types with a single space
9448		converters: {
9449
9450			// Convert anything to text
9451			"* text": String,
9452
9453			// Text to html (true = no transformation)
9454			"text html": true,
9455
9456			// Evaluate text as a json expression
9457			"text json": JSON.parse,
9458
9459			// Parse text as xml
9460			"text xml": jQuery.parseXML
9461		},
9462
9463		// For options that shouldn't be deep extended:
9464		// you can add your own custom options here if
9465		// and when you create one that shouldn't be
9466		// deep extended (see ajaxExtend)
9467		flatOptions: {
9468			url: true,
9469			context: true
9470		}
9471	},
9472
9473	// Creates a full fledged settings object into target
9474	// with both ajaxSettings and settings fields.
9475	// If target is omitted, writes into ajaxSettings.
9476	ajaxSetup: function( target, settings ) {
9477		return settings ?
9478
9479			// Building a settings object
9480			ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :
9481
9482			// Extending ajaxSettings
9483			ajaxExtend( jQuery.ajaxSettings, target );
9484	},
9485
9486	ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
9487	ajaxTransport: addToPrefiltersOrTransports( transports ),
9488
9489	// Main method
9490	ajax: function( url, options ) {
9491
9492		// If url is an object, simulate pre-1.5 signature
9493		if ( typeof url === "object" ) {
9494			options = url;
9495			url = undefined;
9496		}
9497
9498		// Force options to be an object
9499		options = options || {};
9500
9501		var transport,
9502
9503			// URL without anti-cache param
9504			cacheURL,
9505
9506			// Response headers
9507			responseHeadersString,
9508			responseHeaders,
9509
9510			// timeout handle
9511			timeoutTimer,
9512
9513			// Url cleanup var
9514			urlAnchor,
9515
9516			// Request state (becomes false upon send and true upon completion)
9517			completed,
9518
9519			// To know if global events are to be dispatched
9520			fireGlobals,
9521
9522			// Loop variable
9523			i,
9524
9525			// uncached part of the url
9526			uncached,
9527
9528			// Create the final options object
9529			s = jQuery.ajaxSetup( {}, options ),
9530
9531			// Callbacks context
9532			callbackContext = s.context || s,
9533
9534			// Context for global events is callbackContext if it is a DOM node or jQuery collection
9535			globalEventContext = s.context &&
9536				( callbackContext.nodeType || callbackContext.jquery ) ?
9537				jQuery( callbackContext ) :
9538				jQuery.event,
9539
9540			// Deferreds
9541			deferred = jQuery.Deferred(),
9542			completeDeferred = jQuery.Callbacks( "once memory" ),
9543
9544			// Status-dependent callbacks
9545			statusCode = s.statusCode || {},
9546
9547			// Headers (they are sent all at once)
9548			requestHeaders = {},
9549			requestHeadersNames = {},
9550
9551			// Default abort message
9552			strAbort = "canceled",
9553
9554			// Fake xhr
9555			jqXHR = {
9556				readyState: 0,
9557
9558				// Builds headers hashtable if needed
9559				getResponseHeader: function( key ) {
9560					var match;
9561					if ( completed ) {
9562						if ( !responseHeaders ) {
9563							responseHeaders = {};
9564							while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
9565								responseHeaders[ match[ 1 ].toLowerCase() + " " ] =
9566									( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] )
9567										.concat( match[ 2 ] );
9568							}
9569						}
9570						match = responseHeaders[ key.toLowerCase() + " " ];
9571					}
9572					return match == null ? null : match.join( ", " );
9573				},
9574
9575				// Raw string
9576				getAllResponseHeaders: function() {
9577					return completed ? responseHeadersString : null;
9578				},
9579
9580				// Caches the header
9581				setRequestHeader: function( name, value ) {
9582					if ( completed == null ) {
9583						name = requestHeadersNames[ name.toLowerCase() ] =
9584							requestHeadersNames[ name.toLowerCase() ] || name;
9585						requestHeaders[ name ] = value;
9586					}
9587					return this;
9588				},
9589
9590				// Overrides response content-type header
9591				overrideMimeType: function( type ) {
9592					if ( completed == null ) {
9593						s.mimeType = type;
9594					}
9595					return this;
9596				},
9597
9598				// Status-dependent callbacks
9599				statusCode: function( map ) {
9600					var code;
9601					if ( map ) {
9602						if ( completed ) {
9603
9604							// Execute the appropriate callbacks
9605							jqXHR.always( map[ jqXHR.status ] );
9606						} else {
9607
9608							// Lazy-add the new callbacks in a way that preserves old ones
9609							for ( code in map ) {
9610								statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
9611							}
9612						}
9613					}
9614					return this;
9615				},
9616
9617				// Cancel the request
9618				abort: function( statusText ) {
9619					var finalText = statusText || strAbort;
9620					if ( transport ) {
9621						transport.abort( finalText );
9622					}
9623					done( 0, finalText );
9624					return this;
9625				}
9626			};
9627
9628		// Attach deferreds
9629		deferred.promise( jqXHR );
9630
9631		// Add protocol if not provided (prefilters might expect it)
9632		// Handle falsy url in the settings object (trac-10093: consistency with old signature)
9633		// We also use the url parameter if available
9634		s.url = ( ( url || s.url || location.href ) + "" )
9635			.replace( rprotocol, location.protocol + "//" );
9636
9637		// Alias method option to type as per ticket trac-12004
9638		s.type = options.method || options.type || s.method || s.type;
9639
9640		// Extract dataTypes list
9641		s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ];
9642
9643		// A cross-domain request is in order when the origin doesn't match the current origin.
9644		if ( s.crossDomain == null ) {
9645			urlAnchor = document.createElement( "a" );
9646
9647			// Support: IE <=8 - 11, Edge 12 - 15
9648			// IE throws exception on accessing the href property if url is malformed,
9649			// e.g. http://example.com:80x/
9650			try {
9651				urlAnchor.href = s.url;
9652
9653				// Support: IE <=8 - 11 only
9654				// Anchor's host property isn't correctly set when s.url is relative
9655				urlAnchor.href = urlAnchor.href;
9656				s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !==
9657					urlAnchor.protocol + "//" + urlAnchor.host;
9658			} catch ( e ) {
9659
9660				// If there is an error parsing the URL, assume it is crossDomain,
9661				// it can be rejected by the transport if it is invalid
9662				s.crossDomain = true;
9663			}
9664		}
9665
9666		// Convert data if not already a string
9667		if ( s.data && s.processData && typeof s.data !== "string" ) {
9668			s.data = jQuery.param( s.data, s.traditional );
9669		}
9670
9671		// Apply prefilters
9672		inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
9673
9674		// If request was aborted inside a prefilter, stop there
9675		if ( completed ) {
9676			return jqXHR;
9677		}
9678
9679		// We can fire global events as of now if asked to
9680		// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118)
9681		fireGlobals = jQuery.event && s.global;
9682
9683		// Watch for a new set of requests
9684		if ( fireGlobals && jQuery.active++ === 0 ) {
9685			jQuery.event.trigger( "ajaxStart" );
9686		}
9687
9688		// Uppercase the type
9689		s.type = s.type.toUpperCase();
9690
9691		// Determine if request has content
9692		s.hasContent = !rnoContent.test( s.type );
9693
9694		// Save the URL in case we're toying with the If-Modified-Since
9695		// and/or If-None-Match header later on
9696		// Remove hash to simplify url manipulation
9697		cacheURL = s.url.replace( rhash, "" );
9698
9699		// More options handling for requests with no content
9700		if ( !s.hasContent ) {
9701
9702			// Remember the hash so we can put it back
9703			uncached = s.url.slice( cacheURL.length );
9704
9705			// If data is available and should be processed, append data to url
9706			if ( s.data && ( s.processData || typeof s.data === "string" ) ) {
9707				cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
9708
9709				// trac-9682: remove data so that it's not used in an eventual retry
9710				delete s.data;
9711			}
9712
9713			// Add or update anti-cache param if needed
9714			if ( s.cache === false ) {
9715				cacheURL = cacheURL.replace( rantiCache, "$1" );
9716				uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) +
9717					uncached;
9718			}
9719
9720			// Put hash and anti-cache on the URL that will be requested (gh-1732)
9721			s.url = cacheURL + uncached;
9722
9723		// Change '%20' to '+' if this is encoded form body content (gh-2658)
9724		} else if ( s.data && s.processData &&
9725			( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) {
9726			s.data = s.data.replace( r20, "+" );
9727		}
9728
9729		// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
9730		if ( s.ifModified ) {
9731			if ( jQuery.lastModified[ cacheURL ] ) {
9732				jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );
9733			}
9734			if ( jQuery.etag[ cacheURL ] ) {
9735				jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );
9736			}
9737		}
9738
9739		// Set the correct header, if data is being sent
9740		if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
9741			jqXHR.setRequestHeader( "Content-Type", s.contentType );
9742		}
9743
9744		// Set the Accepts header for the server, depending on the dataType
9745		jqXHR.setRequestHeader(
9746			"Accept",
9747			s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?
9748				s.accepts[ s.dataTypes[ 0 ] ] +
9749					( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
9750				s.accepts[ "*" ]
9751		);
9752
9753		// Check for headers option
9754		for ( i in s.headers ) {
9755			jqXHR.setRequestHeader( i, s.headers[ i ] );
9756		}
9757
9758		// Allow custom headers/mimetypes and early abort
9759		if ( s.beforeSend &&
9760			( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {
9761
9762			// Abort if not done already and return
9763			return jqXHR.abort();
9764		}
9765
9766		// Aborting is no longer a cancellation
9767		strAbort = "abort";
9768
9769		// Install callbacks on deferreds
9770		completeDeferred.add( s.complete );
9771		jqXHR.done( s.success );
9772		jqXHR.fail( s.error );
9773
9774		// Get transport
9775		transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
9776
9777		// If no transport, we auto-abort
9778		if ( !transport ) {
9779			done( -1, "No Transport" );
9780		} else {
9781			jqXHR.readyState = 1;
9782
9783			// Send global event
9784			if ( fireGlobals ) {
9785				globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
9786			}
9787
9788			// If request was aborted inside ajaxSend, stop there
9789			if ( completed ) {
9790				return jqXHR;
9791			}
9792
9793			// Timeout
9794			if ( s.async && s.timeout > 0 ) {
9795				timeoutTimer = window.setTimeout( function() {
9796					jqXHR.abort( "timeout" );
9797				}, s.timeout );
9798			}
9799
9800			try {
9801				completed = false;
9802				transport.send( requestHeaders, done );
9803			} catch ( e ) {
9804
9805				// Rethrow post-completion exceptions
9806				if ( completed ) {
9807					throw e;
9808				}
9809
9810				// Propagate others as results
9811				done( -1, e );
9812			}
9813		}
9814
9815		// Callback for when everything is done
9816		function done( status, nativeStatusText, responses, headers ) {
9817			var isSuccess, success, error, response, modified,
9818				statusText = nativeStatusText;
9819
9820			// Ignore repeat invocations
9821			if ( completed ) {
9822				return;
9823			}
9824
9825			completed = true;
9826
9827			// Clear timeout if it exists
9828			if ( timeoutTimer ) {
9829				window.clearTimeout( timeoutTimer );
9830			}
9831
9832			// Dereference transport for early garbage collection
9833			// (no matter how long the jqXHR object will be used)
9834			transport = undefined;
9835
9836			// Cache response headers
9837			responseHeadersString = headers || "";
9838
9839			// Set readyState
9840			jqXHR.readyState = status > 0 ? 4 : 0;
9841
9842			// Determine if successful
9843			isSuccess = status >= 200 && status < 300 || status === 304;
9844
9845			// Get response data
9846			if ( responses ) {
9847				response = ajaxHandleResponses( s, jqXHR, responses );
9848			}
9849
9850			// Use a noop converter for missing script but not if jsonp
9851			if ( !isSuccess &&
9852				jQuery.inArray( "script", s.dataTypes ) > -1 &&
9853				jQuery.inArray( "json", s.dataTypes ) < 0 ) {
9854				s.converters[ "text script" ] = function() {};
9855			}
9856
9857			// Convert no matter what (that way responseXXX fields are always set)
9858			response = ajaxConvert( s, response, jqXHR, isSuccess );
9859
9860			// If successful, handle type chaining
9861			if ( isSuccess ) {
9862
9863				// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
9864				if ( s.ifModified ) {
9865					modified = jqXHR.getResponseHeader( "Last-Modified" );
9866					if ( modified ) {
9867						jQuery.lastModified[ cacheURL ] = modified;
9868					}
9869					modified = jqXHR.getResponseHeader( "etag" );
9870					if ( modified ) {
9871						jQuery.etag[ cacheURL ] = modified;
9872					}
9873				}
9874
9875				// if no content
9876				if ( status === 204 || s.type === "HEAD" ) {
9877					statusText = "nocontent";
9878
9879				// if not modified
9880				} else if ( status === 304 ) {
9881					statusText = "notmodified";
9882
9883				// If we have data, let's convert it
9884				} else {
9885					statusText = response.state;
9886					success = response.data;
9887					error = response.error;
9888					isSuccess = !error;
9889				}
9890			} else {
9891
9892				// Extract error from statusText and normalize for non-aborts
9893				error = statusText;
9894				if ( status || !statusText ) {
9895					statusText = "error";
9896					if ( status < 0 ) {
9897						status = 0;
9898					}
9899				}
9900			}
9901
9902			// Set data for the fake xhr object
9903			jqXHR.status = status;
9904			jqXHR.statusText = ( nativeStatusText || statusText ) + "";
9905
9906			// Success/Error
9907			if ( isSuccess ) {
9908				deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
9909			} else {
9910				deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
9911			}
9912
9913			// Status-dependent callbacks
9914			jqXHR.statusCode( statusCode );
9915			statusCode = undefined;
9916
9917			if ( fireGlobals ) {
9918				globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
9919					[ jqXHR, s, isSuccess ? success : error ] );
9920			}
9921
9922			// Complete
9923			completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
9924
9925			if ( fireGlobals ) {
9926				globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
9927
9928				// Handle the global AJAX counter
9929				if ( !( --jQuery.active ) ) {
9930					jQuery.event.trigger( "ajaxStop" );
9931				}
9932			}
9933		}
9934
9935		return jqXHR;
9936	},
9937
9938	getJSON: function( url, data, callback ) {
9939		return jQuery.get( url, data, callback, "json" );
9940	},
9941
9942	getScript: function( url, callback ) {
9943		return jQuery.get( url, undefined, callback, "script" );
9944	}
9945} );
9946
9947jQuery.each( [ "get", "post" ], function( _i, method ) {
9948	jQuery[ method ] = function( url, data, callback, type ) {
9949
9950		// Shift arguments if data argument was omitted
9951		if ( isFunction( data ) ) {
9952			type = type || callback;
9953			callback = data;
9954			data = undefined;
9955		}
9956
9957		// The url can be an options object (which then must have .url)
9958		return jQuery.ajax( jQuery.extend( {
9959			url: url,
9960			type: method,
9961			dataType: type,
9962			data: data,
9963			success: callback
9964		}, jQuery.isPlainObject( url ) && url ) );
9965	};
9966} );
9967
9968jQuery.ajaxPrefilter( function( s ) {
9969	var i;
9970	for ( i in s.headers ) {
9971		if ( i.toLowerCase() === "content-type" ) {
9972			s.contentType = s.headers[ i ] || "";
9973		}
9974	}
9975} );
9976
9977
9978jQuery._evalUrl = function( url, options, doc ) {
9979	return jQuery.ajax( {
9980		url: url,
9981
9982		// Make this explicit, since user can override this through ajaxSetup (trac-11264)
9983		type: "GET",
9984		dataType: "script",
9985		cache: true,
9986		async: false,
9987		global: false,
9988
9989		// Only evaluate the response if it is successful (gh-4126)
9990		// dataFilter is not invoked for failure responses, so using it instead
9991		// of the default converter is kludgy but it works.
9992		converters: {
9993			"text script": function() {}
9994		},
9995		dataFilter: function( response ) {
9996			jQuery.globalEval( response, options, doc );
9997		}
9998	} );
9999};
10000
10001
10002jQuery.fn.extend( {
10003	wrapAll: function( html ) {
10004		var wrap;
10005
10006		if ( this[ 0 ] ) {
10007			if ( isFunction( html ) ) {
10008				html = html.call( this[ 0 ] );
10009			}
10010
10011			// The elements to wrap the target around
10012			wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
10013
10014			if ( this[ 0 ].parentNode ) {
10015				wrap.insertBefore( this[ 0 ] );
10016			}
10017
10018			wrap.map( function() {
10019				var elem = this;
10020
10021				while ( elem.firstElementChild ) {
10022					elem = elem.firstElementChild;
10023				}
10024
10025				return elem;
10026			} ).append( this );
10027		}
10028
10029		return this;
10030	},
10031
10032	wrapInner: function( html ) {
10033		if ( isFunction( html ) ) {
10034			return this.each( function( i ) {
10035				jQuery( this ).wrapInner( html.call( this, i ) );
10036			} );
10037		}
10038
10039		return this.each( function() {
10040			var self = jQuery( this ),
10041				contents = self.contents();
10042
10043			if ( contents.length ) {
10044				contents.wrapAll( html );
10045
10046			} else {
10047				self.append( html );
10048			}
10049		} );
10050	},
10051
10052	wrap: function( html ) {
10053		var htmlIsFunction = isFunction( html );
10054
10055		return this.each( function( i ) {
10056			jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );
10057		} );
10058	},
10059
10060	unwrap: function( selector ) {
10061		this.parent( selector ).not( "body" ).each( function() {
10062			jQuery( this ).replaceWith( this.childNodes );
10063		} );
10064		return this;
10065	}
10066} );
10067
10068
10069jQuery.expr.pseudos.hidden = function( elem ) {
10070	return !jQuery.expr.pseudos.visible( elem );
10071};
10072jQuery.expr.pseudos.visible = function( elem ) {
10073	return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );
10074};
10075
10076
10077
10078
10079jQuery.ajaxSettings.xhr = function() {
10080	try {
10081		return new window.XMLHttpRequest();
10082	} catch ( e ) {}
10083};
10084
10085var xhrSuccessStatus = {
10086
10087		// File protocol always yields status code 0, assume 200
10088		0: 200,
10089
10090		// Support: IE <=9 only
10091		// trac-1450: sometimes IE returns 1223 when it should be 204
10092		1223: 204
10093	},
10094	xhrSupported = jQuery.ajaxSettings.xhr();
10095
10096support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
10097support.ajax = xhrSupported = !!xhrSupported;
10098
10099jQuery.ajaxTransport( function( options ) {
10100	var callback, errorCallback;
10101
10102	// Cross domain only allowed if supported through XMLHttpRequest
10103	if ( support.cors || xhrSupported && !options.crossDomain ) {
10104		return {
10105			send: function( headers, complete ) {
10106				var i,
10107					xhr = options.xhr();
10108
10109				xhr.open(
10110					options.type,
10111					options.url,
10112					options.async,
10113					options.username,
10114					options.password
10115				);
10116
10117				// Apply custom fields if provided
10118				if ( options.xhrFields ) {
10119					for ( i in options.xhrFields ) {
10120						xhr[ i ] = options.xhrFields[ i ];
10121					}
10122				}
10123
10124				// Override mime type if needed
10125				if ( options.mimeType && xhr.overrideMimeType ) {
10126					xhr.overrideMimeType( options.mimeType );
10127				}
10128
10129				// X-Requested-With header
10130				// For cross-domain requests, seeing as conditions for a preflight are
10131				// akin to a jigsaw puzzle, we simply never set it to be sure.
10132				// (it can always be set on a per-request basis or even using ajaxSetup)
10133				// For same-domain requests, won't change header if already provided.
10134				if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) {
10135					headers[ "X-Requested-With" ] = "XMLHttpRequest";
10136				}
10137
10138				// Set headers
10139				for ( i in headers ) {
10140					xhr.setRequestHeader( i, headers[ i ] );
10141				}
10142
10143				// Callback
10144				callback = function( type ) {
10145					return function() {
10146						if ( callback ) {
10147							callback = errorCallback = xhr.onload =
10148								xhr.onerror = xhr.onabort = xhr.ontimeout =
10149									xhr.onreadystatechange = null;
10150
10151							if ( type === "abort" ) {
10152								xhr.abort();
10153							} else if ( type === "error" ) {
10154
10155								// Support: IE <=9 only
10156								// On a manual native abort, IE9 throws
10157								// errors on any property access that is not readyState
10158								if ( typeof xhr.status !== "number" ) {
10159									complete( 0, "error" );
10160								} else {
10161									complete(
10162
10163										// File: protocol always yields status 0; see trac-8605, trac-14207
10164										xhr.status,
10165										xhr.statusText
10166									);
10167								}
10168							} else {
10169								complete(
10170									xhrSuccessStatus[ xhr.status ] || xhr.status,
10171									xhr.statusText,
10172
10173									// Support: IE <=9 only
10174									// IE9 has no XHR2 but throws on binary (trac-11426)
10175									// For XHR2 non-text, let the caller handle it (gh-2498)
10176									( xhr.responseType || "text" ) !== "text"  ||
10177									typeof xhr.responseText !== "string" ?
10178										{ binary: xhr.response } :
10179										{ text: xhr.responseText },
10180									xhr.getAllResponseHeaders()
10181								);
10182							}
10183						}
10184					};
10185				};
10186
10187				// Listen to events
10188				xhr.onload = callback();
10189				errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" );
10190
10191				// Support: IE 9 only
10192				// Use onreadystatechange to replace onabort
10193				// to handle uncaught aborts
10194				if ( xhr.onabort !== undefined ) {
10195					xhr.onabort = errorCallback;
10196				} else {
10197					xhr.onreadystatechange = function() {
10198
10199						// Check readyState before timeout as it changes
10200						if ( xhr.readyState === 4 ) {
10201
10202							// Allow onerror to be called first,
10203							// but that will not handle a native abort
10204							// Also, save errorCallback to a variable
10205							// as xhr.onerror cannot be accessed
10206							window.setTimeout( function() {
10207								if ( callback ) {
10208									errorCallback();
10209								}
10210							} );
10211						}
10212					};
10213				}
10214
10215				// Create the abort callback
10216				callback = callback( "abort" );
10217
10218				try {
10219
10220					// Do send the request (this may raise an exception)
10221					xhr.send( options.hasContent && options.data || null );
10222				} catch ( e ) {
10223
10224					// trac-14683: Only rethrow if this hasn't been notified as an error yet
10225					if ( callback ) {
10226						throw e;
10227					}
10228				}
10229			},
10230
10231			abort: function() {
10232				if ( callback ) {
10233					callback();
10234				}
10235			}
10236		};
10237	}
10238} );
10239
10240
10241
10242
10243// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)
10244jQuery.ajaxPrefilter( function( s ) {
10245	if ( s.crossDomain ) {
10246		s.contents.script = false;
10247	}
10248} );
10249
10250// Install script dataType
10251jQuery.ajaxSetup( {
10252	accepts: {
10253		script: "text/javascript, application/javascript, " +
10254			"application/ecmascript, application/x-ecmascript"
10255	},
10256	contents: {
10257		script: /\b(?:java|ecma)script\b/
10258	},
10259	converters: {
10260		"text script": function( text ) {
10261			jQuery.globalEval( text );
10262			return text;
10263		}
10264	}
10265} );
10266
10267// Handle cache's special case and crossDomain
10268jQuery.ajaxPrefilter( "script", function( s ) {
10269	if ( s.cache === undefined ) {
10270		s.cache = false;
10271	}
10272	if ( s.crossDomain ) {
10273		s.type = "GET";
10274	}
10275} );
10276
10277// Bind script tag hack transport
10278jQuery.ajaxTransport( "script", function( s ) {
10279
10280	// This transport only deals with cross domain or forced-by-attrs requests
10281	if ( s.crossDomain || s.scriptAttrs ) {
10282		var script, callback;
10283		return {
10284			send: function( _, complete ) {
10285				script = jQuery( "<script>" )
10286					.attr( s.scriptAttrs || {} )
10287					.prop( { charset: s.scriptCharset, src: s.url } )
10288					.on( "load error", callback = function( evt ) {
10289						script.remove();
10290						callback = null;
10291						if ( evt ) {
10292							complete( evt.type === "error" ? 404 : 200, evt.type );
10293						}
10294					} );
10295
10296				// Use native DOM manipulation to avoid our domManip AJAX trickery
10297				document.head.appendChild( script[ 0 ] );
10298			},
10299			abort: function() {
10300				if ( callback ) {
10301					callback();
10302				}
10303			}
10304		};
10305	}
10306} );
10307
10308
10309
10310
10311var oldCallbacks = [],
10312	rjsonp = /(=)\?(?=&|$)|\?\?/;
10313
10314// Default jsonp settings
10315jQuery.ajaxSetup( {
10316	jsonp: "callback",
10317	jsonpCallback: function() {
10318		var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) );
10319		this[ callback ] = true;
10320		return callback;
10321	}
10322} );
10323
10324// Detect, normalize options and install callbacks for jsonp requests
10325jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
10326
10327	var callbackName, overwritten, responseContainer,
10328		jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
10329			"url" :
10330			typeof s.data === "string" &&
10331				( s.contentType || "" )
10332					.indexOf( "application/x-www-form-urlencoded" ) === 0 &&
10333				rjsonp.test( s.data ) && "data"
10334		);
10335
10336	// Handle iff the expected data type is "jsonp" or we have a parameter to set
10337	if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {
10338
10339		// Get callback name, remembering preexisting value associated with it
10340		callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ?
10341			s.jsonpCallback() :
10342			s.jsonpCallback;
10343
10344		// Insert callback into url or form data
10345		if ( jsonProp ) {
10346			s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
10347		} else if ( s.jsonp !== false ) {
10348			s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
10349		}
10350
10351		// Use data converter to retrieve json after script execution
vendor: 8,362 bytes, lines 10352-10663
10352		s.converters[ "script json" ] = function() {
10353			if ( !responseContainer ) {
10354				jQuery.error( callbackName + " was not called" );
10355			}
10356			return responseContainer[ 0 ];
10357		};
10358
10359		// Force json dataType
10360		s.dataTypes[ 0 ] = "json";
10361
10362		// Install callback
10363		overwritten = window[ callbackName ];
10364		window[ callbackName ] = function() {
10365			responseContainer = arguments;
10366		};
10367
10368		// Clean-up function (fires after converters)
10369		jqXHR.always( function() {
10370
10371			// If previous value didn't exist - remove it
10372			if ( overwritten === undefined ) {
10373				jQuery( window ).removeProp( callbackName );
10374
10375			// Otherwise restore preexisting value
10376			} else {
10377				window[ callbackName ] = overwritten;
10378			}
10379
10380			// Save back as free
10381			if ( s[ callbackName ] ) {
10382
10383				// Make sure that re-using the options doesn't screw things around
10384				s.jsonpCallback = originalSettings.jsonpCallback;
10385
10386				// Save the callback name for future use
10387				oldCallbacks.push( callbackName );
10388			}
10389
10390			// Call if it was a function and we have a response
10391			if ( responseContainer && isFunction( overwritten ) ) {
10392				overwritten( responseContainer[ 0 ] );
10393			}
10394
10395			responseContainer = overwritten = undefined;
10396		} );
10397
10398		// Delegate to script
10399		return "script";
10400	}
10401} );
10402
10403
10404
10405
10406// Support: Safari 8 only
10407// In Safari 8 documents created via document.implementation.createHTMLDocument
10408// collapse sibling forms: the second one becomes a child of the first one.
10409// Because of that, this security measure has to be disabled in Safari 8.
10410// https://bugs.webkit.org/show_bug.cgi?id=137337
10411support.createHTMLDocument = ( function() {
10412	var body = document.implementation.createHTMLDocument( "" ).body;
10413	body.innerHTML = "<form></form><form></form>";
10414	return body.childNodes.length === 2;
10415} )();
10416
10417
10418// Argument "data" should be string of html
10419// context (optional): If specified, the fragment will be created in this context,
10420// defaults to document
10421// keepScripts (optional): If true, will include scripts passed in the html string
10422jQuery.parseHTML = function( data, context, keepScripts ) {
10423	if ( typeof data !== "string" ) {
10424		return [];
10425	}
10426	if ( typeof context === "boolean" ) {
10427		keepScripts = context;
10428		context = false;
10429	}
10430
10431	var base, parsed, scripts;
10432
10433	if ( !context ) {
10434
10435		// Stop scripts or inline event handlers from being executed immediately
10436		// by using document.implementation
10437		if ( support.createHTMLDocument ) {
10438			context = document.implementation.createHTMLDocument( "" );
10439
10440			// Set the base href for the created document
10441			// so any parsed elements with URLs
10442			// are based on the document's URL (gh-2965)
10443			base = context.createElement( "base" );
10444			base.href = document.location.href;
10445			context.head.appendChild( base );
10446		} else {
10447			context = document;
10448		}
10449	}
10450
10451	parsed = rsingleTag.exec( data );
10452	scripts = !keepScripts && [];
10453
10454	// Single tag
10455	if ( parsed ) {
10456		return [ context.createElement( parsed[ 1 ] ) ];
10457	}
10458
10459	parsed = buildFragment( [ data ], context, scripts );
10460
10461	if ( scripts && scripts.length ) {
10462		jQuery( scripts ).remove();
10463	}
10464
10465	return jQuery.merge( [], parsed.childNodes );
10466};
10467
10468
10469/**
10470 * Load a url into a page
10471 */
10472jQuery.fn.load = function( url, params, callback ) {
10473	var selector, type, response,
10474		self = this,
10475		off = url.indexOf( " " );
10476
10477	if ( off > -1 ) {
10478		selector = stripAndCollapse( url.slice( off ) );
10479		url = url.slice( 0, off );
10480	}
10481
10482	// If it's a function
10483	if ( isFunction( params ) ) {
10484
10485		// We assume that it's the callback
10486		callback = params;
10487		params = undefined;
10488
10489	// Otherwise, build a param string
10490	} else if ( params && typeof params === "object" ) {
10491		type = "POST";
10492	}
10493
10494	// If we have elements to modify, make the request
10495	if ( self.length > 0 ) {
10496		jQuery.ajax( {
10497			url: url,
10498
10499			// If "type" variable is undefined, then "GET" method will be used.
10500			// Make value of this field explicit since
10501			// user can override it through ajaxSetup method
10502			type: type || "GET",
10503			dataType: "html",
10504			data: params
10505		} ).done( function( responseText ) {
10506
10507			// Save response for use in complete callback
10508			response = arguments;
10509
10510			self.html( selector ?
10511
10512				// If a selector was specified, locate the right elements in a dummy div
10513				// Exclude scripts to avoid IE 'Permission Denied' errors
10514				jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :
10515
10516				// Otherwise use the full result
10517				responseText );
10518
10519		// If the request succeeds, this function gets "data", "status", "jqXHR"
10520		// but they are ignored because response was set above.
10521		// If it fails, this function gets "jqXHR", "status", "error"
10522		} ).always( callback && function( jqXHR, status ) {
10523			self.each( function() {
10524				callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );
10525			} );
10526		} );
10527	}
10528
10529	return this;
10530};
10531
10532
10533
10534
10535jQuery.expr.pseudos.animated = function( elem ) {
10536	return jQuery.grep( jQuery.timers, function( fn ) {
10537		return elem === fn.elem;
10538	} ).length;
10539};
10540
10541
10542
10543
10544jQuery.offset = {
10545	setOffset: function( elem, options, i ) {
10546		var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
10547			position = jQuery.css( elem, "position" ),
10548			curElem = jQuery( elem ),
10549			props = {};
10550
10551		// Set position first, in-case top/left are set even on static elem
10552		if ( position === "static" ) {
10553			elem.style.position = "relative";
10554		}
10555
10556		curOffset = curElem.offset();
10557		curCSSTop = jQuery.css( elem, "top" );
10558		curCSSLeft = jQuery.css( elem, "left" );
10559		calculatePosition = ( position === "absolute" || position === "fixed" ) &&
10560			( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1;
10561
10562		// Need to be able to calculate position if either
10563		// top or left is auto and position is either absolute or fixed
10564		if ( calculatePosition ) {
10565			curPosition = curElem.position();
10566			curTop = curPosition.top;
10567			curLeft = curPosition.left;
10568
10569		} else {
10570			curTop = parseFloat( curCSSTop ) || 0;
10571			curLeft = parseFloat( curCSSLeft ) || 0;
10572		}
10573
10574		if ( isFunction( options ) ) {
10575
10576			// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
10577			options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
10578		}
10579
10580		if ( options.top != null ) {
10581			props.top = ( options.top - curOffset.top ) + curTop;
10582		}
10583		if ( options.left != null ) {
10584			props.left = ( options.left - curOffset.left ) + curLeft;
10585		}
10586
10587		if ( "using" in options ) {
10588			options.using.call( elem, props );
10589
10590		} else {
10591			curElem.css( props );
10592		}
10593	}
10594};
10595
10596jQuery.fn.extend( {
10597
10598	// offset() relates an element's border box to the document origin
10599	offset: function( options ) {
10600
10601		// Preserve chaining for setter
10602		if ( arguments.length ) {
10603			return options === undefined ?
10604				this :
10605				this.each( function( i ) {
10606					jQuery.offset.setOffset( this, options, i );
10607				} );
10608		}
10609
10610		var rect, win,
10611			elem = this[ 0 ];
10612
10613		if ( !elem ) {
10614			return;
10615		}
10616
10617		// Return zeros for disconnected and hidden (display: none) elements (gh-2310)
10618		// Support: IE <=11 only
10619		// Running getBoundingClientRect on a
10620		// disconnected node in IE throws an error
10621		if ( !elem.getClientRects().length ) {
10622			return { top: 0, left: 0 };
10623		}
10624
10625		// Get document-relative position by adding viewport scroll to viewport-relative gBCR
10626		rect = elem.getBoundingClientRect();
10627		win = elem.ownerDocument.defaultView;
10628		return {
10629			top: rect.top + win.pageYOffset,
10630			left: rect.left + win.pageXOffset
10631		};
10632	},
10633
10634	// position() relates an element's margin box to its offset parent's padding box
10635	// This corresponds to the behavior of CSS absolute positioning
10636	position: function() {
10637		if ( !this[ 0 ] ) {
10638			return;
10639		}
10640
10641		var offsetParent, offset, doc,
10642			elem = this[ 0 ],
10643			parentOffset = { top: 0, left: 0 };
10644
10645		// position:fixed elements are offset from the viewport, which itself always has zero offset
10646		if ( jQuery.css( elem, "position" ) === "fixed" ) {
10647
10648			// Assume position:fixed implies availability of getBoundingClientRect
10649			offset = elem.getBoundingClientRect();
10650
10651		} else {
10652			offset = this.offset();
10653
10654			// Account for the *real* offset parent, which can be the document or its root element
10655			// when a statically positioned element is identified
10656			doc = elem.ownerDocument;
10657			offsetParent = elem.offsetParent || doc.documentElement;
10658			while ( offsetParent &&
10659				( offsetParent === doc.body || offsetParent === doc.documentElement ) &&
10660				jQuery.css( offsetParent, "position" ) === "static" ) {
10661
10662				offsetParent = offsetParent.parentNode;
10663			}
vendor: 9,494 bytes, lines 10664-10995
10664			if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) {
10665
10666				// Incorporate borders into its offset, since they are outside its content origin
10667				parentOffset = jQuery( offsetParent ).offset();
10668				parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true );
10669				parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true );
10670			}
10671		}
10672
10673		// Subtract parent offsets and element margins
10674		return {
10675			top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
10676			left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )
10677		};
10678	},
10679
10680	// This method will return documentElement in the following cases:
10681	// 1) For the element inside the iframe without offsetParent, this method will return
10682	//    documentElement of the parent window
10683	// 2) For the hidden or detached element
10684	// 3) For body or html element, i.e. in case of the html node - it will return itself
10685	//
10686	// but those exceptions were never presented as a real life use-cases
10687	// and might be considered as more preferable results.
10688	//
10689	// This logic, however, is not guaranteed and can change at any point in the future
10690	offsetParent: function() {
10691		return this.map( function() {
10692			var offsetParent = this.offsetParent;
10693
10694			while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {
10695				offsetParent = offsetParent.offsetParent;
10696			}
10697
10698			return offsetParent || documentElement;
10699		} );
10700	}
10701} );
10702
10703// Create scrollLeft and scrollTop methods
10704jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
10705	var top = "pageYOffset" === prop;
10706
10707	jQuery.fn[ method ] = function( val ) {
10708		return access( this, function( elem, method, val ) {
10709
10710			// Coalesce documents and windows
10711			var win;
10712			if ( isWindow( elem ) ) {
10713				win = elem;
10714			} else if ( elem.nodeType === 9 ) {
10715				win = elem.defaultView;
10716			}
10717
10718			if ( val === undefined ) {
10719				return win ? win[ prop ] : elem[ method ];
10720			}
10721
10722			if ( win ) {
10723				win.scrollTo(
10724					!top ? val : win.pageXOffset,
10725					top ? val : win.pageYOffset
10726				);
10727
10728			} else {
10729				elem[ method ] = val;
10730			}
10731		}, method, val, arguments.length );
10732	};
10733} );
10734
10735// Support: Safari <=7 - 9.1, Chrome <=37 - 49
10736// Add the top/left cssHooks using jQuery.fn.position
10737// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
10738// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
10739// getComputedStyle returns percent when specified for top/left/bottom/right;
10740// rather than make the css module depend on the offset module, just check for it here
10741jQuery.each( [ "top", "left" ], function( _i, prop ) {
10742	jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
10743		function( elem, computed ) {
10744			if ( computed ) {
10745				computed = curCSS( elem, prop );
10746
10747				// If curCSS returns percentage, fallback to offset
10748				return rnumnonpx.test( computed ) ?
10749					jQuery( elem ).position()[ prop ] + "px" :
10750					computed;
10751			}
10752		}
10753	);
10754} );
10755
10756
10757// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
10758jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
10759	jQuery.each( {
10760		padding: "inner" + name,
10761		content: type,
10762		"": "outer" + name
10763	}, function( defaultExtra, funcName ) {
10764
10765		// Margin is only for outerHeight, outerWidth
10766		jQuery.fn[ funcName ] = function( margin, value ) {
10767			var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
10768				extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
10769
10770			return access( this, function( elem, type, value ) {
10771				var doc;
10772
10773				if ( isWindow( elem ) ) {
10774
10775					// $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
10776					return funcName.indexOf( "outer" ) === 0 ?
10777						elem[ "inner" + name ] :
10778						elem.document.documentElement[ "client" + name ];
10779				}
10780
10781				// Get document width or height
10782				if ( elem.nodeType === 9 ) {
10783					doc = elem.documentElement;
10784
10785					// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
10786					// whichever is greatest
10787					return Math.max(
10788						elem.body[ "scroll" + name ], doc[ "scroll" + name ],
10789						elem.body[ "offset" + name ], doc[ "offset" + name ],
10790						doc[ "client" + name ]
10791					);
10792				}
10793
10794				return value === undefined ?
10795
10796					// Get width or height on the element, requesting but not forcing parseFloat
10797					jQuery.css( elem, type, extra ) :
10798
10799					// Set width or height on the element
10800					jQuery.style( elem, type, value, extra );
10801			}, type, chainable ? margin : undefined, chainable );
10802		};
10803	} );
10804} );
10805
10806
10807jQuery.each( [
10808	"ajaxStart",
10809	"ajaxStop",
10810	"ajaxComplete",
10811	"ajaxError",
10812	"ajaxSuccess",
10813	"ajaxSend"
10814], function( _i, type ) {
10815	jQuery.fn[ type ] = function( fn ) {
10816		return this.on( type, fn );
10817	};
10818} );
10819
10820
10821
10822
10823jQuery.fn.extend( {
10824
10825	bind: function( types, data, fn ) {
10826		return this.on( types, null, data, fn );
10827	},
10828	unbind: function( types, fn ) {
10829		return this.off( types, null, fn );
10830	},
10831
10832	delegate: function( selector, types, data, fn ) {
10833		return this.on( types, selector, data, fn );
10834	},
10835	undelegate: function( selector, types, fn ) {
10836
10837		// ( namespace ) or ( selector, types [, fn] )
10838		return arguments.length === 1 ?
10839			this.off( selector, "**" ) :
10840			this.off( types, selector || "**", fn );
10841	},
10842
10843	hover: function( fnOver, fnOut ) {
10844		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
10845	}
10846} );
10847
10848jQuery.each(
10849	( "blur focus focusin focusout resize scroll click dblclick " +
10850	"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
10851	"change select submit keydown keypress keyup contextmenu" ).split( " " ),
10852	function( _i, name ) {
10853
10854		// Handle event binding
10855		jQuery.fn[ name ] = function( data, fn ) {
10856			return arguments.length > 0 ?
10857				this.on( name, null, data, fn ) :
10858				this.trigger( name );
10859		};
10860	}
10861);
10862
10863
10864
10865
10866// Support: Android <=4.0 only
10867// Make sure we trim BOM and NBSP
10868// Require that the "whitespace run" starts from a non-whitespace
10869// to avoid O(N^2) behavior when the engine would try matching "\s+$" at each space position.
10870var rtrim = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;
10871
10872// Bind a function to a context, optionally partially applying any
10873// arguments.
10874// jQuery.proxy is deprecated to promote standards (specifically Function#bind)
10875// However, it is not slated for removal any time soon
10876jQuery.proxy = function( fn, context ) {
10877	var tmp, args, proxy;
10878
10879	if ( typeof context === "string" ) {
10880		tmp = fn[ context ];
10881		context = fn;
10882		fn = tmp;
10883	}
10884
10885	// Quick check to determine if target is callable, in the spec
10886	// this throws a TypeError, but we will just return undefined.
10887	if ( !isFunction( fn ) ) {
10888		return undefined;
10889	}
10890
10891	// Simulated bind
10892	args = slice.call( arguments, 2 );
10893	proxy = function() {
10894		return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
10895	};
10896
10897	// Set the guid of unique handler to the same of original handler, so it can be removed
10898	proxy.guid = fn.guid = fn.guid || jQuery.guid++;
10899
10900	return proxy;
10901};
10902
10903jQuery.holdReady = function( hold ) {
10904	if ( hold ) {
10905		jQuery.readyWait++;
10906	} else {
10907		jQuery.ready( true );
10908	}
10909};
10910jQuery.isArray = Array.isArray;
10911jQuery.parseJSON = JSON.parse;
10912jQuery.nodeName = nodeName;
10913jQuery.isFunction = isFunction;
10914jQuery.isWindow = isWindow;
10915jQuery.camelCase = camelCase;
10916jQuery.type = toType;
10917
10918jQuery.now = Date.now;
10919
10920jQuery.isNumeric = function( obj ) {
10921
10922	// As of jQuery 3.0, isNumeric is limited to
10923	// strings and numbers (primitives or objects)
10924	// that can be coerced to finite numbers (gh-2662)
10925	var type = jQuery.type( obj );
10926	return ( type === "number" || type === "string" ) &&
10927
10928		// parseFloat NaNs numeric-cast false positives ("")
10929		// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
10930		// subtraction forces infinities to NaN
10931		!isNaN( obj - parseFloat( obj ) );
10932};
10933
10934jQuery.trim = function( text ) {
10935	return text == null ?
10936		"" :
10937		( text + "" ).replace( rtrim, "$1" );
10938};
10939
10940
10941
10942// Register as a named AMD module, since jQuery can be concatenated with other
10943// files that may use define, but not via a proper concatenation script that
10944// understands anonymous AMD modules. A named AMD is safest and most robust
10945// way to register. Lowercase jquery is used because AMD module names are
10946// derived from file names, and jQuery is normally delivered in a lowercase
10947// file name. Do this after creating the global so that if an AMD module wants
10948// to call noConflict to hide this version of jQuery, it will work.
10949
10950// Note that for maximum portability, libraries that are not jQuery should
10951// declare themselves as anonymous modules, and avoid setting a global if an
10952// AMD loader is present. jQuery is a special case. For more information, see
10953// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
10954
10955if ( typeof define === "function" && define.amd ) {
10956	define( "jquery", [], function() {
10957		return jQuery;
10958	} );
10959}
10960
10961
10962
10963
10964var
10965
10966	// Map over jQuery in case of overwrite
10967	_jQuery = window.jQuery,
10968
10969	// Map over the $ in case of overwrite
10970	_$ = window.$;
10971
10972jQuery.noConflict = function( deep ) {
10973	if ( window.$ === jQuery ) {
10974		window.$ = _$;
10975	}
10976
10977	if ( deep && window.jQuery === jQuery ) {
10978		window.jQuery = _jQuery;
10979	}
10980
10981	return jQuery;
10982};
10983
10984// Expose jQuery and $ identifiers, even in AMD
10985// (trac-7102#comment:10, https://github.com/jquery/jquery/pull/557)
10986// and CommonJS for browser emulators (trac-13566)
10987if ( typeof noGlobal === "undefined" ) {
10988	window.jQuery = window.$ = jQuery;
10989}
10990
10991
10992
10993
10994return jQuery;
10995} );
vendor: 3,144 bytes, lines 10996-11005
10996
10997/* End */
10998;
10999; /* Start:"a:4:{s:4:"full";s:77:"/local/templates/culture/build/js/jquery-ui-datapicker.min.js?176656724436325";s:6:"source";s:61:"/local/templates/culture/build/js/jquery-ui-datapicker.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
11000/*! jQuery UI - v1.12.1 - 2021-07-04
11001* http://jqueryui.com
11002* Includes: keycode.js, widgets/datepicker.js
11003* Copyright jQuery Foundation and other contributors; Licensed MIT */
11004
11005!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)}(function(M){M.ui=M.ui||{};var r;M.ui.version="1.12.1",M.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38};function e(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},M.extend(this._defaults,this.regional[""]),this.regional.en=M.extend(!0,{},this.regional[""]),this.regional["en-US"]=M.extend(!0,{},this.regional.en),this.dpDiv=a(M("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function a(e){var t="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.on("mouseout",t,function(){M(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&M(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&M(this).removeClass("ui-datepicker-next-hover")}
vendor: 16,562 bytes, line 11005
11005).on("mouseover",t,n)}function n(){M.datepicker._isDisabledDatepicker((r.inline?r.dpDiv.parent():r.input)[0])||(M(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),M(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&M(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&M(this).addClass("ui-datepicker-next-hover"))}function o(e,t){for(var a in M.extend(e,t),t)null==t[a]&&(e[a]=t[a]);return e}M.extend(M.ui,{datepicker:{version:"1.12.1"}}),M.extend(e.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(e){return o(this._defaults,e||{}),this},_attachDatepicker:function(e,t){var a,i=e.nodeName.toLowerCase(),s="div"===i||"span"===i;e.id||(this.uuid+=1,e.id="dp"+this.uuid),(a=this._newInst(M(e),s)).settings=M.extend({},t||{}),"input"===i?this._connectDatepicker(e,a):s&&this._inlineDatepicker(e,a)},_newInst:function(e,t){return{id:e[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1"),input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:t,dpDiv:t?a(M("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(e,t){var a=M(e);t.append=M([]),t.trigger=M([]),a.hasClass(this.markerClassName)||(this._attachments(a,t),a.addClass(this.markerClassName).on("keydown",this._doKeyDown).on("keypress",this._doKeyPress).on("keyup",this._doKeyUp),this._autoSize(t),M.data(e,"datepicker",t),t.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,t){var a,i=this._get(t,"appendText"),s=this._get(t,"isRTL");t.append&&t.append.remove(),i&&(t.append=M("<span class='"+this._appendClass+"'>"+i+"</span>"),e[s?"before":"after"](t.append)),e.off("focus",this._showDatepicker),t.trigger&&t.trigger.remove(),"focus"!==(a=this._get(t,"showOn"))&&"both"!==a||e.on("focus",this._showDatepicker),"button"!==a&&"both"!==a||(i=this._get(t,"buttonText"),a=this._get(t,"buttonImage"),t.trigger=M(this._get(t,"buttonImageOnly")?M("<img/>").addClass(this._triggerClass).attr({src:a,alt:i,title:i}):M("<button type='button'></button>").addClass(this._triggerClass).html(a?M("<img/>").attr({src:a,alt:i,title:i}):i)),e[s?"before":"after"](t.trigger),t.trigger.on("click",function(){return M.datepicker._datepickerShowing&&M.datepicker._lastInput===e[0]?M.datepicker._hideDatepicker():(M.datepicker._datepickerShowing&&M.datepicker._lastInput!==e[0]&&M.datepicker._hideDatepicker(),M.datepicker._showDatepicker(e[0])),!1}))},_autoSize:function(e){var t,a,i,s,r,n;this._get(e,"autoSize")&&!e.inline&&(r=new Date(2009,11,20),(n=this._get(e,"dateFormat")).match(/[DM]/)&&(t=function(e){for(s=i=a=0;s<e.length;s++)e[s].length>a&&(a=e[s].length,i=s);return i},r.setMonth(t(this._get(e,n.match(/MM/)?"monthNames":"monthNamesShort"))),r.setDate(t(this._get(e,n.match(/DD/)?"dayNames":"dayNamesShort"))+20-r.getDay())),e.input.attr("size",this._formatDate(e,r).length))},_inlineDatepicker:function(e,t){var a=M(e);a.hasClass(this.markerClassName)||(a.addClass(this.markerClassName).append(t.dpDiv),M.data(e,"datepicker",t),this._setDate(t,this._getDefaultDate(t),!0),this._updateDatepicker(t),this._updateAlternate(t),t.settings.disabled&&this._disableDatepicker(e),t.dpDiv.css("display","block"))},_dialogDatepicker:function(e,t,a,i,s){var r,n=this._dialogInst;return n||(this.uuid+=1,r="dp"+this.uuid,this._dialogInput=M("<input type='text' id='"+r+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.on("keydown",this._doKeyDown),M("body").append(this._dialogInput),(n=this._dialogInst=this._newInst(this._dialogInput,!1)).settings={},M.data(this._dialogInput[0],"datepicker",n)),o(n.settings,i||{}),t=t&&t.constructor===Date?this._formatDate(n,t):t,this._dialogInput.val(t),this._pos=s?s.length?s:[s.pageX,s.pageY]:null,this._pos||(r=document.documentElement.clientWidth,i=document.documentElement.clientHeight,t=document.documentElement.scrollLeft||document.body.scrollLeft,s=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[r/2-100+t,i/2-150+s]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),n.settings.onSelect=a,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),M.blockUI&&M.blockUI(this.dpDiv),M.data(this._dialogInput[0],"datepicker",n),this},_destroyDatepicker:function(e){var t,a=M(e),i=M.data(e,"datepicker");a.hasClass(this.markerClassName)&&(t=e.nodeName.toLowerCase(),M.removeData(e,"datepicker"),"input"===t?(i.append.remove(),i.trigger.remove(),a.removeClass(this.markerClassName).off("focus",this._showDatepicker).off("keydown",this._doKeyDown).off("keypress",this._doKeyPress).off("keyup",this._doKeyUp)):"div"!==t&&"span"!==t||a.removeClass(this.markerClassName).empty(),r===i&&(r=null))},_enableDatepicker:function(t){var e,a=M(t),i=M.data(t,"datepicker");a.hasClass(this.markerClassName)&&("input"===(e=t.nodeName.toLowerCase())?(t.disabled=!1,i.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):"div"!==e&&"span"!==e||((a=a.children("."+this._inlineClass)).children().removeClass("ui-state-disabled"),a.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=M.map(this._disabledInputs,function(e){return e===t?null:e}))},_disableDatepicker:function(t){var e,a=M(t),i=M.data(t,"datepicker");a.hasClass(this.markerClassName)&&("input"===(e=t.nodeName.toLowerCase())?(t.disabled=!0,i.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):"div"!==e&&"span"!==e||((a=a.children("."+this._inlineClass)).children().addClass("ui-state-disabled"),a.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=M.map(this._disabledInputs,function(e){return e===t?null:e}),this._disabledInputs[this._disabledInputs.length]=t)},_isDisabledDatepicker:function(e){if(!e)return!1;for(var t=0;t<this._disabledInputs.length;t++)if(this._disabledInputs[t]===e)return!0;return!1},_getInst:function(e){try{return M.data(e,"datepicker")}catch(e){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(e,t,a){var i,s,r,n,d=this._getInst(e);if(2===arguments.length&&"string"==typeof t)return"defaults"===t?M.extend({},M.datepicker._defaults):d?"all"===t?M.extend({},d.settings):this._get(d,t):null;i=t||{},"string"==typeof t&&((i={})[t]=a),d&&(this._curInst===d&&this._hideDatepicker(),s=this._getDateDatepicker(e,!0),r=this._getMinMaxDate(d,"min"),n=this._getMinMaxDate(d,"max"),o(d.settings,i),null!==r&&void 0!==i.dateFormat&&void 0===i.minDate&&(d.settings.minDate=this._formatDate(d,r)),null!==n&&void 0!==i.dateFormat&&void 0===i.maxDate&&(d.settings.maxDate=this._formatDate(d,n)),"disabled"in i&&(i.disabled?this._disableDatepicker(e):this._enableDatepicker(e)),this._attachments(M(e),d),this._autoSize(d),this._setDate(d,s),this._updateAlternate(d),this._updateDatepicker(d))},_changeDatepicker:function(e,t,a){this._optionDatepicker(e,t,a)},_refreshDatepicker:function(e){e=this._getInst(e);e&&this._updateDatepicker(e)},_setDateDatepicker:function(e,t){e=this._getInst(e);e&&(this._setDate(e,t),this._updateDatepicker(e),this._updateAlternate(e))},_getDateDatepicker:function(e,t){e=this._getInst(e);return e&&!e.inline&&this._setDateFromField(e,t),e?this._getDate(e):null},_doKeyDown:function(e){var t,a,i=M.datepicker._getInst(e.target),s=!0,r=i.dpDiv.is(".ui-datepicker-rtl");if(i._keyEvent=!0,M.datepicker._datepickerShowing)switch(e.keyCode){case 9:M.datepicker._hideDatepicker(),s=!1;break;case 13:return(a=M("td."+M.datepicker._dayOverClass+":not(."+M.datepicker._currentClass+")",i.dpDiv))[0]&&M.datepicker._selectDay(e.target,i.selectedMonth,i.selectedYear,a[0]),(t=M.datepicker._get(i,"onSelect"))?(a=M.datepicker._formatDate(i),t.apply(i.input?i.input[0]:null,[a,i])):M.datepicker._hideDatepicker(),!1;case 27:M.datepicker._hideDatepicker();break;case 33:M.datepicker._adjustDate(e.target,e.ctrlKey?-M.datepicker._get(i,"stepBigMonths"):-M.datepicker._get(i,"stepMonths"),"M");break;case 34:M.datepicker._adjustDate(e.target,e.ctrlKey?+M.datepicker._get(i,"stepBigMonths"):+M.datepicker._get(i,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&M.datepicker._clearDate(e.target),s=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&M.datepicker._gotoToday(e.target),s=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&M.datepicker._adjustDate(e.target,r?1:-1,"D"),s=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&M.datepicker._adjustDate(e.target,e.ctrlKey?-M.datepicker._get(i,"stepBigMonths"):-M.datepicker._get(i,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&M.datepicker._adjustDate(e.target,-7,"D"),s=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&M.datepicker._adjustDate(e.target,r?-1:1,"D"),s=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&M.datepicker._adjustDate(e.target,e.ctrlKey?+M.datepicker._get(i,"stepBigMonths"):+M.datepicker._get(i,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&M.datepicker._adjustDate(e.target,7,"D"),s=e.ctrlKey||e.metaKey;break;default:s=!1}else 36===e.keyCode&&e.ctrlKey?M.datepicker._showDatepicker(this):s=!1;s&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(e){var t,a=M.datepicker._getInst(e.target);if(M.datepicker._get(a,"constrainInput"))return t=M.datepicker._possibleChars(M.datepicker._get(a,"dateFormat")),a=String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),e.ctrlKey||e.metaKey||a<" "||!t||-1<t.indexOf(a)},_doKeyUp:function(e){var t=M.datepicker._getInst(e.target);if(t.input.val()!==t.lastVal)try{M.datepicker.parseDate(M.datepicker._get(t,"dateFormat"),t.input?t.input.val():null,M.datepicker._getFormatConfig(t))&&(M.datepicker._setDateFromField(t),M.datepicker._updateAlternate(t),M.datepicker._updateDatepicker(t))}catch(e){}return!0},_showDatepicker:function(e){var t,a,i,s;"input"!==(e=e.target||e).nodeName.toLowerCase()&&(e=M("input",e.parentNode)[0]),M.datepicker._isDisabledDatepicker(e)||M.datepicker._lastInput===e||(s=M.datepicker._getInst(e),M.datepicker._curInst&&M.datepicker._curInst!==s&&(M.datepicker._curInst.dpDiv.stop(!0,!0),s&&M.datepicker._datepickerShowing&&M.datepicker._hideDatepicker(M.datepicker._curInst.input[0])),!1!==(a=(i=M.datepicker._get(s,"beforeShow"))?i.apply(e,[e,s]):{})&&(o(s.settings,a),s.lastVal=null,M.datepicker._lastInput=e,M.datepicker._setDateFromField(s),M.datepicker._inDialog&&(e.value=""),M.datepicker._pos||(M.datepicker._pos=M.datepicker._findPos(e),M.datepicker._pos[1]+=e.offsetHeight),t=!1,M(e).parents().each(function(){return!(t|="fixed"===M(this).css("position"))}),i={left:M.datepicker._pos[0],top:M.datepicker._pos[1]},M.datepicker._pos=null,s.dpDiv.empty(),s.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),M.datepicker._updateDatepicker(s),i=M.datepicker._checkOffset(s,i,t),s.dpDiv.css({position:M.datepicker._inDialog&&M.blockUI?"static":t?"fixed":"absolute",display:"none",left:i.left+"px",top:i.top+"px"}),s.inline||(a=M.datepicker._get(s,"showAnim"),i=M.datepicker._get(s,"duration"),s.dpDiv.css("z-index",function(e){for(var t,a;e.length&&e[0]!==document;){if(("absolute"===(t=e.css("position"))||"relative"===t||"fixed"===t)&&(a=parseInt(e.css("zIndex"),10),!isNaN(a)&&0!==a))return a;e=e.parent()}return 0}(M(e))+1),M.datepicker._datepickerShowing=!0,M.effects&&M.effects.effect[a]?s.dpDiv.show(a,M.datepicker._get(s,"showOptions"),i):s.dpDiv[a||"show"](a?i:null),M.datepicker._shouldFocusInput(s)&&s.input.trigger("focus"),M.datepicker._curInst=s)))},_updateDatepicker:function(e){this.maxRows=4,(r=e).dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e);var t,a=this._getNumberOfMonths(e),i=a[1],s=e.dpDiv.find("."+this._dayOverClass+" a");0<s.length&&n.apply(s.get(0)),e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),1<i&&e.dpDiv.addClass("ui-datepicker-multi-"+i).css("width",17*i+"em"),e.dpDiv[(1!==a[0]||1!==a[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===M.datepicker._curInst&&M.datepicker._datepickerShowing&&M.datepicker._shouldFocusInput(e)&&e.input.trigger("focus"),e.yearshtml&&(t=e.yearshtml,setTimeout(function(){t===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),t=e.yearshtml=null},0))},_shouldFocusInput:function(e){return e.input&&e.input.is(":visible")&&!e.input.is(":disabled")&&!e.input.is(":focus")},_checkOffset:function(e,t,a){var i=e.dpDiv.outerWidth(),s=e.dpDiv.outerHeight(),r=e.input?e.input.outerWidth():0,n=e.input?e.input.outerHeight():0,d=document.documentElement.clientWidth+(a?0:M(document).scrollLeft()),o=document.documentElement.clientHeight+(a?0:M(document).scrollTop());return t.left-=this._get(e,"isRTL")?i-r:0,t.left-=a&&t.left===e.input.offset().left?M(document).scrollLeft():0,t.top-=a&&t.top===e.input.offset().top+n?M(document).scrollTop():0,t.left-=Math.min(t.left,t.left+i>d&&i<d?Math.abs(t.left+i-d):0),t.top-=Math.min(t.top,t.top+s>o&&s<o?Math.abs(s+n):0),t},_findPos:function(e){for(var t=this._getInst(e),a=this._get(t,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||M.expr.filters.hidden(e));)e=e[a?"previousSibling":"nextSibling"];return[(t=M(e).offset()).left,t.top]},_hideDatepicker:function(e){var t,a,i=this._curInst;!i||e&&i!==M.data(e,"datepicker")||this._datepickerShowing&&(t=this._get(i,"showAnim"),a=this._get(i,"duration"),e=function(){M.datepicker._tidyDialog(i)},M.effects&&(M.effects.effect[t]||M.effects[t])?i.dpDiv.hide(t,M.datepicker._get(i,"showOptions"),a,e):i.dpDiv["slideDown"===t?"slideUp":"fadeIn"===t?"fadeOut":"hide"](t?a:null,e),t||e(),this._datepickerShowing=!1,(e=this._get(i,"onClose"))&&e.apply(i.input?i.input[0]:null,[i.input?i.input.val():"",i]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),M.blockUI&&(M.unblockUI(),M("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(e){e.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar")},_checkExternalClick:function(e){var t;M.datepicker._curInst&&(t=M(e.target),e=M.datepicker._getInst(t[0]),(t[0].id===M.datepicker._mainDivId||0!==t.parents("#"+M.datepicker._mainDivId).length||t.hasClass(M.datepicker.markerClassName)||t.closest("."+M.datepicker._triggerClass).length||!M.datepicker._datepickerShowing||M.datepicker._inDialog&&M.blockUI)&&(!t.hasClass(M.datepicker.markerClassName)||M.datepicker._curInst===e)||M.datepicker._hideDatepicker())},_adjustDate:function(e,t,a){var i=M(e),e=this._getInst(i[0]);this._isDisabledDatepicker(i[0])||(this._adjustInstDate(e,t+("M"===a?this._get(e,"showCurrentAtPos"):0),a),this._updateDatepicker(e))},_gotoToday:function(e){var t=M(e),a=this._getInst(t[0]);this._get(a,"gotoCurrent")&&a.currentDay?(a.selectedDay=a.currentDay,a.drawMonth=a.selectedMonth=a.currentMonth,a.drawYear=a.selectedYear=a.currentYear):(e=new Date,a.selectedDay=e.getDate(),a.drawMonth=a.selectedMonth=e.getMonth(),a.drawYear=a.selectedYear=e.getFullYear()),this._notifyChange(a),this._adjustDate(t)},_selectMonthYear:function(e,t,a){var i=M(e),e=this._getInst(i[0]);e["selected"+("M"===a?"Month":"Year")]=e["draw"+("M"===a?"Month":"Year")]=parseInt(t.options[t.selectedIndex].value,10),this._notifyChange(e),this._adjustDate(i)},_selectDay:function(e,t,a,i){var s=M(e);M(i).hasClass(this._unselectableClass)||this._isDisabledDatepicker(s[0])||((s=this._getInst(s[0])).selectedDay=s.currentDay=M("a",i).html(),s.selectedMonth=s.currentMonth=t,s.selectedYear=s.currentYear=a,this._selectDate(e,this._formatDate(s,s.currentDay,s.currentMonth,s.currentYear)))},_clearDate:function(e){e=M(e);this._selectDate(e,"")},_selectDate:function(e,t){var a=M(e),e=this._getInst(a[0]);t=null!=t?t:this._formatDate(e),e.input&&e.input.val(t),this._updateAlternate(e),(a=this._get(e,"onSelect"))?a.apply(e.input?e.input[0]:null,[t,e]):e.input&&e.input.trigger("change"),e.inline?this._updateDatepicker(e):(this._hideDatepicker(),this._lastInput=e.input[0],"object"!=typeof e.input[0]&&e.input.trigger("focus"),this._lastInput=null)},_updateAlternate:function(e){var t,a,i=this._get(e,"altField");i&&(t=this._get(e,"altFormat")||this._get(e,"dateFormat"),a=this._getDate(e),e=this.formatDate(t,a,this._getFormatConfig(e)),M(i).val(e))}
vendor: 10,763 bytes, line 11005
11005,noWeekends:function(e){e=e.getDay();return[0<e&&e<6,""]},iso8601Week:function(e){var t=new Date(e.getTime());return t.setDate(t.getDate()+4-(t.getDay()||7)),e=t.getTime(),t.setMonth(0),t.setDate(1),Math.floor(Math.round((e-t)/864e5)/7)+1},parseDate:function(t,s,e){if(null==t||null==s)throw"Invalid arguments";if(""===(s="object"==typeof s?s.toString():s+""))return null;function r(e){return(e=v+1<t.length&&t.charAt(v+1)===e)&&v++,e}function a(e){var t=r(e),t="@"===e?14:"!"===e?20:"y"===e&&t?4:"o"===e?3:2,t=new RegExp("^\\d{"+("y"===e?t:1)+","+t+"}");if(!(t=s.substring(l).match(t)))throw"Missing number at position "+l;return l+=t[0].length,parseInt(t[0],10)}function i(e,t,a){var i=-1,t=M.map(r(e)?a:t,function(e,t){return[[t,e]]}).sort(function(e,t){return-(e[1].length-t[1].length)});if(M.each(t,function(e,t){var a=t[1];if(s.substr(l,a.length).toLowerCase()===a.toLowerCase())return i=t[0],l+=a.length,!1}),-1!==i)return i+1;throw"Unknown name at position "+l}function n(){if(s.charAt(l)!==t.charAt(v))throw"Unexpected literal at position "+l;l++}for(var d,o,c,l=0,h=(e?e.shortYearCutoff:null)||this._defaults.shortYearCutoff,h="string"!=typeof h?h:(new Date).getFullYear()%100+parseInt(h,10),u=(e?e.dayNamesShort:null)||this._defaults.dayNamesShort,p=(e?e.dayNames:null)||this._defaults.dayNames,g=(e?e.monthNamesShort:null)||this._defaults.monthNamesShort,_=(e?e.monthNames:null)||this._defaults.monthNames,f=-1,k=-1,D=-1,m=-1,y=!1,v=0;v<t.length;v++)if(y)"'"!==t.charAt(v)||r("'")?n():y=!1;else switch(t.charAt(v)){case"d":D=a("d");break;case"D":i("D",u,p);break;case"o":m=a("o");break;case"m":k=a("m");break;case"M":k=i("M",g,_);break;case"y":f=a("y");break;case"@":f=(c=new Date(a("@"))).getFullYear(),k=c.getMonth()+1,D=c.getDate();break;case"!":f=(c=new Date((a("!")-this._ticksTo1970)/1e4)).getFullYear(),k=c.getMonth()+1,D=c.getDate();break;case"'":r("'")?n():y=!0;break;default:n()}if(l<s.length&&(o=s.substr(l),!/^\s+/.test(o)))throw"Extra/unparsed characters found in date: "+o;if(-1===f?f=(new Date).getFullYear():f<100&&(f+=(new Date).getFullYear()-(new Date).getFullYear()%100+(f<=h?0:-100)),-1<m)for(k=1,D=m;;){if(D<=(d=this._getDaysInMonth(f,k-1)))break;k++,D-=d}if((c=this._daylightSavingAdjust(new Date(f,k-1,D))).getFullYear()!==f||c.getMonth()+1!==k||c.getDate()!==D)throw"Invalid date";return c},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*60*60*1e7,formatDate:function(t,e,a){if(!e)return"";function s(e){return(e=n+1<t.length&&t.charAt(n+1)===e)&&n++,e}function i(e,t,a){var i=""+t;if(s(e))for(;i.length<a;)i="0"+i;return i}function r(e,t,a,i){return(s(e)?i:a)[t]}var n,d=(a?a.dayNamesShort:null)||this._defaults.dayNamesShort,o=(a?a.dayNames:null)||this._defaults.dayNames,c=(a?a.monthNamesShort:null)||this._defaults.monthNamesShort,l=(a?a.monthNames:null)||this._defaults.monthNames,h="",u=!1;if(e)for(n=0;n<t.length;n++)if(u)"'"!==t.charAt(n)||s("'")?h+=t.charAt(n):u=!1;else switch(t.charAt(n)){case"d":h+=i("d",e.getDate(),2);break;case"D":h+=r("D",e.getDay(),d,o);break;case"o":h+=i("o",Math.round((new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()-new Date(e.getFullYear(),0,0).getTime())/864e5),3);break;case"m":h+=i("m",e.getMonth()+1,2);break;case"M":h+=r("M",e.getMonth(),c,l);break;case"y":h+=s("y")?e.getFullYear():(e.getFullYear()%100<10?"0":"")+e.getFullYear()%100;break;case"@":h+=e.getTime();break;case"!":h+=1e4*e.getTime()+this._ticksTo1970;break;case"'":s("'")?h+="'":u=!0;break;default:h+=t.charAt(n)}return h},_possibleChars:function(t){function e(e){return(e=s+1<t.length&&t.charAt(s+1)===e)&&s++,e}for(var a="",i=!1,s=0;s<t.length;s++)if(i)"'"!==t.charAt(s)||e("'")?a+=t.charAt(s):i=!1;else switch(t.charAt(s)){case"d":case"m":case"y":case"@":a+="0123456789";break;case"D":case"M":return null;case"'":e("'")?a+="'":i=!0;break;default:a+=t.charAt(s)}return a},_get:function(e,t){return(void 0!==e.settings[t]?e.settings:this._defaults)[t]},_setDateFromField:function(e,t){if(e.input.val()!==e.lastVal){var a=this._get(e,"dateFormat"),i=e.lastVal=e.input?e.input.val():null,s=this._getDefaultDate(e),r=s,n=this._getFormatConfig(e);try{r=this.parseDate(a,i,n)||s}catch(e){i=t?"":i}e.selectedDay=r.getDate(),e.drawMonth=e.selectedMonth=r.getMonth(),e.drawYear=e.selectedYear=r.getFullYear(),e.currentDay=i?r.getDate():0,e.currentMonth=i?r.getMonth():0,e.currentYear=i?r.getFullYear():0,this._adjustInstDate(e)}},_getDefaultDate:function(e){return this._restrictMinMax(e,this._determineDate(e,this._get(e,"defaultDate"),new Date))},_determineDate:function(d,e,t){var a,i,e=null==e||""===e?t:"string"==typeof e?function(e){try{return M.datepicker.parseDate(M.datepicker._get(d,"dateFormat"),e,M.datepicker._getFormatConfig(d))}catch(e){}for(var t=(e.toLowerCase().match(/^c/)?M.datepicker._getDate(d):null)||new Date,a=t.getFullYear(),i=t.getMonth(),s=t.getDate(),r=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,n=r.exec(e);n;){switch(n[2]||"d"){case"d":case"D":s+=parseInt(n[1],10);break;case"w":case"W":s+=7*parseInt(n[1],10);break;case"m":case"M":i+=parseInt(n[1],10),s=Math.min(s,M.datepicker._getDaysInMonth(a,i));break;case"y":case"Y":a+=parseInt(n[1],10),s=Math.min(s,M.datepicker._getDaysInMonth(a,i))}n=r.exec(e)}return new Date(a,i,s)}(e):"number"==typeof e?isNaN(e)?t:(a=e,(i=new Date).setDate(i.getDate()+a),i):new Date(e.getTime());return(e=e&&"Invalid Date"===e.toString()?t:e)&&(e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)),this._daylightSavingAdjust(e)},_daylightSavingAdjust:function(e){return e?(e.setHours(12<e.getHours()?e.getHours()+2:0),e):null},_setDate:function(e,t,a){var i=!t,s=e.selectedMonth,r=e.selectedYear,t=this._restrictMinMax(e,this._determineDate(e,t,new Date));e.selectedDay=e.currentDay=t.getDate(),e.drawMonth=e.selectedMonth=e.currentMonth=t.getMonth(),e.drawYear=e.selectedYear=e.currentYear=t.getFullYear(),s===e.selectedMonth&&r===e.selectedYear||a||this._notifyChange(e),this._adjustInstDate(e),e.input&&e.input.val(i?"":this._formatDate(e))},_getDate:function(e){return!e.currentYear||e.input&&""===e.input.val()?null:this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay))},_attachHandlers:function(e){var t=this._get(e,"stepMonths"),a="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){M.datepicker._adjustDate(a,-t,"M")},next:function(){M.datepicker._adjustDate(a,+t,"M")},hide:function(){M.datepicker._hideDatepicker()},today:function(){M.datepicker._gotoToday(a)},selectDay:function(){return M.datepicker._selectDay(a,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return M.datepicker._selectMonthYear(a,this,"M"),!1},selectYear:function(){return M.datepicker._selectMonthYear(a,this,"Y"),!1}};M(this).on(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(e){var t,a,i,s,r,n,d,o,c,l,h,u,p,g,_,f,k,D,m,y,v,M,b,w,C,I,x,Y,S,N,F,T=new Date,A=this._daylightSavingAdjust(new Date(T.getFullYear(),T.getMonth(),T.getDate())),K=this._get(e,"isRTL"),j=this._get(e,"showButtonPanel"),O=this._get(e,"hideIfNoPrevNext"),E=this._get(e,"navigationAsDateFormat"),R=this._getNumberOfMonths(e),P=this._get(e,"showCurrentAtPos"),T=this._get(e,"stepMonths"),L=1!==R[0]||1!==R[1],W=this._daylightSavingAdjust(e.currentDay?new Date(e.currentYear,e.currentMonth,e.currentDay):new Date(9999,9,9)),H=this._getMinMaxDate(e,"min"),U=this._getMinMaxDate(e,"max"),z=e.drawMonth-P,B=e.drawYear;if(z<0&&(z+=12,B--),U)for(t=this._daylightSavingAdjust(new Date(U.getFullYear(),U.getMonth()-R[0]*R[1]+1,U.getDate())),t=H&&t<H?H:t;this._daylightSavingAdjust(new Date(B,z,1))>t;)--z<0&&(z=11,B--);for(e.drawMonth=z,e.drawYear=B,P=this._get(e,"prevText"),P=E?this.formatDate(P,this._daylightSavingAdjust(new Date(B,z-T,1)),this._getFormatConfig(e)):P,a=this._canAdjustMonth(e,-1,B,z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+P+"'><span class='ui-icon ui-icon-circle-triangle-"+(K?"e":"w")+"'>"+P+"</span></a>":O?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+P+"'><span class='ui-icon ui-icon-circle-triangle-"+(K?"e":"w")+"'>"+P+"</span></a>",P=this._get(e,"nextText"),P=E?this.formatDate(P,this._daylightSavingAdjust(new Date(B,z+T,1)),this._getFormatConfig(e)):P,i=this._canAdjustMonth(e,1,B,z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+P+"'><span class='ui-icon ui-icon-circle-triangle-"+(K?"w":"e")+"'>"+P+"</span></a>":O?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+P+"'><span class='ui-icon ui-icon-circle-triangle-"+(K?"w":"e")+"'>"+P+"</span></a>",O=this._get(e,"currentText"),P=this._get(e,"gotoCurrent")&&e.currentDay?W:A,O=E?this.formatDate(O,P,this._getFormatConfig(e)):O,E=e.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(e,"closeText")+"</button>",E=j?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(K?E:"")+(this._isInRange(e,P)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+O+"</button>":"")+(K?"":E)+"</div>":"",s=parseInt(this._get(e,"firstDay"),10),s=isNaN(s)?0:s,r=this._get(e,"showWeek"),n=this._get(e,"dayNames"),d=this._get(e,"dayNamesMin"),o=this._get(e,"monthNames"),c=this._get(e,"monthNamesShort"),l=this._get(e,"beforeShowDay"),h=this._get(e,"showOtherMonths"),u=this._get(e,"selectOtherMonths"),p=this._getDefaultDate(e),g="",f=0;f<R[0];f++){for(k="",this.maxRows=4,D=0;D<R[1];D++){if(m=this._daylightSavingAdjust(new Date(B,z,e.selectedDay)),b=" ui-corner-all",y="",L){if(y+="<div class='ui-datepicker-group",1<R[1])switch(D){case 0:y+=" ui-datepicker-group-first",b=" ui-corner-"+(K?"right":"left");break;case R[1]-1:y+=" ui-datepicker-group-last",b=" ui-corner-"+(K?"left":"right");break;default:y+=" ui-datepicker-group-middle",b=""}y+="'>"}for(y+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+b+"'>"+(/all|left/.test(b)&&0===f?K?i:a:"")+(/all|right/.test(b)&&0===f?K?a:i:"")+this._generateMonthYearHeader(e,z,B,H,U,0<f||0<D,o,c)+"</div><table class='ui-datepicker-calendar'><thead><tr>",v=r?"<th class='ui-datepicker-week-col'>"+this._get(e,"weekHeader")+"</th>":"",_=0;_<7;_++)v+="<th scope='col'"+(5<=(_+s+6)%7?" class='ui-datepicker-week-end'":"")+"><span title='"+n[M=(_+s)%7]+"'>"+d[M]+"</span></th>";
vendor: 5,560 bytes, line 11005
11005for(y+=v+"</tr></thead><tbody>",w=this._getDaysInMonth(B,z),B===e.selectedYear&&z===e.selectedMonth&&(e.selectedDay=Math.min(e.selectedDay,w)),b=(this._getFirstDayOfMonth(B,z)-s+7)%7,w=Math.ceil((b+w)/7),C=L&&this.maxRows>w?this.maxRows:w,this.maxRows=C,I=this._daylightSavingAdjust(new Date(B,z,1-b)),x=0;x<C;x++){for(y+="<tr>",Y=r?"<td class='ui-datepicker-week-col'>"+this._get(e,"calculateWeek")(I)+"</td>":"",_=0;_<7;_++)S=l?l.apply(e.input?e.input[0]:null,[I]):[!0,""],F=(N=I.getMonth()!==z)&&!u||!S[0]||H&&I<H||U&&U<I,Y+="<td class='"+(5<=(_+s+6)%7?" ui-datepicker-week-end":"")+(N?" ui-datepicker-other-month":"")+(I.getTime()===m.getTime()&&z===e.selectedMonth&&e._keyEvent||p.getTime()===I.getTime()&&p.getTime()===m.getTime()?" "+this._dayOverClass:"")+(F?" "+this._unselectableClass+" ui-state-disabled":"")+(N&&!h?"":" "+S[1]+(I.getTime()===W.getTime()?" "+this._currentClass:"")+(I.getTime()===A.getTime()?" ui-datepicker-today":""))+"'"+(N&&!h||!S[2]?"":" title='"+S[2].replace(/'/g,"&#39;")+"'")+(F?"":" data-handler='selectDay' data-event='click' data-month='"+I.getMonth()+"' data-year='"+I.getFullYear()+"'")+">"+(N&&!h?"&#xa0;":F?"<span class='ui-state-default'>"+I.getDate()+"</span>":"<a class='ui-state-default"+(I.getTime()===A.getTime()?" ui-state-highlight":"")+(I.getTime()===W.getTime()?" ui-state-active":"")+(N?" ui-priority-secondary":"")+"' href='#'>"+I.getDate()+"</a>")+"</td>",I.setDate(I.getDate()+1),I=this._daylightSavingAdjust(I);y+=Y+"</tr>"}11<++z&&(z=0,B++),k+=y+="</tbody></table>"+(L?"</div>"+(0<R[0]&&D===R[1]-1?"<div class='ui-datepicker-row-break'></div>":""):"")}g+=k}return g+=E,e._keyEvent=!1,g},_generateMonthYearHeader:function(e,t,a,i,s,r,n,d){var o,c,l,h,u,p,g,_=this._get(e,"changeMonth"),f=this._get(e,"changeYear"),k=this._get(e,"showMonthAfterYear"),D="<div class='ui-datepicker-title'>",m="";if(r||!_)m+="<span class='ui-datepicker-month'>"+n[t]+"</span>";else{for(o=i&&i.getFullYear()===a,c=s&&s.getFullYear()===a,m+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",l=0;l<12;l++)(!o||l>=i.getMonth())&&(!c||l<=s.getMonth())&&(m+="<option value='"+l+"'"+(l===t?" selected='selected'":"")+">"+d[l]+"</option>");m+="</select>"}if(k||(D+=m+(!r&&_&&f?"":"&#xa0;")),!e.yearshtml)if(e.yearshtml="",r||!f)D+="<span class='ui-datepicker-year'>"+a+"</span>";else{for(h=this._get(e,"yearRange").split(":"),u=(new Date).getFullYear(),p=(n=function(e){e=e.match(/c[+\-].*/)?a+parseInt(e.substring(1),10):e.match(/[+\-].*/)?u+parseInt(e,10):parseInt(e,10);return isNaN(e)?u:e})(h[0]),g=Math.max(p,n(h[1]||"")),p=i?Math.max(p,i.getFullYear()):p,g=s?Math.min(g,s.getFullYear()):g,e.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";p<=g;p++)e.yearshtml+="<option value='"+p+"'"+(p===a?" selected='selected'":"")+">"+p+"</option>";e.yearshtml+="</select>",D+=e.yearshtml,e.yearshtml=null}return D+=this._get(e,"yearSuffix"),k&&(D+=(!r&&_&&f?"":"&#xa0;")+m),D+="</div>"},_adjustInstDate:function(e,t,a){var i=e.selectedYear+("Y"===a?t:0),s=e.selectedMonth+("M"===a?t:0),t=Math.min(e.selectedDay,this._getDaysInMonth(i,s))+("D"===a?t:0),t=this._restrictMinMax(e,this._daylightSavingAdjust(new Date(i,s,t)));e.selectedDay=t.getDate(),e.drawMonth=e.selectedMonth=t.getMonth(),e.drawYear=e.selectedYear=t.getFullYear(),"M"!==a&&"Y"!==a||this._notifyChange(e)},_restrictMinMax:function(e,t){var a=this._getMinMaxDate(e,"min"),e=this._getMinMaxDate(e,"max"),t=a&&t<a?a:t;return e&&e<t?e:t},_notifyChange:function(e){var t=this._get(e,"onChangeMonthYear");t&&t.apply(e.input?e.input[0]:null,[e.selectedYear,e.selectedMonth+1,e])},_getNumberOfMonths:function(e){e=this._get(e,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(e,t){return this._determineDate(e,this._get(e,t+"Date"),null)},_getDaysInMonth:function(e,t){return 32-this._daylightSavingAdjust(new Date(e,t,32)).getDate()},_getFirstDayOfMonth:function(e,t){return new Date(e,t,1).getDay()},_canAdjustMonth:function(e,t,a,i){var s=this._getNumberOfMonths(e),s=this._daylightSavingAdjust(new Date(a,i+(t<0?t:s[0]*s[1]),1));return t<0&&s.setDate(this._getDaysInMonth(s.getFullYear(),s.getMonth())),this._isInRange(e,s)},_isInRange:function(e,t){var a=this._getMinMaxDate(e,"min"),i=this._getMinMaxDate(e,"max"),s=null,r=null,n=this._get(e,"yearRange");return n&&(e=n.split(":"),n=(new Date).getFullYear(),s=parseInt(e[0],10),r=parseInt(e[1],10),e[0].match(/[+\-].*/)&&(s+=n),e[1].match(/[+\-].*/)&&(r+=n)),(!a||t.getTime()>=a.getTime())&&(!i||t.getTime()<=i.getTime())&&(!s||t.getFullYear()>=s)&&(!r||t.getFullYear()<=r)},_getFormatConfig:function(e){var t=this._get(e,"shortYearCutoff");return{shortYearCutoff:t="string"!=typeof t?t:(new Date).getFullYear()%100+parseInt(t,10),dayNamesShort:this._get(e,"dayNamesShort"),dayNames:this._get(e,"dayNames"),monthNamesShort:this._get(e,"monthNamesShort"),monthNames:this._get(e,"monthNames")}},_formatDate:function(e,t,a,i){t||(e.currentDay=e.selectedDay,e.currentMonth=e.selectedMonth,e.currentYear=e.selectedYear);t=t?"object"==typeof t?t:this._daylightSavingAdjust(new Date(i,a,t)):this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return this.formatDate(this._get(e,"dateFormat"),t,this._getFormatConfig(e))}}),M.fn.datepicker=function(e){if(!this.length)return this;M.datepicker.initialized||(M(document).on("mousedown",M.datepicker._checkExternalClick),M.datepicker.initialized=!0),0===M("#"+M.datepicker._mainDivId).length&&M("body").append(M.datepicker.dpDiv);
11005var t=Array.prototype.slice.call(arguments,1);return"string"==typeof e&&("isDisabled"===e||"getDate"===e||"widget"===e)||"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?M.datepicker["_"+e+"Datepicker"].apply(M.datepicker,[this[0]].concat(t)):this.each(function(){"string"==typeof e?M.datepicker["_"+e+"Datepicker"].apply(M.datepicker,[this].concat(t)):M.datepicker._attachDatepicker(this,e)})},M.datepicker=new e,M.datepicker.initialized=!1,M.datepicker.uuid=(new Date).getTime(),M.datepicker.version="1.12.1";M.datepicker});
11006/* End */
11007;
11008; /* Start:"a:4:{s:4:"full";s:85:"/local/templates/culture/build/js/jquery-ui-datapicker-translate-ru.js?17665672441036";s:6:"source";s:70:"/local/templates/culture/build/js/jquery-ui-datapicker-translate-ru.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
11009(function ($) {
11010		/* Локализация datepicker */
11011	$.datepicker.regional['ru'] = {
11012		closeText: 'Закрыть',
11013		prevText: 'Предыдущий',
11014		nextText: 'Следующий',
11015		currentText: 'Сегодня',
11016		monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
11017		monthNamesShort: ['Янв','Фев','Мар','Апр','Май','Июн','Июл','Авг','Сен','Окт','Ноя','Дек'],
11018		dayNames: ['воскресенье','понедельник','вторник','среда','четверг','пятница','суббота'],
11019		dayNamesShort: ['вск','пнд','втр','срд','чтв','птн','сбт'],
11020		dayNamesMin: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'],
11021		weekHeader: 'Не',
11022		dateFormat: 'dd.mm.yy',
11023		firstDay: 1,
11024		isRTL: false,
11025		showMonthAfterYear: false,
11026		yearSuffix: ''
11027	};
11028	$.datepicker.setDefaults($.datepicker.regional['ru']);
11029})(jQuery);
11030/* End */
11031;
11032; /* Start:"a:4:{s:4:"full";s:72:"/local/templates/culture/build/js/jquery.fancybox.min.js?176656724468253";s:6:"source";s:56:"/local/templates/culture/build/js/jquery.fancybox.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
vendor: 68,253 bytes, lines 11033-11045
11033// ==================================================
11034// fancyBox v3.5.7
11035//
11036// Licensed GPLv3 for open source use
11037// or fancyBox Commercial License for commercial use
11038//
11039// http://fancyapps.com/fancybox/
11040// Copyright 2019 fancyApps
11041//
11042// ==================================================
11043!function(t,e,n,o){"use strict";function i(t,e){var o,i,a,s=[],r=0;t&&t.isDefaultPrevented()||(t.preventDefault(),e=e||{},t&&t.data&&(e=h(t.data.options,e)),o=e.$target||n(t.currentTarget).trigger("blur"),(a=n.fancybox.getInstance())&&a.$trigger&&a.$trigger.is(o)||(e.selector?s=n(e.selector):(i=o.attr("data-fancybox")||"",i?(s=t.data?t.data.items:[],s=s.length?s.filter('[data-fancybox="'+i+'"]'):n('[data-fancybox="'+i+'"]')):s=[o]),r=n(s).index(o),r<0&&(r=0),a=n.fancybox.open(s,e,r),a.$trigger=o))}if(t.console=t.console||{info:function(t){}},n){if(n.fn.fancybox)return void console.info("fancyBox already initialized");var a={closeExisting:!1,loop:!1,gutter:50,keyboard:!0,preventCaptionOverlap:!0,arrows:!0,infobar:!0,smallBtn:"auto",toolbar:"auto",buttons:["zoom","slideShow","thumbs","close"],idleTime:3,protect:!1,modal:!1,image:{preload:!1},ajax:{settings:{data:{fancybox:!0}}},iframe:{tpl:'<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" allowfullscreen="allowfullscreen" allow="autoplay; fullscreen" src=""></iframe>',preload:!0,css:{},attr:{scrolling:"auto"}},video:{tpl:'<video class="fancybox-video" controls controlsList="nodownload" poster="{{poster}}"><source src="{{src}}" type="{{format}}" />Sorry, your browser doesn\'t support embedded videos, <a href="{{src}}">download</a> and watch with your favorite video player!</video>',format:"",autoStart:!0},defaultType:"image",animationEffect:"zoom",animationDuration:366,zoomOpacity:"auto",transitionEffect:"fade",transitionDuration:366,slideClass:"",baseClass:"",baseTpl:'<div class="fancybox-container" role="dialog" tabindex="-1"><div class="fancybox-bg"></div><div class="fancybox-inner"><div class="fancybox-infobar"><span data-fancybox-index></span>&nbsp;/&nbsp;<span data-fancybox-count></span></div><div class="fancybox-toolbar">{{buttons}}</div><div class="fancybox-navigation">{{arrows}}</div><div class="fancybox-stage"></div><div class="fancybox-caption"><div class="fancybox-caption__body"></div></div></div></div>',spinnerTpl:'<div class="fancybox-loading"></div>',errorTpl:'<div class="fancybox-error"><p>{{ERROR}}</p></div>',btnTpl:{download:'<a download data-fancybox-download class="fancybox-button fancybox-button--download" title="{{DOWNLOAD}}" href="javascript:;"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.62 17.09V19H5.38v-1.91zm-2.97-6.96L17 11.45l-5 4.87-5-4.87 1.36-1.32 2.68 2.64V5h1.92v7.77z"/></svg></a>',zoom:'<button data-fancybox-zoom class="fancybox-button fancybox-button--zoom" title="{{ZOOM}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.7 17.3l-3-3a5.9 5.9 0 0 0-.6-7.6 5.9 5.9 0 0 0-8.4 0 5.9 5.9 0 0 0 0 8.4 5.9 5.9 0 0 0 7.7.7l3 3a1 1 0 0 0 1.3 0c.4-.5.4-1 0-1.5zM8.1 13.8a4 4 0 0 1 0-5.7 4 4 0 0 1 5.7 0 4 4 0 0 1 0 5.7 4 4 0 0 1-5.7 0z"/></svg></button>',close:'<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 10.6L6.6 5.2 5.2 6.6l5.4 5.4-5.4 5.4 1.4 1.4 5.4-5.4 5.4 5.4 1.4-1.4-5.4-5.4 5.4-5.4-1.4-1.4-5.4 5.4z"/></svg></button>',arrowLeft:'<button data-fancybox-prev class="fancybox-button fancybox-button--arrow_left" title="{{PREV}}"><div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.28 15.7l-1.34 1.37L5 12l4.94-5.07 1.34 1.38-2.68 2.72H19v1.94H8.6z"/></svg></div></button>',arrowRight:'<button data-fancybox-next class="fancybox-button fancybox-button--arrow_right" title="{{NEXT}}"><div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.4 12.97l-2.68 2.72 1.34 1.38L19 12l-4.94-5.07-1.34 1.38 2.68 2.72H5v1.94z"/></svg></div></button>',smallBtn:'<button type="button" data-fancybox-close class="fancybox-button fancybox-close-small" title="{{CLOSE}}"><svg xmlns="http://www.w3.org/2000/svg" version="1" viewBox="0 0 24 24"><path d="M13 12l5-5-1-1-5 5-5-5-1 1 5 5-5 5 1 1 5-5 5 5 1-1z"/></svg></button>'},parentEl:"body",hideScrollbar:!0,autoFocus:!0,backFocus:!0,trapFocus:!0,fullScreen:{autoStart:!1},touch:{vertical:!0,momentum:!0},hash:null,media:{},slideShow:{autoStart:!1,speed:3e3},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".fancybox-container",axis:"y"},wheel:"auto",onInit:n.noop,beforeLoad:n.noop,afterLoad:n.noop,beforeShow:n.noop,afterShow:n.noop,beforeClose:n.noop,afterClose:n.noop,onActivate:n.noop,onDeactivate:n.noop,clickContent:function(t,e){return"image"===t.type&&"zoom"},clickSlide:"close",clickOutside:"close",dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1,mobile:{preventCaptionOverlap:!1,idleTime:!1,clickContent:function(t,e){return"image"===t.type&&"toggleControls"},clickSlide:function(t,e){return"image"===t.type?"toggleControls":"close"},dblclickContent:function(t,e){return"image"===t.type&&"zoom"},dblclickSlide:function(t,e){return"image"===t.type&&"zoom"}},lang:"en",i18n:{en:{CLOSE:"Close",NEXT:"Next",PREV:"Previous",ERROR:"The requested content cannot be loaded. <br/> Please try again later.",PLAY_START:"Start slideshow",PLAY_STOP:"Pause slideshow",FULL_SCREEN:"Full screen",THUMBS:"Thumbnails",DOWNLOAD:"Download",SHARE:"Share",ZOOM:"Zoom"},de:{CLOSE:"Schlie&szlig;en",NEXT:"Weiter",PREV:"Zur&uuml;ck",ERROR:"Die angeforderten Daten konnten nicht geladen werden. <br/> Bitte versuchen Sie es sp&auml;ter nochmal.",PLAY_START:"Diaschau starten",PLAY_STOP:"Diaschau beenden",FULL_SCREEN:"Vollbild",THUMBS:"Vorschaubilder",DOWNLOAD:"Herunterladen",SHARE:"Teilen",ZOOM:"Vergr&ouml;&szlig;ern"}}},s=n(t),r=n(e),c=0,l=function(t){return t&&t.hasOwnProperty&&t instanceof n},d=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}}(),u=function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||function(e){t.clearTimeout(e)}}(),f=function(){var t,n=e.createElement("fakeelement"),o={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(t in o)if(void 0!==n.style[t])return o[t];return"transitionend"}(),p=function(t){return t&&t.length&&t[0].offsetHeight},h=function(t,e){var o=n.extend(!0,{},t,e);return n.each(e,function(t,e){n.isArray(e)&&(o[t]=e)}),o},g=function(t){var o,i;return!(!t||t.ownerDocument!==e)&&(n(".fancybox-container").css("pointer-events","none"),o={x:t.getBoundingClientRect().left+t.offsetWidth/2,y:t.getBoundingClientRect().top+t.offsetHeight/2},i=e.elementFromPoint(o.x,o.y)===t,n(".fancybox-container").css("pointer-events",""),i)},b=function(t,e,o){var i=this;i.opts=h({index:o},n.fancybox.defaults),n.isPlainObject(e)&&(i.opts=h(i.opts,e)),n.fancybox.isMobile&&(i.opts=h(i.opts,i.opts.mobile)),i.id=i.opts.id||++c,i.currIndex=parseInt(i.opts.index,10)||0,i.prevIndex=null,i.prevPos=null,i.currPos=0,i.firstRun=!0,i.group=[],i.slides={},i.addContent(t),i.group.length&&i.init()};n.extend(b.prototype,{init:function(){var o,i,a=this,s=a.group[a.currIndex],r=s.opts;r.closeExisting&&n.fancybox.close(!0),n("body").addClass("fancybox-active"),!n.fancybox.getInstance()&&!1!==r.hideScrollbar&&!n.fancybox.isMobile&&e.body.scrollHeight>t.innerHeight&&(n("head").append('<style id="fancybox-style-noscroll" type="text/css">.compensate-for-scrollbar{margin-right:'+(t.innerWidth-e.documentElement.clientWidth)+"px;}</style>"),n("body").addClass("compensate-for-scrollbar")),i="",n.each(r.buttons,function(t,e){i+=r.btnTpl[e]||""}),o=n(a.translate(a,r.baseTpl.replace("{{buttons}}",i).replace("{{arrows}}",r.btnTpl.arrowLeft+r.btnTpl.arrowRight))).attr("id","fancybox-container-"+a.id).addClass(r.baseClass).data("FancyBox",a).appendTo(r.parentEl),a.$refs={container:o},["bg","inner","infobar","toolbar","stage","caption","navigation"].forEach(function(t){a.$refs[t]=o.find(".fancybox-"+t)}),a.trigger("onInit"),a.activate(),a.jumpTo(a.currIndex)},translate:function(t,e){var n=t.opts.i18n[t.opts.lang]||t.opts.i18n.en;return e.replace(/\{\{(\w+)\}\}/g,function(t,e){return void 0===n[e]?t:n[e]})},addContent:function(t){var e,o=this,i=n.makeArray(t);n.each(i,function(t,e){var i,a,s,r,c,l={},d={};n.isPlainObject(e)?(l=e,d=e.opts||e):"object"===n.type(e)&&n(e).length?(i=n(e),d=i.data()||{},d=n.extend(!0,{},d,d.options),d.$orig=i,l.src=o.opts.src||d.src||i.attr("href"),l.type||l.src||(l.type="inline",l.src=e)):l={type:"html",src:e+""},l.opts=n.extend(!0,{},o.opts,d),n.isArray(d.buttons)&&(l.opts.buttons=d.buttons),n.fancybox.isMobile&&l.opts.mobile&&(l.opts=h(l.opts,l.opts.mobile)),a=l.type||l.opts.type,r=l.src||"",!a&&r&&((s=r.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))?(a="video",l.opts.video.format||(l.opts.video.format="video/"+("ogv"===s[1]?"ogg":s[1]))):r.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?a="image":r.match(/\.(pdf)((\?|#).*)?$/i)?(a="iframe",l=n.extend(!0,l,{contentType:"pdf",opts:{iframe:{preload:!1}}})):"#"===r.charAt(0)&&(a="inline")),a?l.type=a:o.trigger("objectNeedsType",l),l.contentType||(l.contentType=n.inArray(l.type,["html","inline","ajax"])>-1?"html":l.type),l.index=o.group.length,"auto"==l.opts.smallBtn&&(l.opts.smallBtn=n.inArray(l.type,["html","inline","ajax"])>-1),"auto"===l.opts.toolbar&&(l.opts.toolbar=!l.opts.smallBtn),l.$thumb=l.opts.$thumb||null,l.opts.$trigger&&l.index===o.opts.index&&(l.$thumb=l.opts.$trigger.find("img:first"),l.$thumb.length&&(l.opts.$orig=l.opts.$trigger)),l.$thumb&&l.$thumb.length||!l.opts.$orig||(l.$thumb=l.opts.$orig.find("img:first")),l.$thumb&&!l.$thumb.length&&(l.$thumb=null),l.thumb=l.opts.thumb||(l.$thumb?l.$thumb[0].src:null),"function"===n.type(l.opts.caption)&&(l.opts.caption=l.opts.caption.apply(e,[o,l])),"function"===n.type(o.opts.caption)&&(l.opts.caption=o.opts.caption.apply(e,[o,l])),l.opts.caption instanceof n||(l.opts.caption=void 0===l.opts.caption?"":l.opts.caption+""),"ajax"===l.type&&(c=r.split(/\s+/,2),c.length>1&&(l.src=c.shift(),l.opts.filter=c.shift())),l.opts.modal&&(l.opts=n.extend(!0,l.opts,{trapFocus:!0,infobar:0,toolbar:0,smallBtn:0,keyboard:0,slideShow:0,fullScreen:0,thumbs:0,touch:0,clickContent:!1,clickSlide:!1,clickOutside:!1,dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1})),o.group.push(l)}),Object.keys(o.slides).length&&(o.updateControls(),(e=o.Thumbs)&&e.isActive&&(e.create(),e.focus()))},addEvents:function(){var e=this;e.removeEvents(),e.$refs.container.on("click.fb-close","[data-fancybox-close]",function(t){t.stopPropagation(),t.preventDefault(),e.close(t)}).on("touchstart.fb-prev click.fb-prev","[data-fancybox-prev]",function(t){t.stopPropagation(),t.preventDefault(),e.previous()}).on("touchstart.fb-next click.fb-next","[data-fancybox-next]",function(t){t.stopPropagation(),t.preventDefault(),e.next()}).on("click.fb","[data-fancybox-zoom]",function(t){e[e.isScaledDown()?"scaleToActual":"scaleToFit"]()}),s.on("orientationchange.fb resize.fb",function(t){t&&t.originalEvent&&"resize"===t.originalEvent.type?(e.requestId&&u(e.requestId),e.requestId=d(function(){e.update(t)})):(e.current&&"iframe"===e.current.type&&e.$refs.stage.hide(),setTimeout(function(){e.$refs.stage.show(),e.update(t)},n.fancybox.isMobile?600:250))}),r.on("keydown.fb",function(t){var o=n.fancybox?n.fancybox.getInstance():null,i=o.current,a=t.keyCode||t.which;if(9==a)return void(i.opts.trapFocus&&e.focus(t));if(!(!i.opts.keyboard||t.ctrlKey||t.altKey||t.shiftKey||n(t.target).is("input,textarea,video,audio,select")))return 8===a||27===a?(t.preventDefault(),void e.close(t)):37===a||38===a?(t.preventDefault(),void e.previous()):39===a||40===a?(t.preventDefault(),void e.next()):void e.trigger("afterKeydown",t,a)}),e.group[e.currIndex].opts.idleTime&&(e.idleSecondsCounter=0,r.on("mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle",function(t){e.idleSecondsCounter=0,e.isIdle&&e.showControls(),e.isIdle=!1}),e.idleInterval=t.setInterval(function(){++e.idleSecondsCounter>=e.group[e.currIndex].opts.idleTime&&!e.isDragging&&(e.isIdle=!0,e.idleSecondsCounter=0,e.hideControls())},1e3))},removeEvents:function(){var e=this;s.off("orientationchange.fb resize.fb"),r.off("keydown.fb .fb-idle"),this.$refs.container.off(".fb-close .fb-prev .fb-next"),e.idleInterval&&(t.clearInterval(e.idleInterval),e.idleInterval=null)},previous:function(t){return this.jumpTo(this.currPos-1,t)},next:function(t){return this.jumpTo(this.currPos+1,t)},jumpTo:function(t,e){var o,i,a,s,r,c,l,d,u,f=this,h=f.group.length;if(!(f.isDragging||f.isClosing||f.isAnimating&&f.firstRun)){if(t=parseInt(t,10),!(a=f.current?f.current.opts.loop:f.opts.loop)&&(t<0||t>=h))return!1;if(o=f.firstRun=!Object.keys(f.slides).length,r=f.current,f.prevIndex=f.currIndex,f.prevPos=f.currPos,s=f.createSlide(t),h>1&&((a||s.index<h-1)&&f.createSlide(t+1),(a||s.index>0)&&f.createSlide(t-1)),f.current=s,f.currIndex=s.index,f.currPos=s.pos,f.trigger("beforeShow",o),f.updateControls(),s.forcedDuration=void 0,n.isNumeric(e)?s.forcedDuration=e:e=s.opts[o?"animationDuration":"transitionDuration"],e=parseInt(e,10),i=f.isMoved(s),s.$slide.addClass("fancybox-slide--current"),o)return s.opts.animationEffect&&e&&f.$refs.container.css("transition-duration",e+"ms"),f.$refs.container.addClass("fancybox-is-open").trigger("focus"),f.loadSlide(s),void f.preload("image");c=n.fancybox.getTranslate(r.$slide),l=n.fancybox.getTranslate(f.$refs.stage),n.each(f.slides,function(t,e){n.fancybox.stop(e.$slide,!0)}),r.pos!==s.pos&&(r.isComplete=!1),r.$slide.removeClass("fancybox-slide--complete fancybox-slide--current"),i?(u=c.left-(r.pos*c.width+r.pos*r.opts.gutter),n.each(f.slides,function(t,o){o.$slide.removeClass("fancybox-animated").removeClass(function(t,e){return(e.match(/(^|\s)fancybox-fx-\S+/g)||[]).join(" ")});var i=o.pos*c.width+o.pos*o.opts.gutter;n.fancybox.setTranslate(o.$slide,{top:0,left:i-l.left+u}),o.pos!==s.pos&&o.$slide.addClass("fancybox-slide--"+(o.pos>s.pos?"next":"previous")),p(o.$slide),n.fancybox.animate(o.$slide,{top:0,left:(o.pos-s.pos)*c.width+(o.pos-s.pos)*o.opts.gutter},e,function(){o.$slide.css({transform:"",opacity:""}).removeClass("fancybox-slide--next fancybox-slide--previous"),o.pos===f.currPos&&f.complete()})})):e&&s.opts.transitionEffect&&(d="fancybox-animated fancybox-fx-"+s.opts.transitionEffect,r.$slide.addClass("fancybox-slide--"+(r.pos>s.pos?"next":"previous")),n.fancybox.animate(r.$slide,d,e,function(){r.$slide.removeClass(d).removeClass("fancybox-slide--next fancybox-slide--previous")},!1)),s.isLoaded?f.revealContent(s):f.loadSlide(s),f.preload("image")}},createSlide:function(t){var e,o,i=this;return o=t%i.group.length,o=o<0?i.group.length+o:o,!i.slides[t]&&i.group[o]&&(e=n('<div class="fancybox-slide"></div>').appendTo(i.$refs.stage),i.slides[t]=n.extend(!0,{},i.group[o],{pos:t,$slide:e,isLoaded:!1}),i.updateSlide(i.slides[t])),i.slides[t]},scaleToActual:function(t,e,o){var i,a,s,r,c,l=this,d=l.current,u=d.$content,f=n.fancybox.getTranslate(d.$slide).width,p=n.fancybox.getTranslate(d.$slide).height,h=d.width,g=d.height;l.isAnimating||l.isMoved()||!u||"image"!=d.type||!d.isLoaded||d.hasError||(l.isAnimating=!0,n.fancybox.stop(u),t=void 0===t?.5*f:t,e=void 0===e?.5*p:e,i=n.fancybox.getTranslate(u),i.top-=n.fancybox.getTranslate(d.$slide).top,i.left-=n.fancybox.getTranslate(d.$slide).left,r=h/i.width,c=g/i.height,a=.5*f-.5*h,s=.5*p-.5*g,h>f&&(a=i.left*r-(t*r-t),a>0&&(a=0),a<f-h&&(a=f-h)),g>p&&(s=i.top*c-(e*c-e),s>0&&(s=0),s<p-g&&(s=p-g)),l.updateCursor(h,g),n.fancybox.animate(u,{top:s,left:a,scaleX:r,scaleY:c},o||366,function(){l.isAnimating=!1}),l.SlideShow&&l.SlideShow.isActive&&l.SlideShow.stop())},scaleToFit:function(t){var e,o=this,i=o.current,a=i.$content;o.isAnimating||o.isMoved()||!a||"image"!=i.type||!i.isLoaded||i.hasError||(o.isAnimating=!0,n.fancybox.stop(a),e=o.getFitPos(i),o.updateCursor(e.width,e.height),n.fancybox.animate(a,{top:e.top,left:e.left,scaleX:e.width/a.width(),scaleY:e.height/a.height()},t||366,function(){o.isAnimating=!1}))},getFitPos:function(t){var e,o,i,a,s=this,r=t.$content,c=t.$slide,l=t.width||t.opts.width,d=t.height||t.opts.height,u={};return!!(t.isLoaded&&r&&r.length)&&(e=n.fancybox.getTranslate(s.$refs.stage).width,o=n.fancybox.getTranslate(s.$refs.stage).height,e-=parseFloat(c.css("paddingLeft"))+parseFloat(c.css("paddingRight"))+parseFloat(r.css("marginLeft"))+parseFloat(r.css("marginRight")),o-=parseFloat(c.css("paddingTop"))+parseFloat(c.css("paddingBottom"))+parseFloat(r.css("marginTop"))+parseFloat(r.css("marginBottom")),l&&d||(l=e,d=o),i=Math.min(1,e/l,o/d),l*=i,d*=i,l>e-.5&&(l=e),d>o-.5&&(d=o),"image"===t.type?(u.top=Math.floor(.5*(o-d))+parseFloat(c.css("paddingTop")),u.left=Math.floor(.5*(e-l))+parseFloat(c.css("paddingLeft"))):"video"===t.contentType&&(a=t.opts.width&&t.opts.height?l/d:t.opts.ratio||16/9,d>l/a?d=l/a:l>d*a&&(l=d*a)),u.width=l,u.height=d,u)},update:function(t){var e=this;n.each(e.slides,function(n,o){e.updateSlide(o,t)})},updateSlide:function(t,e){var o=this,i=t&&t.$content,a=t.width||t.opts.width,s=t.height||t.opts.height,r=t.$slide;o.adjustCaption(t),i&&(a||s||"video"===t.contentType)&&!t.hasError&&(n.fancybox.stop(i),n.fancybox.setTranslate(i,o.getFitPos(t)),t.pos===o.currPos&&(o.isAnimating=!1,o.updateCursor())),o.adjustLayout(t),r.length&&(r.trigger("refresh"),t.pos===o.currPos&&o.$refs.toolbar.add(o.$refs.navigation.find(".fancybox-button--arrow_right")).toggleClass("compensate-for-scrollbar",r.get(0).scrollHeight>r.get(0).clientHeight)),o.trigger("onUpdate",t,e)},centerSlide:function(t){var e=this,o=e.current,i=o.$slide;!e.isClosing&&o&&(i.siblings().css({transform:"",opacity:""}),i.parent().children().removeClass("fancybox-slide--previous fancybox-slide--next"),n.fancybox.animate(i,{top:0,left:0,opacity:1},void 0===t?0:t,function(){i.css({transform:"",opacity:""}),o.isComplete||e.complete()},!1))},isMoved:function(t){var e,o,i=t||this.current;return!!i&&(o=n.fancybox.getTranslate(this.$refs.stage),e=n.fancybox.getTranslate(i.$slide),!i.$slide.hasClass("fancybox-animated")&&(Math.abs(e.top-o.top)>.5||Math.abs(e.left-o.left)>.5))},updateCursor:function(t,e){var o,i,a=this,s=a.current,r=a.$refs.container;s&&!a.isClosing&&a.Guestures&&(r.removeClass("fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-zoomOut fancybox-can-swipe fancybox-can-pan"),o=a.canPan(t,e),i=!!o||a.isZoomable(),r.toggleClass("fancybox-is-zoomable",i),n("[data-fancybox-zoom]").prop("disabled",!i),o?r.addClass("fancybox-can-pan"):i&&("zoom"===s.opts.clickContent||n.isFunction(s.opts.clickContent)&&"zoom"==s.opts.clickContent(s))?r.addClass("fancybox-can-zoomIn"):s.opts.touch&&(s.opts.touch.vertical||a.group.length>1)&&"video"!==s.contentType&&r.addClass("fancybox-can-swipe"))},isZoomable:function(){var t,e=this,n=e.current;if(n&&!e.isClosing&&"image"===n.type&&!n.hasError){if(!n.isLoaded)return!0;if((t=e.getFitPos(n))&&(n.width>t.width||n.height>t.height))return!0}return!1},isScaledDown:function(t,e){var o=this,i=!1,a=o.current,s=a.$content;return void 0!==t&&void 0!==e?i=t<a.width&&e<a.height:s&&(i=n.fancybox.getTranslate(s),i=i.width<a.width&&i.height<a.height),i},canPan:function(t,e){var o=this,i=o.current,a=null,s=!1;return"image"===i.type&&(i.isComplete||t&&e)&&!i.hasError&&(s=o.getFitPos(i),void 0!==t&&void 0!==e?a={width:t,height:e}:i.isComplete&&(a=n.fancybox.getTranslate(i.$content)),a&&s&&(s=Math.abs(a.width-s.width)>1.5||Math.abs(a.height-s.height)>1.5)),s},loadSlide:function(t){var e,o,i,a=this;if(!t.isLoading&&!t.isLoaded){if(t.isLoading=!0,!1===a.trigger("beforeLoad",t))return t.isLoading=!1,!1;switch(e=t.type,o=t.$slide,o.off("refresh").trigger("onReset").addClass(t.opts.slideClass),e){case"image":a.setImage(t);break;case"iframe":a.setIframe(t);break;case"html":a.setContent(t,t.src||t.content);break;case"video":a.setContent(t,t.opts.video.tpl.replace(/\{\{src\}\}/gi,t.src).replace("{{format}}",t.opts.videoFormat||t.opts.video.format||"").replace("{{poster}}",t.thumb||""));break;case"inline":n(t.src).length?a.setContent(t,n(t.src)):a.setError(t);break;case"ajax":a.showLoading(t),i=n.ajax(n.extend({},t.opts.ajax.settings,{url:t.src,success:function(e,n){"success"===n&&a.setContent(t,e)},error:function(e,n){e&&"abort"!==n&&a.setError(t)}})),o.one("onReset",function(){i.abort()});break;default:a.setError(t)}return!0}},setImage:function(t){var o,i=this;setTimeout(function(){var e=t.$image;i.isClosing||!t.isLoading||e&&e.length&&e[0].complete||t.hasError||i.showLoading(t)},50),i.checkSrcset(t),t.$content=n('<div class="fancybox-content"></div>').addClass("fancybox-is-hidden").appendTo(t.$slide.addClass("fancybox-slide--image")),!1!==t.opts.preload&&t.opts.width&&t.opts.height&&t.thumb&&(t.width=t.opts.width,t.height=t.opts.height,o=e.createElement("img"),o.onerror=function(){n(this).remove(),t.$ghost=null},o.onload=function(){i.afterLoad(t)},t.$ghost=n(o).addClass("fancybox-image").appendTo(t.$content).attr("src",t.thumb)),i.setBigImage(t)},checkSrcset:function(e){var n,o,i,a,s=e.opts.srcset||e.opts.image.srcset;if(s){i=t.devicePixelRatio||1,a=t.innerWidth*i,o=s.split(",").map(function(t){var e={};return t.trim().split(/\s+/).forEach(function(t,n){var o=parseInt(t.substring(0,t.length-1),10);if(0===n)return e.url=t;o&&(e.value=o,e.postfix=t[t.length-1])}),e}),o.sort(function(t,e){return t.value-e.value});for(var r=0;r<o.length;r++){var c=o[r];if("w"===c.postfix&&c.value>=a||"x"===c.postfix&&c.value>=i){n=c;break}}!n&&o.length&&(n=o[o.length-1]),n&&(e.src=n.url,e.width&&e.height&&"w"==n.postfix&&(e.height=e.width/e.height*n.value,e.width=n.value),e.opts.srcset=s)}},setBigImage:function(t){var o=this,i=e.createElement("img"),a=n(i);t.$image=a.one("error",function(){o.setError(t)}).one("load",function(){var e;t.$ghost||(o.resolveImageSlideSize(t,this.naturalWidth,this.naturalHeight),o.afterLoad(t)),o.isClosing||(t.opts.srcset&&(e=t.opts.sizes,e&&"auto"!==e||(e=(t.width/t.height>1&&s.width()/s.height()>1?"100":Math.round(t.width/t.height*100))+"vw"),a.attr("sizes",e).attr("srcset",t.opts.srcset)),t.$ghost&&setTimeout(function(){t.$ghost&&!o.isClosing&&t.$ghost.hide()},Math.min(300,Math.max(1e3,t.height/1600))),o.hideLoading(t))}).addClass("fancybox-image").attr("src",t.src).appendTo(t.$content),(i.complete||"complete"==i.readyState)&&a.naturalWidth&&a.naturalHeight?a.trigger("load"):i.error&&a.trigger("error")},resolveImageSlideSize:function(t,e,n){var o=parseInt(t.opts.width,10),i=parseInt(t.opts.height,10);t.width=e,t.height=n,o>0&&(t.width=o,t.height=Math.floor(o*n/e)),i>0&&(t.width=Math.floor(i*e/n),t.height=i)},setIframe:function(t){var e,o=this,i=t.opts.iframe,a=t.$slide;t.$content=n('<div class="fancybox-content'+(i.preload?" fancybox-is-hidden":"")+'"></div>').css(i.css).appendTo(a),a.addClass("fancybox-slide--"+t.contentType),t.$iframe=e=n(i.tpl.replace(/\{rnd\}/g,(new Date).getTime())).attr(i.attr).appendTo(t.$content),i.preload?(o.showLoading(t),e.on("load.fb error.fb",function(e){this.isReady=1,t.$slide.trigger("refresh"),o.afterLoad(t)}),a.on("refresh.fb",function(){var n,o,s=t.$content,r=i.css.width,c=i.css.height;if(1===e[0].isReady){try{n=e.contents(),o=n.find("body")}catch(t){}o&&o.length&&o.children().length&&(a.css("overflow","visible"),s.css({width:"100%","max-width":"100%",height:"9999px"}),void 0===r&&(r=Math.ceil(Math.max(o[0].clientWidth,o.outerWidth(!0)))),s.css("width",r||"").css("max-width",""),void 0===c&&(c=Math.ceil(Math.max(o[0].clientHeight,o.outerHeight(!0)))),s.css("height",c||""),a.css("overflow","auto")),s.removeClass("fancybox-is-hidden")}})):o.afterLoad(t),e.attr("src",t.src),a.one("onReset",function(){try{n(this).find("iframe").hide().unbind().attr("src","//about:blank")}catch(t){}n(this).off("refresh.fb").empty(),t.isLoaded=!1,t.isRevealed=!1})},setContent:function(t,e){var o=this;o.isClosing||(o.hideLoading(t),t.$content&&n.fancybox.stop(t.$content),t.$slide.empty(),l(e)&&e.parent().length?((e.hasClass("fancybox-content")||e.parent().hasClass("fancybox-content"))&&e.parents(".fancybox-slide").trigger("onReset"),t.$placeholder=n("<div>").hide().insertAfter(e),e.css("display","inline-block")):t.hasError||("string"===n.type(e)&&(e=n("<div>").append(n.trim(e)).contents()),t.opts.filter&&(e=n("<div>").html(e).find(t.opts.filter))),t.$slide.one("onReset",function(){n(this).find("video,audio").trigger("pause"),t.$placeholder&&(t.$placeholder.after(e.removeClass("fancybox-content").hide()).remove(),t.$placeholder=null),t.$smallBtn&&(t.$smallBtn.remove(),t.$smallBtn=null),t.hasError||(n(this).empty(),t.isLoaded=!1,t.isRevealed=!1)}),n(e).appendTo(t.$slide),n(e).is("video,audio")&&(n(e).addClass("fancybox-video"),n(e).wrap("<div></div>"),t.contentType="video",t.opts.width=t.opts.width||n(e).attr("width"),t.opts.height=t.opts.height||n(e).attr("height")),t.$content=t.$slide.children().filter("div,form,main,video,audio,article,.fancybox-content").first(),t.$content.siblings().hide(),t.$content.length||(t.$content=t.$slide.wrapInner("<div></div>").children().first()),t.$content.addClass("fancybox-content"),t.$slide.addClass("fancybox-slide--"+t.contentType),o.afterLoad(t))},setError:function(t){t.hasError=!0,t.$slide.trigger("onReset").removeClass("fancybox-slide--"+t.contentType).addClass("fancybox-slide--error"),t.contentType="html",this.setContent(t,this.translate(t,t.opts.errorTpl)),t.pos===this.currPos&&(this.isAnimating=!1)},showLoading:function(t){var e=this;(t=t||e.current)&&!t.$spinner&&(t.$spinner=n(e.translate(e,e.opts.spinnerTpl)).appendTo(t.$slide).hide().fadeIn("fast"))},hideLoading:function(t){var e=this;(t=t||e.current)&&t.$spinner&&(t.$spinner.stop().remove(),delete t.$spinner)},afterLoad:function(t){var e=this;e.isClosing||(t.isLoading=!1,t.isLoaded=!0,e.trigger("afterLoad",t),e.hideLoading(t),!t.opts.smallBtn||t.$smallBtn&&t.$smallBtn.length||(t.$smallBtn=n(e.translate(t,t.opts.btnTpl.smallBtn)).appendTo(t.$content)),t.opts.protect&&t.$content&&!t.hasError&&(t.$content.on("contextmenu.fb",function(t){return 2==t.button&&t.preventDefault(),!0}),"image"===t.type&&n('<div class="fancybox-spaceball"></div>').appendTo(t.$content)),e.adjustCaption(t),e.adjustLayout(t),t.pos===e.currPos&&e.updateCursor(),e.revealContent(t))},adjustCaption:function(t){var e,n=this,o=t||n.current,i=o.opts.caption,a=o.opts.preventCaptionOverlap,s=n.$refs.caption,r=!1;s.toggleClass("fancybox-caption--separate",a),a&&i&&i.length&&(o.pos!==n.currPos?(e=s.clone().appendTo(s.parent()),e.children().eq(0).empty().html(i),r=e.outerHeight(!0),e.empty().remove()):n.$caption&&(r=n.$caption.outerHeight(!0)),o.$slide.css("padding-bottom",r||""))},adjustLayout:function(t){var e,n,o,i,a=this,s=t||a.current;s.isLoaded&&!0!==s.opts.disableLayoutFix&&(s.$content.css("margin-bottom",""),s.$content.outerHeight()>s.$slide.height()+.5&&(o=s.$slide[0].style["padding-bottom"],i=s.$slide.css("padding-bottom"),parseFloat(i)>0&&(e=s.$slide[0].scrollHeight,s.$slide.css("padding-bottom",0),Math.abs(e-s.$slide[0].scrollHeight)<1&&(n=i),s.$slide.css("padding-bottom",o))),s.$content.css("margin-bottom",n))},revealContent:function(t){var e,o,i,a,s=this,r=t.$slide,c=!1,l=!1,d=s.isMoved(t),u=t.isRevealed;return t.isRevealed=!0,e=t.opts[s.firstRun?"animationEffect":"transitionEffect"],i=t.opts[s.firstRun?"animationDuration":"transitionDuration"],i=parseInt(void 0===t.forcedDuration?i:t.forcedDuration,10),!d&&t.pos===s.currPos&&i||(e=!1),"zoom"===e&&(t.pos===s.currPos&&i&&"image"===t.type&&!t.hasError&&(l=s.getThumbPos(t))?c=s.getFitPos(t):e="fade"),"zoom"===e?(s.isAnimating=!0,c.scaleX=c.width/l.width,c.scaleY=c.height/l.height,a=t.opts.zoomOpacity,"auto"==a&&(a=Math.abs(t.width/t.height-l.width/l.height)>.1),a&&(l.opacity=.1,c.opacity=1),n.fancybox.setTranslate(t.$content.removeClass("fancybox-is-hidden"),l),p(t.$content),void n.fancybox.animate(t.$content,c,i,function(){s.isAnimating=!1,s.complete()})):(s.updateSlide(t),e?(n.fancybox.stop(r),o="fancybox-slide--"+(t.pos>=s.prevPos?"next":"previous")+" fancybox-animated fancybox-fx-"+e,r.addClass(o).removeClass("fancybox-slide--current"),t.$content.removeClass("fancybox-is-hidden"),p(r),"image"!==t.type&&t.$content.hide().show(0),void n.fancybox.animate(r,"fancybox-slide--current",i,function(){r.removeClass(o).css({transform:"",opacity:""}),t.pos===s.currPos&&s.complete()},!0)):(t.$content.removeClass("fancybox-is-hidden"),u||!d||"image"!==t.type||t.hasError||t.$content.hide().fadeIn("fast"),void(t.pos===s.currPos&&s.complete())))},getThumbPos:function(t){var e,o,i,a,s,r=!1,c=t.$thumb;return!(!c||!g(c[0]))&&(e=n.fancybox.getTranslate(c),o=parseFloat(c.css("border-top-width")||0),i=parseFloat(c.css("border-right-width")||0),a=parseFloat(c.css("border-bottom-width")||0),s=parseFloat(c.css("border-left-width")||0),r={top:e.top+o,left:e.left+s,width:e.width-i-s,height:e.height-o-a,scaleX:1,scaleY:1},e.width>0&&e.height>0&&r)},complete:function(){var t,e=this,o=e.current,i={};!e.isMoved()&&o.isLoaded&&(o.isComplete||(o.isComplete=!0,o.$slide.siblings().trigger("onReset"),e.preload("inline"),p(o.$slide),o.$slide.addClass("fancybox-slide--complete"),n.each(e.slides,function(t,o){o.pos>=e.currPos-1&&o.pos<=e.currPos+1?i[o.pos]=o:o&&(n.fancybox.stop(o.$slide),o.$slide.off().remove())}),e.slides=i),e.isAnimating=!1,e.updateCursor(),e.trigger("afterShow"),o.opts.video.autoStart&&o.$slide.find("video,audio").filter(":visible:first").trigger("play").one("ended",function(){Document.exitFullscreen?Document.exitFullscreen():this.webkitExitFullscreen&&this.webkitExitFullscreen(),e.next()}),o.opts.autoFocus&&"html"===o.contentType&&(t=o.$content.find("input[autofocus]:enabled:visible:first"),t.length?t.trigger("focus"):e.focus(null,!0)),o.$slide.scrollTop(0).scrollLeft(0))},preload:function(t){var e,n,o=this;o.group.length<2||(n=o.slides[o.currPos+1],e=o.slides[o.currPos-1],e&&e.type===t&&o.loadSlide(e),n&&n.type===t&&o.loadSlide(n))},focus:function(t,o){var i,a,s=this,r=["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden])","iframe","object","embed","video","audio","[contenteditable]",'[tabindex]:not([tabindex^="-"])'].join(",");s.isClosing||(i=!t&&s.current&&s.current.isComplete?s.current.$slide.find("*:visible"+(o?":not(.fancybox-close-small)":"")):s.$refs.container.find("*:visible"),i=i.filter(r).filter(function(){return"hidden"!==n(this).css("visibility")&&!n(this).hasClass("disabled")}),i.length?(a=i.index(e.activeElement),t&&t.shiftKey?(a<0||0==a)&&(t.preventDefault(),i.eq(i.length-1).trigger("focus")):(a<0||a==i.length-1)&&(t&&t.preventDefault(),i.eq(0).trigger("focus"))):s.$refs.container.trigger("focus"))},activate:function(){var t=this;n(".fancybox-container").each(function(){var e=n(this).data("FancyBox");e&&e.id!==t.id&&!e.isClosing&&(e.trigger("onDeactivate"),e.removeEvents(),e.isVisible=!1)}),t.isVisible=!0,(t.current||t.isIdle)&&(t.update(),t.updateControls()),t.trigger("onActivate"),t.addEvents()},close:function(t,e){var o,i,a,s,r,c,l,u=this,f=u.current,h=function(){u.cleanUp(t)};return!u.isClosing&&(u.isClosing=!0,!1===u.trigger("beforeClose",t)?(u.isClosing=!1,d(function(){u.update()}),!1):(u.removeEvents(),a=f.$content,o=f.opts.animationEffect,i=n.isNumeric(e)?e:o?f.opts.animationDuration:0,f.$slide.removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"),!0!==t?n.fancybox.stop(f.$slide):o=!1,f.$slide.siblings().trigger("onReset").remove(),i&&u.$refs.container.removeClass("fancybox-is-open").addClass("fancybox-is-closing").css("transition-duration",i+"ms"),u.hideLoading(f),u.hideControls(!0),u.updateCursor(),"zoom"!==o||a&&i&&"image"===f.type&&!u.isMoved()&&!f.hasError&&(l=u.getThumbPos(f))||(o="fade"),"zoom"===o?(n.fancybox.stop(a),s=n.fancybox.getTranslate(a),c={top:s.top,left:s.left,scaleX:s.width/l.width,scaleY:s.height/l.height,width:l.width,height:l.height},r=f.opts.zoomOpacity,
11044"auto"==r&&(r=Math.abs(f.width/f.height-l.width/l.height)>.1),r&&(l.opacity=0),n.fancybox.setTranslate(a,c),p(a),n.fancybox.animate(a,l,i,h),!0):(o&&i?n.fancybox.animate(f.$slide.addClass("fancybox-slide--previous").removeClass("fancybox-slide--current"),"fancybox-animated fancybox-fx-"+o,i,h):!0===t?setTimeout(h,i):h(),!0)))},cleanUp:function(e){var o,i,a,s=this,r=s.current.opts.$orig;s.current.$slide.trigger("onReset"),s.$refs.container.empty().remove(),s.trigger("afterClose",e),s.current.opts.backFocus&&(r&&r.length&&r.is(":visible")||(r=s.$trigger),r&&r.length&&(i=t.scrollX,a=t.scrollY,r.trigger("focus"),n("html, body").scrollTop(a).scrollLeft(i))),s.current=null,o=n.fancybox.getInstance(),o?o.activate():(n("body").removeClass("fancybox-active compensate-for-scrollbar"),n("#fancybox-style-noscroll").remove())},trigger:function(t,e){var o,i=Array.prototype.slice.call(arguments,1),a=this,s=e&&e.opts?e:a.current;if(s?i.unshift(s):s=a,i.unshift(a),n.isFunction(s.opts[t])&&(o=s.opts[t].apply(s,i)),!1===o)return o;"afterClose"!==t&&a.$refs?a.$refs.container.trigger(t+".fb",i):r.trigger(t+".fb",i)},updateControls:function(){var t=this,o=t.current,i=o.index,a=t.$refs.container,s=t.$refs.caption,r=o.opts.caption;o.$slide.trigger("refresh"),r&&r.length?(t.$caption=s,s.children().eq(0).html(r)):t.$caption=null,t.hasHiddenControls||t.isIdle||t.showControls(),a.find("[data-fancybox-count]").html(t.group.length),a.find("[data-fancybox-index]").html(i+1),a.find("[data-fancybox-prev]").prop("disabled",!o.opts.loop&&i<=0),a.find("[data-fancybox-next]").prop("disabled",!o.opts.loop&&i>=t.group.length-1),"image"===o.type?a.find("[data-fancybox-zoom]").show().end().find("[data-fancybox-download]").attr("href",o.opts.image.src||o.src).show():o.opts.toolbar&&a.find("[data-fancybox-download],[data-fancybox-zoom]").hide(),n(e.activeElement).is(":hidden,[disabled]")&&t.$refs.container.trigger("focus")},hideControls:function(t){var e=this,n=["infobar","toolbar","nav"];!t&&e.current.opts.preventCaptionOverlap||n.push("caption"),this.$refs.container.removeClass(n.map(function(t){return"fancybox-show-"+t}).join(" ")),this.hasHiddenControls=!0},showControls:function(){var t=this,e=t.current?t.current.opts:t.opts,n=t.$refs.container;t.hasHiddenControls=!1,t.idleSecondsCounter=0,n.toggleClass("fancybox-show-toolbar",!(!e.toolbar||!e.buttons)).toggleClass("fancybox-show-infobar",!!(e.infobar&&t.group.length>1)).toggleClass("fancybox-show-caption",!!t.$caption).toggleClass("fancybox-show-nav",!!(e.arrows&&t.group.length>1)).toggleClass("fancybox-is-modal",!!e.modal)},toggleControls:function(){this.hasHiddenControls?this.showControls():this.hideControls()}}),n.fancybox={version:"3.5.7",defaults:a,getInstance:function(t){var e=n('.fancybox-container:not(".fancybox-is-closing"):last').data("FancyBox"),o=Array.prototype.slice.call(arguments,1);return e instanceof b&&("string"===n.type(t)?e[t].apply(e,o):"function"===n.type(t)&&t.apply(e,o),e)},open:function(t,e,n){return new b(t,e,n)},close:function(t){var e=this.getInstance();e&&(e.close(),!0===t&&this.close(t))},destroy:function(){this.close(!0),r.add("body").off("click.fb-start","**")},isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),use3d:function(){var n=e.createElement("div");return t.getComputedStyle&&t.getComputedStyle(n)&&t.getComputedStyle(n).getPropertyValue("transform")&&!(e.documentMode&&e.documentMode<11)}(),getTranslate:function(t){var e;return!(!t||!t.length)&&(e=t[0].getBoundingClientRect(),{top:e.top||0,left:e.left||0,width:e.width,height:e.height,opacity:parseFloat(t.css("opacity"))})},setTranslate:function(t,e){var n="",o={};if(t&&e)return void 0===e.left&&void 0===e.top||(n=(void 0===e.left?t.position().left:e.left)+"px, "+(void 0===e.top?t.position().top:e.top)+"px",n=this.use3d?"translate3d("+n+", 0px)":"translate("+n+")"),void 0!==e.scaleX&&void 0!==e.scaleY?n+=" scale("+e.scaleX+", "+e.scaleY+")":void 0!==e.scaleX&&(n+=" scaleX("+e.scaleX+")"),n.length&&(o.transform=n),void 0!==e.opacity&&(o.opacity=e.opacity),void 0!==e.width&&(o.width=e.width),void 0!==e.height&&(o.height=e.height),t.css(o)},animate:function(t,e,o,i,a){var s,r=this;n.isFunction(o)&&(i=o,o=null),r.stop(t),s=r.getTranslate(t),t.on(f,function(c){(!c||!c.originalEvent||t.is(c.originalEvent.target)&&"z-index"!=c.originalEvent.propertyName)&&(r.stop(t),n.isNumeric(o)&&t.css("transition-duration",""),n.isPlainObject(e)?void 0!==e.scaleX&&void 0!==e.scaleY&&r.setTranslate(t,{top:e.top,left:e.left,width:s.width*e.scaleX,height:s.height*e.scaleY,scaleX:1,scaleY:1}):!0!==a&&t.removeClass(e),n.isFunction(i)&&i(c))}),n.isNumeric(o)&&t.css("transition-duration",o+"ms"),n.isPlainObject(e)?(void 0!==e.scaleX&&void 0!==e.scaleY&&(delete e.width,delete e.height,t.parent().hasClass("fancybox-slide--image")&&t.parent().addClass("fancybox-is-scaling")),n.fancybox.setTranslate(t,e)):t.addClass(e),t.data("timer",setTimeout(function(){t.trigger(f)},o+33))},stop:function(t,e){t&&t.length&&(clearTimeout(t.data("timer")),e&&t.trigger(f),t.off(f).css("transition-duration",""),t.parent().removeClass("fancybox-is-scaling"))}},n.fn.fancybox=function(t){var e;return t=t||{},e=t.selector||!1,e?n("body").off("click.fb-start",e).on("click.fb-start",e,{options:t},i):this.off("click.fb-start").on("click.fb-start",{items:this,options:t},i),this},r.on("click.fb-start","[data-fancybox]",i),r.on("click.fb-start","[data-fancybox-trigger]",function(t){n('[data-fancybox="'+n(this).attr("data-fancybox-trigger")+'"]').eq(n(this).attr("data-fancybox-index")||0).trigger("click.fb-start",{$trigger:n(this)})}),function(){var t=null;r.on("mousedown mouseup focus blur",".fancybox-button",function(e){switch(e.type){case"mousedown":t=n(this);break;case"mouseup":t=null;break;case"focusin":n(".fancybox-button").removeClass("fancybox-focus"),n(this).is(t)||n(this).is("[disabled]")||n(this).addClass("fancybox-focus");break;case"focusout":n(".fancybox-button").removeClass("fancybox-focus")}})}()}}(window,document,jQuery),function(t){"use strict";var e={youtube:{matcher:/(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,params:{autoplay:1,autohide:1,fs:1,rel:0,hd:1,wmode:"transparent",enablejsapi:1,html5:1},paramPlace:8,type:"iframe",url:"https://www.youtube-nocookie.com/embed/$4",thumb:"https://img.youtube.com/vi/$4/hqdefault.jpg"},vimeo:{matcher:/^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,params:{autoplay:1,hd:1,show_title:1,show_byline:1,show_portrait:0,fullscreen:1},paramPlace:3,type:"iframe",url:"//player.vimeo.com/video/$2"},instagram:{matcher:/(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,type:"image",url:"//$1/p/$2/media/?size=l"},gmap_place:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/?ll="+(t[9]?t[9]+"&z="+Math.floor(t[10])+(t[12]?t[12].replace(/^\//,"&"):""):t[12]+"").replace(/\?/,"&")+"&output="+(t[12]&&t[12].indexOf("layer=c")>0?"svembed":"embed")}},gmap_search:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/maps?q="+t[5].replace("query=","q=").replace("api=1","")+"&output=embed"}}},n=function(e,n,o){if(e)return o=o||"","object"===t.type(o)&&(o=t.param(o,!0)),t.each(n,function(t,n){e=e.replace("$"+t,n||"")}),o.length&&(e+=(e.indexOf("?")>0?"&":"?")+o),e};t(document).on("objectNeedsType.fb",function(o,i,a){var s,r,c,l,d,u,f,p=a.src||"",h=!1;s=t.extend(!0,{},e,a.opts.media),t.each(s,function(e,o){if(c=p.match(o.matcher)){if(h=o.type,f=e,u={},o.paramPlace&&c[o.paramPlace]){d=c[o.paramPlace],"?"==d[0]&&(d=d.substring(1)),d=d.split("&");for(var i=0;i<d.length;++i){var s=d[i].split("=",2);2==s.length&&(u[s[0]]=decodeURIComponent(s[1].replace(/\+/g," ")))}}return l=t.extend(!0,{},o.params,a.opts[e],u),p="function"===t.type(o.url)?o.url.call(this,c,l,a):n(o.url,c,l),r="function"===t.type(o.thumb)?o.thumb.call(this,c,l,a):n(o.thumb,c),"youtube"===e?p=p.replace(/&t=((\d+)m)?(\d+)s/,function(t,e,n,o){return"&start="+((n?60*parseInt(n,10):0)+parseInt(o,10))}):"vimeo"===e&&(p=p.replace("&%23","#")),!1}}),h?(a.opts.thumb||a.opts.$thumb&&a.opts.$thumb.length||(a.opts.thumb=r),"iframe"===h&&(a.opts=t.extend(!0,a.opts,{iframe:{preload:!1,attr:{scrolling:"no"}}})),t.extend(a,{type:h,src:p,origSrc:a.src,contentSource:f,contentType:"image"===h?"image":"gmap_place"==f||"gmap_search"==f?"map":"video"})):p&&(a.type=a.opts.defaultType)});var o={youtube:{src:"https://www.youtube.com/iframe_api",class:"YT",loading:!1,loaded:!1},vimeo:{src:"https://player.vimeo.com/api/player.js",class:"Vimeo",loading:!1,loaded:!1},load:function(t){var e,n=this;if(this[t].loaded)return void setTimeout(function(){n.done(t)});this[t].loading||(this[t].loading=!0,e=document.createElement("script"),e.type="text/javascript",e.src=this[t].src,"youtube"===t?window.onYouTubeIframeAPIReady=function(){n[t].loaded=!0,n.done(t)}:e.onload=function(){n[t].loaded=!0,n.done(t)},document.body.appendChild(e))},done:function(e){var n,o,i;"youtube"===e&&delete window.onYouTubeIframeAPIReady,(n=t.fancybox.getInstance())&&(o=n.current.$content.find("iframe"),"youtube"===e&&void 0!==YT&&YT?i=new YT.Player(o.attr("id"),{events:{onStateChange:function(t){0==t.data&&n.next()}}}):"vimeo"===e&&void 0!==Vimeo&&Vimeo&&(i=new Vimeo.Player(o),i.on("ended",function(){n.next()})))}};t(document).on({"afterShow.fb":function(t,e,n){e.group.length>1&&("youtube"===n.contentSource||"vimeo"===n.contentSource)&&o.load(n.contentSource)}})}(jQuery),function(t,e,n){"use strict";var o=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}}(),i=function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||function(e){t.clearTimeout(e)}}(),a=function(e){var n=[];e=e.originalEvent||e||t.e,e=e.touches&&e.touches.length?e.touches:e.changedTouches&&e.changedTouches.length?e.changedTouches:[e];for(var o in e)e[o].pageX?n.push({x:e[o].pageX,y:e[o].pageY}):e[o].clientX&&n.push({x:e[o].clientX,y:e[o].clientY});return n},s=function(t,e,n){return e&&t?"x"===n?t.x-e.x:"y"===n?t.y-e.y:Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)):0},r=function(t){if(t.is('a,area,button,[role="button"],input,label,select,summary,textarea,video,audio,iframe')||n.isFunction(t.get(0).onclick)||t.data("selectable"))return!0;for(var e=0,o=t[0].attributes,i=o.length;e<i;e++)if("data-fancybox-"===o[e].nodeName.substr(0,14))return!0;return!1},c=function(e){var n=t.getComputedStyle(e)["overflow-y"],o=t.getComputedStyle(e)["overflow-x"],i=("scroll"===n||"auto"===n)&&e.scrollHeight>e.clientHeight,a=("scroll"===o||"auto"===o)&&e.scrollWidth>e.clientWidth;return i||a},l=function(t){for(var e=!1;;){if(e=c(t.get(0)))break;if(t=t.parent(),!t.length||t.hasClass("fancybox-stage")||t.is("body"))break}return e},d=function(t){var e=this;e.instance=t,e.$bg=t.$refs.bg,e.$stage=t.$refs.stage,e.$container=t.$refs.container,e.destroy(),e.$container.on("touchstart.fb.touch mousedown.fb.touch",n.proxy(e,"ontouchstart"))};d.prototype.destroy=function(){var t=this;t.$container.off(".fb.touch"),n(e).off(".fb.touch"),t.requestId&&(i(t.requestId),t.requestId=null),t.tapped&&(clearTimeout(t.tapped),t.tapped=null)},d.prototype.ontouchstart=function(o){var i=this,c=n(o.target),d=i.instance,u=d.current,f=u.$slide,p=u.$content,h="touchstart"==o.type;if(h&&i.$container.off("mousedown.fb.touch"),(!o.originalEvent||2!=o.originalEvent.button)&&f.length&&c.length&&!r(c)&&!r(c.parent())&&(c.is("img")||!(o.originalEvent.clientX>c[0].clientWidth+c.offset().left))){if(!u||d.isAnimating||u.$slide.hasClass("fancybox-animated"))return o.stopPropagation(),void o.preventDefault();i.realPoints=i.startPoints=a(o),i.startPoints.length&&(u.touch&&o.stopPropagation(),i.startEvent=o,i.canTap=!0,i.$target=c,i.$content=p,i.opts=u.opts.touch,i.isPanning=!1,i.isSwiping=!1,i.isZooming=!1,i.isScrolling=!1,i.canPan=d.canPan(),i.startTime=(new Date).getTime(),i.distanceX=i.distanceY=i.distance=0,i.canvasWidth=Math.round(f[0].clientWidth),i.canvasHeight=Math.round(f[0].clientHeight),i.contentLastPos=null,i.contentStartPos=n.fancybox.getTranslate(i.$content)||{top:0,left:0},i.sliderStartPos=n.fancybox.getTranslate(f),i.stagePos=n.fancybox.getTranslate(d.$refs.stage),i.sliderStartPos.top-=i.stagePos.top,i.sliderStartPos.left-=i.stagePos.left,i.contentStartPos.top-=i.stagePos.top,i.contentStartPos.left-=i.stagePos.left,n(e).off(".fb.touch").on(h?"touchend.fb.touch touchcancel.fb.touch":"mouseup.fb.touch mouseleave.fb.touch",n.proxy(i,"ontouchend")).on(h?"touchmove.fb.touch":"mousemove.fb.touch",n.proxy(i,"ontouchmove")),n.fancybox.isMobile&&e.addEventListener("scroll",i.onscroll,!0),((i.opts||i.canPan)&&(c.is(i.$stage)||i.$stage.find(c).length)||(c.is(".fancybox-image")&&o.preventDefault(),n.fancybox.isMobile&&c.parents(".fancybox-caption").length))&&(i.isScrollable=l(c)||l(c.parent()),n.fancybox.isMobile&&i.isScrollable||o.preventDefault(),(1===i.startPoints.length||u.hasError)&&(i.canPan?(n.fancybox.stop(i.$content),i.isPanning=!0):i.isSwiping=!0,i.$container.addClass("fancybox-is-grabbing")),2===i.startPoints.length&&"image"===u.type&&(u.isLoaded||u.$ghost)&&(i.canTap=!1,i.isSwiping=!1,i.isPanning=!1,i.isZooming=!0,n.fancybox.stop(i.$content),i.centerPointStartX=.5*(i.startPoints[0].x+i.startPoints[1].x)-n(t).scrollLeft(),i.centerPointStartY=.5*(i.startPoints[0].y+i.startPoints[1].y)-n(t).scrollTop(),i.percentageOfImageAtPinchPointX=(i.centerPointStartX-i.contentStartPos.left)/i.contentStartPos.width,i.percentageOfImageAtPinchPointY=(i.centerPointStartY-i.contentStartPos.top)/i.contentStartPos.height,i.startDistanceBetweenFingers=s(i.startPoints[0],i.startPoints[1]))))}},d.prototype.onscroll=function(t){var n=this;n.isScrolling=!0,e.removeEventListener("scroll",n.onscroll,!0)},d.prototype.ontouchmove=function(t){var e=this;return void 0!==t.originalEvent.buttons&&0===t.originalEvent.buttons?void e.ontouchend(t):e.isScrolling?void(e.canTap=!1):(e.newPoints=a(t),void((e.opts||e.canPan)&&e.newPoints.length&&e.newPoints.length&&(e.isSwiping&&!0===e.isSwiping||t.preventDefault(),e.distanceX=s(e.newPoints[0],e.startPoints[0],"x"),e.distanceY=s(e.newPoints[0],e.startPoints[0],"y"),e.distance=s(e.newPoints[0],e.startPoints[0]),e.distance>0&&(e.isSwiping?e.onSwipe(t):e.isPanning?e.onPan():e.isZooming&&e.onZoom()))))},d.prototype.onSwipe=function(e){var a,s=this,r=s.instance,c=s.isSwiping,l=s.sliderStartPos.left||0;if(!0!==c)"x"==c&&(s.distanceX>0&&(s.instance.group.length<2||0===s.instance.current.index&&!s.instance.current.opts.loop)?l+=Math.pow(s.distanceX,.8):s.distanceX<0&&(s.instance.group.length<2||s.instance.current.index===s.instance.group.length-1&&!s.instance.current.opts.loop)?l-=Math.pow(-s.distanceX,.8):l+=s.distanceX),s.sliderLastPos={top:"x"==c?0:s.sliderStartPos.top+s.distanceY,left:l},s.requestId&&(i(s.requestId),s.requestId=null),s.requestId=o(function(){s.sliderLastPos&&(n.each(s.instance.slides,function(t,e){var o=e.pos-s.instance.currPos;n.fancybox.setTranslate(e.$slide,{top:s.sliderLastPos.top,left:s.sliderLastPos.left+o*s.canvasWidth+o*e.opts.gutter})}),s.$container.addClass("fancybox-is-sliding"))});else if(Math.abs(s.distance)>10){if(s.canTap=!1,r.group.length<2&&s.opts.vertical?s.isSwiping="y":r.isDragging||!1===s.opts.vertical||"auto"===s.opts.vertical&&n(t).width()>800?s.isSwiping="x":(a=Math.abs(180*Math.atan2(s.distanceY,s.distanceX)/Math.PI),s.isSwiping=a>45&&a<135?"y":"x"),"y"===s.isSwiping&&n.fancybox.isMobile&&s.isScrollable)return void(s.isScrolling=!0);r.isDragging=s.isSwiping,s.startPoints=s.newPoints,n.each(r.slides,function(t,e){var o,i;n.fancybox.stop(e.$slide),o=n.fancybox.getTranslate(e.$slide),i=n.fancybox.getTranslate(r.$refs.stage),e.$slide.css({transform:"",opacity:"","transition-duration":""}).removeClass("fancybox-animated").removeClass(function(t,e){return(e.match(/(^|\s)fancybox-fx-\S+/g)||[]).join(" ")}),e.pos===r.current.pos&&(s.sliderStartPos.top=o.top-i.top,s.sliderStartPos.left=o.left-i.left),n.fancybox.setTranslate(e.$slide,{top:o.top-i.top,left:o.left-i.left})}),r.SlideShow&&r.SlideShow.isActive&&r.SlideShow.stop()}},d.prototype.onPan=function(){var t=this;if(s(t.newPoints[0],t.realPoints[0])<(n.fancybox.isMobile?10:5))return void(t.startPoints=t.newPoints);t.canTap=!1,t.contentLastPos=t.limitMovement(),t.requestId&&i(t.requestId),t.requestId=o(function(){n.fancybox.setTranslate(t.$content,t.contentLastPos)})},d.prototype.limitMovement=function(){var t,e,n,o,i,a,s=this,r=s.canvasWidth,c=s.canvasHeight,l=s.distanceX,d=s.distanceY,u=s.contentStartPos,f=u.left,p=u.top,h=u.width,g=u.height;return i=h>r?f+l:f,a=p+d,t=Math.max(0,.5*r-.5*h),e=Math.max(0,.5*c-.5*g),n=Math.min(r-h,.5*r-.5*h),o=Math.min(c-g,.5*c-.5*g),l>0&&i>t&&(i=t-1+Math.pow(-t+f+l,.8)||0),l<0&&i<n&&(i=n+1-Math.pow(n-f-l,.8)||0),d>0&&a>e&&(a=e-1+Math.pow(-e+p+d,.8)||0),d<0&&a<o&&(a=o+1-Math.pow(o-p-d,.8)||0),{top:a,left:i}},d.prototype.limitPosition=function(t,e,n,o){var i=this,a=i.canvasWidth,s=i.canvasHeight;return n>a?(t=t>0?0:t,t=t<a-n?a-n:t):t=Math.max(0,a/2-n/2),o>s?(e=e>0?0:e,e=e<s-o?s-o:e):e=Math.max(0,s/2-o/2),{top:e,left:t}},d.prototype.onZoom=function(){var e=this,a=e.contentStartPos,r=a.width,c=a.height,l=a.left,d=a.top,u=s(e.newPoints[0],e.newPoints[1]),f=u/e.startDistanceBetweenFingers,p=Math.floor(r*f),h=Math.floor(c*f),g=(r-p)*e.percentageOfImageAtPinchPointX,b=(c-h)*e.percentageOfImageAtPinchPointY,m=(e.newPoints[0].x+e.newPoints[1].x)/2-n(t).scrollLeft(),v=(e.newPoints[0].y+e.newPoints[1].y)/2-n(t).scrollTop(),y=m-e.centerPointStartX,x=v-e.centerPointStartY,w=l+(g+y),$=d+(b+x),S={top:$,left:w,scaleX:f,scaleY:f};e.canTap=!1,e.newWidth=p,e.newHeight=h,e.contentLastPos=S,e.requestId&&i(e.requestId),e.requestId=o(function(){n.fancybox.setTranslate(e.$content,e.contentLastPos)})},d.prototype.ontouchend=function(t){var o=this,s=o.isSwiping,r=o.isPanning,c=o.isZooming,l=o.isScrolling;if(o.endPoints=a(t),o.dMs=Math.max((new Date).getTime()-o.startTime,1),o.$container.removeClass("fancybox-is-grabbing"),n(e).off(".fb.touch"),e.removeEventListener("scroll",o.onscroll,!0),o.requestId&&(i(o.requestId),o.requestId=null),o.isSwiping=!1,o.isPanning=!1,o.isZooming=!1,o.isScrolling=!1,o.instance.isDragging=!1,o.canTap)return o.onTap(t);o.speed=100,o.velocityX=o.distanceX/o.dMs*.5,o.velocityY=o.distanceY/o.dMs*.5,r?o.endPanning():c?o.endZooming():o.endSwiping(s,l)},d.prototype.endSwiping=function(t,e){var o=this,i=!1,a=o.instance.group.length,s=Math.abs(o.distanceX),r="x"==t&&a>1&&(o.dMs>130&&s>10||s>50);o.sliderLastPos=null,"y"==t&&!e&&Math.abs(o.distanceY)>50?(n.fancybox.animate(o.instance.current.$slide,{top:o.sliderStartPos.top+o.distanceY+150*o.velocityY,opacity:0},200),i=o.instance.close(!0,250)):r&&o.distanceX>0?i=o.instance.previous(300):r&&o.distanceX<0&&(i=o.instance.next(300)),!1!==i||"x"!=t&&"y"!=t||o.instance.centerSlide(200),o.$container.removeClass("fancybox-is-sliding")},d.prototype.endPanning=function(){var t,e,o,i=this;i.contentLastPos&&(!1===i.opts.momentum||i.dMs>350?(t=i.contentLastPos.left,e=i.contentLastPos.top):(t=i.contentLastPos.left+500*i.velocityX,e=i.contentLastPos.top+500*i.velocityY),o=i.limitPosition(t,e,i.contentStartPos.width,i.contentStartPos.height),o.width=i.contentStartPos.width,o.height=i.contentStartPos.height,n.fancybox.animate(i.$content,o,366))},d.prototype.endZooming=function(){var t,e,o,i,a=this,s=a.instance.current,r=a.newWidth,c=a.newHeight;a.contentLastPos&&(t=a.contentLastPos.left,e=a.contentLastPos.top,i={top:e,left:t,width:r,height:c,scaleX:1,scaleY:1},n.fancybox.setTranslate(a.$content,i),r<a.canvasWidth&&c<a.canvasHeight?a.instance.scaleToFit(150):r>s.width||c>s.height?a.instance.scaleToActual(a.centerPointStartX,a.centerPointStartY,150):(o=a.limitPosition(t,e,r,c),n.fancybox.animate(a.$content,o,150)))},d.prototype.onTap=function(e){var o,i=this,s=n(e.target),r=i.instance,c=r.current,l=e&&a(e)||i.startPoints,d=l[0]?l[0].x-n(t).scrollLeft()-i.stagePos.left:0,u=l[0]?l[0].y-n(t).scrollTop()-i.stagePos.top:0,f=function(t){var o=c.opts[t];if(n.isFunction(o)&&(o=o.apply(r,[c,e])),o)switch(o){case"close":r.close(i.startEvent);break;case"toggleControls":r.toggleControls();break;case"next":r.next();break;case"nextOrClose":r.group.length>1?r.next():r.close(i.startEvent);break;case"zoom":"image"==c.type&&(c.isLoaded||c.$ghost)&&(r.canPan()?r.scaleToFit():r.isScaledDown()?r.scaleToActual(d,u):r.group.length<2&&r.close(i.startEvent))}};if((!e.originalEvent||2!=e.originalEvent.button)&&(s.is("img")||!(d>s[0].clientWidth+s.offset().left))){if(s.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container"))o="Outside";else if(s.is(".fancybox-slide"))o="Slide";else{if(!r.current.$content||!r.current.$content.find(s).addBack().filter(s).length)return;o="Content"}if(i.tapped){if(clearTimeout(i.tapped),i.tapped=null,Math.abs(d-i.tapX)>50||Math.abs(u-i.tapY)>50)return this;f("dblclick"+o)}else i.tapX=d,i.tapY=u,c.opts["dblclick"+o]&&c.opts["dblclick"+o]!==c.opts["click"+o]?i.tapped=setTimeout(function(){i.tapped=null,r.isAnimating||f("click"+o)},500):f("click"+o);return this}},n(e).on("onActivate.fb",function(t,e){e&&!e.Guestures&&(e.Guestures=new d(e))}).on("beforeClose.fb",function(t,e){e&&e.Guestures&&e.Guestures.destroy()})}(window,document,jQuery),function(t,e){"use strict";e.extend(!0,e.fancybox.defaults,{btnTpl:{slideShow:'<button data-fancybox-play class="fancybox-button fancybox-button--play" title="{{PLAY_START}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.5 5.4v13.2l11-6.6z"/></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.33 5.75h2.2v12.5h-2.2V5.75zm5.15 0h2.2v12.5h-2.2V5.75z"/></svg></button>'},slideShow:{autoStart:!1,speed:3e3,progress:!0}});var n=function(t){this.instance=t,this.init()};e.extend(n.prototype,{timer:null,isActive:!1,$button:null,init:function(){var t=this,n=t.instance,o=n.group[n.currIndex].opts.slideShow;t.$button=n.$refs.toolbar.find("[data-fancybox-play]").on("click",function(){t.toggle()}),n.group.length<2||!o?t.$button.hide():o.progress&&(t.$progress=e('<div class="fancybox-progress"></div>').appendTo(n.$refs.inner))},set:function(t){var n=this,o=n.instance,i=o.current;i&&(!0===t||i.opts.loop||o.currIndex<o.group.length-1)?n.isActive&&"video"!==i.contentType&&(n.$progress&&e.fancybox.animate(n.$progress.show(),{scaleX:1},i.opts.slideShow.speed),n.timer=setTimeout(function(){o.current.opts.loop||o.current.index!=o.group.length-1?o.next():o.jumpTo(0)},i.opts.slideShow.speed)):(n.stop(),o.idleSecondsCounter=0,o.showControls())},clear:function(){var t=this;clearTimeout(t.timer),t.timer=null,t.$progress&&t.$progress.removeAttr("style").hide()},start:function(){var t=this,e=t.instance.current;e&&(t.$button.attr("title",(e.opts.i18n[e.opts.lang]||e.opts.i18n.en).PLAY_STOP).removeClass("fancybox-button--play").addClass("fancybox-button--pause"),t.isActive=!0,e.isComplete&&t.set(!0),t.instance.trigger("onSlideShowChange",!0))},stop:function(){var t=this,e=t.instance.current;t.clear(),t.$button.attr("title",(e.opts.i18n[e.opts.lang]||e.opts.i18n.en).PLAY_START).removeClass("fancybox-button--pause").addClass("fancybox-button--play"),t.isActive=!1,t.instance.trigger("onSlideShowChange",!1),t.$progress&&t.$progress.removeAttr("style").hide()},toggle:function(){var t=this;t.isActive?t.stop():t.start()}}),e(t).on({"onInit.fb":function(t,e){e&&!e.SlideShow&&(e.SlideShow=new n(e))},"beforeShow.fb":function(t,e,n,o){var i=e&&e.SlideShow;o?i&&n.opts.slideShow.autoStart&&i.start():i&&i.isActive&&i.clear()},"afterShow.fb":function(t,e,n){var o=e&&e.SlideShow;o&&o.isActive&&o.set()},"afterKeydown.fb":function(n,o,i,a,s){var r=o&&o.SlideShow;!r||!i.opts.slideShow||80!==s&&32!==s||e(t.activeElement).is("button,a,input")||(a.preventDefault(),r.toggle())},"beforeClose.fb onDeactivate.fb":function(t,e){var n=e&&e.SlideShow;n&&n.stop()}}),e(t).on("visibilitychange",function(){var n=e.fancybox.getInstance(),o=n&&n.SlideShow;o&&o.isActive&&(t.hidden?o.clear():o.set())})}(document,jQuery),function(t,e){"use strict";var n=function(){for(var e=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],n={},o=0;o<e.length;o++){var i=e[o];if(i&&i[1]in t){for(var a=0;a<i.length;a++)n[e[0][a]]=i[a];return n}}return!1}();if(n){var o={request:function(e){e=e||t.documentElement,e[n.requestFullscreen](e.ALLOW_KEYBOARD_INPUT)},exit:function(){t[n.exitFullscreen]()},toggle:function(e){e=e||t.documentElement,this.isFullscreen()?this.exit():this.request(e)},isFullscreen:function(){return Boolean(t[n.fullscreenElement])},enabled:function(){return Boolean(t[n.fullscreenEnabled])}};e.extend(!0,e.fancybox.defaults,{btnTpl:{fullScreen:'<button data-fancybox-fullscreen class="fancybox-button fancybox-button--fsenter" title="{{FULL_SCREEN}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 16h3v3h2v-5H5zm3-8H5v2h5V5H8zm6 11h2v-3h3v-2h-5zm2-11V5h-2v5h5V8z"/></svg></button>'},fullScreen:{autoStart:!1}}),e(t).on(n.fullscreenchange,function(){var t=o.isFullscreen(),n=e.fancybox.getInstance();n&&(n.current&&"image"===n.current.type&&n.isAnimating&&(n.isAnimating=!1,n.update(!0,!0,0),n.isComplete||n.complete()),n.trigger("onFullscreenChange",t),n.$refs.container.toggleClass("fancybox-is-fullscreen",t),n.$refs.toolbar.find("[data-fancybox-fullscreen]").toggleClass("fancybox-button--fsenter",!t).toggleClass("fancybox-button--fsexit",t))})}e(t).on({"onInit.fb":function(t,e){var i;if(!n)return void e.$refs.toolbar.find("[data-fancybox-fullscreen]").remove();e&&e.group[e.currIndex].opts.fullScreen?(i=e.$refs.container,i.on("click.fb-fullscreen","[data-fancybox-fullscreen]",function(t){t.stopPropagation(),t.preventDefault(),o.toggle()}),e.opts.fullScreen&&!0===e.opts.fullScreen.autoStart&&o.request(),e.FullScreen=o):e&&e.$refs.toolbar.find("[data-fancybox-fullscreen]").hide()},"afterKeydown.fb":function(t,e,n,o,i){e&&e.FullScreen&&70===i&&(o.preventDefault(),e.FullScreen.toggle())},"beforeClose.fb":function(t,e){e&&e.FullScreen&&e.$refs.container.hasClass("fancybox-is-fullscreen")&&o.exit()}})}(document,jQuery),function(t,e){"use strict";var n="fancybox-thumbs";e.fancybox.defaults=e.extend(!0,{btnTpl:{thumbs:'<button data-fancybox-thumbs class="fancybox-button fancybox-button--thumbs" title="{{THUMBS}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14.59 14.59h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76H5.65V5.65z"/></svg></button>'},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".fancybox-container",axis:"y"}},e.fancybox.defaults);var o=function(t){this.init(t)};e.extend(o.prototype,{$button:null,$grid:null,$list:null,isVisible:!1,isActive:!1,init:function(t){var e=this,n=t.group,o=0;e.instance=t,e.opts=n[t.currIndex].opts.thumbs,t.Thumbs=e,e.$button=t.$refs.toolbar.find("[data-fancybox-thumbs]");for(var i=0,a=n.length;i<a&&(n[i].thumb&&o++,!(o>1));i++);o>1&&e.opts?(e.$button.removeAttr("style").on("click",function(){e.toggle()}),e.isActive=!0):e.$button.hide()},create:function(){var t,o=this,i=o.instance,a=o.opts.parentEl,s=[];o.$grid||(o.$grid=e('<div class="'+n+" "+n+"-"+o.opts.axis+'"></div>').appendTo(i.$refs.container.find(a).addBack().filter(a)),o.$grid.on("click","a",function(){i.jumpTo(e(this).attr("data-index"))})),o.$list||(o.$list=e('<div class="'+n+'__list">').appendTo(o.$grid)),e.each(i.group,function(e,n){t=n.thumb,t||"image"!==n.type||(t=n.src),s.push('<a href="javascript:;" tabindex="0" data-index="'+e+'"'+(t&&t.length?' style="background-image:url('+t+')"':'class="fancybox-thumbs-missing"')+"></a>")}),o.$list[0].innerHTML=s.join(""),"x"===o.opts.axis&&o.$list.width(parseInt(o.$grid.css("padding-right"),10)+i.group.length*o.$list.children().eq(0).outerWidth(!0))},focus:function(t){var e,n,o=this,i=o.$list,a=o.$grid;o.instance.current&&(e=i.children().removeClass("fancybox-thumbs-active").filter('[data-index="'+o.instance.current.index+'"]').addClass("fancybox-thumbs-active"),n=e.position(),"y"===o.opts.axis&&(n.top<0||n.top>i.height()-e.outerHeight())?i.stop().animate({scrollTop:i.scrollTop()+n.top},t):"x"===o.opts.axis&&(n.left<a.scrollLeft()||n.left>a.scrollLeft()+(a.width()-e.outerWidth()))&&i.parent().stop().animate({scrollLeft:n.left},t))},update:function(){var t=this;t.instance.$refs.container.toggleClass("fancybox-show-thumbs",this.isVisible),t.isVisible?(t.$grid||t.create(),t.instance.trigger("onThumbsShow"),t.focus(0)):t.$grid&&t.instance.trigger("onThumbsHide"),t.instance.update()},hide:function(){this.isVisible=!1,this.update()},show:function(){this.isVisible=!0,this.update()},toggle:function(){this.isVisible=!this.isVisible,this.update()}}),e(t).on({"onInit.fb":function(t,e){var n;e&&!e.Thumbs&&(n=new o(e),n.isActive&&!0===n.opts.autoStart&&n.show())},"beforeShow.fb":function(t,e,n,o){var i=e&&e.Thumbs;i&&i.isVisible&&i.focus(o?0:250)},"afterKeydown.fb":function(t,e,n,o,i){var a=e&&e.Thumbs;a&&a.isActive&&71===i&&(o.preventDefault(),a.toggle())},"beforeClose.fb":function(t,e){var n=e&&e.Thumbs;n&&n.isVisible&&!1!==n.opts.hideOnClose&&n.$grid.hide()}})}(document,jQuery),function(t,e){"use strict";function n(t){var e={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};return String(t).replace(/[&<>"'`=\/]/g,function(t){return e[t]})}e.extend(!0,e.fancybox.defaults,{btnTpl:{share:'<button data-fancybox-share class="fancybox-button fancybox-button--share" title="{{SHARE}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2.55 19c1.4-8.4 9.1-9.8 11.9-9.8V5l7 7-7 6.3v-3.5c-2.8 0-10.5 2.1-11.9 4.2z"/></svg></button>'},share:{url:function(t,e){return!t.currentHash&&"inline"!==e.type&&"html"!==e.type&&(e.origSrc||e.src)||window.location},
11045tpl:'<div class="fancybox-share"><h1>{{SHARE}}</h1><p><a class="fancybox-share__button fancybox-share__button--fb" href="https://www.facebook.com/sharer/sharer.php?u={{url}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m287 456v-299c0-21 6-35 35-35h38v-63c-7-1-29-3-55-3-54 0-91 33-91 94v306m143-254h-205v72h196" /></svg><span>Facebook</span></a><a class="fancybox-share__button fancybox-share__button--tw" href="https://twitter.com/intent/tweet?url={{url}}&text={{descr}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m456 133c-14 7-31 11-47 13 17-10 30-27 37-46-15 10-34 16-52 20-61-62-157-7-141 75-68-3-129-35-169-85-22 37-11 86 26 109-13 0-26-4-37-9 0 39 28 72 65 80-12 3-25 4-37 2 10 33 41 57 77 57-42 30-77 38-122 34 170 111 378-32 359-208 16-11 30-25 41-42z" /></svg><span>Twitter</span></a><a class="fancybox-share__button fancybox-share__button--pt" href="https://www.pinterest.com/pin/create/button/?url={{url}}&description={{descr}}&media={{media}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m265 56c-109 0-164 78-164 144 0 39 15 74 47 87 5 2 10 0 12-5l4-19c2-6 1-8-3-13-9-11-15-25-15-45 0-58 43-110 113-110 62 0 96 38 96 88 0 67-30 122-73 122-24 0-42-19-36-44 6-29 20-60 20-81 0-19-10-35-31-35-25 0-44 26-44 60 0 21 7 36 7 36l-30 125c-8 37-1 83 0 87 0 3 4 4 5 2 2-3 32-39 42-75l16-64c8 16 31 29 56 29 74 0 124-67 124-157 0-69-58-132-146-132z" fill="#fff"/></svg><span>Pinterest</span></a></p><p><input class="fancybox-share__input" type="text" value="{{url_raw}}" onclick="select()" /></p></div>'}}),e(t).on("click","[data-fancybox-share]",function(){var t,o,i=e.fancybox.getInstance(),a=i.current||null;a&&("function"===e.type(a.opts.share.url)&&(t=a.opts.share.url.apply(a,[i,a])),o=a.opts.share.tpl.replace(/\{\{media\}\}/g,"image"===a.type?encodeURIComponent(a.src):"").replace(/\{\{url\}\}/g,encodeURIComponent(t)).replace(/\{\{url_raw\}\}/g,n(t)).replace(/\{\{descr\}\}/g,i.$caption?encodeURIComponent(i.$caption.text()):""),e.fancybox.open({src:i.translate(i,o),type:"html",opts:{touch:!1,animationEffect:!1,afterLoad:function(t,e){i.$refs.container.one("beforeClose.fb",function(){t.close(null,0)}),e.$content.find(".fancybox-share__button").click(function(){return window.open(this.href,"Share","width=550, height=450"),!1})},mobile:{autoFocus:!1}}}))})}(document,jQuery),function(t,e,n){"use strict";function o(){var e=t.location.hash.substr(1),n=e.split("-"),o=n.length>1&&/^\+?\d+$/.test(n[n.length-1])?parseInt(n.pop(-1),10)||1:1,i=n.join("-");return{hash:e,index:o<1?1:o,gallery:i}}function i(t){""!==t.gallery&&n("[data-fancybox='"+n.escapeSelector(t.gallery)+"']").eq(t.index-1).focus().trigger("click.fb-start")}function a(t){var e,n;return!!t&&(e=t.current?t.current.opts:t.opts,""!==(n=e.hash||(e.$orig?e.$orig.data("fancybox")||e.$orig.data("fancybox-trigger"):""))&&n)}n.escapeSelector||(n.escapeSelector=function(t){return(t+"").replace(/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t})}),n(function(){!1!==n.fancybox.defaults.hash&&(n(e).on({"onInit.fb":function(t,e){var n,i;!1!==e.group[e.currIndex].opts.hash&&(n=o(),(i=a(e))&&n.gallery&&i==n.gallery&&(e.currIndex=n.index-1))},"beforeShow.fb":function(n,o,i,s){var r;i&&!1!==i.opts.hash&&(r=a(o))&&(o.currentHash=r+(o.group.length>1?"-"+(i.index+1):""),t.location.hash!=="#"+o.currentHash&&(s&&!o.origHash&&(o.origHash=t.location.hash),o.hashTimer&&clearTimeout(o.hashTimer),o.hashTimer=setTimeout(function(){"replaceState"in t.history?(t.history[s?"pushState":"replaceState"]({},e.title,t.location.pathname+t.location.search+"#"+o.currentHash),s&&(o.hasCreatedHistory=!0)):t.location.hash=o.currentHash,o.hashTimer=null},300)))},"beforeClose.fb":function(n,o,i){i&&!1!==i.opts.hash&&(clearTimeout(o.hashTimer),o.currentHash&&o.hasCreatedHistory?t.history.back():o.currentHash&&("replaceState"in t.history?t.history.replaceState({},e.title,t.location.pathname+t.location.search+(o.origHash||"")):t.location.hash=o.origHash),o.currentHash=null)}}),n(t).on("hashchange.fb",function(){var t=o(),e=null;n.each(n(".fancybox-container").get().reverse(),function(t,o){var i=n(o).data("FancyBox");if(i&&i.currentHash)return e=i,!1}),e?e.currentHash===t.gallery+"-"+t.index||1===t.index&&e.currentHash==t.gallery||(e.currentHash=null,e.close()):""!==t.gallery&&i(t)}),setTimeout(function(){n.fancybox.getInstance()||i(o())},50))})}(window,document,jQuery),function(t,e){"use strict";var n=(new Date).getTime();e(t).on({"onInit.fb":function(t,e,o){e.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll",function(t){var o=e.current,i=(new Date).getTime();e.group.length<2||!1===o.opts.wheel||"auto"===o.opts.wheel&&"image"!==o.type||(t.preventDefault(),t.stopPropagation(),o.$slide.hasClass("fancybox-animated")||(t=t.originalEvent||t,i-n<250||(n=i,e[(-t.deltaY||-t.deltaX||t.wheelDelta||-t.detail)<0?"next":"previous"]())))})}})}(document,jQuery);
vendor: 9,549 bytes, lines 11045-11054
11045
11046/* End */
11047;
11048; /* Start:"a:4:{s:4:"full";s:76:"/local/templates/culture/build/js/jquery-ui-accordion.min.js?176656724451638";s:6:"source";s:60:"/local/templates/culture/build/js/jquery-ui-accordion.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
11049/*! jQuery UI - v1.13.2 - 2022-12-28
11050* http://jqueryui.com
11051* Includes: widget.js, position.js, data.js, disable-selection.js, focusable.js, form-reset-mixin.js, jquery-patch.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js
11052* Copyright jQuery Foundation and other contributors; Licensed MIT */
11053
11054!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(_){"use strict";_.ui=_.ui||{};_.ui.version="1.13.2";var o,i=0,a=Array.prototype.hasOwnProperty,r=Array.prototype.slice;_.cleanData=(o=_.cleanData,function(t){for(var e,i,n=0;null!=(i=t[n]);n++)(e=_._data(i,"events"))&&e.remove&&_(i).triggerHandler("remove");o(t)}),_.widget=function(t,i,e){var n,o,s,a={},r=t.split(".")[0],c=r+"-"+(t=t.split(".")[1]);return e||(e=i,i=_.Widget),Array.isArray(e)&&(e=_.extend.apply(null,[{}].concat(e))),_.expr.pseudos[c.toLowerCase()]=function(t){return!!_.data(t,c)},_[r]=_[r]||{},n=_[r][t],o=_[r][t]=function(t,e){if(!this||!this._createWidget)return new o(t,e);arguments.length&&this._createWidget(t,e)},_.extend(o,n,{version:e.version,_proto:_.extend({},e),_childConstructors:[]}),(s=new i).options=_.widget.extend({},s.options),_.each(e,function(e,n){function o(){return i.prototype[e].apply(this,arguments)}function s(t){return i.prototype[e].apply(this,t)}a[e]="function"==typeof n?function(){var t,e=this._super,i=this._superApply;return this._super=o,this._superApply=s,t=n.apply(this,arguments),this._super=e,this._superApply=i,t}:n}),o.prototype=_.widget.extend(s,{widgetEventPrefix:n&&s.widgetEventPrefix||t},a,{constructor:o,namespace:r,widgetName:t,widgetFullName:c}),n?(_.each(n._childConstructors,function(t,e){var i=e.prototype;_.widget(i.namespace+"."+i.widgetName,o,e._proto)}),delete n._childConstructors):i._childConstructors.push(o),_.widget.bridge(t,o),o},_.widget.extend=function(t){for(var e,i,n=r.call(arguments,1),o=0,s=n.length;o<s;o++)for(e in n[o])i=n[o][e],a.call(n[o],e)&&void 0!==i&&(_.isPlainObject(i)?t[e]=_.isPlainObject(t[e])?_.widget.extend({},t[e],i):_.widget.extend({},i):t[e]=i);return t},_.widget.bridge=function(s,e){var a=e.prototype.widgetFullName||s;_.fn[s]=function(i){var t="string"==typeof i,n=r.call(arguments,1),o=this;return t?this.length||"instance"!==i?this.each(function(){var t,e=_.data(this,a);return"instance"===i?(o=e,!1):e?"function"!=typeof e[i]||"_"===i.charAt(0)?_.error("no such method '"+i+"' for "+s+" widget instance"):(t=e[i].apply(e,n))!==e&&void 0!==t?(o=t&&t.jquery?o.pushStack(t.get()):t,!1):void 0:_.error("cannot call methods on "+s+" prior to initialization; attempted to call method '"+i+"'")}):o=void 0:(n.length&&(i=_.widget.extend.apply(null,[i].concat(n))),this.each(function(){var t=_.data(this,a);t?(t.option(i||{}),t._init&&t._init()):_.data(this,a,new e(i,this))})),o}},_.Widget=function(){},_.Widget._childConstructors=[],_.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=_(e||this.defaultElement||this)[0],this.element=_(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=_(),this.hoverable=_(),this.focusable=_(),this.classesElementLookup={},e!==this&&(_.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=_(e.style?e.ownerDocument:e.document||e),this.window=_(this.document[0].defaultView||this.document[0].parentWindow)),this.options=_.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:_.noop,_create:_.noop,_init:_.noop,destroy:function(){var i=this;this._destroy(),_.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:_.noop,widget:function(){return this.element},option:function(t,e){var i,n,o,s=t;if(0===arguments.length)return _.widget.extend({},this.options);if("string"==typeof t)if(s={},t=(i=t.split(".")).shift(),i.length){for(n=s[t]=_.widget.extend({},this.options[t]),o=0;o<i.length-1;o++)n[i[o]]=n[i[o]]||{},n=n[i[o]];if(t=i.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=e}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];s[t]=e}return this._setOptions(s),this},_setOptions:function(t){for(var e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(t){var e,i,n;for(e in t)n=this.classesElementLookup[e],t[e]!==this.options.classes[e]&&n&&n.length&&(i=_(n.get()),this._removeClass(n,e),i.addClass(this._classes({element:i,keys:e,classes:t,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(o){var s=[],a=this;function t(t,e){for(var i,n=0;n<t.length;n++)i=a.classesElementLookup[t[n]]||_(),i=o.add?(function(){var i=[];o.element.each(function(t,e){_.map(a.classesElementLookup,function(t){return t}).some(function(t){return t.is(e)})||i.push(e)}),a._on(_(i),{remove:"_untrackClassesElement"})}(),_(_.uniqueSort(i.get().concat(o.element.get())))):_(i.not(o.element).get()),a.classesElementLookup[t[n]]=i,s.push(t[n]),e&&o.classes[t[n]]&&s.push(o.classes[t[n]])}return(o=_.extend({element:this.element,classes:this.options.classes||{}},o)).keys&&t(o.keys.match(/\S+/g)||[],!0),o.extra&&t(o.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(i){var n=this;_.each(n.classesElementLookup,function(t,e){-1!==_.inArray(i.target,e)&&(n.classesElementLookup[t]=_(e.not(i.target).get()))}),this._off(_(i.target))},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,n){var o="string"==typeof t||null===t,i={extra:o?e:i,keys:o?t:e,element:o?this.element:t,add:n="boolean"==typeof n?n:i};return i.element.toggleClass(this._classes(i),n),this},_on:function(o,s,t){var a,r=this;"boolean"!=typeof o&&(t=s,s=o,o=!1),t?(s=a=_(s),this.bindings=this.bindings.add(s)):(t=s,s=this.element,a=this.widget()),_.each(t,function(t,e){function i(){if(o||!0!==r.options.disabled&&!_(this).hasClass("ui-state-disabled"))return("string"==typeof e?r[e]:e).apply(r,arguments)}"string"!=typeof e&&(i.guid=e.guid=e.guid||i.guid||_.guid++);var n=t.match(/^([\w:-]*)\s*(.*)$/),t=n[1]+r.eventNamespace,n=n[2];n?a.on(t,n,i):s.on(t,i)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.off(e),this.bindings=_(this.bindings.not(t).get()),this.focusable=_(this.focusable.not(t).get()),this.hoverable=_(this.hoverable.not(t).get())},_delay:function(t,e){var i=this;return setTimeout(function(){return("string"==typeof t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(_(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(_(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(_(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(_(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,e,i){var n,o,s=this.options[t];if(i=i||{},(e=_.Event(e)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),e.target=this.element[0],o=e.originalEvent)for(n in o)n in e||(e[n]=o[n]);return this.element.trigger(e,i),!("function"==typeof s&&!1===s.apply(this.element[0],[e].concat(i))||e.isDefaultPrevented())}},_.each({show:"fadeIn",hide:"fadeOut"},function(s,a){_.Widget.prototype["_"+s]=function(e,t,i){var n,o=(t="string"==typeof t?{effect:t}:t)?!0!==t&&"number"!=typeof t&&t.effect||a:s;"number"==typeof(t=t||{})?t={duration:t}:!0===t&&(t={}),n=!_.isEmptyObject(t),t.complete=i,t.delay&&e.delay(t.delay),n&&_.effects&&_.effects.effect[o]?e[s](t):o!==s&&e[o]?e[o](t.duration,t.easing,i):e.queue(function(t){_(this)[s](),i&&i.call(e[0]),t()})}});var n,C,W,s,c,l,h,f,H;_.widget;function T(t,e,i){return[parseFloat(t[0])*(f.test(t[0])?e/100:1),parseFloat(t[1])*(f.test(t[1])?i/100:1)]}function k(t,e){return parseInt(_.css(t,e),10)||0}function S(t){return null!=t&&t===t.window}
vendor: 4,349 bytes, line 11054
11054C=Math.max,W=Math.abs,s=/left|center|right/,c=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,h=/^\w+/,f=/%$/,H=_.fn.position,_.position={scrollbarWidth:function(){if(void 0!==n)return n;var t,e=_("<div style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'></div></div>"),i=e.children()[0];return _("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),n=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.width<t.element[0].scrollWidth;return{width:"scroll"===i||"auto"===i&&t.height<t.element[0].scrollHeight?_.position.scrollbarWidth():0,height:e?_.position.scrollbarWidth():0}},getWithinInfo:function(t){var e=_(t||window),i=S(e[0]),n=!!e[0]&&9===e[0].nodeType;return{element:e,isWindow:i,isDocument:n,offset:!i&&!n?_(t).offset():{left:0,top:0},scrollLeft:e.scrollLeft(),scrollTop:e.scrollTop(),width:e.outerWidth(),height:e.outerHeight()}}},_.fn.position=function(f){if(!f||!f.of)return H.apply(this,arguments);var d,u,p,g,m,t,v="string"==typeof(f=_.extend({},f)).of?_(document).find(f.of):_(f.of),b=_.position.getWithinInfo(f.within),y=_.position.getScrollInfo(b),x=(f.collision||"flip").split(" "),w={},e=9===(t=(e=v)[0]).nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:S(t)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:t.preventDefault?{width:0,height:0,offset:{top:t.pageY,left:t.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()};return v[0].preventDefault&&(f.at="left top"),u=e.width,p=e.height,m=_.extend({},g=e.offset),_.each(["my","at"],function(){var t,e,i=(f[this]||"").split(" ");(i=1===i.length?s.test(i[0])?i.concat(["center"]):c.test(i[0])?["center"].concat(i):["center","center"]:i)[0]=s.test(i[0])?i[0]:"center",i[1]=c.test(i[1])?i[1]:"center",t=l.exec(i[0]),e=l.exec(i[1]),w[this]=[t?t[0]:0,e?e[0]:0],f[this]=[h.exec(i[0])[0],h.exec(i[1])[0]]}),1===x.length&&(x[1]=x[0]),"right"===f.at[0]?m.left+=u:"center"===f.at[0]&&(m.left+=u/2),"bottom"===f.at[1]?m.top+=p:"center"===f.at[1]&&(m.top+=p/2),d=T(w.at,u,p),m.left+=d[0],m.top+=d[1],this.each(function(){var i,t,a=_(this),r=a.outerWidth(),c=a.outerHeight(),e=k(this,"marginLeft"),n=k(this,"marginTop"),o=r+e+k(this,"marginRight")+y.width,s=c+n+k(this,"marginBottom")+y.height,l=_.extend({},m),h=T(w.my,a.outerWidth(),a.outerHeight());"right"===f.my[0]?l.left-=r:"center"===f.my[0]&&(l.left-=r/2),"bottom"===f.my[1]?l.top-=c:"center"===f.my[1]&&(l.top-=c/2),l.left+=h[0],l.top+=h[1],i={marginLeft:e,marginTop:n},_.each(["left","top"],function(t,e){_.ui.position[x[t]]&&_.ui.position[x[t]][e](l,{targetWidth:u,targetHeight:p,elemWidth:r,elemHeight:c,collisionPosition:i,collisionWidth:o,collisionHeight:s,offset:[d[0]+h[0],d[1]+h[1]],my:f.my,at:f.at,within:b,elem:a})}),f.using&&(t=function(t){var e=g.left-l.left,i=e+u-r,n=g.top-l.top,o=n+p-c,s={target:{element:v,left:g.left,top:g.top,width:u,height:p},element:{element:a,left:l.left,top:l.top,width:r,height:c},horizontal:i<0?"left":0<e?"right":"center",vertical:o<0?"top":0<n?"bottom":"middle"};u<r&&W(e+i)<u&&(s.horizontal="center"),p<c&&W(n+o)<p&&(s.vertical="middle"),C(W(e),W(i))>C(W(n),W(o))?s.important="horizontal":s.important="vertical",f.using.call(this,t,s)}),a.offset(_.extend(l,{using:t}))})},_.ui.position={fit:{left:function(t,e){var i=e.within,n=i.isWindow?i.scrollLeft:i.offset.left,o=i.width,s=t.left-e.collisionPosition.marginLeft,a=n-s,r=s+e.collisionWidth-o-n;e.collisionWidth>o?0<a&&r<=0?(i=t.left+a+e.collisionWidth-o-n,t.left+=a-i):t.left=!(0<r&&a<=0)&&r<a?n+o-e.collisionWidth:n:0<a?t.left+=a:0<r?t.left-=r:t.left=C(t.left-s,t.left)},top:function(t,e){var i=e.within,n=i.isWindow?i.scrollTop:i.offset.top,o=e.within.height,s=t.top-e.collisionPosition.marginTop,a=n-s,r=s+e.collisionHeight-o-n;e.collisionHeight>o?0<a&&r<=0?(i=t.top+a+e.collisionHeight-o-n,t.top+=a-i):t.top=!(0<r&&a<=0)&&r<a?n+o-e.collisionHeight:n:0<a?t.top+=a:0<r?t.top-=r:t.top=C(t.top-s,t.top)}},flip:{left:function(t,e){var i=e.within,n=i.offset.left+i.scrollLeft,o=i.width,s=i.isWindow?i.scrollLeft:i.offset.left,a=t.left-e.collisionPosition.marginLeft,r=a-s,c=a+e.collisionWidth-o-s,l="left"
vendor: 11,216 bytes, line 11054
11054===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,i="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,a=-2*e.offset[0];r<0?((n=t.left+l+i+a+e.collisionWidth-o-n)<0||n<W(r))&&(t.left+=l+i+a):0<c&&(0<(s=t.left-e.collisionPosition.marginLeft+l+i+a-s)||W(s)<c)&&(t.left+=l+i+a)},top:function(t,e){var i=e.within,n=i.offset.top+i.scrollTop,o=i.height,s=i.isWindow?i.scrollTop:i.offset.top,a=t.top-e.collisionPosition.marginTop,r=a-s,c=a+e.collisionHeight-o-s,l="top"===e.my[1]?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,i="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,a=-2*e.offset[1];r<0?((n=t.top+l+i+a+e.collisionHeight-o-n)<0||n<W(r))&&(t.top+=l+i+a):0<c&&(0<(s=t.top-e.collisionPosition.marginTop+l+i+a-s)||W(s)<c)&&(t.top+=l+i+a)}},flipfit:{left:function(){_.ui.position.flip.left.apply(this,arguments),_.ui.position.fit.left.apply(this,arguments)},top:function(){_.ui.position.flip.top.apply(this,arguments),_.ui.position.fit.top.apply(this,arguments)}}};var t;_.ui.position,_.extend(_.expr.pseudos,{data:_.expr.createPseudo?_.expr.createPseudo(function(e){return function(t){return!!_.data(t,e)}}):function(t,e,i){return!!_.data(t,i[3])}}),_.fn.extend({disableSelection:(t="onselectstart"in document.createElement("div")?"selectstart":"mousedown",function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}),enableSelection:function(){return this.off(".ui-disableSelection")}});_.ui.focusable=function(t,e){var i,n,o,s,a=t.nodeName.toLowerCase();return"area"===a?(n=(i=t.parentNode).name,!(!t.href||!n||"map"!==i.nodeName.toLowerCase())&&(0<(n=_("img[usemap='#"+n+"']")).length&&n.is(":visible"))):(/^(input|select|textarea|button|object)$/.test(a)?(o=!t.disabled)&&(s=_(t).closest("fieldset")[0])&&(o=!s.disabled):o="a"===a&&t.href||e,o&&_(t).is(":visible")&&function(t){var e=t.css("visibility");for(;"inherit"===e;)t=t.parent(),e=t.css("visibility");return"visible"===e}(_(t)))},_.extend(_.expr.pseudos,{focusable:function(t){return _.ui.focusable(t,null!=_.attr(t,"tabindex"))}});var e,d;_.ui.focusable,_.fn._form=function(){return"string"==typeof this[0].form?this.closest("form"):_(this[0].form)},_.ui.formResetMixin={_formResetHandler:function(){var e=_(this);setTimeout(function(){var t=e.data("ui-form-reset-instances");_.each(t,function(){this.refresh()})})},_bindFormResetHandler:function(){var t;this.form=this.element._form(),this.form.length&&((t=this.form.data("ui-form-reset-instances")||[]).length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t))},_unbindFormResetHandler:function(){var t;this.form.length&&((t=this.form.data("ui-form-reset-instances")).splice(_.inArray(this,t),1),t.length?this.form.data("ui-form-reset-instances",t):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset"))}};_.expr.pseudos||(_.expr.pseudos=_.expr[":"]),_.uniqueSort||(_.uniqueSort=_.unique),_.escapeSelector||(e=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,d=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},_.escapeSelector=function(t){return(t+"").replace(e,d)}),_.fn.even&&_.fn.odd||_.fn.extend({even:function(){return this.filter(function(t){return t%2==0})},odd:function(){return this.filter(function(t){return t%2==1})}});_.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},_.fn.labels=function(){var t,e,i;return this.length?this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(e=this.eq(0).parents("label"),(t=this.attr("id"))&&(i=(i=this.eq(0).parents().last()).add((i.length?i:this).siblings()),t="label[for='"+_.escapeSelector(t)+"']",e=e.add(i.find(t).addBack(t))),this.pushStack(e)):this.pushStack([])},_.fn.scrollParent=function(t){var e=this.css("position"),i="absolute"===e,n=t?/(auto|scroll|hidden)/:/(auto|scroll)/,t=this.parents().filter(function(){var t=_(this);return(!i||"static"!==t.css("position"))&&n.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==e&&t.length?t:_(this[0].ownerDocument||document)},_.extend(_.expr.pseudos,{tabbable:function(t){var e=_.attr(t,"tabindex"),i=null!=e;return(!i||0<=e)&&_.ui.focusable(t,i)}}),_.fn.extend({uniqueId:(u=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++u)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&_(this).removeAttr("id")})}}),_.widget("ui.accordion",{version:"1.13.2",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:!1,event:"click",header:function(t){return t.find("> li > :first-child").add(t.find("> :not(li)").even())},heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var t=this.options;this.prevShow=this.prevHide=_(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),t.collapsible||!1!==t.active&&null!=t.active||(t.active=0),this._processPanels(),t.active<0&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():_()}},_createIcons:function(){var t,e=this.options.icons;e&&(t=_("<span>"),this._addClass(t,"ui-accordion-header-icon","ui-icon "+e.header),t.prependTo(this.headers),t=this.active.children(".ui-accordion-header-icon"),this._removeClass(t,e.header)._addClass(t,null,e.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){"active"!==t?("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||!1!==this.options.active||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons())):this._activate(e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!t)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var e=_.ui.keyCode,i=this.headers.length,n=this.headers.index(t.target),o=!1;switch(t.keyCode){case e.RIGHT:case e.DOWN:o=this.headers[(n+1)%i];break;case e.LEFT:case e.UP:o=this.headers[(n-1+i)%i];break;case e.SPACE:case e.ENTER:this._eventHandler(t);break;case e.HOME:o=this.headers[0];break;case e.END:o=this.headers[i-1]}o&&(_(t.target).attr("tabIndex",-1),_(o).attr("tabIndex",0),_(o).trigger("focus"),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===_.ui.keyCode.UP&&t.ctrlKey&&_(t.currentTarget).prev().trigger("focus")},refresh:function(){var t=this.options;this._processPanels(),!1===t.active&&!0===t.collapsible||!this.headers.length?(t.active=!1,this.active=_()):!1===t.active?this._activate(0):this.active.length&&!_.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=_()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;"function"==typeof this.options.header?this.headers=this.options.header(this.element):this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var i,t=this.options,e=t.heightStyle,n=this.element.parent();this.active=this._findActive(t.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each(function(){var t=_(this),e=t.uniqueId().attr("id"),i=t.next(),n=i.uniqueId().attr("id");t.attr("aria-controls",n),i.attr("aria-labelledby",e)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(t.event),"fill"===e?(i=n.height(),this.element.siblings(":visible").each(function(){var t=_(this),e=t.css("position");"absolute"!==e&&"fixed"!==e&&(i-=t.outerHeight(!0))}),this.headers.each(function(){i-=_(this).outerHeight(!0)}),this.headers.next().each(function(){_(this).height(Math.max(0,i-_(this).innerHeight()+_(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.headers.next().each(function(){var t=_(this).is(":visible");t||_(this).show(),i=Math.max(i,_(this).css("height","").height()),t||_(this).hide()}).height(i))},_activate:function(t){t=this._findActive(t)[0];t!==this.active[0]&&(t=t||this.active[0],this._eventHandler({target:t,currentTarget:t,preventDefault:_.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):_()},_setupEvents:function(t){var i={keydown:"_keydown"};t&&_.each(t.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var e=this.options,i=this.active,n=_(t.currentTarget),o=n[0]===i[0],s=o&&e.collapsible,a=s?_():n.next(),r=i.next(),a={oldHeader:i,oldPanel:r,newHeader:s?_():n,newPanel:a};t.preventDefault(),o&&!e.collapsible||!1===this._trigger("beforeActivate",t,a)||(e.active=!s&&this.headers.index(n),this.active=o?_():n,this._toggle(a),this._removeClass(i,"ui-accordion-header-active","ui-state-active"),e.icons&&(i=i.children(".ui-accordion-header-icon"),this._removeClass(i,null,e.icons.activeHeader)._addClass(i,null,e.icons.header)),o||(this._removeClass(n,"ui-accordion-header-collapsed")._addClass(n,"ui-accordion-header-active","ui-state-active"),e.icons&&(o=n.
vendor: 10,423 bytes, line 11054
11054children(".ui-accordion-header-icon"),this._removeClass(o,null,e.icons.header)._addClass(o,null,e.icons.activeHeader)),this._addClass(n.next(),"ui-accordion-content-active")))},_toggle:function(t){var e=t.newPanel,i=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=e,this.prevHide=i,this.options.animate?this._animate(e,i,t):(i.hide(),e.show(),this._toggleComplete(t)),i.attr({"aria-hidden":"true"}),i.prev().attr({"aria-selected":"false","aria-expanded":"false"}),e.length&&i.length?i.prev().attr({tabIndex:-1,"aria-expanded":"false"}):e.length&&this.headers.filter(function(){return 0===parseInt(_(this).attr("tabIndex"),10)}).attr("tabIndex",-1),e.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,i,e){var n,o,s,a=this,r=0,c=t.css("box-sizing"),l=t.length&&(!i.length||t.index()<i.index()),h=this.options.animate||{},f=l&&h.down||h,l=function(){a._toggleComplete(e)};return o=(o="string"==typeof f?f:o)||f.easing||h.easing,s=(s="number"==typeof f?f:s)||f.duration||h.duration,i.length?t.length?(n=t.show().outerHeight(),i.animate(this.hideProps,{duration:s,easing:o,step:function(t,e){e.now=Math.round(t)}}),void t.hide().animate(this.showProps,{duration:s,easing:o,complete:l,step:function(t,e){e.now=Math.round(t),"height"!==e.prop?"content-box"===c&&(r+=e.now):"content"!==a.options.heightStyle&&(e.now=Math.round(n-i.outerHeight()-r),r=0)}})):i.animate(this.hideProps,s,o,l):t.animate(this.showProps,s,o,l)},_toggleComplete:function(t){var e=t.oldPanel,i=e.prev();this._removeClass(e,"ui-accordion-content-active"),this._removeClass(i,"ui-accordion-header-active")._addClass(i,"ui-accordion-header-collapsed"),e.length&&(e.parent()[0].className=e.parent()[0].className),this._trigger("activate",null,t)}});var u,p=_,g={},m=g.toString,v=/^([\-+])=\s*(\d+\.?\d*)/,b=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16),t[4]?(parseInt(t[4],16)/255).toFixed(2):1]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16),t[4]?(parseInt(t[4]+t[4],16)/255).toFixed(2):1]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],y=p.Color=function(t,e,i,n){return new p.Color.fn.parse(t,e,i,n)},x={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},w={byte:{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},P=y.support={},I=p("<p>")[0],E=p.each;function D(t){return null==t?t+"":"object"==typeof t?g[m.call(t)]||"object":typeof t}function q(t,e,i){var n=w[e.type]||{};return null==t?i||!e.def?null:e.def:(t=n.floor?~~t:parseFloat(t),isNaN(t)?e.def:n.mod?(t+n.mod)%n.mod:Math.min(n.max,Math.max(0,t)))}function L(n){var o=y(),s=o._rgba=[];return n=n.toLowerCase(),E(b,function(t,e){var i=e.re.exec(n),i=i&&e.parse(i),e=e.space||"rgba";if(i)return i=o[e](i),o[x[e].cache]=i[x[e].cache],s=o._rgba=i._rgba,!1}),s.length?("0,0,0,0"===s.join()&&p.extend(s,$.transparent),o):$[n]}function M(t,e,i){return 6*(i=(i+1)%1)<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}I.style.cssText="background-color:rgba(1,1,1,.5)",P.rgba=-1<I.style.backgroundColor.indexOf("rgba"),E(x,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),p.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(t,e){g["[object "+e+"]"]=e.toLowerCase()}),(y.fn=p.extend(y.prototype,{parse:function(o,t,e,i){if(void 0===o)return this._rgba=[null,null,null,null],this;(o.jquery||o.nodeType)&&(o=p(o).css(t),t=void 0);var s=this,n=D(o),a=this._rgba=[];return void 0!==t&&(o=[o,t,e,i],n="array"),"string"===n?this.parse(L(o)||$._default):"array"===n?(E(x.rgba.props,function(t,e){a[e.idx]=q(o[e.idx],e)}),this):"object"===n?(E(x,o instanceof y?function(t,e){o[e.cache]&&(s[e.cache]=o[e.cache].slice())}:function(t,i){var n=i.cache;E(i.props,function(t,e){if(!s[n]&&i.to){if("alpha"===t||null==o[t])return;s[n]=i.to(s._rgba)}s[n][e.idx]=q(o[t],e,!0)}),s[n]&&p.inArray(null,s[n].slice(0,3))<0&&(null==s[n][3]&&(s[n][3]=1),i.from&&(s._rgba=i.from(s[n])))}),this):void 0},is:function(t){var o=y(t),s=!0,a=this;return E(x,function(t,e){var i,n=o[e.cache];return n&&(i=a[e.cache]||e.to&&e.to(a._rgba)||[],E(e.props,function(t,e){if(null!=n[e.idx])return s=n[e.idx]===i[e.idx]})),s}),s},_space:function(){var i=[],n=this;return E(x,function(t,e){n[e.cache]&&i.push(t)}),i.pop()},transition:function(t,a){var e=(l=y(t))._space(),i=x[e],t=0===this.alpha()?y("transparent"):this,r=t[i.cache]||i.to(t._rgba),c=r.slice(),l=l[i.cache];return E(i.props,function(t,e){var i=e.idx,n=r[i],o=l[i],s=w[e.type]||{};null!==o&&(null===n?c[i]=o:(s.mod&&(o-n>s.mod/2?n+=s.mod:n-o>s.mod/2&&(n-=s.mod)),c[i]=q((o-n)*a+n,e)))}),this[e](c)},blend:function(t){if(1===this._rgba[3])return this;var e=this._rgba.slice(),i=e.pop(),n=y(t)._rgba;return y(p.map(e,function(t,e){return(1-i)*n[e]+i*t}))},toRgbaString:function(){var t="rgba(",e=p.map(this._rgba,function(t,e){return null!=t?t:2<e?1:0});return 1===e[3]&&(e.pop(),t="rgb("),t+e.join()+")"},toHslaString:function(){var t="hsla(",e=p.map(this.hsla(),function(t,e){return null==t&&(t=2<e?1:0),t=e&&e<3?Math.round(100*t)+"%":t});return 1===e[3]&&(e.pop(),t="hsl("),t+e.join()+")"},toHexString:function(t){var e=this._rgba.slice(),i=e.pop();return t&&e.push(~~(255*i)),"#"+p.map(e,function(t){return 1===(t=(t||0).toString(16)).length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}})).parse.prototype=y.fn,x.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/255,i=t[1]/255,n=t[2]/255,o=t[3],s=Math.max(e,i,n),a=Math.min(e,i,n),r=s-a,c=s+a,t=.5*c,i=a===s?0:e===s?60*(i-n)/r+360:i===s?60*(n-e)/r+120:60*(e-i)/r+240,c=0==r?0:t<=.5?r/c:r/(2-c);return[Math.round(i)%360,c,t,null==o?1:o]},x.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],n=t[2],t=t[3],i=n<=.5?n*(1+i):n+i-n*i,n=2*n-i;return[Math.round(255*M(n,i,e+1/3)),Math.round(255*M(n,i,e)),Math.round(255*M(n,i,e-1/3)),t]},E(x,function(c,t){var e=t.props,s=t.cache,a=t.to,r=t.from;y.fn[c]=function(t){if(a&&!this[s]&&(this[s]=a(this._rgba)),void 0===t)return this[s].slice();var i=D(t),n="array"===i||"object"===i?t:arguments,o=this[s].slice();return E(e,function(t,e){t=n["object"===i?t:e.idx];null==t&&(t=o[e.idx]),o[e.idx]=q(t,e)}),r?((t=y(r(o)))[s]=o,t):y(o)},E(e,function(a,r){y.fn[a]||(y.fn[a]=function(t){var e,i=D(t),n="alpha"===a?this._hsla?"hsla":"rgba":c,o=this[n](),s=o[r.idx];return"undefined"===i?s:("function"===i&&(i=D(t=t.call(this,s))),null==t&&r.empty?this:("string"===i&&(e=v.exec(t))&&(t=s+parseFloat(e[2])*("+"===e[1]?1:-1)),o[r.idx]=t,this[n](o)))})})}),(y.hook=function(t){t=t.split(" ");E(t,function(t,s){p.cssHooks[s]={set:function(t,e){var i,n,o="";if("transparent"!==e&&("string"!==D(e)||(i=L(e)))){if(e=y(i||e),!P.rgba&&1!==e._rgba[3]){for(n="backgroundColor"===s?t.parentNode:t;(""===o||"transparent"===o)&&n&&n.style;)try{o=p.css(n,"backgroundColor"),n=n.parentNode}catch(t){}e=e.blend(o&&"transparent"!==o?o:"_default")}e=e.toRgbaString()}try{t.style[s]=e}catch(t){}}},p.fx.step[s]=function(t){t.colorInit||(t.start=y(t.elem,s),t.end=y(t.end),t.colorInit=!0),p.cssHooks[s].set(t.elem,t.start.transition(t.end,t.pos))}})})("backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor"),p.cssHooks.borderColor={expand:function(i){var n={};return E(["Top","Right","Bottom","Left"],function(t,e){n["border"+e+"Color"]=i}),n}};var N,A,B,O,F,R,j,z,U,K,$=p.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"},G="ui-effects-",Q="ui-effects-style",V="ui-effects-animated";function X(t){var e,i,n=t.ownerDocument.defaultView?t.ownerDocument.defaultView.getComputedStyle(t,null):t.currentStyle,o={};if(n&&n.length&&n[0]&&n[n[0]])for(i=n.length;i--;)"string"==typeof n[e=n[i]]&&(o[e.replace(/-([\da-z])/gi,function(t,e){return e.toUpperCase()})]=n[e]);else for(e in n)"string"==typeof n[e]&&(o[e]=n[e]);return o}function Y(t,e,i,n){return t={effect:t=_.isPlainObject(t)?(e=t).effect:t},"function"==typeof(e=null==e?{}:e)&&(n=e,i=null,e={}),"number"!=typeof e&&!_.fx.speeds[e]||(n=i,i=e,e={}),"function"==typeof i&&(n=i,i=null),e&&_.extend(t,e),i=i||e.duration,t.duration=_.fx.off?0:"number"==typeof i?i:i in _.fx.speeds?_.fx.speeds[i]:_.fx.speeds._default,t.complete=n||e.complete,t}function J(t){return!t||"number"==typeof t||_.fx.speeds[t]||("string"==typeof t&&!_.effects.effect[t]||("function"==typeof t||"object"==typeof t&&!t.effect))}function Z(t,e){var i=e.outerWidth(),e=e.outerHeight(),t=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/.exec(t)||["",0,i,e,0];return{top:parseFloat(t[1])||0,right:"auto"===t[2]?i:parseFloat(t[2]),bottom:"auto"===t[3]?e:parseFloat(t[3]),left:parseFloat(t[4])||0}}_.effects={effect:{}},O=["add","remove","toggle"],F={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1},_.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(t,e){_.fx.step[e]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(p.style(t.elem,e,t.end),t.setAttr=!0)}}),_.fn.addBack||(_.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}
vendor: 12,679 bytes, line 11054
11054),_.effects.animateClass=function(o,t,e,i){var s=_.speed(t,e,i);return this.queue(function(){var i=_(this),t=i.attr("class")||"",e=(e=s.children?i.find("*").addBack():i).map(function(){return{el:_(this),start:X(this)}}),n=function(){_.each(O,function(t,e){o[e]&&i[e+"Class"](o[e])})};n(),e=e.map(function(){return this.end=X(this.el[0]),this.diff=function(t,e){var i,n,o={};for(i in e)n=e[i],t[i]!==n&&(F[i]||!_.fx.step[i]&&isNaN(parseFloat(n))||(o[i]=n));return o}(this.start,this.end),this}),i.attr("class",t),e=e.map(function(){var t=this,e=_.Deferred(),i=_.extend({},s,{queue:!1,complete:function(){e.resolve(t)}});return this.el.animate(this.diff,i),e.promise()}),_.when.apply(_,e.get()).done(function(){n(),_.each(arguments,function(){var e=this.el;_.each(this.diff,function(t){e.css(t,"")})}),s.complete.call(i[0])})})},_.fn.extend({addClass:(B=_.fn.addClass,function(t,e,i,n){return e?_.effects.animateClass.call(this,{add:t},e,i,n):B.apply(this,arguments)}),removeClass:(A=_.fn.removeClass,function(t,e,i,n){return 1<arguments.length?_.effects.animateClass.call(this,{remove:t},e,i,n):A.apply(this,arguments)}),toggleClass:(N=_.fn.toggleClass,function(t,e,i,n,o){return"boolean"==typeof e||void 0===e?i?_.effects.animateClass.call(this,e?{add:t}:{remove:t},i,n,o):N.apply(this,arguments):_.effects.animateClass.call(this,{toggle:t},e,i,n)}),switchClass:function(t,e,i,n,o){return _.effects.animateClass.call(this,{add:e,remove:t},i,n,o)}}),_.expr&&_.expr.pseudos&&_.expr.pseudos.animated&&(_.expr.pseudos.animated=(R=_.expr.pseudos.animated,function(t){return!!_(t).data(V)||R(t)})),!1!==_.uiBackCompat&&_.extend(_.effects,{save:function(t,e){for(var i=0,n=e.length;i<n;i++)null!==e[i]&&t.data(G+e[i],t[0].style[e[i]])},restore:function(t,e){for(var i,n=0,o=e.length;n<o;n++)null!==e[n]&&(i=t.data(G+e[n]),t.css(e[n],i))},setMode:function(t,e){return e="toggle"===e?t.is(":hidden")?"show":"hide":e},createWrapper:function(i){if(i.parent().is(".ui-effects-wrapper"))return i.parent();var n={width:i.outerWidth(!0),height:i.outerHeight(!0),float:i.css("float")},t=_("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e={width:i.width(),height:i.height()},o=document.activeElement;try{o.id}catch(t){o=document.body}return i.wrap(t),i[0]!==o&&!_.contains(i[0],o)||_(o).trigger("focus"),t=i.parent(),"static"===i.css("position")?(t.css({position:"relative"}),i.css({position:"relative"})):(_.extend(n,{position:i.css("position"),zIndex:i.css("z-index")}),_.each(["top","left","bottom","right"],function(t,e){n[e]=i.css(e),isNaN(parseInt(n[e],10))&&(n[e]="auto")}),i.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),i.css(e),t.css(n).show()},removeWrapper:function(t){var e=document.activeElement;return t.parent().is(".ui-effects-wrapper")&&(t.parent().replaceWith(t),t[0]!==e&&!_.contains(t[0],e)||_(e).trigger("focus")),t}}),_.extend(_.effects,{version:"1.13.2",define:function(t,e,i){return i||(i=e,e="effect"),_.effects.effect[t]=i,_.effects.effect[t].mode=e,i},scaledDimensions:function(t,e,i){if(0===e)return{height:0,width:0,outerHeight:0,outerWidth:0};var n="horizontal"!==i?(e||100)/100:1,e="vertical"!==i?(e||100)/100:1;return{height:t.height()*e,width:t.width()*n,outerHeight:t.outerHeight()*e,outerWidth:t.outerWidth()*n}},clipToBox:function(t){return{width:t.clip.right-t.clip.left,height:t.clip.bottom-t.clip.top,left:t.clip.left,top:t.clip.top}},unshift:function(t,e,i){var n=t.queue();1<e&&n.splice.apply(n,[1,0].concat(n.splice(e,i))),t.dequeue()},saveStyle:function(t){t.data(Q,t[0].style.cssText)},restoreStyle:function(t){t[0].style.cssText=t.data(Q)||"",t.removeData(Q)},mode:function(t,e){t=t.is(":hidden");return"toggle"===e&&(e=t?"show":"hide"),e=(t?"hide"===e:"show"===e)?"none":e},getBaseline:function(t,e){var i,n;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":n=0;break;case"center":n=.5;break;case"right":n=1;break;default:n=t[1]/e.width}return{x:n,y:i}},createPlaceholder:function(t){var e,i=t.css("position"),n=t.position();return t.css({marginTop:t.css("marginTop"),marginBottom:t.css("marginBottom"),marginLeft:t.css("marginLeft"),marginRight:t.css("marginRight")}).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()),/^(static|relative)/.test(i)&&(i="absolute",e=_("<"+t[0].nodeName+">").insertAfter(t).css({display:/^(inline|ruby)/.test(t.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:t.css("marginTop"),marginBottom:t.css("marginBottom"),marginLeft:t.css("marginLeft"),marginRight:t.css("marginRight"),float:t.css("float")}).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).addClass("ui-effects-placeholder"),t.data(G+"placeholder",e)),t.css({position:i,left:n.left,top:n.top}),e},removePlaceholder:function(t){var e=G+"placeholder",i=t.data(e);i&&(i.remove(),t.removeData(e))},cleanUp:function(t){_.effects.restoreStyle(t),_.effects.removePlaceholder(t)},setTransition:function(n,t,o,s){return s=s||{},_.each(t,function(t,e){var i=n.cssUnit(e);0<i[0]&&(s[e]=i[0]*o+i[1])}),s}}),_.fn.extend({effect:function(){function t(t){var e=_(this),i=_.effects.mode(e,r)||s;e.data(V,!0),c.push(i),s&&("show"===i||i===s&&"hide"===i)&&e.show(),s&&"none"===i||_.effects.saveStyle(e),"function"==typeof t&&t()}var n=Y.apply(this,arguments),o=_.effects.effect[n.effect],s=o.mode,e=n.queue,i=e||"fx",a=n.complete,r=n.mode,c=[];return _.fx.off||!o?r?this[r](n.duration,a):this.each(function(){a&&a.call(this)}):!1===e?this.each(t).each(l):this.queue(i,t).queue(i,l);function l(t){var e=_(this);function i(){"function"==typeof a&&a.call(e[0]),"function"==typeof t&&t()}n.mode=c.shift(),!1===_.uiBackCompat||s?"none"===n.mode?(e[r](),i()):o.call(e[0],n,function(){e.removeData(V),_.effects.cleanUp(e),"hide"===n.mode&&e.hide(),i()}):(e.is(":hidden")?"hide"===r:"show"===r)?(e[r](),i()):o.call(e[0],n,i)}},show:(U=_.fn.show,function(t){if(J(t))return U.apply(this,arguments);t=Y.apply(this,arguments);return t.mode="show",this.effect.call(this,t)}),hide:(z=_.fn.hide,function(t){if(J(t))return z.apply(this,arguments);t=Y.apply(this,arguments);return t.mode="hide",this.effect.call(this,t)}),toggle:(j=_.fn.toggle,function(t){if(J(t)||"boolean"==typeof t)return j.apply(this,arguments);t=Y.apply(this,arguments);return t.mode="toggle",this.effect.call(this,t)}),cssUnit:function(t){var i=this.css(t),n=[];return _.each(["em","px","%","pt"],function(t,e){0<i.indexOf(e)&&(n=[parseFloat(i),e])}),n},cssClip:function(t){return t?this.css("clip","rect("+t.top+"px "+t.right+"px "+t.bottom+"px "+t.left+"px)"):Z(this.css("clip"),this)},transfer:function(t,e){var i=_(this),n=_(t.to),o="fixed"===n.css("position"),s=_("body"),a=o?s.scrollTop():0,r=o?s.scrollLeft():0,s=n.offset(),s={top:s.top-a,left:s.left-r,height:n.innerHeight(),width:n.innerWidth()},n=i.offset(),c=_("<div class='ui-effects-transfer'></div>");c.appendTo("body").addClass(t.className).css({top:n.top-a,left:n.left-r,height:i.innerHeight(),width:i.innerWidth(),position:o?"fixed":"absolute"}).animate(s,t.duration,t.easing,function(){c.remove(),"function"==typeof e&&e()})}}),_.fx.step.clip=function(t){t.clipInit||(t.start=_(t.elem).cssClip(),"string"==typeof t.end&&(t.end=Z(t.end,t.elem)),t.clipInit=!0),_(t.elem).cssClip({top:t.pos*(t.end.top-t.start.top)+t.start.top,right:t.pos*(t.end.right-t.start.right)+t.start.right,bottom:t.pos*(t.end.bottom-t.start.bottom)+t.start.bottom,left:t.pos*(t.end.left-t.start.left)+t.start.left})},K={},_.each(["Quad","Cubic","Quart","Quint","Expo"],function(e,t){K[t]=function(t){return Math.pow(t,e+2)}}),_.extend(K,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;t<((e=Math.pow(2,--i))-1)/11;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),_.each(K,function(t,e){_.easing["easeIn"+t]=e,_.easing["easeOut"+t]=function(t){return 1-e(1-t)},_.easing["easeInOut"+t]=function(t){return t<.5?e(2*t)/2:1-e(-2*t+2)/2}});I=_.effects,_.effects.define("blind","hide",function(t,e){var i={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},n=_(this),o=t.direction||"up",s=n.cssClip(),a={clip:_.extend({},s)},r=_.effects.createPlaceholder(n);a.clip[i[o][0]]=a.clip[i[o][1]],"show"===t.mode&&(n.cssClip(a.clip),r&&r.css(_.effects.clipToBox(a)),a.clip=s),r&&r.animate(_.effects.clipToBox(a),t.duration,t.easing),n.animate(a,{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),_.effects.define("bounce",function(t,e){var i,n,o=_(this),s=t.mode,a="hide"===s,r="show"===s,c=t.direction||"up",l=t.distance,h=t.times||5,s=2*h+(r||a?1:0),f=t.duration/s,d=t.easing,u="up"===c||"down"===c?"top":"left",p="up"===c||"left"===c,g=0,t=o.queue().length;for(_.effects.createPlaceholder(o),c=o.css(u),l=l||o["top"==u?"outerHeight":"outerWidth"]()/3,r&&((n={opacity:1})[u]=c,o.css("opacity",0).css(u,p?2*-l:2*l).animate(n,f,d)),a&&(l/=Math.pow(2,h-1)),(n={})[u]=c;g<h;g++)(i={})[u]=(p?"-=":"+=")+l,o.animate(i,f,d).animate(n,f,d),l=a?2*l:l/2;a&&((i={opacity:0})[u]=(p?"-=":"+=")+l,o.animate(i,f,d)),o.queue(e),_.effects.unshift(o,t,1+s)}),_.effects.define("clip","hide",function(t,e){var i={},n=_(this),o=t.direction||"vertical",s="both"===o,a=s||"horizontal"===o,s=s||"vertical"===o,o=n.cssClip();i.clip={top:s?(o.bottom-o.top)/2:o.top,right:a?(o.right-o.left)/2:o.right,bottom:s?(o.bottom-o.top)/2:o.bottom,left:a?(o.right-o.left)/2:o.left},_.effects.createPlaceholder(n),"show"===t.mode&&(n.cssClip(i.clip),i.clip=o),n.animate(i,{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),_.effects.define("drop","hide",function(t,e){var i=_(this),n="show"===t.mode,o=t.direction||"left",s="up"===o||"down"===o?"top":"left",a="up"===o||"left"===o?"-=":"+=",r="+="==a?"-=":"+=",c={opacity:0};_.effects.createPlaceholder(i),o=t.distance||i["top"==s?"outerHeight":"outerWidth"](!0)/2,c[s]=a+o,n&&(i.css(c),c[s]=r+o,c.opacity=1),i.animate(c,{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),_.effects.define("explode","hide",function(t,e){var i,n,o,s,a,r,c=t.pieces?Math.round(Math.sqrt(t.pieces)):3,l=c,h=_(this),f="show"===t.mode,d=h.show().css("visibility","hidden").offset(),u=Math.ceil(h.outerWidth()/l),p=Math.ceil(h.outerHeight()/c),g=[];function m(){g.push(this),g.length===c*l&&(h.css({visibility:"visible"}),_(g).remove(),e())}for(i=0;i<c;i++)for(s=d.top+i*p,r=i-(c-1)/2,n=0;n<l;n++)o=d.left+n*u,a=n-(l-1)/2,h.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-n*u,top:-i*p}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:u,height:p,left:o+(f?a*u:0),top:s+(f?r*p:0),opacity:f?0:1}).animate({left:o+(f?0:a*u),top:s+(f?0:r*p),opacity:f?1:0},t.duration||500,t.easing,m)}),_.effects.define("fade","toggle",function(t,e){var i="show"===t.mode;_(this).css("opacity",i?0:1).animate({opacity:i?1:0},{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),_.effects.define("fold","hide",function(e,t){var i=_(this),n=e.mode,o="show"===n,s="hide"===n,a=e.size||15,r=/([0-9]+)%/.exec(a),c=!!e.horizFirst?["right","bottom"]:["bottom","right"],l=e.duration/2,h=_.effects.createPlaceholder(i),f=i.cssClip(),d={clip:_.extend({},f)},u={clip:_.extend({},f)},p=[f[c[0]],f[c[1]]],n=i.queue().length;r&&(a=parseInt(r[1],10)/100*p[s?0:1]),d.clip[c[0]]=a,u.clip[c[0]]=a,u.clip[c[1]]=0,o&&(i.cssClip(u.clip),h&&h.css(_.effects.clipToBox(u)),u.clip=f),i.queue(function(t){h&&h.animate(_.effects.clipToBox(d),l,e.easing).animate(_.effects.clipToBox(u),l,e.easing),t()}).animate(d,l,e.easing).animate(u,l,e.easing).queue(t),_.effects.unshift(i,n,4)}),_.effects.define("highlight","show",function(t,e){var i=_(this),n={backgroundColor:i.css("backgroundColor")};"hide"===t.mode&&(n.opacity=0),_.effects.saveStyle(i),i.css({backgroundImage:"none",backgroundColor:t.color||"#ffff99"}).animate(n,{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),_.effects.define("size",function(n,e){var o,i=_(this),t=["fontSize"],s=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],a=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],r=n.mode,c="effect"!==r,l=n.scale||"both",h=n.origin||["middle","center"],f=i.css("position"),d=i.position(),u=_.effects.scaledDimensions(i),p=n.from||u,g=n.to||_.effects.scaledDimensions(i,0);_.effects.createPlaceholder(i),"show"===r&&(r=p,p=g,g=r),o={from:{y:p.height/u.height,x:p.width/u.width}
11054,to:{y:g.height/u.height,x:g.width/u.width}},"box"!==l&&"both"!==l||(o.from.y!==o.to.y&&(p=_.effects.setTransition(i,s,o.from.y,p),g=_.effects.setTransition(i,s,o.to.y,g)),o.from.x!==o.to.x&&(p=_.effects.setTransition(i,a,o.from.x,p),g=_.effects.setTransition(i,a,o.to.x,g))),"content"!==l&&"both"!==l||o.from.y!==o.to.y&&(p=_.effects.setTransition(i,t,o.from.y,p),g=_.effects.setTransition(i,t,o.to.y,g)),h&&(h=_.effects.getBaseline(h,u),p.top=(u.outerHeight-p.outerHeight)*h.y+d.top,p.left=(u.outerWidth-p.outerWidth)*h.x+d.left,g.top=(u.outerHeight-g.outerHeight)*h.y+d.top,g.left=(u.outerWidth-g.outerWidth)*h.x+d.left),delete p.outerHeight,delete p.outerWidth,i.css(p),"content"!==l&&"both"!==l||(s=s.concat(["marginTop","marginBottom"]).concat(t),a=a.concat(["marginLeft","marginRight"]),i.find("*[width]").each(function(){var t=_(this),e=_.effects.scaledDimensions(t),i={height:e.height*o.from.y,width:e.width*o.from.x,outerHeight:e.outerHeight*o.from.y,outerWidth:e.outerWidth*o.from.x},e={height:e.height*o.to.y,width:e.width*o.to.x,outerHeight:e.height*o.to.y,outerWidth:e.width*o.to.x};o.from.y!==o.to.y&&(i=_.effects.setTransition(t,s,o.from.y,i),e=_.effects.setTransition(t,s,o.to.y,e)),o.from.x!==o.to.x&&(i=_.effects.setTransition(t,a,o.from.x,i),e=_.effects.setTransition(t,a,o.to.x,e)),c&&_.effects.saveStyle(t),t.css(i),t.animate(e,n.duration,n.easing,function(){c&&_.effects.restoreStyle(t)})})),i.animate(g,{queue:!1,duration:n.duration,easing:n.easing,complete:function(){var t=i.offset();0===g.opacity&&i.css("opacity",p.opacity),c||(i.css("position","static"===f?"relative":f).offset(t),_.effects.saveStyle(i)),e()}})}),_.effects.define("scale",function(t,e){var i=_(this),n=t.mode,n=parseInt(t.percent,10)||(0===parseInt(t.percent,10)||"effect"!==n?0:100),n=_.extend(!0,{from:_.effects.scaledDimensions(i),to:_.effects.scaledDimensions(i,n,t.direction||"both"),origin:t.origin||["middle","center"]},t);t.fade&&(n.from.opacity=1,n.to.opacity=0),_.effects.effect.size.call(this,n,e)}),_.effects.define("puff","hide",function(t,e){t=_.extend(!0,{},t,{fade:!0,percent:parseInt(t.percent,10)||150});_.effects.effect.scale.call(this,t,e)}),_.effects.define("pulsate","show",function(t,e){var i=_(this),n=t.mode,o="show"===n,s=2*(t.times||5)+(o||"hide"===n?1:0),a=t.duration/s,r=0,c=1,n=i.queue().length;for(!o&&i.is(":visible")||(i.css("opacity",0).show(),r=1);c<s;c++)i.animate({opacity:r},a,t.easing),r=1-r;i.animate({opacity:r},a,t.easing),i.queue(e),_.effects.unshift(i,n,1+s)}),_.effects.define("shake",function(t,e){var i=1,n=_(this),o=t.direction||"left",s=t.distance||20,a=t.times||3,r=2*a+1,c=Math.round(t.duration/r),l="up"===o||"down"===o?"top":"left",h="up"===o||"left"===o,f={},d={},u={},o=n.queue().length;for(_.effects.createPlaceholder(n),f[l]=(h?"-=":"+=")+s,d[l]=(h?"+=":"-=")+2*s,u[l]=(h?"-=":"+=")+2*s,n.animate(f,c,t.easing);i<a;i++)n.animate(d,c,t.easing).animate(u,c,t.easing);n.animate(d,c,t.easing).animate(f,c/2,t.easing).queue(e),_.effects.unshift(n,o,1+r)}),_.effects.define("slide","show",function(t,e){var i,n,o=_(this),s={up:["bottom","top"],down:["top","bottom"],left:["right","left"],right:["left","right"]},a=t.mode,r=t.direction||"left",c="up"===r||"down"===r?"top":"left",l="up"===r||"left"===r,h=t.distance||o["top"==c?"outerHeight":"outerWidth"](!0),f={};_.effects.createPlaceholder(o),i=o.cssClip(),n=o.position()[c],f[c]=(l?-1:1)*h+n,f.clip=o.cssClip(),f.clip[s[r][1]]=f.clip[s[r][0]],"show"===a&&(o.cssClip(f.clip),o.css(c,f[c]),f.clip=i,f[c]=n),o.animate(f,{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),!1!==_.uiBackCompat&&_.effects.define("transfer",function(t,e){_(this).transfer(t,e)})});
11055/* End */
11056;
11057; /* Start:"a:4:{s:4:"full";s:70:"/local/templates/culture/build/js/jquery.maskedinput.js?17665672447207";s:6:"source";s:55:"/local/templates/culture/build/js/jquery.maskedinput.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
11058function getPasteEvent() {
11059    var el = document.createElement('input'),
11060        name = 'onpaste';
11061    el.setAttribute(name, '');
11062    return (typeof el[name] === 'function')?'paste':'input';             
11063}
11064
11065var pasteEventName = getPasteEvent() + ".mask",
11066	ua = navigator.userAgent,
11067	iPhone = /iphone/i.test(ua),
11068	android=/android/i.test(ua),
11069	caretTimeoutId;
11070
11071$.mask = {
11072	//Predefined character definitions
11073	definitions: {
11074		'9': "[0-9]",
11075		'a': "[A-Za-z]",
11076		'*': "[A-Za-z0-9]"
11077	},
11078	dataName: "rawMaskFn",
11079	placeholder: '_',
11080};
11081
11082$.fn.extend({
11083	//Helper Function for Caret positioning
11084	caret: function(begin, end) {
11085		var range;
11086
11087		if (this.length === 0 || this.is(":hidden")) {
11088			return;
11089		}
11090
11091		if (typeof begin == 'number') {
11092			end = (typeof end === 'number') ? end : begin;
11093			return this.each(function() {
11094				if (this.setSelectionRange) {
11095					this.setSelectionRange(begin, end);
11096				} else if (this.createTextRange) {
11097					range = this.createTextRange();
11098					range.collapse(true);
11099					range.moveEnd('character', end);
11100					range.moveStart('character', begin);
11101					range.select();
11102				}
11103			});
11104		} else {
11105			if (this[0].setSelectionRange) {
11106				begin = this[0].selectionStart;
11107				end = this[0].selectionEnd;
11108			} else if (document.selection && document.selection.createRange) {
11109				range = document.selection.createRange();
11110				begin = 0 - range.duplicate().moveStart('character', -100000);
11111				end = begin + range.text.length;
11112			}
11113			return { begin: begin, end: end };
11114		}
11115	},
11116	unmask: function() {
11117		return this.trigger("unmask");
11118	},
11119	mask: function(mask, settings) {
11120		var input,
11121			defs,
11122			tests,
11123			partialPosition,
11124			firstNonMaskPos,
11125			len;
11126
11127		if (!mask && this.length > 0) {
11128			input = $(this[0]);
11129			return input.data($.mask.dataName)();
11130		}
11131		settings = $.extend({
11132			placeholder: $.mask.placeholder, // Load default placeholder
11133			completed: null
11134		}, settings);
11135
11136
11137		defs = $.mask.definitions;
11138		tests = [];
11139		partialPosition = len = mask.length;
11140		firstNonMaskPos = null;
11141
11142		$.each(mask.split(""), function(i, c) {
11143			if (c == '?') {
11144				len--;
11145				partialPosition = i;
11146			} else if (defs[c]) {
11147				tests.push(new RegExp(defs[c]));
11148				if (firstNonMaskPos === null) {
11149					firstNonMaskPos = tests.length - 1;
11150				}
11151			} else {
11152				tests.push(null);
11153			}
11154		});
11155
11156		return this.trigger("unmask").each(function() {
11157			var input = $(this),
11158				buffer = $.map(
11159				mask.split(""),
11160				function(c, i) {
11161					if (c != '?') {
11162						return defs[c] ? settings.placeholder : c;
11163					}
11164				}),
11165				focusText = input.val();
11166
11167			function seekNext(pos) {
11168				while (++pos < len && !tests[pos]);
11169				return pos;
11170			}
11171
11172			function seekPrev(pos) {
11173				while (--pos >= 0 && !tests[pos]);
11174				return pos;
11175			}
11176
11177			function shiftL(begin,end) {
11178				var i,
11179					j;
11180
11181				if (begin<0) {
11182					return;
11183				}
11184
11185				for (i = begin, j = seekNext(end); i < len; i++) {
11186					if (tests[i]) {
11187						if (j < len && tests[i].test(buffer[j])) {
11188							buffer[i] = buffer[j];
11189							buffer[j] = settings.placeholder;
11190						} else {
11191							break;
11192						}
11193
11194						j = seekNext(j);
11195					}
11196				}
11197				writeBuffer();
11198				input.caret(Math.max(firstNonMaskPos, begin));
11199			}
11200
11201			function shiftR(pos) {
11202				var i,
11203					c,
11204					j,
11205					t;
11206
11207				for (i = pos, c = settings.placeholder; i < len; i++) {
11208					if (tests[i]) {
11209						j = seekNext(i);
11210						t = buffer[i];
11211						buffer[i] = c;
11212						if (j < len && tests[j].test(t)) {
11213							c = t;
11214						} else {
11215							break;
11216						}
11217					}
11218				}
11219			}
11220
11221			function keydownEvent(e) {
11222				var k = e.which,
11223					pos,
11224					begin,
11225					end;
11226
11227				//backspace, delete, and escape get special treatment
11228				if (k === 8 || k === 46 || (iPhone && k === 127)) {
11229					pos = input.caret();
11230					begin = pos.begin;
11231					end = pos.end;
11232
11233					if (end - begin === 0) {
11234						begin=k!==46?seekPrev(begin):(end=seekNext(begin-1));
11235						end=k===46?seekNext(end):end;
11236					}
11237					clearBuffer(begin, end);
11238					shiftL(begin, end - 1);
11239
11240					e.preventDefault();
11241				} else if (k == 27) {//escape
11242					input.val(focusText);
11243					input.caret(0, checkVal());
11244					e.preventDefault();
11245				}
11246			}
11247
11248			function keypressEvent(e) {
11249				var k = e.which,
11250					pos = input.caret(),
11251					p,
11252					c,
11253					next;
11254
11255				if (e.ctrlKey || e.altKey || e.metaKey || k < 32) {//Ignore
11256					return;
11257				} else if (k) {
11258					if (pos.end - pos.begin !== 0){
11259						clearBuffer(pos.begin, pos.end);
11260						shiftL(pos.begin, pos.end-1);
11261					}
11262
11263					p = seekNext(pos.begin - 1);
11264					if (p < len) {
11265						c = String.fromCharCode(k);
11266						if (tests[p].test(c)) {
11267							shiftR(p);
11268
11269							buffer[p] = c;
11270							writeBuffer();
11271							next = seekNext(p);
11272
11273							if(android){
11274								setTimeout($.proxy($.fn.caret,input,next),0);
11275							}else{
11276								input.caret(next);
11277							}
11278
11279							if (settings.completed && next >= len) {
11280								settings.completed.call(input);
11281							}
11282						}
11283					}
11284					e.preventDefault();
11285				}
11286			}
11287
11288			function clearBuffer(start, end) {
11289				var i;
11290				for (i = start; i < end && i < len; i++) {
11291					if (tests[i]) {
11292						buffer[i] = settings.placeholder;
11293					}
11294				}
11295			}
11296
11297			function writeBuffer() { input.val(buffer.join('')); }
11298
11299			function checkVal(allow) {
11300				//try to place characters where they belong
11301				var test = input.val(),
11302					lastMatch = -1,
11303					i,
11304					c;
11305
11306				for (i = 0, pos = 0; i < len; i++) {
11307					if (tests[i]) {
11308						buffer[i] = settings.placeholder;
11309						while (pos++ < test.length) {
11310							c = test.charAt(pos - 1);
11311							if (tests[i].test(c)) {
11312								buffer[i] = c;
11313								lastMatch = i;
11314								break;
11315							}
11316						}
11317						if (pos > test.length) {
11318							break;
11319						}
11320					} else if (buffer[i] === test.charAt(pos) && i !== partialPosition) {
11321						pos++;
11322						lastMatch = i;
11323					}
11324				}
11325				if (allow) {
11326					writeBuffer();
11327				} else if (lastMatch + 1 < partialPosition) {
11328					input.val("");
11329					clearBuffer(0, len);
11330				} else {
11331					writeBuffer();
11332					input.val(input.val().substring(0, lastMatch + 1));
11333				}
11334				return (partialPosition ? i : firstNonMaskPos);
11335			}
11336
11337			input.data($.mask.dataName,function(){
11338				return $.map(buffer, function(c, i) {
11339					return tests[i]&&c!=settings.placeholder ? c : null;
11340				}).join('');
11341			});
11342
11343			if (!input.attr("readonly"))
11344				input
11345				.one("unmask", function() {
11346					input
11347						.unbind(".mask")
11348						.removeData($.mask.dataName);
11349				})
11350				.bind("focus.mask", function() {
11351					clearTimeout(caretTimeoutId);
11352					var pos,
11353						moveCaret;
11354
11355					focusText = input.val();
11356					pos = checkVal();
11357					
11358					caretTimeoutId = setTimeout(function(){
11359						writeBuffer();
11360						if (pos == mask.length) {
11361							input.caret(0, pos);
11362						} else {
11363							input.caret(pos);
11364						}
11365					}, 10);
11366				})
11367				.bind("blur.mask", function() {
11368					checkVal();
11369					if (input.val() != focusText)
11370						input.change();
11371				})
11372				.bind("keydown.mask", keydownEvent)
11373				.bind("keypress.mask", keypressEvent)
11374				.bind(pasteEventName, function() {
11375					setTimeout(function() { 
11376						var pos=checkVal(true);
11377						input.caret(pos); 
11378						if (settings.completed && pos == input.val().length)
11379							settings.completed.call(input);
11380					}, 0);
11381				});
11382			checkVal(); //Perform initial check for existing values
11383		});
11384	}
11385});
11386
11387
11388/* End */
11389;
11390; /* Start:"a:4:{s:4:"full";s:72:"/local/templates/culture/build/js/jquery.validate.min.js?176656724424601";s:6:"source";s:56:"/local/templates/culture/build/js/jquery.validate.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
11391/*! jQuery Validation Plugin - v1.19.5 - 7/1/2022
11392 * https://jqueryvalidation.org/
11393 * Copyright (c) 2022 Jörn Zaefferer; Licensed MIT */
11394!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){a.extend(a.fn,{validate:function(b){if(!this.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var c=a.data(this[0],"validator");return c?c:(this.attr("novalidate","novalidate"),c=new a.validator(b,this[0]),a.data(this[0],"validator",c),c.settings.onsubmit&&(this.on("click.validate",":submit",function(b){c.submitButton=b.currentTarget,a(this).hasClass("cancel")&&(c.cancelSubmit=!0),void 0!==a(this).attr("formnovalidate")&&(c.cancelSubmit=!0)}),this.on("submit.validate",function(b){function d(){var d,e;return c.submitButton&&(c.settings.submitHandler||c.formSubmitted)&&(d=a("<input type='hidden'/>").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),!(c.settings.submitHandler&&!c.settings.debug)||(e=c.settings.submitHandler.call(c,c.currentForm,b),d&&d.remove(),void 0!==e&&e)}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c,d;return a(this[0]).is("form")?b=this.validate().form():(d=[],b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element
vendor: 13,156 bytes, line 11394
11394(this)&&b,b||(d=d.concat(c.errorList))}),c.errorList=d),b},rules:function(b,c){var d,e,f,g,h,i,j=this[0],k="undefined"!=typeof this.attr("contenteditable")&&"false"!==this.attr("contenteditable");if(null!=j&&(!j.form&&k&&(j.form=this.closest("form")[0],j.name=this.attr("name")),null!=j.form)){if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(a,b){i[b]=f[b],delete f[b]}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g)),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}});var b=function(a){return a.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")};a.extend(a.expr.pseudos||a.expr[":"],{blank:function(c){return!b(""+a(c).val())},filled:function(c){var d=a(c).val();return null!==d&&!!b(""+d)},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:void 0===c?b:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",pendingClass:"pending",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(b,c){var d=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===c.which&&""===this.elementValue(b)||a.inArray(c.keyCode,d)!==-1||(b.name in this.submitted||b.name in this.invalid)&&this.element(b)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}."),step:a.validator.format("Please enter a multiple of {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){var c="undefined"!=typeof a(this).attr("contenteditable")&&"false"!==a(this).attr("contenteditable");if(!this.form&&c&&(this.form=a(this).closest("form")[0],this.name=a(this).attr("name")),d===this.form){var e=a.data(this.form,"validator"),f="on"+b.type.replace(/^validate/,""),g=e.settings;g[f]&&!a(this).is(g.ignore)&&g[f].call(e,this,b)}}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.currentForm,e=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){e[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox'], [contenteditable], [type='button']",b).on("click.validate","select, option, [type='radio'], [type='checkbox']",b),this.settings.invalidHandler&&a(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler)},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c,d,e=this.clean(b),f=this.validationTargetFor(e),g=this,h=!0;return void 0===f?delete this.invalid[e.name]:(this.prepareElement(f),this.currentElements=a(f),d=this.groups[f.name],d&&a.each(this.groups,function(a,b){b===d&&a!==f.name&&(e=g.validationTargetFor(g.clean(g.findByName(a))),e&&e.name in g.invalid&&(g.currentElements.push(e),h=g.check(e)&&h))}),c=this.check(f)!==!1,h=h&&c,c?this.invalid[f.name]=!1:this.invalid[f.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),a(b).attr("aria-invalid",!c)),h},showErrors:function(b){if(b){var c=this;a.extend(this.errorMap,b),this.errorList=a.map(this.errorMap,function(a,b){return{message:a,element:c.findByName(b)[0]}}),this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.invalid={},this.submitted={},this.prepareForm(),this.hideErrors();var b=this.elements().removeData("previousValue").removeAttr("aria-invalid");this.resetElements(b)},resetElements:function(a){var b;if(this.settings.unhighlight)for(b=0;a[b];b++)this.settings.unhighlight.call(this,a[b],this.settings.errorClass,""),this.findByName(a[b].name).removeClass(this.settings.validClass);else a.removeClass(this.settings.errorClass).removeClass(this.settings.validClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)void 0!==a[b]&&null!==a[b]&&a[b]!==!1&&c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").trigger("focus").trigger("focusin")}catch(b){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea, [contenteditable]").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){var d=this.name||a(this).attr("name"),e="undefined"!=typeof a(this).attr("contenteditable")&&"false"!==a(this).attr("contenteditable");return!d&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),e&&(this.form=a(this).closest("form")[0],this.name=d),this.form===b.currentForm&&(!(d in c||!b.objectLength(a(this).rules()))&&(c[d]=!0,!0))})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},resetInternals:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([])},reset:function(){this.resetInternals(),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d,e=a(b),f=b.type,g="undefined"!=typeof e.attr("contenteditable")&&"false"!==e.attr("contenteditable");return"radio"===f||"checkbox"===f?this.findByName(b.name).filter(":checked").val():"number"===f&&"undefined"!=typeof b.validity?b.validity.badInput?"NaN":e.val():(c=g?e.text():e.val(),"file"===f?"C:\\fakepath\\"===c.substr(0,12)?c.substr(12):(d=c.lastIndexOf("/"),d>=0?c.substr(d+1):(d=c.lastIndexOf("\\"),d>=0?c.substr(d+1):c)):"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f,g=a(b).rules(),h=a.map(g,function(a,b){return b}).length,i=!1,j=this.elementValue(b);"function"==typeof g.normalizer?f=g.normalizer:"function"==typeof this.settings.normalizer&&(f=this.settings.normalizer),f&&(j=f.call(b,j),delete g.normalizer);for(d in g){e={method:d,parameters:g[d]};try{if(c=a.validator.methods[d].call(this,j,b,e.parameters),"dependency-mismatch"===c&&1===h){i=!0;continue}if(i=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(k){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",k),k instanceof TypeError&&(k.message+=".  Exception occurred when checking element "+b.id+", check the '"+e.method+"' method."),k}}if(!i)return this.objectLength(g)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;a<arguments.length;a++)if(void 0!==arguments[a])return arguments[a]},defaultMessage:function(b,c){"string"==typeof c&&(c={method:c});var d=this.findDefined(this.customMessage(b.name,c.method),this.customDataMessage(b,c.method),!this.settings.ignoreTitle&&b.title||void 0,a.validator.messages[c.method],"<strong>Warning: No message defined for "+b.name+"</strong>"),e=/\$?\{(\d+)\}/g;return"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),d},formatAndAdd:function(a,b){var c=this.defaultMessage(a,b);this.errorList.push({message:c,element:a,method:b.method}),this.errorMap[a.name]=c,this.submitted[a.name]=c},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g,h=this.errorsFor(b),i=this.idOrName(b),j=a(b).attr("aria-describedby");h.length?(h.removeClass(this.settings.validClass).addClass(this.settings.errorClass),h.html(c)):(h=a("<"+this.settings.errorElement+">").attr("id",i+"-error").addClass(this.settings.errorClass).html(c||""),d=h,this.settings.wrapper&&(d=h.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement.call(this,d,a(b)):d.insertAfter(b),h.is("label")?h.attr("for",i):0===h.parents("label[for='"+this.escapeCssMeta(i)+"']").length&&(f=h.attr("id"),j?j.match(new RegExp("\\b"+this.escapeCssMeta(f)+"\\b"))||(j+=" "+f):j=f,a(b).attr("aria-describedby",j),e=this.groups[b.n
11394ame],e&&(g=this,a.each(g.groups,function(b,c){c===e&&a("[name='"+g.escapeCssMeta(b)+"']",g.currentForm).attr("aria-describedby",h.attr("id"))})))),!c&&this.settings.success&&(h.text(""),"string"==typeof this.settings.success?h.addClass(this.settings.success):this.settings.success(h,b)),this.toShow=this.toShow.add(h)},errorsFor:function(b){var c=this.escapeCssMeta(this.idOrName(b)),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+this.escapeCssMeta(d).replace(/\s+/g,", #")),this.errors().filter(e)},escapeCssMeta:function(a){return void 0===a?"":a.replace(/([\\!"#$%&'()*+,./:;<=>?@\[\]^`{|}~])/g,"\\$1")},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(b){return this.checkable(b)&&(b=this.findByName(b.name)),a(b).not(this.settings.ignore)[0]},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+this.escapeCssMeta(b)+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return!this.dependTypes[typeof a]||this.dependTypes[typeof a](a,b)},dependTypes:{"boolean":function(a){return a},string:function(b,c){return!!a(b,c.form).length},"function":function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);
vendor: 8,651 bytes, lines 11394-11397
11394return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},startRequest:function(b){this.pending[b.name]||(this.pendingRequest++,a(b).addClass(this.settings.pendingClass),this.pending[b.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],a(b).removeClass(this.settings.pendingClass),c&&0===this.pendingRequest&&this.formSubmitted&&this.form()&&0===this.pendingRequest?(a(this.currentForm).trigger("submit"),this.submitButton&&a("input:hidden[name='"+this.submitButton.name+"']",this.currentForm).remove(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b,c){return c="string"==typeof c&&c||"remote",a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,{method:c})})},destroy:function(){this.resetForm(),a(this.currentForm).off(".validate").removeData("validator").find(".validate-equalTo-blur").off(".validate-equalTo").removeClass("validate-equalTo-blur").find(".validate-lessThan-blur").off(".validate-lessThan").removeClass("validate-lessThan-blur").find(".validate-lessThanEqual-blur").off(".validate-lessThanEqual").removeClass("validate-lessThanEqual-blur").find(".validate-greaterThanEqual-blur").off(".validate-greaterThanEqual").removeClass("validate-greaterThanEqual-blur").find(".validate-greaterThan-blur").off(".validate-greaterThan").removeClass("validate-greaterThan-blur")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},normalizeAttributeRule:function(a,b,c,d){/min|max|step/.test(c)&&(null===b||/number|range|text/.test(b))&&(d=Number(d),isNaN(d)&&(d=void 0)),d||0===d?a[c]=d:b===c&&"range"!==b&&(a["date"===b?"dateISO":c]=!0)},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),this.normalizeAttributeRule(e,g,c,d);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),""===d&&(d=!0),this.normalizeAttributeRule(e,g,c,d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0===e.param||e.param:(a.data(c.form,"validator").resetElements(a(c)),delete b[d])}}),a.each(b,function(a,d){b[a]="function"==typeof d&&"normalizer"!==a?d(c):d}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var a;b[this]&&(Array.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(a=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(a[0]),Number(a[1])]))}),a.validator.autoCreateRanges&&(null!=b.min&&null!=b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),null!=b.minlength&&null!=b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:void 0!==b&&null!==b&&b.length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:(?:[^\]\[?\/<~#`!@$^&*()+=}|:";',>{ ]|%[0-9A-Fa-f]{2})+(?::(?:[^\]\[?\/<~#`!@$^&*()+=}|:";',>{ ]|%[0-9A-Fa-f]{2})*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(a)},date:function(){var a=!1;return function(b,c){return a||(a=!0,this.settings.debug&&window.console&&console.warn("The `date` method is deprecated and will be removed in version '2.0.0'.\nPlease don't use it, since it relies on the Date constructor, which\nbehaves very differently across browsers and locales. Use `dateISO`\ninstead or one of the locale specific methods in `localizations/`\nand `additional-methods.js`.")),this.optional(c)||!/Invalid|NaN/.test(new Date(b).toString())}}(),dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},minlength:function(a,b,c){var d=Array.isArray(a)?a.length:this.getLength(a,b);return this.optional(b)||d>=c},maxlength:function(a,b,c){var d=Array.isArray(a)?a.length:this.getLength(a,b);return this.optional(b)||d<=c},rangelength:function(a,b,c){var d=Array.isArray(a)?a.length:this.getLength(a,b);return this.optional(b)||d>=c[0]&&d<=c[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||a<=c},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},step:function(b,c,d){var e,f=a(c).attr("type"),g="Step attribute on input type "+f+" is not supported.",h=["text","number","range"],i=new RegExp("\\b"+f+"\\b"),j=f&&!i.test(h.join()),k=function(a){var b=(""+a).match(/(?:\.(\d+))?$/);return b&&b[1]?b[1].length:0},l=function(a){return Math.round(a*Math.pow(10,e))},m=!0;if(j)throw new Error(g);return e=k(d),(k(b)>e||l(b)%l(d)!==0)&&(m=!1),this.optional(c)||m},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.not(".validate-equalTo-blur").length&&e.addClass("validate-equalTo-blur").on("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d,e){if(this.optional(c))return"dependency-mismatch";e="string"==typeof e&&e||"remote";var f,g,h,i=this.previousValue(c,e);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),i.originalMessage=i.originalMessage||this.settings.messages[c.name][e],this.settings.messages[c.name][e]=i.message,d="string"==typeof d&&{url:d}||d,h=a.param(a.extend({data:b},d.data)),i.old===h?i.valid:(i.old=h,f=this,this.startRequest(c),g={},g[c.name]=b,a.ajax(a.extend(!0,{mode:"abort",port:"validate"+c.name,dataType:"json",data:g,context:f.currentForm,success:function(a){var d,g,h,j=a===!0||"true"===a;f.settings.messages[c.name][e]=i.originalMessage,j?(h=f.formSubmitted,f.resetInternals(),f.toHide=f.errorsFor(c),f.formSubmitted=h,f.successList.push(c),f.invalid[c.name]=!1,f.showErrors()):(d={},g=a||f.defaultMessage(c,{method:e,parameters:b}),d[c.name]=i.message=g,f.invalid[c.name]=!0,f.showErrors(d)),i.valid=j,f.stopRequest(c,j)}},d)),"pending")}}});var c,d={};return a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,c){var e=a.port;"abort"===a.mode&&(d[e]&&d[e].abort(),d[e]=c)}):(c=a.ajax,a.ajax=function(b){var e=("mode"in b?b:a.ajaxSettings).mode,f=("port"in b?b:a.ajaxSettings).port;return"abort"===e?(d[f]&&d[f].abort(),d[f]=c.apply(this,arguments),d[f]):c.apply(this,arguments)}),a});
11395/* End */
11396;
11397; /* Start:"a:4:{s:4:"full";s:69:"/local/templates/culture/build/js/select2.full.min.js?176656724475005";s:6:"source";s:53:"/local/templates/culture/build/js/select2.full.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
vendor: 24,099 bytes, line 11398
11398/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return u.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=s.map,p=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(a=a.split("/"),g=a.length-1,s.nodeIdCompat&&w.test(a[g])&&(a[g]=a[g].replace(w,"")),a=n.slice(0,n.length-1).concat(a),k=0;k<a.length;k+=1)if(m=a[k],"."===m)a.splice(k,1),k-=1;else if(".."===m){if(1===k&&(".."===a[2]||".."===a[0]))break;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||p)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&p&&p[d]&&(i=p[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=v.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),n.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){q[a]=b}}function j(a){if(e(r,a)){var c=r[a];delete r[a],t[a]=!0,m.apply(b,c)}if(!e(q,a)&&!e(t,a))throw new Error("No "+a);return q[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return function(){return s&&s.config&&s.config[a]||{}}}var m,n,o,p,q={},r={},s={},t={},u=Object.prototype.hasOwnProperty,v=[].slice,w=/\.js$/;o=function(a,b){var c,d=k(a),e=d[0];return a=d[1],e&&(e=f(e,b),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(b)):f(a,b):(a=f(a,b),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},p={require:function(a){return g(a)},exports:function(a){var b=q[a];return"undefined"!=typeof b?b:q[a]={}},module:function(a){return{id:a,uri:"",exports:q[a],config:l(a)}}},m=function(a,c,d,f){var h,k,l,m,n,s,u=[],v=typeof d;if(f=f||a,"undefined"===v||"function"===v){for(c=!c.length&&d.length?["require","exports","module"]:c,n=0;n<c.length;n+=1)if(m=o(c[n],f),k=m.f,"require"===k)u[n]=p.require(a);else if("exports"===k)u[n]=p.exports(a),s=!0;else if("module"===k)h=u[n]=p.module(a);else if(e(q,k)||e(r,k)||e(t,k))u[n]=j(k);else{if(!m.p)throw new Error(a+" missing "+k);m.p.load(m.n,g(f,!0),i(k),{}),u[n]=q[k]}l=d?d.apply(q[a],u):void 0,a&&(h&&h.exports!==b&&h.exports!==q[a]?q[a]=h.exports:l===b&&s||(q[a]=l))}else a&&(q[a]=d)},a=c=n=function(a,c,d,e,f){if("string"==typeof a)return p[a]?p[a](c):j(o(a,c).f);if(!a.splice){if(s=a,s.deps&&n(s.deps,s.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?m(b,a,c,d):setTimeout(function(){m(b,a,c,d)},4),n},n.config=function(a){return n(a)},a._defined=q,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(q,a)||e(r,a)||(r[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){var e=b[d];"function"==typeof e&&"constructor"!==d&&c.push(d)}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){var a=Array.prototype.unshift;return a.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};return d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice,c=b.call(arguments,1);this.listeners=this.listeners||{},null==c&&(c=[]),0===c.length&&c.push({}),c[0]._type=a,a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;d>c;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;a>c;c++){var d=Math.floor(36*Math.random());b+=d.toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return e!==f||"hidden"!==f&&"visible"!==f?"scroll"===e||"scroll"===f?!0:d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth:!1},c.escapeMarkup=function(a){var b={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){var c=b.find(".select2-results");c.append(a)},c.prototype.sort=function(a){var b=this.options.get("sorter");return b(a)},c.prototype.highlightFirstItem=function(){var a=this.$results.find(".select2-results__option[aria-selected]"),b=a.filter("[aria-selected=true]");b.length>0?b.first().trigger("mouseenter"):a.first().trigger("mouseenter"),this.ensureHighlightVisible()},c.prototype.setClasses=function(){var b=this;this.data.current(function(c){var d=a.map(c,function(a){return a.id.toString()}),e=b.$results.find(".select2-results__option[aria-selected]");e.each(function(){var b=a(this),c=a.data(this,"data"),e=""+c.id;null!=c.element&&c.element.selected||null==c.element&&a.inArray(e,d)>-1?b.attr("aria-selected","true"):b.attr("aria-selected","false")})})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(b){var c=document.createElement("li");c.className="select2-results__option";var d={role:"treeitem","aria-selected":"false"};b.disabled&&(delete d["aria-selected"],d["aria-disabled"]="true"),null==b.id&&delete d["aria-selected"],null!=b._resultId&&(c.id=b._resultId),b.title&&(c.title=b.title),b.children&&(d.role="group",d["aria-label"]=b.text,delete d["aria-selected"]);for(var e in d){var f=d[e];c.setAttribute(e,f)}if(b.children){var g=a(c),h=document.createElement("strong");h.className="select2-results__group";a(h);this.template(b,h);for(var i=[],j=0;j<b.children.length;j++){var k=b.children[j],l=this.option(k);i.push(l)}var m=a("<ul></ul>",{"class":"select2-results__options select2-results__options--nested"});m.append(i),g.append(h),g.append(m)}else this.template(b,c);return a.data(c,"data",b),c},c.prototype.bind=function(b,c){var d=this,e=b.id+"-results";this.$results.attr("id",e),b.on("results:all",function(a){d.clear(),d.append(a.data),b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("results:append",function(a){d.append(a.data),b.isOpen()&&d.setClasses()}),b.on("query",function(a){d.hideMessages(),d.showLoading(a)}),b.on("select",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("unselect",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("open",function(){d.$results.attr("aria-expanded","true"),d.$results.attr("aria-hidden","false"),d.setClasses(),d.ensureHighlightVisible()}),b.on("close",function(){d.$results.attr("aria-expanded","false"),d.$results.attr("aria-hidden","true"),d.$results.removeAttr("aria-activedescendant")}),b.on("results:toggle",function(){var a=d.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),b.on("results:select",function(){var a=d.getHighlightedResults();if(0!==a.length){var b=a.data("data");"true"==a.attr("aria-selected")?d.trigger("close",{}):d.trigger("select",{data:b})}}),b.on("results:previous",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a);if(0!==c){var e=c-1;0===a.length&&(e=0);var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top,h=f.offset().top,i=d.$results.scrollTop()+(h-g);0===e?d.$results.scrollTop(0):0>h-g&&d.$results.scrollTop(i)}}),b.on("results:next",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a),e=c+1;if(!(e>=b.length)){var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top+d.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=d.$results.scrollTop()+h-g;0===e?d.$results.scrollTop(0):h>g&&d.$results.scrollTop(i)}}),b.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),b.on("results:message",function(a){d.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=d.$results.scrollTop(),c=d.$results.get(0).scrollHeight-b+a.deltaY,e=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=d.$results.height();e?(d.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(d.$results.scrollTop(d.$results.get(0).scrollHeight-d.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(b){var c=a(this),e=c.data("data");return"true"===c.attr("aria-selected")?void(d.options.get("multiple")?d.trigger("unselect",{originalEvent:b,data:e}):d.trigger("close",{})):void d.trigger("select",{originalEvent:b,data:e})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(b){var c=a(this).data("data");d.getHighlightedResults().removeClass("select2-results__option--highlighted"),d.trigger("results:focus",{data:c,element:a(this)})})},c.prototype.getHighlightedResults=function(){var a=this.$results.find(".select2-results__option--highlighted");return a},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),2>=c?this.$results.scrollTop(0):(g>this.$results.outerHeight()||0>g)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){var a={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46};return a}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var b=a('<span class="select2-selection" role="combobox"  aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),b.attr("title",this.$element.attr("title")),b.attr("tabindex",this._tabindex),this.$selection=b,b},d.prototype.bind=function(a,b){var d=this,e=(a.id+"-container",a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),d.$selection.focus(),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(b){a(document.body).on("mousedown.select2."+b.id,function(b){var c=a(b.target),d=c.closest(".select2"),e=a(".select2.select2-container--open");e.each(function(){var b=a(this);if(this!=d[0]){var c=b.data("element");c.select2("close")}})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){var c=b.find(".selection");c.append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("focus",function(b){a.isOpen()||c.$selection.focus()}),a.on("selection:update",function(a){c.update(a.data)})},e.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},e.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},e.prototype.selectionContainer=function(){return a("<span></span>")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.prop("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered"></ul>'),a},d.prototype.bind=function(b,c){var e=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){e.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!e.options.get("disabled")){var c=a(this),d=c.parent(),f=d.data("data");e.trigger("unselect",{originalEvent:b,data:f})}})},d.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},d.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},d.prototype.selectionContainer=function(){var b=a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>');return b},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);f.append(g),f.prop("title",e.title||e.text),f.data("data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id,d=b.length>1;if(d||c)return a.call(this,b);this.clear();var e=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(e)},b}),b.define("select2/selection/allowClear",["jquery","../keys"],function(a,b){function c(){}return c.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},c.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var c=this.$selection.find(".select2-selection__clear");if(0!==c.length){b.stopPropagation();for(var d=c.data("data"),e=0;e<d.length;e++){var f={data:d[e]};if(this.trigger("unselect",f),f.prevented)return}this.$element.val(this.placeholder.id).trigger("change"),this.trigger("toggle",{})}}},c.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||(c.which==b.DELETE||c.which==b.BACKSPACE)&&this._handleClear(c)},c.prototype.update=function(b,c){if(b.call(this,c),!(this.$selection.find(".select2-selection__placeholder").length>0||0===c.length)){var d=a('<span class="select2-selection__clear">&times;</span>');d.data("data",c),this.$selection.find(".select2-selection__rendered").prepend(d)}},c}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,b,d){var e=this;a.call(this,b,d),b.on("open",function(){e.$search.trigger("focus")}),b.on("close",function(){e.$search.val(""),e.$search.removeAttr("aria-activedescendant"),e.$search.trigger("focus")}),b.on("enable",function(){e.$search.prop("disabled",!1),e._transferTabIndex()}),b.on("disable",function(){e.$search.prop("disabled",!0)}),b.on("focus",function(a){e.$search.trigger("focus")}),b.on("results:focus",function(a){e.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){e.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){e._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){a.stopPropagation(),e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented();var b=a.which;if(b===c.BACKSPACE&&""===e.$search.val()){var d=e.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var f=d.data("data");e.searchRemoveChoice(f),a.preventDefault()}}});var f=document.documentMode,g=f&&11>=f;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){return g?void e.$selection.off("input.search input.searchcheck"):void e.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(g&&"input"===a.type)return void e.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&e.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c&&this.$search.focus()},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{var b=this.$search.val().length+1;a=.75*b+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting"],g=["opening","closing","selecting","unselecting"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({}
vendor: 4,600 bytes, line 11398
11398,b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){var a={"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"
vendor: 37,082 bytes, lines 11398-11400
11398c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"};return a}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),d+=null!=c.id?"-"+c.id.toString():"-"+a.generateChars(4)},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");
11399if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple"))return a.selected=!1,c(a.element).is("option")?(a.element.selected=!1,void this.$element.trigger("change")):void this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){c.removeData(this,"data")})},d.prototype.query=function(a,b){var d=[],e=this,f=this.$element.children();f.each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var b;a.children?(b=document.createElement("optgroup"),b.label=a.text):(b=document.createElement("option"),void 0!==b.textContent?b.textContent=a.text:b.innerText=a.text),a.id&&(b.value=a.id),a.disabled&&(b.disabled=!0),a.selected&&(b.selected=!0),a.title&&(b.title=a.title);var d=c(b),e=this._normalizeItem(a);return e.element=b,c.data(b,"data",e),d},d.prototype.item=function(a){var b={};if(b=c.data(a[0],"data"),null!=b)return b;if(a.is("option"))b={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){b={text:a.prop("label"),children:[],title:a.prop("title")};for(var d=a.children("option"),e=[],f=0;f<d.length;f++){var g=c(d[f]),h=this.item(g);e.push(h)}b.children=e}return b=this._normalizeItem(b),b.element=a[0],c.data(a[0],"data",b),b},d.prototype._normalizeItem=function(a){c.isPlainObject(a)||(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&null!=this.container&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){var c=this.options.get("matcher");return c(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){d.status&&"0"===d.status||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h<e.length;h++){var i=e[h],j=this._normalizeItem(i),k=this.option(j);this.$element.append(k)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0),k=i.text===b.term;if(k||j)return f?!1:(a.data=g,void c(a))}if(f)return!0;var l=e.createTag(b);if(null!=l){var m=e.option(l);m.attr("data-select2-tag",!0),e.addOptions([m]),e.insertTag(g,l)}a.results=g,c(a)}var e=this;return this._removeOldTags(),null==b.term||null!=b.page?void a.call(this,b,c):void a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){var c=(this._lastTag,this.$element.find("option[data-select2-tag]"));c.each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(b,c,d){function e(b){var c=g._normalizeItem(b),d=g.$element.find("option").filter(function(){return a(this).val()===c.id});if(!d.length){var e=g.option(c);e.attr("data-select2-tag",!0),g._removeOldTags(),g.addOptions([e])}f(c)}function f(a){g.trigger("select",{data:a})}var g=this;c.term=c.term||"";var h=this.tokenizer(c,this.options,e);h.term!==c.term&&(this.$search.length&&(this.$search.val(h.term),this.$search.focus()),c.term=h.term),b.call(this,c,d)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",b.term.length<this.minimumInputLength?void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",this.maximumInputLength>0&&b.term.length>this.maximumInputLength?void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;return d.maximumSelectionLength>0&&f>=d.maximumSelectionLength?void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}}):void a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<span class="select2-dropdown"><span class="select2-results"></span></span>');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val("")}),c.on("focus",function(){c.isOpen()&&e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){var b=e.showSearch(a);b?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){var c=e.$results.offset().top+e.$results.outerHeight(!1),d=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1);c+50>=d&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a("<span></span>"),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){a(this).data("select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(b){var c=a(this).data("select2-scroll-position");a(this).scrollTop(c.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id,h=this.$container.parents().filter(b.hasScroll);h.off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.top<f.top-h.height,k=i.bottom>f.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return a(c.data.results)<this.minimumResultsForSearch?!1:b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(a){d._handleSelectOnClose(a)})},a.prototype._handleSelectOnClose=function(a,b){if(b&&null!=b.originalSelect2Event){var c=b.originalSelect2Event;if("select"===c._type||"unselect"===c._type)return}var d=this.getHighlightedResults();if(!(d.length<1)){var e=d.data("data");null!=e.element&&e.element.selected||null==e.element&&e.selected||this.trigger("select",{data:e})}},a}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&c.ctrlKey||this.trigger("close",{originalEvent:c,originalSelect2Event:b})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){var b=a.minimum-a.input.length,c="Please enter "+b+" or more characters";return c},loadingMore:function(){return"Loading more results…"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){function D(){this.reset()}D.prototype.apply=function(l){if(l=a.extend(!0,{},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),(null!=l.tokenSeparators||null!=l.tokenizer)&&(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(O){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(P){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var Q=k.loadPath(this.defaults.amdLanguageBase+"en"),R=new k(l.language);R.extend(Q),l.translations=R}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){var h=e.children[g],i=c(d,h);null==i&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var j=b(e.text).toUpperCase(),k=b(d.term).toUpperCase();return j.indexOf(k)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(this.defaults,f)};var E=new D;return E}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),a.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),a.data("data",a.data("select2Tags")),a.data("tags",!0)),a.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",a.data("ajaxUrl")),a.data("ajax--url",a.data("ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,a.data()):a.data();var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,c){null!=a.data("select2")&&a.data("select2").destroy(),this.$element=a,this.id=this._generateId(a),c=c||{},this.options=new b(c,a),e.__super__.constructor.call(this);var d=a.attr("tabindex")||0;a.data("old-tabindex",d),a.attr("tabindex","-1");var f=this.options.get("dataAdapter");this.dataAdapter=new f(a,this.options);var g=this.render();this._placeContainer(g);var h=this.options.get("selectionAdapter");this.selection=new h(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,g);var i=this.options.get("dropdownAdapter");this.dropdown=new i(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,g);var j=this.options.get("resultsAdapter");this.results=new j(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var k=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){k.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return 0>=e?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;i>h;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e<b.addedNodes.length;e++){var f=b.addedNodes[e];f.selected&&(c=!0)}else b.removedNodes&&b.removedNodes.length>0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),(null==a||0===a.length)&&(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null;
11400},e.prototype.render=function(){var b=a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),b.data("element",this.$element),b},e}),b.define("
11400select2/compat/utils",["jquery"],function(a){function b(b,c,d){var e,f,g=[];e=a.trim(b.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0===this.indexOf("select2-")&&g.push(this)})),e=a.trim(c.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0!==this.indexOf("select2-")&&(f=d(this),null!=f&&g.push(f))})),b.attr("class",g.join(" "))}return{syncCssClasses:b}}),b.define("select2/compat/containerCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("containerCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptContainerCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("containerCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/dropdownCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("dropdownCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptDropdownCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("dropdownCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/initSelection",["jquery"],function(a){function b(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `initSelection` option has been deprecated in favor of a custom data adapter that overrides the `current` method. This method is now called multiple times instead of a single time when the instance is initialized. Support will be removed for the `initSelection` option in future versions of Select2"),this.initSelection=c.get("initSelection"),this._isInitialized=!1,a.call(this,b,c)}return b.prototype.current=function(b,c){var d=this;return this._isInitialized?void b.call(this,c):void this.initSelection.call(null,this.$element,function(b){d._isInitialized=!0,a.isArray(b)||(b=[b]),c(b)})},b}),b.define("select2/compat/inputData",["jquery"],function(a){function b(a,b,c){this._currentData=[],this._valueSeparator=c.get("valueSeparator")||",","hidden"===b.prop("type")&&c.get("debug")&&console&&console.warn&&console.warn("Select2: Using a hidden input with Select2 is no longer supported and may stop working in the future. It is recommended to use a `<select>` element instead."),a.call(this,b,c)}return b.prototype.current=function(b,c){function d(b,c){var e=[];return b.selected||-1!==a.inArray(b.id,c)?(b.selected=!0,e.push(b)):b.selected=!1,b.children&&e.push.apply(e,d(b.children,c)),e}for(var e=[],f=0;f<this._currentData.length;f++){var g=this._currentData[f];e.push.apply(e,d(g,this.$element.val().split(this._valueSeparator)))}c(e)},b.prototype.select=function(b,c){if(this.options.get("multiple")){var d=this.$element.val();d+=this._valueSeparator+c.id,this.$element.val(d),this.$element.trigger("change")}else this.current(function(b){a.map(b,function(a){a.selected=!1})}),this.$element.val(c.id),this.$element.trigger("change")},b.prototype.unselect=function(a,b){var c=this;b.selected=!1,this.current(function(a){for(var d=[],e=0;e<a.length;e++){var f=a[e];b.id!=f.id&&d.push(f.id)}c.$element.val(d.join(c._valueSeparator)),c.$element.trigger("change")})},b.prototype.query=function(a,b,c){for(var d=[],e=0;e<this._currentData.length;e++){var f=this._currentData[e],g=this.matches(b,f);null!==g&&d.push(g)}c({results:d})},b.prototype.addOptions=function(b,c){var d=a.map(c,function(b){return a.data(b[0],"data")});this._currentData.push.apply(this._currentData,d)},b}),b.define("select2/compat/matcher",["jquery"],function(a){function b(b){function c(c,d){var e=a.extend(!0,{},d);if(null==c.term||""===a.trim(c.term))return e;if(d.children){for(var f=d.children.length-1;f>=0;f--){var g=d.children[f],h=b(c.term,g.text,g);h||e.children.splice(f,1)}if(e.children.length>0)return e}return b(c.term,d.text,d)?e:null}return c}return b}),b.define("select2/compat/query",[],function(){function a(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `query` option has been deprecated 
11400in favor of a custom data adapter that overrides the `query` method. Support will be removed for the `query` option in future versions of Select2."),a.call(this,b,c)}return a.prototype.query=function(a,b,c){b.callback=c;var d=this.options.get("query");d.call(null,b)},a}),b.define("select2/dropdown/attachContainer",[],function(){function a(a,b,c){a.call(this,b,c)}return a.prototype.position=function(a,b,c){var d=c.find(".dropdown-wrapper");d.append(b),b.addClass("select2-dropdown--below"),c.addClass("select2-container--below")},a}),b.define("select2/dropdown/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$dropdown.on(d.join(" "),function(a){a.stopPropagation()})},a}),b.define("select2/selection/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$selection.on(d.join(" "),function(a){a.stopPropagation()})},a}),function(c){"function"==typeof b.define&&b.define.amd?b.define("jquery-mousewheel",["jquery"],c):"object"==typeof exports?module.exports=c:c(a)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1
vendor: 4,952 bytes, lines 11400-11404
11400),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults"],function(a,b,c,d){if(null==a.fn.select2){var e=["open","close","destroy"];a.fn.select2=function(b){if(b=b||{},"object"==typeof b)return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,f=Array.prototype.slice.call(arguments,1);return this.each(function(){var c=a(this).data("select2");null==c&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=c[b].apply(c,f)}),a.inArray(b,e)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c});
11401/* End */
11402;
11403; /* Start:"a:4:{s:4:"full";s:62:"/local/templates/culture/build/js/slick.min.js?176656724442863";s:6:"source";s:46:"/local/templates/culture/build/js/slick.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
11404!function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery"],i):"undefined"!=typeof exports?module.exports=i(require("jquery")):i(jQuery)}(function(i){"use strict";var e=window.Slick||{};(e=function(){var e=0;return function(t,o){var s,n=this;n.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:i(t),appendDots:i(t),arrows:!0,asNavFor:null,prevArrow:'<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',nextArrow:'<button class="slick-next" aria-label="Next" type="button">Next</button>',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(e,t){return i('<button type="button" />').text(t+1)},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,focusOnChange:!1,infinite:!0,initialSlide:0,lazyLoad:"ondemand",mobileFirst:!1,pauseOnHover:!0,pauseOnFocus:!0,pauseOnDotsHover:!1,respondTo:"window",responsive:null,rows:1,rtl:!1,slide:"",slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:!0,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useCSS:!0,useTransform:!0,variableWidth:!1,vertical:!1,verticalSwiping:!1,waitForAnimate:!0,zIndex:1e3},n.initials={animating:!1,dragging:!1,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,scrolling:!1,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,
vendor: 6,594 bytes, line 11404
11404sliding:!1,slideOffset:0,swipeLeft:null,swiping:!1,$list:null,touchObject:{},transformsEnabled:!1,unslicked:!1},i.extend(n,n.initials),n.activeBreakpoint=null,n.animType=null,n.animProp=null,n.breakpoints=[],n.breakpointSettings=[],n.cssTransitions=!1,n.focussed=!1,n.interrupted=!1,n.hidden="hidden",n.paused=!0,n.positionProp=null,n.respondTo=null,n.rowCount=1,n.shouldClick=!0,n.$slider=i(t),n.$slidesCache=null,n.transformType=null,n.transitionType=null,n.visibilityChange="visibilitychange",n.windowWidth=0,n.windowTimer=null,s=i(t).data("slick")||{},n.options=i.extend({},n.defaults,o,s),n.currentSlide=n.options.initialSlide,n.originalSettings=n.options,void 0!==document.mozHidden?(n.hidden="mozHidden",n.visibilityChange="mozvisibilitychange"):void 0!==document.webkitHidden&&(n.hidden="webkitHidden",n.visibilityChange="webkitvisibilitychange"),n.autoPlay=i.proxy(n.autoPlay,n),n.autoPlayClear=i.proxy(n.autoPlayClear,n),n.autoPlayIterator=i.proxy(n.autoPlayIterator,n),n.changeSlide=i.proxy(n.changeSlide,n),n.clickHandler=i.proxy(n.clickHandler,n),n.selectHandler=i.proxy(n.selectHandler,n),n.setPosition=i.proxy(n.setPosition,n),n.swipeHandler=i.proxy(n.swipeHandler,n),n.dragHandler=i.proxy(n.dragHandler,n),n.keyHandler=i.proxy(n.keyHandler,n),n.instanceUid=e++,n.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/,n.registerBreakpoints(),n.init(!0)}}()).prototype.activateADA=function(){this.$slideTrack.find(".slick-active").attr({"aria-hidden":"false"}).find("a, input, button, select").attr({tabindex:"0"})},e.prototype.addSlide=e.prototype.slickAdd=function(e,t,o){var s=this;if("boolean"==typeof t)o=t,t=null;else if(t<0||t>=s.slideCount)return!1;s.unload(),"number"==typeof t?0===t&&0===s.$slides.length?i(e).appendTo(s.$slideTrack):o?i(e).insertBefore(s.$slides.eq(t)):i(e).insertAfter(s.$slides.eq(t)):!0===o?i(e).prependTo(s.$slideTrack):i(e).appendTo(s.$slideTrack),s.$slides=s.$slideTrack.children(this.options.slide),s.$slideTrack.children(this.options.slide).detach(),s.$slideTrack.append(s.$slides),s.$slides.each(function(e,t){i(t).attr("data-slick-index",e)}),s.$slidesCache=s.$slides,s.reinit()},e.prototype.animateHeight=function(){var i=this;if(1===i.options.slidesToShow&&!0===i.options.adaptiveHeight&&!1===i.options.vertical){var e=i.$slides.eq(i.currentSlide).outerHeight(!0);i.$list.animate({height:e},i.options.speed)}},e.prototype.animateSlide=function(e,t){var o={},s=this;s.animateHeight(),!0===s.options.rtl&&!1===s.options.vertical&&(e=-e),!1===s.transformsEnabled?!1===s.options.vertical?s.$slideTrack.animate({left:e},s.options.speed,s.options.easing,t):s.$slideTrack.animate({top:e},s.options.speed,s.options.easing,t):!1===s.cssTransitions?(!0===s.options.rtl&&(s.currentLeft=-s.currentLeft),i({animStart:s.currentLeft}).animate({animStart:e},{duration:s.options.speed,easing:s.options.easing,step:function(i){i=Math.ceil(i),!1===s.options.vertical?(o[s.animType]="translate("+i+"px, 0px)",s.$slideTrack.css(o)):(o[s.animType]="translate(0px,"+i+"px)",s.$slideTrack.css(o))},complete:function(){t&&t.call()}})):(s.applyTransition(),e=Math.ceil(e),!1===s.options.vertical?o[s.animType]="translate3d("+e+"px, 0px, 0px)":o[s.animType]="translate3d(0px,"+e+"px, 0px)",s.$slideTrack.css(o),t&&setTimeout(function(){s.disableTransition(),t.call()},s.options.speed))},e.prototype.getNavTarget=function(){var e=this,t=e.options.asNavFor;return t&&null!==t&&(t=i(t).not(e.$slider)),t},e.prototype.asNavFor=function(e){var t=this.getNavTarget();null!==t&&"object"==typeof t&&t.each(function(){var t=i(this).slick("getSlick");t.unslicked||t.slideHandler(e,!0)})},e.prototype.applyTransition=function(i){var e=this,t={};!1===e.options.fade?t[e.transitionType]=e.transformType+" "+e.options.speed+"ms "+e.options.cssEase:t[e.transitionType]="opacity "+e.options.speed+"ms "+e.options.cssEase,!1===e.options.fade?e.$slideTrack.css(t):e.$slides.eq(i).css(t)},e.prototype.autoPlay=function(){var i=this;i.autoPlayClear(),i.slideCount>i.options.slidesToShow&&(i.autoPlayTimer=setInterval(i.autoPlayIterator,i.options.autoplaySpeed))},e.prototype.autoPlayClear=function(){var i=this;i.autoPlayTimer&&clearInterval(i.autoPlayTimer)},e.prototype.autoPlayIterator=function(){var i=this,e=i.currentSlide+i.options.slidesToScroll;i.paused||i.interrupted||i.focussed||(!1===i.options.infinite&&(1===i.direction&&i.currentSlide+1===i.slideCount-1?i.direction=0:0===i.direction&&(e=i.currentSlide-i.options.slidesToScroll,i.currentSlide-1==0&&(i.direction=1))),i.slideHandler(e))},e.prototype.buildArrows=function(){var e=this;!0===e.options.arrows&&(e.$prevArrow=i(e.options.prevArrow).addClass("slick-arrow"),e.$nextArrow=i(e.options.nextArrow).addClass("slick-arrow"),e.slideCount>e.options.slidesToShow?(e.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),e.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),e.htmlExpr.test(e.options.prevArrow)&&e.$prevArrow.prependTo(e.options.appendArrows),e.htmlExpr.test(e.options.nextArrow)&&e.$nextArrow.appendTo(e.options.appendArrows),!0!==e.options.infinite&&e.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true")):e.$prevArrow.add(e.$nextArrow).addClass("slick-hidden").attr({"aria-disabled":"true",tabindex:"-1"}))},e.prototype.buildDots=function(){var e,t,o=this;if(!0===o.options.dots){for(o.$slider.addClass("slick-dotted"),t=i("<ul />").addClass(o.options.dotsClass),e=0;e<=o.getDotCount();e+=1)t.append(i("<li />").append(o.options.customPaging.call(this,o,e)));o.$dots=t.appendTo(o.options.appendDots),o.$dots.find("li").first().addClass("slick-active")}},e.prototype.buildOut=function(){var e=this;e.$slides=e.$slider.children(e.options.slide+":not(.slick-cloned)").addClass("slick-slide"),e.slideCount=e.$slides.length,e.$slides.each(function(e,t){i(t).attr("data-slick-index",e).data("originalStyling",i(t).attr("style")||"")}),e.$slider.addClass("slick-slider"),e.$slideTrack=0===e.slideCount?i('<div class="slick-track"/>').appendTo(e.$slider):e.$slides.wrapAll('<div class="slick-track"/>').parent(),e.$list=e.$slideTrack.wrap('<div class="slick-list"/>').parent(),e.$slideTrack.css("opacity",0),!0!==e.options.centerMode&&!0!==e.options.swipeToSlide||(e.options.slidesToScroll=1),i("img[data-lazy]",e.$slider).not("[src]").addClass("slick-loading"),e.setupInfinite(),e.buildArrows(),e.buildDots(),e.updateDots(),e.setSlideClasses("number"==typeof e.currentSlide?e.currentSlide:0),!0===e.options.draggable&&e.$list.addClass("draggable")},e.prototype.buildRows=function(){var i,e,t,o,s,n,r,l=this;if(o=document.createDocumentFragment(),n=l.$slider.children(),l.o
vendor: 3,442 bytes, line 11404
11404ptions.rows>1){for(r=l.options.slidesPerRow*l.options.rows,s=Math.ceil(n.length/r),i=0;i<s;i++){var d=document.createElement("div");for(e=0;e<l.options.rows;e++){var a=document.createElement("div");for(t=0;t<l.options.slidesPerRow;t++){var c=i*r+(e*l.options.slidesPerRow+t);n.get(c)&&a.appendChild(n.get(c))}d.appendChild(a)}o.appendChild(d)}l.$slider.empty().append(o),l.$slider.children().children().children().css({width:100/l.options.slidesPerRow+"%",display:"inline-block"})}},e.prototype.checkResponsive=function(e,t){var o,s,n,r=this,l=!1,d=r.$slider.width(),a=window.innerWidth||i(window).width();if("window"===r.respondTo?n=a:"slider"===r.respondTo?n=d:"min"===r.respondTo&&(n=Math.min(a,d)),r.options.responsive&&r.options.responsive.length&&null!==r.options.responsive){s=null;for(o in r.breakpoints)r.breakpoints.hasOwnProperty(o)&&(!1===r.originalSettings.mobileFirst?n<r.breakpoints[o]&&(s=r.breakpoints[o]):n>r.breakpoints[o]&&(s=r.breakpoints[o]));null!==s?null!==r.activeBreakpoint?(s!==r.activeBreakpoint||t)&&(r.activeBreakpoint=s,"unslick"===r.breakpointSettings[s]?r.unslick(s):(r.options=i.extend({},r.originalSettings,r.breakpointSettings[s]),!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e)),l=s):(r.activeBreakpoint=s,"unslick"===r.breakpointSettings[s]?r.unslick(s):(r.options=i.extend({},r.originalSettings,r.breakpointSettings[s]),!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e)),l=s):null!==r.activeBreakpoint&&(r.activeBreakpoint=null,r.options=r.originalSettings,!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e),l=s),e||!1===l||r.$slider.trigger("breakpoint",[r,l])}},e.prototype.changeSlide=function(e,t){var o,s,n,r=this,l=i(e.currentTarget);switch(l.is("a")&&e.preventDefault(),l.is("li")||(l=l.closest("li")),n=r.slideCount%r.options.slidesToScroll!=0,o=n?0:(r.slideCount-r.currentSlide)%r.options.slidesToScroll,e.data.message){case"previous":s=0===o?r.options.slidesToScroll:r.options.slidesToShow-o,r.slideCount>r.options.slidesToShow&&r.slideHandler(r.currentSlide-s,!1,t);break;case"next":s=0===o?r.options.slidesToScroll:o,r.slideCount>r.options.slidesToShow&&r.slideHandler(r.currentSlide+s,!1,t);break;case"index":var d=0===e.data.index?0:e.data.index||l.index()*r.options.slidesToScroll;r.slideHandler(r.checkNavigable(d),!1,t),l.children().trigger("focus");break;default:return}},e.prototype.checkNavigable=function(i){var e,t;if(e=this.getNavigableIndexes(),t=0,i>e[e.length-1])i=e[e.length-1];else for(var o in e){if(i<e[o]){i=t;break}t=e[o]}return i},e.prototype.cleanUpEvents=function(){var e=this;e.options.dots&&null!==e.$dots&&(i("li",e.$dots).off("click.slick",e.changeSlide).off("mouseenter.slick",i.proxy(e.interrupt,e,!0)).off("mouseleave.slick",i.proxy(e.interrupt,e,!1)),!0===e.options.accessibility&&e.$dots.off("keydown.slick",e.keyHandler)),e.$slider.off("focus.slick blur.slick"),!0===e.options.arrows&&e.slideCount>e.options.slidesToShow&&(e.$prevArrow&&e.$prevArrow.off("click.slick",e.changeSlide),e.$nextArrow&&e.$nextArrow.off("click.slick",e.changeSlide),!0===e.options.accessibility&&(e.$prevArrow&&e.$prevArrow.off("keydown.slick",e.keyHandler),e.$nextArrow&&e.$nextArrow.off("keydown.slick",e.keyHandler))),e.$list.off("touchstart.slick mousedown.slick",e.swipeHandler),e.$list.off("touchmove.slick mousemove.slick",e.swipeHandler),e.$list.off("touchend.slick mouseup.slick",e.swipeHandler),e.$list.off("touchcancel.slick mouseleave.
11404slick",e.swipeHandler),e.$list.off("click.slick",e.clickHandler),i(document).off(e.visibilityChange,e.visibility),e.cleanUpSlideEvents(),!0===e.options.accessibility&&e.$list.off("keydown.slick",e.keyHandler),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().off("click.slick",e.selectHandler),i(window).off("orientationchange.slick.slick-"+e.instanceUid,e.orientationChange),i(window).off("resize.slick.slick-"+e.instanceUid,e.resize),i("[draggable!=true]",e.$slideTrack).off("dragstart",e.preventDefault),i(window).off("load.slick.slick-"+e.instanceUid,e.setPosition)},e.prototype.cleanUpSlideEvents=function(){var e=this;e.$list.off("mouseenter.slick",i.proxy(e.interrupt,e,!0)),e.$list.off("mouseleave.slick",i.proxy(e.interrupt,e,!1))},e.prototype.cleanUpRows=function(){var i,e=this;e.options.rows>1&&((i=e.$slides.children().children()).removeAttr("style"),e.$slider.empty().append(i))},e.prototype.clickHandler=function(i){!1===this.shouldClick&&(i.stopImmediatePropagation(),i.stopPropagation(),i.preventDefault())},e.prototype.destroy=function(e){var t=this;t.autoPlayClear(),t.touchObject={},t.cleanUpEvents(),i(".slick-cloned",t.$slider).detach(),t.$dots&&t.$dots.remove(),t.$prevArrow&&t.$prevArrow.length&&(t.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),t.htmlExpr.test(t.options.prevArrow)&&t.$prevArrow.remove()),t.$nextArrow&&t.$nextArrow.length&&(t.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),t.htmlExpr.test(t.options.nextArrow)&&t.$nextArrow.remove()),t.$slides&&(t.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function(){i(this).attr("style",i(this).data("originalStyling"))}),t.$slideTrack.children(this.options.slide).detach(),t.$slideTrack.detach(),t.$list.detach(),t.$slider.append(t.$slides)),t.cleanUpRows(),t.$slider.removeClass("slick-slider"),t.$slider.removeClass("slick-initialized"),t.$slider.removeClass("slick-dotted"),t.unslicked=!0,e||t.$slider.trigger("destroy",[t])},e.prototype.disableTransition=function(i){var e=this,t={};t[e.transitionType]="",!1===e.options.fade?e.$slideTrack.css(t):e.$slides.eq(i).css(t)},e.prototype.fadeSlide=function(i,e){var t=this;!1===t.cssTransitions?(t.$slides.eq(i).css({zIndex:t.options.zIndex}),t.$slides.eq(i).animate({opacity:1},t.options.speed,t.options.easing,e)):(t.applyTransition(i),t.$slides.eq(i).css({opacity:1,zIndex:t.options.zIndex}),e&&setTimeout(function(){t.disableTransition(i),e.call()},t.options.speed))},e.prototype.fadeSlideOut=function(i){var e=this;!1===e.cssTransitions?e.$slides.eq(i).animate({opacity:0,zIndex:e.options.zIndex-2},e.options.speed,e.options.easing):(e.applyTransition(i),e.$slides.eq(i).css({opacity:0,zIndex:e.options.zIndex-2}))},e.prototype.filterSlides=e.prototype.slickFilter=function(i){var e=this;null!==i&&(e.$slidesCache=e.$slides,e.unload(),e.$slideTrack.children(this.options.slide).detach(),e.$slidesCache.filter(i).appendTo(e.$slideTrack),e.reinit())},e.prototype.focusHandler=function(){var e=this;e.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick","*",function(t){t.stopImmediatePropagation();var o=i(this);setTimeout(function(){e.options.pauseOnFocus&&(e.focussed=o.is(":focus"),e.autoPlay())},0)})},e.prototype.getCurrent=e.prototype.slickCurrentSlide=function(){return this.currentSlide},e.prototype.getDotCount=function(){var i=this,e=0,t=0,o=0;if(!0===i.options.infinite)if(i.slideCount<=i.options.slidesToShow)++o;else for(;e<i.slideCount;)++o,e=t+i.options.slidesToScroll,t+=i.options.slidesToScroll<=i.options.slidesToShow?i.options.slidesToScroll:i.options.slidesToShow;else if(!0===i.options.centerMode)o=i.slideCount;else if(i.options.asNavFor)for(;e<i.slideCount;)++o,e=t+i.options.slidesToScroll,t+=i.options.slidesToScroll<=i.options.slidesToShow?i.options.slidesToScroll:i.options.slidesToShow;else o=1+Math.ceil((i.slideCount-i.options.slidesToShow)/i.options.slidesToScroll);return o-1},e.prototype.getLeft=function(i){var e,t,o,s,n=this,r=0;return n.slideOffset=0,t=n.$slides.first().outerHeight(!0),!0===n.options.infinite?(n.slideCount>n.options.slidesToShow&&(n.slideOffset=n.slideWidth*n.options.slidesToShow*-1,s=-1,!0===n.options.vertical&&!0===n.options.centerMode&&(2===n.options.slidesToShow?s=-1.5:1===n.options.slidesToShow&&(s=-2)),r=t*n.options.slidesToShow*s),n.slideCount%n.options.slidesToScroll!=0&&i+n.options.slidesToScroll>n.slideCount&&n.slideCount>n.options.slidesToShow&&(i>n.slideCount?(n.slideOffset=(n.options.slidesToShow-(i-n.slideCount))*n.slideWidth*-1,r=(n.options.slidesToShow-(i-n.slideCount))*t*-1):(n.slideOffset=n.slideCount%n.options.slidesToScroll*n.slideWidth*-1,r=n.slideCount%n.options.slidesToScroll*t*-1))):i+n.options.slidesToShow>n.slideCount&&(n.slideOffset=(i+n.options.slidesToShow-n.slideCount)*n.slideWidth,r=(i+n.options.slidesToShow-n.slideCount)*t),n.slideCount<=n.options.slidesToShow&&(n.slideOffset=0,r=0),!0===n.options.centerMode&&n.slideCount<=n.options.slidesToShow?n.slideOffset=n.slideWidth*Math.floor(n.options.slidesToShow)/2-n.slideWidth*n.slideCount/2:!0===n.options.centerMode&&!0===n.options.infinite?n.slideOffset+=n.slideWidth*Math.floor(n.options.slidesToShow/2)-n.slideWidth:!0===n.options.centerMode&&(n.slideOffset=0,n.slideOffset+=n.slideWidth*Math.floor(n.options.slidesToShow/2)),e=!1===n.options.vertical?i*n.slideWidth*-1+n.slideOffset:i*t*-1+r,!0===n.options.variableWidth&&(o=n.slideCount<=n.options.slidesToShow||!1===n.options.infinite?n.$slideTrack.children(".slick-slide").eq(i):n.$slideTrack.children(".slick-slide").eq(i+n.options.slidesToShow),e=!0===n.options.rtl?o[0]?-1*(n.$slideTrack.width()-o[0].offsetLeft-o.width()):0:o[0]?-1*o[0].offsetLeft:0,!0===n.options.centerMode&&(o=n.slideCount<=n.options.slidesToShow||!1===n.options.infinite?n.$slideTrack.children(".slick-slide").eq(i):n.$slideTrack.children(".slick-slide").eq(i+n.options.slidesToShow+1),e=!0===n.options.rtl?o[0]?-1*(n.$slideTrack.width()-o[0].offsetLeft-o.width()):0:o[0]?-1*o[0].offsetLeft:0,e+=(n.$list.width()-o.outerWidth())/2)),e},e.prototype.getOption=e.prototype.slickGetOption=function(i){return this.options[i]},e.prototype.getNavigableIndexes=function(){var i,e=this,t=0,o=0,s=[];for(!1===e.options.infinite?i=e.slideCount:(t=-1*e.options.slidesToScroll,o=-1*e.options.slidesToScroll,i=2*e.slideCount);t<i;)s.push(t),t=o+e.options.slidesToScroll,o+=e.options.slidesToScroll<=e.options.slidesToShow?e.options.slidesToScroll:e.options.slidesToShow;return s},e.prototype.getSlick=function(){return this},e.prototype.getSlideCount=function(){var e,t,o=this;return t=!0===o.options.centerMode?o.slideWidth*Math.floor(o.options.slidesToShow/2):0,!0===o.options.swipeToSlide?(o.$slideTrack.find(".slick-slide").each(function(s,n){if(n.offsetLeft-t+i(n).outerWidth()/2>-1*o.swipeLeft)return e=n,!1}),Math.abs(i(e).attr("data-slick-index")-o.currentSlide)||1):o.options.slidesToScroll},e.prototype.goTo=e.prototype.slickGoTo=function(i,e){this.changeSlide({data:{message:"index",index:
11404parseInt(i)}},e)},e.prototype.init=function(e){var t=this;i(t.$slider).hasClass("slick-initialized")||(i(t.$slider).addClass("slick-initialized"),t.buildRows(),t.buildOut(),t.setProps(),t.startLoad(),t.loadSlider(),t.initializeEvents(),t.updateArrows(),t.updateDots(),t.checkResponsive(!0),t.focusHandler()),e&&t.$slider.trigger("init",[t]),!0===t.options.accessibility&&t.initADA(),t.options.autoplay&&(t.paused=!1,t.autoPlay())},e.prototype.initADA=function(){var e=this,t=Math.ceil(e.slideCount/e.options.slidesToShow),o=e.getNavigableIndexes().filter(function(i){return i>=0&&i<e.slideCount});e.$slides.add(e.$slideTrack.find(".slick-cloned")).attr({"aria-hidden":"true",tabindex:"-1"}).find("a, input, button, select").attr({tabindex:"-1"}),null!==e.$dots&&(e.$slides.not(e.$slideTrack.find(".slick-cloned")).each(function(t){var s=o.indexOf(t);i(this).attr({role:"tabpanel",id:"slick-slide"+e.instanceUid+t,tabindex:-1}),-1!==s&&i(this).attr({"aria-describedby":"slick-slide-control"+e.instanceUid+s})}),e.$dots.attr("role","tablist").find("li").each(function(s){var n=o[s];i(this).attr({role:"presentation"}),i(this).find("button").first().attr({role:"tab",id:"slick-slide-control"+e.instanceUid+s,"aria-controls":"slick-slide"+e.instanceUid+n,"aria-label":s+1+" of "+t,"aria-selected":null,tabindex:"-1"})}).eq(e.currentSlide).find("button").attr({"aria-selected":"true",tabindex:"0"}).end());for(var s=e.currentSlide,n=s+e.options.slidesToShow;s<n;s++)e.$slides.eq(s).attr("tabindex",0);e.activateADA()},e.prototype.initArrowEvents=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.off("click.slick").on("click.slick",{message:"previous"},i.changeSlide),i.$nextArrow.off("click.slick").on("click.slick",{message:"next"},i.changeSlide),!0===i.options.accessibility&&(i.$prevArrow.on("keydown.slick",i.keyHandler),i.$nextArrow.on("keydown.slick",i.keyHandler)))},e.prototype.initDotEvents=function(){var e=this;!0===e.options.dots&&(i("li",e.$dots).on("click.slick",{message:"index"},e.changeSlide),!0===e.options.accessibility&&e.$dots.on("keydown.slick",e.keyHandler)),!0===e.options.dots&&!0===e.options.pauseOnDotsHover&&i("li",e.$dots).on("mouseenter.slick",i.proxy(e.interrupt,e,!0)).on("mouseleave.slick",i.proxy(e.interrupt,e,!1))},e.prototype.initSlideEvents=function(){var e=this;e.options.pauseOnHover&&(e.$list.on("mouseenter.slick",i.proxy(e.interrupt,e,!0)),e.$list.on("mouseleave.slick",i.proxy(e.interrupt,e,!1)))},e.prototype.initializeEvents=function(){var e=this;e.initArrowEvents(),e.initDotEvents(),e.initSlideEvents(),e.$list.on("touchstart.slick mousedown.slick",{action:"start"},e.swipeHandler),e.$list.on("touchmove.slick mousemove.slick",{action:"move"},e.swipeHandler),e.$list.on("touchend.slick mouseup.slick",{action:"end"}
11404,e.swipeHandler),e.$list.on("touchcancel.slick mouseleave.slick",{action:"end"},e.swipeHandler),e.$list.on("click.slick",e.clickHandler),i(document).on(e.visibilityChange,i.proxy(e.visibility,e)),!0===e.options.accessibility&&e.$list.on("keydown.slick",e.keyHandler),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().on("click.slick",e.selectHandler),i(window).on("orientationchange.slick.slick-"+e.instanceUid,i.proxy(e.orientationChange,e)),i(window).on("resize.slick.slick-"+e.instanceUid,i.proxy(e.resize,e)),i("[draggable!=true]",e.$slideTrack).on("dragstart",e.preventDefault),i(window).on("load.slick.slick-"+e.instanceUid,e.setPosition),i(e.setPosition)},e.prototype.initUI=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.show(),i.$nextArrow.show()),!0===i.options.dots&&i.slideCount>i.options.slidesToShow&&i.$dots.show()},e.prototype.keyHandler=function(i){var e=this;i.target.tagName.match("TEXTAREA|INPUT|SELECT")||(37===i.keyCode&&!0===e.options.accessibility?e.changeSlide({data:{message:!0===e.options.rtl?"next":"previous"}}):39===i.keyCode&&!0===e.options.accessibility&&e.changeSlide({data:{message:!0===e.options.rtl?"previous":"next"}}))},e.prototype.lazyLoad=function(){function e(e){i("img[data-lazy]",e).each(function(){var e=i(this),t=i(this).attr("data-lazy"),o=i(this).attr("data-srcset"),s=i(this).attr("data-sizes")||n.$slider.attr("data-sizes"),r=document.createElement("img");r.onload=function(){e.animate({opacity:0}
vendor: 5,619 bytes, line 11404
11404,100,function(){o&&(e.attr("srcset",o),s&&e.attr("sizes",s)),e.attr("src",t).animate({opacity:1},200,function(){e.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading")}),n.$slider.trigger("lazyLoaded",[n,e,t])})},r.onerror=function(){e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),n.$slider.trigger("lazyLoadError",[n,e,t])},r.src=t})}var t,o,s,n=this;if(!0===n.options.centerMode?!0===n.options.infinite?s=(o=n.currentSlide+(n.options.slidesToShow/2+1))+n.options.slidesToShow+2:(o=Math.max(0,n.currentSlide-(n.options.slidesToShow/2+1)),s=n.options.slidesToShow/2+1+2+n.currentSlide):(o=n.options.infinite?n.options.slidesToShow+n.currentSlide:n.currentSlide,s=Math.ceil(o+n.options.slidesToShow),!0===n.options.fade&&(o>0&&o--,s<=n.slideCount&&s++)),t=n.$slider.find(".slick-slide").slice(o,s),"anticipated"===n.options.lazyLoad)for(var r=o-1,l=s,d=n.$slider.find(".slick-slide"),a=0;a<n.options.slidesToScroll;a++)r<0&&(r=n.slideCount-1),t=(t=t.add(d.eq(r))).add(d.eq(l)),r--,l++;e(t),n.slideCount<=n.options.slidesToShow?e(n.$slider.find(".slick-slide")):n.currentSlide>=n.slideCount-n.options.slidesToShow?e(n.$slider.find(".slick-cloned").slice(0,n.options.slidesToShow)):0===n.currentSlide&&e(n.$slider.find(".slick-cloned").slice(-1*n.options.slidesToShow))},e.prototype.loadSlider=function(){var i=this;i.setPosition(),i.$slideTrack.css({opacity:1}),i.$slider.removeClass("slick-loading"),i.initUI(),"progressive"===i.options.lazyLoad&&i.progressiveLazyLoad()},e.prototype.next=e.prototype.slickNext=function(){this.changeSlide({data:{message:"next"}})},e.prototype.orientationChange=function(){var i=this;i.checkResponsive(),i.setPosition()},e.prototype.pause=e.prototype.slickPause=function(){var i=this;i.autoPlayClear(),i.paused=!0},e.prototype.play=e.prototype.slickPlay=function(){var i=this;i.autoPlay(),i.options.autoplay=!0,i.paused=!1,i.focussed=!1,i.interrupted=!1},e.prototype.postSlide=function(e){var t=this;t.unslicked||(t.$slider.trigger("afterChange",[t,e]),t.animating=!1,t.slideCount>t.options.slidesToShow&&t.setPosition(),t.swipeLeft=null,t.options.autoplay&&t.autoPlay(),!0===t.options.accessibility&&(t.initADA(),t.options.focusOnChange&&i(t.$slides.get(t.currentSlide)).attr("tabindex",0).focus()))},e.prototype.prev=e.prototype.slickPrev=function(){this.changeSlide({data:{message:"previous"}})},e.prototype.preventDefault=function(i){i.preventDefault()},e.prototype.progressiveLazyLoad=function(e){e=e||1;var t,o,s,n,r,l=this,d=i("img[data-lazy]",l.$slider);d.length?(t=d.first(),o=t.attr("data-lazy"),s=t.attr("data-srcset"),n=t.attr("data-sizes")||l.$slider.attr("data-sizes"),(r=document.createElement("img")).onload=function(){s&&(t.attr("srcset",s),n&&t.attr("sizes",n)),t.attr("src",o).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"),!0===l.options.adaptiveHeight&&l.setPosition(),l.$slider.trigger("lazyLoaded",[l,t,o]),l.progressiveLazyLoad()},r.onerror=function(){e<3?setTimeout(function(){l.progressiveLazyLoad(e+1)},500):(t.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),l.$slider.trigger("lazyLoadError",[l,t,o]),l.progressiveLazyLoad())},r.src=o):l.$slider.trigger("allImagesLoaded",[l])},e.prototype.refresh=function(e){var t,o,s=this;o=s.slideCount-s.options.slidesToShow,!s.options.infinite&&s.currentSlide>o&&(s.currentSlide=o),s.slideCount<=s.options.slidesToShow&&(s.currentSlide=0),t=s.currentSlide,s.destroy(!0),i.extend(s,s.initials,{currentSlide:t}),s.init(),e||s.changeSlide({data:{message:"index",index:t}},!1)},e.prototype.registerBreakpoints=function(){var e,t,o,s=this,n=s.options.responsive||null;if("array"===i.type(n)&&n.length){s.respondTo=s.options.respondTo||"window";for(e in n)if(o=s.breakpoints.length-1,n.hasOwnProperty(e)){for(t=n[e].breakpoint;o>=0;)s.breakpoints[o]&&s.breakpoints[o]===t&&s.breakpoints.splice(o,1),o--;s.breakpoints.push(t),s.breakpointSettings[t]=n[e].settings}s.breakpoints.sort(function(i,e){return s.options.mobileFirst?i-e:e-i})}},e.prototype.reinit=function(){var e=this;e.$slides=e.$slideTrack.children(e.options.slide).addClass("slick-slide"),e.slideCount=e.$slides.length,e.currentSlide>=e.slideCount&&0!==e.currentSlide&&(e.currentSlide=e.currentSlide-e.options.slidesToScroll),e.slideCount<=e.options.slidesToShow&&(e.currentSlide=0),e.registerBreakpoints(),e.setProps(),e.setupInfinite(),e.buildArrows(),e.updateArrows(),e.initArrowEvents(),e.buildDots(),e.updateDots(),e.initDotEvents(),e.cleanUpSlideEvents(),e.initSlideEvents(),e.checkResponsive(!1,!0),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().on("click.slick",e.selectHandler),e.setSlideClasses("number"==typeof e.currentSlide?e.currentSlide:0),e.setPosition(),e.focusHandler(),e.paused=!e.options.autoplay,e.autoPlay(),e.$slider.trigger("reInit",[e])},e.prototype.resize=function(){var e=this;i(window).width()!==e.windowWidth&&(clearTimeout(e.windowDelay),e.windowDelay=window.setTimeout(function(){e.windowWidth=i(window).width(),e.checkResponsive(),e.unslicked||e.setPosition()},50))},e.prototype.removeSlide=e.prototype.slickRemove=function(i,e,t){var o=this;if(i="boolean"==typeof i?!0===(e=i)?0:o.slideCount-1:!0===e?--i:i,o.slideCount<1||i<0||i>o.slideCount-1)return!1;o.unload(),!0===t?o.$slideTrack.children().remove():o.$slideTrack.children(this.options.slide).eq(i).remove(),o.$slides=o.$slideTrack.children(this.options.slide),o.$slideTrack.children(this.options.slide).detach(),o.$slideTrack.append(o.$slides),o.$slidesCache=o.$slides,o.reinit()},e.prototype.setCSS=function(i){var e,t,o=this,s={};
11404!0===o.options.rtl&&(i=-i),e="left"==o.positionProp?Math.ceil(i)+"px":"0px",t="top"==o.positionProp?Math.ceil(i)+"px":"0px",s[o.positionProp]=i,!1===o.transformsEnabled?o.$slideTrack.css(s):(s={},!1===o.cssTransitions?(s[o.animType]="translate("+e+", "+t+")",o.$slideTrack.css(s)):(s[o.animType]="translate3d("+e+", "+t+", 0px)",o.$slideTrack.css(s)))},e.prototype.setDimensions=function(){var i=this;!1===i.options.vertical?!0===i.options.centerMode&&i.$list.css({padding:"0px "+i.options.centerPadding}):(i.$list.height(i.$slides.first().outerHeight(!0)*i.options.slidesToShow),!0===i.options.centerMode&&i.$list.css({padding:i.options.centerPadding+" 0px"})),i.listWidth=i.$list.width(),i.listHeight=i.$list.height(),!1===i.options.vertical&&!1===i.options.variableWidth?(i.slideWidth=Math.ceil(i.listWidth/i.options.slidesToShow),i.$slideTrack.width(Math.ceil(i.slideWidth*i.$slideTrack.children(".slick-slide").length))):!0===i.options.variableWidth?i.$slideTrack.width(5e3*i.slideCount):(i.slideWidth=Math.ceil(i.listWidth),i.$slideTrack.height(Math.ceil(i.$slides.first().outerHeight(!0)*i.$slideTrack.children(".slick-slide").length)));var e=i.$slides.first().outerWidth(!0)-i.$slides.first().width();!1===i.options.variableWidth&&i.$slideTrack.children(".slick-slide").width(i.slideWidth-e)},e.prototype.setFade=function(){var e,t=this;t.$slides.each(function(o,s){e=t.slideWidth*o*-1,!0===t.options.rtl?i(s).css({position:"relative",right:e,top:0,zIndex:t.options.zIndex-2,opacity:0}
11404):i(s).css({position:"relative",left:e,top:0,zIndex:t.options.zIndex-2,opacity:0})}),t.$slides.eq(t.currentSlide).css({zIndex:t.options.zIndex-1,opacity:1})},e.prototype.setHeight=function(){var i=this;if(1===i.options.slidesToShow&&!0===i.options.adaptiveHeight&&!1===i.options.vertical){var e=i.$slides.eq(i.currentSlide).outerHeight(!0);i.$list.css("height",e)}},e.prototype.setOption=e.prototype.slickSetOption=function(){var e,t,o,s,n,r=this,l=!1;if("object"===i.type(arguments[0])?(o=arguments[0],l=arguments[1],n="multiple"):"string"===i.type(arguments[0])&&(o=arguments[0],s=arguments[1],l=arguments[2],"responsive"===arguments[0]&&"array"===i.type(arguments[1])?n="responsive":void 0!==arguments[1]&&(n="single")),"single"===n)r.options[o]=s;else if("multiple"===n)i.each(o,function(i,e){r.options[i]=e});else if("responsive"===n)for(t in s)if("array"!==i.type(r.options.responsive))r.options.responsive=[s[t]];else{for(e=r.options.responsive.length-1;e>=0;)r.options.responsive[e].breakpoint===s[t].breakpoint&&r.options.responsive.splice(e,1),e--;r.options.responsive.push(s[t])}l&&(r.unload(),r.reinit())},e.prototype.setPosition=function(){var i=this;i.setDimensions(),i.setHeight(),!1===i.options.fade?i.setCSS(i.getLeft(i.currentSlide)):i.setFade(),i.$slider.trigger("setPosition",[i])},e.prototype.setProps=function(){var i=this,e=document.body.style;i.positionProp=!0===i.options.vertical?"top":"left","top"===i.positionProp?i.$slider.addClass("slick-vertical"):i.$slider.removeClass("slick-vertical"),void 0===e.WebkitTransition&&void 0===e.MozTransition&&void 0===e.msTransition||!0===i.options.useCSS&&(i.cssTransitions=!0),i.options.fade&&("number"==typeof i.options.zIndex?i.options.zIndex<3&&(i.options.zIndex=3):i.options.zIndex=i.defaults.zIndex),void 0!==e.OTransform&&(i.animType="OTransform",i.transformType="-o-transform",i.transitionType="OTransition",void 0===e.perspectiveProperty&&void 0===e.webkitPerspective&&(i.animType=!1)),void 0!==e.MozTransform&&(i.animType="MozTransform",i.transformType="-moz-transform",i.transitionType="MozTransition",void 0===e.perspectiveProperty&&void 0===e.MozPerspective&&(i.animType=!1)),void 0!==e.webkitTransform&&(i.animType="webkitTransform",i.transformType="-webkit-transform",i.transitionType="webkitTransition",void 0===e.perspectiveProperty&&void 0===e.webkitPerspective&&(i.animType=!1)),void 0!==e.msTransform&&(i.animType="msTransform",i.transformType="-ms-transform",i.transitionType="msTransition",void 0===e.msTransform&&(i.animType=!1)),void 0!==e.transform&&!1!==i.animType&&(i.animType="transform",i.transformType="transform",i.transitionType="transition"),i.transformsEnabled=i.options.useTransform&&null!==i.animType&&!1!==i.animType},e.prototype.setSlideClasses=function(i){var e,t,o,s,n=this;if(t=n.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden","true"),n.$slides.eq(i).addClass("slick-current"),!0===n.options.centerMode){var r=n.options.slidesToShow%2==0?1:0;e=Math.floor(n.options.slidesToShow/2),!0===n.options.infinite&&(i>=e&&i<=n.slideCount-1-e?n.$slides.slice(i-e+r,i+e+1).addClass("slick-active").attr("aria-hidden","false"):(o=n.options.slidesToShow+i,t.slice(o-e+1+r,o+e+2).addClass("slick-active").attr("aria-hidden","false")),0===i?t.eq(t.length-1-n.options.slidesToShow).addClass("slick-center"):i===n.slideCount-1&&t.eq(n.options.slidesToShow).addClass("slick-center")),n.$slides.eq(i).addClass("slick-center")}else i>=0&&i<=n.slideCount-n.options.slidesToShow?n.$slides.slice(i,i+n.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"):t.length<=n.options.slidesToShow?t.addClass("slick-active").attr("aria-hidden","false"):(s=n.slideCount%n.options.slidesToShow,o=!0===n.options.infinite?n.options.slidesToShow+i:i,n.options.slidesToShow==n.options.slidesToScroll&&n.slideCount-i<n.options.slidesToShow?t.slice(o-(n.options.slidesToShow-s),o+s).addClass("slick-active").attr("aria-hidden","false"):t.slice(o,o+n.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"));"ondemand"!==n.options.lazyLoad&&"anticipated"!==n.options.lazyLoad||n.lazyLoad()},e.prototype.setupInfinite=function(){var e,t,o,s=this;if(!0===s.options.fade&&(s.options.centerMode=!1),!0===s.options.infinite&&!1===s.options.fade&&(t=null,s.slideCount>s.options.slidesToShow)){for(o=!0===s.options.centerMode?s.options.slidesToShow+1:s.options.slidesToShow,e=s.slideCount;e>s.slideCount-o;e-=1)t=e-1,i(s.$slides[t]).clone(!0).attr("id","").attr("data-slick-index",t-s.slideCount).prependTo(s.$slideTrack).addClass("slick-cloned");for(e=0;e<o+s.slideCount;e+=1)t=e,i(s.$slides[t]).clone(!0).attr("id","").attr("data-slick-index",t+s.slideCount).appendTo(s.$slideTrack).addClass("slick-cloned");s.$slideTrack.find(".slick-cloned").find("[id]").each(function(){i(this).attr("id","")})}},e.prototype.interrupt=function(i){var e=this;i||e.autoPlay(),e.interrupted=i},e.prototype.selectHandler=function(e){var t=this,o=i(e.target).is(".slick-slide")?i(e.target):i(e.target).parents(".slick-slide"),s=parseInt(o.attr("data-slick-index"));s||(s=0),t.slideCount<=t.options.slidesToShow?t.slideHandler(s,!1,!0):t.slideHandler(s)},e.prototype.slideHandler=function(i,e,t){var o,s,n,r,l,d=null,a=this;if(e=e||!1,!(!0===a.animating&&!0===a.options.waitForAnimate||!0===a.options.fade&&a.currentSlide===i))if(!1===e&&a.asNavFor(i),o=i,d=a.getLeft(o),r=a.getLeft(a.currentSlide),a.currentLeft=null===a.swipeLeft?r:a.swipeLeft,!1===a.options.infinite&&!1===a.options.centerMode&&(i<0||i>a.getDotCount()*a.options.slidesToScroll))!1===a.options.fade&&(o=a.currentSlide,!0!==t?a.animateSlide(r,function(){a.postSlide(o)}):a.postSlide(o));else if(!1===a.options.infinite&&!0===a.options.centerMode&&(i<0||i>a.slideCount-a.options.slidesToScroll))!1===a.options.fade&&(o=a.currentSlide,!0!==t?a.animateSlide(r,function(){a.postSlide(o)}):a.postSlide(o));else{if(a.options.autoplay&&clearInterval(a.autoPlayTimer),s=o<0?a.slideCount%a.options.slidesToScroll!=0?a.slideCount-a.slideCount%a.options.slidesToScroll:a.slideCount+
11404o:o>=a.slideCount?a.slideCount%a.options.slidesToScroll!=0?0:o-a.slideCount:o,a.animating=!0,a.$slider.trigger("beforeChange",[a,a.currentSlide,s]),n=a.currentSlide,a.currentSlide=s,a.setSlideClasses(a.currentSlide),a.options.asNavFor&&(l=(l=a.getNavTarget()).slick("getSlick")).slideCount<=l.options.slidesToShow&&l.setSlideClasses(a.currentSlide),a.updateDots(),a.updateArrows(),!0===a.options.fade)return!0!==t?(a.fadeSlideOut(n),a.fadeSlide(s,function(){a.postSlide(s)})):a.postSlide(s),void a.animateHeight();!0!==t?a.animateSlide(d,function(){a.postSlide(s)}):a.postSlide(s)}},e.prototype.startLoad=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.hide(),i.$nextArrow.hide()),!0===i.options.dots&&i.slideCount>i.options.slidesToShow&&i.$dots.hide(),i.$slider.addClass("slick-loading")},e.prototype.swipeDirection=function(){var i,e,t,o,s=this;return i=s.touchObject.startX-s.touchObject.curX,e=s.touchObject.startY-s.touchObject.curY,t=Math.atan2(e,i),(o=Math.round(180*t/Math.PI))<0&&(o=360-Math.abs(o)),o<=45&&o>=0?!1===s.options.rtl?"left":"right":o<=360&&o>=315?!1===s.options.rtl?"left":"right":o>=135&&o<=225?!1===s.options.rtl?"right":"left":!0===s.options.verticalSwiping?o>=35&&o<=135?"down":"up":"vertical"},e.prototype.swipeEnd=function(i){var e,t,o=this;if(o.dragging=!1,o.swiping=!1,o.scrolling)return o.scrolling=!1,!1;if(o.interrupted=!1,o.shouldClick=!(o.touchObject.swipeLength>10),void 0===o.touchObject.curX)return!1;if(!0===o.touchObject.edgeHit&&o.$slider.trigger("edge",[o,o.swipeDirection()]),o.touchObject.swipeLength>=o.touchObject.minSwipe){switch(t=o.swipeDirection()){case"left":case"down":e=o.options.swipeToSlide?o.checkNavigable(o.currentSlide+o.getSlideCount()):o.currentSlide+o.getSlideCount(),o.currentDirection=0;break;case"right":case"up":e=o.options.swipeToSlide?o.checkNavigable(o.currentSlide-o.getSlideCount()):o.currentSlide-o.getSlideCount(),o.currentDirection=1}"vertical"!=t&&(o.slideHandler(e),o.touchObject={},o.$slider.trigger("swipe",[o,t]))}else o.touchObject.startX!==o.touchObject.curX&&(o.slideHandler(o.currentSlide),o.touchObject={})},e.prototype.swipeHandler=function(i){var e=this;if(!(!1===e.options.swipe||"ontouchend"in document&&!1===e.options.swipe||!1===e.options.draggable&&-1!==i.type.indexOf("mouse")))switch(e.touchObject.fingerCount=i.originalEvent&&void 0!==i.originalEvent.touches?i.originalEvent.touches.length:1,e.touchObject.minSwipe=e.listWidth/e.options.touchThreshold,!0===e.options.verticalSwiping&&(e.touchObject.minSwipe=e.listHeight/e.options.touchThreshold),i.data.action){case"start":e.swipeStart(i);break;case"move":e.swipeMove(i);break;case"end":e.swipeEnd(i)}},e.prototype.swipeMove=function(i){var e,t,o,s,n,r,l=this;return n=void 0!==i.originalEvent?i.originalEvent.touches:null,!(!l.dragging||l.scrolling||n&&1!==n.length)&&(e=l.getLeft(l.currentSlide),l.touchObject.curX=void 0!==n?n[0].pageX:i.clientX,l.touchObject.curY=void 0!==n?n[0].pageY:i.clientY,l.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(l.touchObject.curX-l.touchObject.startX,2))),r=Math.round(Math.sqrt(Math.pow(l.touchObject.curY-l.touchObject.startY,2))),!l.options.verticalSwiping&&!l.swiping&&r>4?(l.scrolling=!0,!1):(!0===l.options.verticalSwiping&&(l.touchObject.swipeLength=r),t=l.swipeDirection(),void 0!==i.originalEvent&&l.touchObject.swipeLength>4&&(l.swiping=!0,i.preventDefault()),s=(!1===l.options.rtl?1:-1)*(l.touchObject.curX>l.touchObject.startX?1:-1),!0===l.options.verticalSwiping&&(s=l.touchObject.curY>l.touchObject.startY?1:-1),o=l.touchObject.swipeLength,l.touchObject.edgeHit=!1,!1===l.options.infinite&&(0===l.currentSlide&&"right"===t||l.currentSlide>=l.getDotCount()&&"left"===t)&&(o=l.touchObject.swipeLength*l.options.edgeFriction,l.touchObject.edgeHit=!0),!1===l.options.vertical?l.swipeLeft=e+o*s:l.swipeLeft=e+o*(l.$list.height()/l.listWidth)*s,!0===l.options.verticalSwiping&&(l.swipeLeft=e+o*s),!0!==l.options.fade&&!1!==l.options.touchMove&&(!0===l.animating?(l.swipeLeft=null,!1):void l.setCSS(l.swipeLeft))))},e.prototype.swipeStart=function(i){var e,t=this;if(t.interrupted=!0,1!==t.touchObject.fingerCount||t.slideCount<=t.options.slidesToShow)return t.touchObject={},!1;void 0!==i.originalEvent&&void 0!==i.originalEvent.touches&&(e=i.originalEvent.touches[0]),t.touchObject.startX=t.touchObject.curX=void 0!==e?e.pageX:i.clientX,t.touchObject.startY=t.touchObject.curY=void 0!==e?e.pageY:i.clientY,t.dragging=!0},e.prototype.unfilterSlides=e.prototype.slickUnfilter=function(){var i=this;null!==i.$slidesCache&&(i.unload(),i.$slideTrack.children(this.options.slide).detach(),i.$slidesCache.appendTo(i.$slideTrack),i.reinit())},e.prototype.unload=function(){var e=this;i(".slick-cloned",e.$slider).remove(),e.$dots&&e.$dots.remove(),e.$prevArrow&&e.htmlExpr.test(e.options.prevArrow)&&e.$prevArrow.remove(),e.$nextArrow&&e.htmlExpr.test(e.options.nextArrow)&&e.$nextArrow.remove(),e.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden","true").css("width","")}
11404,e.prototype.unslick=function(i){var e=this;e.$slider.trigger("unslick",[e,i]),e.destroy()},e.prototype.updateArrows=function(){var i=this;Math.floor(i.options.slidesToShow/2),!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&!i.options.infinite&&(i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false"),i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false"),0===i.currentSlide?(i.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false")):i.currentSlide>=i.slideCount-i.options.slidesToShow&&!1===i.options.centerMode?(i.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")):i.currentSlide>=i.slideCount-1&&!0===i.options.centerMode&&(i.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")))},e.prototype.updateDots=function(){var i=this;null!==i.$dots&&(i.$dots.find("li").removeClass("slick-active").end(),i.$dots.find("li").eq(Math.floor(i.currentSlide/i.options.slidesToScroll)).addClass("slick-active"))},e.prototype.visibility=function(){var i=this;i.options.autoplay&&(document[i.hidden]?i.interrupted=!0:i.interrupted=!1)},i.fn.slick=function(){var i,t,o=this,s=arguments[0],n=Array.prototype.slice.call(arguments,1),r=o.length;for(i=0;i<r;i++)if("object"==typeof s||void 0===s?o[i].slick=new e(o[i],s):t=o[i].slick[s].apply(o[i].slick,n),void 0!==t)return t;return o}});
11405
11406/* End */
11407;
11408; /* Start:"a:4:{s:4:"full";s:56:"/local/templates/culture/build/js/bvi.js?176656724482847";s:6:"source";s:40:"/local/templates/culture/build/js/bvi.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
11409/* eslint-disable no-prototype-builtins */
11410/* eslint-disable no-constant-condition */
11411/* eslint-disable no-unsafe-finally */
11412/* eslint-disable no-func-assign */
11413/* eslint-disable no-undef */
11414/*!
11415  * Button visually impaired - v1.0.0 https://bvi.isvek.ru
11416  * Copyright 2014-2021 Oleg Korotenko <[email protected]>.
11417  * Licensed MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)
11418  */
11419(function (global, factory) {
11420  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
11421  typeof define === 'function' && define.amd ? define(factory) :
11422  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.isvek = factory());
11423}(this, (function () { 'use strict';
11424
11425  function ownKeys(object, enumerableOnly) {
11426    var keys = Object.keys(object);
11427
11428    if (Object.getOwnPropertySymbols) {
11429      var symbols = Object.getOwnPropertySymbols(object);
11430
11431      if (enumerableOnly) {
11432        symbols = symbols.filter(function (sym) {
11433          return Object.getOwnPropertyDescriptor(object, sym).enumerable;
11434        });
11435      }
11436
11437      keys.push.apply(keys, symbols);
11438    }
11439
11440    return keys;
11441  }
11442
11443  function _objectSpread2(target) {
11444    for (var i = 1; i < arguments.length; i++) {
11445      var source = arguments[i] != null ? arguments[i] : {};
11446
11447      if (i % 2) {
11448        ownKeys(Object(source), true).forEach(function (key) {
11449          _defineProperty(target, key, source[key]);
11450        });
11451      } else if (Object.getOwnPropertyDescriptors) {
11452        Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
11453      } else {
11454        ownKeys(Object(source)).forEach(function (key) {
11455          Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
11456        });
11457      }
11458    }
11459
11460    return target;
11461  }
11462
11463  function _typeof(obj) {
11464    "@babel/helpers - typeof";
11465
11466    if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
11467      _typeof = function (obj) {
11468        return typeof obj;
11469      };
11470    } else {
11471      _typeof = function (obj) {
11472        return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
11473      };
11474    }
11475
11476    return _typeof(obj);
11477  }
11478
11479  function _classCallCheck(instance, Constructor) {
11480    if (!(instance instanceof Constructor)) {
11481      throw new TypeError("Cannot call a class as a function");
11482    }
11483  }
11484
11485  function _defineProperties(target, props) {
11486    for (var i = 0; i < props.length; i++) {
11487      var descriptor = props[i];
11488      descriptor.enumerable = descriptor.enumerable || false;
11489      descriptor.configurable = true;
11490      if ("value" in descriptor) descriptor.writable = true;
11491      Object.defineProperty(target, descriptor.key, descriptor);
11492    }
11493  }
11494
11495  function _createClass(Constructor, protoProps, staticProps) {
11496    if (protoProps) _defineProperties(Constructor.prototype, protoProps);
11497    if (staticProps) _defineProperties(Constructor, staticProps);
11498    return Constructor;
11499  }
11500
11501  function _defineProperty(obj, key, value) {
11502    if (key in obj) {
11503      Object.defineProperty(obj, key, {
11504        value: value,
11505        enumerable: true,
11506        configurable: true,
11507        writable: true
11508      });
11509    } else {
11510      obj[key] = value;
11511    }
11512
11513    return obj;
11514  }
11515
11516  function _unsupportedIterableToArray(o, minLen) {
11517    if (!o) return;
11518    if (typeof o === "string") return _arrayLikeToArray(o, minLen);
11519    var n = Object.prototype.toString.call(o).slice(8, -1);
11520    if (n === "Object" && o.constructor) n = o.constructor.name;
11521    if (n === "Map" || n === "Set") return Array.from(o);
11522    if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
11523  }
11524
11525  function _arrayLikeToArray(arr, len) {
11526    if (len == null || len > arr.length) len = arr.length;
11527
11528    for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
11529
11530    return arr2;
11531  }
11532
11533  function _createForOfIteratorHelper(o, allowArrayLike) {
11534    var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
11535
11536    if (!it) {
11537      if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
11538        if (it) o = it;
11539        var i = 0;
11540
11541        var F = function () {};
11542
11543        return {
11544          s: F,
11545          n: function () {
11546            if (i >= o.length) return {
11547              done: true
11548            };
11549            return {
11550              done: false,
11551              value: o[i++]
11552            };
11553          },
11554          e: function (e) {
11555            throw e;
11556          },
11557          f: F
11558        };
11559      }
11560
11561      throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
11562    }
11563
11564    var normalCompletion = true,
11565        didErr = false,
11566        err;
11567    return {
11568      s: function () {
11569        it = it.call(o);
11570      },
11571      n: function () {
11572        var step = it.next();
11573        normalCompletion = step.done;
11574        return step;
11575      },
11576      e: function (e) {
11577        didErr = true;
11578        err = e;
11579      },
11580      f: function () {
11581        try {
11582          if (!normalCompletion && it.return != null) it.return();
11583        } finally {
11584          if (didErr) throw err;
11585        }
11586      }
11587    };
11588  }
11589
11590  var runtime = {exports: {}};
11591
vendor: 5,181 bytes, lines 11592-11710
11592  (function (module) {
11593    var runtime = function (exports) {
11594
11595      var Op = Object.prototype;
11596      var hasOwn = Op.hasOwnProperty;
11597      var undefined$1; // More compressible than void 0.
11598
11599      var $Symbol = typeof Symbol === "function" ? Symbol : {};
11600      var iteratorSymbol = $Symbol.iterator || "@@iterator";
11601      var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
11602      var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
11603
11604      function define(obj, key, value) {
11605        Object.defineProperty(obj, key, {
11606          value: value,
11607          enumerable: true,
11608          configurable: true,
11609          writable: true
11610        });
11611        return obj[key];
11612      }
11613
11614      try {
11615        // IE 8 has a broken Object.defineProperty that only works on DOM objects.
11616        define({}, "");
11617      } catch (err) {
11618        define = function define(obj, key, value) {
11619          return obj[key] = value;
11620        };
11621      }
11622
11623      function wrap(innerFn, outerFn, self, tryLocsList) {
11624        // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
11625        var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
11626        var generator = Object.create(protoGenerator.prototype);
11627        var context = new Context(tryLocsList || []); // The ._invoke method unifies the implementations of the .next,
11628        // .throw, and .return methods.
11629
11630        generator._invoke = makeInvokeMethod(innerFn, self, context);
11631        return generator;
11632      }
11633
11634      exports.wrap = wrap; // Try/catch helper to minimize deoptimizations. Returns a completion
11635      // record like context.tryEntries[i].completion. This interface could
11636      // have been (and was previously) designed to take a closure to be
11637      // invoked without arguments, but in all the cases we care about we
11638      // already have an existing method we want to call, so there's no need
11639      // to create a new function object. We can even get away with assuming
11640      // the method takes exactly one argument, since that happens to be true
11641      // in every case, so we don't have to touch the arguments object. The
11642      // only additional allocation required is the completion record, which
11643      // has a stable shape and so hopefully should be cheap to allocate.
11644
11645      function tryCatch(fn, obj, arg) {
11646        try {
11647          return {
11648            type: "normal",
11649            arg: fn.call(obj, arg)
11650          };
11651        } catch (err) {
11652          return {
11653            type: "throw",
11654            arg: err
11655          };
11656        }
11657      }
11658
11659      var GenStateSuspendedStart = "suspendedStart";
11660      var GenStateSuspendedYield = "suspendedYield";
11661      var GenStateExecuting = "executing";
11662      var GenStateCompleted = "completed"; // Returning this object from the innerFn has the same effect as
11663      // breaking out of the dispatch switch statement.
11664
11665      var ContinueSentinel = {}; // Dummy constructor functions that we use as the .constructor and
11666      // .constructor.prototype properties for functions that return Generator
11667      // objects. For full spec compliance, you may wish to configure your
11668      // minifier not to mangle the names of these two functions.
11669
11670      function Generator() {}
11671
11672      function GeneratorFunction() {}
11673
11674      function GeneratorFunctionPrototype() {} // This is a polyfill for %IteratorPrototype% for environments that
11675      // don't natively support it.
11676
11677
11678      var IteratorPrototype = {};
11679      define(IteratorPrototype, iteratorSymbol, function () {
11680        return this;
11681      });
11682      var getProto = Object.getPrototypeOf;
11683      var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
11684
11685      if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
11686        // This environment has a native %IteratorPrototype%; use it instead
11687        // of the polyfill.
11688        IteratorPrototype = NativeIteratorPrototype;
11689      }
11690
11691      var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
11692      GeneratorFunction.prototype = GeneratorFunctionPrototype;
11693      define(Gp, "constructor", GeneratorFunctionPrototype);
11694      define(GeneratorFunctionPrototype, "constructor", GeneratorFunction);
11695      GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"); // Helper for defining the .next, .throw, and .return methods of the
11696      // Iterator interface in terms of a single ._invoke method.
11697
11698      function defineIteratorMethods(prototype) {
11699        ["next", "throw", "return"].forEach(function (method) {
11700          define(prototype, method, function (arg) {
11701            return this._invoke(method, arg);
11702          });
11703        });
11704      }
11705
11706      exports.isGeneratorFunction = function (genFun) {
11707        var ctor = typeof genFun === "function" && genFun.constructor;
11708        return ctor ? ctor === GeneratorFunction || // For the native GeneratorFunction constructor, the best we can
11709        // do is to check its .name property.
11710        (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
vendor: 8,280 bytes, lines 11711-11912
11711      };
11712
11713      exports.mark = function (genFun) {
11714        if (Object.setPrototypeOf) {
11715          Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
11716        } else {
11717          genFun.__proto__ = GeneratorFunctionPrototype;
11718          define(genFun, toStringTagSymbol, "GeneratorFunction");
11719        }
11720
11721        genFun.prototype = Object.create(Gp);
11722        return genFun;
11723      }; // Within the body of any async function, `await x` is transformed to
11724      // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
11725      // `hasOwn.call(value, "__await")` to determine if the yielded value is
11726      // meant to be awaited.
11727
11728
11729      exports.awrap = function (arg) {
11730        return {
11731          __await: arg
11732        };
11733      };
11734
11735      function AsyncIterator(generator, PromiseImpl) {
11736        function invoke(method, arg, resolve, reject) {
11737          var record = tryCatch(generator[method], generator, arg);
11738
11739          if (record.type === "throw") {
11740            reject(record.arg);
11741          } else {
11742            var result = record.arg;
11743            var value = result.value;
11744
11745            if (value && _typeof(value) === "object" && hasOwn.call(value, "__await")) {
11746              return PromiseImpl.resolve(value.__await).then(function (value) {
11747                invoke("next", value, resolve, reject);
11748              }, function (err) {
11749                invoke("throw", err, resolve, reject);
11750              });
11751            }
11752
11753            return PromiseImpl.resolve(value).then(function (unwrapped) {
11754              // When a yielded Promise is resolved, its final value becomes
11755              // the .value of the Promise<{value,done}> result for the
11756              // current iteration.
11757              result.value = unwrapped;
11758              resolve(result);
11759            }, function (error) {
11760              // If a rejected Promise was yielded, throw the rejection back
11761              // into the async generator function so it can be handled there.
11762              return invoke("throw", error, resolve, reject);
11763            });
11764          }
11765        }
11766
11767        var previousPromise;
11768
11769        function enqueue(method, arg) {
11770          function callInvokeWithMethodAndArg() {
11771            return new PromiseImpl(function (resolve, reject) {
11772              invoke(method, arg, resolve, reject);
11773            });
11774          }
11775
11776          return previousPromise = // If enqueue has been called before, then we want to wait until
11777          // all previous Promises have been resolved before calling invoke,
11778          // so that results are always delivered in the correct order. If
11779          // enqueue has not been called before, then it is important to
11780          // call invoke immediately, without waiting on a callback to fire,
11781          // so that the async generator function has the opportunity to do
11782          // any necessary setup in a predictable way. This predictability
11783          // is why the Promise constructor synchronously invokes its
11784          // executor callback, and why async functions synchronously
11785          // execute code before the first await. Since we implement simple
11786          // async functions in terms of async generators, it is especially
11787          // important to get this right, even though it requires care.
11788          previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, // Avoid propagating failures to Promises returned by later
11789          // invocations of the iterator.
11790          callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
11791        } // Define the unified helper method that is used to implement .next,
11792        // .throw, and .return (see defineIteratorMethods).
11793
11794
11795        this._invoke = enqueue;
11796      }
11797
11798      defineIteratorMethods(AsyncIterator.prototype);
11799      define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
11800        return this;
11801      });
11802      exports.AsyncIterator = AsyncIterator; // Note that simple async functions are implemented on top of
11803      // AsyncIterator objects; they just return a Promise for the value of
11804      // the final result produced by the iterator.
11805
11806      exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
11807        if (PromiseImpl === void 0) PromiseImpl = Promise;
11808        var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
11809        return exports.isGeneratorFunction(outerFn) ? iter // If outerFn is a generator, return the full iterator.
11810        : iter.next().then(function (result) {
11811          return result.done ? result.value : iter.next();
11812        });
11813      };
11814
11815      function makeInvokeMethod(innerFn, self, context) {
11816        var state = GenStateSuspendedStart;
11817        return function invoke(method, arg) {
11818          if (state === GenStateExecuting) {
11819            throw new Error("Generator is already running");
11820          }
11821
11822          if (state === GenStateCompleted) {
11823            if (method === "throw") {
11824              throw arg;
11825            } // Be forgiving, per 25.3.3.3.3 of the spec:
11826            // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
11827
11828
11829            return doneResult();
11830          }
11831
11832          context.method = method;
11833          context.arg = arg;
11834
11835          while (true) {
11836            var delegate = context.delegate;
11837
11838            if (delegate) {
11839              var delegateResult = maybeInvokeDelegate(delegate, context);
11840
11841              if (delegateResult) {
11842                if (delegateResult === ContinueSentinel) continue;
11843                return delegateResult;
11844              }
11845            }
11846
11847            if (context.method === "next") {
11848              // Setting context._sent for legacy support of Babel's
11849              // function.sent implementation.
11850              context.sent = context._sent = context.arg;
11851            } else if (context.method === "throw") {
11852              if (state === GenStateSuspendedStart) {
11853                state = GenStateCompleted;
11854                throw context.arg;
11855              }
11856
11857              context.dispatchException(context.arg);
11858            } else if (context.method === "return") {
11859              context.abrupt("return", context.arg);
11860            }
11861
11862            state = GenStateExecuting;
11863            var record = tryCatch(innerFn, self, context);
11864
11865            if (record.type === "normal") {
11866              // If an exception is thrown from innerFn, we leave state ===
11867              // GenStateExecuting and loop back for another invocation.
11868              state = context.done ? GenStateCompleted : GenStateSuspendedYield;
11869
11870              if (record.arg === ContinueSentinel) {
11871                continue;
11872              }
11873
11874              return {
11875                value: record.arg,
11876                done: context.done
11877              };
11878            } else if (record.type === "throw") {
11879              state = GenStateCompleted; // Dispatch the exception by looping back around to the
11880              // context.dispatchException(context.arg) call above.
11881
11882              context.method = "throw";
11883              context.arg = record.arg;
11884            }
11885          }
11886        };
11887      } // Call delegate.iterator[context.method](context.arg) and handle the
11888      // result, either by returning a { value, done } result from the
11889      // delegate iterator, or by modifying context.method and context.arg,
11890      // setting context.delegate to null, and returning the ContinueSentinel.
11891
11892
11893      function maybeInvokeDelegate(delegate, context) {
11894        var method = delegate.iterator[context.method];
11895
11896        if (method === undefined$1) {
11897          // A .throw or .return when the delegate iterator has no .throw
11898          // method always terminates the yield* loop.
11899          context.delegate = null;
11900
11901          if (context.method === "throw") {
11902            // Note: ["return"] must be used for ES3 parsing compatibility.
11903            if (delegate.iterator["return"]) {
11904              // If the delegate iterator has a return method, give it a
11905              // chance to clean up.
11906              context.method = "return";
11907              context.arg = undefined$1;
11908              maybeInvokeDelegate(delegate, context);
11909
11910              if (context.method === "throw") {
11911                // If maybeInvokeDelegate(context) changed context.method from
11912                // "return" to "throw", let that override the TypeError below.
vendor: 5,022 bytes, lines 11913-12067
11913                return ContinueSentinel;
11914              }
11915            }
11916
11917            context.method = "throw";
11918            context.arg = new TypeError("The iterator does not provide a 'throw' method");
11919          }
11920
11921          return ContinueSentinel;
11922        }
11923
11924        var record = tryCatch(method, delegate.iterator, context.arg);
11925
11926        if (record.type === "throw") {
11927          context.method = "throw";
11928          context.arg = record.arg;
11929          context.delegate = null;
11930          return ContinueSentinel;
11931        }
11932
11933        var info = record.arg;
11934
11935        if (!info) {
11936          context.method = "throw";
11937          context.arg = new TypeError("iterator result is not an object");
11938          context.delegate = null;
11939          return ContinueSentinel;
11940        }
11941
11942        if (info.done) {
11943          // Assign the result of the finished delegate to the temporary
11944          // variable specified by delegate.resultName (see delegateYield).
11945          context[delegate.resultName] = info.value; // Resume execution at the desired location (see delegateYield).
11946
11947          context.next = delegate.nextLoc; // If context.method was "throw" but the delegate handled the
11948          // exception, let the outer generator proceed normally. If
11949          // context.method was "next", forget context.arg since it has been
11950          // "consumed" by the delegate iterator. If context.method was
11951          // "return", allow the original .return call to continue in the
11952          // outer generator.
11953
11954          if (context.method !== "return") {
11955            context.method = "next";
11956            context.arg = undefined$1;
11957          }
11958        } else {
11959          // Re-yield the result returned by the delegate method.
11960          return info;
11961        } // The delegate iterator is finished, so forget it and continue with
11962        // the outer generator.
11963
11964
11965        context.delegate = null;
11966        return ContinueSentinel;
11967      } // Define Generator.prototype.{next,throw,return} in terms of the
11968      // unified ._invoke helper method.
11969
11970
11971      defineIteratorMethods(Gp);
11972      define(Gp, toStringTagSymbol, "Generator"); // A Generator should always return itself as the iterator object when the
11973      // @@iterator function is called on it. Some browsers' implementations of the
11974      // iterator prototype chain incorrectly implement this, causing the Generator
11975      // object to not be returned from this call. This ensures that doesn't happen.
11976      // See https://github.com/facebook/regenerator/issues/274 for more details.
11977
11978      define(Gp, iteratorSymbol, function () {
11979        return this;
11980      });
11981      define(Gp, "toString", function () {
11982        return "[object Generator]";
11983      });
11984
11985      function pushTryEntry(locs) {
11986        var entry = {
11987          tryLoc: locs[0]
11988        };
11989
11990        if (1 in locs) {
11991          entry.catchLoc = locs[1];
11992        }
11993
11994        if (2 in locs) {
11995          entry.finallyLoc = locs[2];
11996          entry.afterLoc = locs[3];
11997        }
11998
11999        this.tryEntries.push(entry);
12000      }
12001
12002      function resetTryEntry(entry) {
12003        var record = entry.completion || {};
12004        record.type = "normal";
12005        delete record.arg;
12006        entry.completion = record;
12007      }
12008
12009      function Context(tryLocsList) {
12010        // The root entry object (effectively a try statement without a catch
12011        // or a finally block) gives us a place to store values thrown from
12012        // locations where there is no enclosing try statement.
12013        this.tryEntries = [{
12014          tryLoc: "root"
12015        }];
12016        tryLocsList.forEach(pushTryEntry, this);
12017        this.reset(true);
12018      }
12019
12020      exports.keys = function (object) {
12021        var keys = [];
12022
12023        for (var key in object) {
12024          keys.push(key);
12025        }
12026
12027        keys.reverse(); // Rather than returning an object with a next method, we keep
12028        // things simple and return the next function itself.
12029
12030        return function next() {
12031          while (keys.length) {
12032            var key = keys.pop();
12033
12034            if (key in object) {
12035              next.value = key;
12036              next.done = false;
12037              return next;
12038            }
12039          } // To avoid creating an additional object, we just hang the .value
12040          // and .done properties off the next function object itself. This
12041          // also ensures that the minifier will not anonymize the function.
12042
12043
12044          next.done = true;
12045          return next;
12046        };
12047      };
12048
12049      function values(iterable) {
12050        if (iterable) {
12051          var iteratorMethod = iterable[iteratorSymbol];
12052
12053          if (iteratorMethod) {
12054            return iteratorMethod.call(iterable);
12055          }
12056
12057          if (typeof iterable.next === "function") {
12058            return iterable;
12059          }
12060
12061          if (!isNaN(iterable.length)) {
12062            var i = -1,
12063                next = function next() {
12064              while (++i < iterable.length) {
12065                if (hasOwn.call(iterable, i)) {
12066                  next.value = iterable[i];
12067                  next.done = false;
vendor: 4,072 bytes, lines 12068-12197
12068                  return next;
12069                }
12070              }
12071
12072              next.value = undefined$1;
12073              next.done = true;
12074              return next;
12075            };
12076
12077            return next.next = next;
12078          }
12079        } // Return an iterator with no values.
12080
12081
12082        return {
12083          next: doneResult
12084        };
12085      }
12086
12087      exports.values = values;
12088
12089      function doneResult() {
12090        return {
12091          value: undefined$1,
12092          done: true
12093        };
12094      }
12095
12096      Context.prototype = {
12097        constructor: Context,
12098        reset: function reset(skipTempReset) {
12099          this.prev = 0;
12100          this.next = 0; // Resetting context._sent for legacy support of Babel's
12101          // function.sent implementation.
12102
12103          this.sent = this._sent = undefined$1;
12104          this.done = false;
12105          this.delegate = null;
12106          this.method = "next";
12107          this.arg = undefined$1;
12108          this.tryEntries.forEach(resetTryEntry);
12109
12110          if (!skipTempReset) {
12111            for (var name in this) {
12112              // Not sure about the optimal order of these conditions:
12113              if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {
12114                this[name] = undefined$1;
12115              }
12116            }
12117          }
12118        },
12119        stop: function stop() {
12120          this.done = true;
12121          var rootEntry = this.tryEntries[0];
12122          var rootRecord = rootEntry.completion;
12123
12124          if (rootRecord.type === "throw") {
12125            throw rootRecord.arg;
12126          }
12127
12128          return this.rval;
12129        },
12130        dispatchException: function dispatchException(exception) {
12131          if (this.done) {
12132            throw exception;
12133          }
12134
12135          var context = this;
12136
12137          function handle(loc, caught) {
12138            record.type = "throw";
12139            record.arg = exception;
12140            context.next = loc;
12141
12142            if (caught) {
12143              // If the dispatched exception was caught by a catch block,
12144              // then let that catch block handle the exception normally.
12145              context.method = "next";
12146              context.arg = undefined$1;
12147            }
12148
12149            return !!caught;
12150          }
12151
12152          for (var i = this.tryEntries.length - 1; i >= 0; --i) {
12153            var entry = this.tryEntries[i];
12154            var record = entry.completion;
12155
12156            if (entry.tryLoc === "root") {
12157              // Exception thrown outside of any try block that could handle
12158              // it, so set the completion value of the entire function to
12159              // throw the exception.
12160              return handle("end");
12161            }
12162
12163            if (entry.tryLoc <= this.prev) {
12164              var hasCatch = hasOwn.call(entry, "catchLoc");
12165              var hasFinally = hasOwn.call(entry, "finallyLoc");
12166
12167              if (hasCatch && hasFinally) {
12168                if (this.prev < entry.catchLoc) {
12169                  return handle(entry.catchLoc, true);
12170                } else if (this.prev < entry.finallyLoc) {
12171                  return handle(entry.finallyLoc);
12172                }
12173              } else if (hasCatch) {
12174                if (this.prev < entry.catchLoc) {
12175                  return handle(entry.catchLoc, true);
12176                }
12177              } else if (hasFinally) {
12178                if (this.prev < entry.finallyLoc) {
12179                  return handle(entry.finallyLoc);
12180                }
12181              } else {
12182                throw new Error("try statement without catch or finally");
12183              }
12184            }
12185          }
12186        },
12187        abrupt: function abrupt(type, arg) {
12188          for (var i = this.tryEntries.length - 1; i >= 0; --i) {
12189            var entry = this.tryEntries[i];
12190
12191            if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
12192              var finallyEntry = entry;
12193              break;
12194            }
12195          }
12196
12197          if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
vendor: 4,423 bytes, lines 12198-12312
12198            // Ignore the finally entry if control is not jumping to a
12199            // location outside the try/catch block.
12200            finallyEntry = null;
12201          }
12202
12203          var record = finallyEntry ? finallyEntry.completion : {};
12204          record.type = type;
12205          record.arg = arg;
12206
12207          if (finallyEntry) {
12208            this.method = "next";
12209            this.next = finallyEntry.finallyLoc;
12210            return ContinueSentinel;
12211          }
12212
12213          return this.complete(record);
12214        },
12215        complete: function complete(record, afterLoc) {
12216          if (record.type === "throw") {
12217            throw record.arg;
12218          }
12219
12220          if (record.type === "break" || record.type === "continue") {
12221            this.next = record.arg;
12222          } else if (record.type === "return") {
12223            this.rval = this.arg = record.arg;
12224            this.method = "return";
12225            this.next = "end";
12226          } else if (record.type === "normal" && afterLoc) {
12227            this.next = afterLoc;
12228          }
12229
12230          return ContinueSentinel;
12231        },
12232        finish: function finish(finallyLoc) {
12233          for (var i = this.tryEntries.length - 1; i >= 0; --i) {
12234            var entry = this.tryEntries[i];
12235
12236            if (entry.finallyLoc === finallyLoc) {
12237              this.complete(entry.completion, entry.afterLoc);
12238              resetTryEntry(entry);
12239              return ContinueSentinel;
12240            }
12241          }
12242        },
12243        "catch": function _catch(tryLoc) {
12244          for (var i = this.tryEntries.length - 1; i >= 0; --i) {
12245            var entry = this.tryEntries[i];
12246
12247            if (entry.tryLoc === tryLoc) {
12248              var record = entry.completion;
12249
12250              if (record.type === "throw") {
12251                var thrown = record.arg;
12252                resetTryEntry(entry);
12253              }
12254
12255              return thrown;
12256            }
12257          } // The context.catch method must only be called with a location
12258          // argument that corresponds to a known catch block.
12259
12260
12261          throw new Error("illegal catch attempt");
12262        },
12263        delegateYield: function delegateYield(iterable, resultName, nextLoc) {
12264          this.delegate = {
12265            iterator: values(iterable),
12266            resultName: resultName,
12267            nextLoc: nextLoc
12268          };
12269
12270          if (this.method === "next") {
12271            // Deliberately forget the last sent value so that we don't
12272            // accidentally pass it on to the delegate.
12273            this.arg = undefined$1;
12274          }
12275
12276          return ContinueSentinel;
12277        }
12278      }; // Regardless of whether this script is executing as a CommonJS module
12279      // or not, return the runtime object so that we can declare the variable
12280      // regeneratorRuntime in the outer scope, which allows this module to be
12281      // injected easily by `bin/regenerator --include-runtime script.js`.
12282
12283      return exports;
12284    }( // If this script is executing as a CommonJS module, use module.exports
12285    // as the regeneratorRuntime namespace. Otherwise create a new empty
12286    // object. Either way, the resulting object will be used to initialize
12287    // the regeneratorRuntime variable at the top of this file.
12288    module.exports );
12289
12290    try {
12291      regeneratorRuntime = runtime;
12292    } catch (accidentalStrictMode) {
12293      // This module should not be running in strict mode, so the above
12294      // assignment should always work unless something is misconfigured. Just
12295      // in case runtime.js accidentally runs in strict mode, in modern engines
12296      // we can explicitly access globalThis. In older engines we can escape
12297      // strict mode using a global Function call. This could conceivably fail
12298      // if a Content Security Policy forbids using Function, but in that case
12299      // the proper solution is to fix the accidental strict mode problem. If
12300      // you've misconfigured your bundler to force strict mode and applied a
12301      // CSP to forbid Function, and you're not willing to fix either of those
12302      // problems, please detail your unique predicament in a GitHub issue.
12303      if ((typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) === "object") {
12304        globalThis.regeneratorRuntime = runtime;
12305      } else {
12306        Function("r", "regeneratorRuntime = r")(runtime);
12307      }
12308    }
12309  })(runtime);
12310
12311  /**
12312   * --------------------------------------------------------------------------
12313   * Button visually impaired (v1.0.0): util/index.js
12314   * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)
12315   * --------------------------------------------------------------------------
12316   */
12317  (function (arr) {
12318    arr.forEach(function (item) {
12319      if (item.hasOwnProperty('prepend')) {
12320        return;
12321      }
12322
12323      Object.defineProperty(item, 'prepend', {
12324        configurable: true,
12325        enumerable: true,
12326        writable: true,
12327        value: function prepend() {
12328          var argArr = Array.prototype.slice.call(arguments),
12329              docFrag = document.createDocumentFragment();
12330          argArr.forEach(function (argItem) {
12331            var isNode = argItem instanceof Node;
12332            docFrag.appendChild(isNode ? argItem : document.createTextNode(String(argItem)));
12333          });
12334          this.insertBefore(docFrag, this.firstChild);
12335        }
12336      });
12337    });
12338  })([Element.prototype, Document.prototype, DocumentFragment.prototype]);
12339
12340  if (window.NodeList && !NodeList.prototype.forEach) {
12341    NodeList.prototype.forEach = Array.prototype.forEach;
12342  }
12343
12344  if (window.HTMLCollection && !HTMLCollection.prototype.forEach) {
12345    HTMLCollection.prototype.forEach = Array.prototype.forEach;
12346  }
12347
12348  var toType = function toType(obj) {
12349    if (obj === null || obj === undefined) {
12350      return "".concat(obj);
12351    }
12352
12353    return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
12354  };
12355
12356  var isElement = function isElement(obj) {
12357    if (!obj || _typeof(obj) !== 'object') {
12358      return false;
12359    }
12360
12361    return typeof obj.nodeType !== 'undefined';
12362  };
12363
12364  var checkConfig = function checkConfig(config, configTypes, configOptions) {
12365    Object.keys(configTypes).forEach(function (key) {
12366      var expectedTypes = configTypes[key];
12367      var value = config[key];
12368      var valueType = value && isElement(value) ? 'element' : toType(value);
12369
12370      if (!new RegExp(expectedTypes).test(valueType)) {
12371        throw new TypeError("Bvi console: \u041E\u043F\u0446\u0438\u044F \"".concat(key, "\" \u043F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u043D\u044B\u0439 \u0442\u0438\u043F \"").concat(valueType, "\", \u043E\u0436\u0438\u0434\u0430\u0435\u043C\u044B\u0439 \u0442\u0438\u043F \"").concat(expectedTypes, "\"."));
12372      }
12373    });
12374    Object.keys(configOptions).forEach(function (key) {
12375      var expectedOptions = configOptions[key];
12376      var value = config[key];
12377
12378      if (!new RegExp(expectedOptions).test(value)) {
12379        throw new TypeError("Bvi console: \u041E\u043F\u0446\u0438\u044F \"".concat(key, "\" \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \"").concat(value, "\", \u043E\u0436\u0438\u0434\u0430\u0435\u043C\u044B\u0439 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \"").concat(expectedOptions, "\"."));
12380      }
12381    });
12382  };
12383
12384  var stringToBoolean = function stringToBoolean(string) {
12385    switch (string) {
12386      case 'on':
12387      case 'true':
12388      case '1':
12389        return true;
12390
12391      default:
12392        return false;
12393    }
12394  };
12395
12396  var wrapInner = function wrapInner(parent, wrapper, className) {
12397    if (typeof wrapper === 'string') {
12398      wrapper = document.createElement(wrapper);
12399    }
12400
12401    parent.appendChild(wrapper).className = className;
12402
12403    while (parent.firstChild !== wrapper) {
12404      wrapper.appendChild(parent.firstChild);
12405    }
12406  };
12407
12408  var unwrap = function unwrap(wrapper) {
12409    var docFrag = document.createDocumentFragment();
12410    if (!wrapper) return;
12411
12412    while (wrapper.firstChild) {
12413      var child = wrapper.removeChild(wrapper.firstChild);
12414      docFrag.appendChild(child);
12415    }
12416
12417    wrapper.parentNode.replaceChild(docFrag, wrapper);
12418  };
12419
12420  var getObject = function getObject(object, callback) {
12421    Object.keys(object).forEach(function (key) {
12422      if (typeof callback === 'function') {
12423        callback(key);
12424      }
12425    });
12426  };
12427
12428  var getArray = function getArray(array, callback) {
12429    Array.from(array).forEach(function (key) {
12430      if (typeof callback === 'function') {
12431        callback(key);
12432      }
12433    });
12434  };
12435
12436  var synth = function synth() {
12437    return window.speechSynthesis;
12438  };
12439
12440  /**
12441   * --------------------------------------------------------------------------
12442   * Button visually impaired (v1.0.0): util/cookie.js
12443   * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)
12444   * --------------------------------------------------------------------------
12445   */
12446  var setCookie = function setCookie() {
12447    var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
12448    var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
12449    var now = new Date();
12450    var time = now.getTime();
12451    time += 24 * 60 * 60 * 1000;
12452    now.setTime(time);
12453    document.cookie = "bvi_".concat(name, "=").concat(value, ",path=/,expires=").concat(now.toUTCString(), ",domain=").concat(location.host)
12454  };
12455
12456  var getCookie = function getCookie() {
12457    var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
12458    name = "bvi_".concat(name, "=");
12459    var decodedCookie = decodeURIComponent(document.cookie);
12460    var cookies = decodedCookie.split(';');
12461
12462    for (var i = 0; i < cookies.length; i++) {
12463      var cookie = cookies[i].trim();
12464
12465      if (cookie.indexOf(name) !== -1) {
12466        let options=cookie.split(",");
12467        return options[0].substring(name.length, options[0].length);
12468      }
12469    }
12470  };
12471
12472  var removeCookie = function removeCookie() {
12473    var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
12474    document.cookie = "bvi_".concat(name, "=,path=/,expires=Thu, 01 Jan 1970 00:00:01 GMT,domain=").concat(location.host);
12475  };
12476
12477  /**
12478   * --------------------------------------------------------------------------
12479   * Button visually impaired (v1.0.0): i18n.js
12480   * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)
12481   * --------------------------------------------------------------------------
12482   */
12483  var lang = {
12484    'ru-RU': {
12485      'text': {
12486        'fontSize': 'Размер шрифта',
12487        'siteColors': 'Цвета сайта',
12488        'images': 'Изображения',
12489        'speech': 'Синтез речи',
12490        'settings': 'Настройки',
12491        'regularVersionOfTheSite': 'Обычная версия сайта',
12492        'letterSpacing': 'Межбуквенное расстояние',
12493        'normal': 'Стандартный',
12494        'average': 'Средний',
12495        'big': 'Большой',
12496        'lineHeight': 'Межстрочный интервал',
12497        'font': 'Шрифт',
12498        'arial': 'Без засечек',
12499        'times': 'С засечками',
12500        'builtElements': 'Встроенные элементы (Видео, карты и тд.)',
12501        'on': 'Включить',
12502        'off': 'Выключить',
12503        'reset': 'Сбросить настройки',
12504        'plural_0': 'пиксель',
12505        'plural_1': 'пекселя',
12506        'plural_2': 'пикселей'
12507      },
12508      'voice': {
12509        'fontSizePlus': 'Размер шрифта увели́чен',
12510        'fontSizeMinus': 'Размер шрифта уме́ньшен',
12511        'siteColorBlackOnWhite': 'Цвет сайта черным по белому',
12512        'siteColorWhiteOnBlack': 'Цвет сайта белым по черному',
12513        'siteColorDarkBlueOnBlue': 'Цвет сайта тёмно-синим по голубому',
12514        'siteColorBeigeBrown': 'Цвет сайта кори́чневым по бе́жевому',
12515        'siteColorGreenOnDarkBrown': 'Цвет сайта зеленым по тёмно-коричневому',
12516        'imagesOn': 'Изображения включены',
12517        'imagesOFF': 'Изображения выключены',
12518        'imagesGrayscale': 'Изображения чёрно-белые',
12519        'speechOn': 'Синтез речи включён',
12520        'speechOff': 'Синтез речи вы́ключен',
12521        'lineHeightNormal': 'Межстрочный интервал стандартный',
12522        'lineHeightAverage': 'Межстрочный интервал средний',
12523        'lineHeightBig': 'Межстрочный интервал большой',
12524        'LetterSpacingNormal': 'Интервал между буквами стандартный',
12525        'LetterSpacingAverage': 'Интервал между буквами средний',
12526        'LetterSpacingBig': 'Интервал между буквами большой',
12527        'fontArial': 'Шрифт без засечек',
12528        'fontTimes': 'Шрифт с засечками',
12529        'builtElementsOn': 'Встроенные элементы включены',
12530        'builtElementsOFF': 'Встроенные элементы выключены',
12531        'resetSettings': 'Установлены настройки по умолча́нию',
12532        'panelShow': 'Панель открыта',
12533        'panelHide': 'Панель скрыта',
12534        'panelOn': 'Версия сайта для слабови́дящий',
12535        'panelOff': 'Обычная версия сайта'
12536      }
12537    },
12538    'en-US': {
12539      'text': {
12540        'fontSize': 'Font size',
12541        'siteColors': 'Site colors',
12542        'images': 'Images',
12543        'speech': 'Speech synthesis',
12544        'settings': 'Settings',
12545        'regularVersionOfTheSite': 'Regular version Of The site',
12546        'letterSpacing': 'Letter spacing',
12547        'normal': 'Single',
12548        'average': 'One and a half',
12549        'big': 'Double',
12550        'lineHeight': 'Line spacing',
12551        'font': 'Font',
12552        'arial': 'Sans Serif - Arial',
12553        'times': 'Serif - Times New Roman',
12554        'builtElements': 'Include inline elements (Videos, maps, etc.)',
12555        'on': 'Enable',
12556        'off': 'Disabled',
12557        'reset': 'Reset settings',
12558        'plural_0': 'pixel',
12559        'plural_1': 'pixels',
12560        'plural_2': 'pixels'
12561      },
12562      'voice': {
12563        'fontSizePlus': 'Font size increased',
12564        'fontSizeMinus': 'Font size reduced',
12565        'siteColorBlackOnWhite': 'Site color black on white',
12566        'siteColorWhiteOnBlack': 'Site color white on black',
12567        'siteColorDarkBlueOnBlue': 'Site color dark blue on cyan',
12568        'siteColorBeigeBrown': 'SiteColorBeigeBrown',
12569        'siteColorGreenOnDarkBrown': 'Site color green on dark brown',
12570        'imagesOn': 'Images enable',
12571        'imagesOFF': 'Images disabled',
12572        'imagesGrayscale': 'Images gray scale',
12573        'speechOn': 'Synthesis speech enable',
12574        'speechOff': 'Synthesis speech disabled',
12575        'lineHeightNormal': 'Line spacing single',
12576        'lineHeightAverage': 'Line spacing one and a half',
12577        'lineHeightBig': 'Line spacing double',
12578        'LetterSpacingNormal': 'Letter spacing single',
12579        'LetterSpacingAverage': 'Letter spacing one and a half',
12580        'LetterSpacingBig': 'Letter spacing letter double',
12581        'fontArial': 'Sans Serif - Arial',
12582        'fontTimes': 'Serif - Times New Roman',
12583        'builtElementsOn': 'Include inline elements are enabled',
12584        'builtElementsOFF': 'Include inline elements are disabled',
12585        'resetSettings': 'Default settings have been set',
12586        'panelShow': 'Panel show',
12587        'panelHide': 'Panel hide',
12588        'panelOn': 'Site version for visually impaired',
12589        'panelOff': 'Regular version of the site'
12590      }
12591    }
12592  };
12593
12594  var I18n = /*#__PURE__*/function () {
12595    function I18n(options) {
12596      _classCallCheck(this, I18n);
12597
12598      this._config = options;
12599    }
12600
12601    _createClass(I18n, [{
12602      key: "t",
12603      value: function t(key) {
12604        return lang[this._config.lang]['text'][key];
12605      }
12606    }, {
12607      key: "v",
12608      value: function v(key) {
12609        return lang[this._config.lang]['voice'][key];
12610      }
12611    }]);
12612
12613    return I18n;
12614  }();
12615
12616  /**
12617   * ------------------------------------------------------------------------
12618   * Constants
12619   * ------------------------------------------------------------------------
12620   */
12621
12622  var Default = {
12623    target: '.bvi-open',
12624    fontSize: 16,
12625    theme: 'white',
12626    images: 'grayscale',
12627    letterSpacing: 'normal',
12628    lineHeight: 'normal',
12629    speech: true,
12630    fontFamily: 'arial',
12631    builtElements: false,
12632    panelFixed: true,
12633    panelHide: false,
12634    reload: false,
12635    lang: 'ru-RU'
12636  };
12637  var DefaultType = {
12638    target: 'string',
12639    fontSize: 'number',
12640    theme: 'string',
12641    images: '(string|boolean)',
12642    letterSpacing: 'string',
12643    lineHeight: 'string',
12644    speech: 'boolean',
12645    fontFamily: 'string',
12646    builtElements: 'boolean',
12647    panelFixed: 'boolean',
12648    panelHide: 'boolean',
12649    reload: 'boolean',
12650    lang: 'string'
12651  };
12652  var DefaultOptions = {
12653    target: '',
12654    fontSize: '(^[1-9]$|^[1-3][0-9]?$|^39$)',
12655    theme: '(white|black|blue|brown|green)',
12656    images: '(true|false|grayscale)',
12657    letterSpacing: '(normal|average|big)',
12658    lineHeight: '(normal|average|big)',
12659    speech: '(true|false)',
12660    fontFamily: '(arial|times)',
12661    builtElements: '(true|false)',
12662    panelFixed: '(true|false)',
12663    panelHide: '(true|false)',
12664    reload: '(true|false)',
12665    lang: '(ru-RU|en-US)'
12666  };
12667  /**
12668   * ------------------------------------------------------------------------
12669   * Class Definition
12670   * ------------------------------------------------------------------------
12671   */
12672
12673  var Bvi = /*#__PURE__*/function () {
12674    function Bvi(options) {
12675      _classCallCheck(this, Bvi);
12676
12677      this._config = this._getConfig(options);
12678      this._elements = document.querySelectorAll(this._config.target);
12679      this._i18n = new I18n({
12680        lang: this._config.lang
12681      });
12682
12683      this._addEventListeners();
12684
12685      this._init();
12686
12687      console.log('Bvi console: ready Button visually impaired v1.0.0');
12688    } // Private
12689
12690
12691    _createClass(Bvi, [{
12692      key: "_init",
12693      value: function _init() {
12694        getObject(this._config, function (key) {
12695          if (typeof getCookie(key) === 'undefined') {
12696            removeCookie('panelActive');
12697          }
12698        });
12699
12700        if (stringToBoolean(getCookie('panelActive'))) {
12701          this._set();
12702
12703          this._getPanel();
12704
12705          this._addEventListenersPanel();
12706
12707          this._images();
12708
12709          this._speechPlayer();
12710
12711          if ('speechSynthesis' in window && stringToBoolean(getCookie('speech'))) {
12712            setInterval(function () {
12713              if (synth().pending === false) {
12714                var play = document.querySelectorAll('.bvi-speech-play');
12715                var pause = document.querySelectorAll('.bvi-speech-pause');
12716                var resume = document.querySelectorAll('.bvi-speech-resume');
12717                var stop = document.querySelectorAll('.bvi-speech-stop');
12718
12719                var el = function el(elements, callback) {
12720                  elements.forEach(function (element) {
12721                    return callback(element);
12722                  });
12723                };
12724
12725                el(play, function (element) {
12726                  return element.classList.remove('disabled');
12727                });
12728                el(pause, function (element) {
12729                  return element.classList.add('disabled');
12730                });
12731                el(resume, function (element) {
12732                  return element.classList.add('disabled');
12733                });
12734                el(stop, function (element) {
12735                  return element.classList.add('disabled');
12736                });
12737              }
12738            }, 1000);
12739          }
12740        } else {
12741          this._remove();
12742        }
12743      }
12744    }, {
12745      key: "_addEventListeners",
12746      value: function _addEventListeners() {
12747        var _this = this;
12748
12749        if (!this._elements) {
12750          return false;
12751        }
12752
12753        this._elements.forEach(function (element) {
12754          element.addEventListener('click', function (event) {
12755            event.preventDefault();
12756            getObject(_this._config, function (key) {
12757              return setCookie(key, _this._config[key]);
12758            });
12759            setCookie('panelActive', true);
12760
12761            _this._init();
12762
12763            _this._speech("".concat(_this._i18n.v('panelOn')));
12764          });
12765        });
12766      }
12767    }, {
12768      key: "_addEventListenersPanel",
12769      value: function _addEventListenersPanel() {
12770        var _this2 = this;
12771
12772        var elements = {
12773          fontSizeMinus: document.querySelector('.bvi-fontSize-minus'),
12774          fontSizePlus: document.querySelector('.bvi-fontSize-plus'),
12775          themeWhite: document.querySelector('.bvi-theme-white'),
12776          themeBlack: document.querySelector('.bvi-theme-black'),
12777          themeBlue: document.querySelector('.bvi-theme-blue'),
12778          themeBrown: document.querySelector('.bvi-theme-brown'),
12779          themeGreen: document.querySelector('.bvi-theme-green'),
12780          imagesOn: document.querySelector('.bvi-images-on'),
12781          imagesOff: document.querySelector('.bvi-images-off'),
12782          imagesGrayscale: document.querySelector('.bvi-images-grayscale'),
12783          speechOn: document.querySelector('.bvi-speech-on'),
12784          speechOff: document.querySelector('.bvi-speech-off'),
12785          lineHeightNormal: document.querySelector('.bvi-line-height-normal'),
12786          lineHeightAverage: document.querySelector('.bvi-line-height-average'),
12787          lineHeightBig: document.querySelector('.bvi-line-height-big'),
12788          letterSpacingNormal: document.querySelector('.bvi-letter-spacing-normal'),
12789          letterSpacingAverage: document.querySelector('.bvi-letter-spacing-average'),
12790          letterSpacingBig: document.querySelector('.bvi-letter-spacing-big'),
12791          fontFamilyArial: document.querySelector('.bvi-font-family-arial'),
12792          fontFamilyTimes: document.querySelector('.bvi-font-family-times'),
12793          builtElementsOn: document.querySelector('.bvi-built-elements-on'),
12794          builtElementsOff: document.querySelector('.bvi-built-elements-off'),
12795          reset: document.querySelector('.bvi-reset'),
12796          links: document.querySelectorAll('.bvi-link'),
12797          modal: document.querySelector('.bvi-modal')
12798        };
12799
12800        var activeLink = function activeLink(element) {
12801          var _iterator = _createForOfIteratorHelper(element.parentNode.children),
12802              _step;
12803
12804          try {
12805            for (_iterator.s();
12805 !(_step = _iterator.n()).done;) {
12806              var sibling = _step.value;
12807              sibling.classList.remove('active');
12808            }
12809          } catch (err) {
12810            _iterator.e(err);
12811          } finally {
12812            _iterator.f();
12813          }
12814
12815          element.classList.add('active');
12816        };
12817
12818        var click = function click(element, callback) {
12819          element.addEventListener('click', function (event) {
12820            event.preventDefault();
12821
12822            if (typeof callback === 'function') {
12823              callback(event);
12824            }
12825          });
12826        };
12827
12828        var activeAll = function activeAll() {
12829          var links = document.querySelectorAll('.bvi-link');
12830          links.forEach(function (link) {
12831            link.classList.remove('active');
12832          });
12833          getObject(_this2._config, function (key) {
12834            if (key === 'theme') {
12835              var value = getCookie(key);
12836              document.querySelector(".bvi-theme-".concat(value)).classList.add('active');
12837            }
12838
12839            if (key === 'images') {
12840              var _value = getCookie(key) === 'grayscale' ? 'grayscale' : stringToBoolean(getCookie(key)) ? 'on' : 'off';
12841              // custom
12842              // let allImages = document.querySelectorAll("img");
12843              // console.log(allImages);
12844
12845              // allImages.forEach(function(el) {
12846              //   el.className += ' bvi-images';
12847              // })
12848              // location.reload();
12849              document.querySelector(".bvi-images-".concat(_value)).classList.add('active');
12850            }
12851
12852            if (key === 'speech') {
12853              var _value2 = stringToBoolean(getCookie(key)) ? 'on' : 'off';
12854
12855              document.querySelector(".bvi-speech-".concat(_value2)).classList.add('active');
12856            }
12857
12858            if (key === 'lineHeight') {
12859              var _value3 = getCookie(key);
12860
12861              document.querySelector(".bvi-line-height-".concat(_value3)).classList.add('active');
12862            }
12863
12864            if (key === 'letterSpacing') {
12865              var _value4 = getCookie(key);
12866
12867              document.querySelector(".bvi-letter-spacing-".concat(_value4)).classList.add('active');
12868            }
12869
12870            if (key === 'fontFamily') {
12871              var _value5 = getCookie(key);
12872
12873              document.querySelector(".bvi-font-family-".concat(_value5)).classList.add('active');
12874            }
12875
12876            if (key === 'builtElements') {
12877              var _value6 = stringToBoolean(getCookie(key)) ? 'on' : 'off';
12878
12879              document.querySelector(".bvi-built-elements-".concat(_value6)).classList.add('active');
12880            }
12881          });
12882        };
12883
12884        activeAll(); // Font size
12885
12886        click(elements.fontSizeMinus, function () {
12887          var size = parseFloat(getCookie('fontSize')) - 1;
12888
12889          if (size !== 0) {
12890            _this2._setAttrDataBviBody('fontSize', size);
12891
12892            setCookie('fontSize', size);
12893
12894            _this2._speech("".concat(_this2._i18n.v('fontSizeMinus')));
12895
12896            activeLink(elements.fontSizeMinus);
12897          }
12898        });
12899        click(elements.fontSizePlus, function () {
12900          var size = parseFloat(getCookie('fontSize')) + 1;
12901
12902          if (size !== 40) {
12903            _this2._setAttrDataBviBody('fontSize', size);
12904
12905            setCookie('fontSize', size);
12906
12907            _this2._speech("".concat(_this2._i18n.v('fontSizePlus')));
12908
12909            activeLink(elements.fontSizePlus);
12910          }
12911        }); // Theme
12912
12913        click(elements.themeWhite, function () {
12914          _this2._setAttrDataBviBody('theme', 'white');
12915
12916          setCookie('theme', 'white');
12917
12918          _this2._speech("".concat(_this2._i18n.v('siteColorBlackOnWhite')));
12919
12920          activeLink(elements.themeWhite);
12921        });
12922        click(elements.themeBlack, function () {
12923          _this2._setAttrDataBviBody('theme', 'black');
12924
12925          setCookie('theme', 'black');
12926
12927          _this2._speech("".concat(_this2._i18n.v('siteColorWhiteOnBlack')));
12928
12929          activeLink(elements.themeBlack);
12930        });
12931        click(elements.themeBlue, function () {
12932          _this2._setAttrDataBviBody('theme', 'blue');
12933
12934          setCookie('theme', 'blue');
12935
12936          _this2._speech("".concat(_this2._i18n.v('siteColorDarkBlueOnBlue')));
12937
12938          activeLink(elements.themeBlue);
12939        });
12940        click(elements.themeBrown, function () {
12941          _this2._setAttrDataBviBody('theme', 'brown');
12942
12943          setCookie('theme', 'brown');
12944
12945          _this2._speech("".concat(_this2._i18n.v('siteColorBeigeBrown')));
12946
12947          activeLink(elements.themeBrown);
12948        });
12949        click(elements.themeGreen, function () {
12950          _this2._setAttrDataBviBody('theme', 'green');
12951
12952          setCookie('theme', 'green');
12953
12954          _this2._speech("".concat(_this2._i18n.v('siteColorGreenOnDarkBrown')));
12955
12956          activeLink(elements.themeGreen);
12957        }); // Images
12958
12959        click(elements.imagesOn, function () {
12960          _this2._setAttrDataBviBody('images', 'true');
12961
12962          setCookie('images', 'true');
12963
12964          _this2._speech("".concat(_this2._i18n.v('imagesOn')));
12965
12966          activeLink(elements.imagesOn);
12967        });
12968        click(elements.imagesOff, function () {
12969          _this2._setAttrDataBviBody('images', 'false');
12970
12971          setCookie('images', 'false');
12972
12973          _this2._speech("".concat(_this2._i18n.v('imagesOFF')));
12974
12975          activeLink(elements.imagesOff);
12976        });
12977        click(elements.imagesGrayscale, function () {
12978          _this2._setAttrDataBviBody('images', 'grayscale');
12979
12980          setCookie('images', 'grayscale');
12981
12982          _this2._speech("".concat(_this2._i18n.v('imagesGrayscale')));
12983
12984          activeLink(elements.imagesGrayscale);
12985        }); // Speech
12986
12987        click(elements.speechOn, function () {
12988          _this2._setAttrDataBviBody('speech', 'true');
12989
12990          setCookie('speech', 'true');
12991
12992          _this2._speech("".concat(_this2._i18n.v('speechOn')));
12993
12994          activeLink(elements.speechOn);
12995
12996          _this2._speechPlayer();
12997        });
12998        click(elements.speechOff, function () {
12999          _this2._speech("".concat(_this2._i18n.v('speechOff')));
13000
13001          _this2._setAttrDataBviBody('speech', 'false');
13002
13003          setCookie('speech', 'false');
13004          activeLink(elements.speechOff);
13005
13006          _this2._speechPlayer();
13007        }); // Line height
13008
13009        click(elements.lineHeightNormal, function () {
13010          _this2._setAttrDataBviBody('lineHeight', 'normal');
13011
13012          setCookie('lineHeight', 'normal');
13013
13014          _this2._speech("".concat(_this2._i18n.v('lineHeightNormal')));
13015
13016          activeLink(elements.lineHeightNormal);
13017        });
13018        click(elements.lineHeightAverage, function () {
13019          _this2._setAttrDataBviBody('lineHeight', 'average');
13020
13021          setCookie('lineHeight', 'average');
13022
13023          _this2._speech("".concat(_this2._i18n.v('lineHeightAverage')));
13024
13025          activeLink(elements.lineHeightAverage);
13026        });
13027        click(elements.lineHeightBig, function () {
13028          _this2._setAttrDataBviBody('lineHeight', 'big');
13029
13030          setCookie('lineHeight', 'big');
13031
13032          _this2._speech("".concat(_this2._i18n.v('lineHeightBig')));
13033
13034          activeLink(elements.lineHeightBig);
13035        }); // Letter spacing
13036
13037        click(elements.letterSpacingNormal, function () {
13038          _this2._setAttrDataBviBody('letterSpacing', 'normal');
13039
13040          setCookie('letterSpacing', 'normal');
13041
13042          _this2._speech("".concat(_this2._i18n.v('LetterSpacingNormal')));
13043
13044          activeLink(elements.letterSpacingNormal);
13045        });
13046        click(elements.letterSpacingAverage, function () {
13047          _this2._setAttrDataBviBody('letterSpacing', 'average');
13048
13049          setCookie('letterSpacing', 'average');
13050
13051          _this2._speech("".concat(_this2._i18n.v('LetterSpacingAverage')));
13052
13053          activeLink(elements.letterSpacingAverage);
13054        });
13055        click(elements.letterSpacingBig, function () {
13056          _this2._setAttrDataBviBody('letterSpacing', 'big');
13057
13058          setCookie('letterSpacing', 'big');
13059
13060          _this2._speech("".concat(_this2._i18n.v('LetterSpacingBig')));
13061
13062          activeLink(elements.letterSpacingBig);
13063        }); // Font family
13064
13065        click(elements.fontFamilyArial, function () {
13066          _this2._setAttrDataBviBody('fontFamily', 'arial');
13067
13068          setCookie('fontFamily', 'arial');
13069
13070          _this2._speech("".concat(_this2._i18n.v('fontArial')));
13071
13072          activeLink(elements.fontFamilyArial);
13073        });
13074        click(elements.fontFamilyTimes, function () {
13075          _this2._setAttrDataBviBody('fontFamily', 'times');
13076
13077          setCookie('fontFamily', 'times');
13078
13079          _this2._speech("".concat(_this2._i18n.v('fontTimes')));
13080
13081          activeLink(elements.fontFamilyTimes);
13082        }); // Built elements
13083
13084        click(elements.builtElementsOn, function () {
13085          _this2._setAttrDataBviBody('builtElements', 'true');
13086
13087          setCookie('builtElements', 'true');
13088
13089          _this2._speech("".concat(_this2._i18n.v('builtElementsOn')));
13090
13091          activeLink(elements.builtElementsOn);
13092        });
13093        click(elements.builtElementsOff, function () {
13094          _this2._setAttrDataBviBody('builtElements', 'false');
13095
13096          setCookie('builtElements', 'false');
13097
13098          _this2._speech("".concat(_this2._i18n.v('builtElementsOFF')));
13099
13100          activeLink(elements.builtElementsOff);
13101        }); // Reset
13102
13103        click(elements.reset, function () {
13104          _this2._speech("".concat(_this2._i18n.v('resetSettings')));
13105
13106          getObject(_this2._config, function (key) {
13107            _this2._setAttrDataBviBody(key, _this2._config[key]);
13108
13109            setCookie(key, _this2._config[key]);
13110            activeAll();
13111          });
13112        });
13113        getArray(elements.links, function (element) {
13114          click(element, function (event) {
13115            var target = event.target.getAttribute('data-bvi');
13116
13117            if (target === 'close') {
13118              _this2._setAttrDataBviBody('panelActive', 'false');
13119
13120              setCookie('panelActive', 'false');
13121              localStorage.removeItem('bvi-open');
13122              _this2._init();
13123            }
13124
13125            if (target === 'modal') {
13126              document.body.style.overflow = 'hidden';
13127              document.body.classList.add('bvi-noscroll');
13128              elements.modal.classList.toggle('show');
13129            }
13130
13131            if (target === 'modal-close') {
13132              document.body.classList.remove('bvi-noscroll');
13133              document.body.style.overflow = '';
13134              elements.modal.classList.remove('show');
13135            }
13136
13137            if (target === 'panel-hide') {
13138              document.querySelector('.bvi-panel').classList.add('bvi-panel-hide');
13139              document.querySelector('.bvi-link-fixed-top').classList.remove('bvi-hide');
13140              document.querySelector('.bvi-link-fixed-top').classList.add('bvi-show');
13141              setCookie('panelHide', 'true');
13142
13143              _this2._speech("".concat(_this2._i18n.v('panelHide')));
13144            }
13145
13146            if (target === 'panel-show') {
13147              document.querySelector('.bvi-link-fixed-top').classList.remove('bvi-show');
13148              document.querySelector('.bvi-link-fixed-top').classList.add('bvi-hide');
13149              document.querySelector('.bvi-panel').classList.remove('bvi-panel-hide');
13150              setCookie('panelHide', 'false');
13151
13152              _this2._speech("".concat(_this2._i18n.v('panelShow')));
13153            }
13154          });
13155        });
13156        click(elements.modal, function (event) {
13157          if (event.target.contains(elements.modal)) {
13158            document.body.classList.remove('bvi-noscroll');
13159            document.body.style.overflow = '';
13160            elements.modal.classList.remove('show');
13161          }
13162        });
13163      }
13164    }, {
13165      key: "_getPanel",
13166      value: function _getPanel() {
13167        var scroll = function scroll() {
13168          var scroll = window.pageYOffset !== undefined ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop;
13169
13170          if (stringToBoolean(getCookie('panelFixed'))) {
13171            if (!!scroll) {
13172              document.querySelector('.bvi-panel').classList.add('bvi-fixed-top');
13173            } else {
13174              document.querySelector('.bvi-panel').classList.remove('bvi-fixed-top');
13175            }
13176          }
13177        };
13178
13179        var panelHide = stringToBoolean(getCookie('panelHide')) ? ' bvi-panel-hide' : '';
13180        var linkHide = !stringToBoolean(getCookie('panelHide')) ? ' bvi-hide' : 'bvi-show';
13181        var html = "\n    <div class='bvi-panel".concat(panelHide, "'>\n        <div class=\"bvi-blocks bvi-block-center\">\n            <div class=\"bvi-block\">\n                <div class=\"bvi-block-title\">").concat(this._i18n.t('fontSize'), "</div>\n                <a class=\"bvi-link bvi-fontSize-minus\">\u0410-</a>\n                <a class=\"bvi-link bvi-fontSize-plus\">\u0410+</a>\n            </div>\n            <div class=\"bvi-block\">\n                <div class=\"bvi-block-title\">").concat(this._i18n.t('siteColors'), "</div>\n                <a href=\"#\" class=\"bvi-link bvi-theme-white\">\u0426</a>\n                <a href=\"#\" class=\"bvi-link bvi-theme-black\">\u0426</a>\n                <a href=\"#\" class=\"bvi-link bvi-theme-blue\">\u0426</a>\n                <a href=\"#\" class=\"bvi-link bvi-theme-brown\">\u0426</a>\n                <a href=\"#\" class=\"bvi-link bvi-theme-green\">\u0426</a>\n            </div>\n            <div class=\"bvi-block\">\n                <div class=\"bvi-block-title\">").concat(this._i18n.t('images'), "</div>\n                <a href=\"#\" class=\"bvi-link bvi-images-on\">\n                    <i class=\"bvi-images bvi-images-image\"></i>\n                </a>\n                <a href=\"#\" class=\"bvi-link bvi-images-off\">\n                    <i class=\"bvi-images bvi-images-minus-circle\"></i>\n                </a>\n                <a href=\"#\" class=\"bvi-link bvi-images-grayscale\">\n                    <i class=\"bvi-images bvi-images-adjust\"></i>\n                </a>\n            </div>\n            <div class=\"bvi-block\">\n                <div class=\"bvi-block-title\">").concat(this._i18n.t('speech'), "</div>\n                <a href=\"#\" class=\"bvi-link bvi-speech-off\">\n                    <i class=\"bvi-images bvi-images-volume-off\"></i>\n                </a>\n                <a href=\"#\" class=\"bvi-link bvi-speech-on\">\n                    <i class=\"bvi-images bvi-images-volume-up\"></i>\n                </a>\n            </div>\n            <div class=\"bvi-block\">\n                <div class=\"bvi-block-title\">").concat(this._i18n.t('settings'), "</div>\n                <a href=\"#\" class=\"bvi-link\" data-bvi=\"modal\">\n                    <i class=\"bvi-images bvi-images-cog\"></i>\n                </a>\n                <a href=\"#\" class=\"bvi-link\" data-bvi=\"close\">\n                    ").concat(this._i18n.t('regularVersionOfTheSite'), "\n                </a>\n                <a href=\"#\" class=\"bvi-link\" data-bvi=\"panel-hide\">\n                    <i class=\"bvi-images bvi-images-minus\"></i>\n                </a>\n            </div>\n        </div>\n        <div class=\"bvi-modal\">\n            <div class=\"bvi-modal-dialog\">\n                <div class=\"bvi-modal-content\">\n                    <div class=\"bvi-modal-header\">\n                        <div class=\"bvi-modal-title\">").concat(this._i18n.t('settings'), "</div>\n                        <a href=\"#\" class=\"bvi-link bvi-modal-close\" data-bvi=\"modal-close\">\xD7</a>\n                    </div>\n                    <div class=\"bvi-modal-body\">\n                        <div class=\"bvi-blocks bvi-block-center\">\n                            <div class=\"bvi-block\">\n                                <div class=\"bvi-block-title\">").concat(this._i18n.t('letterSpacing'), "</div>\n                                <a href=\"#\" class=\"bvi-link bvi-letter-spacing-normal\">").concat(this._i18n.t('normal'), "</a>\n                                <a href=\"#\" class=\"bvi-link bvi-letter-spacing-average\">").concat(this._i18n.t('average'), "</a>\n                                <a href=\"#\" class=\"bvi-link bvi-letter-spacing-big\">").concat(this._i18n.t('big'), "</a>\n                            </div>\n                            <div class=\"bvi-block\">\n                                <div class=\"bvi-block-title\">").concat(this._i18n.t('lineHeight'), "</div>\n                                <a href=\"#\" class=\"bvi-link bvi-line-height-normal\">").concat(this._i18n.t('normal'), "</a>\n                                <a href=\"#\" class=\"bvi-link bvi-line-height-average\">").concat(this._i18n.t('average'), "</a>\n                                <a href=\"#\" class=\"bvi-link bvi-line-height-big\">").concat(this._i18n.t('big'), "</a>\n                            </div>\n                            <div class=\"bvi-block\">\n                                <div class=\"bvi-block-title\">").concat(this._i18n.t('font'), "</div>\n                                <a href=\"#\" class=\"bvi-link bvi-font-family-arial\">").concat(this._i18n.t('arial'), "</a>\n                                <a href=\"#\" class=\"bvi-link bvi-font-family-times\">").concat(this._i18n.t('times'), "</a>\n                            </div>\n                            <div class=\"bvi-block\">\n                                <div class=\"bvi-block-title\">").concat(this._i18n.t('builtElements'), "</div>\n                                <a href=\"#\" class=\"bvi-link bvi-built-elements-on\">").concat(this._i18n.t('on'), "</a>\n                                <a href=\"#\" class=\"bvi-link bvi-built-elements-off\">").concat(this._i18n.t('off'), "</a>\n                            </div>\n                        </div>\n                        <div class=\"bvi-blocks bvi-block-center\">\n                            <a href=\"https://bvi.isvek.ru\" class=\"bvi-copyright\" target=\"_blank\">bvi.isvek.ru</a>\n                        </div>\n                    </div>\n                    <div class=\"bvi-modal-footer\">\n                        <a href=\"#\" class=\"bvi-link bvi-reset\">").concat(this._i18n.t('reset'), "</a>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>");
13182        var link = "<a href=\"#\" class=\"bvi-link bvi-link-fixed-top bvi-no-styles ".concat(linkHide, "\" data-bvi=\"panel-show\">") + '<i class="bvi-images bvi-images-eye bvi-images-size-32 bvi-no-styles"></i></a>';
13183        window.addEventListener('scroll', scroll);
13184        document.querySelector('.bvi-body').insertAdjacentHTML('beforebegin', html);
13185        document.querySelector('.bvi-body').insertAdjacentHTML('afterbegin', link);
13186        scroll();
13187      }
13188    }, {
13189      key: "_set",
13190      value: function _set() {
13191        var _this3 = this;
13192
13193        document.body.classList.add('bvi-active');
13194        document.querySelector('.content-bvi').classList.add('bvi-active');
13195        wrapInner(document.body, 'div', 'bvi-body');
13196        getObject(this._config, function (key) {
13197          return _this3._setAttrDataBviBody(key, getCookie(key));
13198        });
13199        getArray(this._elements, function (element) {
13200          return element.style.display = 'none';
13201        });
13202        document.querySelectorAll('img').forEach(function (element) {
13203          if (element.classList.contains('bvi-img')) {
13204            element.classList.remove('bvi-img');
13205          }
13206        });
13207        document.querySelectorAll('.backgroundPolygon-greyHover').forEach(function (element) {
13208          if (element.classList.contains('bvi-img')) {
13209            element.classList.remove('bvi-img');
13210          }
13211        });
13212        document.querySelectorAll('svg').forEach(function (element) {
13213          if (element.classList.contains('bvi-img')) {
13214            element.classList.remove('bvi-img');
13215          }
13216        });
13217        document.querySelectorAll('body *').forEach(function (element) {
13218          if (element.classList.contains('bvi-background-image')) {
13219            element.classList.remove('bvi-background-image');
13220          }
13221        });
13222      }
13223    }, {
13224      key: "_remove",
13225      value: function _remove() {
13226        var bviPanel = document.querySelector('.bvi-panel');
13227        var bviBody = document.querySelector('.bvi-body');
13228        var bviLinkFixedTop = document.querySelector('.bvi-link-fixed-top');
13229
13230        if (bviPanel) {
13231          bviPanel.remove();
13232        }
13233
13234        if (bviBody) {
13235          unwrap(bviBody);
13236        }
13237
13238        if (bviLinkFixedTop) {
13239          bviLinkFixedTop.remove();
13240        }
13241
13242        this._speech("".concat(this._i18n.v('panelOff')));
13243
13244        document.body.classList.remove('bvi-active');
13245        document.querySelector('.content-bvi').classList.remove('bvi-active');
13246        getArray(this._elements, function (element) {
13247          return element.style.display = '';
13248        });
13249
13250        if (stringToBoolean(getCookie('reload'))) {
13251          document.location.reload();
13252        }
13253
13254        getObject(this._config, function (key) {
13255          removeCookie(key);
13256        });
13257
13258        this._speechPlayer();
13259
13260        removeCookie('panelActive');
13261      }
13262    }, {
13263      key: "_images",
13264      value: function _images() {
13265        document.querySelectorAll('img').forEach(function (element) {
13266          if (!element.classList.contains('bvi-no-style')) {
13267            element.classList.add('bvi-img');
13268          }
13269        });
13270        document.querySelectorAll('.backgroundPolygon-greyHover').forEach(function (element) {
13271          if (!element.classList.contains('bvi-no-style')) {
13272            element.classList.add('bvi-img');
13273          }
13274        });
13275        document.querySelectorAll('svg').forEach(function (element) {
13276          if (!element.classList.contains('bvi-no-style')) {
13277            element.classList.add('bvi-img');
13278          }
13279        });
13280        document.querySelectorAll('.bvi-body *').forEach(function (element) {
13281          var style = getComputedStyle(element);
13282
13283          if (style.backgroundImage !== 'none' && style.background !== 'none' && !element.classList.contains('bvi-no-style')) {
13284            element.classList.add('bvi-background-image');
13285          }
13286        });
13287      }
13288    }, {
13289      key: "_getConfig",
13290      value: function _getConfig(config) {
13291        config = _objectSpread2(_objectSpread2({}, Default), config);
13292        var extended = {};
13293
13294        for (var keyDefault in Default) {
13295          extended[keyDefault] = config[keyDefault];
13296        }
13297
13298        checkConfig(extended, DefaultType, DefaultOptions);
13299        return extended;
13300      }
13301    }, {
13302      key: "_setAttrDataBviBody",
13303      value: function _setAttrDataBviBody() {
13304        var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
13305        var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
13306        document.querySelector('.bvi-body').setAttribute("data-bvi-".concat(name), value);
13307      }
13308    }, {
13309      key: "_speechPlayer",
13310      value: function _speechPlayer() {
13311        var _this4 = this;
13312
13313        var selectorSpeechText = document.querySelectorAll('.bvi-speech-text');
13314        var selectorSpeechLink = document.querySelectorAll('.bvi-speech-link');
13315        var selectorBviSpeech = document.querySelectorAll('.bvi-speech');
13316
13317        if ('speechSynthesis' in window && stringToBoolean(getCookie('speech'))) {
13318          if (selectorBviSpeech) {
13319            if (selectorSpeechText) {
13320              selectorSpeechText.forEach(function (element) {
13321                return unwrap(element);
13322              });
13323            }
13324
13325            if (selectorSpeechLink) {
13326              selectorSpeechLink.forEach(function (element) {
13327                return element.remove();
13328              });
13329            }
13330
13331            selectorBviSpeech.forEach(function (speechDivBlock, index) {
13332              var id = "bvi-speech-text-id-".concat(index + 1);
13333              var html = "\n            <div class=\"bvi-speech-link\">\n              <a href=\"#\" class=\"bvi-link bvi-speech-play\" title=\"\u0412\u043E\u0441\u043F\u0440\u043E\u0438\u0437\u0432\u0435\u0441\u0442\u0438\">\u0412\u043E\u0441\u043F\u0440\u043E\u0438\u0437\u0432\u0435\u0441\u0442\u0438</a>\n              <a href=\"#\" class=\"bvi-link bvi-speech-pause disabled\" title=\"\u041F\u0430\u0443\u0437\u0430\">\u041F\u0430\u0443\u0437\u0430</a>\n              <a href=\"#\" class=\"bvi-link bvi-speech-resume disabled\" title=\"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C\">\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C</a>\n              <a href=\"#\" class=\"bvi-link bvi-speech-stop disabled\" title=\"\u0421\u0442\u043E\u043F\">\u0421\u0442\u043E\u043F</i></a>\n          </div>";
13334              wrapInner(speechDivBlock, 'div', "bvi-speech-text ".concat(id));
13335              speechDivBlock.insertAdjacentHTML('afterbegin', html);
13336            });
13337            var selectorPlay = document.querySelectorAll('.bvi-speech-play');
13338            var selectorPause = document.querySelectorAll('.bvi-speech-pause');
13339            var selectorResume = document.querySelectorAll('.bvi-speech-resume');
13340            var selectorStop = document.querySelectorAll('.bvi-speech-stop');
13341
13342            var el = function el(elements, callback) {
13343              elements.forEach(function (element) {
13344                element.addEventListener('click', function (event) {
13345                  event.preventDefault();
13346
13347                  if (typeof callback === 'function') {
13348                    return callback(element, event);
13349                  }
13350                }, false);
13351              });
13352            };
13353
13354            el(selectorPlay, function (element, event) {
13355              var target = event.target;
13356              var text = target.parentNode.nextElementSibling;
13357              var closest = event.target.closest('.bvi-speech-link');
13358              var play = document.querySelectorAll('.bvi-speech-play');
13359              var pause = document.querySelectorAll('.bvi-speech-pause');
13360              var resume = document.querySelectorAll('.bvi-speech-resume');
13361              var stop = document.querySelectorAll('.bvi-speech-stop');
13362
13363              _this4._speech(text.textContent, text, true);
13364
13365              play.forEach(function (element) {
13366                return element.classList.remove('disabled');
13367              });
13368              pause.forEach(function (element) {
13369                return element.classList.add('disabled');
13370              });
13371              resume.forEach(function (element) {
13372                return element.classList.add('disabled');
13373              });
13374              stop.forEach(function (element) {
13375                return element.classList.add('disabled');
13376              });
13377              target.classList.add('disabled');
13378              closest.querySelector('.bvi-speech-pause').classList.remove('disabled');
13379              closest.querySelector('.bvi-speech-stop').classList.remove('disabled');
13380            });
13381            el(selectorPause, function (element, event) {
13382              var target = event.target;
13383              var closest = event.target.closest('.bvi-speech-link');
13384              target.classList.add('disabled');
13385              closest.querySelector('.bvi-speech-resume').classList.remove('disabled');
13386              synth().pause();
13387            });
13388            el(selectorResume, function (element, event) {
13389              var target = event.target;
13390              var closest = event.target.closest('.bvi-speech-link');
13391              target.classList.add('disabled');
13392              closest.querySelector('.bvi-speech-pause').classList.remove('disabled');
13393              synth().resume();
13394            });
13395            el(selectorStop, function (element, event) {
13396              var target = event.target;
13397              var closest = event.target.closest('.bvi-speech-link');
13398              target.classList.add('disabled');
13399              closest.querySelector('.bvi-speech-pause').classList.add('disabled');
13400              closest.querySelector('.bvi-speech-play').classList.remove('disabled');
13401              synth().cancel();
13402            });
13403          }
13404        } else {
13405          if (selectorSpeechText) {
13406            selectorSpeechText.forEach(function (element) {
13407              return unwrap(element);
13408            });
13409          }
13410
13411          if (selectorSpeechLink) {
13412            selectorSpeechLink.forEach(function (element) {
13413              return element.remove();
13414            });
13415          }
13416        }
13417      }
13418    }, {
13419      key: "_speech",
13420      value: function _speech(text, element) {
13421        var _this5 = this;
13422
13423        var echo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
13424
13425        if ('speechSynthesis' in window && stringToBoolean(getCookie('speech'))) {
13426          synth().cancel();
13427
13428          var getWordAt = function getWordAt(str, pos) {
13429            str = String(str);
13430            pos = Number(pos) >>> 0;
13431            var left = str.slice(0, pos + 1).search(/\S+$/);
13432            var right = str.slice(pos).search(/\s/);
13433
13434            if (right < 0) {
13435              return str.slice(left);
13436            }
13437
13438            return str.slice(left, right + pos);
13439          };
13440
13441          var chunkLength = 120;
13442          var patternRegex = new RegExp('^[\\s\\S]{' + Math.floor(chunkLength / 2) + ',' + chunkLength + '}[.!?,]{1}|^[\\s\\S]{1,' + chunkLength + '}$|^[\\s\\S]{1,' + chunkLength + '} ');
13443          var array = [];
13444          var $text = text;
13445          var voices = synth().getVoices();
13446
13447          while ($text.length > 0) {
13448            array.push($text.match(patternRegex)[0]);
13449            $text = $text.substring(array[array.length - 1].length);
13450          }
13451
13452          array.forEach(function (getText) {
13453            var utter = new SpeechSynthesisUtterance(getText.trim());
13454            utter.volume = 1;
13455            utter.rate = 1;
13456            utter.pitch = 1;
13457            utter.lang = _this5._config.lang;
13458
13459            for (var i = 0; i < voices.length; i++) {
13460              if (_this5._config.lang === 'ru-RU' && voices[i].name === 'Microsoft Pavel - Russian (Russia)') {
13461                utter.voice = voices[i];
13462              }
13463
13464              if (_this5._config.lang === 'en-US' && voices[i].name === 'Microsoft Pavel - English (English)') {
13465                utter.voice = voices[i];
13466              }
13467            }
13468
13469            if (echo) {
13470              utter.onboundary = function (event) {
13471                element.classList.add('bvi-highlighting');
13472                var world = getWordAt(event.utterance.text, event.charIndex);
13473                var textContent = element.textContent;
13474                var term = world.replace(/(\s+)/, '((<[^>]+>)*$1(<[^>]+>)*)');
13475                var pattern = new RegExp('(' + term + ')', 'gi');
13476                textContent = textContent.replace(pattern, '<mark>$1</mark>');
13477                textContent = textContent.replace(/(<mark>[^<>]*)((<[^>]+>)+)([^<>]*<\/mark>)/, '$1</mark>$2<mark>$4');
13478                element.innerHTML = textContent;
13479              };
13480
13481              // eslint-disable-next-line no-unused-vars
13482              utter.onend = function (event) {
13483                element.classList.remove('bvi-highlighting');
13484                var textContent = element.textContent;
13485                textContent = textContent.replace(/(<mark>$1<\/mark>)/, '$1');
13486                element.innerHTML = textContent;
13487              };
13488            }
13489
13490            synth().speak(utter);
13491          });
13492        }
13493      }
13494    }]);
13495
13496    return Bvi;
13497  }();
13498
13499  /**
13500   * --------------------------------------------------------------------------
13501   * Button visually impaired (v1.0.0): index.umd.js
13502   * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)
13503   * --------------------------------------------------------------------------
13504   */
13505  var index_umd = {
13506    Bvi: Bvi
13507  };
13508
13509  return index_umd;
13510
13511})));
13512
13513/* End */
13514;
13515; /* Start:"a:4:{s:4:"full";s:62:"/local/templates/culture/build/js/page/getBvi.js?1766567244923";s:6:"source";s:48:"/local/templates/culture/build/js/page/getBvi.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
13516"use strict";
13517
13518$(function () {
13519  return new isvek.Bvi({
13520    target: '.bvi-open',
13521    theme: "white",
13522    // Цвет сайта
13523    font: "Ubuntu",
13524    // Шрифт
13525    fontSize: 20,
13526    // Размер шрифта
13527    letterSpacing: "normal",
13528    // Межбуквенный интервал
13529    lineHeight: "normal",
13530    // Междустрочный интервал
13531    reload: true,
13532    // Перезагрузка страницы при выключении плагина
13533    fixed: false,
13534    // Фиксирование панели для слабовидящих вверху страницы
13535    speech: false,
13536    // Синтез речи
13537    panelHide: false,
13538    // Скрывает панель для слабовидящих и показывает иконку панели.
13539    images: 'grayscale',
13540    // grayscale — Черное-белые изображения
13541    builtElements: true
13542  });
13543});
13544/* End */
13545;
13546; /* Start:"a:4:{s:4:"full";s:65:"/local/templates/culture/build/js/jquery.cookie.js?17665672443121";s:6:"source";s:50:"/local/templates/culture/build/js/jquery.cookie.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
13547/*!
13548 * jQuery Cookie Plugin v1.4.1
13549 * https://github.com/carhartl/jquery-cookie
13550 *
13551 * Copyright 2013 Klaus Hartl
13552 * Released under the MIT license
13553 */
13554(function (factory) {
13555	if (typeof define === 'function' && define.amd) {
13556		// AMD
13557		define(['jquery'], factory);
13558	} else if (typeof exports === 'object') {
13559		// CommonJS
13560		factory(require('jquery'));
13561	} else {
13562		// Browser globals
13563		factory(jQuery);
13564	}
13565}(function ($) {
13566
13567	var pluses = /\+/g;
13568
13569	function encode(s) {
13570		return config.raw ? s : encodeURIComponent(s);
13571	}
13572
13573	function decode(s) {
13574		return config.raw ? s : decodeURIComponent(s);
13575	}
13576
13577	function stringifyCookieValue(value) {
13578		return encode(config.json ? JSON.stringify(value) : String(value));
13579	}
13580
13581	function parseCookieValue(s) {
13582		if (s.indexOf('"') === 0) {
13583			// This is a quoted cookie as according to RFC2068, unescape...
13584			s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
13585		}
13586
13587		try {
13588			// Replace server-side written pluses with spaces.
13589			// If we can't decode the cookie, ignore it, it's unusable.
13590			// If we can't parse the cookie, ignore it, it's unusable.
13591			s = decodeURIComponent(s.replace(pluses, ' '));
13592			return config.json ? JSON.parse(s) : s;
13593		} catch(e) {}
13594	}
13595
13596	function read(s, converter) {
13597		var value = config.raw ? s : parseCookieValue(s);
13598		return $.isFunction(converter) ? converter(value) : value;
13599	}
13600
13601	var config = $.cookie = function (key, value, options) {
13602
13603		// Write
13604
13605		if (value !== undefined && !$.isFunction(value)) {
13606			options = $.extend({}, config.defaults, options);
13607
13608			if (typeof options.expires === 'number') {
13609				var days = options.expires, t = options.expires = new Date();
13610				t.setTime(+t + days * 864e+5);
13611			}
13612
13613			return (document.cookie = [
13614				encode(key), '=', stringifyCookieValue(value),
13615				options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
13616				options.path    ? '; path=' + options.path : '',
13617				options.domain  ? '; domain=' + options.domain : '',
13618				options.secure  ? '; secure' : ''
13619			].join(''));
13620		}
13621
13622		// Read
13623
13624		var result = key ? undefined : {};
13625
13626		// To prevent the for loop in the first place assign an empty array
13627		// in case there are no cookies at all. Also prevents odd result when
13628		// calling $.cookie().
13629		var cookies = document.cookie ? document.cookie.split('; ') : [];
13630
13631		for (var i = 0, l = cookies.length; i < l; i++) {
13632			var parts = cookies[i].split('=');
13633			var name = decode(parts.shift());
13634			var cookie = parts.join('=');
13635
13636			if (key && key === name) {
13637				// If second argument (value) is a function it's a converter...
13638				result = read(cookie, value);
13639				break;
13640			}
13641
13642			// Prevent storing a cookie that we couldn't decode.
13643			if (!key && (cookie = read(cookie)) !== undefined) {
13644				result[name] = cookie;
13645			}
13646		}
13647
13648		return result;
13649	};
13650
13651	config.defaults = {};
13652
13653	$.removeCookie = function (key, options) {
13654		if ($.cookie(key) === undefined) {
13655			return false;
13656		}
13657
13658		// Must not alter options, thus extending a fresh object...
13659		$.cookie(key, '', $.extend({}, options, { expires: -1 }));
13660		return !$.cookie(key);
13661	};
13662
13663}));
13664
13665/* End */
13666;
13667; /* Start:"a:4:{s:4:"full";s:57:"/local/templates/culture/build/js/index.js?17665672442194";s:6:"source";s:42:"/local/templates/culture/build/js/index.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
13668"use strict";
13669
13670// Проверяем, что jQuery загружен
13671if (typeof $ === 'undefined') {
13672    console.error('Index.js: jQuery не загружен!');
13673} else {
13674
13675$(document).ready(function () {
13676  // Slow scroll
13677  $('a[href^="#"]').click(function () {
13678    var elementClick = $(this).attr("href");
13679    var destination = $(elementClick).offset().top - 70;
13680    if (elementClick == '#header') {
13681      destination = 0;
13682    }
13683    $('html, body').animate({
13684      scrollTop: destination
13685    }, 700);
13686    return false;
13687  });
13688  // Label(placeholder) in input transform
13689  $('.labelOnInput input').on('focus', function () {
13690    var currentParent = $(this).parent();
13691    $(currentParent).addClass('active');
13692  });
13693  $('.labelOnInput input').on('focusout', function () {
13694    var currentParent = $(this).parent();
13695    // input not empty
13696    if ($(this).val().length == 0) {
13697      $(currentParent).removeClass('active');
13698    }
13699  });
13700
13701  // Modal functionality - открытие модала
13702  $(document).on('click', '[data-modal]', function(e) {
13703    e.preventDefault();
13704    var modalId = $(this).data('modal');
13705    var modal = $('#' + modalId);
13706    if (modal.length) {
13707      modal.addClass('active');
13708      $('body').css('overflow', 'hidden');
13709    }
13710  });
13711
13712  // Close modal button - закрытие по кнопке
13713  $(document).on('click', '[data-close]', function(e) {
13714    e.preventDefault();
13715    var modalId = $(this).data('close');
13716    var modal = $('#' + modalId);
13717    if (modal.length) {
13718      modal.removeClass('active');
13719      $('body').css('overflow', 'auto');
13720    }
13721  });
13722
13723  // Close modal on background click - закрытие по клику на фон
13724  $(document).on('click', '.modal', function(e) {
13725    if (e.target === this) {
13726      $(this).removeClass('active');
13727      $('body').css('overflow', 'auto');
13728    }
13729  });
13730
13731  // Close modal on Escape key
13732  $(document).keyup(function (evt) {
13733    if (evt.key === "Escape" || evt.keyCode === 27) {
13734      var modal = $('.modal.active');
13735      if (modal.length) {
13736        modal.removeClass('active');
13737        $('body').css('overflow', 'auto');
13738      }
13739    }
13740  });
13741});
13742
13743} // Закрываем else блок для проверки jQuery
13744/* End */
13745;
13746; /* Start:"a:4:{s:4:"full";s:84:"/local/templates/culture/build/js/page/components/controllerSlider.js?17665672445462";s:6:"source";s:69:"/local/templates/culture/build/js/page/components/controllerSlider.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
13747"use strict";
13748
13749// Проверяем, что jQuery загружен
13750if (typeof $ === 'undefined') {
13751    console.error('ControllerSlider: jQuery не загружен!');
13752} else {
13753
13754/**
13755 * Для controllerSlider, обертка слайдера должна содержать класс '.slider', если класса не будет, то progressBar работать не будет.
13756 *
13757 * Передать объект с необходимыми параметрами:
13758 * @eventsSlider класс блока слайдера(пример: '.slider__list'), если на странице несколько слайдеров с разным функционалом, то передавать уникальный класс для данного блока
13759 * @infinite бесконечная прокрутка, boolean
13760 * @slidesToShow количество слайдов на странице, number
13761 * @slidesToScroll количество слайдов прокручиваем, number
13762 * @arrows элементы управления (если нужны стандартные, то указать значение true), boolean
13763 * @variableWidth адаптивная ширина слайдов, boolean
13764 * @adaptiveHeight адаптивная высота слайдов, boolean
13765 * @fade смена изображения слайдов анимацией, boolean
13766 * @counter счетчик слайдов, boolean
13767 * @progressBar индикатор отображения прокрутки слайдов, boolean
13768 */
13769window.controllerSlider = function controllerSlider(slider) {
13770  var controlSlide = '<div class="d-flex align-items-center gap-24 controller">' + '<button class="controller__btn controller__btn-prev"></button>' + '<div class="d-flex align-items-center controller__wrapper">' + '<span class="active"> 01</span>' + '<span class="progress" role="progressbar">' + '<span class="prodress__label sr-only"></span>' + '</span>' + '<span class="total"></span>' + '</div>' + '<button class="controller__btn controller__btn-next"></button>' + '</div>';
13771  var $sliders = $(slider.eventsSlider);
13772  $sliders.each(function () {
13773    var _this = this;
13774    var $sliderParent = $(this).parent();
13775    if (!slider.arrows) {
13776      $sliderParent.find('.controller').remove();
13777      $sliderParent.append(controlSlide);
13778    }
13779    var countSlide = $(this).find('.slider__item').length;
13780    if (slider.infinite) {
13781      countSlide = countSlide - $(this).find('.slick-cloned').length;
13782    }
13783    var slideScroll = slider.slidesToScroll;
13784    if (slider.responsive) {
13785      slider.responsive.forEach(function (item) {
13786        if (item.breakpoint >= $(window).width()) {
13787          slideScroll = item.settings.slidesToScroll;
13788        }
13789      });
13790    }
13791    var controller = $sliderParent.find('.controller');
13792    if (countSlide <= slideScroll) {
13793      controller.remove();
13794    }
13795    var prev = $(this).parent().find('.controller__btn-prev');
13796    var next = $(this).parent().find('.controller__btn-next');
13797    $(this).slick({
13798      infinite: slider.infinite ? slider.infinite : false,
13799      slidesToShow: slider.slidesToShow ? slider.slidesToShow : 1,
13800      slidesToScroll: slider.slidesToScroll ? slider.slidesToScroll : 1,
13801      variableWidth: slider.variableWidth ? slider.variableWidth : false,
13802      adaptiveHeight: slider.adaptiveHeight ? slider.adaptiveHeight : false,
13803      fade: slider.fade ? slider.fade : false,
13804      prevArrow: slider.arrows ? '<button type="button" class="slick-prev"></button>' : prev[0],
13805      nextArrow: slider.arrows ? '<button type="button" class="slick-next"></button>' : next[0],
13806      responsive: slider.responsive ? slider.responsive : 'none',
13807      touchThreshold: 100
13808    });
13809    if (slider.counter) {
13810      var helpers = {
13811        addZeros: function addZeros(number) {
13812          return number < 10 ? '0' + number : '' + number;
13813        }
13814      };
13815      if (countSlide > 1) {
13816        $(this).siblings('.slides-numbers').show();
13817      }
13818      var sliderItemsNum = Math.ceil($(this).find('.slick-slide').not('.slick-cloned').length / slideScroll);
13819      $sliderParent.find('.controller .total').html(helpers.addZeros(sliderItemsNum));
13820      $(this).on('afterChange', function (event, slick, currentSlide) {
13821        $sliderParent.find('.controller .active').html(helpers.addZeros(Math.ceil(currentSlide / slideScroll) + 1));
13822      });
13823    } else {
13824      $sliderParent.find('.controller .total').remove();
13825      $sliderParent.find('.controller .active').remove();
13826    }
13827    if (slider.progressBar) {
13828      var processProgressBar = function processProgressBar(nextPosition) {
13829        var $progressBar = $(_this).parent('.slider').find('.progress');
13830        var $progressBarLabel = $(_this).parent('.slider').find('.controller__label');
13831        var calc = nextPosition / (countSlide - slideScroll) * 100;
13832        $progressBar.css('background-size', calc + '% 100%').attr('aria-valuenow', calc);
13833        $progressBarLabel.text(calc + '% completed');
13834      };
13835      $(this).on('beforeChange', function (event, slick, currentSlide, nextSlide) {
13836        processProgressBar(nextSlide);
13837      });
13838      $sliderParent.find('.controller__btn-prev').on('click', function () {
13839        $(_this).slick('slickPrev');
13840      });
13841      $sliderParent.find('.controller__btn-next').on('click', function () {
13842        $(_this).slick('slickNext');
13843      });
13844    }
13845  });
13846}
13847
13848} // Закрываем else блок для проверки jQuery
13849/* End */
13850;
13851; /* Start:"a:4:{s:4:"full";s:77:"/local/templates/culture/build/js/page/components/imageZoom.js?17665672441425";s:6:"source";s:62:"/local/templates/culture/build/js/page/components/imageZoom.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
13852"use strict";
13853
13854function imageZoom(box) {
13855  $(box).fancybox({
13856    afterLoad: function afterLoad(instance, current) {
13857      var pixelRatio = window.devicePixelRatio || 1;
13858      if (pixelRatio > 1.5) {
13859        current.width = current.width / pixelRatio;
13860        current.height = current.height / pixelRatio;
13861      }
13862    },
13863    closeExisting: false,
13864    protect: true,
13865    smallBtn: true,
13866    keyboard: false,
13867    touch: false,
13868    wheel: false,
13869    clickContent: false,
13870    caption: function caption() {
13871      var author = $(this).data('author') || '';
13872      var description = $(this).data('description') || '';
13873      if (author) {
13874        return '<p class="text-white-65 caption__title">' + author + '</p>' + '<p class="text-white-65 caption__description">' + description + '</p>';
13875      }
13876    },
13877    baseTpl: '<div class="fancybox-container" role="dialog" tabindex="-1">' + '<div class="fancybox-bg"></div>' + '<div class="fancybox-inner">' + '<div class="fancybox-stage">' + '<div class="fancybox-caption"><div class="fancybox-caption__body"></div></div>' + '</div>' + '</div>' + '</div>',
13878    btnTpl: {
13879      smallBtn: '<button type="button" data-fancybox-close="" class="fancybox-close-small fancybox-button" title="Закрыть">' + '<svg xmlns="http://www.w3.org/2000/svg" version="1" viewBox="0 0 24 24">' + '<path d="M13 12l5-5-1-1-5 5-5-5-1 1 5 5-5 5 1 1 5-5 5 5 1-1z"></path>' + '</svg>' + '</button>'
13880    }
13881  });
13882}
13883/* End */
13884;
13885; /* Start:"a:4:{s:4:"full";s:80:"/local/templates/culture/build/js/page/components/mapOneObject.js?17665672442016";s:6:"source";s:65:"/local/templates/culture/build/js/page/components/mapOneObject.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
13886"use strict";
13887
13888var myMapOneObject;
13889
13890/**
13891 *
13892 * @param data объект содержащий следующие параметры:
13893 *
13894 * @mapId id карты для инициализации, string, обязательное поле
13895 * @mapCenter координаты центра карты, array ([number, number]), обязательное поле
13896 * @mapZoom масштаб карты, number, по дефолту 12
13897 * @mapCoordinate координаты точки на карте, array ([number, number]), обязательное поле
13898 * @mapHintContent название точки, string
13899 * @path указывается путь до папки build, string, обязательное поле
13900 * @iconName - имя иконки, которые будет отображаться на карте, string, по дефолту location
13901 */
13902
13903function mapOneObject(data) {
13904  ymaps.ready(function () {
13905    if (myMapOneObject) {
13906      myMapOneObject.destroy();
13907    }
13908    initMap();
13909  });
13910  function initMap() {
13911    myMapOneObject = new ymaps.Map(data.mapId, {
13912      center: data.mapCenter,
13913      zoom: data.mapZoom || 12,
13914      controls: ['zoomControl']
13915    }, {
13916      searchControlProvider: 'yandex#search',
13917      yandexMapDisablePoiInteractivity: true
13918    });
13919    var myMapPlacemarkOne;
13920    myMapPlacemarkOne = new ymaps.Placemark(data.mapCoordinate, {
13921      hintContent: data.mapHintContent,
13922      balloonContentHeader: data.mapHintContent
13923    }, {
13924      iconLayout: 'default#image',
13925      // Своё изображение иконки метки.
13926      iconImageHref: "".concat(data.path, "/build/img/icons/icons.svg#").concat(data.iconName ? data.iconName : 'location'),
13927      // Размеры метки.
13928      iconImageSize: [44, 44],
13929      // Смещение левого верхнего угла иконки относительно.
13930      iconImageOffset: [-22, -22]
13931    });
13932    myMapOneObject.behaviors.disable('scrollZoom');
13933    myMapOneObject.geoObjects.add(myMapPlacemarkOne);
13934  }
13935}
13936/* End */
13937;
13938; /* Start:"a:4:{s:4:"full";s:83:"/local/templates/culture/build/js/page/components/datepickerCustom.js?1766567244161";s:6:"source";s:69:"/local/templates/culture/build/js/page/components/datepickerCustom.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
13939"use strict";
13940
13941$(function () {
13942  return $.datepicker._gotoToday = function (id) {
13943    $(id).blur().datepicker("hide").datepicker('setDate', new Date());
13944  };
13945});
13946/* End */
13947;
13948; /* Start:"a:4:{s:4:"full";s:89:"/local/templates/culture/build/js/page/components/pushkinListWithSlider.js?17665672441004";s:6:"source";s:74:"/local/templates/culture/build/js/page/components/pushkinListWithSlider.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
13949"use strict";
13950
13951$(document).ready(function () {
13952  var pushkinListWithSlider = {
13953    eventsSlider: ".pushkinListWithSlider-slider",
13954    slidesToShow: 1,
13955    slidesToScroll: 1,
13956    progressBar: true,
13957    counter: true,
13958    adaptiveHeight: true
13959  };
13960  controllerSlider(pushkinListWithSlider);
13961  var showMoreButtons = document.querySelectorAll('.events-mobile__btn-more');
13962  var eventsLists = document.querySelectorAll('.events-list');
13963  showMoreButtons.forEach(function (el, index) {
13964    el.addEventListener('click', function () {
13965      var hiddenElements = eventsLists[index].querySelectorAll('.hide-event');
13966      var commentsList = Array.prototype.slice.call(hiddenElements).slice(0, 4);
13967      commentsList.forEach(function (item, index) {
13968        item.className = 'show-event';
13969        if (index === 0) {
13970          item.scrollIntoView({
13971            behavior: 'smooth'
13972          });
13973        }
13974      });
13975      if (hiddenElements.length <= 4) {
13976        el.className = 'hide-event';
13977      }
13978    });
13979  });
13980});
13981/* End */
13982;
13983; /* Start:"a:4:{s:4:"full";s:84:"/local/templates/culture/build/js/page/components/pushkinStickyMenu.js?1766567244675";s:6:"source";s:70:"/local/templates/culture/build/js/page/components/pushkinStickyMenu.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
13984"use strict";
13985
13986$(function () {
13987  // Apply active class on scroll
13988  var sections = $('section');
13989  var nav = $('ul.pushkinStickyMenu-list');
13990  var nav_height = nav.outerHeight();
13991  $(document).on('scroll', function () {
13992    var current_position = $(this).scrollTop();
13993    nav.css('top', current_position + $(nav).height());
13994    sections.each(function () {
13995      var top = $(this).offset().top - nav_height;
13996      var bottom = top + $(this).outerHeight();
13997      if (current_position >= top && current_position <= bottom) {
13998        nav.find('li').removeClass('active');
13999        nav.find('li[data-href="' + $(this).attr('id') + '"]').addClass('active');
14000      }
14001    });
14002  });
14003});
14004/* End */
14005;
14006; /* Start:"a:4:{s:4:"full";s:78:"/local/templates/culture/build/js/swiper/swiper-bundle.min.js?1766567244240246";s:6:"source";s:61:"/local/templates/culture/build/js/swiper/swiper-bundle.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
14007var Swiper=function(){"use strict";function isObject$1(obj){return obj!==null&&typeof obj==="object"&&"constructor"in obj&&obj.constructor===Object}function extend$1(target,src){if(target===void 0){target={}}if(src===void 0){src={}}
14007Object.keys(src).forEach(key=>{if(typeof target[key]==="undefined")target[key]=src[key];else if(isObject$1(src[key])&&isObject$1(target[key])&&Object.keys(src[key]).length>0){extend$1(target[key],src[key])}})}const ssrDocument={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector(){return null},querySelectorAll(){return[]},getElementById(){return null},createEvent(){return{initEvent(){}}},createElement(){return{children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName(){return[]}}},createElementNS(){return{}},importNode(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function getDocument(){const doc=typeof document!=="undefined"?document:{};extend$1(doc,ssrDocument);return doc}const ssrWindow={document:ssrDocument,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function CustomEvent(){return this},addEventListener(){},removeEventListener(){},getComputedStyle(){return{getPropertyValue(){return""}}},Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia(){return{}},requestAnimationFrame(callback){if(typeof setTimeout==="undefined"){callback();return null}return setTimeout(callback,0)},cancelAnimationFrame(id){if(typeof setTimeout==="undefined"){return}clearTimeout(id)}};function getWindow(){const win=typeof window!=="undefined"?window:{};extend$1(win,ssrWindow);return win}function classesToTokens(classes){if(classes===void 0){classes=""}return classes.trim().split(" ").filter(c=>!!c.trim())}function deleteProps(obj){const object=obj;Object.keys(object).forEach(key=>{try{object[key]=null}catch(e){}try{delete object[key]}catch(e){}})}function nextTick(callback,delay){if(delay===void 0){delay=0}return setTimeout(callback,delay)}function now(){return Date.now()}function getComputedStyle$1(el){const window=getWindow();let style;if(window.getComputedStyle){style=window.getComputedStyle(el,null)}if(!style&&el.currentStyle){style=el.currentStyle}if(!style){style=el.style}return style}function getTranslate(el,axis){if(axis===void 0){axis="x"}const window=getWindow();let matrix;let curTransform;let transformMatrix;const curStyle=getComputedStyle$1(el);if(window.WebKitCSSMatrix){curTransform=curStyle.transform||curStyle.webkitTransform;if(curTransform.split(",").length>6){curTransform=curTransform.split(", ").map(a=>a.replace(",",".")).join(", ")}transformMatrix=new window.WebKitCSSMatrix(curTransform==="none"?"":curTransform)}else{transformMatrix=curStyle.MozTransform||curStyle.OTransform||curStyle.MsTransform||curStyle.msTransform||curStyle.transform||curStyle.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,");matrix=transformMatrix.toString().split(",")}if(axis==="x"){if(window.WebKitCSSMatrix)curTransform=transformMatrix.m41;else if(matrix.length===16)curTransform=parseFloat(matrix[12]);else curTransform=parseFloat(matrix[4])}if(axis==="y"){if(window.WebKitCSSMatrix)curTransform=transformMatrix.m42;else if(matrix.length===16)curTransform=parseFloat(matrix[13]);else curTransform=parseFloat(matrix[5])}return curTransform||0}function isObject(o){return typeof o==="object"&&o!==null&&o.constructor&&Object.prototype.toString.call(o).slice(8,-1)==="Object"}function isNode(node){if(typeof window!=="undefined"&&typeof window.HTMLElement!=="undefined"){return node instanceof HTMLElement}return node&&(node.nodeType===1||node.nodeType===11)}function extend(){const to=Object(arguments.length<=0?undefined:arguments[0]);const noExtend=["__proto__","constructor","prototype"];for(let i=1;i<arguments.length;i+=1){const nextSource=i<0||arguments.length<=i?undefined:arguments[i];if(nextSource!==undefined&&nextSource!==null&&!isNode(nextSource)){const keysArray=Object.keys(Object(nextSource)).filter(key=>noExtend.indexOf(key)<0);for(let nextIndex=0,len=keysArray.length;nextIndex<len;nextIndex+=1){const nextKey=keysArray[nextIndex];const desc=Object.getOwnPropertyDescriptor(nextSource,nextKey);if(desc!==undefined&&desc.enumerable){if(isObject(to[nextKey])&&isObject(nextSource[nextKey])){if(nextSource[nextKey].__swiper__){to[nextKey]=nextSource[nextKey]}else{extend(to[nextKey],nextSource[nextKey])}}else if(!isObject(to[nextKey])&&isObject(nextSource[nextKey])){to[nextKey]={};if(nextSource[nextKey].__swiper__){to[nextKey]=nextSource[nextKey]}else{extend(to[nextKey],nextSource[nextKey])}}else{to[nextKey]=nextSource[nextKey]}}}}}return to}function setCSSProperty(el,varName,varValue){el.style.setProperty(varName,varValue)}function animateCSSModeScroll(_ref){let{swiper,targetPosition,side}=_ref;const window=getWindow();const startPosition=-swiper.translate;let startTime=null;let time;const duration=swiper.params.speed;swiper.wrapperEl.style.scrollSnapType="none";window.cancelAnimationFrame(swiper.cssModeFrameID);const dir=targetPosition>startPosition?"next":"prev";const isOutOfBound=(current,target)=>{return dir==="next"&&current>=target||dir==="prev"&&current<=target};const animate=()=>{time=(new Date).getTime();if(startTime===null){startTime=time}const progress=Math.max(Math.min((time-startTime)/duration,1),0);const easeProgress=.5-Math.cos(progress*Math.PI)/2;let currentPosition=startPosition+easeProgress*(targetPosition-startPosition);if(isOutOfBound(currentPosition,targetPosition)){currentPosition=targetPosition}swiper.wrapperEl.scrollTo({[side]:currentPosition});if(isOutOfBound(currentPosition,targetPosition)){swiper.wrapperEl.style.overflow="hidden";swiper.wrapperEl.style.scrollSnapType="";setTimeout(()=>{swiper.wrapperEl.style.overflow="";swiper.wrapperEl.scrollTo({[side]:currentPosition})});window.cancelAnimationFrame(swiper.cssModeFrameID);return}swiper.cssModeFrameID=window.requestAnimationFrame(animate)};animate()}function getSlideTransformEl(slideEl){return slideEl.querySelector(".swiper-slide-transform")||slideEl.shadowRoot&&slideEl.shadowRoot.querySelector(".swiper-slide-transform")||slideEl}function elementChildren(element,selector){if(selector===void 0){selector=""}const children=[...element.children];if(element instanceof HTMLSlotElement){children.push(...element.assignedElements())}if(!selector){return children}return children.filter(el=>el.matches(selector))}function elementIsChildOf(el,parent){const isChild=parent.contains(el);if(!isChild&&parent instanceof HTMLSlotElement){const children=[...parent.assignedElements()];return children.includes(el)}return isChild}function showWarning(text){try{console.warn(text);return}catch(err){}}function createElement(tag,classes){if(classes===void 0){classes=[]}const el=document.createElement(tag);
14007el.classList.add(...Array.isArray(classes)?classes:classesToTokens(classes));return el}function elementOffset(el){const window=getWindow();const document=getDocument();const box=el.getBoundingClientRect();const body=document.body;const clientTop=el.clientTop||body.clientTop||0;const clientLeft=el.clientLeft||body.clientLeft||0;const scrollTop=el===window?window.scrollY:el.scrollTop;const scrollLeft=el===window?window.scrollX:el.scrollLeft;return{top:box.top+scrollTop-clientTop,left:box.left+scrollLeft-clientLeft}}function elementPrevAll(el,selector){const prevEls=[];while(el.previousElementSibling){const prev=el.previousElementSibling;if(selector){if(prev.matches(selector))prevEls.push(prev)}else prevEls.push(prev);el=prev}return prevEls}function elementNextAll(el,selector){const nextEls=[];while(el.nextElementSibling){const next=el.nextElementSibling;if(selector){if(next.matches(selector))nextEls.push(next)}else nextEls.push(next);el=next}return nextEls}function elementStyle(el,prop){const window=getWindow();return window.getComputedStyle(el,null).getPropertyValue(prop)}function elementIndex(el){let child=el;let i;if(child){i=0;while((child=child.previousSibling)!==null){if(child.nodeType===1)i+=1}return i}return undefined}function elementParents(el,selector){const parents=[];let parent=el.parentElement;while(parent){if(selector){if(parent.matches(selector))parents.push(parent)}else{parents.push(parent)}parent=parent.parentElement}return parents}function elementTransitionEnd(el,callback){function fireCallBack(e){if(e.target!==el)return;callback.call(el,e);el.removeEventListener("transitionend",fireCallBack)}if(callback){el.addEventListener("transitionend",fireCallBack)}}function elementOuterSize(el,size,includeMargins){const window=getWindow();if(includeMargins){return el[size==="width"?"offsetWidth":"offsetHeight"]+parseFloat(window.getComputedStyle(el,null).getPropertyValue(size==="width"?"margin-right":"margin-top"))+parseFloat(window.getComputedStyle(el,null).getPropertyValue(size==="width"?"margin-left":"margin-bottom"))}return el.offsetWidth}function makeElementsArray(el){return(Array.isArray(el)?el:[el]).filter(e=>!!e)}function getRotateFix(swiper){return v=>{if(Math.abs(v)>0&&swiper.browser&&swiper.browser.need3dFix&&Math.abs(v)%90===0){return v+.001}return v}}let support;function calcSupport(){const window=getWindow();const document=getDocument();return{smoothScroll:document.documentElement&&document.documentElement.style&&"scrollBehavior"in document.documentElement.style,touch:!!("ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch)}}function getSupport(){if(!support){support=calcSupport()}return support}let deviceCached;function calcDevice(_temp){let{userAgent}=_temp===void 0?{}:_temp;const support=getSupport();const window=getWindow();const platform=window.navigator.platform;const ua=userAgent||window.navigator.userAgent;const device={ios:false,android:false};const screenWidth=window.screen.width;const screenHeight=window.screen.height;const android=ua.match(/(Android);?[\s\/]+([\d.]+)?/);let ipad=ua.match(/(iPad).*OS\s([\d_]+)/);const ipod=ua.match(/(iPod)(.*OS\s([\d_]+))?/);const iphone=!ipad&&ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/);const windows=platform==="Win32";let macos=platform==="MacIntel";const iPadScreens=["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"];if(!ipad&&macos&&support.touch&&iPadScreens.indexOf(`${screenWidth}x${screenHeight}`)>=0){ipad=ua.match(/(Version)\/([\d.]+)/);if(!ipad)ipad=[0,1,"13_0_0"];macos=false}if(android&&!windows){device.os="android";device.android=true}if(ipad||iphone||ipod){device.os="ios";device.ios=true}return device}function getDevice(overrides){if(overrides===void 0){overrides={}}if(!deviceCached){deviceCached=calcDevice(overrides)}return deviceCached}let browser;function calcBrowser(){const window=getWindow();const device=getDevice();let needPerspectiveFix=false;function isSafari(){const ua=window.navigator.userAgent.toLowerCase();return ua.indexOf("safari")>=0&&ua.indexOf("chrome")<0&&ua.indexOf("android")<0}if(isSafari()){const ua=String(window.navigator.userAgent);if(ua.includes("Version/")){const[major,minor]=ua.split("Version/")[1].split(" ")[0].split(".").map(num=>Number(num));needPerspectiveFix=major<16||major===16&&minor<2}}
14007const isWebView=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent);const isSafariBrowser=isSafari();const need3dFix=isSafariBrowser||isWebView&&device.ios;return{isSafari:needPerspectiveFix||isSafariBrowser,needPerspectiveFix:needPerspectiveFix,need3dFix:need3dFix,isWebView:isWebView}}function getBrowser(){if(!browser){browser=calcBrowser()}return browser}function Resize(_ref){let{swiper,on,emit}=_ref;const window=getWindow();let observer=null;let animationFrame=null;const resizeHandler=()=>{if(!swiper||swiper.destroyed||!swiper.initialized)return;emit("beforeResize");emit("resize")};const createObserver=()=>{if(!swiper||swiper.destroyed||!swiper.initialized)return;observer=new ResizeObserver(entries=>{animationFrame=window.requestAnimationFrame(()=>{const{width,height}=swiper;let newWidth=width;let newHeight=height;entries.forEach(_ref2=>{let{contentBoxSize,contentRect,target}=_ref2;if(target&&target!==swiper.el)return;newWidth=contentRect?contentRect.width:(contentBoxSize[0]||contentBoxSize).inlineSize;newHeight=contentRect?contentRect.height:(contentBoxSize[0]||contentBoxSize).blockSize});if(newWidth!==width||newHeight!==height){resizeHandler()}})});observer.observe(swiper.el)};const removeObserver=()=>{if(animationFrame){window.cancelAnimationFrame(animationFrame)}if(observer&&observer.unobserve&&swiper.el){observer.unobserve(swiper.el);observer=null}};const orientationChangeHandler=()=>{if(!swiper||swiper.destroyed||!swiper.initialized)return;emit("orientationchange")};on("init",()=>{if(swiper.params.resizeObserver&&typeof window.ResizeObserver!=="undefined"){createObserver();return}window.addEventListener("resize",resizeHandler);window.addEventListener("orientationchange",orientationChangeHandler)});on("destroy",()=>{removeObserver();window.removeEventListener("resize",resizeHandler);window.removeEventListener("orientationchange",orientationChangeHandler)})}function Observer(_ref){let{swiper,extendParams,on,emit}=_ref;const observers=[];const window=getWindow();const attach=function(target,options){if(options===void 0){options={}}const ObserverFunc=window.MutationObserver||window.WebkitMutationObserver;const observer=new ObserverFunc(mutations=>{if(swiper.__preventObserver__)return;if(mutations.length===1){emit("observerUpdate",mutations[0]);return}const observerUpdate=function observerUpdate(){emit("observerUpdate",mutations[0])};if(window.requestAnimationFrame){window.requestAnimationFrame(observerUpdate)}else{window.setTimeout(observerUpdate,0)}});observer.observe(target,{attributes:typeof options.attributes==="undefined"?true:options.attributes,childList:swiper.isElement||(typeof options.childList==="undefined"?true:options).childList,characterData:typeof options.characterData==="undefined"?true:options.characterData});observers.push(observer)};const init=()=>{if(!swiper.params.observer)return;if(swiper.params.observeParents){const containerParents=elementParents(swiper.hostEl);for(let i=0;i<containerParents.length;i+=1){attach(containerParents[i])}}attach(swiper.hostEl,{childList:swiper.params.observeSlideChildren});attach(swiper.wrapperEl,{attributes:false})};const destroy=()=>{observers.forEach(observer=>{observer.disconnect()});observers.splice(0,observers.length)};extendParams({observer:false,observeParents:false,observeSlideChildren:false});on("init",init);on("destroy",destroy)}var eventsEmitter={on(events,handler,priority){const self=this;if(!self.eventsListeners||self.destroyed)return self;if(typeof handler!=="function")return self;const method=priority?"unshift":"push";events.split(" ").forEach(event=>{if(!self.eventsListeners[event])self.eventsListeners[event]=[];self.eventsListeners[event][method](handler)});return self},once(events,handler,priority){const self=this;if(!self.eventsListeners||self.destroyed)return self;if(typeof handler!=="function")return self;function onceHandler(){self.off(events,onceHandler);if(onceHandler.__emitterProxy){delete onceHandler.__emitterProxy}for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}handler.apply(self,args)}onceHandler.__emitterProxy=handler;return self.on(events,onceHandler,priority)},onAny(handler,priority){const self=this;if(!self.eventsListeners||self.destroyed)return self;if(typeof handler!=="function")return self;const method=priority?"unshift":"push";if(self.eventsAnyListeners.indexOf(handler)<0){self.eventsAnyListeners[method](handler)}return self},offAny(handler){const self=this;if(!self.eventsListeners||self.destroyed)return self;if(!self.eventsAnyListeners)return self;const index=self.eventsAnyListeners.indexOf(handler);if(index>=0){self.eventsAnyListeners.splice(index,1)}return self},off(events,handler){const self=this;if(!self.eventsListeners||self.destroyed)return self;if(!self.eventsListeners)return self;events.split(" ").forEach(event=>{if(typeof handler==="undefined"){self.eventsListeners[event]=[]}else if(self.eventsListeners[event]){self.eventsListeners[event].forEach((eventHandler,index)=>{if(eventHandler===handler||eventHandler.__emitterProxy&&eventHandler.__emitterProxy===handler){self.eventsListeners[event].splice(index,1)}})}});return self}
14007,emit(){const self=this;if(!self.eventsListeners||self.destroyed)return self;if(!self.eventsListeners)return self;let events;let data;let context;for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2]}if(typeof args[0]==="string"||Array.isArray(args[0])){events=args[0];data=args.slice(1,args.length);context=self}else{events=args[0].events;data=args[0].data;context=args[0].context||self}data.unshift(context);const eventsArray=Array.isArray(events)?events:events.split(" ");eventsArray.forEach(event=>{if(self.eventsAnyListeners&&self.eventsAnyListeners.length){self.eventsAnyListeners.forEach(eventHandler=>{eventHandler.apply(context,[event,...data])})}if(self.eventsListeners&&self.eventsListeners[event]){self.eventsListeners[event].forEach(eventHandler=>{eventHandler.apply(context,data)})}});return self}};function updateSize(){const swiper=this;let width;let height;const el=swiper.el;if(typeof swiper.params.width!=="undefined"&&swiper.params.width!==null){width=swiper.params.width}else{width=el.clientWidth}if(typeof swiper.params.height!=="undefined"&&swiper.params.height!==null){height=swiper.params.height}else{height=el.clientHeight}if(width===0&&swiper.isHorizontal()||height===0&&swiper.isVertical()){return}width=width-parseInt(elementStyle(el,"padding-left")||0,10)-parseInt(elementStyle(el,"padding-right")||0,10);height=height-parseInt(elementStyle(el,"padding-top")||0,10)-parseInt(elementStyle(el,"padding-bottom")||0,10);if(Number.isNaN(width))width=0;if(Number.isNaN(height))height=0;Object.assign(swiper,{width:width,height:height,size:swiper.isHorizontal()?width:height})}function updateSlides(){const swiper=this;function getDirectionPropertyValue(node,label){return parseFloat(node.getPropertyValue(swiper.getDirectionLabel(label))||0)}const params=swiper.params;const{wrapperEl,slidesEl,size:swiperSize,rtlTranslate:rtl,wrongRTL}=swiper;const isVirtual=swiper.virtual&&params.virtual.enabled;const previousSlidesLength=isVirtual?swiper.virtual.slides.length:swiper.slides.length;const slides=elementChildren(slidesEl,`.${swiper.params.slideClass}, swiper-slide`);const slidesLength=isVirtual?swiper.virtual.slides.length:slides.length;let snapGrid=[];const slidesGrid=[];const slidesSizesGrid=[];let offsetBefore=params.slidesOffsetBefore;if(typeof offsetBefore==="function"){offsetBefore=params.slidesOffsetBefore.call(swiper)}let offsetAfter=params.slidesOffsetAfter;if(typeof offsetAfter==="function"){offsetAfter=params.slidesOffsetAfter.call(swiper)}const previousSnapGridLength=swiper.snapGrid.length;const previousSlidesGridLength=swiper.slidesGrid.length;let spaceBetween=params.spaceBetween;let slidePosition=-offsetBefore;let prevSlideSize=0;let index=0;if(typeof swiperSize==="undefined"){return}if(typeof spaceBetween==="string"&&spaceBetween.indexOf("%")>=0){spaceBetween=parseFloat(spaceBetween.replace("%",""))/100*swiperSize}else if(typeof spaceBetween==="string"){spaceBetween=parseFloat(spaceBetween)}swiper.virtualSize=-spaceBetween;
vendor: 4,217 bytes, line 14007
14007slides.forEach(slideEl=>{if(rtl){slideEl.style.marginLeft=""}else{slideEl.style.marginRight=""}slideEl.style.marginBottom="";slideEl.style.marginTop=""});if(params.centeredSlides&&params.cssMode){setCSSProperty(wrapperEl,"--swiper-centered-offset-before","");setCSSProperty(wrapperEl,"--swiper-centered-offset-after","")}const gridEnabled=params.grid&&params.grid.rows>1&&swiper.grid;if(gridEnabled){swiper.grid.initSlides(slides)}else if(swiper.grid){swiper.grid.unsetSlides()}let slideSize;const shouldResetSlideSize=params.slidesPerView==="auto"&&params.breakpoints&&Object.keys(params.breakpoints).filter(key=>{return typeof params.breakpoints[key].slidesPerView!=="undefined"}).length>0;for(let i=0;i<slidesLength;i+=1){slideSize=0;let slide;if(slides[i])slide=slides[i];if(gridEnabled){swiper.grid.updateSlide(i,slide,slides)}if(slides[i]&&elementStyle(slide,"display")==="none")continue;if(params.slidesPerView==="auto"){if(shouldResetSlideSize){slides[i].style[swiper.getDirectionLabel("width")]=``}const slideStyles=getComputedStyle(slide);const currentTransform=slide.style.transform;const currentWebKitTransform=slide.style.webkitTransform;if(currentTransform){slide.style.transform="none"}if(currentWebKitTransform){slide.style.webkitTransform="none"}if(params.roundLengths){slideSize=swiper.isHorizontal()?elementOuterSize(slide,"width",true):elementOuterSize(slide,"height",true)}else{const width=getDirectionPropertyValue(slideStyles,"width");const paddingLeft=getDirectionPropertyValue(slideStyles,"padding-left");const paddingRight=getDirectionPropertyValue(slideStyles,"padding-right");const marginLeft=getDirectionPropertyValue(slideStyles,"margin-left");const marginRight=getDirectionPropertyValue(slideStyles,"margin-right");const boxSizing=slideStyles.getPropertyValue("box-sizing");if(boxSizing&&boxSizing==="border-box"){slideSize=width+marginLeft+marginRight}else{const{clientWidth,offsetWidth}=slide;slideSize=width+paddingLeft+paddingRight+marginLeft+marginRight+(offsetWidth-clientWidth)}}if(currentTransform){slide.style.transform=currentTransform}if(currentWebKitTransform){slide.style.webkitTransform=currentWebKitTransform}if(params.roundLengths)slideSize=Math.floor(slideSize)}else{slideSize=(swiperSize-(params.slidesPerView-1)*spaceBetween)/params.slidesPerView;if(params.roundLengths)slideSize=Math.floor(slideSize);if(slides[i]){slides[i].style[swiper.getDirectionLabel("width")]=`${slideSize}px`}}if(slides[i]){slides[i].swiperSlideSize=slideSize}slidesSizesGrid.push(slideSize);if(params.centeredSlides){slidePosition=slidePosition+slideSize/2+prevSlideSize/2+spaceBetween;if(prevSlideSize===0&&i!==0)slidePosition=slidePosition-swiperSize/2-spaceBetween;if(i===0)slidePosition=slidePosition-swiperSize/2-spaceBetween;if(Math.abs(slidePosition)<1/1e3)slidePosition=0;if(params.roundLengths)slidePosition=Math.floor(slidePosition);if(index%params.slidesPerGroup===0)snapGrid.push(slidePosition);slidesGrid.push(slidePosition)}else{if(params.roundLengths)slidePosition=Math.floor(slidePosition);if((index-Math.min(swiper.params.slidesPerGroupSkip,index))%swiper.params.slidesPerGroup===0)snapGrid.push(slidePosition);slidesGrid.push(slidePosition);slidePosition=slidePosition+slideSize+spaceBetween}swiper.virtualSize+=slideSize+spaceBetween;prevSlideSize=slideSize;index+=1}swiper.virtualSize=Math.max(swiper.virtualSize,swiperSize)+offsetAfter;if(rtl&&wrongRTL&&(params.effect==="slide"||params.effect==="coverflow")){wrapperEl.style.width=`${swiper.virtualSize+spaceBetween}px`}if(params.setWrapperSize){wrapperEl.style[swiper.getDirectionLabel("width")]=`${swiper.virtualSize+spaceBetween}px`}if(gridEnabled){swiper.grid.updateWrapperSize(slideSize,snapGrid)}if(!params.centeredSlides){const newSlidesGrid=[];for(let i=0;i<snapGrid.length;i+=1){let slidesGridItem=snapGrid[i];if(params.roundLengths)slidesGridItem=Math.floor(slidesGridItem);if(snapGrid[i]<=swiper.virtualSize-swiperSize){newSlidesGrid.push(slidesGridItem)}}snapGrid=newSlidesGrid;if(Math.floor(swiper.virtualSize-swiperSize)-Math.floor(snapGrid[snapGrid.length-1])>1){snapGrid.push(swiper.virtualSize-swiperSize)}}if(isVirtual&&params.loop){const size=slidesSizesGrid[0]+spaceBetween;if(params.slidesPerGroup>
140071){const groups=Math.ceil((swiper.virtual.slidesBefore+swiper.virtual.slidesAfter)/params.slidesPerGroup);const groupSize=size*params.slidesPerGroup;for(let i=0;i<groups;i+=1){snapGrid.push(snapGrid[snapGrid.length-1]+groupSize)}}for(let i=0;i<swiper.virtual.slidesBefore+swiper.virtual.slidesAfter;i+=1){if(params.slidesPerGroup===1){snapGrid.push(snapGrid[snapGrid.length-1]+size)}slidesGrid.push(slidesGrid[slidesGrid.length-1]+size);swiper.virtualSize+=size}}if(snapGrid.length===0)snapGrid=[0];if(spaceBetween!==0){const key=swiper.isHorizontal()&&rtl?"marginLeft":swiper.getDirectionLabel("marginRight");slides.filter((_,slideIndex)=>{if(!params.cssMode||params.loop)return true;if(slideIndex===slides.length-1){return false}return true}).forEach(slideEl=>{slideEl.style[key]=`${spaceBetween}px`})}if(params.centeredSlides&&params.centeredSlidesBounds){let allSlidesSize=0;slidesSizesGrid.forEach(slideSizeValue=>{allSlidesSize+=slideSizeValue+(spaceBetween||0)});allSlidesSize-=spaceBetween;const maxSnap=allSlidesSize-swiperSize;snapGrid=snapGrid.map(snap=>{if(snap<=0)return-offsetBefore;if(snap>maxSnap)return maxSnap+offsetAfter;return snap})}if(params.centerInsufficientSlides){let allSlidesSize=0;
14007slidesSizesGrid.forEach(slideSizeValue=>{allSlidesSize+=slideSizeValue+(spaceBetween||0)});allSlidesSize-=spaceBetween;const offsetSize=(params.slidesOffsetBefore||0)+(params.slidesOffsetAfter||0);if(allSlidesSize+offsetSize<swiperSize){const allSlidesOffset=(swiperSize-allSlidesSize-offsetSize)/2;snapGrid.forEach((snap,snapIndex)=>{snapGrid[snapIndex]=snap-allSlidesOffset});slidesGrid.forEach((snap,snapIndex)=>{slidesGrid[snapIndex]=snap+allSlidesOffset})}}Object.assign(swiper,{slides:slides,snapGrid:snapGrid,slidesGrid:slidesGrid,slidesSizesGrid:slidesSizesGrid});if(params.centeredSlides&&params.cssMode&&!params.centeredSlidesBounds){setCSSProperty(wrapperEl,"--swiper-centered-offset-before",`${-snapGrid[0]}px`);setCSSProperty(wrapperEl,"--swiper-centered-offset-after",`${swiper.size/2-slidesSizesGrid[slidesSizesGrid.length-1]/2}px`);const addToSnapGrid=-swiper.snapGrid[0];const addToSlidesGrid=-swiper.slidesGrid[0];swiper.snapGrid=swiper.snapGrid.map(v=>v+addToSnapGrid);swiper.slidesGrid=swiper.slidesGrid.map(v=>v+addToSlidesGrid)}if(slidesLength!==previousSlidesLength){swiper.emit("slidesLengthChange")}if(snapGrid.length!==previousSnapGridLength){if(swiper.params.watchOverflow)swiper.checkOverflow();swiper.emit("snapGridLengthChange")}if(slidesGrid.length!==previousSlidesGridLength){swiper.emit("slidesGridLengthChange")}if(params.watchSlidesProgress){swiper.updateSlidesOffset()}swiper.emit("slidesUpdated");if(!isVirtual&&!params.cssMode&&(params.effect==="slide"||params.effect==="fade")){const backFaceHiddenClass=`${params.containerModifierClass}backface-hidden`;const hasClassBackfaceClassAdded=swiper.el.classList.contains(backFaceHiddenClass);if(slidesLength<=params.maxBackfaceHiddenSlides){if(!hasClassBackfaceClassAdded)swiper.el.classList.add(backFaceHiddenClass)}else if(hasClassBackfaceClassAdded){swiper.el.classList.remove(backFaceHiddenClass)}}}function updateAutoHeight(speed){const swiper=this;const activeSlides=[];const isVirtual=swiper.virtual&&swiper.params.virtual.enabled;let newHeight=0;let i;if(typeof speed==="number"){swiper.setTransition(speed)}else if(speed===true){swiper.setTransition(swiper.params.speed)}const getSlideByIndex=index=>{if(isVirtual){return swiper.slides[swiper.getSlideIndexByData(index)]}return swiper.slides[index]};if(swiper.params.slidesPerView!=="auto"&&swiper.params.slidesPerView>1){if(swiper.params.centeredSlides){(swiper.visibleSlides||[]).forEach(sli
14007de=>{activeSlides.push(slide)})}else{for(i=0;i<Math.ceil(swiper.params.slidesPerView);i+=1){const index=swiper.activeIndex+i;if(index>swiper.slides.length&&!isVirtual)break;activeSlides.push(getSlideByIndex(index))}}}else{activeSlides.push(getSlideByIndex(swiper.activeIndex))}for(i=0;i<activeSlides.length;i+=1){if(typeof activeSlides[i]!=="undefined"){const height=activeSlides[i].offsetHeight;newHeight=height>newHeight?height:newHeight}}if(newHeight||newHeight===0)swiper.wrapperEl.style.height=`${newHeight}px`}function updateSlidesOffset(){const swiper=this;const slides=swiper.slides;const minusOffset=swiper.isElement?swiper.isHorizontal()?swiper.wrapperEl.offsetLeft:swiper.wrapperEl.offsetTop:0;for(let i=0;i<slides.length;i+=1){slides[i].swiperSlideOffset=(swiper.isHorizontal()?slides[i].offsetLeft:slides[i].offsetTop)-minusOffset-swiper.cssOverflowAdjustment()}}const toggleSlideClasses$1=(slideEl,condition,className)=>{if(condition&&!slideEl.classList.contains(className)){slideEl.classList.add(className)}else if(!condition&&slideEl.classList.contains(className)){slideEl.classList.remove(className)}};function updateSlidesProgress(translate){if(translate===void 0){translate=this&&this.translate||0}const swiper=this;const params=swiper.params;const{slides,rtlTranslate:rtl,snapGrid}=swiper;if(slides.length===0)return;if(typeof slides[0].swiperSlideOffset==="undefined")swiper.updateSlidesOffset();let offsetCenter=-translate;if(rtl)offsetCenter=translate;swiper.visibleSlidesIndexes=[];swiper.visibleSlides=[];let spaceBetween=params.spaceBetween;if(typeof spaceBetween==="string"&&spaceBetween.indexOf("%")>=0){spaceBetween=parseFloat(spaceBetween.replace("%",""))/100*swiper.size}else if(typeof spaceBetween==="string"){spaceBetween=parseFloat(spaceBetween)}for(let i=0;i<slides.length;i+=1){const slide=slides[i];let slideOffset=slide.swiperSlideOffset;if(params.cssMode&&params.centeredSlides){slideOffset-=slides[0].swiperSlideOffset}const slideProgress=(offsetCenter+(params.centeredSlides?swiper.minTranslate():0)-slideOffset)/(slide.swiperSlideSize+spaceBetween);const originalSlideProgress=(offsetCenter-snapGrid[0]+(params.centeredSlides?swiper.minTranslate():0)-slideOffset)/(slide.swiperSlideSize+spaceBetween);const slideBefore=-(offsetCenter-slideOffset);const slideAfter=slideBefore+swiper.slidesSizesGrid[i];const isFullyVisible=slideBefore>=0&&slideBefore<=swiper.size-swiper.slidesSizesGrid[i];const isVisible=slideBefore>=0&&slideBefore<swiper.size-1||slideAfter>1&&slideAfter<=swiper.size||slideBefore<=0&&slideAfter>=swiper.size;if(isVisible){swiper.visibleSlides.push(slide);swiper.visibleSlidesIndexes.push(i)}
14007toggleSlideClasses$1(slide,isVisible,params.slideVisibleClass);toggleSlideClasses$1(slide,isFullyVisible,params.slideFullyVisibleClass);slide.progress=rtl?-slideProgress:slideProgress;slide.originalProgress=rtl?-originalSlideProgress:originalSlideProgress}}function updateProgress(translate){const swiper=this;if(typeof translate==="undefined"){const multiplier=swiper.rtlTranslate?-1:1;translate=swiper&&swiper.translate&&swiper.translate*multiplier||0}const params=swiper.params;const translatesDiff=swiper.maxTranslate()-swiper.minTranslate();let{progress,isBeginning,isEnd,progressLoop}=swiper;const wasBeginning=isBeginning;const wasEnd=isEnd;if(translatesDiff===0){progress=0;isBeginning=true;isEnd=true}else{progress=(translate-swiper.minTranslate())/translatesDiff;const isBeginningRounded=Math.abs(translate-swiper.minTranslate())<1;const isEndRounded=Math.abs(translate-swiper.maxTranslate())<1;isBeginning=isBeginningRounded||progress<=0;isEnd=isEndRounded||progress>=1;if(isBeginningRounded)progress=0;if(isEndRounded)progress=1}if(params.loop){const firstSlideIndex=swiper.getSlideIndexByData(0);const lastSlideIndex=swiper.getSlideIndexByData(swiper.slides.length-1);const firstSlideTranslate=swiper.slidesGrid[firstSlideIndex];const lastSlideTranslate=swiper.slidesGrid[lastSlideIndex];const translateMax=swiper.slidesGrid[swiper.slidesGrid.length-1];const translateAbs=Math.abs(translate);if(translateAbs>=firstSlideTranslate){progressLoop=(translateAbs-firstSlideTranslate)/translateMax}else{progressLoop=(translateAbs+translateMax-lastSlideTranslate)/translateMax}if(progressLoop>1)progressLoop-=1}Object.assign(swiper,{progress:progress,progressLoop:progressLoop,isBeginning:isBeginning,isEnd:isEnd});if(params.watchSlidesProgress||params.centeredSlides&&params.autoHeight)swiper.updateSlidesProgress(translate);if(isBeginning&&!wasBeginning){swiper.emit("reachBeginning toEdge")}if(isEnd&&!wasEnd){swiper.emit("reachEnd toEdge")}if(wasBeginning&&!isBeginning||wasEnd&&!isEnd){swiper.emit("fromEdge")}swiper.emit("progress",progress)}const toggleSlideClasses=(slideEl,condition,className)=>{if(condition&&!slideEl.classList.contains(className)){slideEl.classList.add(className)}else if(!condition&&slideEl.classList.contains(className)){slideEl.classList.remove(className)}};function updateSlidesClasses(){const swiper=this;const{slides,params,slidesEl,activeIndex}=swiper;const isVirtual=swiper.virtual&&params.virtual.enabled;const gridEnabled=swiper.grid&&params.grid&&params.grid.rows>1;const getFilteredSlide=selector=>{return elementChildren(slidesEl,`.${params.slideClass}${selector}, swiper-slide${selector}`)[0]};let activeSlide;let prevSlide;let nextSlide;if(isVirtual){if(params.loop){let slideIndex=activeIndex-swiper.virtual.slidesBefore;if(slideIndex<0)slideIndex=swiper.virtual.slides.length+slideIndex;if(slideIndex>=swiper.virtual.slides.length)slideIndex-=swiper.virtual.slides.length;activeSlide=getFilteredSlide(`[data-swiper-slide-index="${slideIndex}"]`)}else{activeSlide=getFilteredSlide(`[data-swiper-slide-index="${activeIndex}"]`)}}else{if(gridEnabled){activeSlide=slides.filter(slideEl=>slideEl.column===activeIndex)[0];nextSlide=slides.filter(slideEl=>slideEl.column===activeIndex+1)[0];prevSlide=slides.filter(slideEl=>slideEl.column===activeIndex-1)[0]}else{activeSlide=slides[activeIndex]}}if(activeSlide){if(!gridEnabled){nextSlide=elementNextAll(activeSlide,`.${params.slideClass}, swiper-slide`)[0];if(params.loop&&!nextSlide){nextSlide=slides[0]}prevSlide=elementPrevAll(activeSlide,`.${params.slideClass}, swiper-slide`)[0];if(params.loop&&!prevSlide===0){prevSlide=slides[slides.length-1]}}}
14007slides.forEach(slideEl=>{toggleSlideClasses(slideEl,slideEl===activeSlide,params.slideActiveClass);toggleSlideClasses(slideEl,slideEl===nextSlide,params.slideNextClass);toggleSlideClasses(slideEl,slideEl===prevSlide,params.slidePrevClass)});swiper.emitSlidesClasses()}const processLazyPreloader=(swiper,imageEl)=>{if(!swiper||swiper.destroyed||!swiper.params)return;const slideSelector=()=>swiper.isElement?`swiper-slide`:`.${swiper.params.slideClass}`;const slideEl=imageEl.closest(slideSelector());if(slideEl){let lazyEl=slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`);if(!lazyEl&&swiper.isElement){if(slideEl.shadowRoot){lazyEl=slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`)}else{requestAnimationFrame(()=>{if(slideEl.shadowRoot){lazyEl=slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);if(lazyEl)lazyEl.remove()}})}}if(lazyEl)lazyEl.remove()}};const unlazy=(swiper,index)=>{if(!swiper.slides[index])return;const imageEl=swiper.slides[index].querySelector('[loading="lazy"]');if(imageEl)imageEl.removeAttribute("loading")};const preload=swiper=>{if(!swiper||swiper.destroyed||!swiper.params)return;let amount=swiper.params.lazyPreloadPrevNext;const len=swiper.slides.length;if(!len||!amount||amount<0)return;amount=Math.min(amount,len);const slidesPerView=swiper.params.slidesPerView==="auto"?swiper.slidesPerViewDynamic():Math.ceil(swiper.params.slidesPerView);const activeIndex=swiper.activeIndex;if(swiper.params.grid&&swiper.params.grid.rows>1){const activeColumn=activeIndex;const preloadColumns=[activeColumn-amount];preloadColumns.push(...Array.from({length:amount}).map((_,i)=>{return activeColumn+slidesPerView+i}));swiper.slides.forEach((slideEl,i)=>{if(preloadColumns.includes(slideEl.column))unlazy(swiper,i)});return}const slideIndexLastInView=activeIndex+slidesPerView-1;if(swiper.params.rewind||swiper.params.loop){for(let i=activeIndex-amount;i<=slideIndexLastInView+amount;i+=1){const realIndex=(i%len+len)%len;if(realIndex<activeIndex||realIndex>slideIndexLastInView)unlazy(swiper,realIndex)}}else{for(let i=Math.max(activeIndex-amount,0);i<=Math.min(slideIndexLastInView+amount,len-1);i+=1){if(i!==activeIndex&&(i>slideIndexLastInView||i<activeIndex)){unlazy(swiper,i)}}}};function getActiveIndexByTranslate(swiper){const{slidesGrid,params}=swiper;const translate=swiper.rtlTranslate?swiper.translate:-swiper.translate;let activeIndex;for(let i=0;i<slidesGrid.length;i+=1){if(typeof slidesGrid[i+1]!=="undefined"){if(translate>=slidesGrid[i]&&translate<slidesGrid[i+1]-(slidesGrid[i+1]-slidesGrid[i])/2){activeIndex=i}else if(translate>=slidesGrid[i]&&translate<slidesGrid[i+1]){activeIndex=i+1}}else if(translate>=slidesGrid[i]){activeIndex=i}}if(params.normalizeSlideIndex){if(activeIndex<0||typeof activeIndex==="undefined")activeIndex=0}return activeIndex}function updateActiveIndex(newActiveIndex){const swiper=this;const translate=swiper.rtlTranslate?swiper.translate:-swiper.translate;const{snapGrid,params,activeIndex:previousIndex,realIndex:previousRealIndex,snapIndex:previousSnapIndex}=swiper;let activeIndex=newActiveIndex;let snapIndex;const getVirtualRealIndex=aIndex=>{let realIndex=aIndex-swiper.virtual.slidesBefore;if(realIndex<0){realIndex=swiper.virtual.slides.length+realIndex}if(realIndex>=swiper.virtual.slides.length){realIndex-=swiper.virtual.slides.length}return realIndex};if(typeof activeIndex==="undefined"){activeIndex=getActiveIndexByTranslate(swiper)}if(snapGrid.indexOf(translate)>=0){snapIndex=snapGrid.indexOf(translate)}else{const skip=Math.min(params.slidesPerGroupSkip,activeIndex);snapIndex=skip+Math.floor((activeIndex-skip)/params.slidesPerGroup)}if(snapIndex>=snapGrid.length)snapIndex=snapGrid.length-1;if(activeIndex===previousIndex&&!swiper.params.loop){if(snapIndex!==previousSnapIndex){swiper.snapIndex=snapIndex;swiper.emit("snapIndexChange")}return}if(activeIndex===previousIndex&&swiper.params.loop&&swiper.virtual&&swiper.params.virtual.enabled){swiper.realIndex=getVirtualRealIndex(activeIndex);return}const gridEnabled=swiper.grid&&params.grid&&params.grid.rows>1;let realIndex;if(swiper.virtual&&params.virtual.enabled&&params.loop){realIndex=getVirtualRealIndex(activeIndex)}else if(gridEnabled){const firstSlideInColumn=swiper.slides.filter(slideEl=>slideEl.column===activeIndex)[0];let activeSlideIndex=parseInt(firstSlideInColumn.getAttribute("data-swiper-slide-index"),10);if(Number.isNaN(activeSlideIndex)){activeSlideIndex=Math.max(swiper.slides.indexOf(firstSlideInColumn),0)}realIndex=Math.floor(activeSlideIndex/params.grid.rows)}
14007else if(swiper.slides[activeIndex]){const slideIndex=swiper.slides[activeIndex].getAttribute("data-swiper-slide-index");if(slideIndex){realIndex=parseInt(slideIndex,10)}else{realIndex=activeIndex}}else{realIndex=activeIndex}Object.assign(swiper,{previousSnapIndex:previousSnapIndex,snapIndex:snapIndex,previousRealIndex:previousRealIndex,realIndex:realIndex,previousIndex:previousIndex,activeIndex:activeIndex});if(swiper.initialized){preload(swiper)}swiper.emit("activeIndexChange");swiper.emit("snapIndexChange");if(swiper.initialized||swiper.params.runCallbacksOnInit){if(previousRealIndex!==realIndex){swiper.emit("realIndexChange")}swiper.emit("slideChange")}}function updateClickedSlide(el,path){const swiper=this;const params=swiper.params;let slide=el.closest(`.${params.slideClass}, swiper-slide`);if(!slide&&swiper.isElement&&path&&path.length>1&&path.includes(el)){[...path.slice(path.indexOf(el)+1,path.length)].forEach(pathEl=>{if(!slide&&pathEl.matches&&pathEl.matches(`.${params.slideClass}, swiper-slide`)){slide=pathEl}})}let slideFound=false;let slideIndex;if(slide){for(let i=0;i<swiper.slides.length;i+=1){if(swiper.slides[i]===slide){slideFound=true;slideIndex=i;break}}}if(slide&&slideFound){swiper.clickedSlide=slide;if(swiper.virtual&&swiper.params.virtual.enabled){swiper.clickedIndex=parseInt(slide.getAttribute("data-swiper-slide-index"),10)}else{swiper.clickedIndex=slideIndex}}else{swiper.clickedSlide=undefined;swiper.clickedIndex=undefined;return}if(params.slideToClickedSlide&&swiper.clickedIndex!==undefined&&swiper.clickedIndex!==swiper.activeIndex){swiper.slideToClickedSlide()}}var update={updateSize:updateSize,updateSlides:updateSlides,updateAutoHeight:updateAutoHeight,updateSlidesOffset:updateSlidesOffset,updateSlidesProgress:updateSlidesProgress,updateProgress:updateProgress,updateSlidesClasses:updateSlidesClasses,updateActiveIndex:updateActiveIndex,updateClickedSlide:updateClickedSlide};function getSwiperTranslate(axis){if(axis===void 0){axis=this.isHorizontal()?"x":"y"}const swiper=this;const{params,rtlTranslate:rtl,translate,wrapperEl}=swiper;if(params.virtualTranslate){return rtl?-translate:translate}if(params.cssMode){return translate}let currentTranslate=getTranslate(wrapperEl,axis);currentTranslate+=swiper.cssOverflowAdjustment();if(rtl)currentTranslate=-currentTranslate;return currentTranslate||0}function setTranslate(translate,byController){const swiper=this;const{rtlTranslate:rtl,params,wrapperEl,progress}=swiper;let x=0;let y=0;const z=0;if(swiper.isHorizontal()){x=rtl?-translate:translate}else{y=translate}if(params.roundLengths){x=Math.floor(x);y=Math.floor(y)}swiper.previousTranslate=swiper.translate;swiper.translate=swiper.isHorizontal()?x:y;if(params.cssMode){wrapperEl[swiper.isHorizontal()?"scrollLeft":"scrollTop"]=swiper.isHorizontal()?-x:-y}else if(!params.virtualTranslate){if(swiper.isHorizontal()){x-=swiper.cssOverflowAdjustment()}else{y-=swiper.cssOverflowAdjustment()}wrapperEl.style.transform=`translate3d(${x}px, ${y}px, ${z}px)`}let newProgress;const translatesDiff=swiper.maxTranslate()-swiper.minTranslate();if(translatesDiff===0){newProgress=0}else{newProgress=(translate-swiper.minTranslate())/translatesDiff}if(newProgress!==progress){swiper.updateProgress(translate)}swiper.emit("setTranslate",swiper.translate,byController)}function minTranslate(){return-this.snapGrid[0]}function maxTranslate(){return-this.snapGrid[this.snapGrid.length-1]}function translateTo(translate,speed,runCallbacks,translateBounds,internal){if(translate===void 0){translate=0}if(speed===void 0){speed=this.params.speed}if(runCallbacks===void 0){runCallbacks=true}if(translateBounds===void 0){translateBounds=true}const swiper=this;const{params,wrapperEl}=swiper;if(swiper.animating&&params.preventInteractionOnTransition){return false}const minTranslate=swiper.minTranslate();const maxTranslate=swiper.maxTranslate();let newTranslate;if(translateBounds&&translate>minTranslate)newTranslate=minTranslate;else if(translateBounds&&translate<maxTranslate)newTranslate=maxTranslate;else newTranslate=translate;swiper.updateProgress(newTranslate);
14007if(params.cssMode){const isH=swiper.isHorizontal();if(speed===0){wrapperEl[isH?"scrollLeft":"scrollTop"]=-newTranslate}else{if(!swiper.support.smoothScroll){animateCSSModeScroll({swiper:swiper,targetPosition:-newTranslate,side:isH?"left":"top"});return true}wrapperEl.scrollTo({[isH?"left":"top"]:-newTranslate,behavior:"smooth"})}return true}if(speed===0){swiper.setTransition(0);swiper.setTranslate(newTranslate);if(runCallbacks){swiper.emit("beforeTransitionStart",speed,internal);swiper.emit("transitionEnd")}}else{swiper.setTransition(speed);swiper.setTranslate(newTranslate);if(runCallbacks){swiper.emit("beforeTransitionStart",speed,internal);swiper.emit("transitionStart")}if(!swiper.animating){swiper.animating=true;if(!swiper.onTranslateToWrapperTransitionEnd){swiper.onTranslateToWrapperTransitionEnd=function transitionEnd(e){if(!swiper||swiper.destroyed)return;if(e.target!==this)return;swiper.wrapperEl.removeEventListener("transitionend",swiper.onTranslateToWrapperTransitionEnd);swiper.onTranslateToWrapperTransitionEnd=null;delete swiper.onTranslateToWrapperTransitionEnd;swiper.animating=false;if(runCallbacks){swiper.emit("transitionEnd")}}}swiper.wrapperEl.addEventListener("transitionend",swiper.onTranslateToWrapperTransitionEnd)}}return true}var translate={getTranslate:getSwiperTranslate,setTranslate:setTranslate,minTranslate:minTranslate,maxTranslate:maxTranslate,translateTo:translateTo};function setTransition(duration,byController){const swiper=this;if(!swiper.params.cssMode){swiper.wrapperEl.style.transitionDuration=`${duration}ms`;swiper.wrapperEl.style.transitionDelay=duration===0?`0ms`:""}swiper.emit("setTransition",duration,byController)}function transitionEmit(_ref){let{swiper,runCallbacks,direction,step}=_ref;const{activeIndex,previousIndex}=swiper;let dir=direction;if(!dir){if(activeIndex>previousIndex)dir="next";else if(activeIndex<previousIndex)dir="prev";else dir="reset"}swiper.emit(`transition${step}`);if(runCallbacks&&activeIndex!==previousIndex){if(dir==="reset"){swiper.emit(`slideResetTransition${step}`);return}swiper.emit(`slideChangeTransition${step}`);if(dir==="next"){swiper.emit(`slideNextTransition${step}`)}else{swiper.emit(`slidePrevTransition${step}`)}}}function transitionStart(runCallbacks,direction){if(runCallbacks===void 0){runCallbacks=true}const swiper=this;const{params}=swiper;if(params.cssMode)return;if(params.autoHeight){swiper.updateAutoHeight()}transitionEmit({swiper:swiper,runCallbacks:runCallbacks,direction:direction,step:"Start"})}function transitionEnd(runCallbacks,direction){if(runCallbacks===void 0){runCallbacks=true}const swiper=this;const{params}=swiper;swiper.animating=false;if(params.cssMode)return;swiper.setTransition(0);transitionEmit({swiper:swiper,runCallbacks:runCallbacks,direction:direction,step:"End"})}var transition={setTransition:setTransition,transitionStart:transitionStart,transitionEnd:transitionEnd};function slideTo(index,speed,runCallbacks,internal,initial){if(index===void 0){index=0}if(runCallbacks===void 0){runCallbacks=true}if(typeof index==="string"){index=parseInt(index,10)}const swiper=this;let slideIndex=index;if(slideIndex<0)slideIndex=0;const{params,snapGrid,slidesGrid,previousIndex,activeIndex,rtlTranslate:rtl,wrapperEl,enabled}=swiper;if(!enabled&&!internal&&!initial||swiper.destroyed||swiper.animating&&params.preventInteractionOnTransition){return false}if(typeof speed==="undefined"){speed=swiper.params.speed}const skip=Math.min(swiper.params.slidesPerGroupSkip,slideIndex);let snapIndex=skip+Math.floor((slideIndex-skip)/swiper.params.slidesPerGroup);if(snapIndex>=snapGrid.length)snapIndex=snapGrid.length-1;const translate=-snapGrid[snapIndex];if(params.normalizeSlideIndex){for(let i=0;i<slidesGrid.length;i+=1){const normalizedTranslate=-Math.floor(translate*100);const normalizedGrid=Math.floor(slidesGrid[i]*100);const normalizedGridNext=Math.floor(slidesGrid[i+1]*100);if(typeof slidesGrid[i+1]!=="undefined"){if(normalizedTranslate>=normalizedGrid&&normalizedTranslate<normalizedGridNext-(normalizedGridNext-normalizedGrid)/2){slideIndex=i}else if(normalizedTranslate>=normalizedGrid&&normalizedTranslate<normalizedGridNext){slideIndex=i+1}}else if(normalizedTranslate>=normalizedGrid){slideIndex=i}}}if(swiper.initialized&&slideIndex!==activeIndex){if(!swiper.allowSlideNext&&(rtl?translate>swiper.translate&&translate>swiper.minTranslate():translate<swiper.translate&&translate<swiper.minTranslate())){return false}if(!swiper.allowSlidePrev&&translate>swiper.translate&&translate>
14007swiper.maxTranslate()){if((activeIndex||0)!==slideIndex){return false}}}if(slideIndex!==(previousIndex||0)&&runCallbacks){swiper.emit("beforeSlideChangeStart")}swiper.updateProgress(translate);let direction;if(slideIndex>activeIndex)direction="next";else if(slideIndex<activeIndex)direction="prev";else direction="reset";if(rtl&&-translate===swiper.translate||!rtl&&translate===swiper.translate){swiper.updateActiveIndex(slideIndex);if(params.autoHeight){swiper.updateAutoHeight()}swiper.updateSlidesClasses();if(params.effect!=="slide"){swiper.setTranslate(translate)}if(direction!=="reset"){swiper.transitionStart(runCallbacks,direction);swiper.transitionEnd(runCallbacks,direction)}return false}if(params.cssMode){const isH=swiper.isHorizontal();const t=rtl?translate:-translate;if(speed===0){const isVirtual=swiper.virtual&&swiper.params.virtual.enabled;if(isVirtual){swiper.wrapperEl.style.scrollSnapType="none";swiper._immediateVirtual=true}if(isVirtual&&!swiper._cssModeVirtualInitialSet&&swiper.params.initialSlide>0){swiper._cssModeVirtualInitialSet=true;requestAnimationFrame(()=>{wrapperEl[isH?"scrollLeft":"scrollTop"]=t})}else{wrapperEl[isH?"scrollLeft":"scrollTop"]=t}if(isVirtual){requestAnimationFrame(()=>{swiper.wrapperEl.style.scrollSnapType="";swiper._immediateVirtual=false})}}else{if(!swiper.support.smoothScroll){animateCSSModeScroll({swiper:swiper,targetPosition:t,side:isH?"left":"top"});return true}wrapperEl.scrollTo({[isH?"left":"top"]:t,behavior:"smooth"})}return true}swiper.setTransition(speed);swiper.setTranslate(translate);swiper.updateActiveIndex(slideIndex);swiper.updateSlidesClasses();swiper.emit("beforeTransitionStart",speed,internal);swiper.transitionStart(runCallbacks,direction);if(speed===0){swiper.transitionEnd(runCallbacks,direction)}else if(!swiper.animating){swiper.animating=true;if(!swiper.onSlideToWrapperTransitionEnd){swiper.onSlideToWrapperTransitionEnd=function transitionEnd(e){if(!swiper||swiper.destroyed)return;if(e.target!==this)return;swiper.wrapperEl.removeEventListener("transitionend",swiper.onSlideToWrapperTransitionEnd);swiper.onSlideToWrapperTransitionEnd=null;delete swiper.onSlideToWrapperTransitionEnd;swiper.transitionEnd(runCallbacks,direction)}}swiper.wrapperEl.addEventListener("transitionend",swiper.onSlideToWrapperTransitionEnd)}return true}function slideToLoop(index,speed,runCallbacks,internal){if(index===void 0){index=0}if(runCallbacks===void 0){runCallbacks=true}if(typeof index==="string"){const indexAsNumber=parseInt(index,10);index=indexAsNumber}const swiper=this;if(swiper.destroyed)return;if(typeof speed==="undefined"){speed=swiper.params.speed}const gridEnabled=swiper.grid&&swiper.params.grid&&swiper.params.grid.rows>1;let newIndex=index;if(swiper.params.loop){if(swiper.virtual&&swiper.params.virtual.enabled){newIndex=newIndex+swiper.virtual.slidesBefore}else{let targetSlideIndex;if(gridEnabled){const slideIndex=newIndex*swiper.params.grid.rows;targetSlideIndex=swiper.slides.filter(slideEl=>slideEl.getAttribute("data-swiper-slide-index")*1===slideIndex)[0].column}else{targetSlideIndex=swiper.getSlideIndexByData(newIndex)}const cols=gridEnabled?Math.ceil(swiper.slides.length/swiper.params.grid.rows):swiper.slides.length;const{centeredSlides}=swiper.params;let slidesPerView=swiper.params.slidesPerView;if(slidesPerView==="auto"){slidesPerView=swiper.slidesPerViewDynamic()}else{slidesPerView=Math.ceil(parseFloat(swiper.params.slidesPerView,10));if(centeredSlides&&slidesPerView%2===0){slidesPerView=slidesPerView+1}}let needLoopFix=cols-targetSlideIndex<slidesPerView;if(centeredSlides){needLoopFix=needLoopFix||targetSlideIndex<Math.ceil(slidesPerView/2)}if(internal&&centeredSlides&&swiper.params.slidesPerView!=="auto"&&!gridEnabled){needLoopFix=false}if(needLoopFix){const direction=centeredSlides?targetSlideIndex<swiper.activeIndex?"prev":"next":targetSlideIndex-swiper.activeIndex-1<swiper.params.slidesPerView?"next":"prev";swiper.loopFix({direction:direction,slideTo:true,activeSlideIndex:direction==="next"?targetSlideIndex+1:targetSlideIndex-cols+1,slideRealIndex:direction==="next"?swiper.realIndex:undefined})}if(gridEnabled){const slideIndex=newIndex*swiper.params.grid.rows;
14007newIndex=swiper.slides.filter(slideEl=>slideEl.getAttribute("data-swiper-slide-index")*1===slideIndex)[0].column}else{newIndex=swiper.getSlideIndexByData(newIndex)}}}requestAnimationFrame(()=>{swiper.slideTo(newIndex,speed,runCallbacks,internal)});return swiper}function slideNext(speed,runCallbacks,internal){if(runCallbacks===void 0){runCallbacks=true}const swiper=this;const{enabled,params,animating}=swiper;if(!enabled||swiper.destroyed)return swiper;if(typeof speed==="undefined"){speed=swiper.params.speed}let perGroup=params.slidesPerGroup;if(params.slidesPerView==="auto"&&params.slidesPerGroup===1&&params.slidesPerGroupAuto){perGroup=Math.max(swiper.slidesPerViewDynamic("current",true),1)}const increment=swiper.activeIndex<params.slidesPerGroupSkip?1:perGroup;const isVirtual=swiper.virtual&&params.virtual.enabled;if(params.loop){if(animating&&!isVirtual&&params.loopPreventsSliding)return false;swiper.loopFix({direction:"next"});swiper._clientLeft=swiper.wrapperEl.clientLeft;if(swiper.activeIndex===swiper.slides.length-1&&params.cssMode){requestAnimationFrame(()=>{swiper.slideTo(swiper.activeIndex+increment,speed,runCallbacks,internal)});return true}}if(params.rewind&&swiper.isEnd){return swiper.slideTo(0,speed,runCallbacks,internal)}return swiper.slideTo(swiper.activeIndex+increment,speed,runCallbacks,internal)}function slidePrev(speed,runCallbacks,internal){if(runCallbacks===void 0){runCallbacks=true}const swiper=this;const{params,snapGrid,slidesGrid,rtlTranslate,enabled,animating}=swiper;if(!enabled||swiper.destroyed)return swiper;if(typeof speed==="undefined"){speed=swiper.params.speed}const isVirtual=swiper.virtual&&params.virtual.enabled;if(params.loop){if(animating&&!isVirtual&&params.loopPreventsSliding)return false;swiper.loopFix({direction:"prev"});swiper._clientLeft=swiper.wrapperEl.clientLeft}const translate=rtlTranslate?swiper.translate:-swiper.translate;function normalize(val){if(val<0)return-Math.floor(Math.abs(val));return Math.floor(val)}const normalizedTranslate=normalize(translate);const normalizedSnapGrid=snapGrid.map(val=>normalize(val));let prevSnap=snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate)-1];if(typeof prevSnap==="undefined"&&params.cssMode){let prevSnapIndex;snapGrid.forEach((snap,snapIndex)=>{if(normalizedTranslate>=snap){prevSnapIndex=snapIndex}});if(typeof prevSnapIndex!=="undefined"){prevSnap=snapGrid[prevSnapIndex>0?prevSnapIndex-1:prevSnapIndex]}}let prevIndex=0;if(typeof prevSnap!=="undefined"){prevIndex=slidesGrid.indexOf(prevSnap);if(prevIndex<0)prevIndex=swiper.activeIndex-1;if(params.slidesPerView==="auto"&&params.slidesPerGroup===1&&params.slidesPerGroupAuto){prevIndex=prevIndex-swiper.slidesPerViewDynamic("previous",true)+1;prevIndex=Math.max(prevIndex,0)}}if(params.rewind&&swiper.isBeginning){const lastIndex=swiper.params.virtual&&swiper.params.virtual.enabled&&swiper.virtual?swiper.virtual.slides.length-1:swiper.slides.length-1;return swiper.slideTo(lastIndex,speed,runCallbacks,internal)}else if(params.loop&&swiper.activeIndex===0&&params.cssMode){requestAnimationFrame(()=>{swiper.slideTo(prevIndex,speed,runCallbacks,internal)});return true}return swiper.slideTo(prevIndex,speed,runCallbacks,internal)}function slideReset(speed,runCallbacks,internal){if(runCallbacks===void 0){runCallbacks=true}const swiper=this;if(swiper.destroyed)return;if(typeof speed==="undefined"){speed=swiper.params.speed}return swiper.slideTo(swiper.activeIndex,speed,runCallbacks,internal)}function slideToClosest(speed,runCallbacks,internal,threshold){if(runCallbacks===void 0){runCallbacks=true}if(threshold===void 0){threshold=.5}const swiper=this;if(swiper.destroyed)return;if(typeof speed==="undefined"){speed=swiper.params.speed}let index=swiper.activeIndex;const skip=Math.min(swiper.params.slidesPerGroupSkip,index);const snapIndex=skip+Math.floor((index-skip)/swiper.params.slidesPerGroup);const translate=swiper.rtlTranslate?swiper.translate:-swiper.translate;if(translate>=swiper.snapGrid[snapIndex]){const currentSnap=swiper.snapGrid[snapIndex];const nextSnap=swiper.snapGrid[snapIndex+1];if(translate-currentSnap>(nextSnap-currentSnap)*threshold){index+=swiper.params.slidesPerGroup}}else{const prevSnap=swiper.snapGrid[snapIndex-1];const currentSnap=swiper.snapGrid[snapIndex];if(translate-prevSnap<=(currentSnap-prevSnap)*threshold){index-=swiper.params.slidesPerGroup}}index=Math.max(index,0);index=Math.min(index,swiper.slidesGrid.length-1);return swiper.slideTo(index,speed,runCallbacks,internal)}function slideToClickedSlide(){const swiper=this;if(swiper.destroyed)return;const{params,slidesEl}=swiper;const slidesPerView=params.slidesPerView==="auto"?swiper.slidesPerViewDynamic():params.slidesPerView;let slideToIndex=swiper.clickedIndex;let realIndex;const slideSelector=swiper.isElement?`swiper-slide`:`.${params.slideClass}`;if(params.loop){if(swiper.animating)return;realIndex=parseInt(swiper.clickedSlide.getAttribute("data-swiper-slide-index"),10);if(params.centeredSlides){if(slideToIndex<swiper.loopedSlides-slidesPerView/2||slideToIndex>swiper.slides.length-swiper.loopedSlides+slidesPerView/2){swiper.loopFix();slideToIndex=swiper.getSlideIndex(elementChildren(slidesEl,`${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);nextTick(()=>{swiper.slideTo(slideToIndex)})}else{swiper.slideTo(slideToIndex)}}else if(slideToIndex>swiper.slides.length-slidesPerView){swiper.loopFix();slideToIndex=swiper.getSlideIndex(elementChildren(slidesEl,`${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);nextTick(()=>{swiper.slideTo(slideToIndex)})}else{swiper.slideTo(slideToIndex)}}else{swiper.slideTo(slideToIndex)}}var slide={slideTo:slideTo,slideToLoop:slideToLoop,slideNext:slideNext,slidePrev:slidePrev,slideReset:slideReset,slideToClosest:slideToClosest,slideToClickedSlide:slideToClickedSlide};function loopCreate(slideRealIndex){const swiper=this;const{params,slidesEl}=swiper;if(!params.loop||swiper.virtual&&swiper.params.virtual.enabled)return;const initSlides=()=>{const slides=elementChildren(slidesEl,`.${params.slideClass}, swiper-slide`);
14007slides.forEach((el,index)=>{el.setAttribute("data-swiper-slide-index",index)})};const gridEnabled=swiper.grid&&params.grid&&params.grid.rows>1;const slidesPerGroup=params.slidesPerGroup*(gridEnabled?params.grid.rows:1);const shouldFillGroup=swiper.slides.length%slidesPerGroup!==0;const shouldFillGrid=gridEnabled&&swiper.slides.length%params.grid.rows!==0;const addBlankSlides=amountOfSlides=>{for(let i=0;i<amountOfSlides;i+=1){const slideEl=swiper.isElement?createElement("swiper-slide",[params.slideBlankClass]):createElement("div",[params.slideClass,params.slideBlankClass]);swiper.slidesEl.append(slideEl)}};if(shouldFillGroup){if(params.loopAddBlankSlides){const slidesToAdd=slidesPerGroup-swiper.slides.length%slidesPerGroup;addBlankSlides(slidesToAdd);swiper.recalcSlides();swiper.updateSlides()}else{showWarning("Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)")}initSlides()}else if(shouldFillGrid){if(params.loopAddBlankSlides){const slidesToAdd=params.grid.rows-swiper.slides.length%params.grid.rows;addBlankSlides(slidesToAdd);swiper.recalcSlides();swiper.updateSlides()}else{showWarning("Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)")}initSlides()}else{initSlides()}
14007swiper.loopFix({slideRealIndex:slideRealIndex,direction:params.centeredSlides?undefined:"next"})}function loopFix(_temp){let{slideRealIndex,slideTo=true,direction,setTranslate,activeSlideIndex,byController,byMousewheel}=_temp===void 0?{}:_temp;const swiper=this;if(!swiper.params.loop)return;swiper.emit("beforeLoopFix");const{slides,allowSlidePrev,allowSlideNext,slidesEl,params}=swiper;const{centeredSlides}=params;swiper.allowSlidePrev=true;swiper.allowSlideNext=true;if(swiper.virtual&&params.virtual.enabled){if(slideTo){if(!params.centeredSlides&&swiper.snapIndex===0){swiper.slideTo(swiper.virtual.slides.length,0,false,true)}else if(params.centeredSlides&&swiper.snapIndex<params.slidesPerView){swiper.slideTo(swiper.virtual.slides.length+swiper.snapIndex,0,false,true)}else if(swiper.snapIndex===swiper.snapGrid.length-1){swiper.slideTo(swiper.virtual.slidesBefore,0,false,true)}}swiper.allowSlidePrev=allowSlidePrev;swiper.allowSlideNext=allowSlideNext;swiper.emit("loopFix");return}let slidesPerView=params.slidesPerView;if(slidesPerView==="auto"){slidesPerView=swiper.slidesPerViewDynamic()}else{slidesPerView=Math.ceil(parseFloat(params.slidesPerView,10));if(centeredSlides&&slidesPerView%2===0){slidesPerView=slidesPerView+1}}const slidesPerGroup=params.slidesPerGroupAuto?slidesPerView:params.slidesPerGroup;let loopedSlides=slidesPerGroup;if(loopedSlides%slidesPerGroup!==0){loopedSlides+=slidesPerGroup-loopedSlides%slidesPerGroup}loopedSlides+=params.loopAdditionalSlides;swiper.loopedSlides=loopedSlides;const gridEnabled=swiper.grid&&params.grid&&params.grid.rows>1;if(slides.length<slidesPerView+loopedSlides){showWarning("Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled and not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters")}else if(gridEnabled&&params.grid.fill==="row"){showWarning("Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`")}const prependSlidesIndexes=[];const appendSlidesIndexes=[];let activeIndex=swiper.activeIndex;if(typeof activeSlideIndex==="undefined"){activeSlideIndex=swiper.getSlideIndex(slides.filter(el=>el.classList.contains(params.slideActiveClass))[0])}else{activeIndex=activeSlideIndex}const isNext=direction==="next"||!direction;const isPrev=direction==="prev"||!direction;let slidesPrepended=0;let slidesAppended=0;const cols=gridEnabled?Math.ceil(slides.length/params.grid.rows):slides.length;const activeColIndex=gridEnabled?slides[activeSlideIndex].column:activeSlideIndex;const activeColIndexWithShift=activeColIndex+(centeredSlides&&typeof setTranslate==="undefined"?-slidesPerView/2+.5:0);if(activeColIndexWithShift<loopedSlides){slidesPrepended=Math.max(loopedSlides-activeColIndexWithShift,slidesPerGroup);for(let i=0;i<loopedSlides-activeColIndexWithShift;i+=1){const index=i-Math.floor(i/cols)*cols;if(gridEnabled){const colIndexToPrepend=cols-index-1;for(let i=slides.length-1;i>=0;i-=1){if(slides[i].column===colIndexToPrepend)prependSlidesIndexes.push(i)}}else{prependSlidesIndexes.push(cols-index-1)}}}else if(activeColIndexWithShift+slidesPerView>cols-loopedSlides){slidesAppended=Math.max(activeColIndexWithShift-(cols-loopedSlides*2),slidesPerGroup);for(let i=0;i<slidesAppended;i+=1){const index=i-Math.floor(i/cols)*cols;if(gridEnabled){slides.forEach((slide,slideIndex)=>{if(slide.column===index)appendSlidesIndexes.push(slideIndex)})}else{appendSlidesIndexes.push(index)}}}swiper.__preventObserver__=true;requestAnimationFrame(()=>{swiper.__preventObserver__=false});if(isPrev){prependSlidesIndexes.forEach(index=>{slides[index].swiperLoopMoveDOM=true;slidesEl.prepend(slides[index]);slides[index].swiperLoopMoveDOM=false})}if(isNext){appendSlidesIndexes.forEach(index=>{slides[index].swiperLoopMoveDOM=true;slidesEl.append(slides[index]);slides[index].swiperLoopMoveDOM=false})}swiper.recalcSlides();if(params.slidesPerView==="auto"){swiper.updateSlides()}else if(gridEnabled&&(prependSlidesIndexes.length>0&&isPrev||appendSlidesIndexes.length>
140070&&isNext)){swiper.slides.forEach((slide,slideIndex)=>{swiper.grid.updateSlide(slideIndex,slide,swiper.slides)})}if(params.watchSlidesProgress){swiper.updateSlidesOffset()}if(slideTo){if(prependSlidesIndexes.length>0&&isPrev){if(typeof slideRealIndex==="undefined"){const currentSlideTranslate=swiper.slidesGrid[activeIndex];const newSlideTranslate=swiper.slidesGrid[activeIndex+slidesPrepended];const diff=newSlideTranslate-currentSlideTranslate;if(byMousewheel){swiper.setTranslate(swiper.translate-diff)}else{swiper.slideTo(activeIndex+Math.ceil(slidesPrepended),0,false,true);if(setTranslate){swiper.touchEventsData.startTranslate=swiper.touchEventsData.startTranslate-diff;swiper.touchEventsData.currentTranslate=swiper.touchEventsData.currentTranslate-diff}}}else{if(setTranslate){const shift=gridEnabled?prependSlidesIndexes.length/params.grid.rows:prependSlidesIndexes.length;swiper.slideTo(swiper.activeIndex+shift,0,false,true);swiper.touchEventsData.currentTranslate=swiper.translate}}}else if(appendSlidesIndexes.length>0&&isNext){if(typeof slideRealIndex==="undefined"){const currentSlideTranslate=swiper.slidesGrid[activeIndex];const newSlideTranslate=swiper.slidesGrid[activeIndex-slidesAppended];const diff=newSlideTranslate-currentSlideTranslate;if(byMousewheel){swiper.setTranslate(swiper.translate-diff)}else{swiper.slideTo(activeIndex-slidesAppended,0,false,true);if(setTranslate){swiper.touchEventsData.startTranslate=swiper.touchEventsData.startTranslate-diff;swiper.touchEventsData.currentTranslate=swiper.touchEventsData.currentTranslate-diff}}}else{const shift=gridEnabled?appendSlidesIndexes.length/params.grid.rows:appendSlidesIndexes.length;swiper.slideTo(swiper.activeIndex-shift,0,false,true)}}}swiper.allowSlidePrev=allowSlidePrev;swiper.allowSlideNext=allowSlideNext;if(swiper.controller&&swiper.controller.control&&!byController){const loopParams={slideRealIndex:sli
14007deRealIndex,direction:direction,setTranslate:setTranslate,activeSlideIndex:activeSlideIndex,byController:true};if(Array.isArray(swiper.controller.control)){swiper.controller.control.forEach(c=>{if(!c.destroyed&&c.params.loop)c.loopFix({...loopParams,slideTo:c.params.slidesPerView===params.slidesPerView?slideTo:false})})}else if(swiper.controller.control instanceof swiper.constructor&&swiper.controller.control.params.loop){swiper.controller.control.loopFix({...loopParams,slideTo:swiper.controller.control.params.slidesPerView===params.slidesPerView?slideTo:false})}}swiper.emit("loopFix")}function loopDestroy(){const swiper=this;const{params,slidesEl}=swiper;if(!params.loop||swiper.virtual&&swiper.params.virtual.enabled)return;swiper.recalcSlides();const newSlidesOrder=[];swiper.slides.forEach(slideEl=>{const index=typeof slideEl.swiperSlideIndex==="undefined"?slideEl.getAttribute("data-swiper-slide-index")*1:slideEl.swiperSlideIndex;newSlidesOrder[index]=slideEl});swiper.slides.forEach(slideEl=>{slideEl.removeAttribute("data-swiper-slide-index")});newSlidesOrder.forEach(slideEl=>{slidesEl.append(slideEl)});swiper.recalcSlides();swiper.slideTo(swiper.realIndex,0)}var loop={loopCreate:loopCreate,loopFix:loopFix,loopDestroy:loopDestroy};function setGrabCursor(moving){const swiper=this;if(!swiper.params.simulateTouch||swiper.params.watchOverflow&&swiper.isLocked||swiper.params.cssMode)return;const el=swiper.params.touchEventsTarget==="container"?swiper.el:swiper.wrapperEl;
14007if(swiper.isElement){swiper.__preventObserver__=true}el.style.cursor="move";el.style.cursor=moving?"grabbing":"grab";if(swiper.isElement){requestAnimationFrame(()=>{swiper.__preventObserver__=false})}}function unsetGrabCursor(){const swiper=this;if(swiper.params.watchOverflow&&swiper.isLocked||swiper.params.cssMode){return}if(swiper.isElement){swiper.__preventObserver__=true}swiper[swiper.params.touchEventsTarget==="container"?"el":"wrapperEl"].style.cursor="";if(swiper.isElement){requestAnimationFrame(()=>{swiper.__preventObserver__=false})}}var grabCursor={setGrabCursor:setGrabCursor,unsetGrabCursor:unsetGrabCursor};function closestElement(selector,base){if(base===void 0){base=this}function __closestFrom(el){if(!el||el===getDocument()||el===getWindow())return null;if(el.assignedSlot)el=el.assignedSlot;const found=el.closest(selector);if(!found&&!el.getRootNode){return null}return found||__closestFrom(el.getRootNode().host)}return __closestFrom(base)}function preventEdgeSwipe(swiper,event,startX){const window=getWindow();const{params}=swiper;const edgeSwipeDetection=params.edgeSwipeDetection;const edgeSwipeThreshold=params.edgeSwipeThreshold;if(edgeSwipeDetection&&(startX<=edgeSwipeThreshold||startX>=window.innerWidth-edgeSwipeThreshold)){if(edgeSwipeDetection==="prevent"){event.preventDefault();return true}return false}return true}function onTouchStart(event){const swiper=this;const document=getDocument();let e=event;if(e.originalEvent)e=e.originalEvent;const data=swiper.touchEventsData;if(e.type==="pointerdown"){if(data.pointerId!==null&&data.pointerId!==e.pointerId){return}data.pointerId=e.pointerId}else if(e.type==="touchstart"&&e.targetTouches.length===1){data.touchId=e.targetTouches[0].identifier}if(e.type==="touchstart"){preventEdgeSwipe(swiper,e,e.targetTouches[0].pageX);return}const{params,touches,enabled}=swiper;if(!enabled)return;if(!params.simulateTouch&&e.pointerType==="mouse")return;if(swiper.animating&&params.preventInteractionOnTransition){return}if(!swiper.animating&&params.cssMode&&params.loop){swiper.loopFix()}let targetEl=e.target;if(params.touchEventsTarget==="wrapper"){if(!elementIsChildOf(targetEl,swiper.wrapperEl))return}if("which"in e&&e.which===3)return;if("button"in e&&e.button>0)return;if(data.isTouched&&data.isMoved)return;const swipingClassHasValue=!!params.noSwipingClass&&params.noSwipingClass!=="";const eventPath=e.composedPath?e.composedPath():e.path;if(swipingClassHasValue&&e.target&&e.target.shadowRoot&&eventPath){targetEl=eventPath[0]}const noSwipingSelector=params.noSwipingSelector?params.noSwipingSelector:`.${params.noSwipingClass}`;const isTargetShadow=!!(e.target&&e.target.shadowRoot);if(params.noSwiping&&(isTargetShadow?closestElement(noSwipingSelector,targetEl):targetEl.closest(noSwipingSelector))){swiper.allowClick=true;return}if(params.swipeHandler){if(!targetEl.closest(params.swipeHandler))return}touches.currentX=e.pageX;touches.currentY=e.pageY;const startX=touches.currentX;const startY=touches.currentY;if(!preventEdgeSwipe(swiper,e,startX)){return}Object.assign(data,{isTouched:true,isMoved:false,allowTouchCallbacks:true,isScrolling:undefined,startMoving:undefined});touches.startX=startX;touches.startY=startY;data.touchStartTime=now();swiper.allowClick=true;swiper.updateSize();swiper.swipeDirection=undefined;if(params.threshold>0)data.allowThresholdMove=false;let preventDefault=true;if(targetEl.matches(data.focusableElements)){preventDefault=false;if(targetEl.nodeName==="SELECT"){data.isTouched=false}}if(document.activeElement&&document.activeElement.matches(data.focusableElements)&&document.activeElement!==targetEl){document.activeElement.blur()}const shouldPreventDefault=preventDefault&&swiper.allowTouchMove&&params.touchStartPreventDefault;if((params.touchStartForcePreventDefault||shouldPreventDefault)&&!targetEl.isContentEditable){e.preventDefault()}if(params.freeMode&&params.freeMode.enabled&&swiper.freeMode&&swiper.animating&&!params.cssMode){swiper.freeMode.onTouchStart()}swiper.emit("touchStart",e)}function onTouchMove(event){const document=getDocument();const swiper=this;const data=swiper.touchEventsData;const{params,touches,rtlTranslate:rtl,enabled}=swiper;if(!enabled)return;if(!params.simulateTouch&&event.pointerType==="mouse")return;let e=event;if(e.originalEvent)e=e.originalEvent;if(e.type==="pointermove"){if(data.touchId!==null)return;const id=e.pointerId;if(id!==data.pointerId)return}let targetTouch;if(e.type==="touchmove"){targetTouch=[...e.changedTouches].filter(t=>t.identifier===data.touchId)[0];if(!targetTouch||targetTouch.identifier!==data.touchId)return}else{targetTouch=e}if(!data.isTouched){if(data.startMoving&&data.isScrolling){swiper.emit("touchMoveOpposite",e)}return}const pageX=targetTouch.pageX;const pageY=targetTouch.pageY;if(e.preventedByNestedSwiper){touches.startX=pageX;touches.startY=pageY;return}if(!swiper.allowTouchMove){if(!e.target.matches(data.focusableElements)){swiper.allowClick=false}if(data.isTouched){Object.assign(touches,{startX:pageX,startY:pageY,currentX:pageX,currentY:pageY});data.touchStartTime=now()}return}if(params.touchReleaseOnEdges&&!params.loop){if(swiper.isVertical()){if(pageY<touches.startY&&swiper.translate<=swiper.maxTranslate()||pageY>touches.startY&&swiper.translate>=swiper.minTranslate()){data.isTouched=false;data.isMoved=false;return}}else if(pageX<touches.startX&&swiper.translate<=swiper.maxTranslate()||pageX>touches.startX&&swiper.translate>=swiper.minTranslate()){return}}if(document.activeElement){if(e.target===document.activeElement&&e.target.matches(data.focusableElements)){data.isMoved=true;swiper.allowClick=false;return}}if(data.allowTouchCallbacks){swiper.emit("touchMove",e)}
14007touches.previousX=touches.currentX;touches.previousY=touches.currentY;touches.currentX=pageX;touches.currentY=pageY;const diffX=touches.currentX-touches.startX;const diffY=touches.currentY-touches.startY;if(swiper.params.threshold&&Math.sqrt(diffX**2+diffY**2)<swiper.params.threshold)return;if(typeof data.isScrolling==="undefined"){let touchAngle;if(swiper.isHorizontal()&&touches.currentY===touches.startY||swiper.isVertical()&&touches.currentX===touches.startX){data.isScrolling=false}else{if(diffX*diffX+diffY*diffY>=25){touchAngle=Math.atan2(Math.abs(diffY),Math.abs(diffX))*180/Math.PI;data.isScrolling=swiper.isHorizontal()?touchAngle>params.touchAngle:90-touchAngle>params.touchAngle}}}if(data.isScrolling){swiper.emit("touchMoveOpposite",e)}if(typeof data.startMoving==="undefined"){if(touches.currentX!==touches.startX||touches.currentY!==touches.startY){data.startMoving=true}}if(data.isScrolling||e.type==="touchmove"&&data.preventTouchMoveFromPointerMove){data.isTouched=false;return}if(!data.startMoving){return}swiper.allowClick=false;if(!params.cssMode&&e.cancelable){e.preventDefault()}if(params.touchMoveStopPropagation&&!params.nested){e.stopPropagation()}let diff=swiper.isHorizontal()?diffX:diffY;let touchesDiff=swiper.isHorizontal()?touches.currentX-touches.previousX:touches.currentY-touches.previousY;if(params.oneWayMovement){diff=Math.abs(diff)*(rtl?1:-1);touchesDiff=Math.abs(touchesDiff)*(rtl?1:-1)}touches.diff=diff;diff*=params.touchRatio;if(rtl){diff=-diff;touchesDiff=-touchesDiff}const prevTouchesDirection=swiper.touchesDirection;swiper.swipeDirection=diff>0?"prev":"next";swiper.touchesDirection=touchesDiff>0?"prev":"next";const isLoop=swiper.params.loop&&!params.cssMode;const allowLoopFix=swiper.touchesDirection==="next"&&swiper.allowSlideNext||swiper.touchesDirection==="prev"&&swiper.allowSlidePrev;if(!data.isMoved){if(isLoop&&allowLoopFix){swiper.loopFix({direction:swiper.swipeDirection})}data.startTranslate=swiper.getTranslate();swiper.setTransition(0);if(swiper.animating){const evt=new window.CustomEvent("transitionend",{bubbles:true,cancelable:true,detail:{bySwiperTouchMove:true}});swiper.wrapperEl.dispatchEvent(evt)}data.allowMomentumBounce=false;if(params.grabCursor&&(swiper.allowSlideNext===true||swiper.allowSlidePrev===true)){swiper.setGrabCursor(true)}swiper.emit("sliderFirstMove",e)}let loopFixed;(new Date).getTime();if(data.isMoved&&data.allowThresholdMove&&prevTouchesDirection!==swiper.touchesDirection&&isLoop&&allowLoopFix&&Math.abs(diff)>=1){Object.assign(touches,{startX:pageX,startY:pageY,currentX:pageX,currentY:pageY,startTranslate:data.currentTranslate});data.loopSwapReset=true;data.startTranslate=data.currentTranslate;return}swiper.emit("sliderMove",e);data.isMoved=true;data.currentTranslate=diff+data.startTranslate;let disableParentSwiper=true;let resistanceRatio=params.resistanceRatio;if(params.touchReleaseOnEdges){resistanceRatio=0}if(diff>0){if(isLoop&&allowLoopFix&&!loopFixed&&data.allowThresholdMove&&data.currentTranslate>(params.centeredSlides?swiper.minTranslate()-swiper.slidesSizesGrid[swiper.activeIndex+1]-(params.slidesPerView!=="auto"&&swiper.slides.length-params.slidesPerView>=2?swiper.slidesSizesGrid[swiper.activeIndex+1]+swiper.params.spaceBetween:0)-swiper.params.spaceBetween:swiper.minTranslate())){swiper.loopFix({direction:"prev",setTranslate:true,activeSlideIndex:0})}if(data.currentTranslate>swiper.minTranslate()){disableParentSwiper=false;if(params.resistance){data.currentTranslate=swiper.minTranslate()-1+(-swiper.minTranslate()+data.startTranslate+diff)**resistanceRatio}}}else if(diff<0){if(isLoop&&allowLoopFix&&!loopFixed&&data.allowThresholdMove&&data.currentTranslate<(params.centeredSlides?swiper.maxTranslate()+swiper.slidesSizesGrid[swiper.slidesSizesGrid.length-1]+swiper.params.spaceBetween+(params.slidesPerView!=="auto"&&swiper.slides.length-params.slidesPerView>=2?swiper.slidesSizesGrid[swiper.slidesSizesGrid.length-1]+swiper.params.spaceBetween:0):swiper.maxTranslate())){swiper.loopFix({direction:"next",setTranslate:true,activeSlideIndex:swiper.slides.length-(params.slidesPerView==="auto"?swiper.slidesPerViewDynamic():Math.ceil(parseFloat(params.slidesPerView,10)))})}if(data.currentTranslate<swiper.maxTranslate()){disableParentSwiper=false;if(params.resistance){data.currentTranslate=swiper.maxTranslate()+1-(swiper.maxTranslate()-data.startTranslate-diff)**resistanceRatio}}}if(disableParentSwiper){e.preventedByNestedSwiper=true}if(!swiper.allowSlideNext&&swiper.swipeDirection==="next"&&data.currentTranslate<data.startTranslate){data.currentTranslate=data.startTranslate}if(!swiper.allowSlidePrev&&swiper.swipeDirection==="prev"&&data.currentTranslate>data.startTranslate){data.currentTranslate=data.startTranslate}if(!swiper.allowSlidePrev&&!swiper.allowSlideNext){data.currentTranslate=data.startTranslate}if(params.threshold>0){if(Math.abs(diff)>params.threshold||data.allowThresholdMove){if(!data.allowThresholdMove){data.allowThresholdMove=true;touches.startX=touches.currentX;touches.startY=touches.currentY;data.currentTranslate=data.startTranslate;touches.diff=swiper.isHorizontal()?touches.currentX-touches.startX:touches.currentY-touches.startY;return}}else{data.currentTranslate=data.startTranslate;return}}if(!params.followFinger||params.cssMode)return;if(params.freeMode&&params.freeMode.enabled&&swiper.freeMode||params.watchSlidesProgress){swiper.updateActiveIndex();swiper.updateSlidesClasses()}if(params.freeMode&&params.freeMode.enabled&&swiper.freeMode){swiper.freeMode.onTouchMove()}swiper.updateProgress(data.currentTranslate);swiper.setTranslate(data.currentTranslate)}function onTouchEnd(event){const swiper=this;const data=swiper.touchEventsData;let e=event;if(e.originalEvent)e=e.originalEvent;let targetTouch;const isTouchEvent=e.type==="touchend"||e.type==="touchcancel";if(!isTouchEvent){if(data.touchId!==null)return;if(e.pointerId!==data.pointerId)return;targetTouch=e}else{targetTouch=[...e.changedTouches].filter(t=>t.identifier===data.touchId)[0];if(!targetTouch||targetTouch.identifier!==data.touchId)return}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(e.type)){const proceed=["pointercancel","contextmenu"].includes(e.type)&&(swiper.browser.isSafari||swiper.browser.isWebView);if(!proceed){return}}data.pointerId=null;data.touchId=null;const{params,touches,rtlTranslate:rtl,slidesGrid,enabled}=swiper;if(!enabled)return;if(!params.simulateTouch&&e.pointerType==="mouse")return;if(data.allowTouchCallbacks){swiper.emit("touchEnd",e)}data.allowTouchCallbacks=false;if(!data.isTouched){if(data.isMoved&&params.grabCursor){swiper.setGrabCursor(false)}data.isMoved=false;data.startMoving=false;return}if(params.grabCursor&&data.isMoved&&data.isTouched&&(swiper.allowSlideNext===true||swiper.allowSlidePrev===true)){swiper.setGrabCursor(false)}const touchEndTime=now();const timeDiff=touchEndTime-data.touchStartTime;if(swiper.allowClick){const pathTree=e.path||e.composedPath&&e.composedPath();swiper.updateClickedSlide(pathTree&&pathTree[0]||e.target,pathTree);swiper.emit("tap click",e);if(timeDiff<300&&touchEndTime-data.lastClickTime<300){swiper.emit("doubleTap doubleClick",e)}}data.lastClickTime=now();nextTick(()=>
vendor: 4,753 bytes, line 14007
14007{if(!swiper.destroyed)swiper.allowClick=true});if(!data.isTouched||!data.isMoved||!swiper.swipeDirection||touches.diff===0&&!data.loopSwapReset||data.currentTranslate===data.startTranslate&&!data.loopSwapReset){data.isTouched=false;data.isMoved=false;data.startMoving=false;return}data.isTouched=false;data.isMoved=false;data.startMoving=false;let currentPos;if(params.followFinger){currentPos=rtl?swiper.translate:-swiper.translate}else{currentPos=-data.currentTranslate}if(params.cssMode){return}if(params.freeMode&&params.freeMode.enabled){swiper.freeMode.onTouchEnd({currentPos:currentPos});return}const swipeToLast=currentPos>=-swiper.maxTranslate()&&!swiper.params.loop;let stopIndex=0;let groupSize=swiper.slidesSizesGrid[0];for(let i=0;i<slidesGrid.length;i+=i<params.slidesPerGroupSkip?1:params.slidesPerGroup){const increment=i<params.slidesPerGroupSkip-1?1:params.slidesPerGroup;if(typeof slidesGrid[i+increment]!=="undefined"){if(swipeToLast||currentPos>=slidesGrid[i]&&currentPos<slidesGrid[i+increment]){stopIndex=i;groupSize=slidesGrid[i+increment]-slidesGrid[i]}}else if(swipeToLast||currentPos>=slidesGrid[i]){stopIndex=i;groupSize=slidesGrid[slidesGrid.length-1]-slidesGrid[slidesGrid.length-2]}}let rewindFirstIndex=null;let rewindLastIndex=null;if(params.rewind){if(swiper.isBeginning){rewindLastIndex=params.virtual&&params.virtual.enabled&&swiper.virtual?swiper.virtual.slides.length-1:swiper.slides.length-1}else if(swiper.isEnd){rewindFirstIndex=0}}const ratio=(currentPos-slidesGrid[stopIndex])/groupSize;const increment=stopIndex<params.slidesPerGroupSkip-1?1:params.slidesPerGroup;if(timeDiff>params.longSwipesMs){if(!params.longSwipes){swiper.slideTo(swiper.activeIndex);return}if(swiper.swipeDirection==="next"){if(ratio>=params.longSwipesRatio)swiper.slideTo(params.rewind&&swiper.isEnd?rewindFirstIndex:stopIndex+increment);else swiper.slideTo(stopIndex)}if(swiper.swipeDirection==="prev"){if(ratio>1-params.longSwipesRatio){swiper.slideTo(stopIndex+increment)}else if(rewindLastIndex!==null&&ratio<0&&Math.abs(ratio)>params.longSwipesRatio){swiper.slideTo(rewindLastIndex)}else{swiper.slideTo(stopIndex)}}}else{if(!params.shortSwipes){swiper.slideTo(swiper.activeIndex);return}const isNavButtonTarget=swiper.navigation&&(e.target===swiper.navigation.nextEl||e.target===swiper.navigation.prevEl);if(!isNavButtonTarget){if(swiper.swipeDirection==="next"){swiper.slideTo(rewindFirstIndex!==null?rewindFirstIndex:stopIndex+increment)}if(swiper.swipeDirection==="prev"){swiper.slideTo(rewindLastIndex!==null?rewindLastIndex:stopIndex)}}else if(e.target===swiper.navigation.nextEl){swiper.slideTo(stopIndex+increment)}else{swiper.slideTo(stopIndex)}}}function onResize(){const swiper=this;const{params,el}=swiper;if(el&&el.offsetWidth===0)return;if(params.breakpoints){swiper.setBreakpoint()}const{allowSlideNext,allowSlidePrev,snapGrid}=swiper;const isVirtual=swiper.virtual&&swiper.params.virtual.enabled;swiper.allowSlideNext=true;swiper.allowSlidePrev=true;swiper.updateSize();swiper.updateSlides();swiper.updateSlidesClasses();const isVirtualLoop=isVirtual&&params.loop;if((params.slidesPerView==="auto"||params.slidesPerView>1)&&swiper.isEnd&&!swiper.isBeginning&&!swiper.params.centeredSlides&&!isVirtualLoop){swiper.slideTo(swiper.slides.length-1,0,false,true)}else{if(swiper.params.loop&&!isVirtual){swiper.slideToLoop(swiper.realIndex,0,false,true)}else{swiper.slideTo(swiper.activeIndex,0,false,true)}}if(swiper.autoplay&&swiper.autoplay.running&&swiper.autoplay.paused){clearTimeout(swiper.autoplay.resizeTimeout);swiper.autoplay.resizeTimeout=setTimeout(()=>{if(swiper.autoplay&&swiper.autoplay.running&&swiper.autoplay.paused){swiper.autoplay.resume()}},500)}swiper.allowSlidePrev=allowSlidePrev;swiper.allowSlideNext=allowSlideNext;if(swiper.params.watchOverflow&&snapGrid!==swiper.snapGrid){swiper.checkOverflow()}}function onClick(e){const swiper=this;if(!swiper.enabled)return;if(!swiper.allowClick){if(swiper.params.preventClicks)e.preventDefault();if(swiper.params.preventClicksPropagation&&swiper.animating){e.stopPropagation();e.stopImmediatePropagation()}}}function onScroll(){const swiper=this;const{wrapperEl,rtlTranslate,enabled}=swiper;if(!enabled)return;swiper.previousTranslate=swiper.translate;if(swiper.isHorizontal()){swiper.translate=-wrapperEl.scrollLeft}else{swiper.translate=-wrapperEl.scrollTop}if(swiper.translate===0)swiper.translate=0;swiper.updateActiveIndex();swiper.updateSlidesClasses();let newProgress;const translatesDiff=swiper.maxTranslate()-swiper.minTranslate();if(translatesDiff===0){newProgress=0}else{newProgress=(swiper.translate-swiper.minTranslate())/translatesDiff}if(newProgress!==swiper.progress){swiper.updateProgress(rtlTranslate?-swiper.translate:swiper.translate)}
14007swiper.emit("setTranslate",swiper.translate,false)}function onLoad(e){const swiper=this;processLazyPreloader(swiper,e.target);if(swiper.params.cssMode||swiper.params.slidesPerView!=="auto"&&!swiper.params.autoHeight){return}swiper.update()}function onDocumentTouchStart(){const swiper=this;if(swiper.documentTouchHandlerProceeded)return;swiper.documentTouchHandlerProceeded=true;if(swiper.params.touchReleaseOnEdges){swiper.el.style.touchAction="auto"}}const events=(swiper,method)=>{const document=getDocument();const{params,el,wrapperEl,device}=swiper;const capture=!!params.nested;const domMethod=method==="on"?"addEventListener":"removeEventListener";const swiperMethod=method;if(!el||typeof el==="string")return;document[domMethod]("touchstart",swiper.onDocumentTouchStart,{passive:false,capture:capture});el[domMethod]("touchstart",swiper.onTouchStart,{passive:false});el[domMethod]("pointerdown",swiper.onTouchStart,{passive:false});document[domMethod]("touchmove",swiper.onTouchMove,{passive:false,capture:capture});document[domMethod]("pointermove",swiper.onTouchMove,{passive:false,capture:capture});document[domMethod]("touchend",swiper.onTouchEnd,{passive:true});document[domMethod]("pointerup",swiper.onTouchEnd,{passive:true});document[domMethod]("pointercancel",swiper.onTouchEnd,{passive:true});document[domMethod]("touchcancel",swiper.onTouchEnd,{passive:true});document[domMethod]("pointerout",swiper.onTouchEnd,{passive:true});document[domMethod]("pointerleave",swiper.onTouchEnd,{passive:true});document[domMethod]("contextmenu",swiper.onTouchEnd,{passive:true});if(params.preventClicks||params.preventClicksPropagation){el[domMethod]("click",swiper.onClick,true)}if(params.cssMode){wrapperEl[domMethod]("scroll",swiper.onScroll)}if(params.updateOnWindowResize){swiper[swiperMethod](device.ios||device.android?"resize orientationchange observerUpdate":"resize observerUpdate",onResize,true)}else{swiper[swiperMethod]("observerUpdate",onResize,true)}el[domMethod]("load",swiper.onLoad,{capture:true})};function attachEvents(){const swiper=this;const{params}=swiper;swiper.onTouchStart=onTouchStart.bind(swiper);swiper.onTouchMove=onTouchMove.bind(swiper);swiper.onTouchEnd=onTouchEnd.bind(swiper);swiper.onDocumentTouchStart=onDocumentTouchStart.bind(swiper);if(params.cssMode){swiper.onScroll=onScroll.bind(swiper)}swiper.onClick=onClick.bind(swiper);swiper.onLoad=onLoad.bind(swiper);events(swiper,"on")}function detachEvents(){const swiper=this;events(swiper,"off")}var events$1={attachEvents:attachEvents,detachEvents:detachEvents};const isGridEnabled=(swiper,params)=>{return swiper.grid&&params.grid&&params.grid.rows>1};function setBreakpoint(){const swiper=this;const{realIndex,initialized,params,el}=swiper;const breakpoints=params.breakpoints;if(!breakpoints||breakpoints&&Object.keys(breakpoints).length===0)return;const breakpoint=swiper.getBreakpoint(breakpoints,swiper.params.breakpointsBase,swiper.el);if(!breakpoint||swiper.currentBreakpoint===breakpoint)return;const breakpointOnlyParams=breakpoint in breakpoints?breakpoints[breakpoint]:undefined;const breakpointParams=breakpointOnlyParams||swiper.originalParams;const wasMultiRow=isGridEnabled(swiper,params);const isMultiRow=isGridEnabled(swiper,breakpointParams);const wasGrabCursor=swiper.params.grabCursor;const isGrabCursor=breakpointParams.grabCursor;const wasEnabled=params.enabled;if(wasMultiRow&&!isMultiRow){el.classList.remove(`${params.containerModifierClass}grid`,`${params.containerModifierClass}grid-column`);swiper.emitContainerClasses()}else if(!wasMultiRow&&isMultiRow){el.classList.add(`${params.containerModifierClass}grid`);if(breakpointParams.grid.fill&&breakpointParams.grid.fill==="column"||!breakpointParams.grid.fill&&params.grid.fill==="column"){el.classList.add(`${params.containerModifierClass}grid-column`)}swiper.emitContainerClasses()}if(wasGrabCursor&&!isGrabCursor){swiper.unsetGrabCursor()}else if(!wasGrabCursor&&isGrabCursor){swiper.setGrabCursor()}["navigation","pagination","scrollbar"].forEach(prop=>{if(typeof breakpointParams[prop]==="undefined")return;const wasModuleEnabled=params[prop]&&params[prop].enabled;const isModuleEnabled=breakpointParams[prop]&&breakpointParams[prop].enabled;if(wasModuleEnabled&&!isModuleEnabled){swiper[prop].disable()}if(!wasModuleEnabled&&isModuleEnabled){swiper[prop].enable()}});const directionChanged=breakpointParams.direction&&breakpointParams.direction!==params.direction;const needsReLoop=params.loop&&(breakpointParams.slidesPerView!==params.slidesPerView||directionChanged);const wasLoop=params.loop;if(directionChanged&&initialized){swiper.changeDirection()}extend(swiper.params,breakpointParams);const isEnabled=swiper.params.enabled;const hasLoop=swiper.params.loop;Object.assign(swiper,{allowTouchMove:swiper.params.allowTouchMove,allowSlideNext:swiper.params.allowSlideNext,allowSlidePrev:swiper.params.allowSlidePrev});if(wasEnabled&&!isEnabled){swiper.disable()}else if(!wasEnabled&&isEnabled){swiper.enable()}swiper.currentBreakpoint=breakpoint;swiper.emit("_beforeBreakpoint",breakpointParams);if(initialized){if(needsReLoop){swiper.loopDestroy();swiper.loopCreate(realIndex);swiper.updateSlides()}else if(!wasLoop&&hasLoop){swiper.loopCreate(realIndex);swiper.updateSlides()}else if(wasLoop&&!hasLoop){swiper.loopDestroy()}}swiper.emit("breakpoint",breakpointParams)}
14007function getBreakpoint(breakpoints,base,containerEl){if(base===void 0){base="window"}if(!breakpoints||base==="container"&&!containerEl)return undefined;let breakpoint=false;const window=getWindow();const currentHeight=base==="window"?window.innerHeight:containerEl.clientHeight;const points=Object.keys(breakpoints).map(point=>{if(typeof point==="string"&&point.indexOf("@")===0){const minRatio=parseFloat(point.substr(1));const value=currentHeight*minRatio;return{value:value,point:point}}return{value:point,point:point}});points.sort((a,b)=>parseInt(a.value,10)-parseInt(b.value,10));for(let i=0;i<points.length;i+=1){const{point,value}=points[i];if(base==="window"){if(window.matchMedia(`(min-width: ${value}px)`).matches){breakpoint=point}}else if(value<=containerEl.clientWidth){breakpoint=point}}return breakpoint||"max"}var breakpoints={setBreakpoint:setBreakpoint,getBreakpoint:getBreakpoint};function prepareClasses(entries,prefix){const resultClasses=[];entries.forEach(item=>{if(typeof item==="object"){Object.keys(item).forEach(classNames=>{if(item[classNames]){resultClasses.push(prefix+classNames)}})}else if(typeof item==="string"){resultClasses.push(prefix+item)}});return resultClasses}function addClasses(){const swiper=this;const{classNames,params,rtl,el,device}=swiper;const suffixes=prepareClasses(["initialized",params.direction,{"free-mode":swiper.params.freeMode&&params.freeMode.enabled},{autoheight:params.autoHeight},{rtl:rtl},{grid:params.grid&&params.grid.rows>1},{"grid-column":params.grid&&params.grid.rows>1&&params.grid.fill==="column"},{android:device.android},{ios:device.ios},{"css-mode":params.cssMode},{centered:params.cssMode&&params.centeredSlides},{"watch-progress":params.watchSlidesProgress}],params.containerModifierClass);classNames.push(...suffixes);el.classList.add(...classNames);swiper.emitContainerClasses()}function removeClasses(){const swiper=this;const{el,classNames}=swiper;if(!el||typeof el==="string")return;el.classList.remove(...classNames);swiper.emitContainerClasses()}var classes={addClasses:addClasses,removeClasses:removeClasses};function checkOverflow(){const swiper=this;const{isLocked:wasLocked,params}=swiper;const{slidesOffsetBefore}=params;if(slidesOffsetBefore){const lastSlideIndex=swiper.slides.length-1;const lastSlideRightEdge=swiper.slidesGrid[lastSlideIndex]+swiper.slidesSizesGrid[lastSlideIndex]+slidesOffsetBefore*2;swiper.isLocked=swiper.size>lastSlideRightEdge}else{swiper.isLocked=swiper.snapGrid.length===1}if(params.allowSlideNext===true){swiper.allowSlideNext=!swiper.isLocked}if(params.allowSlidePrev===true){swiper.allowSlidePrev=!swiper.isLocked}if(wasLocked&&wasLocked!==swiper.isLocked){swiper.isEnd=false}if(wasLocked!==swiper.isLocked){swiper.emit(swiper.isLocked?"lock":"unlock")}}var checkOverflow$1={checkOverflow:checkOverflow};var defaults={init:true,direction:"horizontal",oneWayMovement:false,swiperElementNodeName:"SWIPER-CONTAINER",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:false,updateOnWindowResize:true,resizeObserver:true,nested:false,createElements:false,eventsPrefix:"swiper",enabled:true,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:false,userAgent:null,url:null,edgeSwipeDetection:false,edgeSwipeThreshold:20,autoHeight:false,setWrapperSize:false,virtualTranslate:false,effect:"slide",breakpoints:undefined,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:false,centeredSlides:false,centeredSlidesBounds:false,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:true,centerInsufficientSlides:false,watchOverflow:true,roundLengths:false,touchRatio:1,touchAngle:45,simulateTouch:true,shortSwipes:true,longSwipes:true,longSwipesRatio:.5,longSwipesMs:300,followFinger:true,allowTouchMove:true,threshold:5,touchMoveStopPropagation:false,touchStartPreventDefault:true,touchStartForcePreventDefault:false,touchReleaseOnEdges:false,uniqueNavElements:true,resistance:true,resistanceRatio:.85,watchSlidesProgress:false,grabCursor:false,preventClicks:true,preventClicksPropagation:true,slideToClickedSlide:false,loop:false,loopAddBlankSlides:true,loopAdditionalSlides:0,loopPreventsSliding:true,rewind:false,allowSlidePrev:true,allowSlideNext:true,swipeHandler:null,noSwiping:true,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:true,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-blank",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideFullyVisibleClass:"swiper-slide-fully-visible",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",lazyPreloaderClass:"swiper-lazy-preloader",lazyPreloadPrevNext:0,runCallbacksOnInit:true,_emitClasses:false};function moduleExtendParams(params,allModulesParams){return function extendParams(obj){if
14007(obj===void 0){obj={}}const moduleParamName=Object.keys(obj)[0];const moduleParams=obj[moduleParamName];if(typeof moduleParams!=="object"||moduleParams===null){extend(allModulesParams,obj);return}if(params[moduleParamName]===true){params[moduleParamName]={enabled:true}}if(moduleParamName==="navigation"&&params[moduleParamName]&&params[moduleParamName].enabled&&!params[moduleParamName].prevEl&&!params[moduleParamName].nextEl){params[moduleParamName].auto=true}if(["pagination","scrollbar"].indexOf(moduleParamName)>=0&&params[moduleParamName]&&params[moduleParamName].enabled&&!params[moduleParamName].el){params[moduleParamName].auto=true}if(!(moduleParamName in params&&"enabled"in moduleParams)){extend(allModulesParams,obj);return}if(typeof params[moduleParamName]==="object"&&!("enabled"in params[moduleParamName])){params[moduleParamName].enabled=true}if(!params[moduleParamName])params[moduleParamName]={enabled:false};extend(allModulesParams,obj)}}const prototypes={eventsEmitter:eventsEmitter,update:update,translate:translate,transition:transition,slide:slide,loop:loop,grabCursor:grabCursor,events:events$1,breakpoints:breakpoints,checkOverflow:checkOverflow$1,classes:classes};const extendedDefaults={};class Swiper{constructor(){let el;let params;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}
vendor: 1,390 bytes, line 14007
14007if(args.length===1&&args[0].constructor&&Object.prototype.toString.call(args[0]).slice(8,-1)==="Object"){params=args[0]}else{[el,params]=args}if(!params)params={};params=extend({},params);if(el&&!params.el)params.el=el;const document=getDocument();if(params.el&&typeof params.el==="string"&&document.querySelectorAll(params.el).length>1){const swipers=[];document.querySelectorAll(params.el).forEach(containerEl=>{const newParams=extend({},params,{el:containerEl});swipers.push(new Swiper(newParams))});return swipers}const swiper=this;swiper.__swiper__=true;swiper.support=getSupport();swiper.device=getDevice({userAgent:params.userAgent});swiper.browser=getBrowser();swiper.eventsListeners={};swiper.eventsAnyListeners=[];swiper.modules=[...swiper.__modules__];if(params.modules&&Array.isArray(params.modules)){swiper.modules.push(...params.modules)}const allModulesParams={};swiper.modules.forEach(mod=>{mod({params:params,swiper:swiper,extendParams:moduleExtendParams(params,allModulesParams),on:swiper.on.bind(swiper),once:swiper.once.bind(swiper),off:swiper.off.bind(swiper),emit:swiper.emit.bind(swiper)})});const swiperParams=extend({},defaults,allModulesParams);swiper.params=extend({},swiperParams,extendedDefaults,params);swiper.originalParams=extend({},swiper.params);swiper.passedParams=extend({},params);if(swiper.params&&swiper.params.on){Object.keys(swiper.params.on).forEac
14007h(eventName=>{swiper.on(eventName,swiper.params.on[eventName])})}if(swiper.params&&swiper.params.onAny){swiper.onAny(swiper.params.onAny)}Object.assign(swiper,{enabled:swiper.params.enabled,el:el,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal(){return swiper.params.direction==="horizontal"},isVertical(){return swiper.params.direction==="vertical"},activeIndex:0,realIndex:0,isBeginning:true,isEnd:false,translate:0,previousTranslate:0,progress:0,velocity:0,animating:false,cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23},allowSlideNext:swiper.params.allowSlideNext,allowSlidePrev:swiper.params.allowSlidePrev,touchEventsData:{isTouched:undefined,isMoved:undefined,allowTouchCallbacks:undefined,touchStartTime:undefined,isScrolling:undefined,currentTranslate:undefined,startTranslate:undefined,allowThresholdMove:undefined,focusableElements:swiper.params.focusableElements,lastClickTime:0,clickTimeout:undefined,velocities:[],allowMomentumBounce:undefined,startMoving:undefined,pointerId:null,touchId:null},allowClick:true,allowTouchMove:swiper.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0});swiper.emit("_swiper");if(swiper.params.init){swiper.init()}return swiper}getDirectionLabel(property){if(this.isHorizontal()){return property}return{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[property]}getSlideIndex(slideEl){const{slidesEl,params}=this;const slides=elementChildren(slidesEl,`.${params.slideClass}, swiper-slide`);const firstSlideIndex=elementIndex(slides[0]);return elementIndex(slideEl)-firstSlideIndex}getSlideIndexByData(index){return this.getSlideIndex(this.slides.filter(slideEl=>slideEl.getAttribute("data-swiper-slide-index")*1===index)[0])}recalcSlides(){const swiper=this;const{slidesEl,params}=swiper;swiper.slides=elementChildren(slidesEl,`.${params.slideClass}, swiper-slide`)}enable(){const swiper=this;if(swiper.enabled)return;swiper.enabled=true;if(swiper.params.grabCursor){swiper.setGrabCursor()}swiper.emit("enable")}disable(){const swiper=this;if(!swiper.enabled)return;swiper.enabled=false;if(swiper.params.grabCursor){swiper.unsetGrabCursor()}swiper.emit("disable")}setProgress(progress,speed){const swiper=this;progress=Math.min(Math.max(progress,0),1);const min=swiper.minTranslate();const max=swiper.maxTranslate();const current=(max-min)*progress+min;swiper.translateTo(current,typeof speed==="undefined"?0:speed);swiper.updateActiveIndex();swiper.updateSlidesClasses()}emitContainerClasses(){const swiper=this;if(!swiper.params._emitClasses||!swiper.el)return;const cls=swiper.el.className.split(" ").filter(className=>{return className.indexOf("swiper")===0||className.indexOf(swiper.params.containerModifierClass)===0});swiper.emit("_containerClasses",cls.join(" "))}getSlideClasses(slideEl){const swiper=this;if(swiper.destroyed)return"";return slideEl.className.split(" ").filter(className=>{return className.indexOf("swiper-slide")===0||className.indexOf(swiper.params.slideClass)===0}).join(" ")}emitSlidesClasses(){const swiper=this;if(!swiper.params._emitClasses||!swiper.el)return;const updates=[];
14007swiper.slides.forEach(slideEl=>{const classNames=swiper.getSlideClasses(slideEl);updates.push({slideEl:slideEl,classNames:classNames});swiper.emit("_slideClass",slideEl,classNames)});swiper.emit("_slideClasses",updates)}slidesPerViewDynamic(view,exact){if(view===void 0){view="current"}if(exact===void 0){exact=false}const swiper=this;const{params,slides,slidesGrid,slidesSizesGrid,size:swiperSize,activeIndex}=swiper;let spv=1;if(typeof params.slidesPerView==="number")return params.slidesPerView;if(params.centeredSlides){let slideSize=slides[activeIndex]?Math.ceil(slides[activeIndex].swiperSlideSize):0;let breakLoop;for(let i=activeIndex+1;i<slides.length;i+=1){if(slides[i]&&!breakLoop){slideSize+=Math.ceil(slides[i].swiperSlideSize);spv+=1;if(slideSize>swiperSize)breakLoop=true}}for(let i=activeIndex-1;i>=0;i-=1){if(slides[i]&&!breakLoop){slideSize+=slides[i].swiperSlideSize;spv+=1;if(slideSize>swiperSize)breakLoop=true}}}else{if(view==="current"){for(let i=activeIndex+1;i<slides.length;i+=1){const slideInView=exact?slidesGrid[i]+slidesSizesGrid[i]-slidesGrid[activeIndex]<swiperSize:slidesGrid[i]-slidesGrid[activeIndex]<swiperSize;if(slideInView){spv+=1}}}else{for(let i=activeIndex-1;i>=0;i-=1){const slideInView=slidesGrid[activeIndex]-slidesGrid[i]<swiperSize;if(slideInView){spv+=1}}}}return spv}update(){const swiper=this;if(!swiper||swiper.destroyed)return;const{snapGrid,params}=swiper;if(params.breakpoints){swiper.setBreakpoint()}[...swiper.el.querySelectorAll('[loading="lazy"]')].forEach(imageEl=>{if(imageEl.complete){processLazyPreloader(swiper,imageEl)}});swiper.updateSize();swiper.updateSlides();swiper.updateProgress();swiper.updateSlidesClasses();function setTranslate(){const translateValue=swiper.rtlTranslate?swiper.translate*-1:swiper.translate;const newTranslate=Math.min(Math.max(translateValue,swiper.maxTranslate()),swiper.minTranslate());swiper.setTranslate(newTranslate);swiper.updateActiveIndex();swiper.updateSlidesClasses()}let translated;if(params.freeMode&&params.freeMode.enabled&&!params.cssMode){setTranslate();if(params.autoHeight){swiper.updateAutoHeight()}}else{if((params.slidesPerView==="auto"||params.slidesPerView>1)&&swiper.isEnd&&!params.centeredSlides){const slides=swiper.virtual&&params.virtual.enabled?swiper.virtual.slides:swiper.slides;translated=swiper.slideTo(slides.length-1,0,false,true)}else{translated=swiper.slideTo(swiper.activeIndex,0,false,true)}if(!translated){setTranslate()}}if(params.watchOverflow&&snapGrid!==swiper.snapGrid){swiper.checkOverflow()}swiper.emit("update")}changeDirection(newDirection,needUpdate){if(needUpdate===void 0){needUpdate=true}const swiper=this;const currentDirection=swiper.params.direction;if(!newDirection){newDirection=currentDirection==="horizontal"?"vertical":"horizontal"}if(newDirection===currentDirection||newDirection!=="horizontal"&&newDirection!=="vertical"){return swiper}swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`);swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`);swiper.emitContainerClasses();swiper.params.direction=newDirection;
14007swiper.slides.forEach(slideEl=>{if(newDirection==="vertical"){slideEl.style.width=""}else{slideEl.style.height=""}});swiper.emit("changeDirection");if(needUpdate)swiper.update();return swiper}changeLanguageDirection(direction){const swiper=this;if(swiper.rtl&&direction==="rtl"||!swiper.rtl&&direction==="ltr")return;swiper.rtl=direction==="rtl";swiper.rtlTranslate=swiper.params.direction==="horizontal"&&swiper.rtl;if(swiper.rtl){swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`);swiper.el.dir="rtl"}else{swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`);swiper.el.dir="ltr"}swiper.update()}mount(element){const swiper=this;if(swiper.mounted)return true;let el=element||swiper.params.el;if(typeof el==="string"){el=document.querySelector(el)}if(!el){return false}el.swiper=swiper;if(el.parentNode&&el.parentNode.host&&el.parentNode.host.nodeName===swiper.params.swiperElementNodeName.toUpperCase()){swiper.isElement=true}const getWrapperSelector=()=>{return`.${(swiper.params.wrapperClass||"").trim().split(" ").join(".")}`};const getWrapper=()=>{if(el&&el.shadowRoot&&el.shadowRoot.querySelector){const res=el.shadowRoot.querySelector(getWrapperSelector());return res}return elementChildren(el,getWrapperSelector())[0]};let wrapperEl=getWrapper();if(!wrapperEl&&swiper.params.createElements){wrapperEl=createElement("div",swiper.params.wrapperClass);el.append(wrapperEl);elementChildren(el,`.${swiper.params.slideClass}
14007`).forEach(slideEl=>{wrapperEl.append(slideEl)})}Object.assign(swiper,{el:el,wrapperEl:wrapperEl,slidesEl:swiper.isElement&&!el.parentNode.host.slideSlots?el.parentNode.host:wrapperEl,hostEl:swiper.isElement?el.parentNode.host:el,mounted:true,rtl:el.dir.toLowerCase()==="rtl"||elementStyle(el,"direction")==="rtl",rtlTranslate:swiper.params.direction==="horizontal"&&(el.dir.toLowerCase()==="rtl"||elementStyle(el,"direction")==="rtl"),wrongRTL:elementStyle(wrapperEl,"display")==="-webkit-box"});return true}init(el){const swiper=this;if(swiper.initialized)return swiper;const mounted=swiper.mount(el);if(mounted===false)return swiper;swiper.emit("beforeInit");if(swiper.params.breakpoints){swiper.setBreakpoint()}swiper.addClasses();swiper.updateSize();swiper.updateSlides();if(swiper.params.watchOverflow){swiper.checkOverflow()}if(swiper.params.grabCursor&&swiper.enabled){swiper.setGrabCursor()}if(swiper.params.loop&&swiper.virtual&&swiper.params.virtual.enabled){swiper.slideTo(swiper.params.initialSlide+swiper.virtual.slidesBefore,0,swiper.params.runCallbacksOnInit,false,true)}else{swiper.slideTo(swiper.params.initialSlide,0,swiper.params.runCallbacksOnInit,false,true)}if(swiper.params.loop){swiper.loopCreate()}swiper.attachEvents();const lazyElements=[...swiper.el.querySelectorAll('[loading="lazy"]')];if(swiper.isElement){lazyElements.push(...swiper.hostEl.querySelectorAll('[loading="lazy"]'))}lazyElements.forEach(imageEl=>{if(imageEl.complete){processLazyPreloader(swiper,imageEl)}else{imageEl.addEventListener("load",e=>{processLazyPreloader(swiper,e.target)})}});preload(swiper);swiper.initialized=true;preload(swiper);swiper.emit("init");swiper.emit("afterInit");return swiper}destroy(deleteInstance,cleanStyles){if(deleteInstance===void 0){deleteInstance=true}if(cleanStyles===void 0){cleanStyles=true}const swiper=this;const{params,el,wrapperEl,slides}=swiper;if(typeof swiper.params==="undefined"||swiper.destroyed){return null}swiper.emit("beforeDestroy");swiper.initialized=false;swiper.detachEvents();if(params.loop){swiper.loopDestroy()}if(cleanStyles){swiper.removeClasses();if(el&&typeof el!=="string"){el.removeAttribute("style")}if(wrapperEl){wrapperEl.removeAttribute("style")}
14007if(slides&&slides.length){slides.forEach(slideEl=>{slideEl.classList.remove(params.slideVisibleClass,params.slideFullyVisibleClass,params.slideActiveClass,params.slideNextClass,params.slidePrevClass);slideEl.removeAttribute("style");slideEl.removeAttribute("data-swiper-slide-index")})}}swiper.emit("destroy");Object.keys(swiper.eventsListeners).forEach(eventName=>{swiper.off(eventName)});if(deleteInstance!==false){if(swiper.el&&typeof swiper.el!=="string"){swiper.el.swiper=null}deleteProps(swiper)}swiper.destroyed=true;return null}static extendDefaults(newDefaults){extend(extendedDefaults,newDefaults)}static get extendedDefaults(){return extendedDefaults}static get defaults(){return defaults}static installModule(mod){if(!Swiper.prototype.__modules__)Swiper.prototype.__modules__=[];const modules=Swiper.prototype.__modules__;if(typeof mod==="function"&&modules.indexOf(mod)<0){modules.push(mod)}}static use(module){if(Array.isArray(module)){module.forEach(m=>Swiper.installModule(m));return Swiper}Swiper.installModule(module);return Swiper}}Object.keys(prototypes).forEach(prototypeGroup=>{Object.keys(prototypes[prototypeGroup]).forEach(protoMethod=>{Swiper.prototype[protoMethod]=prototypes[prototypeGroup][protoMethod]})});Swiper.use([Resize,Observer]);function Virtual(_ref){let{swiper,extendParams,on,emit}=_ref;extendParams({virtual:{enabled:false,slides:[],cache:true,renderSlide:null,renderExternal:null,renderExternalUpdate:true,addSlidesBefore:0,addSlidesAfter:0}});let cssModeTimeout;const document=getDocument();swiper.virtual={cache:{},from:undefined,to:undefined,slides:[],offset:0,slidesGrid:[]};const tempDOM=document.createElement("div");
14007function renderSlide(slide,index){const params=swiper.params.virtual;if(params.cache&&swiper.virtual.cache[index]){return swiper.virtual.cache[index]}let slideEl;if(params.renderSlide){slideEl=params.renderSlide.call(swiper,slide,index);if(typeof slideEl==="string"){tempDOM.innerHTML=slideEl;slideEl=tempDOM.children[0]}}else if(swiper.isElement){slideEl=createElement("swiper-slide")}else{slideEl=createElement("div",swiper.params.slideClass)}slideEl.setAttribute("data-swiper-slide-index",index);if(!params.renderSlide){slideEl.innerHTML=slide}if(params.cache){swiper.virtual.cache[index]=slideEl}return slideEl}function update(force,beforeInit){const{slidesPerView,slidesPerGroup,centeredSlides,loop:isLoop,initialSlide}=swiper.params;if(beforeInit&&!isLoop&&initialSlide>0){return}const{addSlidesBefore,addSlidesAfter}=swiper.params.virtual;const{from:previousFrom,to:previousTo,slides,slidesGrid:previousSlidesGrid,offset:previousOffset}=swiper.virtual;if(!swiper.params.cssMode){swiper.updateActiveIndex()}const activeIndex=swiper.activeIndex||0;let offsetProp;if(swiper.rtlTranslate)offsetProp="right";else offsetProp=swiper.isHorizontal()?"left":"top";let slidesAfter;let slidesBefore;if(centeredSlides){slidesAfter=Math.floor(slidesPerView/2)+slidesPerGroup+addSlidesAfter;slidesBefore=Math.floor(slidesPerView/2)+slidesPerGroup+addSlidesBefore}else{slidesAfter=slidesPerView+(slidesPerGroup-1)+addSlidesAfter;slidesBefore=(isLoop?slidesPerView:slidesPerGroup)+addSlidesBefore}let from=activeIndex-slidesBefore;let to=activeIndex+slidesAfter;if(!isLoop){from=Math.max(from,0);to=Math.min(to,slides.length-1)}let offset=(swiper.slidesGrid[from]||0)-(swiper.slidesGrid[0]||0);if(isLoop&&activeIndex>=slidesBefore){from-=slidesBefore;if(!centeredSlides)offset+=swiper.slidesGrid[0]}else if(isLoop&&activeIndex<slidesBefore){from=-slidesBefore;if(centeredSlides)offset+=swiper.slidesGrid[0]}Object.assign(swiper.virtual,{from:from,to:to,offset:offset,slidesGrid:swiper.slidesGrid,slidesBefore:slidesBefore,slidesAfter:slidesAfter});function onRendered(){swiper.updateSlides();swiper.updateProgress();swiper.updateSlidesClasses();emit("virtualUpdate")}if(previousFrom===from&&previousTo===to&&!force){if(swiper.slidesGrid!==previousSlidesGrid&&offset!==previousOffset){swiper.slides.forEach(sli
14007deEl=>{slideEl.style[offsetProp]=`${offset-Math.abs(swiper.cssOverflowAdjustment())}px`})}swiper.updateProgress();emit("virtualUpdate");return}if(swiper.params.virtual.renderExternal){swiper.params.virtual.renderExternal.call(swiper,{offset:offset,from:from,to:to,slides:function getSlides(){const slidesToRender=[];for(let i=from;i<=to;i+=1){slidesToRender.push(slides[i])}return slidesToRender}()});if(swiper.params.virtual.renderExternalUpdate){onRendered()}else{emit("virtualUpdate")}return}const prependIndexes=[];const appendIndexes=[];const getSlideIndex=index=>{let slideIndex=index;if(index<0){slideIndex=slides.length+index}else if(slideIndex>=slides.length){slideIndex=slideIndex-slides.length}return slideIndex};if(force){swiper.slides.filter(el=>el.matches(`.${swiper.params.slideClass}, swiper-slide`)).forEach(slideEl=>{slideEl.remove()})}else{for(let i=previousFrom;i<=previousTo;i+=1){if(i<from||i>to){const slideIndex=getSlideIndex(i);swiper.slides.filter(el=>el.matches(`.${swiper.params.slideClass}[data-swiper-slide-index="${slideIndex}"], swiper-slide[data-swiper-slide-index="${slideIndex}
14007"]`)).forEach(slideEl=>{slideEl.remove()})}}}const loopFrom=isLoop?-slides.length:0;const loopTo=isLoop?slides.length*2:slides.length;for(let i=loopFrom;i<loopTo;i+=1){if(i>=from&&i<=to){const slideIndex=getSlideIndex(i);if(typeof previousTo==="undefined"||force){appendIndexes.push(slideIndex)}else{if(i>previousTo)appendIndexes.push(slideIndex);if(i<previousFrom)prependIndexes.push(slideIndex)}}}appendIndexes.forEach(index=>{swiper.slidesEl.append(renderSlide(slides[index],index))});if(isLoop){for(let i=prependIndexes.length-1;i>=0;i-=1){const index=prependIndexes[i];swiper.slidesEl.prepend(renderSlide(slides[index],index))}}else{prependIndexes.sort((a,b)=>b-a);prependIndexes.forEach(index=>{swiper.slidesEl.prepend(renderSlide(slides[index],index))})}elementChildren(swiper.slidesEl,".swiper-slide, swiper-slide").forEach(slideEl=>{slideEl.style[offsetProp]=`${offset-Math.abs(swiper.cssOverflowAdjustment())}px`});onRendered()}function appendSlide(slides){if(typeof slides==="object"&&"length"in slides){for(let i=0;i<slides.length;i+=1){if(slides[i])swiper.virtual.slides.push(slides[i])}}else{swiper.virtual.slides.push(slides)}update(true)}function prependSlide(slides){const activeIndex=swiper.activeIndex;let newActiveIndex=activeIndex+1;let numberOfNewSlides=1;if(Array.isArray(slides)){for(let i=0;i<slides.length;i+=1){if(slides[i])swiper.virtual.slides.unshift(slides[i])}newActiveIndex=activeIndex+slides.length;numberOfNewSlides=slides.length}else{swiper.virtual.slides.unshift(slides)}if(swiper.params.virtual.cache){const cache=swiper.virtual.cache;const newCache={};Object.keys(cache).forEach(cachedIndex=>{const cachedEl=cache[cachedIndex];const cachedElIndex=cachedEl.getAttribute("data-swiper-slide-index");if(cachedElIndex){cachedEl.setAttribute("data-swiper-slide-index",parseInt(cachedElIndex,10)+numberOfNewSlides)}newCache[parseInt(cachedIndex,10)+numberOfNewSlides]=cachedEl});swiper.virtual.cache=newCache}update(true);swiper.slideTo(newActiveIndex,0)}function removeSlide(slidesIndexes){if(typeof slidesIndexes==="undefined"||slidesIndexes===null)return;let activeIndex=swiper.activeIndex;if(Array.isArray(slidesIndexes)){for(let i=slidesIndexes.length-1;i>=0;i-=1){if(swiper.params.virtual.cache){delete swiper.virtual.cache[slidesIndexes[i]];Object.keys(swiper.virtual.cache).forEach(key=>{if(key>slidesIndexes){swiper.virtual.cache[key-1]=swiper.virtual.cache[key];swiper.virtual.cache[key-1].setAttribute("data-swiper-slide-index",key-1);delete swiper.virtual.cache[key]}})}swiper.virtual.slides.splice(slidesIndexes[i],1);if(slidesIndexes[i]<activeIndex)activeIndex-=1;activeIndex=Math.max(activeIndex,0)}}else{if(swiper.params.virtual.cache){delete swiper.virtual.cache[slidesIndexes];Object.keys(swiper.virtual.cache).forEach(key=>{if(key>slidesIndexes){swiper.virtual.cache[key-1]=swiper.virtual.cache[key];swiper.virtual.cache[key-1].setAttribute("data-swiper-slide-index",key-1);delete swiper.virtual.cache[key]}})}swiper.virtual.slides.splice(slidesIndexes,1);if(slidesIndexes<activeIndex)activeIndex-=1;activeIndex=Math.max(activeIndex,0)}update(true);swiper.slideTo(activeIndex,0)}function removeAllSlides(){swiper.virtual.slides=[];if(swiper.params.virtual.cache){swiper.virtual.cache={}}update(true);swiper.slideTo(0,0)}on("beforeInit",()=>{if(!swiper.params.virtual.enabled)return;let domSlidesAssigned;if(typeof swiper.passedParams.virtual.slides==="undefined"){const slides=[...swiper.slidesEl.children].filter(el=>el.matches(`.${swiper.params.slideClass}, swiper-slide`));if(slides&&slides.length){swiper.virtual.slides=[...slides];domSlidesAssigned=true;slides.forEach((slideEl,slideIndex)=>{slideEl.setAttribute("data-swiper-slide-index",slideIndex);swiper.virtual.cache[slideIndex]=slideEl;slideEl.remove()})}}if(!domSlidesAssigned){swiper.virtual.slides=swiper.params.virtual.slides}swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`);swiper.params.watchSlidesProgress=true;swiper.originalParams.watchSlidesProgress=true;update(false,true)});on("setTranslate",()=>{if(!swiper.params.virtual.enabled)return;if(swiper.params.cssMode&&!swiper._immediateVirtual){clearTimeout(cssModeTimeout);cssModeTimeout=setTimeout(()=>
14007{update()},100)}else{update()}});on("init update resize",()=>{if(!swiper.params.virtual.enabled)return;if(swiper.params.cssMode){setCSSProperty(swiper.wrapperEl,"--swiper-virtual-size",`${swiper.virtualSize}px`)}});Object.assign(swiper.virtual,{appendSlide:appendSlide,prependSlide:prependSlide,removeSlide:removeSlide,removeAllSlides:removeAllSlides,update:update})}function Keyboard(_ref){let{swiper,extendParams,on,emit}=_ref;const document=getDocument();const window=getWindow();swiper.keyboard={enabled:false};extendParams({keyboard:{enabled:false,onlyInViewport:true,pageUpDown:true}});function handle(event){if(!swiper.enabled)return;const{rtlTranslate:rtl}=swiper;let e=event;if(e.originalEvent)e=e.originalEvent;const kc=e.keyCode||e.charCode;const pageUpDown=swiper.params.keyboard.pageUpDown;const isPageUp=pageUpDown&&kc===33;const isPageDown=pageUpDown&&kc===34;const isArrowLeft=kc===37;const isArrowRight=kc===39;const isArrowUp=kc===38;const isArrowDown=kc===40;if(!swiper.allowSlideNext&&(swiper.isHorizontal()&&isArrowRight||swiper.isVertical()&&isArrowDown||isPageDown)){return false}if(!swiper.allowSlidePrev&&(swiper.isHorizontal()&&isArrowLeft||swiper.isVertical()&&isArrowUp||isPageUp)){return false}if(e.shiftKey||e.altKey||e.ctrlKey||e.metaKey){return undefined}if(document.activeElement&&document.activeElement.nodeName&&(document.activeElement.nodeName.toLowerCase()==="input"||document.activeElement.nodeName.toLowerCase()==="textarea")){return undefined}if(swiper.params.keyboard.onlyInViewport&&(isPageUp||isPageDown||isArrowLeft||isArrowRight||isArrowUp||isArrowDown)){let inView=false;if(elementParents(swiper.el,`.${swiper.params.slideClass}, swiper-slide`).length>0&&elementParents(swiper.el,`.${swiper.params.slideActiveClass}`).length===0){return undefined}const el=swiper.el;const swiperWidth=el.clientWidth;const swiperHeight=el.clientHeight;const windowWidth=window.innerWidth;const windowHeight=window.innerHeight;const swiperOffset=elementOffset(el);if(rtl)swiperOffset.left-=el.scrollLeft;const swiperCoord=[[swiperOffset.left,swiperOffset.top],[swiperOffset.left+swiperWidth,swiperOffset.top],[swiperOffset.left,swiperOffset.top+swiperHeight],[swiperOffset.left+swiperWidth,swiperOffset.top+swiperHeight]];for(let i=0;i<swiperCoord.length;i+=1){const point=swiperCoord[i];if(point[0]>=0&&point[0]<=windowWidth&&point[1]>=0&&point[1]<=windowHeight){if(point[0]===0&&point[1]===0)continue;inView=true}}if(!inView)return undefined}if(swiper.isHorizontal()){if(isPageUp||isPageDown||isArrowLeft||isArrowRight){if(e.preventDefault)e.preventDefault();else e.returnValue=false}if((isPageDown||isArrowRight)&&!rtl||(isPageUp||isArrowLeft)&&rtl)swiper.slideNext();if((isPageUp||isArrowLeft)&&!rtl||(isPageDown||isArrowRight)&&rtl)swiper.slidePrev()}else{if(isPageUp||isPageDown||isArrowUp||isArrowDown){if(e.preventDefault)e.preventDefault();else e.returnValue=false}if(isPageDown||isArrowDown)swiper.slideNext();if(isPageUp||isArrowUp)swiper.slidePrev()}emit("keyPress",kc);return undefined}function enable(){if(swiper.keyboard.enabled)return;document.addEventListener("keydown",handle);swiper.keyboard.enabled=true}function disable(){if(!swiper.keyboard.enabled)return;document.removeEventListener("keydown",handle);swiper.keyboard.enabled=false}on("init",()=>{if(swiper.params.keyboard.enabled){enable()}});on("destroy",()=>{if(swiper.keyboard.enabled){disable()}});Object.assign(swiper.keyboard,{enable:enable,disable:disable})}function Mousewheel(_ref){let{swiper,extendParams,on,emit}=_ref;const window=getWindow();extendParams({mousewheel:{enabled:false,releaseOnEdges:false,invert:false,forceToAxis:false,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null,noMousewheelClass:"swiper-no-mousewheel"}});swiper.mousewheel={enabled:false};let timeout;let lastScrollTime=now();let lastEventBeforeSnap;const recentWheelEvents=[];function normalize(e){const PIXEL_STEP=10;const LINE_HEIGHT=40;const PAGE_HEIGHT=800;let sX=0;let sY=0;let pX=0;let pY=0;if("detail"in e){sY=e.detail}if("wheelDelta"in e){sY=-e.wheelDelta/120}if("wheelDeltaY"in e){sY=-e.wheelDeltaY/120}if("wheelDeltaX"in e){sX=-e.wheelDeltaX/120}if("axis"in e&&e.axis===e.HORIZONTAL_AXIS){sX=sY;sY=0}pX=sX*PIXEL_STEP;pY=sY*PIXEL_STEP;if("deltaY"in e){pY=e.deltaY}if("deltaX"in e){pX=e.deltaX}if(e.shiftKey&&!pX){pX=pY;pY=0}if((pX||pY)&&e.deltaMode){if(e.deltaMode===1){pX*=LINE_HEIGHT;pY*=LINE_HEIGHT}else{pX*=PAGE_HEIGHT;pY*=PAGE_HEIGHT}}if(pX&&!sX){sX=pX<1?-1:1}if(pY&&!sY){sY=pY<1?-1:1}return{spinX:sX,spinY:sY,pixelX:pX,pixelY:pY}}function handleMouseEnter(){if(!swiper.enabled)return;swiper.mouseEntered=true}function handleMouseLeave(){if(!swiper.enabled)return;swiper.mouseEntered=false}function animateSlider(newEvent){if(swiper.params.mousewheel.thresholdDelta&&newEvent.delta<swiper.params.mousewheel.thresholdDelta){return false}if(swiper.params.mousewheel.thresholdTime&&now()-lastScrollTime<swiper.params.mousewheel.thresholdTime){return false}if(newEvent.delta>=6&&now()-lastScrollTime<60){return true}if(newEvent.direction<0){if((!swiper.isEnd||swiper.params.loop)&&!swiper.animating){swiper.slideNext();emit("scroll",newEvent.raw)}}else if((!swiper.isBeginning||swiper.params.loop)&&!swiper.animating){swiper.slidePrev();emit("scroll",newEvent.raw)}lastScrollTime=(new window.Date).getTime();return false}function releaseScroll(newEvent){const params=swiper.params.mousewheel;if(newEvent.direction<0){if(swiper.isEnd&&!swiper.params.loop&&params.releaseOnEdges){return true}}
14007else if(swiper.isBeginning&&!swiper.params.loop&&params.releaseOnEdges){return true}return false}function handle(event){let e=event;let disableParentSwiper=true;if(!swiper.enabled)return;if(event.target.closest(`.${swiper.params.mousewheel.noMousewheelClass}`))return;const params=swiper.params.mousewheel;if(swiper.params.cssMode){e.preventDefault()}let targetEl=swiper.el;if(swiper.params.mousewheel.eventsTarget!=="container"){targetEl=document.querySelector(swiper.params.mousewheel.eventsTarget)}const targetElContainsTarget=targetEl&&targetEl.contains(e.target);if(!swiper.mouseEntered&&!targetElContainsTarget&&!params.releaseOnEdges)return true;if(e.originalEvent)e=e.originalEvent;let delta=0;const rtlFactor=swiper.rtlTranslate?-1:1;const data=normalize(e);if(params.forceToAxis){if(swiper.isHorizontal()){if(Math.abs(data.pixelX)>Math.abs(data.pixelY))delta=-data.pixelX*rtlFactor;else return true}else if(Math.abs(data.pixelY)>Math.abs(data.pixelX))delta=-data.pixelY;else return true}else{delta=Math.abs(data.pixelX)>Math.abs(data.pixelY)?-data.pixelX*rtlFactor:-data.pixelY}if(delta===0)return true;if(params.invert)delta=-delta;let positions=swiper.getTranslate()+delta*params.sensitivity;if(positions>=swiper.minTranslate())positions=swiper.minTranslate();if(positions<=swiper.maxTranslate())positions=swiper.maxTranslate();disableParentSwiper=swiper.params.loop?true:!(positions===swiper.minTranslate()||positions===swiper.maxTranslate());if(disableParentSwiper&&swiper.params.nested)e.stopPropagation();if(!swiper.params.freeMode||!swiper.params.freeMode.enabled){const newEvent={time:now(),delta:Math.abs(delta),direction:Math.sign(delta),raw:event};if(recentWheelEvents.length>=2){recentWheelEvents.shift()}const prevEvent=recentWheelEvents.length?recentWheelEvents[recentWheelEvents.length-1]:undefined;recentWheelEvents.push(newEvent);if(prevEvent){if(newEvent.direction!==prevEvent.direction||newEvent.delta>prevEvent.delta||newEvent.time>prevEvent.time+150){animateSlider(newEvent)}}else{animateSlider(newEvent)}if(releaseScroll(newEvent)){return true}}else{const newEvent={time:now(),delta:Math.abs(delta),direction:Math.sign(delta)};const ignoreWheelEvents=lastEventBeforeSnap&&newEvent.time<lastEventBeforeSnap.time+500&&newEvent.delta<=lastEventBeforeSnap.delta&&newEvent.direction===lastEventBeforeSnap.direction;if(!ignoreWheelEvents){lastEventBeforeSnap=undefined;let position=swiper.getTranslate()+delta*params.sensitivity;const wasBeginning=swiper.isBeginning;const wasEnd=swiper.isEnd;if(position>=swiper.minTranslate())position=swiper.minTranslate();if(position<=swiper.maxTranslate())position=swiper.maxTranslate();swiper.setTransition(0);swiper.setTranslate(position);swiper.updateProgress();swiper.updateActiveIndex();swiper.updateSlidesClasses();if(!wasBeginning&&swiper.isBeginning||!wasEnd&&swiper.isEnd){swiper.updateSlidesClasses()}if(swiper.params.loop){swiper.loopFix({direction:newEvent.direction<0?"next":"prev",byMousewheel:true})}if(swiper.params.freeMode.sticky){clearTimeout(timeout);timeout=undefined;if(recentWheelEvents.length>=15){recentWheelEvents.shift()}const prevEvent=recentWheelEvents.length?recentWheelEvents[recentWheelEvents.length-1]:undefined;const firstEvent=recentWheelEvents[0];recentWheelEvents.push(newEvent);if(prevEvent&&(newEvent.delta>prevEvent.delta||newEvent.direction!==prevEvent.direction)){recentWheelEvents.splice(0)}else if(recentWheelEvents.length>=15&&newEvent.time-firstEvent.time<500&&firstEvent.delta-newEvent.delta>=1&&newEvent.delta<=6){const snapToThreshold=delta>0?.8:.2;lastEventBeforeSnap=newEvent;recentWheelEvents.splice(0);timeout=nextTick(()=>{if(swiper.destroyed||!swiper.params)return;swiper.slideToClosest(swiper.params.speed,true,undefined,snapToThreshold)},0)}if(!timeout){timeout=nextTick(()=>{if(swiper.destroyed||!swiper.params)return;const snapToThreshold=.5;lastEventBeforeSnap=newEvent;recentWheelEvents.splice(0);swiper.slideToClosest(swiper.params.speed,true,undefined,snapToThreshold)},500)}}if(!ignoreWheelEvents)emit("scroll",e);if(swiper.params.autoplay&&swiper.params.autoplayDisableOnInteraction)swiper.autoplay.stop();if(params.releaseOnEdges&&(position===swiper.minTranslate()||position===swiper.maxTranslate())){return true}}}if(e.preventDefault)e.preventDefault();else e.returnValue=false;return false}
14007function events(method){let targetEl=swiper.el;if(swiper.params.mousewheel.eventsTarget!=="container"){targetEl=document.querySelector(swiper.params.mousewheel.eventsTarget)}targetEl[method]("mouseenter",handleMouseEnter);targetEl[method]("mouseleave",handleMouseLeave);targetEl[method]("wheel",handle)}function enable(){if(swiper.params.cssMode){swiper.wrapperEl.removeEventListener("wheel",handle);return true}if(swiper.mousewheel.enabled)return false;events("addEventListener");swiper.mousewheel.enabled=true;return true}function disable(){if(swiper.params.cssMode){swiper.wrapperEl.addEventListener(event,handle);return true}if(!swiper.mousewheel.enabled)return false;events("removeEventListener");swiper.mousewheel.enabled=false;return true}on("init",()=>{if(!swiper.params.mousewheel.enabled&&swiper.params.cssMode){disable()}if(swiper.params.mousewheel.enabled)enable()});on("destroy",()=>{if(swiper.params.cssMode){enable()}if(swiper.mousewheel.enabled)disable()});Object.assign(swiper.mousewheel,{enable:enable,disable:disable})}function createElementIfNotDefined(swiper,originalParams,params,checkProps){if(swiper.params.createElements){Object.keys(checkProps).forEach(key=>{if(!params[key]&&params.auto===true){let element=elementChildren(swiper.el,`.${checkProps[key]}`)[0];if(!element){element=createElement("div",checkProps[key]);element.className=checkProps[key];swiper.el.append(element)}params[key]=element;originalParams[key]=element}})}return params}function Navigation(_ref){let{swiper,extendParams,on,emit}=_ref;extendParams({navigation:{nextEl:null,prevEl:null,hideOnClick:false,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}});swiper.navigation={nextEl:null,prevEl:null};function getEl(el){let res;if(el&&typeof el==="string"&&swiper.isElement){res=swiper.el.querySelector(el);if(res)return res}if(el){if(typeof el==="string")res=[...document.querySelectorAll(el)];if(swiper.params.uniqueNavElements&&typeof el==="string"&&res&&res.length>1&&swiper.el.querySelectorAll(el).length===1){res=swiper.el.querySelector(el)}else if(res&&res.length===1){res=res[0]}}if(el&&!res)return el;return res}function toggleEl(el,disabled){const params=swiper.params.navigation;el=makeElementsArray(el);el.forEach(subEl=>{if(subEl){subEl.classList[disabled?"add":"remove"](...params.disabledClass.split(" "));if(subEl.tagName==="BUTTON")subEl.disabled=disabled;if(swiper.params.watchOverflow&&swiper.enabled){subEl.classList[swiper.isLocked?"add":"remove"](params.lockClass)}}})}function update(){const{nextEl,prevEl}=swiper.navigation;if(swiper.params.loop){toggleEl(prevEl,false);toggleEl(nextEl,false);return}toggleEl(prevEl,swiper.isBeginning&&!swiper.params.rewind);toggleEl(nextEl,swiper.isEnd&&!swiper.params.rewind)}function onPrevClick(e){e.preventDefault();if(swiper.isBeginning&&!swiper.params.loop&&!swiper.params.rewind)return;swiper.slidePrev();emit("navigationPrev")}function onNextClick(e){e.preventDefault();if(swiper.isEnd&&!swiper.params.loop&&!swiper.params.rewind)return;swiper.slideNext();emit("navigationNext")}function init(){const params=swiper.params.navigation;swiper.params.navigation=createElementIfNotDefined(swiper,swiper.originalParams.navigation,swiper.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"});if(!(params.nextEl||params.prevEl))return;let nextEl=getEl(params.nextEl);let prevEl=getEl(params.prevEl);Object.assign(swiper.navigation,{nextEl:nextEl,prevEl:prevEl});nextEl=makeElementsArray(nextEl);prevEl=makeElementsArray(prevEl);const initButton=(el,dir)=>{if(el){el.addEventListener("click",dir==="next"?onNextClick:onPrevClick)}if(!swiper.enabled&&el){el.classList.add(...params.lockClass.split(" "))}};nextEl.forEach(el=>initButton(el,"next"));prevEl.forEach(el=>initButton(el,"prev"))}function destroy(){let{nextEl,prevEl}=swiper.navigation;nextEl=makeElementsArray(nextEl);prevEl=makeElementsArray(prevEl);const destroyButton=(el,dir)=>{el.removeEventListener("click",dir==="next"?onNextClick:onPrevClick);el.classList.remove(...swiper.params.navigation.disabledClass.split(" "))};nextEl.forEach(el=>destroyButton(el,"next"));prevEl.forEach(el=>destroyButton(el,"prev"))}on("init",()=>{if(swiper.params.navigation.enabled===false){disable()}else{init();
14007update()}});on("toEdge fromEdge lock unlock",()=>{update()});on("destroy",()=>{destroy()});on("enable disable",()=>{let{nextEl,prevEl}=swiper.navigation;nextEl=makeElementsArray(nextEl);prevEl=makeElementsArray(prevEl);if(swiper.enabled){update();return}[...nextEl,...prevEl].filter(el=>!!el).forEach(el=>el.classList.add(swiper.params.navigation.lockClass))});on("click",(_s,e)=>{let{nextEl,prevEl}=swiper.navigation;nextEl=makeElementsArray(nextEl);prevEl=makeElementsArray(prevEl);const targetEl=e.target;let targetIsButton=prevEl.includes(targetEl)||nextEl.includes(targetEl);if(swiper.isElement&&!targetIsButton){const path=e.path||e.composedPath&&e.composedPath();if(path){targetIsButton=path.find(pathEl=>nextEl.includes(pathEl)||prevEl.includes(pathEl))}}if(swiper.params.navigation.hideOnClick&&!targetIsButton){if(swiper.pagination&&swiper.params.pagination&&swiper.params.pagination.clickable&&(swiper.pagination.el===targetEl||swiper.pagination.el.contains(targetEl)))return;let isHidden;if(nextEl.length){isHidden=nextEl[0].classList.contains(swiper.params.navigation.hiddenClass)}else if(prevEl.length){isHidden=prevEl[0].classList.contains(swiper.params.navigation.hiddenClass)}if(isHidden===true){emit("navigationShow")}else{emit("navigationHide")}[...nextEl,...prevEl].filter(el=>!!el).forEach(el=>el.classList.toggle(swiper.params.navigation.hiddenClass))}});const enable=()=>{swiper.el.classList.remove(...swiper.params.navigation.navigationDisabledClass.split(" "));init();update()};const disable=()=>{swiper.el.classList.add(...swiper.params.navigation.navigationDisabledClass.split(" "));destroy()};Object.assign(swiper.navigation,{enable:enable,disable:disable,update:update,init:init,destroy:destroy})}function classesToSelector(classes){if(classes===void 0){classes=""}return`.${classes.trim().replace(/([\.:!+\/])/g,"\\$1").replace(/ /g,".")}`}function Pagination(_ref){let{swiper,extendParams,on,emit}=_ref;const pfx="swiper-pagination";extendParams({pagination:{el:null,bulletElement:"span",clickable:false,hideOnClick:false,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:false,type:"bullets",dynamicBullets:false,dynamicMainBullets:1,formatFractionCurrent:number=>number,formatFractionTotal:number=>number,bulletClass:`${pfx}-bullet`,bulletActiveClass:`${pfx}-bullet-active`,modifierClass:`${pfx}-`,currentClass:`${pfx}-current`,totalClass:`${pfx}-total`,hiddenClass:`${pfx}-hidden`,progressbarFillClass:`${pfx}-progressbar-fill`,progressbarOppositeClass:`${pfx}-progressbar-opposite`,clickableClass:`${pfx}-clickable`,lockClass:`${pfx}-lock`,horizontalClass:`${pfx}-horizontal`,verticalClass:`${pfx}-vertical`,paginationDisabledClass:`${pfx}-disabled`}});swiper.pagination={el:null,bullets:[]};let bulletSize;let dynamicBulletIndex=0;function isPaginationDisabled(){return!swiper.params.pagination.el||!swiper.pagination.el||Array.isArray(swiper.pagination.el)&&swiper.pagination.el.length===0}function setSideBullets(bulletEl,position){const{bulletActiveClass}=swiper.params.pagination;if(!bulletEl)return;bulletEl=bulletEl[`${position==="prev"?"previous":"next"}ElementSibling`];if(bulletEl){bulletEl.classList.add(`${bulletActiveClass}-${position}`);bulletEl=bulletEl[`${position==="prev"?"previous":"next"}ElementSibling`];if(bulletEl){bulletEl.classList.add(`${bulletActiveClass}-${position}-${position}`)}}}function onBulletClick(e){const bulletEl=e.target.closest(classesToSelector(swiper.params.pagination.bulletClass));if(!bulletEl){return}e.preventDefault();const index=elementIndex(bulletEl)*swiper.params.slidesPerGroup;if(swiper.params.loop){if(swiper.realIndex===index)return;swiper.slideToLoop(index)}else{swiper.slideTo(index)}}function update(){const rtl=swiper.rtl;const params=swiper.params.pagination;if(isPaginationDisabled())return;let el=swiper.pagination.el;el=makeElementsArray(el);let current;let previousIndex;const slidesLength=swiper.virtual&&swiper.params.virtual.enabled?swiper.virtual.slides.length:swiper.slides.length;const total=swiper.params.loop?Math.ceil(slidesLength/swiper.params.slidesPerGroup):swiper.snapGrid.length;
14007if(swiper.params.loop){previousIndex=swiper.previousRealIndex||0;current=swiper.params.slidesPerGroup>1?Math.floor(swiper.realIndex/swiper.params.slidesPerGroup):swiper.realIndex}else if(typeof swiper.snapIndex!=="undefined"){current=swiper.snapIndex;previousIndex=swiper.previousSnapIndex}else{previousIndex=swiper.previousIndex||0;current=swiper.activeIndex||0}if(params.type==="bullets"&&swiper.pagination.bullets&&swiper.pagination.bullets.length>0){const bullets=swiper.pagination.bullets;let firstIndex;let lastIndex;let midIndex;if(params.dynamicBullets){bulletSize=elementOuterSize(bullets[0],swiper.isHorizontal()?"width":"height",true);el.forEach(subEl=>{subEl.style[swiper.isHorizontal()?"width":"height"]=`${bulletSize*(params.dynamicMainBullets+4)}px`});if(params.dynamicMainBullets>1&&previousIndex!==undefined){dynamicBulletIndex+=current-(previousIndex||0);if(dynamicBulletIndex>params.dynamicMainBullets-1){dynamicBulletIndex=params.dynamicMainBullets-1}else if(dynamicBulletIndex<0){dynamicBulletIndex=0}}firstIndex=Math.max(current-dynamicBulletIndex,0);lastIndex=firstIndex+(Math.min(bullets.length,params.dynamicMainBullets)-1);midIndex=(lastIndex+firstIndex)/2}bullets.forEach(bulletEl=>{const classesToRemove=[...["","-next","-next-next","-prev","-prev-prev","-main"].map(suffix=>`${params.bulletActiveClass}${suffix}`)].map(s=>typeof s==="string"&&s.includes(" ")?s.split(" "):s).flat();bulletEl.classList.remove(...classesToRemove)});if(el.length>1){bullets.forEach(bullet=>{const bulletIndex=elementIndex(bullet);if(bulletIndex===current){bullet.classList.add(...params.bulletActiveClass.split(" "))}else if(swiper.isElement){bullet.setAttribute("part","bullet")}if(params.dynamicBullets){if(bulletIndex>=firstIndex&&bulletIndex<=lastIndex){bullet.classList.add(...`${params.bulletActiveClass}-main`.split(" "))}if(bulletIndex===firstIndex){setSideBullets(bullet,"prev")}if(bulletIndex===lastIndex){setSideBullets(bullet,"next")}}})}else{const bullet=bullets[current];if(bullet){bullet.classList.add(...params.bulletActiveClass.split(" "))}if(swiper.isElement){bullets.forEach((bulletEl,bulletIndex)=>{bulletEl.setAttribute("part",bulletIndex===current?"bullet-active":"bullet")})}if(params.dynamicBullets){const firstDisplayedBullet=bullets[firstIndex];const lastDisplayedBullet=bullets[lastIndex];for(let i=firstIndex;i<=lastIndex;i+=1){if(bullets[i]){bullets[i].classList.add(...`${params.bulletActiveClass}-main`.split(" "))}}setSideBullets(firstDisplayedBullet,"prev");setSideBullets(lastDisplayedBullet,"next")}}if(params.dynamicBullets){const dynamicBulletsLength=Math.min(bullets.length,params.dynamicMainBullets+4);const bulletsOffset=(bulletSize*dynamicBulletsLength-bulletSize)/2-midIndex*bulletSize;const offsetProp=rtl?"right":"left";bullets.forEach(bullet=>{bullet.style[swiper.isHorizontal()?offsetProp:"top"]=`${bulletsOffset}px`})}}el.forEach((subEl,subElIndex)=>{if(params.type==="fraction"){subEl.querySelectorAll(classesToSelector(params.currentClass)).forEach(fractionEl=>{fractionEl.textContent=params.formatFractionCurrent(current+1)});subEl.querySelectorAll(classesToSelector(params.totalClass)).forEach(totalEl=>{totalEl.textContent=params.formatFractionTotal(total)})}if(params.type==="progressbar"){let progressbarDirection;if(params.progressbarOpposite){progressbarDirection=swiper.isHorizontal()?"vertical":"horizontal"}else{progressbarDirection=swiper.isHorizontal()?"horizontal":"vertical"}const scale=(current+1)/total;let scaleX=1;let scaleY=1;if(progressbarDirection==="horizontal"){scaleX=scale}else{scaleY=scale}subEl.querySelectorAll(classesToSelector(params.progressbarFillClass)).forEach(progressEl=>{progressEl.style.transform=`translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`;progressEl.style.transitionDuration=`${swiper.params.speed}ms`})}if(params.type==="custom"&&params.renderCustom){subEl.innerHTML=params.renderCustom(swiper,current+1,total);if(subElIndex===0)emit("paginationRender",subEl)}else{if(subElIndex===0)emit("paginationRender",subEl);emit("paginationUpdate",subEl)}if(swiper.params.watchOverflow&&swiper.enabled){subEl.classList[swiper.isLocked?"add":"remove"](params.lockClass)}})}function render(){const params=swiper.params.pagination;if(isPaginationDisabled())return;const slidesLength=swiper.virtual&&swiper.params.virtual.enabled?swiper.virtual.slides.length:swiper.grid&&swiper.params.grid.rows>1?swiper.slides.length/Math.ceil(swiper.params.grid.rows):swiper.slides.length;let el=swiper.pagination.el;el=makeElementsArray(el);let paginationHTML="";if(params.type==="bullets"){let numberOfBullets=swiper.params.loop?Math.
14007ceil(slidesLength/swiper.params.slidesPerGroup):swiper.snapGrid.length;if(swiper.params.freeMode&&swiper.params.freeMode.enabled&&numberOfBullets>slidesLength){numberOfBullets=slidesLength}for(let i=0;i<numberOfBullets;i+=1){if(params.renderBullet){paginationHTML+=params.renderBullet.call(swiper,i,params.bulletClass)}else{paginationHTML+=`<${params.bulletElement} ${swiper.isElement?'part="bullet"':""} class="${params.bulletClass}"></${params.bulletElement}>`}}}if(params.type==="fraction"){if(params.renderFraction){paginationHTML=params.renderFraction.call(swiper,params.currentClass,params.totalClass)}else{paginationHTML=`<span class="${params.currentClass}"></span>`+" / "+`<span class="${params.totalClass}"></span>`}}if(params.type==="progressbar"){if(params.renderProgressbar){paginationHTML=params.renderProgressbar.call(swiper,params.progressbarFillClass)}else{paginationHTML=`<span class="${params.progressbarFillClass}"></span>`}}swiper.pagination.bullets=[];el.forEach(subEl=>{if(params.type!=="custom"){subEl.innerHTML=paginationHTML||""}if(params.type==="bullets"){swiper.pagination.bullets.push(...subEl.querySelectorAll(classesToSelector(params.bulletClass)))}});if(params.type!=="custom"){emit("paginationRender",el[0])}}function init(){swiper.params.pagination=createElementIfNotDefined(swiper,swiper.originalParams.pagination,swiper.params.pagination,{el:"swiper-pagination"});const params=swiper.params.pagination;if(!params.el)return;let el;if(typeof params.el==="string"&&swiper.isElement){el=swiper.el.querySelector(params.el)}if(!el&&typeof params.el==="string"){el=[...document.querySelectorAll(params.el)]}if(!el){el=params.el}if(!el||el.length===0)return;if(swiper.params.uniqueNavElements&&typeof params.el==="string"&&Array.isArray(el)&&el.length>1){el=[...swiper.el.querySelectorAll(params.el)];if(el.length>1){el=el.filter(subEl=>{if(elementParents(subEl,".swiper")[0]!==swiper.el)return false;return true})[0]}}if(Array.isArray(el)&&el.length===1)el=el[0];Object.assign(swiper.pagination,{el:el});el=makeElementsArray(el);el.forEach(subEl=>{if(params.type==="bullets"&&params.clickable){subEl.classList.add(...(params.clickableClass||"").split(" "))}subEl.classList.add(params.modifierClass+params.type);subEl.classList.add(swiper.isHorizontal()?params.horizontalClass:params.verticalClass);if(params.type==="bullets"&&params.dynamicBullets){subEl.classList.add(`${params.modifierClass}${params.type}-dynamic`);dynamicBulletIndex=0;if(params.dynamicMainBullets<1){params.dynamicMainBullets=1}}if(params.type==="progressbar"&&params.progressbarOpposite){subEl.classList.add(params.progressbarOppositeClass)}if(params.clickable){subEl.addEventListener("click",onBulletClick)}if(!swiper.enabled){subEl.classList.add(params.lockClass)}})}function destroy(){const params=swiper.params.pagination;if(isPaginationDisabled())return;let el=swiper.pagination.el;if(el){el=makeElementsArray(el);el.forEach(subEl=>{subEl.classList.remove(params.hiddenClass);subEl.classList.remove(params.modifierClass+params.type);subEl.classList.remove(swiper.isHorizontal()?params.horizontalClass:params.verticalClass);if(params.clickable){subEl.classList.remove(...(params.clickableClass||"").split(" "));subEl.removeEventListener("click",onBulletClick)}})}if(swiper.pagination.bullets)swiper.pagination.bullets.forEach(subEl=>subEl.classList.remove(...params.bulletActiveClass.split(" ")))}on("changeDirection",()=>{if(!swiper.pagination||!swiper.pagination.el)return;const params=swiper.params.pagination;let{el}=swiper.pagination;el=makeElementsArray(el);el.forEach(subEl=>{subEl.classList.remove(params.horizontalClass,params.verticalClass);subEl.classList.add(swiper.isHorizontal()?params.horizontalClass:params.verticalClass)})});on("init",()=>{if(swiper.params.pagination.enabled===false){disable()}else{init();render();update()}});on("activeIndexChange",()=>{if(typeof swiper.snapIndex==="undefined"){update()}});on("snapIndexChange",()=>{update()});on("snapGridLengthChange",()=>{render();update()});on("destroy",()=>{destroy()});on("enable disable",()=>{let{el}=swiper.pagination;if(el){el=makeElementsArray(el);el.forEach(subEl=>subEl.classList[swiper.enabled?"remove":"add"](swiper.params.pagination.lockClass))}});on("lock unlock",()=>
14007{update()});on("click",(_s,e)=>{const targetEl=e.target;const el=makeElementsArray(swiper.pagination.el);if(swiper.params.pagination.el&&swiper.params.pagination.hideOnClick&&el&&el.length>0&&!targetEl.classList.contains(swiper.params.pagination.bulletClass)){if(swiper.navigation&&(swiper.navigation.nextEl&&targetEl===swiper.navigation.nextEl||swiper.navigation.prevEl&&targetEl===swiper.navigation.prevEl))return;const isHidden=el[0].classList.contains(swiper.params.pagination.hiddenClass);if(isHidden===true){emit("paginationShow")}else{emit("paginationHide")}el.forEach(subEl=>subEl.classList.toggle(swiper.params.pagination.hiddenClass))}});const enable=()=>{swiper.el.classList.remove(swiper.params.pagination.paginationDisabledClass);let{el}=swiper.pagination;if(el){el=makeElementsArray(el);el.forEach(subEl=>subEl.classList.remove(swiper.params.pagination.paginationDisabledClass))}init();render();update()};const disable=()=>{swiper.el.classList.add(swiper.params.pagination.paginationDisabledClass);let{el}=swiper.pagination;if(el){el=makeElementsArray(el);el.forEach(subEl=>subEl.classList.add(swiper.params.pagination.paginationDisabledClass))}destroy()};Object.assign(swiper.pagination,{enable:enable,disable:disable,render:render,update:update,init:init,destroy:destroy})}function Scrollbar(_ref){let{swiper,extendParams,on,emit}=_ref;const document=getDocument();let isTouched=false;let timeout=null;let dragTimeout=null;let dragStartPos;let dragSize;let trackSize;let divider;extendParams({scrollbar:{el:null,dragSize:"auto",hide:false,draggable:false,snapOnRelease:true,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag",scrollbarDisabledClass:"swiper-scrollbar-disabled",horizontalClass:`swiper-scrollbar-horizontal`,verticalClass:`swiper-scrollbar-vertical`}});swiper.scrollbar={el:null,dragEl:null};function setTranslate(){if(!swiper.params.scrollbar.el||!swiper.scrollbar.el)return;const{scrollbar,rtlTranslate:rtl}=swiper;const{dragEl,el}=scrollbar;const params=swiper.params.scrollbar;const progress=swiper.params.loop?swiper.progressLoop:swiper.progress;let newSize=dragSize;let newPos=(trackSize-dragSize)*progress;if(rtl){newPos=-newPos;if(newPos>0){newSize=dragSize-newPos;newPos=0}else if(-newPos+dragSize>trackSize){newSize=trackSize+newPos}}else if(newPos<0){newSize=dragSize+newPos;newPos=0}else if(newPos+dragSize>trackSize){newSize=trackSize-newPos}if(swiper.isHorizontal()){dragEl.style.transform=`translate3d(${newPos}px, 0, 0)`;dragEl.style.width=`${newSize}px`}else{dragEl.style.transform=`translate3d(0px, ${newPos}px, 0)`;dragEl.style.height=`${newSize}px`}if(params.hide){clearTimeout(timeout);el.style.opacity=1;timeout=setTimeout(()=>{el.style.opacity=0;el.style.transitionDuration="400ms"},1e3)}}function setTransition(duration){if(!swiper.params.scrollbar.el||!swiper.scrollbar.el)return;swiper.scrollbar.dragEl.style.transitionDuration=`${duration}ms`}function updateSize(){if(!swiper.params.scrollbar.el||!swiper.scrollbar.el)return;const{scrollbar}=swiper;const{dragEl,el}=scrollbar;dragEl.style.width="";dragEl.style.height="";trackSize=swiper.isHorizontal()?el.offsetWidth:el.offsetHeight;divider=swiper.size/(swiper.virtualSize+swiper.params.slidesOffsetBefore-(swiper.params.centeredSlides?swiper.snapGrid[0]:0));if(swiper.params.scrollbar.dragSize==="auto"){dragSize=trackSize*divider}else{dragSize=parseInt(swiper.params.scrollbar.dragSize,10)}if(swiper.isHorizontal()){dragEl.style.width=`${dragSize}px`}else{dragEl.style.height=`${dragSize}px`}if(divider>=1){el.style.display="none"}else{el.style.display=""}if(swiper.params.scrollbar.hide){el.style.opacity=0}if(swiper.params.watchOverflow&&swiper.enabled){scrollbar.el.classList[swiper.isLocked?"add":"remove"](swiper.params.scrollbar.lockClass)}}function getPointerPosition(e){return swiper.isHorizontal()?e.clientX:e.clientY}function setDragPosition(e){const{scrollbar,rtlTranslate:rtl}=swiper;const{el}=scrollbar;let positionRatio;positionRatio=(getPointerPosition(e)-elementOffset(el)[swiper.isHorizontal()?"left":"top"]-(dragStartPos!==null?dragStartPos:dragSize/2))/(trackSize-dragSize);positionRatio=Math.max(Math.min(positionRatio,1),0);if(rtl){positionRatio=1-positionRatio}const position=swiper.minTranslate()+(swiper.maxTranslate()-swiper.minTranslate())*positionRatio;swiper.updateProgress(position);swiper.setTranslate(position);swiper.updateActiveIndex();swiper.updateSlidesClasses()}function onDragStart(e){const params=swiper.params.scrollbar;const{scrollbar,wrapperEl}=swiper;const{el,dragEl}=scrollbar;isTouched=true;dragStartPos=e.target===dragEl?getPointerPosition(e)-e.target.getBoundingClientRect()[swiper.isHorizontal()?"left":"top"]:null;e.preventDefault();e.stopPropagation();wrapperEl.style.transitionDuration="100ms";dragEl.style.transitionDuration="100ms";setDragPosition(e);clearTimeout(dragTimeout);el.style.transitionDuration="0ms";if(params.hide){el.style.opacity=1}if(swiper.params.cssMode){swiper.wrapperEl.style["scroll-snap-type"]="none"}emit("scrollbarDragStart",e)}function onDragMove(e){const{scrollbar,wrapperEl}=swiper;const{el,dragEl}=scrollbar;if(!isTouched)return;if(e.preventDefault&&e.cancelable)e.preventDefault();else e.returnValue=false;setDragPosition(e);wrapperEl.style.transitionDuration="0ms";el.style.transitionDuration="0ms";dragEl.style.transitionDuration="0ms";emit("scrollbarDragMove",e)}function onDragEnd(e){const params=swiper.params.scrollbar;const{scrollbar,wrapperEl}=swiper;const{el}=scrollbar;if(!isTouched)return;isTouched=false;
14007if(swiper.params.cssMode){swiper.wrapperEl.style["scroll-snap-type"]="";wrapperEl.style.transitionDuration=""}if(params.hide){clearTimeout(dragTimeout);dragTimeout=nextTick(()=>{el.style.opacity=0;el.style.transitionDuration="400ms"},1e3)}emit("scrollbarDragEnd",e);if(params.snapOnRelease){swiper.slideToClosest()}}function events(method){const{scrollbar,params}=swiper;const el=scrollbar.el;if(!el)return;const target=el;const activeListener=params.passiveListeners?{passive:false,capture:false}:false;const passiveListener=params.passiveListeners?{passive:true,capture:false}:false;if(!target)return;const eventMethod=method==="on"?"addEventListener":"removeEventListener";target[eventMethod]("pointerdown",onDragStart,activeListener);document[eventMethod]("pointermove",onDragMove,activeListener);document[eventMethod]("pointerup",onDragEnd,passiveListener)}function enableDraggable(){if(!swiper.params.scrollbar.el||!swiper.scrollbar.el)return;events("on")}function disableDraggable(){if(!swiper.params.scrollbar.el||!swiper.scrollbar.el)return;events("off")}function init(){const{scrollbar,el:swiperEl}=swiper;swiper.params.scrollbar=createElementIfNotDefined(swiper,swiper.originalParams.scrollbar,swiper.params.scrollbar,{el:"swiper-scrollbar"});const params=swiper.params.scrollbar;if(!params.el)return;let el;if(typeof params.el==="string"&&swiper.isElement){el=swiper.el.querySelector(params.el)}if(!el&&typeof params.el==="string"){el=document.querySelectorAll(params.el);if(!el.length)return}else if(!el){el=params.el}if(swiper.params.uniqueNavElements&&typeof params.el==="string"&&el.length>1&&swiperEl.querySelectorAll(params.el).length===1){el=swiperEl.querySelector(params.el)}if(el.length>0)el=el[0];el.classList.add(swiper.isHorizontal()?params.horizontalClass:params.verticalClass);let dragEl;if(el){dragEl=el.querySelector(classesToSelector(swiper.params.scrollbar.dragClass));if(!dragEl){dragEl=createElement("div",swiper.params.scrollbar.dragClass);el.append(dragEl)}}Object.assign(scrollbar,{el:el,dragEl:dragEl});if(params.draggable){enableDraggable()}if(el){el.classList[swiper.enabled?"remove":"add"](...classesToTokens(swiper.params.scrollbar.lockClass))}}function destroy(){const params=swiper.params.scrollbar;const el=swiper.scrollbar.el;if(el){el.classList.remove(...classesToTokens(swiper.isHorizontal()?params.horizontalClass:params.verticalClass))}disableDraggable()}on("changeDirection",()=>{if(!swiper.scrollbar||!swiper.scrollbar.el)return;const params=swiper.params.scrollbar;let{el}=swiper.scrollbar;el=makeElementsArray(el);el.forEach(subEl=>{subEl.classList.remove(params.horizontalClass,params.verticalClass);subEl.classList.add(swiper.isHorizontal()?params.horizontalClass:params.verticalClass)})});on("init",()=>{if(swiper.params.scrollbar.enabled===false){disable()}else{init();updateSize();setTranslate()}});on("update resize observerUpdate lock unlock changeDirection",()=>{updateSize()});on("setTranslate",()=>{setTranslate()});on("setTransition",(_s,duration)=>{setTransition(duration)});on("enable disable",()=>{const{el}=swiper.scrollbar;if(el){el.classList[swiper.enabled?"remove":"add"](...classesToTokens(swiper.params.scrollbar.lockClass))}});on("destroy",()=>{destroy()});const enable=()=>{swiper.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));if(swiper.scrollbar.el){swiper.scrollbar.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass))}init();updateSize();setTranslate()};const disable=()=>{swiper.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));if(swiper.scrollbar.el){swiper.scrollbar.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass))}destroy()};Object.assign(swiper.scrollbar,{enable:enable,disable:disable,updateSize:updateSize,setTranslate:setTranslate,init:init,destroy:destroy})}function Parallax(_ref){let{swiper,extendParams,on}=_ref;extendParams({parallax:{enabled:false}});const elementsSelector="[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]";const setTransform=(el,progress)=>{const{rtl}=swiper;const rtlFactor=rtl?-1:1;const p=el.getAttribute("data-swiper-parallax")||"0";let x=el.getAttribute("data-swiper-parallax-x");let y=el.getAttribute("data-swiper-parallax-y");const scale=el.getAttribute("data-swiper-parallax-scale");const opacity=el.getAttribute("data-swiper-parallax-opacity");const rotate=el.getAttribute("data-swiper-parallax-rotate");if(x||y){x=x||"0";y=y||"0"}
14007else if(swiper.isHorizontal()){x=p;y="0"}else{y=p;x="0"}if(x.indexOf("%")>=0){x=`${parseInt(x,10)*progress*rtlFactor}%`}else{x=`${x*progress*rtlFactor}px`}if(y.indexOf("%")>=0){y=`${parseInt(y,10)*progress}%`}else{y=`${y*progress}px`}if(typeof opacity!=="undefined"&&opacity!==null){const currentOpacity=opacity-(opacity-1)*(1-Math.abs(progress));el.style.opacity=currentOpacity}let transform=`translate3d(${x}, ${y}, 0px)`;if(typeof scale!=="undefined"&&scale!==null){const currentScale=scale-(scale-1)*(1-Math.abs(progress));transform+=` scale(${currentScale})`}if(rotate&&typeof rotate!=="undefined"&&rotate!==null){const currentRotate=rotate*progress*-1;transform+=` rotate(${currentRotate}deg)`}el.style.transform=transform};const setTranslate=()=>{const{el,slides,progress,snapGrid,isElement}=swiper;const elements=elementChildren(el,elementsSelector);if(swiper.isElement){elements.push(...elementChildren(swiper.hostEl,elementsSelector))}elements.forEach(subEl=>{setTransform(subEl,progress)});slides.forEach((slideEl,slideIndex)=>{let slideProgress=slideEl.progress;if(swiper.params.slidesPerGroup>1&&swiper.params.slidesPerView!=="auto"){slideProgress+=Math.ceil(slideIndex/2)-progress*(snapGrid.length-1)}slideProgress=Math.min(Math.max(slideProgress,-1),1);slideEl.querySelectorAll(`${elementsSelector}, [data-swiper-parallax-rotate]`).forEach(subEl=>{setTransform(subEl,slideProgress)})})};const setTransition=function(duration){if(duration===void 0){duration=swiper.params.speed}const{el,hostEl}=swiper;const elements=[...el.querySelectorAll(elementsSelector)];if(swiper.isElement){elements.push(...hostEl.querySelectorAll(elementsSelector))}elements.forEach(parallaxEl=>{let parallaxDuration=parseInt(parallaxEl.getAttribute("data-swiper-parallax-duration"),10)||duration;if(duration===0)parallaxDuration=0;parallaxEl.style.transitionDuration=`${parallaxDuration}ms`})};on("beforeInit",()=>{if(!swiper.params.parallax.enabled)return;swiper.params.watchSlidesProgress=true;swiper.originalParams.watchSlidesProgress=true});on("init",()=>{if(!swiper.params.parallax.enabled)return;setTranslate()});on("setTranslate",()=>{if(!swiper.params.parallax.enabled)return;setTranslate()});on("setTransition",(_swiper,duration)=>{if(!swiper.params.parallax.enabled)return;setTransition(duration)})}function Zoom(_ref){let{swiper,extendParams,on,emit}=_ref;const window=getWindow();extendParams({zoom:{enabled:false,limitToOriginalSize:false,maxRatio:3,minRatio:1,toggle:true,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}});swiper.zoom={enabled:false};let currentScale=1;let isScaling=false;let fakeGestureTouched;let fakeGestureMoved;const evCache=[];const gesture={originX:0,originY:0,slideEl:undefined,slideWidth:undefined,slideHeight:undefined,imageEl:undefined,imageWrapEl:undefined,maxRatio:3};const image={isTouched:undefined,isMoved:undefined,currentX:undefined,currentY:undefined,minX:undefined,minY:undefined,maxX:undefined,maxY:undefined,width:undefined,height:undefined,startX:undefined,startY:undefined,touchesStart:{},touchesCurrent:{}};const velocity={x:undefined,y:undefined,prevPositionX:undefined,prevPositionY:undefined,prevTime:undefined};let scale=1;Object.defineProperty(swiper.zoom,"scale",{get(){return scale},set(value){if(scale!==value){const imageEl=gesture.imageEl;const slideEl=gesture.slideEl;emit("zoomChange",value,imageEl,slideEl)}scale=value}});function getDistanceBetweenTouches(){if(evCache.length<2)return 1;const x1=evCache[0].pageX;const y1=evCache[0].pageY;const x2=evCache[1].pageX;const y2=evCache[1].pageY;const distance=Math.sqrt((x2-x1)**2+(y2-y1)**2);return distance}function getMaxRatio(){const params=swiper.params.zoom;const maxRatio=gesture.imageWrapEl.getAttribute("data-swiper-zoom")||params.maxRatio;if(params.limitToOriginalSize&&gesture.imageEl&&gesture.imageEl.naturalWidth){const imageMaxRatio=gesture.imageEl.naturalWidth/gesture.imageEl.offsetWidth;return Math.min(imageMaxRatio,maxRatio)}return maxRatio}
14007function getScaleOrigin(){if(evCache.length<2)return{x:null,y:null};const box=gesture.imageEl.getBoundingClientRect();return[(evCache[0].pageX+(evCache[1].pageX-evCache[0].pageX)/2-box.x-window.scrollX)/currentScale,(evCache[0].pageY+(evCache[1].pageY-evCache[0].pageY)/2-box.y-window.scrollY)/currentScale]}function getSlideSelector(){return swiper.isElement?`swiper-slide`:`.${swiper.params.slideClass}`}function eventWithinSlide(e){const slideSelector=getSlideSelector();if(e.target.matches(slideSelector))return true;if(swiper.slides.filter(slideEl=>slideEl.contains(e.target)).length>0)return true;return false}function eventWithinZoomContainer(e){const selector=`.${swiper.params.zoom.containerClass}`;if(e.target.matches(selector))return true;if([...swiper.hostEl.querySelectorAll(selector)].filter(containerEl=>containerEl.contains(e.target)).length>0)return true;return false}function onGestureStart(e){if(e.pointerType==="mouse"){evCache.splice(0,evCache.length)}if(!eventWithinSlide(e))return;const params=swiper.params.zoom;fakeGestureTouched=false;fakeGestureMoved=false;evCache.push(e);if(evCache.length<2){return}fakeGestureTouched=true;gesture.scaleStart=getDistanceBetweenTouches();if(!gesture.slideEl){gesture.slideEl=e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);if(!gesture.slideEl)gesture.slideEl=swiper.slides[swiper.activeIndex];let imageEl=gesture.slideEl.querySelector(`.${params.containerClass}`);if(imageEl){imageEl=imageEl.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]}gesture.imageEl=imageEl;if(imageEl){gesture.imageWrapEl=elementParents(gesture.imageEl,`.${params.containerClass}`)[0]}else{gesture.imageWrapEl=undefined}if(!gesture.imageWrapEl){gesture.imageEl=undefined;return}gesture.maxRatio=getMaxRatio()}if(gesture.imageEl){const[originX,originY]=getScaleOrigin();gesture.originX=originX;gesture.originY=originY;gesture.imageEl.style.transitionDuration="0ms"}isScaling=true}function onGestureChange(e){if(!eventWithinSlide(e))return;const params=swiper.params.zoom;const zoom=swiper.zoom;const pointerIndex=evCache.findIndex(cachedEv=>cachedEv.pointerId===e.pointerId);if(pointerIndex>=0)evCache[pointerIndex]=e;if(evCache.length<2){return}fakeGestureMoved=true;gesture.scaleMove=getDistanceBetweenTouches();if(!gesture.imageEl){return}zoom.scale=gesture.scaleMove/gesture.scaleStart*currentScale;if(zoom.scale>gesture.maxRatio){zoom.scale=gesture.maxRatio-1+(zoom.scale-gesture.maxRatio+1)**.5}if(zoom.scale<params.minRatio){zoom.scale=params.minRatio+1-(params.minRatio-zoom.scale+1)**.5}gesture.imageEl.style.transform=`translate3d(0,0,0) scale(${zoom.scale})`}function onGestureEnd(e){if(!eventWithinSlide(e))return;if(e.pointerType==="mouse"&&e.type==="pointerout")return;const params=swiper.params.zoom;const zoom=swiper.zoom;const pointerIndex=evCache.findIndex(cachedEv=>cachedEv.pointerId===e.pointerId);if(pointerIndex>=0)evCache.splice(pointerIndex,1);if(!fakeGestureTouched||!fakeGestureMoved){return}fakeGestureTouched=false;fakeGestureMoved=false;if(!gesture.imageEl)return;zoom.scale=Math.max(Math.min(zoom.scale,gesture.maxRatio),params.minRatio);gesture.imageEl.style.transitionDuration=`${swiper.params.speed}ms`;gesture.imageEl.style.transform=`translate3d(0,0,0) scale(${zoom.scale})`;currentScale=zoom.scale;isScaling=false;if(zoom.scale>1&&gesture.slideEl){gesture.slideEl.classList.add(`${params.zoomedSlideClass}`)}else if(zoom.scale<=1&&gesture.slideEl){gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`)}if(zoom.scale===1){gesture.originX=0;gesture.originY=0;gesture.slideEl=undefined}}let allowTouchMoveTimeout;function allowTouchMove(){swiper.touchEventsData.preventTouchMoveFromPointerMove=false}function preventTouchMove(){clearTimeout(allowTouchMoveTimeout);swiper.touchEventsData.preventTouchMoveFromPointerMove=true;allowTouchMoveTimeout=setTimeout(()=>{allowTouchMove()})}function onTouchStart(e){const device=swiper.device;if(!gesture.imageEl)return;if(image.isTouched)return;if(device.android&&e.cancelable)e.preventDefault();image.isTouched=true;const event=evCache.length>0?evCache[0]:e;image.touchesStart.x=event.pageX;image.touchesStart.y=event.pageY}function onTouchMove(e){if(!eventWithinSlide(e)||!eventWithinZoomContainer(e)){return}const zoom=swiper.zoom;if(!gesture.imageEl){return}if(!image.isTouched||!gesture.slideEl){return}if(!image.isMoved){image.width=gesture.imageEl.offsetWidth||gesture.imageEl.clientWidth;image.height=gesture.imageEl.offsetHeight||gesture.imageEl.clientHeight;image.startX=getTranslate(gesture.imageWrapEl,"x")||0;image.startY=getTranslate(gesture.imageWrapEl,"y")||0;gesture.slideWidth=gesture.slideEl.offsetWidth;gesture.slideHeight=gesture.slideEl.offsetHeight;gesture.imageWrapEl.style.transitionDuration="0ms"}const scaledWidth=image.width*zoom.scale;const scaledHeight=image.height*zoom.scale;image.minX=Math.min(gesture.slideWidth/2-scaledWidth/2,0);image.maxX=-image.minX;image.minY=Math.min(gesture.slideHeight/2-scaledHeight/2,0);image.maxY=-image.minY;image.touchesCurrent.x=evCache.length>0?evCache[0].pageX:e.pageX;image.touchesCurrent.y=evCache.length>0?evCache[0].pageY:e.pageY;const touchesDiff=Math.max(Math.abs(image.touchesCurrent.x-image.touchesStart.x),Math.abs(image.touchesCurrent.y-image.touchesStart.y));if(touchesDiff>5){swiper.allowClick=false}if(!image.isMoved&&!isScaling){if(swiper.isHorizontal()&&(Math.floor(image.minX)===Math.floor(image.startX)&&image.touchesCurrent.x<image.touchesStart.x||Math.floor(image.maxX)===Math.floor(image.startX)&&image.touchesCurrent.x>image.touchesStart.x)){image.isTouched=false;allowTouchMove();return}if(!swiper.isHorizontal()&&(Math.floor(image.minY)===Math.floor(image.startY)&&image.touchesCurrent.y<image.touchesStart.y||Math.floor(image.maxY)===Math.floor(image.startY)&&image.touchesCurrent.y>image.touchesStart.y)){image.isTouched=false;allowTouchMove();return}}if(e.cancelable){e.preventDefault()}e.stopPropagation();preventTouchMove();image.isMoved=true;const scaleRatio=(zoom.scale-currentScale)/(gesture.maxRatio-swiper.params.zoom.minRatio);const{originX,originY}=gesture;image.currentX=image.touchesCurrent.x-image.touchesStart.x+image.startX+scaleRatio*(image.width-originX*2);image.currentY=image.touchesCurrent.y-image.touchesStart.y+image.startY+scaleRatio*(image.height-originY*2);if(image.currentX<image.minX){image.currentX=image.minX+1-(image.minX-image.currentX+1)**.8}if(image.currentX>image.maxX){image.currentX=image.maxX-1+(image.currentX-image.maxX+1)**.8}if(image.currentY<image.minY){image.currentY=image.minY+1-(image.minY-image.currentY+1)**.8}if(image.currentY>image.maxY){image.currentY=image.maxY-1+(image.currentY-image.maxY+1)**.8}if(!velocity.prevPositionX)velocity.prevPositionX=image.touchesCurrent.x;if(!velocity.prevPositionY)velocity.prevPositionY=image.touchesCurrent.y;if(!velocity.prevTime)velocity.prevTime=Date.now();velocity.x=(image.touchesCurrent.x-velocity.prevPositionX)/(Date.now()-velocity.prevTime)/2;velocity.y=(image.touchesCurrent.y-velocity.prevPositionY)/(Date.now()-velocity.prevTime)/2;if(Math.abs(image.touchesCurrent.x-velocity.prevPositionX)<2)velocity.x=0;if(Math.abs(image.touchesCurrent.y-velocity.prevPositionY)<2)velocity.y=0;velocity.prevPositionX=image.touchesCurrent.x;velocity.prevPositionY=image.touchesCurrent.y;velocity.prevTime=Date.now();gesture.imageWrapEl.style.transform=`translate3d(${image.currentX}px, ${image.currentY}px,0)`}function onTouchEnd(){const zoom=swiper.zoom;if(!gesture.imageEl)return;if(!image.isTouched||!image.isMoved){image.isTouched=false;image.isMoved=false;return}image.isTouched=false;image.isMoved=false;let momentumDurationX=300;let momentumDurationY=300;const momentumDistanceX=velocity.x*momentumDurationX;const newPositionX=image.currentX+momentumDistanceX;const momentumDistanceY=velocity.y*momentumDurationY;const newPositionY=image.currentY+momentumDistanceY;if(velocity.x!==0)momentumDurationX=Math.abs((newPositionX-image.currentX)/velocity.x);if(velocity.y!==0)momentumDurationY=Math.abs((newPositionY-image.currentY)/velocity.y);const momentumDuration=Math.max(momentumDurationX,momentumDurationY);image.currentX=newPositionX;image.currentY=newPositionY;const scaledWidth=image.width*zoom.scale;const scaledHeight=image.height*zoom.scale;image.minX=Math.min(gesture.slideWidth/2-scaledWidth/2,0);image.maxX=-image.minX;image.minY=Math.min(gesture.slideHeight/2-scaledHeight/2,0);image.maxY=-image.minY;image.currentX=Math.max(Math.min(image.currentX,image.maxX),image.minX);image.currentY=Math.max(Math.min(image.currentY,image.maxY),image.minY);gesture.imageWrapEl.style.transitionDuration=`${momentumDuration}ms`;gesture.imageWrapEl.style.transform=`translate3d(${image.currentX}px, ${image.currentY}px,0)`}function onTransitionEnd(){const zoom=swiper.zoom;if(gesture.slideEl&&swiper.activeIndex!==swiper.slides.indexOf(gesture.slideEl)){if(gesture.imageEl){gesture.imageEl.style.transform="translate3d(0,
140070,0) scale(1)"}if(gesture.imageWrapEl){gesture.imageWrapEl.style.transform="translate3d(0,0,0)"}gesture.slideEl.classList.remove(`${swiper.params.zoom.zoomedSlideClass}`);zoom.scale=1;currentScale=1;gesture.slideEl=undefined;gesture.imageEl=undefined;gesture.imageWrapEl=undefined;gesture.originX=0;gesture.originY=0}}function zoomIn(e){const zoom=swiper.zoom;const params=swiper.params.zoom;if(!gesture.slideEl){if(e&&e.target){gesture.slideEl=e.target.closest(`.${swiper.params.slideClass}, swiper-slide`)}if(!gesture.slideEl){if(swiper.params.virtual&&swiper.params.virtual.enabled&&swiper.virtual){gesture.slideEl=elementChildren(swiper.slidesEl,`.${swiper.params.slideActiveClass}`)[0]}else{gesture.slideEl=swiper.slides[swiper.activeIndex]}}let imageEl=gesture.slideEl.querySelector(`.${params.containerClass}`);if(imageEl){imageEl=imageEl.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]}gesture.imageEl=imageEl;if(imageEl){gesture.imageWrapEl=elementParents(gesture.imageEl,`.${params.containerClass}`)[0]}else{gesture.imageWrapEl=undefined}}if(!gesture.imageEl||!gesture.imageWrapEl)return;if(swiper.params.cssMode){swiper.wrapperEl.style.overflow="hidden";swiper.wrapperEl.style.touchAction="none"}gesture.slideEl.classList.add(`${params.zoomedSlideClass}`);let touchX;let touchY;let offsetX;let offsetY;let diffX;let diffY;let translateX;let translateY;let imageWidth;let imageHeight;let scaledWidth;let scaledHeight;let translateMinX;let translateMinY;let translateMaxX;let translateMaxY;let slideWidth;let slideHeight;if(typeof image.touchesStart.x==="undefined"&&e){touchX=e.pageX;touchY=e.pageY}else{touchX=image.touchesStart.x;touchY=image.touchesStart.y}const forceZoomRatio=typeof e==="number"?e:null;
14007if(currentScale===1&&forceZoomRatio){touchX=undefined;touchY=undefined}const maxRatio=getMaxRatio();zoom.scale=forceZoomRatio||maxRatio;currentScale=forceZoomRatio||maxRatio;if(e&&!(currentScale===1&&forceZoomRatio)){slideWidth=gesture.slideEl.offsetWidth;slideHeight=gesture.slideEl.offsetHeight;offsetX=elementOffset(gesture.slideEl).left+window.scrollX;offsetY=elementOffset(gesture.slideEl).top+window.scrollY;diffX=offsetX+slideWidth/2-touchX;diffY=offsetY+slideHeight/2-touchY;imageWidth=gesture.imageEl.offsetWidth||gesture.imageEl.clientWidth;imageHeight=gesture.imageEl.offsetHeight||gesture.imageEl.clientHeight;scaledWidth=imageWidth*zoom.scale;scaledHeight=imageHeight*zoom.scale;translateMinX=Math.min(slideWidth/2-scaledWidth/2,0);translateMinY=Math.min(slideHeight/2-scaledHeight/2,0);translateMaxX=-translateMinX;translateMaxY=-translateMinY;translateX=diffX*zoom.scale;translateY=diffY*zoom.scale;if(translateX<translateMinX){translateX=translateMinX}if(translateX>translateMaxX){translateX=translateMaxX}if(translateY<translateMinY){translateY=translateMinY}if(translateY>translateMaxY){translateY=translateMaxY}}else{translateX=0;translateY=0}if(forceZoomRatio&&zoom.scale===1){gesture.originX=0;gesture.originY=0}gesture.imageWrapEl.style.transitionDuration="300ms";gesture.imageWrapEl.style.transform=`translate3d(${translateX}px, ${translateY}px,0)`;gesture.imageEl.style.transitionDuration="300ms";gesture.imageEl.style.transform=`translate3d(0,0,0) scale(${zoom.scale})`}function zoomOut(){const zoom=swiper.zoom;const params=swiper.params.zoom;if(!gesture.slideEl){if(swiper.params.virtual&&swiper.params.virtual.enabled&&swiper.virtual){gesture.slideEl=elementChildren(swiper.slidesEl,`.${swiper.params.slideActiveClass}`)[0]}else{gesture.slideEl=swiper.slides[swiper.activeIndex]}let imageEl=gesture.slideEl.querySelector(`.${params.containerClass}`);if(imageEl){imageEl=imageEl.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]}gesture.imageEl=imageEl;if(imageEl){gesture.imageWrapEl=elementParents(gesture.imageEl,`.${params.containerClass}`)[0]}else{gesture.imageWrapEl=undefined}}if(!gesture.imageEl||!gesture.imageWrapEl)return;if(swiper.params.cssMode){swiper.wrapperEl.style.overflow="";swiper.wrapperEl.style.touchAction=""}zoom.scale=1;currentScale=1;gesture.imageWrapEl.style.transitionDuration="300ms";gesture.imageWrapEl.style.transform="translate3d(0,0,0)";gesture.imageEl.style.transitionDuration="300ms";gesture.imageEl.style.transform="translate3d(0,0,0) scale(1)";gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`);gesture.slideEl=undefined;gesture.originX=0;gesture.originY=0}function zoomToggle(e){const zoom=swiper.zoom;if(zoom.scale&&zoom.scale!==1){zoomOut()}else{zoomIn(e)}}function getListeners(){const passiveListener=swiper.params.passiveListeners?{passive:true,capture:false}:false;const activeListenerWithCapture=swiper.params.passiveListeners?{passive:false,capture:true}:true;return{passiveListener:passiveListener,activeListenerWithCapture:activeListenerWithCapture}}function enable(){const zoom=swiper.zoom;if(zoom.enabled)return;zoom.enabled=true;const{passiveListener,activeListenerWithCapture}=getListeners();swiper.wrapperEl.addEventListener("pointerdown",onGestureStart,passiveListener);swiper.wrapperEl.addEventListener("pointermove",onGestureChange,activeListenerWithCapture);["pointerup","pointercancel","pointerout"].forEach(eventName=>{swiper.wrapperEl.addEventListener(eventName,onGestureEnd,passiveListener)});swiper.wrapperEl.addEventListener("pointermove",onTouchMove,activeListenerWithCapture)}function disable(){const zoom=swiper.zoom;if(!zoom.enabled)return;zoom.enabled=false;const{passiveListener,activeListenerWithCapture}=getListeners();swiper.wrapperEl.removeEventListener("pointerdown",onGestureStart,passiveListener);swiper.wrapperEl.removeEventListener("pointermove",onGestureChange,activeListenerWithCapture);["pointerup","pointercancel","pointerout"].forEach(eventName=>{swiper.wrapperEl.removeEventListener(eventName,onGestureEnd,passiveListener)});swiper.wrapperEl.removeEventListener("pointermove",onTouchMove,activeListenerWithCapture)}on("init",()=>{if(swiper.params.zoom.enabled){enable()}});on("destroy",()=>{disable()});on("touchStart",(_s,e)=>{if(!swiper.zoom.enabled)return;onTouchStart(e)});on("touchEnd",(_s,e)=>{if(!swiper.zoom.enabled)return;onTouchEnd()});on("doubleTap",(_s,e)=>{if(!swiper.animating&&swiper.params.zoom.enabled&&swiper.zoom.enabled&&swiper.params.zoom.toggle){zoomToggle(e)}});on("transitionEnd",()=>{if(swiper.zoom.enabled&&swiper.params.zoom.enabled){onTransitionEnd()}});on("slideChange",()=>{if(swiper.zoom.enabled&&swiper.params.zoom.enabled&&swiper.params.cssMode){onTransitionEnd()}});Object.assign(swiper.zoom,{enable:enable,disable:disable,in:zoomIn,out:zoomOut,toggle:zoomToggle})}function Controller(_ref){let{swiper,extendParams,on}=_ref;extendParams({controller:{control:undefined,inverse:false,by:"slide"}});swiper.controller={control:undefined};function LinearSpline(x,y){const binarySearch=function search(){let maxIndex;let minIndex;let guess;return(array,val)=>{minIndex=-1;maxIndex=array.length;while(maxIndex-minIndex>1){guess=maxIndex+minIndex>>1;
14007if(array[guess]<=val){minIndex=guess}else{maxIndex=guess}}return maxIndex}}();this.x=x;this.y=y;this.lastIndex=x.length-1;let i1;let i3;this.interpolate=function interpolate(x2){if(!x2)return 0;i3=binarySearch(this.x,x2);i1=i3-1;return(x2-this.x[i1])*(this.y[i3]-this.y[i1])/(this.x[i3]-this.x[i1])+this.y[i1]};return this}function getInterpolateFunction(c){swiper.controller.spline=swiper.params.loop?new LinearSpline(swiper.slidesGrid,c.slidesGrid):new LinearSpline(swiper.snapGrid,c.snapGrid)}function setTranslate(_t,byController){const controlled=swiper.controller.control;let multiplier;let controlledTranslate;const Swiper=swiper.constructor;function setControlledTranslate(c){if(c.destroyed)return;const translate=swiper.rtlTranslate?-swiper.translate:swiper.translate;if(swiper.params.controller.by==="slide"){getInterpolateFunction(c);controlledTranslate=-swiper.controller.spline.interpolate(-translate)}if(!controlledTranslate||swiper.params.controller.by==="container"){multiplier=(c.maxTranslate()-c.minTranslate())/(swiper.maxTranslate()-swiper.minTranslate());if(Number.isNaN(multiplier)||!Number.isFinite(multiplier)){multiplier=1}controlledTranslate=(translate-swiper.minTranslate())*multiplier+c.minTranslate()}if(swiper.params.controller.inverse){controlledTranslate=c.maxTranslate()-controlledTranslate}c.updateProgress(controlledTranslate);c.setTranslate(controlledTranslate,swiper);c.updateActiveIndex();c.updateSlidesClasses()}if(Array.isArray(controlled)){for(let i=0;i<controlled.length;i+=1){if(controlled[i]!==byController&&controlled[i]instanceof Swiper){setControlledTranslate(controlled[i])}}}else if(controlled instanceof Swiper&&byController!==controlled){setControlledTranslate(controlled)}}function setTransition(duration,byController){const Swiper=swiper.constructor;const controlled=swiper.controller.control;let i;function setControlledTransition(c){if(c.destroyed)return;c.setTransition(duration,swiper);if(duration!==0){c.transitionStart();if(c.params.autoHeight){nextTick(()=>{c.updateAutoHeight()})}elementTransitionEnd(c.wrapperEl,()=>{if(!controlled)return;c.transitionEnd()})}}if(Array.isArray(controlled)){for(i=0;i<controlled.length;i+=1){if(controlled[i]!==byController&&controlled[i]instanceof Swiper){setControlledTransition(controlled[i])}}}else if(controlled instanceof Swiper&&byController!==controlled){setControlledTransition(controlled)}}function removeSpline(){if(!swiper.controller.control)return;if(swiper.controller.spline){swiper.controller.spline=undefined;delete swiper.controller.spline}}on("beforeInit",()=>{if(typeof window!=="undefined"&&(typeof swiper.params.controller.control==="string"||swiper.params.controller.control instanceof HTMLElement)){const controlElements=typeof swiper.params.controller.control==="string"?[...document.querySelectorAll(swiper.params.controller.control)]:[swiper.params.controller.control];controlElements.forEach(controlElement=>{if(!swiper.controller.control)swiper.controller.control=[];if(controlElement&&controlElement.swiper){swiper.controller.control.push(controlElement.swiper)}else if(controlElement){const eventName=`${swiper.params.eventsPrefix}init`;const onControllerSwiper=e=>{swiper.controller.control.push(e.detail[0]);swiper.update();controlElement.removeEventListener(eventName,onControllerSwiper)};controlElement.addEventListener(eventName,onControllerSwiper)}});return}swiper.controller.control=swiper.params.controller.control});on("update",()=>{removeSpline()});on("resize",()=>{removeSpline()});on("observerUpdate",()=>{removeSpline()});on("setTranslate",(_s,translate,byController)=>{if(!swiper.controller.control||swiper.controller.control.destroyed)return;swiper.controller.setTranslate(translate,byController)});on("setTransition",(_s,duration,byController)=>{if(!swiper.controller.control||swiper.controller.control.destroyed)return;swiper.controller.setTransition(duration,byController)});Object.assign(swiper.controller,{setTranslate:setTranslate,setTransition:setTransition})}function A11y(_ref){let{swiper,extendParams,on}=_ref;extendParams({a11y:{enabled:true,notificationClass:"swiper-notification",prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",paginationBulletMessage:"Go to slide {{index}}",slideLabelMessage:"{{index}} / {{slidesLength}}",containerMessage:null,containerRoleDescriptionMessage:null,itemRoleDescriptionMessage:null,slideRole:"group",id:null,
14007scrollOnFocus:true}});swiper.a11y={clicked:false};let liveRegion=null;let preventFocusHandler;let focusTargetSlideEl;let visibilityChangedTimestamp=(new Date).getTime();function notify(message){const notification=liveRegion;if(notification.length===0)return;notification.innerHTML="";notification.innerHTML=message}function getRandomNumber(size){if(size===void 0){size=16}const randomChar=()=>Math.round(16*Math.random()).toString(16);return"x".repeat(size).replace(/x/g,randomChar)}function makeElFocusable(el){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute("tabIndex","0")})}function makeElNotFocusable(el){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute("tabIndex","-1")})}function addElRole(el,role){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute("role",role)})}function addElRoleDescription(el,description){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute("aria-roledescription",description)})}function addElControls(el,controls){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute("aria-controls",controls)})}function addElLabel(el,label){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute("aria-label",label)})}function addElId(el,id){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute("id",id)})}function addElLive(el,live){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute("aria-live",live)})}function disableEl(el){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute("aria-disabled",true)})}function enableEl(el){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute("aria-disabled",false)})}function onEnterOrSpaceKey(e){if(e.keyCode!==13&&e.keyCode!==32)return;const params=swiper.params.a11y;const targetEl=e.target;if(swiper.pagination&&swiper.pagination.el&&(targetEl===swiper.pagination.el||swiper.pagination.el.contains(e.target))){if(!e.target.matches(classesToSelector(swiper.params.pagination.bulletClass)))return}if(swiper.navigation&&swiper.navigation.prevEl&&swiper.navigation.nextEl){const prevEls=makeElementsArray(swiper.navigation.prevEl);const nextEls=makeElementsArray(swiper.navigation.nextEl);if(nextEls.includes(targetEl)){if(!(swiper.isEnd&&!swiper.params.loop)){swiper.slideNext()}if(swiper.isEnd){notify(params.lastSlideMessage)}else{notify(params.nextSlideMessage)}}if(prevEls.includes(targetEl)){if(!(swiper.isBeginning&&!swiper.params.loop)){swiper.slidePrev()}if(swiper.isBeginning){notify(params.firstSlideMessage)}else{notify(params.prevSlideMessage)}}}if(swiper.pagination&&targetEl.matches(classesToSelector(swiper.params.pagination.bulletClass))){targetEl.click()}}function updateNavigation(){if(swiper.params.loop||swiper.params.rewind||!swiper.navigation)return;const{nextEl,prevEl}=swiper.navigation;if(prevEl){if(swiper.isBeginning){disableEl(prevEl);makeElNotFocusable(prevEl)}else{enableEl(prevEl);makeElFocusable(prevEl)}}if(nextEl){if(swiper.isEnd){disableEl(nextEl);makeElNotFocusable(nextEl)}else{enableEl(nextEl);makeElFocusable(nextEl)}}}function hasPagination(){return swiper.pagination&&swiper.pagination.bullets&&swiper.pagination.bullets.length}function hasClickablePagination(){return hasPagination()&&swiper.params.pagination.clickable}function updatePagination(){const params=swiper.params.a11y;if(!hasPagination())return;swiper.pagination.bullets.forEach(bulletEl=>{if(swiper.params.pagination.clickable){makeElFocusable(bulletEl);if(!swiper.params.pagination.renderBullet){addElRole(bulletEl,"button");addElLabel(bulletEl,params.paginationBulletMessage.replace(/\{\{index\}\}/,elementIndex(bulletEl)+1))}}if(bulletEl.matches(classesToSelector(swiper.params.pagination.bulletActiveClass))){bulletEl.setAttribute("aria-current","true")}else{bulletEl.removeAttribute("aria-current")}})}const initNavEl=(el,wrapperId,message)=>{makeElFocusable(el);if(el.tagName!=="BUTTON"){addElRole(el,"button");el.addEventListener("keydown",onEnterOrSpaceKey)}addElLabel(el,message);addElControls(el,wrapperId)};const handlePointerDown=e=>{if(focusTargetSlideEl&&focusTargetSlideEl!==e.target&&!focusTargetSlideEl.contains(e.target)){preventFocusHandler=true}swiper.a11y.clicked=true};const handlePointerUp=()=>{preventFocusHandler=false;requestAnimationFrame(()=>{requestAnimationFrame(()=>{if(!swiper.destroyed){swiper.a11y.clicked=false}})})};const onVisibilityChange=e=>{visibilityChangedTimestamp=(new Date).getTime()};const handleFocus=e=>
14007{if(swiper.a11y.clicked||!swiper.params.a11y.scrollOnFocus)return;if((new Date).getTime()-visibilityChangedTimestamp<100)return;const slideEl=e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);if(!slideEl||!swiper.slides.includes(slideEl))return;focusTargetSlideEl=slideEl;const isActive=swiper.slides.indexOf(slideEl)===swiper.activeIndex;const isVisible=swiper.params.watchSlidesProgress&&swiper.visibleSlides&&swiper.visibleSlides.includes(slideEl);if(isActive||isVisible)return;if(e.sourceCapabilities&&e.sourceCapabilities.firesTouchEvents)return;if(swiper.isHorizontal()){swiper.el.scrollLeft=0}else{swiper.el.scrollTop=0}requestAnimationFrame(()=>{if(preventFocusHandler)return;if(swiper.params.loop){swiper.slideToLoop(parseInt(slideEl.getAttribute("data-swiper-slide-index")),0)}else{swiper.slideTo(swiper.slides.indexOf(slideEl),0)}preventFocusHandler=false})};const initSlides=()=>{const params=swiper.params.a11y;if(params.itemRoleDescriptionMessage){addElRoleDescription(swiper.slides,params.itemRoleDescriptionMessage)}if(params.slideRole){addElRole(swiper.slides,params.slideRole)}const slidesLength=swiper.slides.length;if(params.slideLabelMessage){swiper.slides.forEach((slideEl,index)=>{const slideIndex=swiper.params.loop?parseInt(slideEl.getAttribute("data-swiper-slide-index"),10):index;const ariaLabelMessage=params.slideLabelMessage.replace(/\{\{index\}\}/,slideIndex+1).replace(/\{\{slidesLength\}\}/,slidesLength);addElLabel(slideEl,ariaLabelMessage)})}};const init=()=>{const params=swiper.params.a11y;swiper.el.append(liveRegion);const containerEl=swiper.el;if(params.containerRoleDescriptionMessage){addElRoleDescription(containerEl,params.containerRoleDescriptionMessage)}if(params.containerMessage){addElLabel(containerEl,params.containerMessage)}const wrapperEl=swiper.wrapperEl;const wrapperId=params.id||wrapperEl.getAttribute("id")||`swiper-wrapper-${getRandomNumber(16)}`;const live=swiper.params.autoplay&&swiper.params.autoplay.enabled?"off":"polite";addElId(wrapperEl,wrapperId);addElLive(wrapperEl,live);initSlides();let{nextEl,prevEl}=swiper.navigation?swiper.navigation:{};nextEl=makeElementsArray(nextEl);prevEl=makeElementsArray(prevEl);if(nextEl){nextEl.forEach(el=>initNavEl(el,wrapperId,params.nextSlideMessage))}if(prevEl){prevEl.forEach(el=>initNavEl(el,wrapperId,params.prevSlideMessage))}if(hasClickablePagination()){const paginationEl=makeElementsArray(swiper.pagination.el);paginationEl.forEach(el=>{el.addEventListener("keydown",onEnterOrSpaceKey)})}const document=getDocument();document.addEventListener("visibilitychange",onVisibilityChange);swiper.el.addEventListener("focus",handleFocus,true);swiper.el.addEventListener("focus",handleFocus,true);swiper.el.addEventListener("pointerdown",handlePointerDown,true);swiper.el.addEventListener("pointerup",handlePointerUp,true)};function destroy(){if(liveRegion)liveRegion.remove();let{nextEl,prevEl}=swiper.navigation?swiper.navigation:{};nextEl=makeElementsArray(nextEl);prevEl=makeElementsArray(prevEl);if(nextEl){nextEl.forEach(el=>el.removeEventListener("keydown",onEnterOrSpaceKey))}if(prevEl){prevEl.forEach(el=>el.removeEventListener("keydown",onEnterOrSpaceKey))}if(hasClickablePagination()){const paginationEl=makeElementsArray(swiper.pagination.el);paginationEl.forEach(el=>{el.removeEventListener("keydown",onEnterOrSpaceKey)})}const document=getDocument();document.removeEventListener("visibilitychange",onVisibilityChange);if(swiper.el&&typeof swiper.el!=="string"){swiper.el.removeEventListener("focus",handleFocus,true);swiper.el.removeEventListener("pointerdown",handlePointerDown,true);swiper.el.removeEventListener("pointerup",handlePointerUp,true)}}on("beforeInit",()=>{liveRegion=createElement("span",swiper.params.a11y.notificationClass);liveRegion.setAttribute("aria-live","assertive");liveRegion.setAttribute("aria-atomic","true")});on("afterInit",()=>{if(!swiper.params.a11y.enabled)return;init()});on("slidesLengthChange snapGridLengthChange slidesGridLengthChange",()=>{if(!swiper.params.a11y.enabled)return;initSlides()});on("fromEdge toEdge afterInit lock unlock",()=>{if(!swiper.params.a11y.enabled)return;updateNavigation()});on("paginationUpdate",()=>{if(!swiper.params.a11y.enabled)return;updatePagination()});on("destroy",()=>{if(!swiper.params.a11y.enabled)return;destroy()})}function History(_ref){let{swiper,extendParams,on}=_ref;extendParams({history:{enabled:false,root:"",replaceState:false,key:"slides",keepQuery:false}});let initialized=false;let paths={};const slugify=text=>{return text.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")};const getPathValues=urlOverride=>{const window=getWindow();let location;if(urlOverride){location=new URL(urlOverride)}else{location=window.location}const pathArray=location.pathname.slice(1).split("/").filter(part=>part!=="");const total=pathArray.length;const key=pathArray[total-2];const value=pathArray[total-1];return{key:key,value:value}};const setHistory=(key,index)=>{const window=getWindow();if(!initialized||!swiper.params.history.enabled)return;let location;if(swiper.params.url){location=new URL(swiper.params.url)}else{location=window.location}const slide=swiper.virtual&&swiper.params.virtual.enabled?swiper.slidesEl.querySelector(`[data-swiper-slide-index="${index}"]`):swiper.slides[index];let value=slugify(slide.getAttribute("data-history"));if(swiper.params.history.root.length>0){let root=swiper.params.history.root;if(root[root.length-1]==="/")root=root.slice(0,root.length-1);value=`${root}/${key?`${key}/`:""}${value}`}else if(!location.pathname.includes(key)){value=`${key?`${key}/`:""}${value}`}if(swiper.params.history.keepQuery){value+=location.search}const currentState=window.history.state;if(currentState&&currentState.value===value){return}if(swiper.params.history.replaceState){window.history.replaceState({value:value},null,value)}else{window.history.pushState({value:value},null,value)}};const scrollToSlide=(speed,value,runCallbacks)=>{if(value){for(let i=0,length=swiper.slides.length;i<length;i+=1){const slide=swiper.slides[i];const slideHistory=slugify(slide.getAttribute("data-history"));if(slideHistory===value){const index=swiper.getSlideIndex(slide);swiper.slideTo(index,speed,runCallbacks)}}}else{swiper.slideTo(0,speed,runCallbacks)}};const setHistoryPopState=()=>{paths=getPathValues(swiper.params.url);
14007scrollToSlide(swiper.params.speed,paths.value,false)};const init=()=>{const window=getWindow();if(!swiper.params.history)return;if(!window.history||!window.history.pushState){swiper.params.history.enabled=false;swiper.params.hashNavigation.enabled=true;return}initialized=true;paths=getPathValues(swiper.params.url);if(!paths.key&&!paths.value){if(!swiper.params.history.replaceState){window.addEventListener("popstate",setHistoryPopState)}return}scrollToSlide(0,paths.value,swiper.params.runCallbacksOnInit);if(!swiper.params.history.replaceState){window.addEventListener("popstate",setHistoryPopState)}};const destroy=()=>{const window=getWindow();if(!swiper.params.history.replaceState){window.removeEventListener("popstate",setHistoryPopState)}};on("init",()=>{if(swiper.params.history.enabled){init()}});on("destroy",()=>{if(swiper.params.history.enabled){destroy()}});on("transitionEnd _freeModeNoMomentumRelease",()=>{if(initialized){setHistory(swiper.params.history.key,swiper.activeIndex)}});on("slideChange",()=>{if(initialized&&swiper.params.cssMode){setHistory(swiper.params.history.key,swiper.activeIndex)}})}function HashNavigation(_ref){let{swiper,extendParams,emit,on}=_ref;let initialized=false;const document=getDocument();const window=getWindow();extendParams({hashNavigation:{enabled:false,replaceState:false,watchState:false,getSlideIndex(_s,hash){if(swiper.virtual&&swiper.params.virtual.enabled){const slideWithHash=swiper.slides.filter(slideEl=>slideEl.getAttribute("data-hash")===hash)[0];if(!slideWithHash)return 0;const index=parseInt(slideWithHash.getAttribute("data-swiper-slide-index"),10);return index}return swiper.getSlideIndex(elementChildren(swiper.slidesEl,`.${swiper.params.slideClass}[data-hash="${hash}"], swiper-slide[data-hash="${hash}"]`)[0])}}});const onHashChange=()=>{emit("hashChange");const newHash=document.location.hash.replace("#","");const activeSlideEl=swiper.virtual&&swiper.params.virtual.enabled?swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`):swiper.slides[swiper.activeIndex];const activeSlideHash=activeSlideEl?activeSlideEl.getAttribute("data-hash"):"";if(newHash!==activeSlideHash){const newIndex=swiper.params.hashNavigation.getSlideIndex(swiper,newHash);if(typeof newIndex==="undefined"||Number.isNaN(newIndex))return;swiper.slideTo(newIndex)}};const setHash=()=>{if(!initialized||!swiper.params.hashNavigation.enabled)return;const activeSlideEl=swiper.virtual&&swiper.params.virtual.enabled?swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`):swiper.slides[swiper.activeIndex];const activeSlideHash=activeSlideEl?activeSlideEl.getAttribute("data-hash")||activeSlideEl.getAttribute("data-history"):"";if(swiper.params.hashNavigation.replaceState&&window.history&&window.history.replaceState){window.history.replaceState(null,null,`#${activeSlideHash}`||"");emit("hashSet")}else{document.location.hash=activeSlideHash||"";emit("hashSet")}};const init=()=>{if(!swiper.params.hashNavigation.enabled||swiper.params.history&&swiper.params.history.enabled)return;initialized=true;const hash=document.location.hash.replace("#","");if(hash){const speed=0;const index=swiper.params.hashNavigation.getSlideIndex(swiper,hash);swiper.slideTo(index||0,speed,swiper.params.runCallbacksOnInit,true)}if(swiper.params.hashNavigation.watchState){window.addEventListener("hashchange",onHashChange)}};const destroy=()=>{if(swiper.params.hashNavigation.watchState){window.removeEventListener("hashchange",onHashChange)}};on("init",()=>{if(swiper.params.hashNavigation.enabled){init()}});on("destroy",()=>{if(swiper.params.hashNavigation.enabled){destroy()}});on("transitionEnd _freeModeNoMomentumRelease",()=>{if(initialized){setHash()}});on("slideChange",()=>{if(initialized&&swiper.params.cssMode){setHash()}})}function Autoplay(_ref){let{swiper,extendParams,on,emit,params}=_ref;swiper.autoplay={running:false,paused:false,timeLeft:0};extendParams({autoplay:{enabled:false,delay:3e3,waitForTransition:true,disableOnInteraction:false,stopOnLastSlide:false,reverseDirection:false,pauseOnMouseEnter:false}});let timeout;let raf;let autoplayDelayTotal=params&&params.autoplay?params.autoplay.delay:3e3;let autoplayDelayCurrent=params&&params.autoplay?params.autoplay.delay:3e3;let autoplayTimeLeft;let autoplayStartTime=(new Date).getTime();let wasPaused;let isTouched;let pausedByTouch;let touchStartTimeout;let slideChanged;let pausedByInteraction;let pausedByPointerEnter;
14007function onTransitionEnd(e){if(!swiper||swiper.destroyed||!swiper.wrapperEl)return;if(e.target!==swiper.wrapperEl)return;swiper.wrapperEl.removeEventListener("transitionend",onTransitionEnd);if(pausedByPointerEnter||e.detail&&e.detail.bySwiperTouchMove){return}resume()}const calcTimeLeft=()=>{if(swiper.destroyed||!swiper.autoplay.running)return;if(swiper.autoplay.paused){wasPaused=true}else if(wasPaused){autoplayDelayCurrent=autoplayTimeLeft;wasPaused=false}const timeLeft=swiper.autoplay.paused?autoplayTimeLeft:autoplayStartTime+autoplayDelayCurrent-(new Date).getTime();swiper.autoplay.timeLeft=timeLeft;emit("autoplayTimeLeft",timeLeft,timeLeft/autoplayDelayTotal);raf=requestAnimationFrame(()=>{calcTimeLeft()})};const getSlideDelay=()=>{let activeSlideEl;if(swiper.virtual&&swiper.params.virtual.enabled){activeSlideEl=swiper.slides.filter(slideEl=>slideEl.classList.contains("swiper-slide-active"))[0]}else{activeSlideEl=swiper.slides[swiper.activeIndex]}if(!activeSlideEl)return undefined;const currentSlideDelay=parseInt(activeSlideEl.getAttribute("data-swiper-autoplay"),10);return currentSlideDelay};const run=delayForce=>{if(swiper.destroyed||!swiper.autoplay.running)return;cancelAnimationFrame(raf);calcTimeLeft();let delay=typeof delayForce==="undefined"?swiper.params.autoplay.delay:delayForce;autoplayDelayTotal=swiper.params.autoplay.delay;autoplayDelayCurrent=swiper.params.autoplay.delay;const currentSlideDelay=getSlideDelay();if(!Number.isNaN(currentSlideDelay)&&currentSlideDelay>0&&typeof delayForce==="undefined"){delay=currentSlideDelay;autoplayDelayTotal=currentSlideDelay;autoplayDelayCurrent=currentSlideDelay}autoplayTimeLeft=delay;const speed=swiper.params.speed;const proceed=()=>{if(!swiper||swiper.destroyed)return;if(swiper.params.autoplay.reverseDirection){if(!swiper.isBeginning||swiper.params.loop||swiper.params.rewind){swiper.slidePrev(speed,true,true);emit("autoplay")}else if(!swiper.params.autoplay.stopOnLastSlide){swiper.slideTo(swiper.slides.length-1,speed,true,true);emit("autoplay")}}else{if(!swiper.isEnd||swiper.params.loop||swiper.params.rewind){swiper.slideNext(speed,true,true);emit("autoplay")}else if(!swiper.params.autoplay.stopOnLastSlide){swiper.slideTo(0,speed,true,true);emit("autoplay")}}if(swiper.params.cssMode){autoplayStartTime=(new Date).getTime();requestAnimationFrame(()=>{run()})}};if(delay>0){clearTimeout(timeout);timeout=setTimeout(()=>{proceed()},delay)}else{requestAnimationFrame(()=>{proceed()})}return delay};const start=()=>{autoplayStartTime=(new Date).getTime();swiper.autoplay.running=true;run();emit("autoplayStart")};const stop=()=>{swiper.autoplay.running=false;clearTimeout(timeout);cancelAnimationFrame(raf);emit("autoplayStop")};const pause=(internal,reset)=>{if(swiper.destroyed||!swiper.autoplay.running)return;clearTimeout(timeout);if(!internal){pausedByInteraction=true}const proceed=()=>{emit("autoplayPause");if(swiper.params.autoplay.waitForTransition){swiper.wrapperEl.addEventListener("transitionend",onTransitionEnd)}else{resume()}};swiper.autoplay.paused=true;if(reset){if(slideChanged){autoplayTimeLeft=swiper.params.autoplay.delay}slideChanged=false;proceed();return}const delay=autoplayTimeLeft||swiper.params.autoplay.delay;autoplayTimeLeft=delay-((new Date).getTime()-autoplayStartTime);if(swiper.isEnd&&autoplayTimeLeft<0&&!swiper.params.loop)return;if(autoplayTimeLeft<0)autoplayTimeLeft=0;proceed()};const resume=()=>{if(swiper.isEnd&&autoplayTimeLeft<0&&!swiper.params.loop||swiper.destroyed||!swiper.autoplay.running)return;autoplayStartTime=(new Date).getTime();if(pausedByInteraction){pausedByInteraction=false;run(autoplayTimeLeft)}else{run()}swiper.autoplay.paused=false;emit("autoplayResume")};const onVisibilityChange=()=>{if(swiper.destroyed||!swiper.autoplay.running)return;const document=getDocument();if(document.visibilityState==="hidden"){pausedByInteraction=true;pause(true)}if(document.visibilityState==="visible"){resume()}};const onPointerEnter=e=>{if(e.pointerType!=="mouse")return;pausedByInteraction=true;pausedByPointerEnter=true;if(swiper.animating||swiper.autoplay.paused)return;pause(true)};const onPointerLeave=e=>{if(e.pointerType!=="mouse")return;pausedByPointerEnter=false;
14007if(swiper.autoplay.paused){resume()}};const attachMouseEvents=()=>{if(swiper.params.autoplay.pauseOnMouseEnter){swiper.el.addEventListener("pointerenter",onPointerEnter);swiper.el.addEventListener("pointerleave",onPointerLeave)}};const detachMouseEvents=()=>{if(swiper.el&&typeof swiper.el!=="string"){swiper.el.removeEventListener("pointerenter",onPointerEnter);swiper.el.removeEventListener("pointerleave",onPointerLeave)}};const attachDocumentEvents=()=>{const document=getDocument();document.addEventListener("visibilitychange",onVisibilityChange)};const detachDocumentEvents=()=>{const document=getDocument();document.removeEventListener("visibilitychange",onVisibilityChange)};on("init",()=>{if(swiper.params.autoplay.enabled){attachMouseEvents();attachDocumentEvents();start()}});on("destroy",()=>{detachMouseEvents();detachDocumentEvents();if(swiper.autoplay.running){stop()}});on("_freeModeStaticRelease",()=>{if(pausedByTouch||pausedByInteraction){resume()}});on("_freeModeNoMomentumRelease",()=>{if(!swiper.params.autoplay.disableOnInteraction){pause(true,true)}else{stop()}});on("beforeTransitionStart",(_s,speed,internal)=>{if(swiper.destroyed||!swiper.autoplay.running)return;if(internal||!swiper.params.autoplay.disableOnInteraction){pause(true,true)}else{stop()}});on("sliderFirstMove",()=>{if(swiper.destroyed||!swiper.autoplay.running)return;if(swiper.params.autoplay.disableOnInteraction){stop();return}isTouched=true;pausedByTouch=false;pausedByInteraction=false;touchStartTimeout=setTimeout(()=>{pausedByInteraction=true;pausedByTouch=true;pause(true)},200)});on("touchEnd",()=>{if(swiper.destroyed||!swiper.autoplay.running||!isTouched)return;clearTimeout(touchStartTimeout);clearTimeout(timeout);if(swiper.params.autoplay.disableOnInteraction){pausedByTouch=false;isTouched=false;return}if(pausedByTouch&&swiper.params.cssMode)resume();pausedByTouch=false;isTouched=false});on("slideChange",()=>{if(swiper.destroyed||!swiper.autoplay.running)return;slideChanged=true});Object.assign(swiper.autoplay,{start:start,stop:stop,pause:pause,resume:resume})}function Thumb(_ref){let{swiper,extendParams,on}=_ref;extendParams({thumbs:{swiper:null,multipleActiveThumbs:true,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let initialized=false;let swiperCreated=false;swiper.thumbs={swiper:null};function onThumbClick(){const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper||thumbsSwiper.destroyed)return;const clickedIndex=thumbsSwiper.clickedIndex;const clickedSlide=thumbsSwiper.clickedSlide;if(clickedSlide&&clickedSlide.classList.contains(swiper.params.thumbs.slideThumbActiveClass))return;if(typeof clickedIndex==="undefined"||clickedIndex===null)return;let slideToIndex;if(thumbsSwiper.params.loop){slideToIndex=parseInt(thumbsSwiper.clickedSlide.getAttribute("data-swiper-slide-index"),10)}else{slideToIndex=clickedIndex}if(swiper.params.loop){swiper.slideToLoop(slideToIndex)}else{swiper.slideTo(slideToIndex)}}function init(){const{thumbs:thumbsParams}=swiper.params;if(initialized)return false;initialized=true;const SwiperClass=swiper.constructor;if(thumbsParams.swiper instanceof SwiperClass){swiper.thumbs.swiper=thumbsParams.swiper;Object.assign(swiper.thumbs.swiper.originalParams,{watchSlidesProgress:true,slideToClickedSlide:false});Object.assign(swiper.thumbs.swiper.params,{watchSlidesProgress:true,slideToClickedSlide:false});swiper.thumbs.swiper.update()}else if(isObject(thumbsParams.swiper)){const thumbsSwiperParams=Object.assign({},thumbsParams.swiper);Object.assign(thumbsSwiperParams,{watchSlidesProgress:true,slideToClickedSlide:false});swiper.thumbs.swiper=new SwiperClass(thumbsSwiperParams);swiperCreated=true}swiper.thumbs.swiper.el.classList.add(swiper.params.thumbs.thumbsContainerClass);swiper.thumbs.swiper.on("tap",onThumbClick);return true}function update(initial){const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper||thumbsSwiper.destroyed)return;const slidesPerView=thumbsSwiper.params.slidesPerView==="auto"?thumbsSwiper.slidesPerViewDynamic():thumbsSwiper.params.slidesPerView;let thumbsToActivate=1;const thumbActiveClass=swiper.params.thumbs.slideThumbActiveClass;if(swiper.params.slidesPerView>
140071&&!swiper.params.centeredSlides){thumbsToActivate=swiper.params.slidesPerView}if(!swiper.params.thumbs.multipleActiveThumbs){thumbsToActivate=1}thumbsToActivate=Math.floor(thumbsToActivate);thumbsSwiper.slides.forEach(slideEl=>slideEl.classList.remove(thumbActiveClass));if(thumbsSwiper.params.loop||thumbsSwiper.params.virtual&&thumbsSwiper.params.virtual.enabled){for(let i=0;i<thumbsToActivate;i+=1){elementChildren(thumbsSwiper.slidesEl,`[data-swiper-slide-index="${swiper.realIndex+i}"]`).forEach(slideEl=>{slideEl.classList.add(thumbActiveClass)})}}else{for(let i=0;i<thumbsToActivate;i+=1){if(thumbsSwiper.slides[swiper.realIndex+i]){thumbsSwiper.slides[swiper.realIndex+i].classList.add(thumbActiveClass)}}}const autoScrollOffset=swiper.params.thumbs.autoScrollOffset;const useOffset=autoScrollOffset&&!thumbsSwiper.params.loop;if(swiper.realIndex!==thumbsSwiper.realIndex||useOffset){const currentThumbsIndex=thumbsSwiper.activeIndex;let newThumbsIndex;let direction;if(thumbsSwiper.params.loop){const newThumbsSlide=thumbsSwiper.slides.filter(slideEl=>slideEl.getAttribute("data-swiper-slide-index")===`${swiper.realIndex}`)[0];newThumbsIndex=thumbsSwiper.slides.indexOf(newThumbsSlide);direction=swiper.activeIndex>swiper.previousIndex?"next":"prev"}else{newThumbsIndex=swiper.realIndex;direction=newThumbsIndex>swiper.previousIndex?"next":"prev"}if(useOffset){newThumbsIndex+=direction==="next"?autoScrollOffset:-1*autoScrollOffset}if(thumbsSwiper.visibleSlidesIndexes&&thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex)<0){if(thumbsSwiper.params.centeredSlides){if(newThumbsIndex>currentThumbsIndex){newThumbsIndex=newThumbsIndex-Math.floor(slidesPerView/2)+1}else{newThumbsIndex=newThumbsIndex+Math.floor(slidesPerView/2)-1}}else if(newThumbsIndex>currentThumbsIndex&&thumbsSwiper.params.slidesPerGroup===1);thumbsSwiper.slideTo(newThumbsIndex,initial?0:undefined)}}}on("beforeInit",()=>{const{thumbs}=swiper.params;if(!thumbs||!thumbs.swiper)return;if(typeof thumbs.swiper==="string"||thumbs.swiper instanceof HTMLElement){const document=getDocument();const getThumbsElementAndInit=()=>{const thumbsElement=typeof thumbs.swiper==="string"?document.querySelector(thumbs.swiper):thumbs.swiper;if(thumbsElement&&thumbsElement.swiper){thumbs.swiper=thumbsElement.swiper;init();update(true)}else if(thumbsElement){const eventName=`${swiper.params.eventsPrefix}init`;const onThumbsSwiper=e=>{thumbs.swiper=e.detail[0];thumbsElement.removeEventListener(eventName,onThumbsSwiper);init();update(true);thumbs.swiper.update();swiper.update()};thumbsElement.addEventListener(eventName,onThumbsSwiper)}return thumbsElement};const watchForThumbsToAppear=()=>{if(swiper.destroyed)return;const thumbsElement=getThumbsElementAndInit();if(!thumbsElement){requestAnimationFrame(watchForThumbsToAppear)}};requestAnimationFrame(watchForThumbsToAppear)}else{init();update(true)}});on("slideChange update resize observerUpdate",()=>{update()});on("setTransition",(_s,duration)=>{const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper||thumbsSwiper.destroyed)return;thumbsSwiper.setTransition(duration)});on("beforeDestroy",()=>{const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper||thumbsSwiper.destroyed)return;if(swiperCreated){thumbsSwiper.destroy()}});Object.assign(swiper.thumbs,{init:init,update:update})}function freeMode(_ref){let{swiper,extendParams,emit,once}=_ref;extendParams({freeMode:{enabled:false,momentum:true,momentumRatio:1,momentumBounce:true,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:false,minimumVelocity:.02}});function onTouchStart(){if(swiper.params.cssMode)return;const translate=swiper.getTranslate();swiper.setTranslate(translate);swiper.setTransition(0);swiper.touchEventsData.velocities.length=0;swiper.freeMode.onTouchEnd({currentPos:swiper.rtl?swiper.translate:-swiper.translate})}function onTouchMove(){if(swiper.params.cssMode)return;const{touchEventsData:data,touches}=swiper;if(data.velocities.length===0){data.velocities.push({position:touches[swiper.isHorizontal()?"startX":"startY"],time:data.touchStartTime})}data.velocities.push({position:touches[swiper.isHorizontal()?"currentX":"currentY"],time:now()})}function onTouchEnd(_ref2){let{currentPos}=_ref2;
14007if(swiper.params.cssMode)return;const{params,wrapperEl,rtlTranslate:rtl,snapGrid,touchEventsData:data}=swiper;const touchEndTime=now();const timeDiff=touchEndTime-data.touchStartTime;if(currentPos<-swiper.minTranslate()){swiper.slideTo(swiper.activeIndex);return}if(currentPos>-swiper.maxTranslate()){if(swiper.slides.length<snapGrid.length){swiper.slideTo(snapGrid.length-1)}else{swiper.slideTo(swiper.slides.length-1)}return}if(params.freeMode.momentum){if(data.velocities.length>1){const lastMoveEvent=data.velocities.pop();const velocityEvent=data.velocities.pop();const distance=lastMoveEvent.position-velocityEvent.position;const time=lastMoveEvent.time-velocityEvent.time;swiper.velocity=distance/time;swiper.velocity/=2;if(Math.abs(swiper.velocity)<params.freeMode.minimumVelocity){swiper.velocity=0}if(time>150||now()-lastMoveEvent.time>300){swiper.velocity=0}}else{swiper.velocity=0}swiper.velocity*=params.freeMode.momentumVelocityRatio;data.velocities.length=0;let momentumDuration=1e3*params.freeMode.momentumRatio;const momentumDistance=swiper.velocity*momentumDuration;let newPosition=swiper.translate+momentumDistance;if(rtl)newPosition=-newPosition;let doBounce=false;let afterBouncePosition;const bounceAmount=Math.abs(swiper.velocity)*20*params.freeMode.momentumBounceRatio;let needsLoopFix;if(newPosition<swiper.maxTranslate()){if(params.freeMode.momentumBounce){if(newPosition+swiper.maxTranslate()<-bounceAmount){newPosition=swiper.maxTranslate()-bounceAmount}afterBouncePosition=swiper.maxTranslate();doBounce=true;data.allowMomentumBounce=true}else{newPosition=swiper.maxTranslate()}if(params.loop&&params.centeredSlides)needsLoopFix=true}else if(newPosition>swiper.minTranslate()){if(params.freeMode.momentumBounce){if(newPosition-swiper.minTranslate()>bounceAmount){newPosition=swiper.minTranslate()+bounceAmount}afterBouncePosition=swiper.minTranslate();doBounce=true;data.allowMomentumBounce=true}else{newPosition=swiper.minTranslate()}if(params.loop&&params.centeredSlides)needsLoopFix=true}else if(params.freeMode.sticky){let nextSlide;for(let j=0;j<snapGrid.length;j+=1){if(snapGrid[j]>-newPosition){nextSlide=j;break}}if(Math.abs(snapGrid[nextSlide]-newPosition)<Math.abs(snapGrid[nextSlide-1]-newPosition)||swiper.swipeDirection==="next"){newPosition=snapGrid[nextSlide]}else{newPosition=snapGrid[nextSlide-1]}newPosition=-newPosition}if(needsLoopFix){once("transitionEnd",()=>{swiper.loopFix()})}if(swiper.velocity!==0){if(rtl){momentumDuration=Math.abs((-newPosition-swiper.translate)/swiper.velocity)}else{momentumDuration=Math.abs((newPosition-swiper.translate)/swiper.velocity)}if(params.freeMode.sticky){const moveDistance=Math.abs((rtl?-newPosition:newPosition)-swiper.translate);const currentSlideSize=swiper.slidesSizesGrid[swiper.activeIndex];if(moveDistance<currentSlideSize){momentumDuration=params.speed}else if(moveDistance<2*currentSlideSize){momentumDuration=params.speed*1.5}else{momentumDuration=params.speed*2.5}}}else if(params.freeMode.sticky){swiper.slideToClosest();return}if(params.freeMode.momentumBounce&&doBounce){swiper.updateProgress(afterBouncePosition);swiper.setTransition(momentumDuration);swiper.setTranslate(newPosition);swiper.transitionStart(true,swiper.swipeDirection);swiper.animating=true;elementTransitionEnd(wrapperEl,()=>{if(!swiper||swiper.destroyed||!data.allowMomentumBounce)return;emit("momentumBounce");swiper.setTransition(params.speed);setTimeout(()=>{swiper.setTranslate(afterBouncePosition);elementTransitionEnd(wrapperEl,()=>{if(!swiper||swiper.destroyed)return;swiper.transitionEnd()})},0)})}else if(swiper.velocity){emit("_freeModeNoMomentumRelease");swiper.updateProgress(newPosition);swiper.setTransition(momentumDuration);swiper.setTranslate(newPosition);swiper.transitionStart(true,swiper.swipeDirection);if(!swiper.animating){swiper.animating=true;elementTransitionEnd(wrapperEl,()=>{if(!swiper||swiper.destroyed)return;swiper.transitionEnd()})}}else{swiper.updateProgress(newPosition)}swiper.updateActiveIndex();swiper.updateSlidesClasses()}else if(params.freeMode.sticky){swiper.slideToClosest();return}else if(params.freeMode){emit("_freeModeNoMomentumRelease")}if(!params.freeMode.momentum||timeDiff>=params.longSwipesMs){emit("_freeModeStaticRelease");
14007swiper.updateProgress();swiper.updateActiveIndex();swiper.updateSlidesClasses()}}Object.assign(swiper,{freeMode:{onTouchStart:onTouchStart,onTouchMove:onTouchMove,onTouchEnd:onTouchEnd}})}function Grid(_ref){let{swiper,extendParams,on}=_ref;extendParams({grid:{rows:1,fill:"column"}});let slidesNumberEvenToRows;let slidesPerRow;let numFullColumns;let wasMultiRow;const getSpaceBetween=()=>{let spaceBetween=swiper.params.spaceBetween;if(typeof spaceBetween==="string"&&spaceBetween.indexOf("%")>=0){spaceBetween=parseFloat(spaceBetween.replace("%",""))/100*swiper.size}else if(typeof spaceBetween==="string"){spaceBetween=parseFloat(spaceBetween)}return spaceBetween};const initSlides=slides=>{const{slidesPerView}=swiper.params;const{rows,fill}=swiper.params.grid;const slidesLength=swiper.virtual&&swiper.params.virtual.enabled?swiper.virtual.slides.length:slides.length;numFullColumns=Math.floor(slidesLength/rows);if(Math.floor(slidesLength/rows)===slidesLength/rows){slidesNumberEvenToRows=slidesLength}else{slidesNumberEvenToRows=Math.ceil(slidesLength/rows)*rows}if(slidesPerView!=="auto"&&fill==="row"){slidesNumberEvenToRows=Math.max(slidesNumberEvenToRows,slidesPerView*rows)}slidesPerRow=slidesNumberEvenToRows/rows};const unsetSlides=()=>
14007{if(swiper.slides){swiper.slides.forEach(slide=>{if(slide.swiperSlideGridSet){slide.style.height="";slide.style[swiper.getDirectionLabel("margin-top")]=""}})}};const updateSlide=(i,slide,slides)=>{const{slidesPerGroup}=swiper.params;const spaceBetween=getSpaceBetween();const{rows,fill}=swiper.params.grid;const slidesLength=swiper.virtual&&swiper.params.virtual.enabled?swiper.virtual.slides.length:slides.length;let newSlideOrderIndex;let column;let row;if(fill==="row"&&slidesPerGroup>1){const groupIndex=Math.floor(i/(slidesPerGroup*rows));const slideIndexInGroup=i-rows*slidesPerGroup*groupIndex;const columnsInGroup=groupIndex===0?slidesPerGroup:Math.min(Math.ceil((slidesLength-groupIndex*rows*slidesPerGroup)/rows),slidesPerGroup);row=Math.floor(slideIndexInGroup/columnsInGroup);column=slideIndexInGroup-row*columnsInGroup+groupIndex*slidesPerGroup;newSlideOrderIndex=column+row*slidesNumberEvenToRows/rows;slide.style.order=newSlideOrderIndex}else if(fill==="column"){column=Math.floor(i/rows);row=i-column*rows;if(column>numFullColumns||column===numFullColumns&&row===rows-1){row+=1;if(row>=rows){row=0;column+=1}}}else{row=Math.floor(i/slidesPerRow);column=i-row*slidesPerRow}slide.row=row;slide.column=column;slide.style.height=`calc((100% - ${(rows-1)*spaceBetween}px) / ${rows})`;slide.style[swiper.getDirectionLabel("margin-top")]=row!==0?spaceBetween&&`${spaceBetween}px`:"";slide.swiperSlideGridSet=true};const updateWrapperSize=(slideSize,snapGrid)=>{const{centeredSlides,roundLengths}=swiper.params;const spaceBetween=getSpaceBetween();const{rows}=swiper.params.grid;swiper.virtualSize=(slideSize+spaceBetween)*slidesNumberEvenToRows;swiper.virtualSize=Math.ceil(swiper.virtualSize/rows)-spaceBetween;if(!swiper.params.cssMode){swiper.wrapperEl.style[swiper.getDirectionLabel("width")]=`${swiper.virtualSize+spaceBetween}px`}if(centeredSlides){const newSlidesGrid=[];for(let i=0;i<snapGrid.length;i+=1){let slidesGridItem=snapGrid[i];if(roundLengths)slidesGridItem=Math.floor(slidesGridItem);if(snapGrid[i]<swiper.virtualSize+snapGrid[0])newSlidesGrid.push(slidesGridItem)}snapGrid.splice(0,snapGrid.length);snapGrid.push(...newSlidesGrid)}};const onInit=()=>{wasMultiRow=swiper.params.grid&&swiper.params.grid.rows>1};const onUpdate=()=>{const{params,el}=swiper;const isMultiRow=params.grid&&params.grid.rows>1;if(wasMultiRow&&!isMultiRow){el.classList.remove(`${params.containerModifierClass}grid`,`${params.containerModifierClass}grid-column`);numFullColumns=1;swiper.emitContainerClasses()}else if(!wasMultiRow&&isMultiRow){el.classList.add(`${params.containerModifierClass}grid`);if(params.grid.fill==="column"){el.classList.add(`${params.containerModifierClass}grid-column`)}swiper.emitContainerClasses()}wasMultiRow=isMultiRow};on("init",onInit);on("update",onUpdate);swiper.grid={initSlides:initSlides,unsetSlides:unsetSlides,updateSlide:updateSlide,updateWrapperSize:updateWrapperSize}}function appendSlide(slides){const swiper=this;const{params,slidesEl}=swiper;if(params.loop){swiper.loopDestroy()}const appendElement=slideEl=>{if(typeof slideEl==="string"){const tempDOM=document.createElement("div");tempDOM.innerHTML=slideEl;slidesEl.append(tempDOM.children[0]);tempDOM.innerHTML=""}else{slidesEl.append(slideEl)}};if(typeof slides==="object"&&"length"in slides){for(let i=0;i<slides.length;i+=1){if(slides[i])appendElement(slides[i])}}else{appendElement(slides)}swiper.recalcSlides();if(params.loop){swiper.loopCreate()}if(!params.observer||swiper.isElement){swiper.update()}}function prependSlide(slides){const swiper=this;const{params,activeIndex,slidesEl}=swiper;if(params.loop){swiper.loopDestroy()}let newActiveIndex=activeIndex+1;const prependElement=slideEl=>{if(typeof slideEl==="string"){const tempDOM=document.createElement("div");tempDOM.innerHTML=slideEl;slidesEl.prepend(tempDOM.children[0]);tempDOM.innerHTML=""}else{slidesEl.prepend(slideEl)}};if(typeof slides==="object"&&"length"in slides){for(let i=0;i<slides.length;i+=1){if(slides[i])prependElement(slides[i])}newActiveIndex=activeIndex+slides.length}else{prependElement(slides)}swiper.recalcSlides();if(params.loop){swiper.loopCreate()}
14007if(!params.observer||swiper.isElement){swiper.update()}swiper.slideTo(newActiveIndex,0,false)}function addSlide(index,slides){const swiper=this;const{params,activeIndex,slidesEl}=swiper;let activeIndexBuffer=activeIndex;if(params.loop){activeIndexBuffer-=swiper.loopedSlides;swiper.loopDestroy();swiper.recalcSlides()}const baseLength=swiper.slides.length;if(index<=0){swiper.prependSlide(slides);return}if(index>=baseLength){swiper.appendSlide(slides);return}let newActiveIndex=activeIndexBuffer>index?activeIndexBuffer+1:activeIndexBuffer;const slidesBuffer=[];for(let i=baseLength-1;i>=index;i-=1){const currentSlide=swiper.slides[i];currentSlide.remove();slidesBuffer.unshift(currentSlide)}if(typeof slides==="object"&&"length"in slides){for(let i=0;i<slides.length;i+=1){if(slides[i])slidesEl.append(slides[i])}newActiveIndex=activeIndexBuffer>index?activeIndexBuffer+slides.length:activeIndexBuffer}else{slidesEl.append(slides)}for(let i=0;i<slidesBuffer.length;i+=1){slidesEl.append(slidesBuffer[i])}swiper.recalcSlides();if(params.loop){swiper.loopCreate()}if(!params.observer||swiper.isElement){swiper.update()}if(params.loop){swiper.slideTo(newActiveIndex+swiper.loopedSlides,0,false)}else{swiper.slideTo(newActiveIndex,0,false)}}function removeSlide(slidesIndexes){const swiper=this;const{params,activeIndex}=swiper;let activeIndexBuffer=activeIndex;if(params.loop){activeIndexBuffer-=swiper.loopedSlides;swiper.loopDestroy()}let newActiveIndex=activeIndexBuffer;let indexToRemove;if(typeof slidesIndexes==="object"&&"length"in slidesIndexes){for(let i=0;i<slidesIndexes.length;i+=1){indexToRemove=slidesIndexes[i];if(swiper.slides[indexToRemove])swiper.slides[indexToRemove].remove();if(indexToRemove<newActiveIndex)newActiveIndex-=1}newActiveIndex=Math.max(newActiveIndex,0)}else{indexToRemove=slidesIndexes;if(swiper.slides[indexToRemove])swiper.slides[indexToRemove].remove();if(indexToRemove<newActiveIndex)newActiveIndex-=1;newActiveIndex=Math.max(newActiveIndex,0)}swiper.recalcSlides();if(params.loop){swiper.loopCreate()}if(!params.observer||swiper.isElement){swiper.update()}if(params.loop){swiper.slideTo(newActiveIndex+swiper.loopedSlides,0,false)}else{swiper.slideTo(newActiveIndex,0,false)}}function removeAllSlides(){const swiper=this;const slidesIndexes=[];for(let i=0;i<swiper.slides.length;i+=1){slidesIndexes.push(i)}swiper.removeSlide(slidesIndexes)}function Manipulation(_ref){let{swiper}=_ref;Object.assign(swiper,{appendSlide:appendSlide.bind(swiper),prependSlide:prependSlide.bind(swiper),addSlide:addSlide.bind(swiper),removeSlide:removeSlide.bind(swiper),removeAllSlides:removeAllSlides.bind(swiper)})}function effectInit(params){const{effect,swiper,on,setTranslate,setTransition,overwriteParams,perspective,recreateShadows,getEffectParams}=params;on("beforeInit",()=>{if(swiper.params.effect!==effect)return;swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`);if(perspective&&perspective()){swiper.classNames.push(`${swiper.params.containerModifierClass}3d`)}const overwriteParamsResult=overwriteParams?overwriteParams():{};Object.assign(swiper.params,overwriteParamsResult);Object.assign(swiper.originalParams,overwriteParamsResult)});on("setTranslate",()=>{if(swiper.params.effect!==effect)return;setTranslate()});on("setTransition",(_s,duration)=>{if(swiper.params.effect!==effect)return;setTransition(duration)});on("transitionEnd",()=>{if(swiper.params.effect!==effect)return;if(recreateShadows){if(!getEffectParams||!getEffectParams().slideShadows)return;
14007swiper.slides.forEach(slideEl=>{slideEl.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach(shadowEl=>shadowEl.remove())});recreateShadows()}});let requireUpdateOnVirtual;on("virtualUpdate",()=>{if(swiper.params.effect!==effect)return;if(!swiper.slides.length){requireUpdateOnVirtual=true}requestAnimationFrame(()=>{if(requireUpdateOnVirtual&&swiper.slides&&swiper.slides.length){setTranslate();requireUpdateOnVirtual=false}})})}function effectTarget(effectParams,slideEl){const transformEl=getSlideTransformEl(slideEl);if(transformEl!==slideEl){transformEl.style.backfaceVisibility="hidden";transformEl.style["-webkit-backface-visibility"]="hidden"}return transformEl}function effectVirtualTransitionEnd(_ref){let{swiper,duration,transformElements,allSlides}=_ref;const{activeIndex}=swiper;const getSlide=el=>{if(!el.parentElement){const slide=swiper.slides.filter(slideEl=>slideEl.shadowRoot&&slideEl.shadowRoot===el.parentNode)[0];return slide}return el.parentElement};if(swiper.params.virtualTranslate&&duration!==0){let eventTriggered=false;let transitionEndTarget;if(allSlides){transitionEndTarget=transformElements}else{transitionEndTarget=transformElements.filter(transformEl=>{const el=transformEl.classList.contains("swiper-slide-transform")?getSlide(transformEl):transformEl;return swiper.getSlideIndex(el)===activeIndex})}transitionEndTarget.forEach(el=>{elementTransitionEnd(el,()=>{if(eventTriggered)return;if(!swiper||swiper.destroyed)return;eventTriggered=true;swiper.animating=false;const evt=new window.CustomEvent("transitionend",{bubbles:true,cancelable:true});swiper.wrapperEl.dispatchEvent(evt)})})}}function EffectFade(_ref){let{swiper,extendParams,on}=_ref;extendParams({fadeEffect:{crossFade:false}});const setTranslate=()=>{const{slides}=swiper;const params=swiper.params.fadeEffect;for(let i=0;i<slides.length;i+=1){const slideEl=swiper.slides[i];const offset=slideEl.swiperSlideOffset;let tx=-offset;if(!swiper.params.virtualTranslate)tx-=swiper.translate;let ty=0;if(!swiper.isHorizontal()){ty=tx;tx=0}const slideOpacity=swiper.params.fadeEffect.crossFade?Math.max(1-Math.abs(slideEl.progress),0):1+Math.min(Math.max(slideEl.progress,-1),0);const targetEl=effectTarget(params,slideEl);targetEl.style.opacity=slideOpacity;targetEl.style.transform=`translate3d(${tx}px, ${ty}px, 0px)`}};const setTransition=duration=>{const transformElements=swiper.slides.map(slideEl=>getSlideTransformEl(slideEl));transformElements.forEach(el=>{el.style.transitionDuration=`${duration}ms`});effectVirtualTransitionEnd({swiper:swiper,duration:duration,transformElements:transformElements,allSlides:true})};effectInit({effect:"fade",swiper:swiper,on:on,setTranslate:setTranslate,setTransition:setTransition,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:true,spaceBetween:0,virtualTranslate:!swiper.params.cssMode})})}function EffectCube(_ref){let{swiper,extendParams,on}=_ref;extendParams({cubeEffect:{slideShadows:true,shadow:true,shadowOffset:20,shadowScale:.94}});const createSlideShadows=(slideEl,progress,isHorizontal)=>{let shadowBefore=isHorizontal?slideEl.querySelector(".swiper-slide-shadow-left"):slideEl.querySelector(".swiper-slide-shadow-top");let shadowAfter=isHorizontal?slideEl.querySelector(".swiper-slide-shadow-right"):slideEl.querySelector(".swiper-slide-shadow-bottom");if(!shadowBefore){shadowBefore=createElement("div",`swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal?"left":"top"}`.split(" "));slideEl.append(shadowBefore)}if(!shadowAfter){shadowAfter=createElement("div",`swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal?"right":"bottom"}`.split(" "));slideEl.append(shadowAfter)}if(shadowBefore)shadowBefore.style.opacity=Math.max(-progress,0);if(shadowAfter)shadowAfter.style.opacity=Math.max(progress,0)};const recreateShadows=()=>{const isHorizontal=swiper.isHorizontal();
14007swiper.slides.forEach(slideEl=>{const progress=Math.max(Math.min(slideEl.progress,1),-1);createSlideShadows(slideEl,progress,isHorizontal)})};const setTranslate=()=>{const{el,wrapperEl,slides,width:swiperWidth,height:swiperHeight,rtlTranslate:rtl,size:swiperSize,browser}=swiper;const r=getRotateFix(swiper);const params=swiper.params.cubeEffect;const isHorizontal=swiper.isHorizontal();const isVirtual=swiper.virtual&&swiper.params.virtual.enabled;let wrapperRotate=0;let cubeShadowEl;if(params.shadow){if(isHorizontal){cubeShadowEl=swiper.wrapperEl.querySelector(".swiper-cube-shadow");if(!cubeShadowEl){cubeShadowEl=createElement("div","swiper-cube-shadow");swiper.wrapperEl.append(cubeShadowEl)}cubeShadowEl.style.height=`${swiperWidth}px`}else{cubeShadowEl=el.querySelector(".swiper-cube-shadow");if(!cubeShadowEl){cubeShadowEl=createElement("div","swiper-cube-shadow");el.append(cubeShadowEl)}}}for(let i=0;i<slides.length;i+=1){const slideEl=slides[i];let slideIndex=i;if(isVirtual){slideIndex=parseInt(slideEl.getAttribute("data-swiper-slide-index"),10)}let slideAngle=slideIndex*90;let round=Math.floor(slideAngle/360);if(rtl){slideAngle=-slideAngle;round=Math.floor(-slideAngle/360)}
14007const progress=Math.max(Math.min(slideEl.progress,1),-1);let tx=0;let ty=0;let tz=0;if(slideIndex%4===0){tx=-round*4*swiperSize;tz=0}else if((slideIndex-1)%4===0){tx=0;tz=-round*4*swiperSize}else if((slideIndex-2)%4===0){tx=swiperSize+round*4*swiperSize;tz=swiperSize}else if((slideIndex-3)%4===0){tx=-swiperSize;tz=3*swiperSize+swiperSize*4*round}if(rtl){tx=-tx}if(!isHorizontal){ty=tx;tx=0}const transform=`rotateX(${r(isHorizontal?0:-slideAngle)}deg) rotateY(${r(isHorizontal?slideAngle:0)}deg) translate3d(${tx}px, ${ty}px, ${tz}px)`;if(progress<=1&&progress>-1){wrapperRotate=slideIndex*90+progress*90;if(rtl)wrapperRotate=-slideIndex*90-progress*90}slideEl.style.transform=transform;if(params.slideShadows){createSlideShadows(slideEl,progress,isHorizontal)}}wrapperEl.style.transformOrigin=`50% 50% -${swiperSize/2}px`;wrapperEl.style["-webkit-transform-origin"]=`50% 50% -${swiperSize/2}px`;if(params.shadow){if(isHorizontal){cubeShadowEl.style.transform=`translate3d(0px, ${swiperWidth/2+params.shadowOffset}px, ${-swiperWidth/2}px) rotateX(89.99deg) rotateZ(0deg) scale(${params.shadowScale})`}else{const shadowAngle=Math.abs(wrapperRotate)-Math.floor(Math.abs(wrapperRotate)/90)*90;const multiplier=1.5-(Math.sin(shadowAngle*2*Math.PI/360)/2+Math.cos(shadowAngle*2*Math.PI/360)/2);const scale1=params.shadowScale;const scale2=params.shadowScale/multiplier;const offset=params.shadowOffset;cubeShadowEl.style.transform=`scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight/2+offset}px, ${-swiperHeight/2/scale2}px) rotateX(-89.99deg)`}}const zFactor=(browser.isSafari||browser.isWebView)&&browser.needPerspectiveFix?-swiperSize/2:0;wrapperEl.style.transform=`translate3d(0px,0,${zFactor}px) rotateX(${r(swiper.isHorizontal()?0:wrapperRotate)}deg) rotateY(${r(swiper.isHorizontal()?-wrapperRotate:0)}deg)`;wrapperEl.style.setProperty("--swiper-cube-translate-z",`${zFactor}px`)};const setTransition=duration=>{const{el,slides}=swiper;
14007slides.forEach(slideEl=>{slideEl.style.transitionDuration=`${duration}ms`;slideEl.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach(subEl=>{subEl.style.transitionDuration=`${duration}ms`})});if(swiper.params.cubeEffect.shadow&&!swiper.isHorizontal()){const shadowEl=el.querySelector(".swiper-cube-shadow");if(shadowEl)shadowEl.style.transitionDuration=`${duration}ms`}};effectInit({effect:"cube",swiper:swiper,on:on,setTranslate:setTranslate,setTransition:setTransition,recreateShadows:recreateShadows,getEffectParams:()=>swiper.params.cubeEffect,perspective:()=>true,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:true,resistanceRatio:0,spaceBetween:0,centeredSlides:false,virtualTranslate:true})})}function createShadow(suffix,slideEl,side){const shadowClass=`swiper-slide-shadow${side?`-${side}`:""}${suffix?` swiper-slide-shadow-${suffix}`:""}`;const shadowContainer=getSlideTransformEl(slideEl);let shadowEl=shadowContainer.querySelector(`.${shadowClass.split(" ").join(".")}`);if(!shadowEl){shadowEl=createElement("div",shadowClass.split(" "));shadowContainer.append(shadowEl)}return shadowEl}function EffectFlip(_ref){let{swiper,extendParams,on}=_ref;extendParams({flipEffect:{slideShadows:true,limitRotation:true}});const createSlideShadows=(slideEl,progress)=>{let shadowBefore=swiper.isHorizontal()?slideEl.querySelector(".swiper-slide-shadow-left"):slideEl.querySelector(".swiper-slide-shadow-top");let shadowAfter=swiper.isHorizontal()?slideEl.querySelector(".swiper-slide-shadow-right"):slideEl.querySelector(".swiper-slide-shadow-bottom");if(!shadowBefore){shadowBefore=createShadow("flip",slideEl,swiper.isHorizontal()?"left":"top")}if(!shadowAfter){shadowAfter=createShadow("flip",slideEl,swiper.isHorizontal()?"right":"bottom")}if(shadowBefore)shadowBefore.style.opacity=Math.max(-progress,0);if(shadowAfter)shadowAfter.style.opacity=Math.max(progress,0)};const recreateShadows=()=>{swiper.params.flipEffect;
14007swiper.slides.forEach(slideEl=>{let progress=slideEl.progress;if(swiper.params.flipEffect.limitRotation){progress=Math.max(Math.min(slideEl.progress,1),-1)}createSlideShadows(slideEl,progress)})};const setTranslate=()=>{const{slides,rtlTranslate:rtl}=swiper;const params=swiper.params.flipEffect;const rotateFix=getRotateFix(swiper);for(let i=0;i<slides.length;i+=1){const slideEl=slides[i];let progress=slideEl.progress;if(swiper.params.flipEffect.limitRotation){progress=Math.max(Math.min(slideEl.progress,1),-1)}const offset=slideEl.swiperSlideOffset;const rotate=-180*progress;let rotateY=rotate;let rotateX=0;let tx=swiper.params.cssMode?-offset-swiper.translate:-offset;let ty=0;if(!swiper.isHorizontal()){ty=tx;tx=0;rotateX=-rotateY;rotateY=0}else if(rtl){rotateY=-rotateY}slideEl.style.zIndex=-Math.abs(Math.round(progress))+slides.length;if(params.slideShadows){createSlideShadows(slideEl,progress)}const transform=`translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateFix(rotateX)}deg) rotateY(${rotateFix(rotateY)}deg)`;const targetEl=effectTarget(params,slideEl);targetEl.style.transform=transform}};const setTransition=duration=>{const transformElements=swiper.slides.map(slideEl=>getSlideTransformEl(slideEl));transformElements.forEach(el=>{el.style.transitionDuration=`${duration}ms`;el.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach(shadowEl=>{shadowEl.style.transitionDuration=`${duration}ms`})});effectVirtualTransitionEnd({swiper:swiper,duration:duration,transformElements:transformElements})};effectInit({effect:"flip",swiper:swiper,on:on,setTranslate:setTranslate,setTransition:setTransition,recreateShadows:recreateShadows,getEffectParams:()=>swiper.params.flipEffect,perspective:()=>true,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:true,spaceBetween:0,virtualTranslate:!swiper.params.cssMode})})}function EffectCoverflow(_ref){let{swiper,extendParams,on}=_ref;extendParams({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:true}});const setTranslate=()=>{const{width:swiperWidth,height:swiperHeight,slides,slidesSizesGrid}=swiper;const params=swiper.params.coverflowEffect;const isHorizontal=swiper.isHorizontal();const transform=swiper.translate;const center=isHorizontal?-transform+swiperWidth/2:-transform+swiperHeight/2;const rotate=isHorizontal?params.rotate:-params.rotate;const translate=params.depth;const r=getRotateFix(swiper);for(let i=0,length=slides.length;i<length;i+=1){const slideEl=slides[i];const slideSize=slidesSizesGrid[i];const slideOffset=slideEl.swiperSlideOffset;const centerOffset=(center-slideOffset-slideSize/2)/slideSize;const offsetMultiplier=typeof params.modifier==="function"?params.modifier(centerOffset):centerOffset*params.modifier;let rotateY=isHorizontal?rotate*offsetMultiplier:0;let rotateX=isHorizontal?0:rotate*offsetMultiplier;let translateZ=-translate*Math.abs(offsetMultiplier);let stretch=params.stretch;if(typeof stretch==="string"&&stretch.indexOf("%")!==-1){stretch=parseFloat(params.stretch)/100*slideSize}let translateY=isHorizontal?0:stretch*offsetMultiplier;let translateX=isHorizontal?stretch*offsetMultiplier:0;let scale=1-(1-params.scale)*Math.abs(offsetMultiplier);if(Math.abs(translateX)<.001)translateX=0;if(Math.abs(translateY)<.001)translateY=0;if(Math.abs(translateZ)<.001)translateZ=0;if(Math.abs(rotateY)<.001)rotateY=0;if(Math.abs(rotateX)<.001)rotateX=0;if(Math.abs(scale)<.001)scale=0;const slideTransform=`translate3d(${translateX}px,${translateY}px,${translateZ}px)  rotateX(${r(rotateX)}deg) rotateY(${r(rotateY)}deg) scale(${scale})`;const targetEl=effectTarget(params,slideEl);targetEl.style.transform=slideTransform;slideEl.style.zIndex=-Math.abs(Math.round(offsetMultiplier))+1;if(params.slideShadows){let shadowBeforeEl=isHorizontal?slideEl.querySelector(".swiper-slide-shadow-left"):slideEl.querySelector(".swiper-slide-shadow-top");let shadowAfterEl=isHorizontal?slideEl.querySelector(".swiper-slide-shadow-right"):slideEl.querySelector(".swiper-slide-shadow-bottom");if(!shadowBeforeEl){shadowBeforeEl=createShadow("coverflow",slideEl,isHorizontal?"left"
14007:"top")}if(!shadowAfterEl){shadowAfterEl=createShadow("coverflow",slideEl,isHorizontal?"right":"bottom")}if(shadowBeforeEl)shadowBeforeEl.style.opacity=offsetMultiplier>0?offsetMultiplier:0;if(shadowAfterEl)shadowAfterEl.style.opacity=-offsetMultiplier>0?-offsetMultiplier:0}}};const setTransition=duration=>{const transformElements=swiper.slides.map(slideEl=>getSlideTransformEl(slideEl));transformElements.forEach(el=>{el.style.transitionDuration=`${duration}ms`;el.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach(shadowEl=>{shadowEl.style.transitionDuration=`${duration}ms`})})};effectInit({effect:"coverflow",swiper:swiper,on:on,setTranslate:setTranslate,setTransition:setTransition,perspective:()=>true,overwriteParams:()=>({watchSlidesProgress:true})})}function EffectCreative(_ref){let{swiper,extendParams,on}=_ref;extendParams({creativeEffect:{limitProgress:1,shadowPerProgress:false,progressMultiplier:1,perspective:true,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const getTranslateValue=value=>{if(typeof value==="string")return value;return`${value}px`};const setTranslate=()=>{const{slides,wrapperEl,slidesSizesGrid}=swiper;const params=swiper.params.creativeEffect;const{progressMultiplier:multiplier}=params;const isCenteredSlides=swiper.params.centeredSlides;const rotateFix=getRotateFix(swiper);if(isCenteredSlides){const margin=slidesSizesGrid[0]/2-swiper.params.slidesOffsetBefore||0;wrapperEl.style.transform=`translateX(calc(50% - ${margin}px))`}for(let i=0;i<slides.length;i+=1){const slideEl=slides[i];const slideProgress=slideEl.progress;const progress=Math.min(Math.max(slideEl.progress,-params.limitProgress),params.limitProgress);let originalProgress=progress;if(!isCenteredSlides){originalProgress=Math.min(Math.max(slideEl.originalProgress,-params.limitProgress),params.limitProgress)}const offset=slideEl.swiperSlideOffset;const t=[swiper.params.cssMode?-offset-swiper.translate:-offset,0,0];const r=[0,0,0];let custom=false;if(!swiper.isHorizontal()){t[1]=t[0];t[0]=0}let data={translate:[0,0,0],rotate:[0,0,0],scale:1,opacity:1};if(progress<0){data=params.next;custom=true}else if(progress>0){data=params.prev;custom=true}t.forEach((value,index)=>{t[index]=`calc(${value}px + (${getTranslateValue(data.translate[index])} * ${Math.abs(progress*multiplier)}))`});r.forEach((value,index)=>{let val=data.rotate[index]*Math.abs(progress*multiplier);r[index]=val});slideEl.style.zIndex=-Math.abs(Math.round(slideProgress))+slides.length;const translateString=t.join(", ");const rotateString=`rotateX(${rotateFix(r[0])}deg) rotateY(${rotateFix(r[1])}deg) rotateZ(${rotateFix(r[2])}deg)`;const scaleString=originalProgress<0?`scale(${1+(1-data.scale)*originalProgress*multiplier})`:`scale(${1-(1-data.scale)*originalProgress*multiplier})`;const opacityString=originalProgress<0?1+(1-data.opacity)*originalProgress*multiplier:1-(1-data.opacity)*originalProgress*multiplier;const transform=`translate3d(${translateString}) ${rotateString} ${scaleString}`;if(custom&&data.shadow||!custom){let shadowEl=slideEl.querySelector(".swiper-slide-shadow");if(!shadowEl&&data.shadow){shadowEl=createShadow("creative",slideEl)}if(shadowEl){const shadowOpacity=params.shadowPerProgress?progress*(1/params.limitProgress):progress;shadowEl.style.opacity=Math.min(Math.max(Math.abs(shadowOpacity),0),1)}}const targetEl=effectTarget(params,slideEl);targetEl.style.transform=transform;targetEl.style.opacity=opacityString;if(data.origin){targetEl.style.transformOrigin=data.origin}}};const setTransition=duration=>{const transformElements=swiper.slides.map(slideEl=>getSlideTransformEl(slideEl));transformElements.forEach(el=>{el.style.transitionDuration=`${duration}ms`;el.querySelectorAll(".swiper-slide-shadow").forEach(shadowEl=>{shadowEl.style.transitionDuration=`${duration}ms`})});effectVirtualTransitionEnd({swiper:swiper,duration:duration,transformElements:transformElements,allSlides:true})};effectInit({effect:"creative",swiper:swiper,on:on,setTranslate:setTranslate,setTransition:setTransition,perspective:()=>swiper.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:true,virtualTranslate:!swiper.params.cssMode})})}function EffectCards(_ref){let{swiper,extendParams,on}=_ref;extendParams({cardsEffect:{slideShadows:true,rotate:true,perSlideRotate:2,perSlideOffset:8}});const setTranslate=()=>{const{slides,activeIndex,rtlTranslate:rtl}=swiper;const params=swiper.params.cardsEffect;const{startTranslate,isTouched}=swiper.touchEventsData;const currentTranslate=rtl?-swiper.translate:swiper.translate;
14007for(let i=0;i<slides.length;i+=1){const slideEl=slides[i];const slideProgress=slideEl.progress;const progress=Math.min(Math.max(slideProgress,-4),4);let offset=slideEl.swiperSlideOffset;if(swiper.params.centeredSlides&&!swiper.params.cssMode){swiper.wrapperEl.style.transform=`translateX(${swiper.minTranslate()}px)`}if(swiper.params.centeredSlides&&swiper.params.cssMode){offset-=slides[0].swiperSlideOffset}let tX=swiper.params.cssMode?-offset-swiper.translate:-offset;let tY=0;const tZ=-100*Math.abs(progress);let scale=1;let rotate=-params.perSlideRotate*progress;let tXAdd=params.perSlideOffset-Math.abs(progress)*.75;const slideIndex=swiper.virtual&&swiper.params.virtual.enabled?swiper.virtual.from+i:i;const isSwipeToNext=(slideIndex===activeIndex||slideIndex===activeIndex-1)&&progress>0&&progress<1&&(isTouched||swiper.params.cssMode)&&currentTranslate<startTranslate;const isSwipeToPrev=(slideIndex===activeIndex||slideIndex===activeIndex+1)&&progress<0&&progress>-1&&(isTouched||swiper.params.cssMode)&&currentTranslate>startTranslate;if(isSwipeToNext||isSwipeToPrev){const subProgress=(1-Math.abs((Math.abs(progress)-.5)/.5))**.5;rotate+=-28*progress*subProgress;scale+=-.5*subProgress;tXAdd+=96*subProgress;tY=`${-25*subProgress*Math.abs(progress)}%`}if(progress<0){tX=`calc(${tX}px ${rtl?"-":"+"} (${tXAdd*Math.abs(progress)}%))`}else if(progress>0){tX=`calc(${tX}px ${rtl?"-":"+"} (-${tXAdd*Math.abs(progress)}%))`}else{tX=`${tX}px`}if(!swiper.isHorizontal()){const prevY=tY;tY=tX;tX=prevY}const scaleString=progress<0?`${1+(1-scale)*progress}`:`${1-(1-scale)*progress}`;const transform=`
14008        translate3d(${tX}, ${tY}, ${tZ}px)
14009        rotateZ(${params.rotate?rtl?-rotate:rotate:0}deg)
14010        scale(${scaleString})
14011      `;if(params.slideShadows){let shadowEl=slideEl.querySelector(".swiper-slide-shadow");if(!shadowEl){shadowEl=createShadow("cards",slideEl)}if(shadowEl)shadowEl.style.opacity=Math.min(Math.max((Math.abs(progress)-.5)/.5,0),1)}slideEl.style.zIndex=-Math.abs(Math.round(slideProgress))+slides.length;const targetEl=effectTarget(params,slideEl);targetEl.style.transform=transform}};const setTransition=duration=>{const transformElements=swiper.slides.map(slideEl=>getSlideTransformEl(slideEl));transformElements.forEach(el=>{el.style.transitionDuration=`${duration}ms`;el.querySelectorAll(".swiper-slide-shadow").forEach(shadowEl=>{shadowEl.style.transitionDuration=`${duration}ms`})});effectVirtualTransitionEnd({swiper:swiper,duration:duration,transformElements:transformElements})};effectInit({effect:"cards",swiper:swiper,on:on,setTranslate:setTranslate,setTransition:setTransition,perspective:()=>true,overwriteParams:()=>({watchSlidesProgress:true,virtualTranslate:!swiper.params.cssMode})})}const modules=[Virtual,Keyboard,Mousewheel,Navigation,Pagination,Scrollbar,Parallax,Zoom,Controller,A11y,History,HashNavigation,Autoplay,Thumb,freeMode,Grid,Manipulation,EffectFade,EffectCube,EffectFlip,EffectCoverflow,EffectCreative,EffectCards];Swiper.use(modules);return Swiper}();
14012/* End */
14013;
14014; /* Start:"a:4:{s:4:"full";s:64:"/local/templates/culture/build/js/spellchecker.js?17665672441484";s:6:"source";s:49:"/local/templates/culture/build/js/spellchecker.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
14015$(document).ready(function(){
14016    // эта функция получает наш результат проверки орфографии
14017    fix_spell = function(data) {
14018        data.forEach(function(elem) {
14019
14020        // она находит наше поле ввода по имени
14021        $('#chat-bot-form textarea').val(
14022
14023            // и меняет всё на правильные слова без ошибок
14024            $('#chat-bot-form textarea').val().replace(
14025            elem['word'],
14026            elem['s'][0] || elem['word']
14027            )
14028        );
14029        });
14030    }
14031});
14032
14033// обработчик нажатия на клавиши
14034let chatDiv = document.getElementById('chat-bot-form');
14035if (chatDiv) {
14036chatDiv.addEventListener('keydown', function(e) {
14037
14038// если нажат пробел или энтер
14039if((e.keyCode == 32) || (e.keyCode == 13) ){
14040
14041    // делим текст на строки
14042    var lines = $('#chat-bot-form textarea').val().replace(/\r\n|\n\r|\n|\r/g, "\n").split("\n");
14043
14044    // и обрабатываем каждую строчку:
14045    lines.forEach(function(line) {
14046    if (line.length) {
14047
14048        // отправляем строку со словами на проверку в Спеллер, результат сразу отправляется в функцию fix_spell
14049        $.getScript('https://speller.yandex.net/services/spellservice.json/checkText?text=' + line + '&callback=fix_spell');
14050    }
14051    });
14052}
14053});
14054}
14055/* End */
14056;
14057; /* Start:"a:4:{s:4:"full";s:59:"/local/templates/culture/build/js/svg.min.js?17665672444088";s:6:"source";s:44:"/local/templates/culture/build/js/svg.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
14058"use strict";
14059
14060(function () {
14061  if ("undefined" !== typeof window && window.addEventListener) {
14062    var e = Object.create(null),
14063      l,
14064      d = function d() {
14065        clearTimeout(l);
14066        l = setTimeout(n, 100);
14067      },
14068      m = function m() {},
14069      t = function t() {
14070        window.addEventListener("resize", d, !1);
14071        window.addEventListener("orientationchange", d, !1);
14072        if (window.MutationObserver) {
14073          var k = new MutationObserver(d);
14074          k.observe(document.documentElement, {
14075            childList: !0,
14076            subtree: !0,
14077            attributes: !0
14078          });
14079          m = function m() {
14080            try {
14081              k.disconnect(), window.removeEventListener("resize", d, !1), window.removeEventListener("orientationchange", d, !1);
14082            } catch (v) {}
14083          };
14084        } else document.documentElement.addEventListener("DOMSubtreeModified", d, !1), m = function m() {
14085          document.documentElement.removeEventListener("DOMSubtreeModified", d, !1);
14086          window.removeEventListener("resize", d, !1);
14087          window.removeEventListener("orientationchange", d, !1);
14088        };
14089      },
14090      u = function u(k) {
14091        function e(a) {
14092          if (void 0 !== a.protocol) var c = a;else c = document.createElement("a"), c.href = a;
14093          return c.protocol.replace(/:/g, "") + c.host;
14094        }
14095        if (window.XMLHttpRequest) {
14096          var d = new XMLHttpRequest();
14097          var m = e(location);
14098          k = e(k);
14099          d = void 0 === d.withCredentials && "" !== k && k !== m ? XDomainRequest || void 0 : XMLHttpRequest;
14100        }
14101        return d;
14102      };
14103    var n = function n() {
14104      function d() {
14105        --q;
14106        0 === q && (m(), t());
14107      }
14108      function l(a) {
14109        return function () {
14110          !0 !== e[a.base] && (a.useEl.setAttributeNS("http://www.w3.org/1999/xlink", "xlink:href", "#" + a.hash), a.useEl.hasAttribute("href") && a.useEl.setAttribute("href", "#" + a.hash));
14111        };
14112      }
14113      function p(a) {
14114        return function () {
14115          var c = document.body,
14116            b = document.createElement("x");
14117          a.onload = null;
14118          b.innerHTML = a.responseText;
14119          if (b = b.getElementsByTagName("svg")[0]) b.setAttribute("aria-hidden", "true"), b.style.position = "absolute", b.style.width = 0, b.style.height = 0, b.style.overflow = "hidden", c.insertBefore(b, c.firstChild);
14120          d();
14121        };
14122      }
14123      function n(a) {
14124        return function () {
14125          a.onerror = null;
14126          a.ontimeout = null;
14127          d();
14128        };
14129      }
14130      var a,
14131        c,
14132        q = 0;
14133      m();
14134      var f = document.getElementsByTagName("use");
14135      for (c = 0; c < f.length; c += 1) {
14136        try {
14137          var g = f[c].getBoundingClientRect();
14138        } catch (w) {
14139          g = !1;
14140        }
14141        var h = (a = f[c].getAttribute("href") || f[c].getAttributeNS("http://www.w3.org/1999/xlink", "href") || f[c].getAttribute("xlink:href")) && a.split ? a.split("#") : ["", ""];
14142        var b = h[0];
14143        h = h[1];
14144        var r = g && 0 === g.left && 0 === g.right && 0 === g.top && 0 === g.bottom;
14145        g && 0 === g.width && 0 === g.height && !r ? (f[c].hasAttribute("href") && f[c].setAttributeNS("http://www.w3.org/1999/xlink", "xlink:href", a), b.length && (a = e[b], !0 !== a && setTimeout(l({
14146          useEl: f[c],
14147          base: b,
14148          hash: h
14149        }), 0), void 0 === a && (h = u(b), void 0 !== h && (a = new h(), e[b] = a, a.onload = p(a), a.onerror = n(a), a.ontimeout = n(a), a.open("GET", b), a.send(), q += 1)))) : r ? b.length && e[b] && setTimeout(l({
14150          useEl: f[c],
14151          base: b,
14152          hash: h
14153        }), 0) : void 0 === e[b] ? e[b] = !0 : e[b].onload && (e[b].abort(), delete e[b].onload, e[b] = !0);
14154      }
14155      f = "";
14156      q += 1;
14157      d();
14158    };
14159    var p = function p() {
14160      window.removeEventListener("load", p, !1);
14161      l = setTimeout(n, 0);
14162    };
14163    "complete" !== document.readyState ? window.addEventListener("load", p, !1) : p();
14164  }
14165})();
14166/* End */
14167;
14168; /* Start:"a:4:{s:4:"full";s:79:"/local/templates/culture/build/js/page/components/cookiePopup.js?17665672441496";s:6:"source";s:64:"/local/templates/culture/build/js/page/components/cookiePopup.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
14169"use strict";
14170
14171$(function () {
14172    function el(selector) {
14173        return document.querySelector(selector);
14174    }
14175    function els(selector) {
14176        return document.querySelectorAll(selector);
14177    }
14178    function cookie(name) {
14179        var c = document.cookie.split('; ').find(function (cookie) {
14180            return cookie && cookie.startsWith(name + '=');
14181        });
14182        return c ? c.split('=')[1] : false;
14183    }
14184
14185    // Сразу скрываем popup если согласие уже дано
14186    if (cookie('cookie-accepted') === "true") {
14187        el('.cookie-popup').style.display = 'none'; // Добавляем полное скрытие
14188        return; // Прекращаем выполнение скрипта
14189    }
14190
14191    setTimeout(function () {
14192        function on(selector, event, action) {
14193            els(selector).forEach(function (e) {
14194                return e.addEventListener(event, action);
14195            });
14196        }
14197        on('.cookie-popup .cookie-popup-actions-accept', 'click', function () {
14198            el('.cookie-popup').classList.add('cookie-popup--accepted');
14199            document.cookie = "cookie-accepted=true; path=/; max-age=" + (60*60*24*365); // Добавляем срок действия
14200        });
14201
14202        // Показываем popup только если согласие не дано
14203        if (cookie('cookie-accepted') !== "true") {
14204            el('.cookie-popup').classList.add('cookie-popup--not-accepted');
14205        }
14206    }, 5000);
14207});
14208/* End */
14209;
14210; /* Start:"a:4:{s:4:"full";s:65:"/local/templates/culture/build/js/shared/header.js?17665672445318";s:6:"source";s:50:"/local/templates/culture/build/js/shared/header.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
14211"use strict";
14212
14213$(document).on("click", "#js_menuToggle", function () {
14214    if ($("#js_headerNav").is(":hidden")) {
14215        $("#js_headerNav").slideDown(300, function () {
14216            if ($(this).css("display") === "none") {
14217                $(this).css("display", "block");
14218            }
14219        });
14220    } else {
14221        $("#js_headerNav").hide();
14222    }
14223});
14224$(function () {
14225    var url = window.location.pathname;
14226    var links = $('.nav__link');
14227    if (url && links) {
14228        links.each(function (_, link) {
14229            var href = $(link).attr('href');
14230            if (url === href && href) {
14231                link.classList.add('nav__link_active');
14232            } else {
14233                link.classList.remove('nav__link_active');
14234            }
14235        });
14236    }
14237});
14238$(document).ready(function () {
14239    searchHeaderDesctop();
14240    searchHeaderMobile();
14241});
14242var validHeaderFunction = function validHeaderFunction(item) {
14243    item.validate({
14244        rules: {
14245            search: {
14246                minlength: 3,
14247                required: true
14248            }
14249        },
14250        messages: {
14251            search: {
14252                required: 'Поле не может быть пустым',
14253                minlength: 'Введите более 3 символов'
14254            }
14255        }
14256    });
14257};
14258var replaceSymbol = function replaceSymbol(input) {
14259    input.on('input', function (event) {
14260        var reg = /[^a-zA-Zа-яёА-ЯЁ0-9-№'\s\.,\?\!:;\(\)"«»]/g.exec(event.target.value);
14261        event.target.value = event.target.value.replace(reg, '');
14262    });
14263};
14264var searchHeaderDesctop = function searchHeaderDesctop() {
14265    var searchBtnHeader = $('#searchBtnHeader');
14266    var searchIconHeader = $('#searchIconHeader');
14267    var searchInputHeader = $('#searchInputHeader');
14268    var searchFormHeader = $('#searchFormHeader');
14269    var headerSearch = $('.header__search');
14270    var searchWrap = $('.header__search .header__search-wrap');
14271    var selectL = $(".header__wrap-lang-inner");
14272    searchIconHeader.click(function (e) {
14273        e.stopPropagation();
14274        $(document).one('click', function () {
14275            headerSearch.removeClass('header__search-active');
14276            searchInputHeader.removeClass('header__search-input-active');
14277            searchIconHeader.addClass("header__search-btn-active");
14278            searchBtnHeader.removeClass("header__search-btn-active");
14279            searchFormHeader.removeClass("header__search-form-active");
14280            searchWrap.removeClass('header__search-wrap-active');
14281        });
14282        var navContainer = $('.header__nav');
14283        headerSearch.addClass('header__search-active');
14284        searchIconHeader.removeClass("header__search-btn-active");
14285        searchBtnHeader.addClass("header__search-btn-active");
14286        searchFormHeader.addClass("header__search-form-active");
14287        // searchFormHeader.addClass("header__search-form-active").width(navContainer.width());
14288        searchInputHeader.addClass("header__search-input-active");
14289        searchWrap.addClass('header__search-wrap-active');
14290        selectL.removeClass("header__wrap-lang-inner-active");
14291        searchInputHeader.focus();
14292    });
14293    headerSearch.on('click', function (e) {
14294        e.stopPropagation();
14295    });
14296    validHeaderFunction(searchFormHeader);
14297    replaceSymbol(searchInputHeader);
14298    var btnLang = $(".header__lang");
14299    var cookie = $.cookie('lang');
14300    if (!cookie) {
14301        $.cookie('lang', 'RU', {
14302            path: '/'
14303        });
14304        cookie = $.cookie('lang');
14305    }
14306    langSet(btnLang, cookie);
14307    btnLang.click(function (e) {
14308        e.stopPropagation();
14309        $(document).one('click', function () {
14310            selectL.removeClass("header__wrap-lang-inner-active");
14311        });
14312        headerSearch.removeClass('header__search-active');
14313        searchInputHeader.removeClass('header__search-input-active');
14314        searchIconHeader.addClass("header__search-btn-active");
14315        searchBtnHeader.removeClass("header__search-btn-active");
14316        searchFormHeader.removeClass("header__search-form-active");
14317        searchWrap.removeClass('header__search-wrap-active');
14318        selectL.toggleClass("header__wrap-lang-inner-active");
14319        var lang = $(".header__lang-select a");
14320        lang.one('click', function (el) {
14321            $.cookie("lang", el.target.innerText, {
14322                path: '/'
14323            });
14324            cookie = $.cookie('lang');
14325            langSet(btnLang, cookie);
14326        });
14327    });
14328    selectL.on('click', function (e) {
14329        e.stopPropagation();
14330    });
14331};
14332var searchHeaderMobile = function searchHeaderMobile() {
14333    var searchFormHeaderMobile = $('#searchFormHeaderMobile');
14334    var searchInputHeaderMobile = $('#searchInputHeaderMobile');
14335    validHeaderFunction(searchFormHeaderMobile);
14336    replaceSymbol(searchInputHeaderMobile);
14337};
14338var langSet = function langSet(btn, cookie) {
14339    btn.eq(0)[0].dataset.lang = cookie;
14340    btn.eq(0)[0].innerText = cookie;
14341};
14342$(function () {
14343    var itemBvi = 'bvi-open';
14344    var bviOpen = $('.bvi-open, .header-nav__btn_view');
14345    var checkBvi = localStorage.getItem('bvi-open');
14346    var panelBvi = $('.bvi-panel');
14347    if (checkBvi && !panelBvi.length) {
14348        bviOpen.trigger('click');
14349    }
14350    bviOpen.on('mouseup', function () {
14351        localStorage.setItem(itemBvi, 'true');
14352    });
14353});
14354/* End */
14355;
14356; /* Start:"a:4:{s:4:"full";s:76:"/local/templates/culture/build/js/shared/svg-injector.min.js?176656724416755";s:6:"source";s:60:"/local/templates/culture/build/js/shared/svg-injector.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
14357"use strict";
14358
14359function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
14360/*!
14361 * SVGInjector v2.1.5 - Fast, caching, dynamic inline SVG DOM injection library
14362 * https://github.com/flobacher/SVGInjector2
14363 * forked from:
14364 * https://github.com/iconic/SVGInjector
14365 *
14366 * Copyright (c) 2015 flobacher <[email protected]>
14367 * @license MIT
14368 *
14369 * original Copyright (c) 2014 Waybury <[email protected]>
14370 * @license MIT
14371 */
14372!function (e, t) {
14373  "use strict";
14374
14375  var r = function () {
14376    function r(e) {
14377      r.instanceCounter++, this.init(e);
14378    }
14379    var n,
14380      i,
14381      s,
14382      l,
14383      a,
14384      o,
14385      c,
14386      u,
14387      f,
14388      p,
14389      d,
14390      v,
14391      g,
14392      m,
14393      h,
14394      b,
14395      y,
14396      S,
14397      A,
14398      C,
14399      x,
14400      k,
14401      N,
14402      w,
14403      j,
14404      E,
14405      I,
14406      F,
14407      T,
14408      G,
14409      V = "http://www.w3.org/2000/svg",
14410      O = "http://www.w3.org/1999/xlink",
14411      q = ["sprite"];
14412    return s = [], r.instanceCounter = 0, r.prototype.init = function (r) {
14413      r = r || {}, n = {}, o = {}, o.isLocal = "file:" === e.location.protocol, o.hasSvgSupport = t.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1"), i = {
14414        count: 0,
14415        elements: []
14416      }, l = {}, a = {}, a.evalScripts = r.evalScripts || "always", a.pngFallback = r.pngFallback || !1, a.svgFallbackDir = r.svgFallbackDir || !1, a.onlyInject
14416VisiblePart = r.onlyInjectVisiblePart || !0, a.keepStylesClass = void 0 === r.keepStylesClass ? "" : r.keepStylesClass, a.spriteClassName = void 0 === r.spriteClassName ? "sprite" : r.spriteClassName, a.spriteClassIdName = void 0 === r.spriteClassIdName ? "sprite--" : r.spriteClassIdName, a.removeStylesClass = void 0 === r.removeStylesClass ? "icon" : r.removeStylesClass, a.removeAllStyles = void 0 !== r.removeAllStyles && r.removeAllStyles, a.fallbackClassName = void 0 === r.fallbackClassName ? q : r.fallbackClassName, a.prefixStyleTags = void 0 === r.prefixStyleTags || r.prefixStyleTags, a.spritesheetURL = void 0 !== r.spritesheetURL && "" !== r.spritesheetURL && r.spritesheetURL, a.prefixFragIdClass = a.spriteClassIdName, a.forceFallbacks = void 0 !== r.forceFallbacks && r.forceFallbacks, a.forceFallbacks && (o.hasSvgSupport = !1), x(t.querySelector("html"), "no-svg", o.hasSvgSupport), o.hasSvgSupport && void 0 === r.removeStylesClass && C(a.removeStylesClass);
14417    }, r.prototype.inject = function (e, t, r) {
14418      if (void 0 !== e.length) {
14419        if (0 === e.length) t && t(0);else {
14420          var n = 0,
14421            i = this;
14422          I.call(e, function (s) {
14423            i.injectElement(s, function (i) {
14424              r && "function" == typeof r && r(i), t && e.length === ++n && t(n);
14425            });
14426          });
14427        }
14428      } else e ? this.injectElement(e, function (n) {
14429        r && "function" == typeof r && r(n), t && t(1), e = null;
14430      }) : t && t(0);
14431    }, G = r.prototype.injectElement = function (e, t) {
14432      var r,
14433        n = e.getAttribute("data-src") || e.getAttribute("src");
14434      if (!n) {
14435        if (!a.spritesheetURL) return;
14436        if ("" === (r = h(e))) return;
14437        n = a.spritesheetURL + "#" + r;
14438      }
14439      e.setAttribute("data-src", n);
14440      var s = n.split("#");
14441      1 === s.length && s.push("");
14442      var l;
14443      if (!/\.svg/i.test(n)) return void t("Attempted to inject a file with a non-svg extension: " + n);
14444      if (!o.hasSvgSupport) {
14445        var f = e.getAttribute("data-fallback") || e.getAttribute("data-png");
14446        return void (f ? (e.setAttribute("src", f), t(null)) : a.pngFallback ? (s.length > 1 && s[1] ? (l = s[1] + ".png", j(a.fallbackClassName) ? c(e, s[1], a.fallbackClassName) : w(a.fallbackClassName) ? a.fallbackClassName(e, s[1]) : "string" == typeof a.fallbackClassName ? E(e, a.fallbackClassName) : e.setAttribute("src", a.pngFallback + "/" + l)) : (l = n.split("/").pop().replace(".svg", ".png"), e.setAttribute("src", a.pngFallback + "/" + l)), t(null)) : t("This browser does not support SVG and no PNG fallback was defined."));
14447      }
14448      j(a.fallbackClassName) && u(e, s[1], a.fallbackClassName), -1 === i.elements.indexOf(e) && (i.elements.push(e), A(t, n, e));
14449    }, r.prototype.getEnv = function () {
14450      return o;
14451    }, r.prototype.getConfig = function () {
14452      return a;
14453    }, c = function c(e, t, r) {
14454      var n = void 0 === r ? q : r.slice(0);
14455      I.call(n, function (e, r) {
14456        n[r] = e.replace("%s", t);
14457      }), E(e, n);
14458    }, u = function u(e, t, r) {
14459      r = void 0 === r ? q.slice(0) : r.slice(0);
14460      var n,
14461        i,
14462        s = e.getAttribute("class");
14463      void 0 !== s && null !== s && (i = s.split(" ")) && (I.call(r, function (e) {
14464        e = e.replace("%s", t), (n = i.indexOf(e)) >= 0 && (i[n] = "");
14465      }), e.setAttribute("class", N(i.join(" "))));
14466    }, p = function p(e, t, r, n) {
14467      var i = 0;
14468      return e.textContent = e.textContent.replace(/url\(('|")*#.+('|")*(?=\))/g, function (e) {
14469        return i++, e + "-" + t;
14470      }), i;
14471    }, f = function f(e, t) {
14472      var r,
14473        n,
14474        i,
14475        s,
14476        l,
14477        a,
14478        o,
14479        c,
14480        u,
14481        f,
14482        p,
14483        d,
14484        v,
14485        g,
14486        m,
14487        h,
14488        b = [{
14489          def: "linearGradient",
14490          attrs: ["fill", "stroke"]
14491        }, {
14492          def: "radialGradient",
14493          attrs: ["fill", "stroke"]
14494        }, {
14495          def: "clipPath",
14496          attrs: ["clip-path"]
14497        }, {
14498          def: "mask",
14499          attrs: ["mask"]
14500        }, {
14501          def: "filter",
14502          attrs: ["filter"]
14503        }, {
14504          def: "color-profile",
14505          attrs: ["color-profile"]
14506        }, {
14507          def: "cursor",
14508          attrs: ["cursor"]
14509        }, {
14510          def: "marker",
14511          attrs: ["marker", "marker-start", "marker-mid", "marker-end"]
14512        }];
14513      I.call(b, function (b) {
14514        for (n = e.querySelectorAll(b.def + "[id]"), s = 0, i = n.length; s < i; s++) {
14515          for (r = n[s].id + "-" + t, c = b.attrs, f = 0, u = c.length; f < u; f++) for (l = e.querySelectorAll("[" + c[f] + '="url(#' + n[s].id + ')"]'), o = 0, a = l.length; o < a; o++) l[o].setAttribute(c[f], "url(#" + r + ")");
14516          for (p = e.querySelectorAll("[*|href]"), g = [], v = 0, d = p.length; v < d; v++) p[v].getAttributeNS(O, "href").toString() === "#" + n[s].id && g.push(p[v]);
14517          for (h = 0, m = g.length; h < m; h++) g[h].setAttributeNS(O, "href", "#" + r);
14518          n[s].id = r;
14519        }
14520      });
14521    }, d = function d(e, t, r) {
14522      var n;
14523      void 0 === r && (r = ["id", "viewBox"]);
14524      for (var i = 0; i < e.attributes.length; i++) n = e.attributes.item(i), r.indexOf(n.name) < 0 && t.setAttribute(n.name, n.value);
14525    }, v = function v(e) {
14526      var r = t.createElementNS(V, "svg");
14527      return I.call(e.childNodes, function (e) {
14528        r.appendChild(e.cloneNode(!0));
14529      }), d(e, r), r;
14530    }, g = function g(e, t, r) {
14531      var n,
14532        i,
14533        s,
14534        l,
14535        a,
14536        o,
14537        c = r.getAttribute("data-src").split("#"),
14538        u = e.textContent,
14539        f = "",
14540        p = function p(e, t, r) {
14541          r[t] = "." + s + " " + e;
14542        };
14543      if (c.length > 1) i = c[1], s = i + "-" + t, n = new RegExp("\\." + i + " ", "g"), e.textContent = u.replace(n, "." + s + " ");else {
14544        for (l = c[0].split("/"), s = l[l.length - 1].replace(".svg", "") + "-" + t, n = new RegExp("([\\s\\S]*?){([\\s\\S]*?)}", "g"); null !== (a = n.exec(u));) {
14545          o = a[1].trim().split(", "), o.forEach(p);
14546          f += o.join(", ") + "{" + a[2] + "}\n";
14547        }
14548        e.textContent = f;
14549      }
14550      r.setAttribute("class", r.getAttribute("class") + " " + s);
14551    }, m = function m(e) {
14552      var t = e.getAttribute("class");
14553      return t ? t.trim().split(" ") : [];
14554    }, h = function h(e) {
14555      var t = m(e),
14556        r = "";
14557      return I.call(t, function (e) {
14558        e.indexOf(a.spriteClassIdName) >= 0 && (r = e.replace(a.spriteClassIdName, ""));
14559      }), r;
14560    }, b = function b(e, t, r) {
14561      var n,
14562        i,
14563        s,
14564        l,
14565        a,
14566        o,
14567        c = null,
14568        u = !1,
14569        f = !1,
14570        p = null;
14571      if (void 0 === r) n = c = t.cloneNode(!0), c.getAttribute("width") || t.getAttribute("width") || (f = !0);else if (!(n = t.getElementById(r))) return;
14572      if (s = n.getAttribute("viewBox"), i = s.split(" "), !c) {
14573        if (n instanceof SVGSymbolElement) c = v(n), f = u = !0;else if (n instanceof SVGViewElement) {
14574          if (p = null, e.onlyInjectVisiblePart) {
14575            var d = '*[width="' + i[2] + '"][height="' + i[3] + '"]';
14576            l = {}, 0 === Math.abs(parseInt(i[0])) ? d += ":not([x])" : (l.x = i[0], d += '[x="' + i[0] + '"]'), 0 === Math.abs(parseInt(i[1])) ? d += ":not([y])" : (l.y = i[1], d += '[y="' + i[1] + '"]'), o = t.querySelectorAll(d), o.length, p = o[0];
14577          }
14578          if (p && p instanceof SVGSVGElement) {
14579            c = p.cloneNode(!0);
14580            for (var g in l) "width" !== g && "height" !== g && c.removeAttribute(g);
14581          } else if (p && p instanceof SVGUseElement) {
14582            var h = t.getElementById(p.getAttributeNS(O, "href").substr(1));
14583            c = v(h), s = h.getAttribute("viewBox"), i = s.split(" "), f = u = !0;
14584          } else f = u = !0, c = t.cloneNode(!0);
14585        }
14586        a = m(c);
14587        var b = e.prefixFragIdClass + r;
14588        a.indexOf(b) < 0 && (a.push(b), c.setAttribute("class", a.join(" ")));
14589      }
14590      return u && c.setAttribute("viewBox", i.join(" ")), f && (c.setAttribute("width", i[2] + "px"), c.setAttribute("height", i[3] + "px")), c.setAttribute("xmlns", V), c.setAttribute("xmlns:xlink", O), c;
14591    }, y = function y(e, t, r, n) {
14592      s[e] = s[e] || [], s[e].push({
14593        callback: r,
14594        fragmentId: t,
14595        element: n,
14596        name: name
14597      });
14598    }, S = function S(e) {
14599      for (var t, r = 0, n = s[e].length; r < n; r++) !function (r) {
14600        setTimeout(function () {
14601          t = s[e][r], k(e, t.fragmentId, t.callback, t.element, t.n
14601ame);
14602        }, 0);
14603      }(r);
14604    }, A = function A(t, r, i) {
14605      var s, l, a, c, u;
14606      if (s = r.split("#"), l = s[0], a = 2 === s.length ? s[1] : void 0, void 0 !== a && (u = l.split("/"), c = u[u.length - 1].replace(".svg", "")), void 0 !== n[l]) n[l] instanceof SVGSVGElement ? k(l, a, t, i, c) : y(l, a, t, i, c);else {
14607        if (!e.XMLHttpRequest) return t("Browser does not support XMLHttpRequest"), !1;
14608        n[l] = {}, y(l, a, t, i, c);
14609        var f = new XMLHttpRequest();
14610        f.onreadystatechange = function () {
14611          if (4 === f.readyState) {
14612            if (404 === f.status || null === f.responseXML) return t("Unable to load SVG file: " + l), !1;
14613            if (!(200 === f.status || o.isLocal && 0 === f.status)) return t("There was a problem injecting the SVG: " + f.status + " " + f.statusText), !1;
14614            if (f.responseXML instanceof Document) n[l] = f.responseXML.documentElement;else if (DOMParser && DOMParser instanceof Function) {
14615              var e;
14616              try {
14617                var i = new DOMParser();
14618                e = i.parseFromString(f.responseText, "text/xml");
14619              } catch (t) {
14620                e = void 0;
14621              }
14622              if (!e || e.getElementsByTagName("parsererror").length) return t("Unable to parse SVG file: " + r), !1;
14623              n[l] = e.documentElement;
14624            }
14625            S(l);
14626          }
14627        }, f.open("GET", l), f.overrideMimeType && f.overrideMimeType("text/xml"), f.send();
14628      }
14629    }, C = function C(e) {
14630      var r = "svg." + e + " {fill: currentColor;}",
14631        n = t.head || t.getElementsByTagName("head")[0],
14632        i = t.createElement("style");
14633      i.type = "text/css", i.styleSheet ? i.styleSheet.cssText = r : i.appendChild(t.createTextNode(r)), n.appendChild(i);
14634    }, x = function x(e, t, r) {
14635      r ? e.className.replace(t, "") : e.className += " " + t;
14636    }, k = function k(t, r, s, o, c) {
14637      var u, v, h, y, S, A, C, x;
14638      if (void 0 === (u = b(a, n[t], r)) || "string" == typeof u) return S = o.getAttribute("data-fallback-svg"), S = !(!S && !a.svgFallbackDir) && a.svgFallbackDir + "/" + r + ".svg", S ? (o.setAttribute("data-src", S), i.elements.splice(i.elements.indexOf(o), 1), G(o, s)) : s(u), !1;
14639      u.setAttribute("role", "img"), I.call(u.children || [], function (e) {
14640        e instanceof SVGDefsElement || e instanceof SVGTitleElement || e instanceof SVGDescElement || e.setAttribute("role", "presentation");
14641      }), y = o.getAttribute("aria-hidden") || u.getAttribute("aria-hidden"), y ? (u.setAttribute("aria-hidden", "true"), C = u.querySelector("title"), x = u.querySelector("desc"), C && u.removeChild(C), x && u.removeChild(x)) : (h = F("desc", u, o, r, !1), v = F("title", u, o, r, !1), (h.length > 0 || v.length > 0) && (A = v + " " + h, u.setAttribute("aria-labelledby", A.trim()))), d(o, u, ["class"]);
14642      var k = [].concat(u.getAttribute("class") || [], "injected-svg", o.getAttribute("class") || []).join(" ");
14643      u.setAttribute("class", N(k)), f(u, i.count, c), u.removeAttribute("xmlns:a");
14644      for (var w, j, E = u.querySelectorAll("script"), T = [], V = 0, O = E.length; V < O; V++) (j = E[V].getAttribute("type")) && "application/ecmascript" !== j && "application/javascript" !== j || (w = E[V].innerText || E[V].textContent, T.push(w), u.removeChild(E[V]));
14645      if (T.length > 0 && ("always" === a.evalScripts || "once" === a.evalScripts && !l[t])) {
14646        for (var q = 0, L = T.length; q < L; q++) new Function(T[q])(e);
14647        l[t] = !0;
14648      }
14649      var M = u.querySelectorAll("style");
14650      I.call(M, function (e) {
14651        var t = m(u),
14652          r = !0;
14653        (t.indexOf(a.removeStylesClass) >= 0 || a.removeAllStyles) && t.indexOf(a.keepStylesClass) < 0 ? e.parentNode.removeChild(e) : (p(e, i.count, u, c) > 0 && (r = !1), a.prefixStyleTags && (g(e, i.count, u, c), r = !1), r && (e.textContent += ""));
14654      }), o.parentNode.replaceChild(u, o), delete i.elements[i.elements.indexOf(o)], i.count++, s(u);
14655    }, N = function N(e) {
14656      e = e.split(" ");
14657      for (var t = {}, r = e.length, n = []; r--;) t.hasOwnProperty(e[r]) || (t[e[r]] = 1, n.unshift(e[r]));
14658      return n.join(" ");
14659    }, w = function w(e) {
14660      return !!(e && e.constructor && e.call && e.apply);
14661    }, j = function j(e) {
14662      return "[object Array]" === Object.prototype.toString.call(e);
14663    }, E = function E(e, t) {
14664      var r = e.getAttribute("class");
14665      r = r || "", j(t) && (t = t.join(" ")), t = r + " " + t, e.setAttribute("class", N(t));
14666    }, I = Array.prototype.forEach || function (e, t) {
14667      if (void 0 === this || null === this || "function" != typeof e) throw new TypeError();
14668      var r,
14669        n = this.length >>> 0;
14670      for (r = 0; r < n; ++r) r in this && e.call(t, this[r], r, this);
14671    }, F = function F(e, t, r, n, s) {
14672      var l,
14673        a = n ? n + "-" : "";
14674      return a += e + "-" + i.count, l = r.querySelector(e), l ? T(e, t, l.textContent, a, t.firstChild) : (l = t.querySelector(e), l ? l.setAttribute("id", a) : s ? T(e, t, n, a, t.firstChild) : a = ""), a;
14675    }, T = function T(e, r, n, i, s) {
14676      var l,
14677        a = r.querySelector(e);
14678      return l = t.createElementNS(V, e), l.appendChild(t.createTextNode(n)), l.setAttribute("id", i), r.insertBefore(l, s), a && a.parentNode.removeChild(a), l;
14679    }, r;
14680  }();
14681  "object" == (typeof angular === "undefined" ? "undefined" : _typeof(angular)) ? angular.module("svginjector", []).provider("svgInjectorOptions", function () {
14682    var e = {};
14683    return {
14684      set: function set(t) {
14685        e = t;
14686      },
14687      $get: function $get() {
14688        return e;
14689      }
14690    };
14691  }).factory("svgInjectorFactory", ["svgInjectorOptions", function (e) {
14692    return new r(e);
14693  }]).directive("svg", ["svgInjectorFactory", function (e) {
14694    var t = e.getConfig();
14695    return {
14696      restrict: "E",
14697      link: function link(r, n, i) {
14698        i["class"] && i["class"].indexOf(t.spriteClassIdName) >= 0 ? i.$observe("class", function () {
14699          e.inject(n[0]);
14700        }) : (i.dataSrc || i.src) && e.inject(n[0]);
14701      }
14702    };
14703  }]) : "object" == (typeof module === "undefined" ? "undefined" : _typeof(module)) && "object" == _typeof(module.exports) ? module.exports = r : "function" == typeof define && define.amd ? define(function () {
14704    return r;
14705  }) : "object" == _typeof(e) && (e.SVGInjector = r);
14706}(window, document);
14707/* End */
14708;
14709; /* Start:"a:4:{s:4:"full";s:64:"/local/templates/culture/build/js/shared/main.js?176656724415888";s:6:"source";s:48:"/local/templates/culture/build/js/shared/main.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
14710"use strict";
14711
14712new SVGInjector({
14713    removeAllStyles: true,
14714    removeStylesClass: "icon"
14715}).inject(document.querySelectorAll("svg[data-src]"));
14716
14717// Оптимизированная инициализация Swiper со слайдами видимости и lazy loading
14718let swipers = {};
14719let loadedSwipers = new Set();
14720
14721// Конфигурации слайдеров с оптимизацией загрузки изображений
14722const swiperConfigs = {
14723    slider1: {
14724        selector: '.slider1',
14725        config: {
14726            slidesPerView: 1,
14727            pagination: {
14728                el: ".slider1-pagination",
14729                clickable: true,
14730            },
14731            navigation: {
14732                nextEl: ".swiper-button-next",
14733                prevEl: ".swiper-button-prev",
14734            },
14735            grabCursor: true,
14736            loop: true,
14737            preloadImages: false,
14738            lazy: {
14739                loadPrevNext: true,
14740                loadPrevNextAmount: 1,
14741            },
14742            on: {
14743                init: function() {
14744                    preloadSliderImages(this);
14745                },
14746                slideChange: function() {
14747                    lazyLoadImages(this);
14748                }
14749            }
14750        }
14751    },
14752    slider2: {
14753        selector: '.slider2',
14754        config: {
14755            slidesPerView: 1,
14756            pagination: {
14757                el: ".slider2-pagination",
14758                clickable: true,
14759            },
14760            navigation: {
14761                nextEl: ".swiper-button-next",
14762                prevEl: ".swiper-button-prev",
14763            },
14764            grabCursor: true,
14765            loop: true,
14766            centeredSlides: true,
14767            preloadImages: false,
14768            lazy: {
14769                loadPrevNext: true,
14770                loadPrevNextAmount: 1,
14771            },
14772            on: {
14773                init: function() {
14774                    preloadSliderImages(this);
14775                },
14776                slideChange: function() {
14777                    lazyLoadImages(this);
14778                }
14779            }
14780        }
14781    },
14782    slider_news: {
14783        selector: '.slider_news',
14784        config: {
14785            pagination: {
14786                el: ".event-pagination",
14787                clickable: true,
14788            },
14789            navigation: {
14790                nextEl: ".swiper-button-next",
14791                prevEl: ".swiper-button-prev",
14792            },
14793            breakpoints: {
14794                320: { slidesPerView: 1, slidesPerGroup: 1 },
14795                480: { slidesPerView: 2, slidesPerGroup: 2 },
14796                900: { slidesPerView: 3, slidesPerGroup: 3 },
14797                1200: { slidesPerView: 4, slidesPerGroup: 4 }
14798            },
14799            grabCursor: true,
14800            loop: true,
14801            spaceBetween: 20,
14802            preloadImages: false,
14803            lazy: {
14804                loadPrevNext: true,
14805                loadPrevNextAmount: 2,
14806            },
14807            on: {
14808                init: function() {
14809                    preloadSliderImages(this);
14810                },
14811                slideChange: function() {
14812                    lazyLoadImages(this);
14813                }
14814            }
14815        }
14816    },
14817    slider_links: {
14818        selector: '.slider_links',
14819        config: {
14820            pagination: {
14821                el: ".links-pagination",
14822                clickable: true,
14823            },
14824            navigation: {
14825                nextEl: ".swiper-button-next",
14826                prevEl: ".swiper-button-prev",
14827            },
14828            breakpoints: {
14829                320: { slidesPerView: 2, slidesPerGroup: 2 },
14830                480: { slidesPerView: 3, slidesPerGroup: 3 },
14831                1024: { slidesPerView: 4, slidesPerGroup: 4 },
14832                1200: { slidesPerView: 5, slidesPerGroup: 5 }
14833            },
14834            grabCursor: true,
14835            loop: true,
14836            spaceBetween: 20,
14837            preloadImages: false,
14838            lazy: {
14839                loadPrevNext: true,
14840                loadPrevNextAmount: 2,
14841            },
14842            on: {
14843                init: function() {
14844                    preloadSliderImages(this);
14845                },
14846                slideChange: function() {
14847                    lazyLoadImages(this);
14848                }
14849            }
14850        }
14851    },
14852    slider_events: {
14853        selector: '.slider_events',
14854        config: {
14855            pagination: {
14856                el: ".event-pagination",
14857                clickable: true,
14858            },
14859            navigation: {
14860                nextEl: ".event-button-next",
14861                prevEl: ".event-button-prev",
14862            },
14863            breakpoints: {
14864                320: { slidesPerView: 1, slidesPerGroup: 1 },
14865                480: { slidesPerView: 2, slidesPerGroup: 2 },
14866                900: { slidesPerView: 3, slidesPerGroup: 3 },
14867                1200: { slidesPerView: 4, slidesPerGroup: 4 }
14868            },
14869            grabCursor: true,
14870            loop: true,
14871            spaceBetween: 20,
14872            preloadImages: false,
14873            lazy: {
14874                loadPrevNext: true,
14875                loadPrevNextAmount: 2,
14876            },
14877            on: {
14878                init: function() {
14879                    preloadSliderImages(this);
14880                },
14881                slideChange: function() {
14882                    lazyLoadImages(this);
14883                }
14884            }
14885        }
14886    },
14887    slider_org: {
14888        selector: '.slider_org',
14889        config: {
14890            pagination: {
14891                el: ".org-pagination",
14892                clickable: true,
14893            },
14894            navigation: {
14895                nextEl: ".org-button-next",
14896                prevEl: ".org-button-prev",
14897            },
14898            breakpoints: {
14899                320: { slidesPerView: 1, slidesPerGroup: 1 },
14900                480: { slidesPerView: 2, slidesPerGroup: 2 },
14901                900: { slidesPerView: 3, slidesPerGroup: 3 },
14902                1200: { slidesPerView: 4, slidesPerGroup: 4 }
14903            },
14904            grabCursor: true,
14905            loop: true,
14906            spaceBetween: 20,
14907            preloadImages: false,
14908            lazy: {
14909                loadPrevNext: true,
14910                loadPrevNextAmount: 2,
14911            },
14912            on: {
14913                init: function() {
14914                    preloadSliderImages(this);
14915                },
14916                slideChange: function() {
14917                    lazyLoadImages(this);
14918                }
14919            }
14920        }
14921    }
14922};
14923
14924/**
14925 * Предзагружает изображения для текущего слайда и соседних
14926 */
14927function preloadSliderImages(swiper) {
14928    if (!swiper) return;
14929    
14930    const slides = swiper.slides;
14931    if (!slides || slides.length === 0) return;
14932    
14933    // Предзагружаем текущий слайд
14934    const activeIndex = swiper.activeIndex;
14935    preloadImageInSlide(slides[activeIndex]);
14936    
14937    // Предзагружаем соседние слайды
14938    if (activeIndex > 0) {
14939        preloadImageInSlide(slides[activeIndex - 1]);
14940    }
14941    if (activeIndex < slides.length - 1) {
14942        preloadImageInSlide(slides[activeIndex + 1]);
14943    }
14944}
14945
14946/**
14947 * Ленивая загрузка изображений в слайде
14948 */
14949function lazyLoadImages(swiper) {
14950    if (!swiper) return;
14951    
14952    const slides = swiper.slides;
14953    if (!slides || slides.length === 0) return;
14954    
14955    const activeIndex = swiper.activeIndex;
14956    
14957    // Загружаем текущий слайд
14958    preloadImageInSlide(slides[activeIndex]);
14959    
14960    // Предзагружаем следующий и предыдущий слайды
14961    if (activeIndex > 0) {
14962        preloadImageInSlide(slides[activeIndex - 1]);
14963    }
14964    if (activeIndex < slides.length - 1) {
14965        preloadImageInSlide(slides[activeIndex + 1]);
14966    }
14967}
14968
14969/**
14970 * Загружает изображение в слайде
14971 */
14972function preloadImageInSlide(slide) {
14973    if (!slide) return;
14974    
14975    // Проверяем элементы с background-image
14976    const bgElements = slide.querySelectorAll('[style*="background-image"]');
14977    bgElements.forEach(element => {
14978        // Проверяем, уже ли загружено
14979        const bgImage = element.style.backgroundImage;
14980        if (bgImage && bgImage.includes('url(')) {
14981            // Изображение уже в CSS, ничего не нужно делать
14982        }
14983    });
14984    
14985    // Проверяем img теги
14986    const images = slide.querySelectorAll('img[data-src]');
14987    images.forEach(img => {
14988        if (!img.src || img.src === '') {
14989            img.src = img.getAttribute('data-src');
14990        }
14991    });
14992}
14993
14994/**
14995 * Инициализирует слайдер по конфигурации
14996 */
14997function initializeSwiper(name, config) {
14998    if (!config.selector) return;
14999    
15000    // Пропускаем, если уже инициализирован
15001    if (loadedSwipers.has(name)) {
15002        return;
15003    }
15004    
15005    const element = document.querySelector(config.selector);
15006    if (!element) {
15007        console.warn(`Swiper element not found: ${config.selector}`);
15008        return;
15009    }
15010    
15011    try {
15012        if (typeof Swiper !== 'undefined') {
15013            // Проверяем количество слайдов
15014            const slides = element.querySelectorAll('.swiper-slide');
15015            const slideCount = slides.length;
15016            
15017            // Создаем копию конфигурации для этого слайдера
15018            const finalConfig = JSON.parse(JSON.stringify(config.config));
15019            
15020            // Определяем минимальное количество слайдов для loop режима
15021            let minSlidesForLoop = 3; // по умолчанию
15022            
15023            if (finalConfig.breakpoints) {
15024                // Берем максимальный slidesPerView из breakpoints
15025                const breakpointValues = Object.values(finalConfig.breakpoints);
15026                const maxSlidesPerView = Math.max(...breakpointValues.map(bp => bp.slidesPerView || 1));
15027                minSlidesForLoop = maxSlidesPerView * 2; // нужно минимум slidesPerView * 2 слайдов
15028            } else if (finalConfig.slidesPerView) {
15029                minSlidesForLoop = finalConfig.slidesPerView * 2;
15030            }
15031            
15032            // Отключаем loop если слайдов недостаточно
15033            if (slideCount < minSlidesForLoop) {
15034                finalConfig.loop = false;
15035                console.warn(`Loop disabled for "${name}" - only ${slideCount} slides (min required: ${minSlidesForLoop})`);
15036            }
15037            
15038            // Отключаем centeredSlides если недостаточно слайдов
15039            if (slideCount < 3 && finalConfig.centeredSlides) {
15040                finalConfig.centeredSlides = false;
15041            }
15042            
15043            swipers[name] = new Swiper(config.selector, finalConfig);
15044            loadedSwipers.add(name);
15045            console.log(`Swiper "${name}" initialized successfully (${slideCount} slides)`);
15046            
15047            // Применяем оптимизацию загрузки изображений
15048            preloadSliderImages(swipers[name]);
15049        }
15050    } catch (error) {
15051        console.error(`Error initializing Swiper "${name}":`, error);
15052    }
15053}
15054
15055/**
15056 * Инициализирует все видимые слайдеры (above the fold)
15057 */
15058function initializeVisibleSwipers() {
15059    if (typeof Swiper === 'undefined') {
15060        console.error('Swiper не загружен!');
15061        return;
15062    }
15063    
15064    console.log('Swiper загружен, версия:', Swiper.version);
15065    
15066    // Инициализируем только видимые слайдеры (первые в viewport)
15067    const prioritySwipers = ['slider1', 'slider2'];
15068    prioritySwipers.forEach(name => {
15069        if (swiperConfigs[name]) {
15070            const element = document.querySelector(swiperConfigs[name].selector);
15071            if (element && element.offsetParent !== null) {
15072                initializeSwiper(name, swiperConfigs[name]);
15073            }
15074        }
15075    });
15076}
15077
15078/**
15079 * Отложенная инициализация слайдеров, которые не видны в viewport
15080 */
15081function deferredInitializeSwipers() {
15082    if (typeof Swiper === 'undefined') {
15083        return;
15084    }
15085    
15086    // Используем Intersection Observer для более эффективной инициализации
15087    if ('IntersectionObserver' in window) {
15088        Object.entries(swiperConfigs).forEach(([name, config]) => {
15089            if (loadedSwipers.has(name)) return;
15090            
15091            const element = document.querySelector(config.selector);
15092            if (!element) return;
15093            
15094            const observer = new IntersectionObserver((entries) => {
15095                entries.forEach(entry => {
15096                    if (entry.isIntersecting && !loadedSwipers.has(name)) {
15097                        initializeSwiper(name, config);
15098                        observer.unobserve(entry.target);
15099                    }
15100                });
15101            }, {
15102                rootMargin: '100px' // Начинаем загрузку за 100px до viewport
15103            });
15104            
15105            observer.observe(element);
15106        });
15107    } else {
15108        // Fallback для старых браузеров
15109        Object.entries(swiperConfigs).forEach(([name, config]) => {
15110            if (!loadedSwipers.has(name)) {
15111                const element = document.querySelector(config.selector);
15112                if (element) {
15113                    initializeSwiper(name, config);
15114                }
15115            }
15116        });
15117    }
15118}
15119
15120/**
15121 * Оптимизация загрузки изображений в слайдерах
15122 */
15123function optimizeSliderImages() {
15124    // Добавляем loading="lazy" ко всем изображениям в слайдерах
15125    const sliderImages = document.querySelectorAll('.swiper img');
15126    sliderImages.forEach(img => {
15127        if (!img.hasAttribute('loading')) {
15128            img.setAttribute('loading', 'lazy');
15129        }
15130    });
15131    
15132    // Устанавливаем placeholder для background-images
15133    const bgSlides = document.querySelectorAll('.swiper-slide[style*="background-image"]');
vendor: 10,735 bytes, lines 15134-15185
15134    bgSlides.forEach(slide => {
15135        if (!slide.hasAttribute('data-loading-optimized')) {
15136            // Добавляем placeholder цвет
15137            slide.style.backgroundColor = '#f0f0f0';
15138            slide.setAttribute('data-loading-optimized', 'true');
15139        }
15140    });
15141}
15142
15143// Инициализация при загрузке DOM
15144document.addEventListener('DOMContentLoaded', function() {
15145    // Оптимизируем загрузку изображений
15146    optimizeSliderImages();
15147    
15148    // Сначала инициализируем видимые слайдеры (above the fold)
15149    initializeVisibleSwipers();
15150    
15151    // Отложенная инициализация остальных слайдеров
15152    // Используем requestIdleCallback если доступна, иначе setTimeout
15153    if ('requestIdleCallback' in window) {
15154        requestIdleCallback(() => {
15155            deferredInitializeSwipers();
15156        }, { timeout: 3000 });
15157    } else {
15158        setTimeout(() => {
15159            deferredInitializeSwipers();
15160        }, 2000);
15161    }
15162});
15163
15164// Инициализация при скролле (для слайдеров, которые появляются позже)
15165window.addEventListener('scroll', function() {
15166    deferredInitializeSwipers();
15167}, { passive: true });
15168
15169// Инициализация при изменении размера окна
15170window.addEventListener('resize', function() {
15171    deferredInitializeSwipers();
15172}, { passive: true });
15173/* End */
15174;
15175; /* Start:"a:4:{s:4:"full";s:61:"/local/templates/culture/build/js/gsap.min.js?176656724471157";s:6:"source";s:45:"/local/templates/culture/build/js/gsap.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
15176/*!
15177 * GSAP 3.11.4
15178 * https://greensock.com
15179 * 
15180 * @license Copyright 2022, GreenSock. All rights reserved.
15181 * Subject to the terms at https://greensock.com/standard-license or for Club GreenSock members, the agreement issued with that membership.
15182 * @author: Jack Doyle, [email protected]
15183 */
15184
15185!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t=t||self).window=t.window||{})}(this,function(e){"use strict";function _inheritsLoose(t,e){t.prototype=Object.create(e.prototype),(t.prototype.constructor=t).__proto__=e}function _assertThisInitialized(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function r(t){return"string"==typeof t}function s(t){return"function"==typeof t}function t(t){return"number"==typeof t}function u(t){return void 0===t}function v(t){return"object"==typeof t}function w(t){return!1!==t}function x(){return"undefined"!=typeof window}function y(t){return s(t)||r(t)}function P(t){return(i=yt(t,ot))&&Ce}function Q(t,e){return console.warn("Invalid property",t,"set to",e,"Missing plugin? gsap.registerPlugin()")}function R(t,e){return!e&&console.warn(t)}function S(t,e){return t&&(ot[t]=e)&&i&&(i[t]=e)||ot}function T(){return 0}function ea(t){var e,r,i=t[0];if(v(i)||s(i)||(t=[t]),!(e=(i._gsap||{}).harness)){for(r=gt.length;r--&&!gt[r].targetTest(i););e=gt[r]}for(r=t.length;r--;)t[r]&&(t[r]._gsap||(t[r]._gsap=new jt(t[r],e)))||t.splice(r,1);return t}function fa(t){return t._gsap||ea(Ot(t))[0]._gsap}function ga(t,e,r){return(r=t[e])&&s(r)?t[e]():u(r)&&t.getAttribute&&t.getAttribute(e)||r}function ha(t,e){return(t=t.split(",")).forEach(e)||t}function ia(t){return Math.round(1e5*t)/1e5||0}function ja(t){return Math.round(1e7*t)/1e7||0}function ka(t,e){var r=e.charAt(0),i=parseFloat(e.substr(2));return t=parseFloat(t),"+"===r?t+i:"-"===r?t-i:"*"===r?t*i:t/i}function la(t,e){for(var r=e.length,i=0;t.indexOf(e[i])<0&&++i<r;);return i<r}function ma(){var t,e,r=ct.length,i=ct.slice(0);for(dt={},t=ct.length=0;t<r;t++)(e=i[t])&&e._lazy&&(e.render(e._lazy[0],e._lazy[1],!0)._lazy=0)}function na(t,e,r,i){ct.length&&!B&&ma(),t.render(e,r,i||B&&e<0&&(t._initted||t._startAt)),ct.length&&!B&&ma()}function oa(t){var e=parseFloat(t);return(e||0===e)&&(t+"").match(at).length<2?e:r(t)?t.trim():t}function pa(t){return t}function qa(t,e){for(var r in e)r in t||(t[r]=e[r]);return t}function ta(t,e){for(var r in e)"__proto__"!==r&&"constructor"!==r&&"prototype"!==r&&(t[r]=v(e[r])?ta(t[r]||(t[r]={}),e[r]):e[r]);return t}function ua(t,e){var r,i={};for(r in t)r in e||(i[r]=t[r]);return i}function va(t){var e=t.parent||L,r=t.keyframes?function _setKeyframeDefaults(i){return function(t,e){for(var r in e)r in t||"duration"===r&&i||"ease"===r||(t[r]=e[r])}}($(t.keyframes)):qa;if(w(t.inherit))for(;e;)r(t,e.vars.defaults),e=e.parent||e._dp;return t}function xa(t,e,r,i,n){void 0===r&&(r="_first"),void 0===i&&(i="_last");var a,s=t[i];if(n)for(a=e[n];s&&s[n]>a;)s=s._prev;return s?(e._next=s._next,s._next=e):(e._next=t[r],t[r]=e),e._next?e._next._prev=e:t[i]=e,e._prev=s,e.parent=e._dp=t,e}function ya(t,e,r,i){void 0===r&&(r="_first"),void 0===i&&(i="_last");var n=e._prev,a=e._next;n?n._next=a:t[r]===e&&(t[r]=a),a?a._prev=n:t[i]===e&&(t[i]=n),e._next=e._prev=e.parent=null}function za(t,e){!t.parent||e&&!t.parent.autoRemoveChildren||t.parent.remove(t),t._act=0}function Aa(t,e){if(t&&(!e||e._end>t._dur||e._start<0))for(var r=t;r;)r._dirty=1,r=r.parent;return t}function Ca(t,e,r,i){return t._startAt&&(B?t._startAt.revert(ht):t.vars.immediateRender&&!t.vars.autoRevert||t._startAt.render(e,!0,i))}function Ea(t){return t._repeat?Tt(t._tTime,t=t.duration()+t._rDelay)*t:0}function Ga(t,e){return(t-e._start)*e._ts+(0<=e._ts?0:e._dirty?e.totalDuration():e._tDur)}function Ha(t){return t._end=ja(t._start+(t._tDur/Math.abs(t._ts||t._rts||V)||0))}function Ia(t,e){var r=t._dp;return r&&r.smoothChildTiming&&t._ts&&(t._start=ja(r._time-(0<t._ts?e/t._ts:((t._dirty?t.totalDuration():t._tDur)-e)/-t._ts)),Ha(t),r._dirty||Aa(r,t)),t}function Ja(t,e){var r;if((e._time||e._initted&&!e._dur)&&(r=Ga(t.rawTime(),e),(!e._dur||kt(0,e.totalDuration(),r)-e._tTime>V)&&e.render(r,!0)),Aa(t,e)._dp&&t._initted&&t._time>=t._dur&&t._ts){if(t._dur<t.duration())for(r=t;r._dp;)0<=r.rawTime()&&r.totalTime(r._tTime),r=r._dp;t._zTime=-V}}function Ka(e,r,i,n){return r.parent&&za(r),r._start=ja((t(i)?i:i||e!==L?xt(e,i,r):e._time)+r._delay),r._end=ja(r._start+(r.totalDuration()/Math.abs(r.timeScale())||0)),xa(e,r,"_first","_last",e._sort?"_start":0),bt(r)||(e._recent=r),n||Ja(e,r),e._ts<0&&Ia(e,e._tTime),e}function La(t,e){return(ot.ScrollTrigger||Q("scrollTrigger",e))&&ot.ScrollTrigger.create(e,t)}function Ma(t,e,r,i,n){return Ht(t,e,n),t._initted?!r&&t._pt&&!B&&(t._dur&&!1!==t.vars.lazy||!t._dur&&t.vars.lazy)&&f!==Et.frame?(ct.push(t),t._lazy=[n,i],1):void 0:1}function Ra(t,e,r,i){var n=t._repeat,a=ja(e)||0,s=t._tTime/t._tDur;return s&&!i&&(t._time*=a/t._dur),t._dur=a,t._tDur=n?n<0?1e10:ja(a*(n+1)+t._rDelay*n):a,0<s&&!i&&Ia(t,t._tTime=t._tDur*s),t.parent&&Ha(t),r||Aa(t.parent,t),t}function Sa(t){return t instanceof Ut?Aa(t):Ra(t,t._dur)}function Va(e,r,i){var n,a,s=t(r[1]),o=(s?2:1)+(e<2?0:1),u=r[o];if(s&&(u.duration=r[1]),u.parent=i,e){for(n=u,a=i;a&&!("immediateRender"in n);)n=a.vars.defaults||{},a=w(a.vars.inherit)&&a.parent;u.immediateRender=w(n.immediateRender),e<2?u.runBackwards=1:u.startAt=r[o-1]}return new Gt(r[0],u,r[1+o])}function Wa(t,e){return t||0===t?e(t):e}function Ya(t,e){return r(t)&&(e=st.exec(t))?e[1]:""}function _a(t,e){return t&&v(t)&&"length"in t&&(!e&&!t.length||t.length-1 in t&&v(t[0]))&&!t.nodeType&&t!==h}function cb(r){return r=Ot(r)[0]||R("Invalid scope")||{},function(t){var e=r.current||r.nativeElement||r;return Ot(t,e.querySelectorAll?e:e===r?R("Invalid scope")||a.createElement("div"):r)}}function db(t){return t.sort(function(){return.5-Math.random()})}function eb(t){if(s(t))return t;var p=v(t)?t:{each:t},_=Yt(p.ease),m=p.from||0,g=parseFloat(p.base)||0,y={},e=0<m&&m<1,T=isNaN(m)||e,b=p.axis,w=m,x=m;return r(m)?w=x={center:.5,edges:.5,end:1}[m]||0:!e&&T&&(w=m[0],x=m[1]),function(t,e,r){var i,n,a,s,o,u,h,l,f,c=(r||p).length,d=y[c];if(!d){if(!(f="auto"===p.grid?0:(p.grid||[1,U])[1])){for(h=-U;h<(h=r[f++].getBoundingClientRect().left)&&f<c;);f--}for(d=y[c]=[],i=T?Math.min(f,c)*w-.5:m%f,n=f===U?0:T?c*x/f-.5:m/f|0,l=U,u=h=0;u<c;u++)a=u%f-i,s=n-(u/f|0),d[u]=o=b?Math.abs("y"===b?s:a):K(a*a+s*s),h<o&&(h=o),o<l&&(l=o);"random"===m&&db(d),d.max=h-l,d.min=l,d.v=c=(parseFloat(p.amount)||parseFloat(p.each)*(c<f?c-1:b?"y"===b?c/f:f:Math.max(f,c/f))||0)*("edges"===m?-1:1),d.b=c<0?g-c:g,d.u=Ya(p.amount||p.each)||0,_=_&&c<0?Lt(_):_}return c=(d[t]-d.min)/d.max||0,ja(d.b+(_?_(c):c)*d.v)+d.u}}function fb(i){var n=Math.pow(10,((i+"").split(".")[1]||"").length);return function(e){var r=ja(Math.round(parseFloat(e)/i)*i*n);return(r-r%1)/n+(t(e)?0:Ya(e))}}function gb(h,e){var l,f,r=$(h);return!r&&v(h)&&(l=r=h.radius||U,h.values?(h=Ot(h.values),(f=!t(h[0]))&&(l*=l)):h=fb(h.increment)),Wa(e,r?s(h)?function(t){return f=h(t),Math.abs(f-t)<=l?f:t}:function(e){for(var r,i,n=parseFloat(f?e.x:e),a=parseFloat(f?e.y:0),s=U,o=0,u=h.length;u--;)(r=f?(r=h[u].x-n)*r+(i=h[u].y-a)*i:Math.abs(h[u]-n))<s&&(s=r,o=u);return o=!l||s<=l?h[o]:e,f||o===e||t(e)?o:o+Ya(e)}:fb(h))}function hb(t,e,r,i){return Wa($(t)?!e:!0===r?!!(r=0):!i,function(){return $(t)?t[~~(Math.random()*t.length)]:(r=r||1e-5)&&(i=r<1?Math.pow(10,(r+"").length-2):1)&&Math.floor(Math.round((t-r/2+Math.random()*(e-t+.99*r))/r)*r*i)/i})}function lb(e,r,t){return Wa(t,function(t){return e[~~r(t)]})}function ob(t){for(var e,r,i,n,a=0,s="";~(e=t.indexOf("random(",a));)i=t.indexOf(")",e),n="["===t.charAt(e+7),r=t.substr(e+7,i-e-7).match(n?at:tt),s+=t.substr(a,e-a)+hb(n?r:+r[0],n?0:+r[1],+r[2]||1e-5),a=i+1;return s+t.substr(a,t.length-a)}function rb(t,e,r){var i,n,a,s=t.labels,o=U;for(i in s)(n=s[i]-e)<0==!!r&&n&&o>(n=Math.abs(n))&&(a=i,o=n);return a}function tb(t){return za(t),t.scrollTrigger&&t.scrollTrigger.kill(!!B),t.progress()<1&&Ct(t,"onInterrupt"),t}function yb(t,e,r){return(6*(t+=t<0?1:1<t?-1:0)<1?e+(r-e)*t*6:t<.5?r:3*t<2?e+(r-e)*(2/3-t)*6:e)*At+.5|0}function zb(e,r,i){var n,a,s,o,u,h,l,f,c,d,p=e?t(e)?[e>>16,e>>8&At,e&At]:0:St.black;if(!p){if(","===e.substr(-1)&&(e=e.substr(0,e.length-1)),St[e])p=St[e];else if("#"===e.charAt(0)){if(e.length<6&&(e="#"+(n=e.charAt(1))+n+(a=e.charAt(2))+a+(s=e.charAt(3))+s+(5===e.length?e.charAt(4)+e.charAt(4):"")),9===e.length)return[(p=parseInt(e.substr(1,6),16))>>16,p>>8&At,p&At,parseInt(e.substr(7),16)/255];p=[(e=parseInt(e.substr(1),16))>>16,e>>8&At,e&At]}else if("hsl"===e.substr(0,3))if(p=d=e.match(tt),r){if(~e.indexOf("="))return p=e.match(et),i&&p.length<4&&(p[3]=1),p}else o=+p[0]%360/360,u=p[1]/100,n=2*(h=p[2]/100)-(a=h<=.5?h*(u+1):h+u-h*u),3<p.length&&(p[3]*=1),p[0]=yb(o+1/3,n,a),p[1]=yb(o,n,a),p[2]=yb(o-1/3,n,a);else p=e.match(tt)||St.transparent;p=p.map(Number)}
vendor: 4,669 bytes, line 15185
15185return r&&!d&&(n=p[0]/At,a=p[1]/At,s=p[2]/At,h=((l=Math.max(n,a,s))+(f=Math.min(n,a,s)))/2,l===f?o=u=0:(c=l-f,u=.5<h?c/(2-l-f):c/(l+f),o=l===n?(a-s)/c+(a<s?6:0):l===a?(s-n)/c+2:(n-a)/c+4,o*=60),p[0]=~~(o+.5),p[1]=~~(100*u+.5),p[2]=~~(100*h+.5)),i&&p.length<4&&(p[3]=1),p}function Ab(t){var r=[],i=[],n=-1;return t.split(Rt).forEach(function(t){var e=t.match(rt)||[];r.push.apply(r,e),i.push(n+=e.length+1)}),r.c=i,r}function Bb(t,e,r){var i,n,a,s,o="",u=(t+o).match(Rt),h=e?"hsla(":"rgba(",l=0;if(!u)return t;if(u=u.map(function(t){return(t=zb(t,e,1))&&h+(e?t[0]+","+t[1]+"%,"+t[2]+"%,"+t[3]:t.join(","))+")"}),r&&(a=Ab(t),(i=r.c).join(o)!==a.c.join(o)))for(s=(n=t.replace(Rt,"1").split(rt)).length-1;l<s;l++)o+=n[l]+(~i.indexOf(l)?u.shift()||h+"0,0,0,0)":(a.length?a:u.length?u:r).shift());if(!n)for(s=(n=t.split(Rt)).length-1;l<s;l++)o+=n[l]+u[l];return o+n[s]}function Eb(t){var e,r=t.join(" ");if(Rt.lastIndex=0,Rt.test(r))return e=Dt.test(r),t[1]=Bb(t[1],e),t[0]=Bb(t[0],e,Ab(t[1])),!0}function Nb(t){var e=(t+"").split("("),r=Ft[e[0]];return r&&1<e.length&&r.config?r.config.apply(null,~t.indexOf("{")?[function _parseObjectInString(t){for(var e,r,i,n={},a=t.substr(1,t.length-3).split(":"),s=a[0],o=1,u=a.length;o<u;o++)r=a[o],e=o!==u-1?r.lastIndexOf(","):r.length,i=r.substr(0,e),n[s]=isNaN(i)?i.replace(Bt,"").trim():+i,s=r.substr(e+1).trim();return n}(e[1])]:function _valueInParentheses(t){var e=t.indexOf("(")+1,r=t.indexOf(")"),i=t.indexOf("(",e);return t.substring(e,~i&&i<r?t.indexOf(")",r+1):r)}(t).split(",").map(oa)):Ft._CE&&It.test(t)?Ft._CE("",t):r}function Pb(t,e){for(var r,i=t._first;i;)i instanceof Ut?Pb(i,e):!i.vars.yoyoEase||i._yoyo&&i._repeat||i._yoyo===e||(i.timeline?Pb(i.timeline,e):(r=i._ease,i._ease=i._yEase,i._yEase=r,i._yoyo=e)),i=i._next}function Rb(t,e,r,i){void 0===r&&(r=function easeOut(t){return 1-e(1-t)}),void 0===i&&(i=function easeInOut(t){return t<.5?e(2*t)/2:1-e(2*(1-t))/2});var n,a={easeIn:e,easeOut:r,easeInOut:i};return ha(t,function(t){for(var e in Ft[t]=ot[t]=a,Ft[n=t.toLowerCase()]=r,a)Ft[n+("easeIn"===e?".in":"easeOut"===e?".out":".inOut")]=Ft[t+"."+e]=a[e]}),a}function Sb(e){return function(t){return t<.5?(1-e(1-2*t))/2:.5+e(2*(t-.5))/2}}function Tb(r,t,e){function Hm(t){return 1===t?1:i*Math.pow(2,-10*t)*G((t-a)*n)+1}var i=1<=t?t:1,n=(e||(r?.3:.45))/(t<1?t:1),a=n/W*(Math.asin(1/i)||0),s="out"===r?Hm:"in"===r?function(t){return 1-Hm(1-t)}:Sb(Hm);return n=W/n,s.config=function(t,e){return Tb(r,t,e)},s}function Ub(e,r){function Pm(t){return t?--t*t*((r+1)*t+r)+1:0}void 0===r&&(r=1.70158);var t="out"===e?Pm:"in"===e?function(t){return 1-Pm(1-t)}:Sb(Pm);return t.config=function(t){return Ub(e,t)},t}var I,B,l,L,h,n,a,i,o,f,c,d,p,_,m,g,b,k,M,O,C,A,D,E,z,F,Y,N,j={autoSleep:120,force3D:"auto",nullTargetWarn:1,units:{lineHeight:""}},q={duration:.5,overwrite:!1,delay:0},U=1e8,V=1/U,W=2*Math.PI,X=W/4,H=0,K=Math.sqrt,Z=Math.cos,G=Math.sin,J="function"==typeof ArrayBuffer&&ArrayBuffer.isView||function(){},$=Array.isArray,tt=/(?:-?\.?\d|\.)+/gi,et=/[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g,rt=/[-+=.]*\d+[.e-]*\d*[a-z%]*/g,it=/[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi,nt=/[+-]=-?[.\d]+/,at=/[^,'"\[\]\s]+/gi,st=/^[+\-=e\s\d]*\d+[.\d]*([a-z]*|%)\s*$/i,ot={},ut={suppressEvents:!0,isStart:!0,kill:!1},ht={suppressEvents:!0,kill:!1},lt={suppressEvents:!0},ft={},ct=[],dt={},pt={},_t={},mt=30,gt=[],vt="",yt=function _merge(t,e){for(var r in e)t[r]=e[r];return t},Tt=function _animationCycle(t,e){var r=Math.floor(t/=e);return t&&r===t?r-1:r},bt=function _isFromOrFromStart(t){var e=t.data;return"isFromStart"===e||"isStart"===e},wt={_start:0,endTime:T,totalDuration:T},xt=function _parsePosition(t,e,i){var n,a,s,o=t.labels,u=t._recent||wt,h=t.duration()>=U?u.endTime(!1):t._dur;return r(e)&&(isNaN(e)||e in o)?(a=e.charAt(0),s="%"===e.substr(-1),n=e.indexOf("="),"<"===a||">"===a?(0<=n&&(e=e.replace(/=/,"")),("<"===a?u._start:u.endTime(0<=u._repeat))+(parseFloat(e.substr(1))||0)*(s?(n<0?u:i).totalDuration()/100:1)):n<0?(e in o||(o[e]=h),o[e]):(a=parseFloat(e.charAt(n-1)+e.substr(n+1)),s&&i&&(a=a/100*($(i)?i[0]:i).totalDuration()),1<n?_parsePosition(t,e.substr(0,n-1),i)+a:h+a)):null==e?h:+e},kt=function _clamp(t,e,r){return r<t?t:e<r?e:r},Mt=[].slice,Ot=function toArray(t,e,i){return l&&!e&&l.selector?l.selector(t):!r(t)||i||!n&&zt()?$(t)?function _flatten(t,e,i){return void 0===i&&(i=[]),t.forEach(function(t){return r(t)&&!e||_a(t,1)?i.push.apply(i,Ot(t)):i.push(t)})||i}(t,i):_a(t)?Mt.call(t,0):t?[t]:[]:Mt.call((e||a).querySelectorAll(t),0)},Pt=function mapRange(e,t,r,i,n){var a=t-e,s=i-r;return Wa(n,function(t){return r+((t-e)/a*s||0)})},Ct=function _callback(t,e,r){var i,n,a,s=t.vars,o=s[e],u=l,h=t._ctx;
vendor: 7,063 bytes, line 15185
15185if(o)return i=s[e+"Params"],n=s.callbackScope||t,r&&ct.length&&ma(),h&&(l=h),a=i?o.apply(n,i):o.call(n),l=u,a},At=255,St={aqua:[0,At,At],lime:[0,At,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,At],navy:[0,0,128],white:[At,At,At],olive:[128,128,0],yellow:[At,At,0],orange:[At,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[At,0,0],pink:[At,192,203],cyan:[0,At,At],transparent:[At,At,At,0]},Rt=function(){var t,e="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3,4}){1,2}\\b";for(t in St)e+="|"+t+"\\b";return new RegExp(e+")","gi")}(),Dt=/hsl[a]?\(/,Et=(M=Date.now,O=500,C=33,A=M(),D=A,z=E=1e3/240,g={time:0,frame:0,tick:function tick(){wl(!0)},deltaRatio:function deltaRatio(t){return b/(1e3/(t||60))},wake:function wake(){o&&(!n&&x()&&(h=n=window,a=h.document||{},ot.gsap=Ce,(h.gsapVersions||(h.gsapVersions=[])).push(Ce.version),P(i||h.GreenSockGlobals||!h.gsap&&h||{}),m=h.requestAnimationFrame),p&&g.sleep(),_=m||function(t){return setTimeout(t,z-1e3*g.time+1|0)},d=1,wl(2))},sleep:function sleep(){(m?h.cancelAnimationFrame:clearTimeout)(p),d=0,_=T},lagSmoothing:function lagSmoothing(t,e){O=t||1/0,C=Math.min(e||33,O)},fps:function fps(t){E=1e3/(t||240),z=1e3*g.time+E},add:function add(n,t,e){var a=t?function(t,e,r,i){n(t,e,r,i),g.remove(a)}:n;return g.remove(n),F[e?"unshift":"push"](a),zt(),a},remove:function remove(t,e){~(e=F.indexOf(t))&&F.splice(e,1)&&e<=k&&k--},_listeners:F=[]}),zt=function _wake(){return!d&&Et.wake()},Ft={},It=/^[\d.\-M][\d.\-,\s]/,Bt=/["']/g,Lt=function _invertEase(e){return function(t){return 1-e(1-t)}},Yt=function _parseEase(t,e){return t&&(s(t)?t:Ft[t]||Nb(t))||e};function wl(t){var e,r,i,n,a=M()-D,s=!0===t;if(O<a&&(A+=a-C),(0<(e=(i=(D+=a)-A)-z)||s)&&(n=++g.frame,b=i-1e3*g.time,g.time=i/=1e3,z+=e+(E<=e?4:E-e),r=1),s||(p=_(wl)),r)for(k=0;k<F.length;k++)F[k](i,b,n,t)}function en(t){return t<N?Y*t*t:t<.7272727272727273?Y*Math.pow(t-1.5/2.75,2)+.75:t<.9090909090909092?Y*(t-=2.25/2.75)*t+.9375:Y*Math.pow(t-2.625/2.75,2)+.984375}ha("Linear,Quad,Cubic,Quart,Quint,Strong",function(t,e){var r=e<5?e+1:e;Rb(t+",Power"+(r-1),e?function(t){return Math.pow(t,r)}:function(t){return t},function(t){return 1-Math.pow(1-t,r)},function(t){return t<.5?Math.pow(2*t,r)/2:1-Math.pow(2*(1-t),r)/2})}),Ft.Linear.easeNone=Ft.none=Ft.Linear.easeIn,Rb("Elastic",Tb("in"),Tb("out"),Tb()),Y=7.5625,N=1/2.75,Rb("Bounce",function(t){return 1-en(1-t)},en),Rb("Expo",function(t){return t?Math.pow(2,10*(t-1)):0}),Rb("Circ",function(t){return-(K(1-t*t)-1)}),Rb("Sine",function(t){return 1===t?1:1-Z(t*X)}),Rb("Back",Ub("in"),Ub("out"),Ub()),Ft.SteppedEase=Ft.steps=ot.SteppedEase={config:function config(t,e){void 0===t&&(t=1);var r=1/t,i=t+(e?0:1),n=e?1:0;return function(t){return((i*kt(0,.99999999,t)|0)+n)*r}}},q.ease=Ft["quad.out"],ha("onComplete,onUpdate,onStart,onRepeat,onReverseComplete,onInterrupt",function(t){return vt+=t+","+t+"Params,"});var Nt,jt=function GSCache(t,e){this.id=H++,(t._gsap=this).target=t,this.harness=e,this.get=e?e.get:ga,this.set=e?e.getSetter:re},qt=((Nt=Animation.prototype).delay=function delay(t){return t||0===t?(this.parent&&this.parent.smoothChildTiming&&this.startTime(this._start+t-this._delay),this._delay=t,this):this._delay},Nt.duration=function duration(t){return arguments.length?this.totalDuration(0<this._repeat?t+(t+this._rDelay)*this._repeat:t):this.totalDuration()&&this._dur},Nt.totalDuration=function totalDuration(t){return arguments.length?(this._dirty=0,Ra(this,this._repeat<0?t:(t-this._repeat*this._rDelay)/(this._repeat+1))):this._tDur},Nt.totalTime=function totalTime(t,e){if(zt(),!arguments.length)return this._tTime;var r=this._dp;if(r&&r.smoothChildTiming&&this._ts){for(Ia(this,t),!r._dp||r.parent||Ja(r,this);r&&r.parent;)r.parent._time!==r._start+(0<=r._ts?r._tTime/r._ts:(r.totalDuration()-r._tTime)/-r._ts)&&r.totalTime(r._tTime,!0),r=r.parent;!this.parent&&this._dp.autoRemoveChildren&&(0<this._ts&&t<this._tDur||this._ts<0&&0<t||!this._tDur&&!t)&&Ka(this._dp,this,this._start-this._delay)}return(this._tTime!==t||!this._dur&&!e||this._initted&&Math.abs(this._zTime)===V||!t&&!this._initted&&(this.add||this._ptLookup))&&(this._ts||(this._pTime=t),na(this,t,e)),this},Nt.time=function time(t,e){return arguments.length?this.totalTime(Math.min(this.totalDuration(),t+Ea(this))%(this._dur+this._rDelay)||(t?this._dur:0),e):this._time},Nt.totalProgress=function totalProgress(t,e){return arguments.length?this.totalTime(this.totalDuration()*t,e):this.totalDuration()?Math.min(1,this._tTime/this._tDur):this.ratio},Nt.progress=function progress(t,e){return arguments.length?this.totalTime(this.duration()*(!this._yoyo||1&this.iteration()?t:1-t)+Ea(this),e):this.duration()?Math.min(1,this._time/this._dur):this.ratio},Nt.iteration=function iteration(t,e){var r=this.duration()+this._rDelay;return arguments.length?this.totalTime(this._time+(t-1)*r,e):this._repeat?Tt(this._tTime,r)+1:1},Nt.timeScale=function timeScale(t){if(!arguments.length)return this._rts===-V?0:this._rts;if(this._rts===t)return this;var e=this.parent&&this._ts?Ga(this.parent._time,this):this._tTime;return this._rts=+t||0,this._ts=this._ps||t===-V?0:this._rts,this.totalTime(kt(-this._delay,this._tDur,e),!0),Ha(this),function _recacheAncestors(t){for(var e=t.parent;e&&e.parent;)e._dirty=1,e.totalDuration(),e=e.parent;return t}(this)},Nt.paused=function paused(t){return arguments.length?(this._ps!==t&&((this._ps=t)?(this._pTime=this._tTime||Math.max(-this._delay,this.rawTime()),this._ts=this._act=0):(zt(),this._ts=this._rts,this.totalTime(this.parent&&!this.parent.smoothChildTiming?this.rawTime():this._tTime||this._pTime,1===this.progress()&&Math.abs(this._zTime)!==V&&(this._tTime-=V)))),this):this._ps},Nt.startTime=function startTime(t){if(arguments.length){this._start=t;var e=this.parent||this._dp;return!e||!e._sort&&this.parent||Ka(e,this,t-this._delay),this}return this._start},Nt.endTime=function endTime(t){return this._start+(w(t)?this.totalDuration():this.duration())/Math.abs(this._ts||1)},Nt.rawTime=function rawTime(t){var e=this.parent||this._dp;return e?t&&(!this._ts||this._repeat&&this._time&&this.totalProgress()<1)?this._tTime%(this._dur+this._rDelay):this._ts?Ga(e.rawTime(t),this):this._tTime:this._tTime},Nt.revert=function revert(t){void 0===t&&(t=lt);var e=B;return B=t,(this._initted||this._startAt)&&(this.timeline&&this.timeline.revert(t),this.totalTime(-.01,t.suppressEvents)),"nested"!==this.data&&!1!==t.kill&&this.kill(),B=e,this},Nt.globalTime=function globalTime(t){for(var e=this,r=arguments.length?t:e.rawTime();e;)r=e._start+r/(e._ts||1),e=e._dp;return!this.parent&&this._sat?this._sat.vars.immediateRender?-1:this._sat.globalTime(t):r},Nt.repeat=function repeat(t){return arguments.length?(this._repeat=t===1/0?-2:t,Sa(this)):-2===this._repeat?1/0:this._repeat},Nt.repeatDelay=function repeatDelay(t){if(arguments.length){var e=this._time;return this._rDelay=t,Sa(this),e?this.time(e):this}return this._rDelay},Nt.yoyo=function yoyo(t){return arguments.length?(this._yoyo=t,this):this._yoyo}
vendor: 8,948 bytes, line 15185
15185,Nt.seek=function seek(t,e){return this.totalTime(xt(this,t),w(e))},Nt.restart=function restart(t,e){return this.play().totalTime(t?-this._delay:0,w(e))},Nt.play=function play(t,e){return null!=t&&this.seek(t,e),this.reversed(!1).paused(!1)},Nt.reverse=function reverse(t,e){return null!=t&&this.seek(t||this.totalDuration(),e),this.reversed(!0).paused(!1)},Nt.pause=function pause(t,e){return null!=t&&this.seek(t,e),this.paused(!0)},Nt.resume=function resume(){return this.paused(!1)},Nt.reversed=function reversed(t){return arguments.length?(!!t!==this.reversed()&&this.timeScale(-this._rts||(t?-V:0)),this):this._rts<0},Nt.invalidate=function invalidate(){return this._initted=this._act=0,this._zTime=-V,this},Nt.isActive=function isActive(){var t,e=this.parent||this._dp,r=this._start;return!(e&&!(this._ts&&this._initted&&e.isActive()&&(t=e.rawTime(!0))>=r&&t<this.endTime(!0)-V))},Nt.eventCallback=function eventCallback(t,e,r){var i=this.vars;return 1<arguments.length?(e?(i[t]=e,r&&(i[t+"Params"]=r),"onUpdate"===t&&(this._onUpdate=e)):delete i[t],this):i[t]},Nt.then=function then(t){var i=this;return new Promise(function(e){function zo(){var t=i.then;i.then=null,s(r)&&(r=r(i))&&(r.then||r===i)&&(i.then=t),e(r),i.then=t}var r=s(t)?t:pa;i._initted&&1===i.totalProgress()&&0<=i._ts||!i._tTime&&i._ts<0?zo():i._prom=zo})},Nt.kill=function kill(){tb(this)},Animation);function Animation(t){this.vars=t,this._delay=+t.delay||0,(this._repeat=t.repeat===1/0?-2:t.repeat||0)&&(this._rDelay=t.repeatDelay||0,this._yoyo=!!t.yoyo||!!t.yoyoEase),this._ts=1,Ra(this,+t.duration,1,1),this.data=t.data,l&&(this._ctx=l).data.push(this),d||Et.wake()}qa(qt.prototype,{_time:0,_start:0,_end:0,_tTime:0,_tDur:0,_dirty:0,_repeat:0,_yoyo:!1,parent:null,_initted:!1,_rDelay:0,_ts:1,_dp:0,ratio:0,_zTime:-V,_prom:0,_ps:!1,_rts:1});var Ut=function(i){function Timeline(t,e){var r;return void 0===t&&(t={}),(r=i.call(this,t)||this).labels={},r.smoothChildTiming=!!t.smoothChildTiming,r.autoRemoveChildren=!!t.autoRemoveChildren,r._sort=w(t.sortChildren),L&&Ka(t.parent||L,_assertThisInitialized(r),e),t.reversed&&r.reverse(),t.paused&&r.paused(!0),t.scrollTrigger&&La(_assertThisInitialized(r),t.scrollTrigger),r}_inheritsLoose(Timeline,i);var e=Timeline.prototype;return e.to=function to(t,e,r){return Va(0,arguments,this),this},e.from=function from(t,e,r){return Va(1,arguments,this),this},e.fromTo=function fromTo(t,e,r,i){return Va(2,arguments,this),this},e.set=function set(t,e,r){return e.duration=0,e.parent=this,va(e).repeatDelay||(e.repeat=0),e.immediateRender=!!e.immediateRender,new Gt(t,e,xt(this,r),1),this},e.call=function call(t,e,r){return Ka(this,Gt.delayedCall(0,t,e),r)},e.staggerTo=function staggerTo(t,e,r,i,n,a,s){return r.duration=e,r.stagger=r.stagger||i,r.onComplete=a,r.onCompleteParams=s,r.parent=this,new Gt(t,r,xt(this,n)),this},e.staggerFrom=function staggerFrom(t,e,r,i,n,a,s){return r.runBackwards=1,va(r).immediateRender=w(r.immediateRender),this.staggerTo(t,e,r,i,n,a,s)},e.staggerFromTo=function staggerFromTo(t,e,r,i,n,a,s,o){return i.startAt=r,va(i).immediateRender=w(i.immediateRender),this.staggerTo(t,e,i,n,a,s,o)},e.render=function render(t,e,r){var i,n,a,s,o,u,h,l,f,c,d,p,_=this._time,m=this._dirty?this.totalDuration():this._tDur,g=this._dur,v=t<=0?0:ja(t),y=this._zTime<0!=t<0&&(this._initted||!g);if(this!==L&&m<v&&0<=t&&(v=m),v!==this._tTime||r||y){if(_!==this._time&&g&&(v+=this._time-_,t+=this._time-_),i=v,f=this._start,u=!(l=this._ts),y&&(g||(_=this._zTime),!t&&e||(this._zTime=t)),this._repeat){if(d=this._yoyo,o=g+this._rDelay,this._repeat<-1&&t<0)return this.totalTime(100*o+t,e,r);if(i=ja(v%o),v===m?(s=this._repeat,i=g):((s=~~(v/o))&&s===v/o&&(i=g,s--),g<i&&(i=g)),c=Tt(this._tTime,o),!_&&this._tTime&&c!==s&&(c=s),d&&1&s&&(i=g-i,p=1),s!==c&&!this._lock){var T=d&&1&c,b=T===(d&&1&s);if(s<c&&(T=!T),_=T?0:g,this._lock=1,this.render(_||(p?0:ja(s*o)),e,!g)._lock=0,this._tTime=v,!e&&this.parent&&Ct(this,"onRepeat"),this.vars.repeatRefresh&&!p&&(this.invalidate()._lock=1),_&&_!==this._time||u!=!this._ts||this.vars.onRepeat&&!this.parent&&!this._act)return this;if(g=this._dur,m=this._tDur,b&&(this._lock=2,_=T?g:-1e-4,this.render(_,!0),this.vars.repeatRefresh&&!p&&this.invalidate()),this._lock=0,!this._ts&&!u)return this;Pb(this,p)}}if(this._hasPause&&!this._forcing&&this._lock<2&&(h=function _findNextPauseTween(t,e,r){var i;if(e<r)for(i=t._first;i&&i._start<=r;){if("isPause"===i.data&&i._start>e)return i;i=i._next}else for(i=t._last;i&&i._start>=r;){if("isPause"===i.data&&i._start<e)return i;i=i._prev}}(this,ja(_),ja(i)))&&(v-=i-(i=h._start)),this._tTime=v,this._time=i,this._act=!l,this._initted||(this._onUpdate=this.vars.onUpdate,this._initted=1,this._zTime=t,_=0),!_&&i&&!e&&(Ct(this,"onStart"),this._tTime!==v))return this;if(_<=i&&0<=t)for(n=this._first;n;){if(a=n._next,(n._act||i>=n._start)&&n._ts&&h!==n){if(n.parent!==this)return this.render(t,e,r);if(n.render(0<n._ts?(i-n._start)*n._ts:(n._dirty?n.totalDuration():n._tDur)+(i-n._start)*n._ts,e,r),i!==this._time||!this._ts&&!u){h=0,a&&(v+=this._zTime=-V);break}}n=a}else{n=this._last;for(var w=t<0?t:i;n;){if(a=n._prev,(n._act||w<=n._end)&&n._ts&&h!==n){if(n.parent!==this)return this.render(t,e,r);if(n.render(0<n._ts?(w-n._start)*n._ts:(n._dirty?n.totalDuration():n._tDur)+(w-n._start)*n._ts,e,r||B&&(n._initted||n._startAt)),i!==this._time||!this._ts&&!u){h=0,a&&(v+=this._zTime=w?-V:V);break}}n=a}}if(h&&!e&&(this.pause(),h.render(_<=i?0:-V)._zTime=_<=i?1:-1,this._ts))return this._start=f,Ha(this),this.render(t,e,r);this._onUpdate&&!e&&Ct(this,"onUpdate",!0),(v===m&&this._tTime>=this.totalDuration()||!v&&_)&&(f!==this._start&&Math.abs(l)===Math.abs(this._ts)||this._lock||(!t&&g||!(v===m&&0<this._ts||!v&&this._ts<0)||za(this,1),e||t<0&&!_||!v&&!_&&m||(Ct(this,v===m&&0<=t?"onComplete":"onReverseComplete",!0),!this._prom||v<m&&0<this.timeScale()||this._prom())))}return this},e.add=function add(e,i){var n=this;if(t(i)||(i=xt(this,i,e)),!(e instanceof qt)){if($(e))return e.forEach(function(t){return n.add(t,i)}),this;if(r(e))return this.addLabel(e,i);if(!s(e))return this;e=Gt.delayedCall(0,e)}return this!==e?Ka(this,e,i):this},e.getChildren=function getChildren(t,e,r,i){void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===r&&(r=!0),void 0===i&&(i=-U);for(var n=[],a=this._first;a;)a._start>=i&&(a instanceof Gt?e&&n.push(a):(r&&n.push(a),t&&n.push.apply(n,a.getChildren(!0,e,r)))),a=a._next;return n},e.getById=function getById(t){for(var e=this.getChildren(1,1,1),r=e.length;r--;)if(e[r].vars.id===t)return e[r]},e.remove=function remove(t){return r(t)?this.removeLabel(t):s(t)?this.killTweensOf(t):(ya(this,t),t===this._recent&&(this._recent=this._last),Aa(this))},e.totalTime=function totalTime(t,e){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=ja(Et.time-(0<this._ts?t/this._ts:(this.totalDuration()-t)/-this._ts))),i.prototype.totalTime.call(this,t,e),this._forcing=0,this):this._tTime},e.addLabel=function addLabel(t,e){return this.labels[t]=xt(this,e),this},e.removeLabel=function removeLabel(t){return delete this.labels[t],this},e.addPause=function addPause(t,e,r){var i=Gt.delayedCall(0,e||T,r);return i.data="isPause",this._hasPause=1,Ka(this,i,xt(this,t))},e.removePause=function removePause(t){var e=this._first;for(t=xt(this,t);e;)e._start===t&&"isPause"===e.data&&za(e),e=e._next},e.killTweensOf=function killTweensOf(t,e,r){for(var i=this.getTweensOf(t,r),n=i.length;n--;)Vt!==i[n]&&i[n].kill(t,e);return this},e.getTweensOf=function getTweensOf(e,r){for(var i,n=[],a=Ot(e),s=this._first,o=t(r);s;)s instanceof Gt?la(s._targets,a)&&(o?(!Vt||s._initted&&s._ts)&&s.globalTime(0)<=r&&s.globalTime(s.totalDuration())>r:!r||s.isActive())&&n.push(s):(i=s.getTweensOf(a,r)).length&&n.push.apply(n,i),s=s._next;return n},e.tweenTo=function tweenTo(t,e){e=e||{};var r,i=this,n=xt(i,t),a=e.startAt,s=e.onStart,o=e.onStartParams,u=e.immediateRender,h=Gt.to(i,qa({ease:e.ease||"none",lazy:!1,immediateRender:!1,time:n,overwrite:"auto",duration:e.duration||Math.abs((n-(a&&"time"in a?a.time:i._time))/i.timeScale())||V,onStart:function onStart(){if(i.pause(),!r){var t=e.duration||Math.abs((n-(a&&"time"in a?a.time:i._time))/i.timeScale());h._dur!==t&&Ra(h,t,0,1).render(h._time,!0,!0),r=1}s&&s.apply(h,o||[])}},e));return u?h.render(0):h},e.tweenFromTo=function tweenFromTo(t,e,r){return this.tweenTo(e,qa({startAt:{time:xt(this,t)}},r))},e.recent=function recent(){return this._recent},e.nextLabel=function nextLabel(t){return void 0===t&&(t=this._time),rb(this,xt(this,t))},e.previousLabel=function previousLabel(t){return void 0===t&&(t=this._time),rb(this,xt(this,t),1)},e.currentLabel=function currentLabel(t){return arguments.length?this.seek(t,!0):this.previousLabel(this._time+V)},e.shiftChildren=function shiftChildren(t,e,r){void 0===r&&(r=0);for(var i,n=this._first,a=this.labels;n;)n._start>=r&&(n._start+=t,n._end+=t),n=n._next;if(e)for(i in a)a[i]>=r&&(a[i]+=t);return Aa(this)}
vendor: 14,610 bytes, line 15185
15185,e.invalidate=function invalidate(t){var e=this._first;for(this._lock=0;e;)e.invalidate(t),e=e._next;return i.prototype.invalidate.call(this,t)},e.clear=function clear(t){void 0===t&&(t=!0);for(var e,r=this._first;r;)e=r._next,this.remove(r),r=e;return this._dp&&(this._time=this._tTime=this._pTime=0),t&&(this.labels={}),Aa(this)},e.totalDuration=function totalDuration(t){var e,r,i,n=0,a=this,s=a._last,o=U;if(arguments.length)return a.timeScale((a._repeat<0?a.duration():a.totalDuration())/(a.reversed()?-t:t));if(a._dirty){for(i=a.parent;s;)e=s._prev,s._dirty&&s.totalDuration(),o<(r=s._start)&&a._sort&&s._ts&&!a._lock?(a._lock=1,Ka(a,s,r-s._delay,1)._lock=0):o=r,r<0&&s._ts&&(n-=r,(!i&&!a._dp||i&&i.smoothChildTiming)&&(a._start+=r/a._ts,a._time-=r,a._tTime-=r),a.shiftChildren(-r,!1,-Infinity),o=0),s._end>n&&s._ts&&(n=s._end),s=e;Ra(a,a===L&&a._time>n?a._time:n,1,1),a._dirty=0}return a._tDur},Timeline.updateRoot=function updateRoot(t){if(L._ts&&(na(L,Ga(t,L)),f=Et.frame),Et.frame>=mt){mt+=j.autoSleep||120;var e=L._first;if((!e||!e._ts)&&j.autoSleep&&Et._listeners.length<2){for(;e&&!e._ts;)e=e._next;e||Et.sleep()}}},Timeline}(qt);qa(Ut.prototype,{_lock:0,_hasPause:0,_forcing:0});function _b(t,e,i,n,a,o){var u,h,l,f;if(pt[t]&&!1!==(u=new pt[t]).init(a,u.rawVars?e[t]:function _processVars(t,e,i,n,a){if(s(t)&&(t=Qt(t,a,e,i,n)),!v(t)||t.style&&t.nodeType||$(t)||J(t))return r(t)?Qt(t,a,e,i,n):t;var o,u={};for(o in t)u[o]=Qt(t[o],a,e,i,n);return u}(e[t],n,a,o,i),i,n,o)&&(i._pt=h=new pe(i._pt,a,t,0,1,u.render,u,0,u.priority),i!==c))for(l=i._ptLookup[i._targets.indexOf(a)],f=u._props.length;f--;)l[u._props[f]]=h;return u}function fc(t,r,e,i){var n,a,s=r.ease||i||"power1.inOut";if($(r))a=e[t]||(e[t]=[]),r.forEach(function(t,e){return a.push({t:e/(r.length-1)*100,v:t,e:s})});else for(n in r)a=e[n]||(e[n]=[]),"ease"===n||a.push({t:parseFloat(t),v:r[n],e:s})}var Vt,Wt,Xt=function _addPropTween(t,e,i,n,a,o,u,h,l,f){s(n)&&(n=n(a||0,t,o));var c,d=t[e],p="get"!==i?i:s(d)?l?t[e.indexOf("set")||!s(t["get"+e.substr(3)])?e:"get"+e.substr(3)](l):t[e]():d,_=s(d)?l?ee:$t:Jt;if(r(n)&&(~n.indexOf("random(")&&(n=ob(n)),"="===n.charAt(1)&&(!(c=ka(p,n)+(Ya(p)||0))&&0!==c||(n=c))),!f||p!==n||Wt)return isNaN(p*n)||""===n?(d||e in t||Q(e,n),function _addComplexStringPropTween(t,e,r,i,n,a,s){var o,u,h,l,f,c,d,p,_=new pe(this._pt,t,e,0,1,se,null,n),m=0,g=0;for(_.b=r,_.e=i,r+="",(d=~(i+="").indexOf("random("))&&(i=ob(i)),a&&(a(p=[r,i],t,e),r=p[0],i=p[1]),u=r.match(it)||[];o=it.exec(i);)l=o[0],f=i.substring(m,o.index),h?h=(h+1)%5:"rgba("===f.substr(-5)&&(h=1),l!==u[g++]&&(c=parseFloat(u[g-1])||0,_._pt={_next:_._pt,p:f||1===g?f:",",s:c,c:"="===l.charAt(1)?ka(c,l)-c:parseFloat(l)-c,m:h&&h<4?Math.round:0},m=it.lastIndex);return _.c=m<i.length?i.substring(m,i.length):"",_.fp=s,(nt.test(i)||d)&&(_.e=0),this._pt=_}.call(this,t,e,p,n,_,h||j.stringFilter,l)):(c=new pe(this._pt,t,e,+p||0,n-(p||0),"boolean"==typeof d?ae:ne,0,_),l&&(c.fp=l),u&&c.modifier(u,this,t),this._pt=c)},Ht=function _initTween(t,e,r){var i,n,a,s,o,u,h,l,f,c,d,p,_,m=t.vars,g=m.ease,v=m.startAt,y=m.immediateRender,T=m.lazy,b=m.onUpdate,x=m.onUpdateParams,k=m.callbackScope,M=m.runBackwards,O=m.yoyoEase,P=m.keyframes,C=m.autoRevert,A=t._dur,S=t._startAt,R=t._targets,D=t.parent,E=D&&"nested"===D.data?D.vars.targets:R,z="auto"===t._overwrite&&!I,F=t.timeline;if(!F||P&&g||(g="none"),t._ease=Yt(g,q.ease),t._yEase=O?Lt(Yt(!0===O?g:O,q.ease)):0,O&&t._yoyo&&!t._repeat&&(O=t._yEase,t._yEase=t._ease,t._ease=O),t._from=!F&&!!m.runBackwards,!F||P&&!m.stagger){if(p=(l=R[0]?fa(R[0]).harness:0)&&m[l.prop],i=ua(m,ft),S&&(S._zTime<0&&S.progress(1),e<0&&M&&y&&!C?S.render(-1,!0):S.revert(M&&A?ht:ut),S._lazy=0),v){if(za(t._startAt=Gt.set(R,qa({data:"isStart",overwrite:!1,parent:D,immediateRender:!0,lazy:!S&&w(T),startAt:null,delay:0,onUpdate:b,onUpdateParams:x,callbackScope:k,stagger:0},v))),t._startAt._dp=0,t._startAt._sat=t,e<0&&(B||!y&&!C)&&t._startAt.revert(ht),y&&A&&e<=0&&r<=0)return void(e&&(t._zTime=e))}else if(M&&A&&!S)if(e&&(y=!1),a=qa({overwrite:!1,data:"isFromStart",lazy:y&&!S&&w(T),immediateRender:y,stagger:0,parent:D},i),p&&(a[l.prop]=p),za(t._startAt=Gt.set(R,a)),t._startAt._dp=0,t._startAt._sat=t,e<0&&(B?t._startAt.revert(ht):t._startAt.render(-1,!0)),t._zTime=e,y){if(!e)return}else _initTween(t._startAt,V,V);for(t._pt=t._ptCache=0,T=A&&w(T)||T&&!A,n=0;n<R.length;n++){if(h=(o=R[n])._gsap||ea(R)[n]._gsap,t._ptLookup[n]=c={},dt[h.id]&&ct.length&&ma(),d=E===R?n:E.indexOf(o),l&&!1!==(f=new l).init(o,p||i,t,d,E)&&(t._pt=s=new pe(t._pt,o,f.name,0,1,f.render,f,0,f.priority),f._props.forEach(function(t){c[t]=s}),f.priority&&(u=1)),!l||p)for(a in i)pt[a]&&(f=_b(a,i,t,d,o,E))?f.priority&&(u=1):c[a]=s=Xt.call(t,o,a,"get",i[a],d,E,0,m.stringFilter);t._op&&t._op[n]&&t.kill(o,t._op[n]),z&&t._pt&&(Vt=t,L.killTweensOf(o,c,t.globalTime(e)),_=!t.parent,Vt=0),t._pt&&T&&(dt[h.id]=1)}u&&de(t),t._onInit&&t._onInit(t)}t._onUpdate=b,t._initted=(!t._op||t._pt)&&!_,P&&e<=0&&F.render(U,!0,!0)},Qt=function _parseFuncOrString(t,e,i,n,a){return s(t)?t.call(e,i,n,a):r(t)&&~t.indexOf("random(")?ob(t):t},Kt=vt+"repeat,repeatDelay,yoyo,repeatRefresh,yoyoEase,autoRevert",Zt={};ha(Kt+",id,stagger,delay,duration,paused,scrollTrigger",function(t){return Zt[t]=1});var Gt=function(z){function Tween(e,r,i,n){var a;"number"==typeof r&&(i.duration=r,r=i,i=null);var s,o,u,h,l,f,c,d,p=(a=z.call(this,n?r:va(r))||this).vars,_=p.duration,m=p.delay,g=p.immediateRender,T=p.stagger,b=p.overwrite,x=p.keyframes,k=p.defaults,M=p.scrollTrigger,O=p.yoyoEase,P=r.parent||L,C=($(e)||J(e)?t(e[0]):"length"in r)?[e]:Ot(e);if(a._targets=C.length?ea(C):R("GSAP target "+e+" not found. https://greensock.com",!j.nullTargetWarn)||[],a._ptLookup=[],a._overwrite=b,x||T||y(_)||y(m)){if(r=a.vars,(s=a.timeline=new Ut({data:"nested",defaults:k||{},targets:P&&"nested"===P.data?P.vars.targets:C})).kill(),s.parent=s._dp=_assertThisInitialized(a),s._start=0,T||y(_)||y(m)){if(h=C.length,c=T&&eb(T),v(T))for(l in T)~Kt.indexOf(l)&&((d=d||{})[l]=T[l]);for(o=0;o<h;o++)(u=ua(r,Zt)).stagger=0,O&&(u.yoyoEase=O),d&&yt(u,d),f=C[o],u.duration=+Qt(_,_assertThisInitialized(a),o,f,C),u.delay=(+Qt(m,_assertThisInitialized(a),o,f,C)||0)-a._delay,!T&&1===h&&u.delay&&(a._delay=m=u.delay,a._start+=m,u.delay=0),s.to(f,u,c?c(o,f,C):0),s._ease=Ft.none;s.duration()?_=m=0:a.timeline=0}else if(x){va(qa(s.vars.defaults,{ease:"none"})),s._ease=Yt(x.ease||r.ease||"none");var A,S,D,E=0;if($(x))x.forEach(function(t){return s.to(C,t,">")}),s.duration();else{for(l in u={},x)"ease"===l||"easeEach"===l||fc(l,x[l],u,x.easeEach);for(l in u)for(A=u[l].sort(function(t,e){return t.t-e.t}),o=E=0;o<A.length;o++)(D={ease:(S=A[o]).e,duration:(S.t-(o?A[o-1].t:0))/100*_})[l]=S.v,s.to(C,D,E),E+=D.duration;s.duration()<_&&s.to({},{duration:_-s.duration()})}}_||a.duration(_=s.duration())}else a.timeline=0;return!0!==b||I||(Vt=_assertThisInitialized(a),L.killTweensOf(C),Vt=0),Ka(P,_assertThisInitialized(a),i),r.reversed&&a.reverse(),r.paused&&a.paused(!0),(g||!_&&!x&&a._start===ja(P._time)&&w(g)&&function _hasNoPausedAncestors(t){return!t||t._ts&&_hasNoPausedAncestors(t.parent)}(_assertThisInitialized(a))&&"nested"!==P.data)&&(a._tTime=-V,a.render(Math.max(0,-m)||0)),M&&La(_assertThisInitialized(a),M),a}_inheritsLoose(Tween,z);var e=Tween.prototype;return e.render=function render(t,e,r){var i,n,a,s,o,u,h,l,f,c=this._time,d=this._tDur,p=this._dur,_=t<0,m=d-V<t&&!_?d:t<V?0:t;if(p){if(m!==this._tTime||!t||r||!this._initted&&this._tTime||this._startAt&&this._zTime<0!=_){if(i=m,l=this.timeline,this._repeat){if(s=p+this._rDelay,this._repeat<-1&&_)return this.totalTime(100*s+t,e,r);if(i=ja(m%s),m===d?(a=this._repeat,i=p):((a=~~(m/s))&&a===m/s&&(i=p,a--),p<i&&(i=p)),(u=this._yoyo&&1&a)&&(f=this._yEase,i=p-i),o=Tt(this._tTime,s),i===c&&!r&&this._initted)return this._tTime=m,this;a!==o&&(l&&this._yEase&&Pb(l,u),!this.vars.repeatRefresh||u||this._lock||(this._lock=r=1,this.render(ja(s*a),!0).invalidate()._lock=0))}if(!this._initted){if(Ma(this,_?t:i,r,e,m))return this._tTime=0,this;if(c!==this._time)return this;if(p!==this._dur)return this.render(t,e,r)}if(this._tTime=m,this._time=i,!this._act&&this._ts&&(this._act=1,this._lazy=0),this.ratio=h=(f||this._ease)(i/p),this._from&&(this.ratio=h=1-h),i&&!c&&!e&&(Ct(this,"onStart"),this._tTime!==m))return this;for(n=this._pt;n;)n.r(h,n.d),n=n._next;l&&l.render(t<0?t:!i&&u?-V:l._dur*l._ease(i/this._dur),e,r)||this._startAt&&(this._zTime=t),this._onUpdate&&!e&&(_&&Ca(this,t,0,r),Ct(this,"onUpdate")),this._repeat&&a!==o&&this.vars.onRepeat&&!e&&this.parent&&Ct(this,"onRepeat"),m!==this._tDur&&m||this._tTime!==m||(_&&!this._onUpdate&&Ca(this,t,0,!0),!t&&p||!(m===this._tDur&&0<this._ts||!m&&this._ts<0)||za(this,1),e||_&&!c||!(m||c||u)||(Ct(this,m===d?"onComplete":"onReverseComplete",!0),!this._prom||m<d&&0<this.timeScale()||this._prom()))}}else!function _renderZeroDurationTween(t,e,r,i){var n,a,s,o=t.ratio,u=e<0||!e&&(!t._start&&function _parentPlayheadIsBeforeStart(t){var e=t.parent;return e&&e._ts&&e._initted&&!e._lock&&(e.rawTime()<0||_parentPlayheadIsBeforeStart(e))}(t)&&(t._initted||!bt(t))||(t._ts<0||t._dp._ts<0)&&!bt(t))?0:1,h=t._rDelay,l=0;if(h&&t._repeat&&(l=kt(0,t._tDur,e),a=Tt(l,h),t._yoyo&&1&a&&(u=1-u),a!==Tt(t._tTime,h)&&(o=1-u,t.vars.repeatRefresh&&t._initted&&t.invalidate())),u!==o||B||i||t._zTime===V||!e&&t._zTime){if(!t._initted&&Ma(t,e,i,r,l))return;for(s=t._zTime,t._zTime=e||(r?V:0),r=r||e&&!s,t.ratio=u,t._from&&(u=1-u),t._time=0,t._tTime=l,n=t._pt;n;)n.r(u,n.d),n=n._next;e<0&&Ca(t,e,0,!0),t._onUpdate&&!r&&Ct(t,"onUpdate"),l&&t._repeat&&!r&&t.parent&&Ct(t,"onRepeat"),(e>=t._tDur||e<0)&&t.ratio===u&&(u&&za(t,1),r||B||(Ct(t,u?"onComplete":"onReverseComplete",!0),t._prom&&t._prom()))}else t._zTime||(t._zTime=e)}(this,t,e,r);return this},e.targets=function targets(){return this._targets},e.invalidate=function invalidate(t){return t&&this.vars.runBackwards||(this._startAt=0),this._pt=this._op=this._onUpdate=this._lazy=this.ratio=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(t),z.prototype.invalidate.call(this,t)},e.resetTo=function resetTo(t,e,r,i){d||Et.wake(),this._ts||this.play();var n,a=Math.min(this._dur,(this._dp._time-this._start)*this._ts);return this._initted||Ht(this,a),n=this._ease(a/this._dur),function _updatePropTweens(t,e,r,i,n,a,s){var o,u,h,l,f=(t._pt&&t._ptCache||(t._ptCache={}))[e];if(!f)for(f=t._ptCache[e]=[],h=t._ptLookup,l=t._targets.length;l--;){if((o=h[l][e])&&o.d&&o.d._pt)for(o=o.d._pt;o&&o.p!==e&&o.fp!==e;)o=o._next;if(!o)return Wt=1,t.vars[e]="+=0",Ht(t,s),Wt=0,1;f.push(o)}for(l=f.length;l--;)(o=(u=f[l])._pt||u).s=!i&&0!==i||n?o.s+(i||0)+a*o.c:i,o.c=r-o.s,u.e&&(u.e=ia(r)+Ya(u.e)),u.b&&(u.b=o.s+Ya(u.b))}(this,t,e,r,i,n,a)?this.resetTo(t,e,r,i):(Ia(this,0),this.parent||xa(this._dp,this,"_first","_last",this._dp._sort?"_start":0),this.render(0))},e.kill=function kill(t,e){if(void 0===e&&(e="all"),!(t||e&&"all"!==e))return this._lazy=this._pt=0,this.parent?tb(this):this;if(this.timeline){var i=this.timeline.totalDuration();return this.timeline.killTweensOf(t,e,Vt&&!0!==Vt.vars.overwrite)._first||tb(this),this.parent&&i!==this.timeline.totalDuration()&&Ra(this,this._dur*this.timeline._tDur/i,0,1),this}var n,a,s,o,u,h,l,f=this._targets,c=t?Ot(t):f,d=this._ptLookup,p=this._pt;if((!e||"all"===e)&&function _arraysMatch(t,e){for(var r=t.length,i=r===e.length;i&&r--&&t[r]===e[r];);return r<0}(f,c))return"all"===e&&(this._pt=0),tb(this);for(n=this._op=this._op||[],"all"!==e&&(r(e)&&(u={},ha(e,function(t){return u[t]=1}),e=u),e=function _addAliasesToVars(t,e){var r,i,n,a,s=t[0]?fa(t[0]).harness:0,o=s&&s.aliases;if(!o)return e;for(i in r=yt({},e),o)if(i in r)for(n=(a=o[i].split(",")).length;n--;)r[a[n]]=r[i];return r}(f,e)),l=f.length;l--;)if(~c.indexOf(f[l]))for(u in a=d[l],"all"===e?(n[l]=e,o=a,s={}):(s=n[l]=n[l]||{},o=e),o)(h=a&&a[u])&&("kill"in h.d&&!0!==h.d.kill(u)||ya(this,h,"_pt"),delete a[u]),"all"!==s&&(s[u]=1);return this._initted&&!this._pt&&p&&tb(this),this},Tween.to=function to(t,e,r){return new Tween(t,e,r)},Tween.from=function from(t,e){return Va(1,arguments)},Tween.delayedCall=function delayedCall(t,e,r,i){return new Tween(e,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:t,onComplete:e,onReverseComplete:e,onCompleteParams:r,onReverseCompleteParams:r,callbackScope:i})},Tween.fromTo=function fromTo(t,e,r){return Va(2,arguments)},Tween.set=function set(t,e){return e.duration=0,e.repeatDelay||(e.repeat=0),new Tween(t,e)},Tween.killTweensOf=function killTweensOf(t,e,r){return L.killTweensOf(t,e,r)},Tween}(qt);qa(Gt.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0}),ha("staggerTo,staggerFrom,staggerFromTo",function(r){Gt[r]=function(){var t=new Ut,e=Mt.call(arguments,0);return e.splice("staggerFromTo"===r?5:4,0,0),t[r].apply(t,e)}});function nc(t,e,r){return t.setAttribute(e,r)}function vc(t,e,r,i){i.mSet(t,e,i.m.call(i.tween,r,i.mt),i)}var Jt=function _setterPlain(t,e,r){return t[e]=r},$t=function _setterFunc(t,e,r){return t[e](r)},ee=function _setterFuncWithParam(t,e,r,i){return t[e](i.fp,r)},re=function _getSetter(t,e){return s(t[e])?$t:u(t[e])&&t.setAttribute?nc:Jt},ne=function _renderPlain(t,e){return e.set(e.t,e.p,Math.round(1e6*(e.s+e.c*t))/1e6,e)},ae=function _renderBoolean(t,e){return e.set(e.t,e.p,!!(e.s+e.c*t),e)},se=function _renderComplexString(t,e){var r=e._pt,i="";if(!t&&e.b)i=e.b;else if(1===t&&e.e)i=e.e;else{for(;r;)i=r.p+(r.m?r.m(r.s+r.c*t):Math.round(1e4*(r.s+r.c*t))/1e4)+i,r=r._next;i+=e.c}e.set(e.t,e.p,i,e)},oe=function _renderPropTweens(t,e){for(var r=e._pt;r;)r.r(t,r.d),r=r._next},le=function _addPluginModifier(t,e,r,i){for(var n,a=this._pt;a;)n=a._next,a.p===i&&a.modifier(t,e,r),a=n},fe=function _killPropTweensOf(t){for(var e,r,i=this._pt;i;)r=i._next,i.p===t&&!i.op||i.op===t?ya(this,i,"_pt"):i.dep||(e=1),i=r;return!e},de=function _sortPropTweensByPriority(t){for(var e,r,i,n,a=t._pt;a;){for(e=a._next,r=i;r&&r.pr>a.pr;)r=r._next;(a._prev=r?r._prev:n)?a._prev._next=a:i=a,(a._next=r)?r._prev=a:n=a,a=e}t._pt=i},pe=(PropTween.prototype.modifier=function modifier(t,e,r){this.mSet=this.mSet||this.set,this.set=vc,this.m=t,this.mt=r,this.tween=e},PropTween);function PropTween(t,e,r,i,n,a,s,o,u){this.t=e,this.s=i,this.c=n,this.p=r,this.r=a||ne,this.d=s||this,this.set=o||Jt,this.pr=u||0,(this._next=t)&&(t._prev=this)}ha(vt+"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger",function(t){return ft[t]=1}),ot.TweenMax=ot.TweenLite=Gt,ot.TimelineLite=ot.TimelineMax=Ut,
15185L=new Ut({sortChildren:!1,defaults:q,autoRemoveChildren:!0,id:"root",smoothChildTiming:!0}),j.stringFilter=Eb;function Cc(t){return(Te[t]||we).map(function(t){return t()})}function Dc(){var t=Date.now(),o=[];2<t-xe&&(Cc("matchMediaInit"),ye.forEach(function(t){var e,r,i,n,a=t.queries,s=t.conditions;for(r in a)(e=h.matchMedia(a[r]).matches)&&(i=1),e!==s[r]&&(s[r]=e,n=1);n&&(t.revert(),i&&o.push(t))}),Cc("matchMediaRevert"),o.forEach(function(t){return t.onMatch(t)}),xe=t,Cc("matchMedia"))}var _e,ye=[],Te={},we=[],xe=0,ke=((_e=Context.prototype).add=function add(t,i,n){function Cw(){var t,e=l,r=a.selector;return e&&e!==a&&e.data.push(a),n&&(a.selector=cb(n)),l=a,t=i.apply(a,arguments),s(t)&&a._r.push(t),l=e,a.selector=r,a.isReverted=!1,t}s(t)&&(n=i,i=t,t=s);var a=this;return a.last=Cw,t===s?Cw(a):t?a[t]=Cw:Cw},_e.ignore=function ignore(t){var e=l;l=null,t(this),l=e},_e.getTweens=function getTweens(){var e=[];return this.data.forEach(function(t){return t instanceof Context?e.push.apply(e,t.getTweens()):t instanceof Gt&&!(t.parent&&"nested"===t.parent.data)&&e.push(t)}),e},_e.clear=function clear(){this._r.length=this.data.length=0},_e.kill=function kill(e,t){var r=this;if(e){var i=this.getTweens();this.data.forEach(function(t){"isFlip"===t.data&&(t.revert(),t.getChildren(!0,!0,!1).forEach(function(t){return i.splice(i.indexOf(t),1)}))}),i.map(function(t){return{g:t.globalTime(0),t:t}}).sort(function(t,e){return e.g-t.g||-1}).forEach(function(t){return t.t.revert(e)}),this.data.forEach(function(t){return!(t instanceof qt)&&t.revert&&t.revert(e)}),this._r.forEach(function(t){return t(e,r)}),this.isReverted=!0}else this.data.forEach(function(t){return t.kill&&t.kill()});if(this.clear(),t){var n=ye.indexOf(this);~n&&ye.splice(n,1)}},_e.revert=function revert(t){this.kill(t||{})},Context);function Context(t,e){this.selector=e&&cb(e),this.data=[],this._r=[],this.isReverted=!1,t&&this.add(t)}var Me,Oe=((Me=MatchMedia.prototype).add=function add(t,e,r){v(t)||(t={matches:t});var i,n,a,s=new ke(0,r||this.scope),o=s.conditions={};for(n in this.contexts.push(s),e=s.add("onMatch",e),s.queries=t)"all"===n?a=1:(i=h.matchMedia(t[n]))&&(ye.indexOf(s)<0&&ye.push(s),(o[n]=i.matches)&&(a=1),i.addListener?i.addListener(Dc):i.addEventListener("change",Dc));return a&&e(s),this},Me.revert=function revert(t){this.kill(t||{})}
vendor: 4,965 bytes, line 15185
15185,Me.kill=function kill(e){this.contexts.forEach(function(t){return t.kill(e,!0)})},MatchMedia);function MatchMedia(t){this.contexts=[],this.scope=t}var Pe={registerPlugin:function registerPlugin(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];e.forEach(function(t){return function _createPlugin(t){var e=(t=!t.name&&t.default||t).name,r=s(t),i=e&&!r&&t.init?function(){this._props=[]}:t,n={init:T,render:oe,add:Xt,kill:fe,modifier:le,rawVars:0},a={targetTest:0,get:0,getSetter:re,aliases:{},register:0};if(zt(),t!==i){if(pt[e])return;qa(i,qa(ua(t,n),a)),yt(i.prototype,yt(n,ua(t,a))),pt[i.prop=e]=i,t.targetTest&&(gt.push(i),ft[e]=1),e=("css"===e?"CSS":e.charAt(0).toUpperCase()+e.substr(1))+"Plugin"}S(e,i),t.register&&t.register(Ce,i,pe)}(t)})},timeline:function timeline(t){return new Ut(t)},getTweensOf:function getTweensOf(t,e){return L.getTweensOf(t,e)},getProperty:function getProperty(i,t,e,n){r(i)&&(i=Ot(i)[0]);var a=fa(i||{}).get,s=e?pa:oa;return"native"===e&&(e=""),i?t?s((pt[t]&&pt[t].get||a)(i,t,e,n)):function(t,e,r){return s((pt[t]&&pt[t].get||a)(i,t,e,r))}:i},quickSetter:function quickSetter(r,e,i){if(1<(r=Ot(r)).length){var n=r.map(function(t){return Ce.quickSetter(t,e,i)}),a=n.length;return function(t){for(var e=a;e--;)n[e](t)}}r=r[0]||{};var s=pt[e],o=fa(r),u=o.harness&&(o.harness.aliases||{})[e]||e,h=s?function(t){var e=new s;c._pt=0,e.init(r,i?t+i:t,c,0,[r]),e.render(1,e),c._pt&&oe(1,c)}:o.set(r,u);return s?h:function(t){return h(r,u,i?t+i:t,o,1)}},quickTo:function quickTo(t,i,e){function Ux(t,e,r){return n.resetTo(i,t,e,r)}var r,n=Ce.to(t,yt(((r={})[i]="+=0.1",r.paused=!0,r),e||{}));return Ux.tween=n,Ux},isTweening:function isTweening(t){return 0<L.getTweensOf(t,!0).length},defaults:function defaults(t){return t&&t.ease&&(t.ease=Yt(t.ease,q.ease)),ta(q,t||{})},config:function config(t){return ta(j,t||{})},registerEffect:function registerEffect(t){var i=t.name,n=t.effect,e=t.plugins,a=t.defaults,r=t.extendTimeline;(e||"").split(",").forEach(function(t){return t&&!pt[t]&&!ot[t]&&R(i+" effect requires "+t+" plugin.")}),_t[i]=function(t,e,r){return n(Ot(t),qa(e||{},a),r)},r&&(Ut.prototype[i]=function(t,e,r){return this.add(_t[i](t,v(e)?e:(r=e)&&{},this),r)})},registerEase:function registerEase(t,e){Ft[t]=Yt(e)},parseEase:function parseEase(t,e){return arguments.length?Yt(t,e):Ft},getById:function getById(t){return L.getById(t)},exportRoot:function exportRoot(t,e){void 0===t&&(t={});var r,i,n=new Ut(t);for(n.smoothChildTiming=w(t.smoothChildTiming),L.remove(n),n._dp=0,n._time=n._tTime=L._time,r=L._first;r;)i=r._next,!e&&!r._dur&&r instanceof Gt&&r.vars.onComplete===r._targets[0]||Ka(n,r,r._start-r._delay),r=i;return Ka(L,n,0),n},context:function context(t,e){return t?new ke(t,e):l},matchMedia:function matchMedia(t){return new Oe(t)},matchMediaRefresh:function matchMediaRefresh(){return ye.forEach(function(t){var e,r,i=t.conditions;for(r in i)i[r]&&(i[r]=!1,e=1);e&&t.revert()})||Dc()},addEventListener:function addEventListener(t,e){var r=Te[t]||(Te[t]=[]);~r.indexOf(e)||r.push(e)},removeEventListener:function removeEventListener(t,e){var r=Te[t],i=r&&r.indexOf(e);0<=i&&r.splice(i,1)},utils:{wrap:function wrap(e,t,r){var i=t-e;return $(e)?lb(e,wrap(0,e.length),t):Wa(r,function(t){return(i+(t-e)%i)%i+e})},wrapYoyo:function wrapYoyo(e,t,r){var i=t-e,n=2*i;return $(e)?lb(e,wrapYoyo(0,e.length-1),t):Wa(r,function(t){return e+(i<(t=(n+(t-e)%n)%n||0)?n-t:t)})},distribute:eb,random:hb,snap:gb,normalize:function normalize(t,e,r){return Pt(t,e,0,1,r)},getUnit:Ya,clamp:function clamp(e,r,t){return Wa(t,function(t){return kt(e,r,t)})},splitColor:zb,toArray:Ot,selector:cb,mapRange:Pt,pipe:function pipe(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return function(t){return e.reduce(function(t,e){return e(t)},t)}},unitize:function unitize(e,r){return function(t){return e(parseFloat(t))+(r||Ya(t))}},interpolate:function interpolate(e,i,t,n){var a=isNaN(e+i)?0:function(t){return(1-t)*e+t*i};if(!a){var s,o,u,h,l,f=r(e),c={};if(!0===t&&(n=1)&&(t=null),f)e={p:e},i={p:i};else if($(e)&&!$(i)){for(u=[],h=e.length,l=h-2,o=1;o<h;o++)u.push(interpolate(e[o-1],e[o]));h--,a=function func(t){t*=h;var e=Math.min(l,~~t);return u[e](t-e)},t=i}else n||(e=yt($(e)?[]:{},e));if(!u){for(s in i)Xt.call(c,e,s,"get",i[s]);a=function func(t){return oe(t,c)||(f?e.p:e)}}}return Wa(t,a)},shuffle:db},install:P,effects:_t,ticker:Et,updateRoot:Ut.updateRoot,plugins:pt,globalTimeline:L,core:{PropTween:pe,globals:S,Tween:Gt,Timeline:Ut,Animation:qt,getCache:fa,_removeLinkedListItem:ya,reverting:function reverting(){return B},context:function context(t){return t&&l&&(l.data.push(t),t._ctx=l),l},suppressOverwrites:function suppressOverwrites(t){return I=t}}};ha("to,from,fromTo,delayedCall,set,killTweensOf",function(t){return Pe[t]=Gt[t]}),Et.add(Ut.updateRoot),c=Pe.to({},{duration:0});function Hc(t,e){for(var r=t._pt;r&&r.p!==e&&r.op!==e&&r.fp!==e;)r=r._next;return r}
15185function Jc(t,a){return{name:t,rawVars:1,init:function init(t,n,e){e._onInit=function(t){var e,i;if(r(n)&&(e={},ha(n,function(t){return e[t]=1}),n=e),a){for(i in e={},n)e[i]=a(n[i]);n=e}!function _addModifiers(t,e){var r,i,n,a=t._targets;for(r in e)for(i=a.length;i--;)(n=(n=t._ptLookup[i][r])&&n.d)&&(n._pt&&(n=Hc(n,r)),n&&n.modifier&&n.modifier(e[r],t,a[i],r))}(t,n)}}}}var Ce=Pe.registerPlugin({name:"attr",init:function init(t,e,r,i,n){var a,s,o;for(a in this.tween=r,e)o=t.getAttribute(a)||"",(s=this.add(t,"setAttribute",(o||0)+"",e[a],i,n,0,0,a)).op=a,s.b=o,this._props.push(a)},render:function render(t,e){for(var r=e._pt;r;)B?r.set(r.t,r.p,r.b,r):r.r(t,r.d),r=r._next}},{name:"endArray",init:function init(t,e){for(var r=e.length;r--;)this.add(t,r,t[r]||0,e[r],0,0,0,0,0,1)}},Jc("roundProps",fb),Jc("modifiers"),Jc("snap",gb))||Pe;Gt.version=Ut.version=Ce.version="3.11.4",o=1,x()&&zt();function td(t,e){return e.set(e.t,e.p,Math.round(1e4*(e.s+e.c*t))/1e4+e.u,e)}function ud(t,e){return e.set(e.t,e.p,1===t?e.e:Math.round(1e4*(e.s+e.c*t))/1e4+e.u,e)}function vd(t,e){return e.set(e.t,e.p,t?Math.round(1e4*(e.s+e.c*t))/1e4+e.u:e.b,e)}function wd(t,e){var r=e.s+e.c*t;e.set(e.t,e.p,~~(r+(r<0?-.5:.5))+e.u,e)}function xd(t,e){return e.set(e.t,e.p,t?e.e:e.b,e)}function yd(t,e){return e.set(e.t,e.p,1!==t?e.b:e.e,e)}function zd(t,e,r){return t.style[e]=r}function Ad(t,e,r){return t.style.setProperty(e,r)}function Bd(t,e,r){return t._gsap[e]=r}function Cd(t,e,r){return t._gsap.scaleX=t._gsap.scaleY=r}function Dd(t,e,r,i,n){var a=t._gsap;a.scaleX=a.scaleY=r,a.renderTransform(n,a)}function Ed(t,e,r,i,n){var a=t._gsap;a[e]=r,a.renderTransform(n,a)}function Hd(t,e){var r=this,i=this.target,n=i.style;if(t in rr){if(this.tfm=this.tfm||{},"transform"!==t&&(~(t=hr[t]||t).indexOf(",")?t.split(",").forEach(function(t){return r.tfm[t]=mr(i,t)}):this.tfm[t]=i._gsap.x?i._gsap[t]:mr(i,t)),0<=this.props.indexOf(lr))return;i._gsap.svg&&(this.svgo=i.getAttribute("data-svg-origin"),this.props.push(fr,e,"")),t=lr}(n||e)&&this.props.push(t,e,n[t])}function Id(t){t.translate&&(t.removeProperty("translate"),t.removeProperty("scale"),t.removeProperty("rotate"))}function Jd(){var t,e,r=this.props,i=this.target,n=i.style,a=i._gsap;for(t=0;t<r.length;t+=3)r[t+1]?i[r[t]]=r[t+2]:r[t+2]?n[r[t]]=r[t+2]:n.removeProperty(r[t].replace(sr,"-$1").toLowerCase());if(this.tfm){for(e in this.tfm)a[e]=this.tfm[e];a.svg&&(a.renderTransform(),i.setAttribute("data-svg-origin",this.svgo||"")),!(t=Fe())||t.isStart||n[lr]||(Id(n),a.uncache=1)}}function Kd(t,e){var r={target:t,props:[],revert:Jd,save:Hd};return e&&e.split(",").forEach(function(t){return r.save(t)}),r}function Md(t,e){var r=Se.createElementNS?Se.createElementNS((e||"http://www.w3.org/1999/xhtml").replace(/^https/,"http"),t):Se.createElement(t);return r.style?r:Se.createElement(t)}function Nd(t,e,r){var i=getComputedStyle(t);return i[e]||i.getPropertyValue(e.replace(sr,"-$1").toLowerCase())||i.getPropertyValue(e)||!r&&Nd(t,dr(e)||e,1)||""}function Qd(){(function _windowExists(){return"undefined"!=typeof window})()&&window.document&&(Ae=window,Se=Ae.document,Re=Se.documentElement,Ee=Md("div")||{style:{}},Md("div"),lr=dr(lr),fr=lr+"Origin",Ee.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",Ie=!!dr("perspective"),Fe=Ce.core.reverting,De=1)}function Rd(t){var e,r=Md("svg",this.ownerSVGElement&&this.ownerSVGElement.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),i=this.parentNode,n=this.nextSibling,a=this.style.cssText;if(Re.appendChild(r),r.appendChild(this),this.style.display="block",t)try{e=this.getBBox(),this._gsapBBox=this.getBBox,this.getBBox=Rd}catch(t){}else this._gsapBBox&&(e=this._gsapBBox());return i&&(n?i.insertBefore(this,n):i.appendChild(this)),Re.removeChild(r),this.style.cssText=a,e}function Sd(t,e){for(var r=e.length;r--;)if(t.hasAttribute(e[r]))return t.getAttribute(e[r])}function Td(e){var r;try{r=e.getBBox()}catch(t){r=Rd.call(e,!0)}return r&&(r.width||r.height)||e.getBBox===Rd||(r=Rd.call(e,!0)),!r||r.width||r.x||r.y?r:{x:+Sd(e,["x","cx","x1"])||0,y:+Sd(e,["y","cy","y1"])||0,width:0,height:0}}function Ud(t){return!(!t.getCTM||t.parentNode&&!t.ownerSVGElement||!Td(t))}function Vd(t,e){if(e){var r=t.style;e in rr&&e!==fr&&(e=lr),r.removeProperty?("ms"!==e.substr(0,2)&&"webkit"!==e.substr(0,6)||(e="-"+e),r.removeProperty(e.replace(sr,"-$1").toLowerCase())):r.removeAttribute(e)}}function Wd(t,e,r,i,n,a){var s=new pe(t._pt,e,r,0,1,a?yd:xd);return(t._pt=s).b=i,s.e=n,t._props.push(r),s}function Zd(t,e,r,i){var n,a,s,o,u=parseFloat(r)||0,h=(r+"").trim().substr((u+"").length)||"px",l=Ee.style,f=or.test(e),c="svg"===t.tagName.toLowerCase(),d=(c?"client":"offset")+(f?"Width":"Height"),p="px"===i,_="%"===i;return i===h||!u||pr[i]||pr[h]?u:("px"===h||p||(u=Zd(t,e,r,"px")),o=t.getCTM&&Ud(t),!_&&"%"!==h||!rr[e]&&!~e.indexOf("adius")?(l[f?"width":"height"]=100+(p?h:i),a=~e.indexOf("adius")||"em"===i&&t.appendChild&&!c?t:t.parentNode,o&&(a=(t.ownerSVGElement||{}).parentNode),a&&a!==Se&&a.appendChild||(a=Se.body),(s=a._gsap)&&_&&s.width&&f&&s.time===Et.time&&!s.uncache?ia(u/s.width*100):(!_&&"%"!==h||_r[Nd(a,"display")]||(l.position=Nd(t,"position")),a===t&&(l.position="static"),a.appendChild(Ee),n=Ee[d],a.removeChild(Ee),l.position="absolute",f&&_&&((s=fa(a)).time=Et.time,s.width=a[d]),ia(p?n*u/100:n&&u?100/n*u:0))):(n=o?t.getBBox()[f?"width":"height"]:t[d],ia(_?u/n*100:u/100*n)))}function _d(t,e,r,i){if(!r||"none"===r){var n=dr(e,t,1),a=n&&Nd(t,n,1);a&&a!==r?(e=n,r=a):"borderColor"===e&&(r=Nd(t,"borderTopColor"))}var s,o,u,h,l,f,c,d,p,_,m,g=new pe(this._pt,t.style,e,0,1,se),v=0,y=0;if(g.b=r,g.e=i,r+="","auto"===(i+="")&&(t.style[e]=i,i=Nd(t,e)||i,t.style[e]=r),Eb(s=[r,i]),i=s[1],u=(r=s[0]).match(rt)||[],(i.match(rt)||[]).length){for(;o=rt.exec(i);)c=o[0],p=i.substring(v,o.index),l?l=(l+1)%5:"rgba("!==p.substr(-5)&&"hsla("!==p.substr(-5)||(l=1),c!==(f=u[y++]||"")&&(h=parseFloat(f)||0,m=f.substr((h+"").length),"="===c.charAt(1)&&(c=ka(h,c)+m),d=parseFloat(c),_=c.substr((d+"").length),v=rt.lastIndex-_.length,_||(_=_||j.units[e]||m,v===i.length&&(i+=_,g.e+=_)),m!==_&&(h=Zd(t,e,f,_)||0),g._pt={_next:g._pt,p:p||1===y?p:",",s:h,c:d-h,m:l&&l<4||"zIndex"===e?Math.round:0});g.c=v<i.length?i.substring(v,i.length):""}
vendor: 9,491 bytes, line 15185
15185else g.r="display"===e&&"none"===i?yd:xd;return nt.test(i)&&(g.e=0),this._pt=g}function be(t){var e=t.split(" "),r=e[0],i=e[1]||"50%";return"top"!==r&&"bottom"!==r&&"left"!==i&&"right"!==i||(t=r,r=i,i=t),e[0]=gr[r]||r,e[1]=gr[i]||i,e.join(" ")}function ce(t,e){if(e.tween&&e.tween._time===e.tween._dur){var r,i,n,a=e.t,s=a.style,o=e.u,u=a._gsap;if("all"===o||!0===o)s.cssText="",i=1;else for(n=(o=o.split(",")).length;-1<--n;)r=o[n],rr[r]&&(i=1,r="transformOrigin"===r?fr:lr),Vd(a,r);i&&(Vd(a,lr),u&&(u.svg&&a.removeAttribute("transform"),br(a,1),u.uncache=1,Id(s)))}}function ge(t){return"matrix(1, 0, 0, 1, 0, 0)"===t||"none"===t||!t}function he(t){var e=Nd(t,lr);return ge(e)?yr:e.substr(7).match(et).map(ia)}function ie(t,e){var r,i,n,a,s=t._gsap||fa(t),o=t.style,u=he(t);return s.svg&&t.getAttribute("transform")?"1,0,0,1,0,0"===(u=[(n=t.transform.baseVal.consolidate().matrix).a,n.b,n.c,n.d,n.e,n.f]).join(",")?yr:u:(u!==yr||t.offsetParent||t===Re||s.svg||(n=o.display,o.display="block",(r=t.parentNode)&&t.offsetParent||(a=1,i=t.nextElementSibling,Re.appendChild(t)),u=he(t),n?o.display=n:Vd(t,"display"),a&&(i?r.insertBefore(t,i):r?r.appendChild(t):Re.removeChild(t))),e&&6<u.length?[u[0],u[1],u[4],u[5],u[12],u[13]]:u)}function je(t,e,r,i,n,a){var s,o,u,h=t._gsap,l=n||ie(t,!0),f=h.xOrigin||0,c=h.yOrigin||0,d=h.xOffset||0,p=h.yOffset||0,_=l[0],m=l[1],g=l[2],v=l[3],y=l[4],T=l[5],b=e.split(" "),w=parseFloat(b[0])||0,x=parseFloat(b[1])||0;r?l!==yr&&(o=_*v-m*g)&&(u=w*(-m/o)+x*(_/o)-(_*T-m*y)/o,w=w*(v/o)+x*(-g/o)+(g*T-v*y)/o,x=u):(w=(s=Td(t)).x+(~b[0].indexOf("%")?w/100*s.width:w),x=s.y+(~(b[1]||b[0]).indexOf("%")?x/100*s.height:x)),i||!1!==i&&h.smooth?(y=w-f,T=x-c,h.xOffset=d+(y*_+T*g)-y,h.yOffset=p+(y*m+T*v)-T):h.xOffset=h.yOffset=0,h.xOrigin=w,h.yOrigin=x,h.smooth=!!i,h.origin=e,h.originIsAbsolute=!!r,t.style[fr]="0px 0px",a&&(Wd(a,h,"xOrigin",f,w),Wd(a,h,"yOrigin",c,x),Wd(a,h,"xOffset",d,h.xOffset),Wd(a,h,"yOffset",p,h.yOffset)),t.setAttribute("data-svg-origin",w+" "+x)}function me(t,e,r){var i=Ya(e);return ia(parseFloat(e)+parseFloat(Zd(t,"x",r+"px",i)))+i}function te(t,e,i,n,a){var s,o,u=360,h=r(a),l=parseFloat(a)*(h&&~a.indexOf("rad")?ir:1)-n,f=n+l+"deg";return h&&("short"===(s=a.split("_")[1])&&(l%=u)!==l%180&&(l+=l<0?u:-u),"cw"===s&&l<0?l=(l+36e9)%u-~~(l/u)*u:"ccw"===s&&0<l&&(l=(l-36e9)%u-~~(l/u)*u)),t._pt=o=new pe(t._pt,e,i,n,l,ud),o.e=f,o.u="deg",t._props.push(i),o}function ue(t,e){for(var r in e)t[r]=e[r];return t}function ve(t,e,r){var i,n,a,s,o,u,h,l=ue({},r._gsap),f=r.style;for(n in l.svg?(a=r.getAttribute("transform"),r.setAttribute("transform",""),f[lr]=e,i=br(r,1),Vd(r,lr),r.setAttribute("transform",a)):(a=getComputedStyle(r)[lr],f[lr]=e,i=br(r,1),f[lr]=a),rr)(a=l[n])!==(s=i[n])&&"perspective,force3D,transformOrigin,svgOrigin".indexOf(n)<0&&(o=Ya(a)!==(h=Ya(s))?Zd(r,n,a,h):parseFloat(a),u=parseFloat(s),t._pt=new pe(t._pt,i,n,o,u-o,td),t._pt.u=h||0,t._props.push(n));ue(i,l)}var Ae,Se,Re,De,Ee,ze,Fe,Ie,Be=Ft.Power0,Le=Ft.Power1,Ye=Ft.Power2,Ne=Ft.Power3,qe=Ft.Power4,Ue=Ft.Linear,Ve=Ft.Quad,We=Ft.Cubic,Xe=Ft.Quart,He=Ft.Quint,Qe=Ft.Strong,Ke=Ft.Elastic,Ze=Ft.Back,Ge=Ft.SteppedEase,Je=Ft.Bounce,$e=Ft.Sine,tr=Ft.Expo,er=Ft.Circ,rr={},ir=180/Math.PI,nr=Math.PI/180,ar=Math.atan2,sr=/([A-Z])/g,or=/(left|right|width|margin|padding|x)/i,ur=/[\s,\(]\S/,hr={autoAlpha:"opacity,visibility",scale:"scaleX,scaleY",alpha:"opacity"},lr="transform",fr=lr+"Origin",cr="O,Moz,ms,Ms,Webkit".split(","),dr=function _checkPropPrefix(t,e,r){var i=(e||Ee).style,n=5;if(t in i&&!r)return t;for(t=t.charAt(0).toUpperCase()+t.substr(1);n--&&!(cr[n]+t in i););return n<0?null:(3===n?"ms":0<=n?cr[n]:"")+t},pr={deg:1,rad:1,turn:1},_r={grid:1,flex:1},mr=function _get(t,e,r,i){var n;return De||Qd(),e in hr&&"transform"!==e&&~(e=hr[e]).indexOf(",")&&(e=e.split(",")[0]),rr[e]&&"transform"!==e?(n=br(t,i),n="transformOrigin"!==e?n[e]:n.svg?n.origin:wr(Nd(t,fr))+" "+n.zOrigin+"px"):(n=t.style[e])&&"auto"!==n&&!i&&!~(n+"").indexOf("calc(")||(n=vr[e]&&vr[e](t,e,r)||Nd(t,e)||ga(t,e)||("opacity"===e?1:0)),r&&!~(n+"").trim().indexOf(" ")?Zd(t,e,n,r)+r:n},gr={top:"0%",bottom:"100%",left:"0%",right:"100%",center:"50%"},vr={clearProps:function clearProps(t,e,r,i,n){if("isFromStart"!==n.data){var a=t._pt=new pe(t._pt,e,r,0,0,ce);return a.u=i,a.pr=-10,a.tween=n,t._props.push(r),1}}},yr=[1,0,0,1,0,0],Tr={},br=function _parseTransform(t,e){var r=t._gsap||new jt(t);if("x"in r&&!e&&!r.uncache)return r;var i,n,a,s,o,u,h,l,f,c,d,p,_,m,g,v,y,T,b,w,x,k,M,O,P,C,A,S,R,D,E,z,F=t.style,I=r.scaleX<0,B="deg",L=getComputedStyle(t),Y=Nd(t,fr)||"0";return i=n=a=u=h=l=f=c=d=0,s=o=1,r.svg=!(!t.getCTM||!Ud(t)),L.translate&&("none"===L.translate&&"none"===L.scale&&"none"===L.rotate||(F[lr]=("none"!==L.translate?"translate3d("+(L.translate+" 0 0").split(" ").slice(0,3).join(", ")+") ":"")+("none"!==L.rotate?"rotate("+L.rotate+") ":"")+("none"!==L.scale?"scale("+L.scale.split(" ").join(",")+") ":"")+("none"!==L[lr]?L[lr]:"")),F.scale=F.rotate=F.translate="none"),m=ie(t,r.svg),r.svg&&(O=r.uncache?(P=t.getBBox(),Y=r.xOrigin-P.x+"px "+(r.yOrigin-P.y)+"px",""):!e&&t.getAttribute("data-svg-origin"),je(t,O||Y,!!O||r.originIsAbsolute,!1!==r.smooth,m)),p=r.xOrigin||0,_=r.yOrigin||0,m!==yr&&(T=m[0],b=m[1],w=m[2],x=m[3],i=k=m[4],n=M=m[5],6===m.length?(s=Math.sqrt(T*T+b*b),o=Math.sqrt(x*x+w*w),u=T||b?ar(b,T)*ir:0,(f=w||x?ar(w,x)*ir+u:0)&&(o*=Math.abs(Math.cos(f*nr))),r.svg&&(i-=p-(p*T+_*w),n-=_-(p*b+_*x))):(z=m[6],D=m[7],A=m[8],S=m[9],R=m[10],E=m[11],i=m[12],n=m[13],a=m[14],h=(g=ar(z,R))*ir,g&&(O=k*(v=Math.cos(-g))+A*(y=Math.sin(-g)),P=M*v+S*y,C=z*v+R*y,A=k*-y+A*v,S=M*-y+S*v,R=z*-y+R*v,E=D*-y+E*v,k=O,M=P,z=C),l=(g=ar(-w,R))*ir,g&&(v=Math.cos(-g),E=x*(y=Math.sin(-g))+E*v,T=O=T*v-A*y,b=P=b*v-S*y,w=C=w*v-R*y),u=(g=ar(b,T))*ir,g&&(O=T*(v=Math.cos(g))+b*(y=Math.sin(g)),P=k*v+M*y,b=b*v-T*y,M=M*v-k*y,T=O,k=P),h&&359.9<Math.abs(h)+Math.abs(u)&&(h=u=0,l=180-l),s=ia(Math.sqrt(T*T+b*b+w*w)),o=ia(Math.sqrt(M*M+z*z)),g=ar(k,M),f=2e-4<Math.abs(g)?g*ir:0,d=E?1/(E<0?-E:E):0),r.svg&&(O=t.getAttribute("transform"),r.forceCSS=t.setAttribute("transform","")||!ge(Nd(t,lr)),O&&t.setAttribute("transform",O))),90<Math.abs(f)&&Math.abs(f)<270&&(I?(s*=-1,f+=u<=0?180:-180,u+=u<=0?180:-180):(o*=-1,f+=f<=0?180:-180)),e=e||r.uncache,r.x=i-((r.xPercent=i&&(!e&&r.xPercent||(Math.round(t.offsetWidth/2)===Math.round(-i)?-50:0)))?t.offsetWidth*r.xPercent/100:0)+"px",r.y=n-((r.yPercent=n&&(!e&&r.yPercent||(Math.round(t.offsetHeight/2)===Math.round(-n)?-50:0)))?t.offsetHeight*r.yPercent/100:0)+"px",r.z=a+"px",r.scaleX=ia(s),r.scaleY=ia(o),r.rotation=ia(u)+B,r.rotationX=ia(h)+B,r.rotationY=ia(l)+B,r.skewX=f+B,r.skewY=c+B,r.transformPerspective=d+"px",(r.zOrigin=parseFloat(Y.split(" ")[2])||0)&&(F[fr]=wr(Y)),r.xOffset=r.yOffset=0,r.force3D=j.force3D,r.renderTransform=r.svg?Cr:Ie?Pr:xr,r.uncache=0,r},wr=function _firstTwoOnly(t){return(t=t.split(" "))[0]+" "+t[1]},xr=function _renderNon3DTransforms(t,e){e.z="0px",e.rotationY=e.rotationX="0deg",e.force3D=0,Pr(t,e)},kr="0deg",Mr="0px",Or=") ",Pr=function _renderCSSTransforms(t,e){var r=e||this,i=r.xPercent,n=r.yPercent,a=r.x,s=r.y,o=r.z,u=r.rotation,h=r.rotationY,l=r.rotationX,f=r.skewX,c=r.skewY,d=r.scaleX,p=r.scaleY,_=r.transformPerspective,m=r.force3D,g=r.target,v=r.zOrigin,y="",T="auto"===m&&t&&1!==t||!0===m;if(v&&(l!==kr||h!==kr)){var b,w=parseFloat(h)*nr,x=Math.sin(w),k=Math.cos(w);w=parseFloat(l)*nr,b=Math.cos(w),a=me(g,a,x*b*-v),s=me(g,s,-Math.sin(w)*-v),o=me(g,o,k*b*-v+v)}_!==Mr&&(y+="perspective("+_+Or),(i||n)&&(y+="translate("+i+"%, "+n+"%) "),!T&&a===Mr&&s===Mr&&o===Mr||(y+=o!==Mr||T?"translate3d("+a+", "+s+", "+o+") ":"translate("+a+", "+s+Or),u!==kr&&(y+="rotate("+u+Or),h!==kr&&(y+="rotateY("+h+Or),l!==kr&&(y+="rotateX("+l+Or),f===kr&&c===kr||(y+="skew("+f+", "+c+Or),1===d&&1===p||(y+="scale("+d+", "+p+Or),g.style[lr]=y||"translate(0, 0)"},Cr=function _renderSVGTransforms(t,e){var r,i,n,a,s,o=e||this,u=o.xPercent,h=o.yPercent,l=o.x,f=o.y,c=o.rotation,d=o.skewX,p=o.skewY,_=o.scaleX,m=o.scaleY,g=o.target,v=o.xOrigin,y=o.yOrigin,T=o.xOffset,b=o.yOffset,w=o.forceCSS,x=parseFloat(l),k=parseFloat(f);c=parseFloat(c),d=parseFloat(d),(p=parseFloat(p))&&(d+=p=parseFloat(p),c+=p),c||d?(c*=nr,d*=nr,r=Math.cos(c)*_,i=Math.sin(c)*_,n=Math.sin(c-d)*-m,a=Math.cos(c-d)*m,d&&(p*=nr,s=Math.tan(d-p),n*=s=Math.sqrt(1+s*s),a*=s,p&&(s=Math.tan(p),r*=s=Math.sqrt(1+s*s),i*=s)),r=ia(r),i=ia(i),n=ia(n),a=ia(a)):(r=_,a=m,i=n=0),(x&&!~(l+"").indexOf("px")||k&&!~(f+"").indexOf("px"))&&(x=Zd(g,"x",l,"px"),k=Zd(g,"y",f,"px")),(v||y||T||b)&&(x=ia(x+v-(v*r+y*n)+T),k=ia(k+y-(v*i+y*a)+b)),(u||h)&&(s=g.getBBox(),x=ia(x+u/100*s.width),k=ia(k+h/100*s.height)),s="matrix("+r+","+i+","+n+","+a+","+x+","+k+")",g.setAttribute("transform",s),w&&(g.style[lr]=s)};ha("padding,margin,Width,Radius",function(e,r){var t="Right",i="Bottom",n="Left",o=(r<3?["Top",t,i,n]:["Top"+n,"Top"+t,i+t,i+n]).map(function(t){return r<2?e+t:"border"+t+e});vr[1<r?"border"+e:e]=function(e,t,r,i,n){var a,s;if(arguments.length<4)return a=o.map(function(t){return mr(e,t,r)}),5===(s=a.join(" ")).split(a[0]).length?a[0]:s;a=(i+"").split(" "),s={},o.forEach(function(t,e){return s[t]=a[e]=a[e]||a[(e-1)/2|0]}),e.init(t,s,n)}});var Ar,Sr,Rr,Dr={name:"css",register:Qd,targetTest:function targetTest(t){return t.style&&t.nodeType},init:function init(t,e,i,n,a){var s,o,u,h,l,f,c,d,p,_,m,g,v,y,T,b,w=this._props,x=t.style,k=i.vars.startAt;for(c in De||Qd(),this.styles=this.styles||Kd(t),b=this.styles.props,this.tween=i,e)if("autoRound"!==c&&(o=e[c],!pt[c]||
vendor: 7,648 bytes, lines 15185-15200
15185!_b(c,e,i,n,t,a)))if(l=typeof o,f=vr[c],"function"===l&&(l=typeof(o=o.call(i,n,t,a))),"string"===l&&~o.indexOf("random(")&&(o=ob(o)),f)f(this,t,c,o,i)&&(T=1);else if("--"===c.substr(0,2))s=(getComputedStyle(t).getPropertyValue(c)+"").trim(),o+="",Rt.lastIndex=0,Rt.test(s)||(d=Ya(s),p=Ya(o)),p?d!==p&&(s=Zd(t,c,s,p)+p):d&&(o+=d),this.add(x,"setProperty",s,o,n,a,0,0,c),w.push(c),b.push(c,0,x[c]);else if("undefined"!==l){if(k&&c in k?(s="function"==typeof k[c]?k[c].call(i,n,t,a):k[c],r(s)&&~s.indexOf("random(")&&(s=ob(s)),Ya(s+"")||(s+=j.units[c]||Ya(mr(t,c))||""),"="===(s+"").charAt(1)&&(s=mr(t,c))):s=mr(t,c),h=parseFloat(s),(_="string"===l&&"="===o.charAt(1)&&o.substr(0,2))&&(o=o.substr(2)),u=parseFloat(o),c in hr&&("autoAlpha"===c&&(1===h&&"hidden"===mr(t,"visibility")&&u&&(h=0),b.push("visibility",0,x.visibility),Wd(this,x,"visibility",h?"inherit":"hidden",u?"inherit":"hidden",!u)),"scale"!==c&&"transform"!==c&&~(c=hr[c]).indexOf(",")&&(c=c.split(",")[0])),m=c in rr)if(this.styles.save(c),g||((v=t._gsap).renderTransform&&!e.parseTransform||br(t,e.parseTransform),y=!1!==e.smoothOrigin&&v.smooth,(g=this._pt=new pe(this._pt,x,lr,0,1,v.renderTransform,v,0,-1)).dep=1),"scale"===c)this._pt=new pe(this._pt,v,"scaleY",v.scaleY,(_?ka(v.scaleY,_+u):u)-v.scaleY||0,td),this._pt.u=0,w.push("scaleY",c),c+="X";else{if("transformOrigin"===c){b.push(fr,0,x[fr]),o=be(o),v.svg?je(t,o,0,y,0,this):((p=parseFloat(o.split(" ")[2])||0)!==v.zOrigin&&Wd(this,v,"zOrigin",v.zOrigin,p),Wd(this,x,c,wr(s),wr(o)));continue}if("svgOrigin"===c){je(t,o,1,y,0,this);continue}if(c in Tr){te(this,v,c,h,_?ka(h,_+o):o);continue}if("smoothOrigin"===c){Wd(this,v,"smooth",v.smooth,o);continue}if("force3D"===c){v[c]=o;continue}if("transform"===c){ve(this,o,t);continue}}else c in x||(c=dr(c)||c);if(m||(u||0===u)&&(h||0===h)&&!ur.test(o)&&c in x)u=u||0,(d=(s+"").substr((h+"").length))!==(p=Ya(o)||(c in j.units?j.units[c]:d))&&(h=Zd(t,c,s,p)),this._pt=new pe(this._pt,m?v:x,c,h,(_?ka(h,_+u):u)-h,m||"px"!==p&&"zIndex"!==c||!1===e.autoRound?td:wd),this._pt.u=p||0,d!==p&&"%"!==p&&(this._pt.b=s,this._pt.r=vd);else if(c in x)_d.call(this,t,c,s,_?_+o:o);else if(c in t)this.add(t,c,s||t[c],_?_+o:o,n,a);else if("parseTransform"!==c){Q(c,o);continue}m||(c in x?b.push(c,0,x[c]):b.push(c,1,s||t[c])),w.push(c)}T&&de(this)},render:function render(t,e){if(e.tween._time||!Fe())for(var r=e._pt;r;)r.r(t,r.d),r=r._next;else e.styles.revert()},get:mr,aliases:hr,getSetter:function getSetter(t,e,r){var i=hr[e];return i&&i.indexOf(",")<0&&(e=i),e in rr&&e!==fr&&(t._gsap.x||mr(t,"x"))?r&&ze===r?"scale"===e?Cd:Bd:(ze=r||{})&&("scale"===e?Dd:Ed):t.style&&!u(t.style[e])?zd:~e.indexOf("-")?Ad:re(t,e)},core:{_removeProperty:Vd,_getMatrix:ie}};Ce.utils.checkPrefix=dr,Ce.core.getStyleSaver=Kd,Rr=ha((Ar="x,y,z,scale,scaleX,scaleY,xPercent,yPercent")+","+(Sr="rotation,rotationX,rotationY,skewX,skewY")+",transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective",function(t){rr[t]=1}),ha(Sr,function(t){j.units[t]="deg",Tr[t]=1}),hr[Rr[13]]=Ar+","+Sr,ha("0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY",function(t){var e=t.split(":");hr[e[1]]=Rr[e[0]]}),ha("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",function(t){j.units[t]="px"}),Ce.registerPlugin(Dr);var Er=Ce.registerPlugin(Dr)||Ce,zr=Er.core.Tween;e.Back=Ze,e.Bounce=Je,e.CSSPlugin=Dr,e.Circ=er,e.Cubic=We,e.Elastic=Ke,e.Expo=tr,e.Linear=Ue,e.Power0=Be,e.Power1=Le,e.Power2=Ye,e.Power3=Ne,e.Power4=qe,e.Quad=Ve,e.Quart=Xe,e.Quint=He,e.Sine=$e,e.SteppedEase=Ge,e.Strong=Qe,e.TimelineLite=Ut,e.TimelineMax=Ut,e.TweenLite=Gt,e.TweenMax=zr,e.default=Er,e.gsap=Er;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}});
15186
15187
15188/* End */
15189;
15190; /* Start:"a:4:{s:4:"full";s:70:"/local/templates/culture/build/js/ScrollTrigger.min.js?176656724440596";s:6:"source";s:54:"/local/templates/culture/build/js/ScrollTrigger.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
15191/*!
15192 * ScrollTrigger 3.11.4
15193 * https://greensock.com
15194 * 
15195 * @license Copyright 2022, GreenSock. All rights reserved.
15196 * Subject to the terms at https://greensock.com/standard-license or for Club GreenSock members, the agreement issued with that membership.
15197 * @author: Jack Doyle, [email protected]
15198 */
15199
15200!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).window=e.window||{})}(this,function(e){"use strict";function _defineProperties(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function r(){return we||"undefined"!=typeof window&&(we=window.gsap)&&we.registerPlugin&&we}function z(e,t){return~Fe.indexOf(e)&&Fe[Fe.indexOf(e)+1][t]}function A(e){return!!~t.indexOf(e)}function B(e,t,r,n,o){return e.addEventListener(t,r,{passive:!n,capture:!!o})}function C(e,t,r,n){return e.removeEventListener(t,r,!!n)}function F(){return Be&&Be.isPressed||ze.cache++}function G(r,n){function Tc(e){if(e||0===e){o&&(Ce.history.scrollRestoration="manual");var t=Be&&Be.isPressed;e=Tc.v=Math.round(e)||(Be&&Be.iOS?1:0),r(e),Tc.cacheID=ze.cache,t&&i("ss",e)}else(n||ze.cache!==Tc.cacheID||i("ref"))&&(Tc.cacheID=ze.cache,Tc.v=r());return Tc.v+Tc.offset}return Tc.offset=0,r&&Tc}function J(e){return we.utils.toArray(e)[0]||("string"==typeof e&&!1!==we.config().nullTargetWarn?console.warn("Element not found:",e):null)}function K(t,e){var r=e.s,n=e.sc;A(t)&&(t=Ee.scrollingElement||ke);var o=ze.indexOf(t),i=n===Ke.sc?1:2;~o||(o=ze.push(t)-1),ze[o+i]||t.addEventListener("scroll",F);var a=ze[o+i],s=a||(ze[o+i]=G(z(t,r),!0)||(A(t)?n:G(function(e){return arguments.length?t[r]=e:t[r]})));return s.target=t,a||(s.smooth="smooth"===we.getProperty(t,"scrollBehavior")),s}function L(e,t,o){function pd(e,t){var r=Ne();t||n<r-s?(a=i,i=e,l=s,s=r):o?i+=e:i=a+(e-a)/(r-l)*(s-l)}var i=e,a=e,s=Ne(),l=s,n=t||50,c=Math.max(500,3*n);return{update:pd,reset:function reset(){a=i=o?0:i,l=s=0},getVelocity:function getVelocity(e){var t=l,r=a,n=Ne();return!e&&0!==e||e===i||pd(e),s===l||c<n-l?0:(i+(o?r:-r))/((o?n:s)-t)*1e3}}}function M(e,t){return t&&!e._gsapAllow&&e.preventDefault(),e.changedTouches?e.changedTouches[0]:e}function N(e){var t=Math.max.apply(Math,e),r=Math.min.apply(Math,e);return Math.abs(t)>=Math.abs(r)?t:r}function O(){(Ae=we.core.globals().ScrollTrigger)&&Ae.core&&function _integrate(){var e=Ae.core,r=e.bridge||{},t=e._scrollers,n=e._proxies;t.push.apply(t,ze),n.push.apply(n,Fe),ze=t,Fe=n,i=function _bridge(e,t){return r[e](t)}}()}function P(e){return(we=e||r())&&"undefined"!=typeof document&&document.body&&(Ce=window,ke=(Ee=document).documentElement,Me=Ee.body,t=[Ce,Ee,ke,Me],we.utils.clamp,Ie=we.core.context||function(){},Oe="onpointerenter"in Me?"pointer":"mouse",Pe=E.isTouch=Ce.matchMedia&&Ce.matchMedia("(hover: none), (pointer: coarse)").matches?1:"ontouchstart"in Ce||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints?2:0,De=E.eventTypes=("ontouchstart"in ke?"touchstart,touchmove,touchcancel,touchend":"onpointerdown"in ke?"pointerdown,pointermove,pointercancel,pointerup":"mousedown,mousemove,mouseup,mouseup").split(","),setTimeout(function(){return o=0},500),O(),Se=1),Se}var we,Se,Ce,Ee,ke,Me,Pe,Oe,Ae,t,Be,De,Ie,o=1,Le=[],ze=[],Fe=[],Ne=Date.now,i=function _bridge(e,t){return t},n="scrollLeft",a="scrollTop",Xe={s:n,p:"left",p2:"Left",os:"right",os2:"Right",d:"width",d2:"Width",a:"x",sc:G(function(e){return arguments.length?Ce.scrollTo(e,Ke.sc()):Ce.pageXOffset||Ee[n]||ke[
vendor: 11,053 bytes, line 15200
15200n]||Me[n]||0})},Ke={s:a,p:"top",p2:"Top",os:"bottom",os2:"Bottom",d:"height",d2:"Height",a:"y",op:Xe,sc:G(function(e){return arguments.length?Ce.scrollTo(Xe.sc(),e):Ce.pageYOffset||Ee[a]||ke[a]||Me[a]||0})};Xe.op=Ke,ze.cache=0;var E=(Observer.prototype.init=function init(e){Se||P(we)||console.warn("Please gsap.registerPlugin(Observer)"),Ae||O();var o=e.tolerance,a=e.dragMinimum,t=e.type,i=e.target,r=e.lineHeight,n=e.debounce,s=e.preventDefault,l=e.onStop,c=e.onStopDelay,u=e.ignore,f=e.wheelSpeed,p=e.event,d=e.onDragStart,g=e.onDragEnd,h=e.onDrag,v=e.onPress,b=e.onRelease,m=e.onRight,y=e.onLeft,x=e.onUp,w=e.onDown,_=e.onChangeX,T=e.onChangeY,S=e.onChange,E=e.onToggleX,k=e.onToggleY,D=e.onHover,I=e.onHoverEnd,R=e.onMove,Y=e.ignoreCheck,z=e.isNormalizer,X=e.onGestureStart,W=e.onGestureEnd,H=e.onWheel,U=e.onEnable,j=e.onDisable,q=e.onClick,V=e.scrollSpeed,G=e.capture,Z=e.allowClicks,$=e.lockAxis,Q=e.onLockAxis;function Qe(){return ye=Ne()}function Re(e,t){return(se.event=e)&&u&&~u.indexOf(e.target)||t&&ge&&"touch"!==e.pointerType||Y&&Y(e,t)}function Te(){var e=se.deltaX=N(be),t=se.deltaY=N(me),r=Math.abs(e)>=o,n=Math.abs(t)>=o;S&&(r||n)&&S(se,e,t,be,me),r&&(m&&0<se.deltaX&&m(se),y&&se.deltaX<0&&y(se),_&&_(se),E&&se.deltaX<0!=le<0&&E(se),le=se.deltaX,be[0]=be[1]=be[2]=0),n&&(w&&0<se.deltaY&&w(se),x&&se.deltaY<0&&x(se),T&&T(se),k&&se.deltaY<0!=ce<0&&k(se),ce=se.deltaY,me[0]=me[1]=me[2]=0),(ne||re)&&(R&&R(se),re&&(h(se),re=!1),ne=!1),ie&&!(ie=!1)&&Q&&Q(se),oe&&(H(se),oe=!1),ee=0}function Ue(e,t,r){be[r]+=e,me[r]+=t,se._vx.update(e),se._vy.update(t),n?ee=ee||requestAnimationFrame(Te):Te()}function Ve(e,t){$&&!ae&&(se.axis=ae=Math.abs(e)>Math.abs(t)?"x":"y",ie=!0),"y"!==ae&&(be[2]+=e,se._vx.update(e,!0)),"x"!==ae&&(me[2]+=t,se._vy.update(t,!0)),n?ee=ee||requestAnimationFrame(Te):Te()}function We(e){if(!Re(e,1)){var t=(e=M(e,s)).clientX,r=e.clientY,n=t-se.x,o=r-se.y,i=se.isDragging;se.x=t,se.y=r,(i||Math.abs(se.startX-t)>=a||Math.abs(se.startY-r)>=a)&&(h&&(re=!0),i||(se.isDragging=!0),Ve(n,o),i||d&&d(se))}}function Ye(t){if(!Re(t,1)){C(z?i:ve,De[1],We,!0);var e=!isNaN(se.y-se.startY),r=se.isDragging&&(3<Math.abs(se.x-se.startX)||3<Math.abs(se.y-se.startY)),n=M(t);!r&&e&&(se._vx.reset(),se._vy.reset(),s&&Z&&we.delayedCall(.08,function(){if(300<Ne()-ye&&!t.defaultPrevented)if(t.target.click)t.target.click();else if(ve.createEvent){var e=ve.createEvent("MouseEvents");e.initMouseEvent("click",!0,!0,Ce,1,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),t.target.dispatchEvent(e)}})),se.isDragging=se.isGesturing=se.isPressed=!1,l&&!z&&te.restart(!0),g&&r&&g(se),b&&b(se,r)}}function Ze(e){return e.touches&&1<e.touches.length&&(se.isGesturing=!0)&&X(e,se.isDragging)}function $e(){return(se.isGesturing=!1)||W(se)}function _e(e){if(!Re(e)){var t=ue(),r=fe();Ue((t-pe)*V,(r-de)*V,1),pe=t,de=r,l&&te.restart(!0)}}function af(e){if(!Re(e)){e=M(e,s),H&&(oe=!0);var t=(1===e.deltaMode?r:2===e.deltaMode?Ce.innerHeight:1)*f;Ue(e.deltaX*t,e.deltaY*t,0),l&&!z&&te.restart(!0)}}function bf(e){if(!Re(e)){var t=e.clientX,r=e.clientY,n=t-se.x,o=r-se.y;se.x=t,se.y=r,ne=!0,(n||o)&&Ve(n,o)}}function cf(e){se.event=e,D(se)}function df(e){se.event=e,I(se)}function ef(e){return Re(e)||M(e,s)&&q(se)}this.target=i=J(i)||ke,this.vars=e,u=u&&we.utils.toArray(u),o=o||1e-9,a=a||0,f=f||1,V=V||1,t=t||"wheel,touch,pointer",n=!1!==n,r=r||parseFloat(Ce.getComputedStyle(Me).lineHeight)||22;var ee,te,re,ne,oe,ie,ae,se=this,le=0,ce=0,ue=K(i,Xe),fe=K(i,Ke),pe=ue(),de=fe(),ge=~t.indexOf("touch")&&!~t.indexOf("pointer")&&"pointerdown"===De[0],he=A(i),ve=i.ownerDocument||Ee,be=[0,0,0],me=[0,0,0],ye=0,xe=se.onPress=function(e){Re(e,1)||(se.axis=ae=null,te.pause(),se.isPressed=!0,e=M(e),le=ce=0,se.startX=se.x=e.clientX,se.startY=se.y=e.clientY,se._vx.reset(),se._vy.reset(),B(z?i:ve,De[1],We,s,!0),se.deltaX=se.deltaY=0,v&&v(se))};te=se._dc=we.delayedCall(c||.25,function onStopFunc(){se._vx.reset(),se._vy.reset(),te.pause(),l&&l(se)}).pause(),se.deltaX=se.deltaY=0,se._vx=L(0,50,!0),se._vy=L(0,50,!0),se.scrollX=ue,se.scrollY=fe,se.isDragging=se.isGesturing=se.isPressed=!1,Ie(this),se.enable=function(e){return se.isEnabled||(B(he?ve:i,"scroll",F),0<=t.indexOf("scroll")&&B(he?ve:i,"scroll",_e,s,G),0<=t.indexOf("wheel")&&B(i,"wheel",af,s,G),(0<=t.indexOf("touch")&&Pe||0<=t.indexOf("pointer"))&&(B(i,De[0],xe,s,G),B(ve,De[2],Ye),B(ve,De[3],Ye),Z&&B(i,"click",Qe,!1,!0),q&&B(i,"click",ef),X&&B(ve,"gesturestart",Ze),W&&B(ve,"gestureend",$e),D&&B(i,Oe+"enter",cf),I&&B(i,Oe+"leave",df),R&&B(i,Oe+"move",bf)),se.isEnabled=!0,e&&e.type&&xe(e),U&&U(se)),se},se.disable=function(){se.isEnabled&&(Le.filter(function(e){return e!==se&&A(e.target)}).length||C(he?ve:i,"scroll",F),se.isPressed&&(se._vx.reset(),se._vy.reset(),C(z?i:ve,De[1],We,!0)),C(he?ve:i,"scroll",_e,G),C(i,"wheel",af,G),C(i,De[0],xe,G),C(ve,De[2],Ye),C(ve,De[3],Ye),C(i,"click",Qe,!0),C(i,"click",ef),C(ve,"gesturestart",Ze),C(ve,"gestureend",$e),C(i,Oe+"enter",cf),C(i,Oe+"leave",df),C(i,Oe+"move",bf),se.isEnabled=se.isPressed=se.isDragging=!1,j&&j(se))},se.kill=se.revert=function(){se.disable();var e=Le.indexOf(se);0<=e&&Le.splice(e,1),Be===se&&(Be=0)},Le.push(se),z&&A(i)&&(Be=se),se.enable(p)},function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),e}(Observer,[{key:"velocityX",get:function get(){return this._vx.getVelocity()}},{key:"velocityY",get:function get(){return this._vy.getVelocity()}}]),Observer);function Observer(e){this.init(e)}E.version="3.11.4",E.create=function(e){return new E(e)},E.register=P,E.getAll=function(){return Le.slice()},E.getById=function(t){return Le.filter(function(e){return e.vars.id===t})[0]},r()&&we.registerPlugin(E);function ya(){return ot=1}function za(){return ot=0}function Aa(e){return e}function Ba(e){return Math.round(1e5*e)/1e5||0}function Ca(){return"undefined"!=typeof window}function Da(){return He||Ca()&&(He=window.gsap)&&He.registerPlugin&&He}function Ea(e){return!!~l.indexOf(e)}function Fa(e){return z(e,"getBoundingClientRect")||(Ea(e)?function(){return Yt.width=Je.innerWidth,Yt.height=Je.innerHeight,Yt}:function(){return Mt(e)})}function Ia(e,t){var r=t.s,n=t.d2,o=t.d,i=t.a;return(r="scroll"+n)&&(i=z(e,r))?i()-Fa(e)()[o]:Ea(e)?(qe[r]||Ge[r])-(Je["inner"+n]||qe["client"+n]||Ge["client"+n]):e[r]-e["offset"+n]}function Ja(e,t){for(var r=0;r<g.length;r+=3)t&&!~t.indexOf(g[r+1])||e(g[r],g[r+1],g[r+2])}function Ka(e){return"string"==typeof e}function La(e){return"function"==typeof e}function Ma(e){return"number"==typeof e}function Na(e){return"object"==typeof e}function Oa(e,t,r){return e&&e.progress(t?0:1)&&r&&e.pause()}function Pa(e,t){if(e.enabled){var r=t(e);r&&r.totalTime&&(e.callbackAnimation=r)}}function eb(e){return Je.getComputedStyle(e)}function gb(e,t){for(var r in t)r in e||(e[r]=t[r]);return e}function ib(e,t){var r=t.d2;return e["offset"+r]||e["client"+r]||0}function jb(e){var t,r=[],n=e.labels,o=e.duration();for(t in n)r.push(n[t]/o);return r}function lb(o){var i=He.utils.snap(o),a=Array.isArray(o)&&o.slice(0).sort(function(e,t){return e-t});return a?function(e,t,r){var n;if(void 0===r&&(r=.001),!t)return i(e);if(0<t){for(e-=r,n=0;n<a.length;n++)if(a[n]>=e)return a[n];return a[n-1]}for(n=a.length,e+=r;n--;)if(a[n]<=e)return a[n];return a[0]}:function(e,t,r){void 0===r&&(r=.001);var n=i(e);return!t||Math.abs(n-e)<r||n-e<0==t<0?n:i(t<0?e-o:e+o)}}function nb(t,r,e,n){return e.split(",").forEach(function(e){return t(r,e,n)})}function ob(e,t,r,n,o){return e.addEventListener(t,r,{passive:!n,capture:!!o})}function pb(e,t,r,n){return e.removeEventListener(t,r,!!n)}function qb(e,t,r){return r&&r.wheelHandler&&e(t,"wheel",r)}function ub(e,t){if(Ka(e)){var r=e.indexOf("="),n=~r?(e.charAt(r-1)+1)*parseFloat(e.substr(r+1)):0;~r&&(e.indexOf("%")>r&&(n*=t/100),e=e.substr(0,r-1)),e=n+(e in I?I[e]*t:~e.indexOf("%")?parseFloat(e)*t/100:parseFloat(e)||0)}return e}function vb(e,t,r,n,o,i,a,s){var l=o.startColor,c=o.endColor,u=o.fontSize,f=o.indent,p=o.fontWeight,d=je.createElement("div"),g=Ea(r)||"fixed"===z(r,"pinType"),h=-1!==e.indexOf("scroller"),v=g?Ge:r,b=-1!==e.indexOf("start"),m=b?l:c,y="border-color:"+m+";font-size:"+u+";color:"+m+";font-weight:"+p+";pointer-events:none;white-space:nowrap;font-family:sans-serif,Arial;z-index:1000;padding:4px 8px;border-width:0;border-style:solid;";return y+="position:"+((h||s)&&g?"fixed;":"absolute;"),!h&&!s&&g||(y+=(n===Ke?T:S)+":"+(i+parseFloat(f))+"px;"),a&&(y+="box-sizing:border-box;text-align:left;width:"+a.offsetWidth+"px;"),d._isStart=b,d.setAttribute("class","gsap-marker-"+e+(t?" marker-"+t:"")),d.style.cssText=y,d.innerText=t||0===t?e+"-"+t:e,v.children[0]?v.insertBefore(d,v.children[0]):v.appendChild(d),d._offset=d["offset"+n.op.d2],R(d,0,n,b),d}function Ab(){return 34<gt()-ht&&(w=w||requestAnimationFrame(j))}function Bb(){v&&v.isPressed&&!(v.startX>Ge.clientWidth)||(ze.cache++,v?w=w||requestAnimationFrame(j):j(),ht||W("scrollStart"),ht=gt())}function Cb(){y=Je.innerWidth,m=Je.innerHeight}function Db(){ze.cache++,nt||h||je.fullscreenElement||je.webkitFullscreenElement||b&&y===Je.innerWidth&&!(Math.abs(Je.innerHeight-m)>.25*Je.innerHeight)||c.restart(!0)}function Gb(){return pb(Q,"scrollEnd",Gb)||It(!0)}function Jb(e){for(var t=0;t<H.length;t+=5)(!e||H[t+4]&&H[t+4].query===e)&&(H[t].style.cssText=H[t+1],H[t].getBBox&&H[t].setAttribute("transform",H[t+2]||""),H[t+3].uncache=1)}function Kb(e,t){var r;for(it=0;it<At.length;it++)!(r=At[it])||t&&r._ctx!==t||(e?r.kill(1):r.revert(!0,!0));t&&Jb(t),t||W("revert")}function Lb(e,t){ze.cache++,!t&&ut||ze.forEach(function(e){return La(e)&&e.cacheID++&&(e.rec=0)}),Ka(e)&&(Je.history.scrollRestoration=x=e)}function Yb(e,t,r,n){if(!e._gsap.swappedIn){for(var o,i=q.length,a=t.style,s=e.style;i--;)a[o=q[i]]=r[o];a.position="absolute"===r.position?"absolute":"relative","inline"===r.display&&(a.display="inline-block"),s[S]=s[T]="auto",a.flexBasis=r.flexBasis||"auto",a.overflow="visible",a.boxSizing="border-box",a[mt]=ib(e,Xe)+kt,a[yt]=ib(e,Ke)+kt,a[St]=s[Ct]=s.top=s.left="0",Rt(n),s[mt]=s.maxWidth=r[mt],s[yt]=s.maxHeight=r[yt],s[St]=r[St],e.parentNode!==t&&(e.parentNode.insertBefore(t,e),t.appendChild(e)),e._gsap.swappedIn=!0}}function _b(e){for(var t=V.length,r=e.style,n=[],o=0;o<t;o++)n.push(V[o],r[V[o]]);return n.t=e,n}function cc(e,t,r,n,o,i,a,s,l,c,u,f,p){La(e)&&(e=e(s)),Ka(e)&&"max"===e.substr(0,3)&&(e=f+("="===e.charAt(4)?ub("0"+e.substr(3),r):0));var d,g,h,v=p?p.time():0;if(p&&p.seek(0),Ma(e))a&&R(a,r,n,!0);else{La(t)&&(t=t(s));var b,m,y,x,w=(e||"0").split(" ");h=J(t)||Ge,(b=Mt(h)||{})&&(b.left||b.top)||"none"!==eb(h).display||(x=h.style.display,h.style.display="block",b=Mt(h),x?h.style.display=x:h.style.removeProperty("display")),m=ub(w[0],b[n.d]),y=ub(w[1]||"0",r),e=b[n.p]-l[n.p]-c+m+o-y,a&&R(a,y,n,r-y<20||a._isStart&&20<y),r-=r-y}if(i){var _=e+r,T=i._isStart;d="scroll"+n.d2,R(i,_,n,T&&20<_||!T&&(u?Math.max(Ge[d],qe[d]):i.parentNode[d])<=_+1),u&&(l=Mt(a),u&&(i.style[n.op.p]=l[n.op.p]-n.op.m-i._offset+kt))}return p&&h&&(d=Mt(h),p.seek(f),g=Mt(h),p._caScrollDist=d[n.p]-g[n.p],e=e/p._c
15200aScrollDist*f),p&&p.seek(v),p?e:Math.round(e)}function ec(e,t,r,n){if(e.parentNode!==t){var o,i,a=e.style;if(t===Ge){for(o in e._stOrig=a.cssText,i=eb(e))+o||$.test(o)||!i[o]||"string"!=typeof a[o]||"0"===o||(a[o]=i[o]);a.top=r,a.left=n}else a.cssText=e._stOrig;He.core.getCache(e).uncache=1,t.appendChild(e)}}function fc(l,e){function Uj(e,t,r,n,o){var i=Uj.tween,a=t.onComplete,s={};return r=r||f(),o=n&&o||0,n=n||e-r,i&&i.kill(),c=Math.round(r),t[p]=e,(t.modifiers=s)[p]=function(e){return(e=Math.round(f()))!==c&&e!==u&&3<Math.abs(e-c)&&3<Math.abs(e-u)?(i.kill(),Uj.tween=0):e=r+n*i.ratio+o*i.ratio*i.ratio,u=c,c=Math.round(e)},t.onUpdate=function(){ze.cache++,j()},t.onComplete=function(){Uj.tween=0,a&&a.call(i)},i=Uj.tween=He.to(l,t)}var c,u,f=K(l,e),p="_scroll"+e.p2;return(l[p]=f).wheelHandler=function(){return Uj.tween&&Uj.tween.kill()&&(Uj.tween=0)},ob(l,"wheel",f.wheelHandler),Uj}var He,s,Je,je,qe,Ge,l,c,et,tt,rt,u,nt,ot,f,it,p,d,g,at,st,h,v,b,m,y,k,lt,x,ct,w,ut,ft,pt,dt=1,gt=Date.now,_=gt(),ht=0,vt=0,bt=Math.abs,T="right",S="bottom",mt="width",yt="height",xt="Right",wt="Left",_t="Top",Tt="Bottom",St="padding",Ct="margin",Et="Width",D="Height",kt="px",Mt=function _getBounds(e,t){var r=t&&"matrix(1, 0, 0, 1, 0, 0)"!==eb(e)[f]&&He.to(e,{x:0,y:0,xPercent:0,yPercent:0,rotation:0,rotationX:0,rotationY:0,scale:1,skewX:0,skewY:0}).progress(1),n=e.getBoundingClientRect();return r&&r.progress(0).kill(),n},Pt={startColor:"green",endColor:"red",indent:0,fontSize:"16px",fontWeight:"normal"},Ot={toggleActions:"play",anticipatePin:0},I={top:0,left:0,center:.5,bottom:1,right:1},R=function _positionMarker(e,t,r,n){var o={display:"block"},i=r[n?"os2":"p2"],a=r[n?"p2":"os2"];e._isFlipped=n,o[r.a+"Percent"]=n?-100:0,o[r.a]=n?"1px":0,o["border"+i+Et]=1,o["border"+a+Et]=0,o[r.p]=t+"px",He.set(e,o)},At=[],Bt={},Y={},X=[],W=function _dispatch(e){return Y[e]&&Y[e].map(function(e){return e()})||X},H=[],Dt=0,It=function _refreshAll(e,t){if(!ht||e){ut=Q.isRefreshing=!0,ze.forEach(function(e){return La(e)&&e.cacheID++&&(e.rec=e())});var r=W("refreshInit");at&&Q.sort(),t||Kb(),ze.forEach(function(e){La(e)&&(e.smooth&&(e.target.style.scrollBehavior="auto"),e(0))}),At.slice(0).forEach(function(e){return e.refresh()}),At.forEach(function(e,t){if(e._subPinOffset&&e.pin){var r=e.vars.horizontal?"offsetWidth":"offsetHeight",n=e.pin[r];e.revert(!0,1),e.adjustPinSpacing(e.pin[r]-n),e.revert(!1,1)}}),At.forEach(function(e){return"max"===e.vars.end&&e.setPositions(e.start,Math.max(e.start+1,Ia(e.scroller,e._dir)))}),r.forEach(function(e){return e&&e.render&&e.render(-1)}),ze.forEach(function(e){La(e)&&(e.smooth&&requestAnimationFrame(function(){return e.target.style.scrollBehavior="smooth"}),e.rec&&e(e.rec))}),Lb(x,1),c.pause(),Dt++,j(2),At.forEach(function(e){return La(e.vars.onRefresh)&&e.vars.onRefresh(e)}),ut=Q.isRefreshing=!1,W("refresh")}else ob(Q,"scrollEnd",Gb)},U=0,Lt=1,j=function _updateAll(e){if(!ut||2===e){Q.isUpdating=!0,pt&&pt.update(0);var t=At.length,r=gt(),n=50<=r-_,o=t&&At[0].scroll();if(Lt=o<U?-1:1,U=o,n&&(ht&&!ot&&200<r-ht&&(ht=0,W("scrollEnd")),rt=_,_=r),Lt<0){for(it=t;0<it--;)At[it]&&At[it].update(0,n);Lt=1}else for(it=0;it<t;it++)At[it]&&At[it].update(0,n);Q.isUpdating=!1}w=0},q=["left","top",S,T,Ct+Tt,Ct+xt,Ct+_t,Ct+wt,"display","flexShrink","float","zIndex","gridColumnStart","gridColumnEnd","gridRowStart","gridRowEnd","gridArea","justifySelf","alignSelf","placeSelf","order"],V=q.concat([mt,yt,"boxSizing","max"+Et,"max"+D,"position",Ct,St,St+_t,St+xt,St+Tt,St+wt]),Z=/([A-Z])/g,Rt=function _setState(e){if(e){var t,r,n=e.t.style,o=e.length,i=0;for((e.t._gsap||He.core.getCache(e.t)).uncache=1;i<o;i+=2)r=e[i+1],t=e[i],r?n[t]=r:n[t]&&n.removeProperty(t.replace(Z,"-$1").toLowerCase())}},Yt={left:0,top:0},$=/(webkit|moz|length|cssText|inset)/i,Q=(ScrollTrigger.prototype.init=function init(S,C){if(this.progress=this.start=0,this.vars&&this.kill(!0,!0),vt){var E,n,d,k,M,P,O,A,B,D,I,e,L,R,Y,F,N,t,X,b,W,H,m,U,y,j,x,r,w,_,q,o,g,V,G,Z,$,T,i,Q=(S=gb(Ka(S)||Ma(S)||S.nodeType?{trigger:S}:S,Ot)).onUpdate,ee=S.toggleClass,a=S.id,te=S.onToggle,re=S.onRefresh,ne=S.scrub,oe=S.trigger,ie=S.pin,ae=S.pinSpacing,se=S.invalidateOnRefresh,le=S.anticipatePin,s=S.onScrubComplete,h=S.onSnapComplete,ce=S.once,ue=S.snap,fe=S.pinReparent,l=S.pinSpacer,pe=S.containerAnimation,de=S.fastScrollEnd,ge=S.preventOverlaps,he=S.horizontal||S.containerAnimation&&!1!==S.horizontal?Xe:Ke,ve=!ne&&0!==ne,be=J(S.scroller||Je),c=He.core.getCache(be),me=Ea(be),ye="fixed"===("pinType"in S?S.pinType:z(be,"pinType")||me&&"f
15200ixed"),xe=[S.onEnter,S.onLeave,S.onEnterBack,S.onLeaveBack],we=ve&&S.toggleActions.split(" "),u="markers"in S?S.markers:Ot.markers,_e=me?0:parseFloat(eb(be)["border"+he.p2+Et])||0,Te=this,Se=S.onRefreshInit&&function(){return S.onRefreshInit(Te)},Ce=function _getSizeFunc(e,t,r){var n=r.d,o=r.d2,i=r.a;return(i=z(e,"getBoundingClientRect"))?function(){return i()[n]}:function(){return(t?Je["inner"+o]:e["client"+o])||0}}(be,me,he),Ee=function _getOffsetsFunc(e,t){return!t||~Fe.indexOf(e)?Fa(e):function(){return Yt}}(be,me),ke=0,Me=0,Pe=K(be,he);if(lt(Te),Te._dir=he,le*=45,Te.scroller=be,Te.scroll=pe?pe.time.bind(pe):Pe,k=Pe(),Te.vars=S,C=C||S.animation,"refreshPriority"in S&&(at=1,-9999===S.refreshPriority&&(pt=Te)),c.tweenScroll=c.tweenScroll||{top:fc(be,Ke),left:fc(be,Xe)},Te.tweenTo=E=c.tweenScroll[he.p],Te.scrubDuration=function(e){(o=Ma(e)&&e)?q?q.duration(e):q=He.to(C,{ease:"expo",totalProgress:"+=0.001",duration:o,paused:!0,onComplete:function onComplete(){return s&&s(Te)}}):(q&&q.progress(1).kill(),q=0)},C&&(C.vars.lazy=!1,C._initted||!1!==C.vars.immediateRender&&!1!==S.immediateRender&&C.duration()&&C.render(0,!0,!0),Te.animation=C.pause(),(C.scrollTrigger=Te).scrubDuration(ne),w=0,a=a||C.vars.id),At.push(Te),ue&&(Na(ue)&&!ue.push||(ue={snapTo:ue}),"scrollBehavior"in Ge.style&&He.set(me?[Ge,qe]:be,{scrollBehavior:"auto"}),ze.forEach(function(e){return La(e)&&e.target===(me?je.scrollingElement||qe:be)&&(e.smooth=!1)}),d=La(ue.snapTo)?ue.snapTo:"labels"===ue.snapTo?function _getClosestLabel(t){return function(e){return He.utils.snap(jb(t),e)}}(C):"labelsDirectional"===ue.snapTo?function _getLabelAtDirection(r){return function(e,t){return lb(jb(r))(e,t.direction)}}(C):!1!==ue.directional?function(e,t){return lb(ue.snapTo)(e,gt()-Me<500?0:t.direction)}:He.utils.snap(ue.snapTo),g=ue.duration||{min:.1,max:2},g=Na(g)?tt(g.min,g.max):tt(g,g),V=He.delayedCall(ue.delay||o/2||.1,function(){var e=Pe(),t=gt()-Me<500,r=E.tween;if(!(t||Math.abs(Te.getVelocity())<10)||r||ot||ke===e)Te.isActive&&ke!==e&&V.restart(!0);else{var n=(e-P)/L,o=C&&!ve?C.totalProgress():n,i=t?0:(o-_)/(gt()-rt)*1e3||0,a=He.utils.clamp(-n,1-n,bt(i/2)*i/.185),s=n+(!1===ue.inertia?0:a),l=tt(0,1,d(s,Te)),c=Math.round(P+l*L),u=ue.onStart,f=ue.onInterrupt,p=ue.onComplete;if(e<=O&&P<=e&&c!==e){if(r&&!r._initted&&r.data<=bt(c-e))return;!1===ue.inertia&&(a=l-n),E(c,{duration:g(bt(.185*Math.max(bt(s-o),bt(l-o))/i/.05||0)),ease:ue.ease||"power3",data:bt(c-e),onInterrupt:function onInterrupt(){return V.restart(!0)&&f&&f(Te)},onComplete:function onComplete(){Te.update(),ke=Pe(),w=_=C&&!ve?C.totalProgress():Te.progress,h&&h(Te),p&&p(Te)}},e,a*L,c-e-a*L),u&&u(Te,E.tween)}}}).pause()),a&&(Bt[a]=Te),i=(i=(oe=Te.trigger=J(oe||ie))&&oe._gsap&&oe._gsap.stRevert)&&i(Te),ie=!0===ie?oe:J(ie),Ka(ee)&&(ee={targets:oe,className:ee}),ie&&(!1===ae||ae===Ct||(ae=!(!ae&&ie.parentNode&&ie.parentNode.style&&"flex"===eb(ie.parentNode).display)&&St),Te.pin=ie,(n=He.core.getCache(ie)).spacer?R=n.pinState:(l&&((l=J(l))&&!l.nodeType&&(l=l.current||l.nativeElement),n.spacerIsNative=!!l,l&&(n.spacerState=_b(l))),n.spacer=N=l||je.createElement("div"),N.classList.add("pin-spacer"),a&&N.classList.add("pin-spacer-"+a),n.pinState=R=_b(ie)),!1!==S.force3D&&He.set(ie,{force3D:!0}),Te.spacer=N=n.spacer,r=eb(ie),m=r[ae+he.os2],X=He.getProperty(ie),b=He.quickSetter(ie,he.a,kt),Yb(ie,N,r),F=_b(ie)),u){e=Na(u)?gb(u,Pt):Pt,D=vb("scroller-start",a,be,he,e,0),I=vb("scroller-end",a,be,he,e,0,D),t=D["offset"+he.op.d2];var f=J(z(be,"content")||be);A=this.markerStart=vb("start",a,f,he,e,t,0,pe),B=this.markerEnd=vb("end",a,f,he,e,t,0,pe),pe&&(T=He.quickSetter([A,B],he.a,kt)),ye||Fe.length&&!0===z(be,"fixedMarkers")||(function _makePositionable(e){var t=eb(e).position;e.style.position="absolute"===t||"fixed"===t?t:"relative"}(me?Ge:be),He.set([D,I],{force3D:!0}),y=He.quickSetter(D,he.a,kt),x=He.quickSetter(I,he.a,kt))}if(pe){var p=pe.vars.onUpdate,v=pe.vars.onUpdateParams;pe.eventCallback("onUpdate",function(){Te.update(0,0,1),p&&p.apply(v||[])})}Te.previous=function(){return At[At.indexOf(Te)-1]},Te.next=function(){return At[At.indexOf(Te)+1]},Te.revert=function(e,t){if(!t)return Te.kill(!0);var r=!1!==e||!Te.enabled,n=nt;r!==Te.isReverted&&(r&&(Z=Math.max(Pe(),Te.scroll.rec||0),G=Te.progress,$=C&&C.progress()),A&&[A,B,D,I].forEac
15200h(function(e){return e.style.display=r?"none":"block"}),r&&(nt=1,Te.update(r)),!ie||fe&&Te.isActive||(r?function _swapPinOut(e,t,r){Rt(r);var n=e._gsap;if(n.spacerIsNative)Rt(n.spacerState);else if(e._gsap.swappedIn){var o=t.parentNode;o&&(o.insertBefore(e,t),o.removeChild(t))}e._gsap.swappedIn=!1}(ie,N,R):Yb(ie,N,eb(ie),U)),r||Te.update(r),nt=n,Te.isReverted=r)},Te.refresh=function(e,t){if(!nt&&Te.enabled||t)if(ie&&e&&ht)ob(ScrollTrigger,"scrollEnd",Gb);else{!ut&&Se&&Se(Te),nt=1,Me=gt(),E.tween&&(E.tween.kill(),E.tween=0),q&&q.pause(),se&&C&&C.revert({kill:!1}).invalidate(),Te.isReverted||Te.revert(!0,!0),Te._subPinOffset=!1;for(var r,n,o,i,a,s,l,c,u,f,p,d=Ce(),g=Ee(),h=pe?pe.duration():Ia(be,he),v=0,b=0,m=S.end,y=S.endTrigger||oe,x=S.start||(0!==S.start&&oe?ie?"0 0":"0 100%":0),w=Te.pinnedContainer=S.pinnedContainer&&J(S.pinnedContainer),_=oe&&Math.max(0,At.indexOf(Te))||0,T=_;T--;)(s=At[T]).end||s.refresh(0,1)||(nt=1),!(l=s.pin)||l!==oe&&l!==ie||s.isReverted||((f=f||[]).unshift(s),s.revert(!0,!0)),s!==At[T]&&(_--,T--);for(La(x)&&(x=x(Te)),P=cc(x,oe,d,he,Pe(),A,D,Te,g,_e,ye,h,pe)||(ie?-.001:0),La(m)&&(m=m(Te)),Ka(m)&&!m.indexOf("+=")&&(~m.indexOf(" ")?m=(Ka(x)?x.split(" ")[0]:"")+m:(v=ub(m.substr(2),d),m=Ka(x)?x:P+v,y=oe)),O=Math.max(P,cc(m||(y?"100% 0":h),y,d,he,Pe()+v,B,I,Te,g,_e,ye,h,pe))||-.001,L=O-P||(P-=.01)&&.001,v=0,T=_;T--;)(l=(s=At[T]).pin)&&s.start-s._pinPush<=P&&!pe&&0<s.end&&(r=s.end-s.start,(l===oe&&s.start-s._pinPush<P||l===w)&&!Ma(x)&&(v+=r*(1-s.progress)),l===ie&&(b+=r));if(P+=v,O+=v,Te._pinPush=b,A&&v&&((r={})[he.a]="+="+v,w&&(r[he.p]="-="+Pe()),He.set([A,B],r)),ie)r=eb(ie),i=he===Ke,o=Pe(),W=parseFloat(X(he.a))+b,!h&&1<O&&((p={style:p=(me?je.scrollingElement||qe:be).style,value:p["overflow"+he.a.toUpperCase()]})["overflow"+he.a.toUpperCase()]="scroll"),Yb(ie,N,r),F=_b(ie),n=Mt(ie,!0),c=ye&&K(be,i?Xe:Ke)(),ae&&((U=[ae+he.os2,L+b+kt]).t=N,(T=ae===St?ib(ie,he)+L+b:0)&&U.push(he.d,T+kt),Rt(U),w&&At.forEach(function(e){e.pin===w&&!1!==e.vars.pinSpacing&&(e._subPinOffset=!0)}),ye&&Pe(Z)),ye&&((a={top:n.top+(i?o-P:c)+kt,left:n.left+(i?c:o-P)+kt,boxSizing:"border-box",position:"fixed"})[mt]=a.maxWidth=Math.ceil(n.width)+kt,a[yt]=a.maxHeight=Math.ceil(n.height)+kt,a[Ct]=a[Ct+_t]=a[Ct+xt]=a[Ct+Tt]=a[Ct+wt]="0",a[St]=r[St],a[St+_t]=r[St+_t],a[St+xt]=r[St+xt],a[St+Tt]=r[St+Tt],a[St+wt]=r[St+wt],Y=function _copyState(e,t,r){for(var n,o=[],i=e.length,a=r?8:0;a<i;a+=2)n=e[a],o.push(n,n in t?t[n]:e[a+1]);return o.t=e.t,o}(R,a,fe),ut&&Pe(0)),C?(u=C._initted,st(1),C.render(C.duration(),!0,!0),H=X(he.a)-W+L+b,j=1<Math.abs(L-H),ye&&j&&Y.splice(Y.length-2,2),C.render(0,!0,!0),u||C.invalidate(!0),C.parent||C.totalTime(C.totalTime()),st(0)):H=L,p&&(p.value?p.style["overflow"+he.a.toUpperCase()]=p.value:p.style.removeProperty("overflow-"+he.a));else if(oe&&Pe()&&!pe)for(n=oe.parentNode;n&&n!==Ge;)n._pinOffset&&(P-=n._pinOffset,O-=n._pinOffset),n=n.parentNode;f&&f.forEach(function(e){return e.revert(!1,!0)}),Te.start=P,Te.end=O,k=M=ut?Z:Pe(),pe||ut||(k<Z&&Pe(Z),Te.scroll.rec=0),Te.revert(!1,!0),V&&(ke=-1,Te.isActive&&Pe(P+L*G),V.restart(!0)),nt=0,C&&ve&&(C._initted||$)&&C.progress()!==$&&C.progress($,!0).render(C.time(),!0,!0),G===Te.progress&&!pe||(C&&!ve&&C.totalProgress(G,!0),Te.progress=(k-P)/L===G?0:G),ie&&ae&&(N._pinOffset=Math.round(Te.progress*H)),re&&!ut&&re(Te)}},Te.getVelocity=function(){return(Pe()-M)/(gt()-rt)*1e3||0},Te.endAnimation=function(){Oa(Te.callbackAnimation),C&&(q?q.progress(1):C.paused()?ve||Oa(C,Te.direction<0,1):Oa(C,C.reversed()))},Te.labelToScroll=function(e){return C&&C.labels&&(P||Te.refresh()||P)+C.labels[e]/C.duration()*L||0},Te.getTrailing=function(t){var e=At.indexOf(Te),r=0<Te.direction?At.slice(0,e).reverse():At.slice(e+1);return(Ka(t)?r.filter(function(e){return e.vars.preventOverlaps===t}):r).filter(function(e){return 0<Te.direction?e.end<=P:e.start>=O})},Te.update=function(e,t,r){if(!pe||r||e){var n,o,i,a,s,l,c,u=ut?Z:Te.scroll(),f=e?0:(u-P)/L,p=f<0?0:1<f?1:f||0,d=Te.progress;if(t&&(M=k,k=pe?Pe():u,ue&&(_=w,w=C&&!ve?C.totalProgress():p)),le&&!p&&ie&&!nt&&!dt&&ht&&P<u+(u-M)/(gt()-rt)*le&&(p=1e-4),p!==d&&Te.enabled){if(a=(s=(n=Te.isActive=!!p&&p<1)!=(!!d&&d<1))||!!p!=!!d,Te.direction=d<p?1:-1,Te.progress=p,a&&!nt&&(o=p&&!d?0:1===p?1:1===d?2:3,ve&&(i=!s&&"none"!==we[o+1]&&we[o+1]||we[o],c=C&&("complete"===i||"reset"===i||i in C))),ge&&(s||c)&&
vendor: 16,795 bytes, lines 15200-15297
15200(c||ne||!C)&&(La(ge)?ge(Te):Te.getTrailing(ge).forEach(function(e){return e.endAnimation()})),ve||(!q||nt||dt?C&&C.totalProgress(p,!!nt):(q._dp._time-q._start!==q._time&&q.render(q._dp._time-q._start),q.resetTo?q.resetTo("totalProgress",p,C._tTime/C._tDur):(q.vars.totalProgress=p,q.invalidate().restart()))),ie)if(e&&ae&&(N.style[ae+he.os2]=m),ye){if(a){if(l=!e&&d<p&&u<O+1&&u+1>=Ia(be,he),fe)if(e||!n&&!l)ec(ie,N);else{var g=Mt(ie,!0),h=u-P;ec(ie,Ge,g.top+(he===Ke?h:0)+kt,g.left+(he===Ke?0:h)+kt)}Rt(n||l?Y:F),j&&p<1&&n||b(W+(1!==p||l?0:H))}}else b(Ba(W+H*p));!ue||E.tween||nt||dt||V.restart(!0),ee&&(s||ce&&p&&(p<1||!ct))&&et(ee.targets).forEach(function(e){return e.classList[n||ce?"add":"remove"](ee.className)}),!Q||ve||e||Q(Te),a&&!nt?(ve&&(c&&("complete"===i?C.pause().totalProgress(1):"reset"===i?C.restart(!0).pause():"restart"===i?C.restart(!0):C[i]()),Q&&Q(Te)),!s&&ct||(te&&s&&Pa(Te,te),xe[o]&&Pa(Te,xe[o]),ce&&(1===p?Te.kill(!1,1):xe[o]=0),s||xe[o=1===p?1:3]&&Pa(Te,xe[o])),de&&!n&&Math.abs(Te.getVelocity())>(Ma(de)?de:2500)&&(Oa(Te.callbackAnimation),q?q.progress(1):Oa(C,"reverse"===i?1:!p,1))):ve&&Q&&!nt&&Q(Te)}if(x){var v=pe?u/pe.duration()*(pe._caScrollDist||0):u;y(v+(D._isFlipped?1:0)),x(v)}T&&T(-u/pe.duration()*(pe._caScrollDist||0))}},Te.enable=function(e,t){Te.enabled||(Te.enabled=!0,ob(be,"resize",Db),ob(me?je:be,"scroll",Bb),Se&&ob(ScrollTrigger,"refreshInit",Se),!1!==e&&(Te.progress=G=0,k=M=ke=Pe()),!1!==t&&Te.refresh())},Te.getTween=function(e){return e&&E?E.tween:q},Te.setPositions=function(e,t){ie&&(W+=e-P,H+=t-e-L,ae===St&&Te.adjustPinSpacing(t-e-L)),Te.start=P=e,Te.end=O=t,L=t-e,Te.update()},Te.adjustPinSpacing=function(e){if(U){var t=U.indexOf(he.d)+1;U[t]=parseFloat(U[t])+e+kt,U[1]=parseFloat(U[1])+e+kt,Rt(U)}},Te.disable=function(e,t){if(Te.enabled&&(!1!==e&&Te.revert(!0,!0),Te.enabled=Te.isActive=!1,t||q&&q.pause(),Z=0,n&&(n.uncache=1),Se&&pb(ScrollTrigger,"refreshInit",Se),V&&(V.pause(),E.tween&&E.tween.kill()&&(E.tween=0)),!me)){for(var r=At.length;r--;)if(At[r].scroller===be&&At[r]!==Te)return;pb(be,"resize",Db),pb(be,"scroll",Bb)}},Te.kill=function(e,t){Te.disable(e,t),q&&!t&&q.kill(),a&&delete Bt[a];var r=At.indexOf(Te);0<=r&&At.splice(r,1),r===it&&0<Lt&&it--,r=0,At.forEach(function(e){return e.scroller===Te.scroller&&(r=1)}),r||ut||(Te.scroll.rec=0),C&&(C.scrollTrigger=null,e&&C.revert({kill:!1}),t||C.kill()),A&&[A,B,D,I].forEach(function(e){return e.parentNode&&e.parentNode.removeChild(e)}),pt===Te&&(pt=0),ie&&(n&&(n.uncache=1),r=0,At.forEach(function(e){return e.pin===ie&&r++}),r||(n.spacer=0)),S.onKill&&S.onKill(Te)},Te.enable(!1,!1),i&&i(Te),C&&C.add&&!L?He.delayedCall(.01,function(){return P||O||Te.refresh()})&&(L=.01)&&(P=O=0):Te.refresh(),ie&&function _queueRefreshAll(){if(ft!==Dt){var e=ft=Dt;requestAnimationFrame(function(){return e===Dt&&It(!0)})}}()}else this.update=this.refresh=this.kill=Aa},ScrollTrigger.register=function register(e){return s||(He=e||Da(),Ca()&&window.document&&ScrollTrigger.enable(),s=vt),s},ScrollTrigger.defaults=function defaults(e){if(e)for(var t in e)Ot[t]=e[t];return Ot},ScrollTrigger.disable=function disable(t,r){vt=0,At.forEach(function(e){return e[r?"kill":"disable"](t)}),pb(Je,"wheel",Bb),pb(je,"scroll",Bb),clearInterval(u),pb(je,"touchcancel",Aa),pb(Ge,"touchstart",Aa),nb(pb,je,"pointerdown,touchstart,mousedown",ya),nb(pb,je,"pointerup,touchend,mouseup",za),c.kill(),Ja(pb);for(var e=0;e<ze.length;e+=3)qb(pb,ze[e],ze[e+1]),qb(pb,ze[e],ze[e+2])},ScrollTrigger.enable=function enable(){if(Je=window,je=document,qe=je.documentElement,Ge=je.body,He&&(et=He.utils.toArray,tt=He.utils.clamp,lt=He.core.context||Aa,st=He.core.suppressOverwrites||Aa,x=Je.history.scrollRestoration||"auto",He.core.globals("ScrollTrigger",ScrollTrigger),Ge)){vt=1,E.register(He),ScrollTrigger.isTouch=E.isTouch,k=E.isTouch&&/(iPad|iPhone|iPod|Mac)/g.test(navigator.userAgent),ob(Je,"wheel",Bb),l=[Je,je,qe,Ge],He.matchMedia?(ScrollTrigger.matchMedia=function(e){var t,r=He.matchMedia();for(t in e)r.add(t,e[t]);return r},He.addEventListener("matchMediaInit",function(){return Kb()}),He.addEventListener("matchMediaRevert",function(){return Jb()}),He.addEventListener("matchMedia",function(){It(0,1),W("matchMedia")}),He.matchMedia("(orientation: portrait)",function(){return Cb(),Cb})):console.warn("Requires GSAP 3.11.0 or later"),Cb(),ob(je,"scroll",Bb);var e,t,r=Ge.style,n=r.borderTopStyle,o=He.core.Animation.prototype;for(o.revert||Object.defineProperty(o,"revert",{value:function value(){return this.time(-.01,!0)}}),r.borderTopStyle="solid",e=Mt(Ge),Ke.m=Math.round(e.top+Ke.sc())||0,Xe.m=Math.round(e.left+Xe.sc())||0,n?r.borderTopStyle=n:r.removeProperty("border-top-style"),u=setInterval(Ab,250),He.delayedCall(.5,function(){return dt=0}),ob(je,"touchcancel",Aa),ob(Ge,"touchstart",Aa),nb(ob,je,"pointerdown,touchstart,mousedown",ya),nb(ob,je,"pointerup,touchend,mouseup",za),f=He.utils.checkPrefix("transform"),V.push(f),s=gt(),c=He.delayedCall(.2,It).pause(),g=[je,"visibilitychange",function(){var e=Je.innerWidth,t=Je.innerHeight;je.hidden?(p=e,d=t):p===e&&d===t||Db()},je,"DOMContentLoaded",It,Je,"load",It,Je,"resize",Db],Ja(ob),At.forEach(function(e){return e.enable(0,1)}),t=0;t<ze.length;t+=3)qb(pb,ze[t],ze[t+1]),qb(pb,ze[t],ze[t+2])}},ScrollTrigger.config=function config(e){"limitCallbacks"in e&&(ct=!!e.limitCallbacks);var t=e.syncInterval;t&&clearInterval(u)||(u=t)&&setInterval(Ab,t),"ignoreMobileResize"in e&&(b=1===ScrollTrigger.isTouch&&e.ignoreMobileResize),"autoRefreshEvents"in e&&(Ja(pb)||Ja(ob,e.autoRefreshEvents||"none"),h=-1===(e.autoRefreshEvents+"").indexOf("resize"))},ScrollTrigger.scrollerProxy=function scrollerProxy(e,t){var r=J(e),n=ze.indexOf(r),o=Ea(r);~n&&ze.splice(n,o?6:2),t&&(o?Fe.unshift(Je,t,Ge,t,qe,t):Fe.unshift(r,t))},ScrollTrigger.clearMatchMedia=function clearMatchMedia(t){At.forEach(function(e){return e._ctx&&e._ctx.query===t&&e._ctx.kill(!0,!0)})},ScrollTrigger.isInViewport=function isInViewport(e,t,r){var n=(Ka(e)?J(e):e).getBoundingClientRect(),o=n[r?mt:yt]*t||0;return r?0<n.right-o&&n.left+o<Je.innerWidth:0<n.bottom-o&&n.top+o<Je.innerHeight},ScrollTrigger.positionInViewport=function positionInViewport(e,t,r){Ka(e)&&(e=J(e));var n=e.getBoundingClientRect(),o=n[r?mt:yt],i=null==t?o/2:t in I?I[t]*o:~t.indexOf("%")?parseFloat(t)*o/100:parseFloat(t)||0;return r?(n.left+i)/Je.innerWidth:(n.top+i)/Je.innerHeight},ScrollTrigger.killAll=function killAll(e){if(At.slice(0).forEach(function(e){return"ScrollSmoother"!==e.vars.id&&e.kill()}),!0!==e){var t=Y.killAll||[];Y={},t.forEach(function(e){return e()})}},ScrollTrigger);function ScrollTrigger(e,t){s||ScrollTrigger.register(He)||console.warn("Please gsap.registerPlugin(ScrollTrigger)"),this.init(e,t)}Q.version="3.11.4",Q.saveStyles=function(e){return e?et(e).forEach(function(e){if(e&&e.style){var t=H.indexOf(e);0<=t&&H.splice(t,5),H.push(e,e.style.cssText,e.getBBox&&e.getAttribute("transform"),He.core.getCache(e),lt())}}):H},Q.revert=function(e,t){return Kb(!e,t)},Q.create=function(e,t){return new Q(e,t)},Q.refresh=function(e){return e?Db():(s||Q.register())&&It(!0)},Q.update=function(e){return++ze.cache&&j(!0===e?2:0)},Q.clearScrollMemory=Lb,Q.maxScroll=function(e,t){return Ia(e,t?Xe:Ke)},Q.getScrollFunc=function(e,t){return K(J(e),t?Xe:Ke)},Q.getById=function(e){return Bt[e]},Q.getAll=function(){return At.filter(function(e){return"ScrollSmoother"!==e.vars.id})},Q.isScrolling=function(){return!!ht},Q.snapDirectional=lb,Q.addEventListener=function(e,t){var r=Y[e]||(Y[e]=[]);~r.indexOf(t)||r.push(t)},Q.removeEventListener=function(e,t){var r=Y[e],n=r&&r.indexOf(t);0<=n&&r.splice(n,1)},Q.batch=function(e,t){function Io(e,t){var r=[],n=[],o=He.delayedCall(i,function(){t(r,n),r=[],n=[]}).pause();return function(e){r.length||o.restart(!0),r.push(e.trigger),n.push(e),a<=r.length&&o.progress(1)}}var r,n=[],o={},i=t.interval||.016,a=t.batchMax||1e9;for(r in t)o[r]="on"===r.substr(0,2)&&La(t[r])&&"onRefreshInit"!==r?Io(0,t[r]):t[r];return La(a)&&(a=a(),ob(Q,"refresh",function(){return a=t.batchMax()})),et(e).forEach(function(e){var t={};for(r in o)t[r]=o[r];t.trigger=e,n.push(Q.create(t))}),n};function hc(e,t,r,n){return n<t?e(n):t<0&&e(0),n<r?(n-t)/(r-t):r<0?t/(t-r):1}function ic(e,t){!0===t?e.style.removeProperty("touch-action"):e.style.touchAction=!0===t?"auto":t?"pan-"+t+(E.isTouch?" pinch-zoom":""):"none",e===qe&&ic(Ge,t)}function kc(e){var t,r=e.event,n=e.target,o=e.axis,i=(r.changedTouches?r.changedTouches[0]:r).target,a=i._gsap||He.core.getCache(i),s=gt();if(!a._isScrollT||2e3<s-a._isScrollT){for(;i&&i!==Ge&&(i.scrollHeight<=i.clientHeight&&i.scrollWidth<=i.clientWidth||!te[(t=eb(i)).overflowY]&&!te[t.overflowX]);)i=i.parentNode;a._isScroll=i&&i!==n&&!Ea(i)&&(te[(t=eb(i)).overflowY]||te[t.overflowX]),a._isScrollT=s}!a._isScroll&&"x"!==o||(r.stopPropagation(),r._gsapAllow=!0)}function lc(e,t,r,n){return E.create({target:e,capture:!0,debounce:!1,lockAxis:!0,type:t,onWheel:n=n&&kc,onPress:n,onDrag:n,onScroll:n,onEnable:function onEnable(){return r&&ob(je,E.eventTypes[0],ne,!1,!0)},onDisable:function onDisable(){return pb(je,E.eventTypes[0],ne,!0)}})}function pc(e){function Ep(){return o=!1}function Hp(){i=Ia(p,Ke),S=tt(k?1:0,i),f&&(T=tt(0,Ia(p,Xe))),l=Dt}function Ip(){h._gsap.y=Ba(parseFloat(h._gsap.y)+v.offset)+"px",h.style.transform="matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, "+parseFloat(h._gsap.y)+", 0, 1)",v.offset=v.cacheID=0}function Op(){Hp(),a.isActive()&&a.vars.scrollY>i&&(v()>i?a.progress(1)&&v(i):a.resetTo("scrollY",i))}Na(e)||(e={}),e.preventDefault=e.isNormalizer=e.allowClicks=!0,e.type||(e.type="wheel,touch"),e.debounce=!!e.debounce,e.id=e.id||"normalizer";var n,i,l,o,a,c,u,s,f=e.normalizeScrollX,t=e.momentum,r=e.allowNestedScroll,p=J(e.target)||qe,d=He.core.globals().ScrollSmoother,g=d&&d.get(),h=k&&(e.content&&J(e.content)||g&&!1!==e.content&&!g.smooth()&&g.content()),v=K(p,Ke),b=K(p,Xe),m=1,y=(E.isTouch&&Je.visualViewport?Je.visualViewport.scale*Je.visualViewport.width:Je.outerWidth)/Je.innerWidth,x=0,w=La(t)?function(){return t(n)}:function(){return t||2.8},_=lc(p,e.type,!0,r),T=Aa,S=Aa;return h&&He.set(h,{y:"+=0"}),e.ignoreCheck=function(e){return k&&"touchmove"===e.type&&function ignoreDrag(){if(o){requestAnimationFrame(Ep);var e=Ba(n.deltaY/2),t=S(v.v-e);if(h&&t!==v.v+v.offset){v.offset=t-v.v;var r=Ba((parseFloat(h&&h._gsap.y)||0)-v.offset);h.style.transform="matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, "+r+", 0, 1)",h._gsap.y=r+"px",v.cacheID=ze.cache,j()}return!0}v.offset&&Ip(),o=!0}()||1.05<m&&"touchstart"!==e.type||n.isGesturing||e.touches&&1<e.touches.length},e.onPress=function(){var e=m;m=Ba((Je.visualViewport&&Je.visualViewport.scale||1)/y),a.pause(),e!==m&&ic(p,1.01<m||!f&&"x"),c=b(),u=v(),Hp(),l=Dt},e.onRelease=e.onGestureStart=function(e,t){if(v.offset&&Ip(),t){ze.cache++;var r,n,o=w();f&&(n=(r=b())+.05*o*-e.velocityX/.227,o*=hc(b,r,n,Ia(p,Xe)),a.vars.scrollX=T(n)),n=(r=v())+.05*o*-e.velocityY/.227,o*=hc(v,r,n,Ia(p,Ke)),a.vars.scrollY=S(n),a.invalidate().duration(o).play(.01),(k&&a.vars.scrollY>=i||i-1<=r)&&He.to({},{onUpdate:Op,duration:o})}else s.restart(!0)},e.onWheel=function(){a._ts&&a.pause(),1e3<gt()-x&&(l=0,x=gt())},e.onChange=function(e,t,r,n,o){if(Dt!==l&&Hp(),t&&f&&b(T(n[2]===t?c+(e.startX-e.x):b()+t-n[1])),r){v.offset&&Ip();var i=o[2]===r,a=i?u+e.startY-e.y:v()+r-o[1],s=S(a);i&&a!==s&&(u+=s-a),v(s)}(r||t)&&j()},e.onEnable=function(){ic(p,!f&&"x"),Q.addEventListener("refresh",Op),ob(Je,"resize",Op),v.smooth&&(v.target.style.scrollBehavior="auto",v.smooth=b.smooth=!1),_.enable()},e.onDisable=function(){ic(p,!0),pb(Je,"resize",Op),Q.removeEventListener("refresh",Op),_.kill()},e.lockAxis=!1!==e.lockAxis,((n=new E(e)).iOS=k)&&!v()&&v(1),k&&He.ticker.add(Aa),s=n._dc,a=He.to(n,{ease:"power4",paused:!0,scrollX:f?"+=0.1":"+=0",scrollY:"+=0.1",onComplete:s.vars.onComplete}),n}var ee,te={auto:1,scroll:1},re=/(input|label|select|textarea)/i,ne=function _captureInputs(e){var t=re.test(e.target.tagName);(t||ee)&&(e._gsapAllow=!0,ee=t)};Q.sort=function(e){return At.sort(e||function(e,t){return-1e6*(e.vars.refreshPriority||0)+e.start-(t.start+-1e6*(t.vars.refreshPriority||0))})},Q.observe=function(e){return new E(e)},Q.normalizeScroll=function(e){if(void 0===e)return v;if(!0===e&&v)return v.enable();if(!1===e)return v&&v.kill();var t=e instanceof E?e:pc(e);return v&&v.target===t.target&&v.kill(),Ea(t.target)&&(v=t),t},Q.core={_getVelocityProp:L,_inputObserver:lc,_scrollers:ze,_proxies:Fe,bridge:{ss:function ss(){ht||W("scrollStart"),ht=gt()},ref:function ref(){return nt}}},Da()&&He.registerPlugin(Q),e.ScrollTrigger=Q,e.default=Q;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}});
15201
15202
15203/* End */
15204;
15205; /* Start:"a:4:{s:4:"full";s:73:"/local/templates/culture/build/js/notifications-header.js?176656724411358";s:6:"source";s:57:"/local/templates/culture/build/js/notifications-header.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
15206/**
15207 * Скрипт для обновления уведомлений в header
15208 * Динамически обновляет счетчик и список уведомлений без перезагрузки страницы
15209 */
15210
15211(function() {
15212    'use strict';
15213
15214    const NotificationsHeader = {
15215        // Конфигурация
15216        config: {
15217            updateInterval: 30000, // Обновлять каждые 30 секунд
15218            ajaxUrl: '/local/ajax/get_notifications.php',
15219            containerSelector: '.personal-notifications',
15220            countSelector: '.personal-notifications__count',
15221            listSelector: '.personal-notifications__list',
15222            dropdownSelector: '.personal-notifications__dropdown',
15223            emptyMessageSelector: '.personal-notifications__empty'
15224        },
15225
15226        // Инициализация
15227        init: function() {
15228            if (!this.isAuthorized()) {
15229                return;
15230            }
15231
15232            // Устанавливаем автоматическое обновление
15233            this.setupAutoUpdate();
15234
15235            // Добавляем обработчик для обновления при открытии dropdown
15236            this.setupDropdownHandler();
15237        },
15238
15239        // Проверяем авторизацию
15240        isAuthorized: function() {
15241            return typeof BX !== 'undefined' && BX.bitrix_sessid &&
15242                   document.querySelector(this.config.containerSelector) !== null;
15243        },
15244
15245        // Настройка автоматического обновления
15246        setupAutoUpdate: function() {
15247            const self = this;
15248
15249            // Обновляем сразу при загрузке
15250            this.updateNotifications();
15251
15252            // Затем обновляем периодически
15253            setInterval(function() {
15254                self.updateNotifications();
15255            }, this.config.updateInterval);
15256
15257            // Обновляем при видимости страницы (когда пользователь вернулся на вкладку)
15258            if (typeof document.hidden !== 'undefined') {
15259                document.addEventListener('visibilitychange', function() {
15260                    if (!document.hidden) {
15261                        self.updateNotifications();
15262                    }
15263                });
15264            }
15265        },
15266
15267        // Настройка обработчика dropdown
15268        setupDropdownHandler: function() {
15269            const self = this;
15270            const container = document.querySelector(this.config.containerSelector);
15271
15272            if (!container) {
15273                return;
15274            }
15275
15276            // При клике на trigger открываем/закрываем dropdown
15277            const trigger = container.querySelector('.personal-notifications__trigger');
15278            const dropdown = container.querySelector(this.config.dropdownSelector);
15279
15280            if (trigger && dropdown) {
15281                trigger.addEventListener('click', function(e) {
15282                    e.stopPropagation();
15283                    dropdown.classList.toggle('is-active');
15284                    self.updateNotifications();
15285                });
15286            }
15287
15288            // Закрываем dropdown при клике вне элемента
15289            document.addEventListener('click', function(e) {
15290                if (!container.contains(e.target) && dropdown && dropdown.classList.contains('is-active')) {
15291                    dropdown.classList.remove('is-active');
15292                }
15293            });
15294
15295            // Закрываем dropdown при клике на элементы внутри
15296            if (dropdown) {
15297                const items = dropdown.querySelectorAll('.personal-notifications__item');
15298                items.forEach(item => {
15299                    item.addEventListener('click', function(e) {
15300                        if (e.target.tagName === 'A') {
15301                            dropdown.classList.remove('is-active');
15302                        }
15303                    });
15304                });
15305            }
15306        },
15307
15308        // Получить уведомления с сервера
15309        updateNotifications: function() {
15310            const self = this;
15311
15312            fetch(this.config.ajaxUrl, {
15313                method: 'GET',
15314                credentials: 'include',
15315                headers: {
15316                    'X-Requested-With': 'XMLHttpRequest'
15317                }
15318            })
15319            .then(response => {
15320                // Проверяем статус ответа
15321                if (!response.ok) {
15322                    throw new Error(`HTTP error! status: ${response.status}`);
15323                }
15324                // Проверяем тип контента
15325                const contentType = response.headers.get('content-type');
15326                if (!contentType || !contentType.includes('application/json')) {
15327                    throw new Error('Invalid response format: expected JSON');
15328                }
15329                return response.json();
15330            })
15331            .then(data => {
15332                if (data && data.success) {
15333                    self.updateUI(data);
15334                } else if (data && data.error) {
15335                    console.warn('Notification API error:', data.error);
15336                }
15337            })
15338            .catch(error => {
15339                console.error('Error fetching notifications:', error);
15340                // Пытаемся использовать fallback
15341                self.tryFallbackUrl();
15342            });
15343        },
15344
15345        // Fallback URL если основной не работает
15346        tryFallbackUrl: function() {
15347            const self = this;
15348            const fallbackUrl = '/local/ajax/get_notifications_fallback.php';
15349
15350            if (this.config.ajaxUrl === fallbackUrl) {
15351                // Если уже пытались fallback, не повторяем
15352                return;
15353            }
15354
15355            console.log('Trying fallback notifications URL...');
15356            this.config.ajaxUrl = fallbackUrl;
15357
15358            fetch(fallbackUrl, {
15359                method: 'GET',
15360                credentials: 'include',
15361                headers: {
15362                    'X-Requested-With': 'XMLHttpRequest'
15363                }
15364            })
15365            .then(response => {
15366                if (!response.ok) {
15367                    throw new Error(`HTTP error! status: ${response.status}`);
15368                }
15369                return response.json();
15370            })
15371            .then(data => {
15372                if (data && data.success) {
15373                    self.updateUI(data);
15374                }
15375            })
15376            .catch(error => {
15377                console.error('Error fetching notifications from fallback:', error);
15378                // Продолжаем работу сайта даже если уведомления не загружаются
15379            });
15380        },
15381
15382        // Обновить интерфейс
15383        updateUI: function(data) {
15384            // Обновляем счетчик
15385            this.updateCounter(data.unreadCount);
15386
15387            // Обновляем список уведомлений
15388            if (data.notifications && data.notifications.length > 0) {
15389                this.updateNotificationsList(data.notifications);
15390            } else {
15391                this.showEmptyMessage();
15392            }
15393        },
15394
15395        // Обновить счетчик
15396        updateCounter: function(count) {
15397            const counter = document.querySelector(this.config.countSelector);
15398            if (counter) {
15399                counter.textContent = count;
15400
15401                // Скрываем счётчик если 0, показываем если > 0
15402                if (count > 0) {
15403                    counter.style.display = '';
15404                    counter.classList.add('has-notifications');
15405                    counter.classList.remove('has-no-notifications');
15406                } else {
15407                    counter.style.display = 'none';
15408                    counter.classList.remove('has-notifications');
15409                    counter.classList.add('has-no-notifications');
15410                }
15411            }
15412        },
15413
15414        // Обновить список уведомлений
15415        updateNotificationsList: function(notifications) {
15416            const list = document.querySelector(this.config.listSelector);
15417            const empty = document.querySelector(this.config.emptyMessageSelector);
15418            const dropdown = document.querySelector(this.config.dropdownSelector);
15419
15420            if (!list) {
15421                return;
15422            }
15423
15424            // Скрываем сообщение об отсутствии уведомлений
15425            if (empty) {
15426                empty.classList.remove('is-active');
15427            }
15428
15429
15430            // Очищаем список
15431            list.innerHTML = '';
15432
15433            // Добавляем уведомления
15434            notifications.forEach(notification => {
15435                const item = this.createNotificationItem(notification);
15436                list.appendChild(item);
15437            });
15438        },
15439
15440        // Создать элемент уведомления
15441        createNotificationItem: function(notification) {
15442            const div = document.createElement('div');
15443            const readClass = notification.isRead ? 'personal-notifications__item--read' : 'personal-notifications__item--unread';
15444
15445            div.className = `personal-notifications__item ${readClass}`;
15446
15447            let html = `
15448                <div class="personal-notifications__item-title">
15449                    ${notification.name}
15450                </div>
15451                <div class="personal-notifications__item-status">
15452                    Статус: ${notification.status}
15453                </div>
15454            `;
15455
15456            if (notification.section) {
15457                html += `
15458                    <div class="personal-notifications__item-section">
15459                        Раздел: ${notification.section}
15460                    </div>
15461                `;
15462            }
15463
15464            html += `
15465                <div class="personal-notifications__item-date">
15466                    ${notification.date}
15467                </div>
15468            `;
15469
15470            div.innerHTML = html;
15471            return div;
15472        },
15473
15474        // Показать сообщение об отсутствии уведомлений
15475        showEmptyMessage: function() {
15476            const list = document.querySelector(this.config.listSelector);
15477            const empty = document.querySelector(this.config.emptyMessageSelector);
15478
15479            if (list) {
15480                list.innerHTML = '';
15481            }
15482
15483            if (empty) {
15484                empty.classList.add('is-active');
15485            }
15486        }
15487    };
15488
15489    // Инициализируем при готовности DOM
15490    if (document.readyState === 'loading') {
15491        document.addEventListener('DOMContentLoaded', function() {
15492            NotificationsHeader.init();
15493        });
15494    } else {
15495        NotificationsHeader.init();
15496    }
15497
15498    // Экспортируем для использования в других скриптах
15499    window.NotificationsHeader = NotificationsHeader;
15500})();
15501
15502
15503/* End */
15504;
15505; /* Start:"a:4:{s:4:"full";s:81:"/local/templates/culture/build/js/page/components/personalSelect.js?1766567244988";s:6:"source";s:67:"/local/templates/culture/build/js/page/components/personalSelect.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
15506"use strict";
15507
15508/**
15509 * Инициализация селект
15510 *
15511 * @id идентификатор элемента, указывать без #, text
15512 * @placeholder условная информация (Например: 'Выберите ...'), text
15513 * @allowClear крестик для очистки поля, по дефолту false, boolean
15514 * @multiple множественный выбор, по дефолту false, boolean
15515 * @nothingFound сообщение, если ничего не найдено, text
15516 */
15517function personalSelect(select) {
15518  var $select = $('#' + select.id);
15519  $select.select2({
15520    placeholder: select.placeholder || 'Выбрать',
15521    multiple: select.multiple,
15522    allowClear: select.allowClear,
15523    data: select.data,
15524    language: {
15525      noResults: function noResults() {
15526        return select.nothingFound || "Нет результатов";
15527      }
15528    },
15529    dropdownCssClass: 'personal__select-dropdown'
15530  }).val('').trigger('change');
15531}
15532/* End */
15533;
15534; /* Start:"a:4:{s:4:"full";s:82:"/local/templates/culture/build/js/page/components/personalPicker.js?17665672443432";s:6:"source";s:67:"/local/templates/culture/build/js/page/components/personalPicker.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
15535"use strict";
15536
15537/**
15538 * Инициализация календаря
15539 *
15540 * @id идентификатор элемента, указывать без #, text
15541 * @showAnim анимационное отображение календаря, text
15542 * @buttonImageName наименование иконки, text
15543 * @buttonImageOnly отображение тела кнопки, boolean
15544 * @buttonText текст по наведению на кнопку, text
15545 * @dateFormat формат даты, text
15546 * @maxDate максимальное количество дней, text
15547 * @showOtherMonths отображать номера дней предыдущего и следующего месяцев, по дефолту false, boolean
15548 * @showButtonPanel отображение нижней панели с кнопками, по дефолту false, boolean
15549 * @mask маска для поля, boolean
15550 * @path путь до папки build
15551 */
15552function personalPicker(picker) {
15553  var $picker = $('#' + picker.id);
15554  var $mask = picker.mask ? picker.mask : false;
15555  var months = ['января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'];
15556  var getDate = function getDate(date) {
15557    var month = months[date.getMonth()];
15558    var onlyDate = date.getDate() >= 10 ? date.getDate() : "0".concat(date.getDate());
15559    return "".concat(onlyDate, " ").concat(month, " ").concat(date.getFullYear());
15560  };
15561  var addPrevNextYearButtons = function addPrevNextYearButtons(input) {
15562    setTimeout(function () {
15563      var btnPrev = $("<a title='Предыдущий год'><span></span></a>");
15564      var changeYear = $.datepicker._curInst.drawYear;
15565      btnPrev.addClass("ui-datepicker-prev-year ui-corner-all");
15566      btnPrev.click(function () {
15567        $.datepicker._adjustDate(input, -1, 'Y');
15568      });
15569      var btnNext = $("<a title='Следующий год'><span></span></a>");
15570      btnNext.addClass("ui-datepicker-next-year ui-corner-all");
15571      if (changeYear < new Date().getFullYear()) {
15572        btnNext.click(function () {
15573          $.datepicker._adjustDate(input, 1, 'Y');
15574        });
15575      } else {
15576        btnNext.addClass("ui-state-disabled");
15577      }
15578      var datepickerHeader = $(input).datepicker("widget").find('.ui-datepicker-header');
15579      datepickerHeader.append(btnPrev);
15580      datepickerHeader.append(btnNext);
15581    }, 1);
15582  };
15583  $picker.datepicker({
15584    showOn: "both",
15585    buttonImage: "/build/img/icons/icons.svg#".concat(picker.buttonImageName || 'calendar'),
15586    buttonImageOnly: picker.buttonImageOnly ? picker.buttonImageOnly : false,
15587    buttonText: picker.buttonText || "Календарь",
15588    dateFormat: picker.dateFormat ? picker.dateFormat : 'dd M yy',
15589    maxDate: picker.maxDate ? picker.maxDate : '0',
15590    showOtherMonths: picker.showOtherMonths ? picker.showOtherMonths : false,
15591    showButtonPanel: picker.showButtonPanel ? picker.showButtonPanel : false,
15592    monthNamesShort: months,
15593    setDate: 'today',
15594    prevText: 'Предыдущий',
15595    nextText: 'Следующий',
15596    beforeShow: function beforeShow(input) {
15597      addPrevNextYearButtons(input);
15598    },
15599    onChangeMonthYear: function onChangeMonthYear(year, month, inst) {
15600      addPrevNextYearButtons(inst.input[0]);
15601    }
15602  });
15603  if ($mask) {
15604    $picker.datepicker().mask("99.99.9999");
15605  }
15606}
15607/* End */
15608;
15609; /* Start:"a:4:{s:4:"full";s:78:"/local/templates/culture/build/js/page/components/chatBotMod.js?17665672446701";s:6:"source";s:63:"/local/templates/culture/build/js/page/components/chatBotMod.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
15610"use strict";
15611
15612// Проверяем, что jQuery загружен
15613if (typeof $ === 'undefined') {
15614    console.error('ChatBot: jQuery не загружен!');
15615} else {
15616    // Инициализация с jQuery
15617    var $chatBot, $chatBotIcon, $chatBotForm, $chatBotBodyChat, $chatBotTextArea;
15618    var chatBotOpen = 'chat-bot__open';
15619    var dNone = 'd-none';
15620    var textAreaChat = 'chat-bot__textarea-chat';
15621    var $chatBotSelect = $('.chat-bot .personal__select');
15622    var $overlay = $('.modal-overlay');
15623    var overlayMobile = 'overlay-mobile';
15624    var chatBotSelectObject = {
15625      id: 'chat-bot-select',
15626      placeholder: 'Тема',
15627      allowClear: true,
15628      nothingFound: 'Ничего не найдено'
15629    };
15630    var fieldError = 'field-error';
15631    var botSelect = '';
15632    
15633    $(document).ready(function () {
15634      // Ищем элементы после загрузки DOM
15635      $chatBot = $('.chat-bot');
15636      $chatBotIcon = $('.chat-bot .chat-bot__icon');
15637      $chatBotForm = $('#chat-bot-form');
15638      $chatBotBodyChat = $('.chat-bot .chat-bot__body-chat');
15639      $chatBotTextArea = $('.chat-bot .chat-bot__textarea');
15640      
15641      console.log('ChatBot: jQuery ready, elements found:', {
15642        chatBot: $chatBot.length,
15643        chatBotIcon: $chatBotIcon.length,
15644        chatBotForm: $chatBotForm.length
15645      });
15646      
15647      // Проверяем, что элементы найдены
15648      if ($chatBot.length === 0) {
15649        console.log('ChatBot: Элементы не найдены, возможно чат-бот скрыт');
15650        return;
15651      }
15652  
15653  $chatBotIcon.click(function () {
15654    console.log('ChatBot: Icon clicked');
15655    $chatBot.addClass(chatBotOpen);
15656    $chatBotIcon.addClass(dNone);
15657    $chatBotForm.removeClass(dNone);
15658    $overlay.addClass(overlayMobile);
15659    personalSelect(chatBotSelectObject);
15660  });
15661  var $chatBotClose = $('.chat-bot .chat-bot__close, .chat-bot .chat-bot__cancel, .modal-overlay');
15662  $chatBotClose.click(function () {
15663    $chatBot.removeClass(chatBotOpen);
15664    $chatBotIcon.removeClass(dNone);
15665    $chatBotForm.addClass(dNone);
15666    $chatBotBodyChat.addClass(dNone);
15667    $chatBotTextArea.removeClass(textAreaChat);
15668    $chatBotSelect.removeClass(dNone);
15669    $overlay.removeClass(overlayMobile);
15670    $chatBotBodyChat.empty();
15671    $chatBotForm[0].reset();
15672    botSelect = '';
15673  });
15674  var $wrapText = $('.chat-bot__wrap-text');
15675  $('#chat-bot-select').on('change', function () {
15676    $('.chat-bot .personal__select .select2-container .select2-selection--single').removeClass(fieldError);
15677    $('.chat-bot .personal__select .error').remove();
15678  });
15679  $chatBotForm.submit(function (e) {
15680    e.preventDefault();
15681    var chatUserValue;
15682    botSelect = $('#chat-bot-select').val();
15683    chatUserValue = $chatBotTextArea.val().trim();
15684    if (!botSelect) {
15685      $('.chat-bot .personal__select .error').remove();
15686      $('.chat-bot .personal__select .select2-container .select2-selection--single').addClass(fieldError);
15687      $chatBotSelect.append('<span class="error">Выберите тему обращения</span>');
15688      return;
15689    }
15690    if (!chatUserValue.length) {
15691      $('.chat-bot__wrap-text .error').remove();
15692      $wrapText.append('<span class="error">Введите текст сообщения</span>');
15693      $chatBotTextArea.addClass(fieldError);
15694      return;
15695    } else if (chatUserValue.length < 3) {
15696      $('.chat-bot__wrap-text .error').remove();
15697      $wrapText.append('<span class="error">Введите не менее 3 символов</span>');
15698      $chatBotTextArea.addClass(fieldError);
15699      return;
15700    }
15701    $('.chat-bot__wrap-text .error').remove();
15702    $chatBotTextArea.removeClass(fieldError);
15703    $chatBotBodyChat.removeClass(dNone);
15704    $chatBotTextArea.addClass(textAreaChat);
15705    $chatBotSelect.addClass(dNone);
15706    var userTextHtml = "<div class=\"body-chat__user\"><span class=\"d-block body-chat__user-text\"> \u0412\u043E\u043F\u0440\u043E\u0441: ".concat(chatUserValue, "</sapn></div>");
15707    setTimeout(function () {
15708      $chatBotBodyChat.append(userTextHtml);
15709      $chatBotBodyChat.scrollTop($chatBotBodyChat.prop('scrollHeight'));
15710    }, 1);
15711
15712    BX.ajax.runAction('rns:procultura.chatbot.getAnswer', {
15713      data: {
15714          fields: {
15715              theme: botSelect,
15716              text: chatUserValue
15717          } 
15718      }
15719    }).then(function (response) {
15720        var botTextHtml = '<div class="d-flex gap-8 body-chat__bot">' + 
15721        '<span class="d-flex body-chat__bot-icon">' + 
15722        '<img src="/local/templates/culture/build/img/icons/icons.svg#bot-icon" alt="bot">' + 
15723        '</span>' + 
15724        '<span class="d-block body-chat__bot-text">' + 
15725        'Ответ: ' + response.data.response +
15726        '</span>' + '</div>';
15727        setTimeout(function () {
15728          $chatBotBodyChat.append(botTextHtml);
15729          $chatBotBodyChat.scrollTop($chatBotBodyChat.prop('scrollHeight') - $('.body-chat__bot').prop('scrollHeight') - 50);
15730        }, 1000);
15731        $chatBotForm[0].reset();
15732    }, function (response) {
15733        console.log(response);
15734    });
15735  });
15736    }); // Закрываем блок jQuery
15737}
15738
15739// Альтернативная инициализация без jQuery
15740if (typeof $ === 'undefined') {
15741    document.addEventListener('DOMContentLoaded', function() {
15742        console.log('ChatBot: Инициализация без jQuery');
15743        
15744        var chatBot = document.querySelector('.chat-bot');
15745        var chatBotIcon = document.querySelector('.chat-bot .chat-bot__icon');
15746        var chatBotForm = document.getElementById('chat-bot-form');
15747        var overlay = document.querySelector('.modal-overlay');
15748        
15749        if (chatBotIcon && chatBotForm) {
15750            chatBotIcon.addEventListener('click', function() {
15751                console.log('ChatBot: Icon clicked (vanilla JS)');
15752                chatBot.classList.add('chat-bot__open');
15753                chatBotIcon.classList.add('d-none');
15754                chatBotForm.classList.remove('d-none');
15755                if (overlay) overlay.classList.add('overlay-mobile');
15756            });
15757            
15758            // Закрытие
15759            var closeButtons = document.querySelectorAll('.chat-bot .chat-bot__close, .chat-bot .chat-bot__cancel, .modal-overlay');
15760            closeButtons.forEach(function(btn) {
15761                btn.addEventListener('click', function() {
15762                    chatBot.classList.remove('chat-bot__open');
15763                    chatBotIcon.classList.remove('d-none');
15764                    chatBotForm.classList.add('d-none');
15765                    if (overlay) overlay.classList.remove('overlay-mobile');
15766                });
15767            });
15768        }
15769    });
15770}
15771/* End */
15772;; /* /local/templates/culture/build/js/jquery.js?1766567244293671*/
15773; /* /local/templates/culture/build/js/jquery-ui-datapicker.min.js?176656724436325*/
15774; /* /local/templates/culture/build/js/jquery-ui-datapicker-translate-ru.js?17665672441036*/
15775; /* /local/templates/culture/build/js/jquery.fancybox.min.js?176656724468253*/
15776; /* /local/templates/culture/build/js/jquery-ui-accordion.min.js?176656724451638*/
15777; /* /local/templates/culture/build/js/jquery.maskedinput.js?17665672447207*/
15778; /* /local/templates/culture/build/js/jquery.validate.min.js?176656724424601*/
15779; /* /local/templates/culture/build/js/select2.full.min.js?176656724475005*/
15780; /* /local/templates/culture/build/js/slick.min.js?176656724442863*/
15781; /* /local/templates/culture/build/js/bvi.js?176656724482847*/
15782; /* /local/templates/culture/build/js/page/getBvi.js?1766567244923*/
15783; /* /local/templates/culture/build/js/jquery.cookie.js?17665672443121*/
15784; /* /local/templates/culture/build/js/index.js?17665672442194*/
15785; /* /local/templates/culture/build/js/page/components/controllerSlider.js?17665672445462*/
15786; /* /local/templates/culture/build/js/page/components/imageZoom.js?17665672441425*/
15787; /* /local/templates/culture/build/js/page/components/mapOneObject.js?17665672442016*/
15788; /* /local/templates/culture/build/js/page/components/datepickerCustom.js?1766567244161*/
15789; /* /local/templates/culture/build/js/page/components/pushkinListWithSlider.js?17665672441004*/
15790; /* /local/templates/culture/build/js/page/components/pushkinStickyMenu.js?1766567244675*/
15791; /* /local/templates/culture/build/js/swiper/swiper-bundle.min.js?1766567244240246*/
15792; /* /local/templates/culture/build/js/spellchecker.js?17665672441484*/
15793; /* /local/templates/culture/build/js/svg.min.js?17665672444088*/
15794; /* /local/templates/culture/build/js/page/components/cookiePopup.js?17665672441496*/
15795; /* /local/templates/culture/build/js/shared/header.js?17665672445318*/
15796; /* /local/templates/culture/build/js/shared/svg-injector.min.js?176656724416755*/
15797; /* /local/templates/culture/build/js/shared/main.js?176656724415888*/
15798; /* /local/templates/culture/build/js/gsap.min.js?176656724471157*/
15799; /* /local/templates/culture/build/js/ScrollTrigger.min.js?176656724440596*/
15800; /* /local/templates/culture/build/js/notifications-header.js?176656724411358*/
15801; /* /local/templates/culture/build/js/page/components/personalSelect.js?1766567244988*/
15802; /* /local/templates/culture/build/js/page/components/personalPicker.js?17665672443432*/
15803; /* /local/templates/culture/build/js/page/components/chatBotMod.js?17665672446701*/

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.