PageSourceSearch

https://www.bundesakademie-trossingen.de/typo3temp/assets/compress…1ba85039b81b413e2653707f5176d.js?1787646252

js bundesakademie-trossingen.de collected 2026-10-02 04:25:50 UTC 133,408 bytes, 1,288 lines download raw bytes

vendor: 4,419 bytes, lines 1-4
1
2/*! modernizr 3.6.0 (Custom Build) | MIT *
3 * https://modernizr.com/download/?-audio-backgroundblendmode-backgroundsize-bgsizecover-borderimage-borderradius-boxshadow-boxsizing-canvas-cssanimations-csscalc-csscolumns-cssgradients-cssgrid_cssgridlegacy-csspointerevents-csspositionsticky-csstransforms-csstransforms3d-csstransformslevel2-csstransitions-cssvhunit-cssvmaxunit-cssvminunit-cssvwunit-flexbox-fontface-placeholder-rgba-svgfilters-textshadow-touchevents-video-videoautoplay-webgl-webp-webpalpha-setclasses !*/
4!function(A,e,t){function n(A,e){return typeof A===e}function o(){var A,e,t,o,a,r,i;for(var s in R)if(R.hasOwnProperty(s)){if(A=[],e=R[s],e.name&&(A.push(e.name.toLowerCase()),e.options&&e.options.aliases&&e.options.aliases.length))for(t=0;t<e.options.aliases.length;t++)A.push(e.options.aliases[t].toLowerCase());for(o=n(e.fn,"function")?e.fn():e.fn,a=0;a<A.length;a++)r=A[a],i=r.split("."),1===i.length?Modernizr[i[0]]=o:(!Modernizr[i[0]]||Modernizr[i[0]]instanceof Boolean||(Modernizr[i[0]]=new Boolean(Modernizr[i[0]])),Modernizr[i[0]][i[1]]=o),y.push((o?"":"no-")+i.join("-"))}}function a(A){var e=b.className,t=Modernizr._config.classPrefix||"";if(B&&(e=e.baseVal),Modernizr._config.enableJSClass){var n=new RegExp("(^|\\s)"+t+"no-js(\\s|$)");e=e.replace(n,"$1"+t+"js$2")}Modernizr._config.enableClasses&&(e+=" "+t+A.join(" "+t),B?b.className.baseVal=e:b.className=e)}function r(){return"function"!=typeof e.createElement?e.createElement(arguments[0]):B?e.createElementNS.call(e,"http://www.w3.org/2000/svg",arguments[0]):e.createElement.apply(e,arguments)}function i(e,t,n){var o;if("getComputedStyle"in A){o=getComputedStyle.call(A,e,t);var a=A.console;if(null!==o)n&&(o=o.getPropertyValue(n));else if(a){var r=a.error?"error":"log";a[r].call(a,"getComputedStyle returning null, its possible modernizr test results are inaccurate")}}else o=!t&&e.currentStyle&&e.currentStyle[n];return o}function s(A,e){return A-1===e||A===e||A+1===e}function l(A){return A.replace(/([a-z])-([a-z])/g,function(A,e,t){return e+t.toUpperCase()}).replace(/^-/,"")}function d(A,e){if("object"==typeof A)for(var t in A)C(A,t)&&d(t,A[t]);else{A=A.toLowerCase();var n=A.split("."),o=Modernizr[n[0]];if(2==n.length&&(o=o[n[1]]),"undefined"!=typeof o)return Modernizr;e="function"==typeof e?e():e,1==n.length?Modernizr[n[0]]=e:(!Modernizr[n[0]]||Modernizr[n[0]]instanceof Boolean||(Modernizr[n[0]]=new Boolean(Modernizr[n[0]])),Modernizr[n[0]][n[1]]=e),a([(e&&0!=e?"":"no-")+n.join("-")]),Modernizr._trigger(A,e)}return Modernizr}function c(){var A=e.body;return A||(A=r(B?"svg":"body"),A.fake=!0),A}function u(A,t,n,o){var a,i,s,l,d="modernizr",u=r("div"),p=c();if(parseInt(n,10))for(;n--;)s=r("div"),s.id=o?o[n]:d+(n+1),u.appendChild(s);return a=r("style"),a.type="text/css",a.id="s"+d,(p.fake?p:u).appendChild(a),p.appendChild(u),a.styleSheet?a.styleSheet.cssText=A:a.appendChild(e.createTextNode(A)),u.id=d,p.fake&&(p.style.background="",p.style.overflow="hidden",l=b.style.overflow,b.style.overflow="hidden",b.appendChild(p)),i=t(u,A),p.fake?(p.parentNode.removeChild(p),b.style.overflow=l,b.offsetHeight):u.parentNode.removeChild(u),!!i}function p(A,e){return!!~(""+A).indexOf(e)}function f(A,e){return function(){return A.apply(e,arguments)}}function h(A,e,t){var o;for(var a in A)if(A[a]in e)return t===!1?A[a]:(o=e[A[a]],n(o,"function")?f(o,t||e):o);return!1}function g(A){return A.replace(/([A-Z])/g,function(A,e){return"-"+e.toLowerCase()}).replace(/^ms-/,"-ms-")}function m(e,n){var o=e.length;if("CSS"in A&&"supports"in A.CSS){for(;o--;)if(A.CSS.supports(g(e[o]),n))return!0;return!1}if("CSSSupportsRule"in A){for(var a=[];o--;)a.push("("+g(e[o])+":"+n+")");return a=a.join(" or "),u("@supports ("+a+") { #modernizr { position: absolute; } }",function(A){return"absolute"==i(A,null,"position")})}return t}function w(A,e,o,a){function i(){d&&(delete V.style,delete V.modElem)}if(a=n(a,"undefined")?!1:a,!n(o,"undefined")){var s=m(A,o);if(!n(s,"undefined"))return s}for(var d,c,u,f,h,g=["modernizr","tspan","samp"];!V.style&&g.length;)d=!0,V.modElem=r(g.shift()),V.style=V.modElem.style;for(u=A.length,c=0;u>c;c++)if(f=A[c],h=V.style[f],p(f,"-")&&(f=l(f)),V.style[f]!==t){if(a||n(o,"undefined"))return i(),"pfx"==e?f:!0;try{V.style[f]=o}catch(w){}if(V.style[f]!=h)return i(),"pfx"==e?f:!0}return i(),!1}function v(A,e,t,o,a){var r=A.charAt(0).toUpperCase()+A.slice(1),i=(A+" "+k.join(r+" ")+r).split(" ");
4return n(e,"string")||n(e,"undefined")?w(i,e,o,a):(i=(A+" "+P.join(r+" ")+r).split(" "),h(i,e,t))}function T(A,e,n){return v(A,t,t,e,n)}var y=[],R=[],x={_version:"3.6.0",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(A,e){var t=this;setTimeout(function(){e(t[A])},0)},addTest:function(A,e,t){R.push({name:A,fn:e,options:t})},addAsyncTest:function(A){R.push({name:null,fn:A})}},Modernizr=function(){};Modernizr.prototype=x,Modernizr=new Modernizr;var b=e.documentElement,B="svg"===b.nodeName.toLowerCase();Modernizr.addTest("audio",function(){var A=r("audio"),e=!1;try{e=!!A.canPlayType,e&&(e=new Boolean(e),e.ogg=A.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),e.mp3=A.canPlayType('audio/mpeg; codecs="mp3"').replace(/^no$/,""),e.opus=A.canPlayType('audio/ogg; codecs="opus"')||A.canPlayType('audio/webm; codecs="opus"').replace(/^no$/,""),e.wav=A.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),e.m4a=(A.canPlayType("audio/x-m4a;")||A.canPlayType("audio/aac;")).replace(/^no$/,""))}catch(t){}return e}),Modernizr.addTest("canvas",function(){var A=r("canvas");return!(!A.getContext||!A.getContext("2d"))}),Modernizr.addTest("video",function(){var A=r("video"),e=!1;try{e=!!A.canPlayType,e&&(e=new Boolean(e),e.ogg=A.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),e.h264=A.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),e.webm=A.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,""),e.vp9=A.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,""),e.hls=A.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,""))}catch(t){}return e}),Modernizr.addTest("webgl",function(){var e=r("canvas"),t="probablySupportsContext"in e?"probablySupportsContext":"supportsContext";return t in e?e[t]("webgl")||e[t]("experimental-webgl"):"WebGLRenderingContext"in A}),Modernizr.addTest("csspointerevents",function(){var A=r("a").style;return A.cssText="pointer-events:auto","auto"===A.pointerEvents}),Modernizr.addTest("rgba",function(){var A=r("a").style;return A.cssText="background-color:rgba(150,255,150,.5)",(""+A.backgroundColor).indexOf("rgba")>-1}),Modernizr.addTest("placeholder","placeholder"in r("input")&&"placeholder"in r("textarea"));var E=x._config.usePrefixes?" -webkit- -moz- -o- -ms- ".split(" "):["",""];x._prefixes=E,Modernizr.addTest("csscalc",function(){var A="width:",e="calc(10px);",t=r("a");return t.style.cssText=A+E.join(e+A),!!t.style.length}),Modernizr.addTest("cssgradients",function(){for(var A,e="background-image:",t="gradient(linear,left top,right bottom,from(#9f9),to(white));",n="",o=0,a=E.length-1;a>o;o++)A=0===o?"to ":"",n+=e+E[o]+"linear-gradient("+A+"left top, #9f9, white);";Modernizr._config.usePrefixes&&(n+=e+"-webkit-"+t);var i=r("a"),s=i.style;return s.cssText=n,(""+s.backgroundImage).indexOf("gradient")>-1}),Modernizr.addTest("csspositionsticky",function(){var A="position:",e="sticky",t=r("a"),n=t.style;return n.cssText=A+E.join(e+";"+A).slice(0,-A.length),-1!==n.position.indexOf(e)});var Q="CSS"in A&&"supports"in A.CSS,G="supportsCSS"in A;Modernizr.addTest("supports",Q||G);var C;!function(){var A={}.hasOwnProperty;C=n(A,"undefined")||n(A.call,"undefined")?function(A,e){return e in A&&n(A.constructor.prototype[e],"undefined")}:function(e,t){return A.call(e,t)}}(),x._l={},x.on=function(A,e){this._l[A]||(this._l[A]=[]),this._l[A].push(e),Modernizr.hasOwnProperty(A)&&setTimeout(function(){Modernizr._trigger(A,Modernizr[A])},0)},x._trigger=function(A,e){if(this._l[A]){var t=this._l[A];setTimeout(function(){var A,n;for(A=0;A<t.length;A++)(n=t[A])(e)},0),delete this._l[A]}},Modernizr._q.push(function(){x.addTest=d}),Modernizr.addAsyncTest(function(){var A=new Image;A.onerror=function(){d("webpalpha",!1,{aliases:["webp-alpha"]})},A.onload=function(){d("webpalpha",1==A.width,{aliases:["webp-alpha"]})},A.src="data:image/webp;base64,UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAABBxAR/Q9ERP8DAABWUDggGAAAADABAJ0BKgEAAQADADQlpAADcAD++/1QAA=="}),Modernizr.addAsyncTest(function(){function A(A,e,t){function n(e){var n=e&&"load"===e.type?1==o.width:!1,a="webp"===A;d(A,a&&n?new Boolean(n):n),t&&t(e)}var o=new Image;o.onerror=n,o.onload=n,o.src=e}var e=[{uri:"data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoBAAEAAwA0JaQAA3AA/vuUAAA=",name:"webp"},{uri:"data:image/webp;base64,UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAABBxAR/Q9ERP8DAABWUDggGAAAADABAJ0BKgEAAQADADQlpAADcAD++/1QAA==",name:"webp.alpha"},{uri:"data:image/webp;base64,UklGRlIAAABXRUJQVlA4WAoAAAASAAAAAAAAAAAAQU5JTQYAAAD/////AABBTk1GJgAAAAAAAAAAAAAAAAAAAGQAAABWUDhMDQAAAC8AAAAQBxAREYiI/gcA",name:"webp.animation"},{uri:"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA=",name:"webp.lossless"}],t=e.shift();A(t.name,t.uri,function(t){if(t&&"load"===t.type)for(var n=0;n<e.length;n++)A(e[n].name,e[n].uri)})}),Modernizr.addAsyncTest(function(){function A(r){o++,clearTimeout(e);var i=r&&"playing"===r.type||0!==a.currentTime;return!i&&n>o?void(e=setTimeout(A,t)):(a.removeEventListener("playing",A,!1),d("videoautoplay",i),void(a.parentNode&&a.parentNode.removeChild(a)))}var e,t=200,n=5,o=0,a=r("video"),i=a.style;if(!(Modernizr.video&&"autoplay"in a))return void d("videoautoplay",!1);i.position="absolute",i.height=0,i.width=0;try{if(Modernizr.video.ogg)a.src="data:video/ogg;base64,T2dnUwACAAAAAAAAAABmnCATAAAAAHDEixYBKoB0aGVvcmEDAgEAAQABAAAQAAAQAAAAAAAFAAAAAQAAAAAAAAAAAGIAYE9nZ1MAAAAAAAAAAAAAZpwgEwEAAAACrA7TDlj/
4//////////////+QgXRoZW9yYSsAAABYaXBoLk9yZyBsaWJ0aGVvcmEgMS4xIDIwMDkwODIyIChUaHVzbmVsZGEpAQAAABoAAABFTkNPREVSPWZmbXBlZzJ0aGVvcmEtMC4yOYJ0aGVvcmG+zSj3uc1rGLWpSUoQc5zmMYxSlKQhCDGMYhCEIQhAAAAAAAAAAAAAEW2uU2eSyPxWEvx4OVts5ir1aKtUKBMpJFoQ/nk5m41mUwl4slUpk4kkghkIfDwdjgajQYC8VioUCQRiIQh8PBwMhgLBQIg4FRba5TZ5LI/FYS/Hg5W2zmKvVoq1QoEykkWhD+eTmbjWZTCXiyVSmTiSSCGQh8PB2OBqNBgLxWKhQJBGIhCHw8HAyGAsFAiDgUCw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDAwPEhQUFQ0NDhESFRUUDg4PEhQVFRUOEBETFBUVFRARFBUVFRUVEhMUFRUVFRUUFRUVFRUVFRUVFRUVFRUVEAwLEBQZGxwNDQ4SFRwcGw4NEBQZHBwcDhATFhsdHRwRExkcHB4eHRQYGxwdHh4dGxwdHR4eHh4dHR0dHh4eHRALChAYKDM9DAwOExo6PDcODRAYKDlFOA4RFh0zV1A+EhYlOkRtZ00YIzdAUWhxXDFATldneXhlSFxfYnBkZ2MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEhIVGRoaGhoSFBYaGhoaGhUWGRoaGhoaGRoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhESFh8kJCQkEhQYIiQkJCQWGCEkJCQkJB8iJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQREhgvY2NjYxIVGkJjY2NjGBo4Y2NjY2MvQmNjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRISEhUXGBkbEhIVFxgZGxwSFRcYGRscHRUXGBkbHB0dFxgZGxwdHR0YGRscHR0dHhkbHB0dHR4eGxwdHR0eHh4REREUFxocIBERFBcaHCAiERQXGhwgIiUUFxocICIlJRcaHCAiJSUlGhwgIiUlJSkcICIlJSUpKiAiJSUlKSoqEBAQFBgcICgQEBQYHCAoMBAUGBwgKDBAFBgcICgwQEAYHCAoMEBAQBwgKDBAQEBgICgwQEBAYIAoMEBAQGCAgAfF5cdH1e3Ow/L66wGmYnfIUbwdUTe3LMRbqON8B+5RJEvcGxkvrVUjTMrsXYhAnIwe0dTJfOYbWrDYyqUrz7dw/JO4hpmV2LsQQvkUeGq1BsZLx+cu5iV0e0eScJ91VIQYrmqfdVSK7GgjOU0oPaPOu5IcDK1mNvnD+K8LwS87f8Jx2mHtHnUkTGAurWZlNQa74ZLSFH9oF6FPGxzLsjQO5Qe0edcpttd7BXBSqMCL4k/4tFrHIPuEQ7m1/uIWkbDMWVoDdOSuRQ9286kvVUlQjzOE6VrNguN4oRXYGkgcnih7t13/9kxvLYKQezwLTrO44sVmMPgMqORo1E0sm1/9SludkcWHwfJwTSybR4LeAz6ugWVgRaY8mV/9SluQmtHrzsBtRF/wPY+X0JuYTs+ltgrXAmlk10xQHmTu9VSIAk1+vcvU4ml2oNzrNhEtQ3CysNP8UeR35wqpKUBdGdZMSjX4WVi8nJpdpHnbhzEIdx7mwf6W1FKAiucMXrWUWVjyRf23chNtR9mIzDoT/6ZLYailAjhFlZuvPtSeZ+2oREubDoWmT3TguY+JHPdRVSLKxfKH3vgNqJ/9emeEYikGXDFNzaLjvTeGAL61mogOoeG3y6oU4rW55ydoj0lUTSR/mmRhPmF86uwIfzp3FtiufQCmppaHDlGE0r2iTzXIw3zBq5hvaTldjG4CPb9wdxAme0SyedVKczJ9AtYbgPOzYKJvZZImsN7ecrxWZg5dR6ZLj/j4qpWsIA+vYwE+Tca9ounMIsrXMB4Stiib2SPQtZv+FVIpfEbzv8ncZoLBXc3YBqTG1HsskTTotZOYTG+oVUjLk6zhP8bg4RhMUNtfZdO7FdpBuXzhJ5Fh8IKlJG7wtD9ik8rWOJxy6iQ3NwzBpQ219mlyv+FLicYs2iJGSE0u2txzed++D61ZWCiHD/cZdQVCqkO2gJpdpNaObhnDfAPrT89RxdWFZ5hO3MseBSIlANppdZNIV/Rwe5eLTDvkfWKzFnH+QJ7m9QWV1KdwnuIwTNtZdJMoXBf74OhRnh2t+OTGL+AVUnIkyYY+QG7g9itHXyF3OIygG2s2kud679ZWKqSFa9n3IHD6MeLv1lZ0XyduRhiDRtrNnKoyiFVLcBm0ba5Yy3fQkDh4XsFE34isVpOzpa9nR8iCpS4HoxG2rJpnRhf3YboVa1PcRouh5LIJv/uQcPNd095ickTaiGBnWLKVWRc0OnYTSyex/n2FofEPnDG8y3PztHrzOLK1xo6RAml2k9owKajOC0Wr4D5x+3nA0UEhK2m198wuBHF3zlWWVKWLN1CHzLClUfuoYBcx4b1llpeBKmbayaR58njtE9onD66lUcsg0Spm2snsb+8HaJRn4dYcLbCuBuYwziB8/5U1C1DOOz2gZjSZtrLJk6vrLF3hwY4Io9xuT/ruUFRSBkNtUzTOWhjh26irLEPx4jPZL3Fo3QrReoGTTM21xYTT9oFdhTUIvjqTkfkvt0bzgVUjq/hOYY8j60IaO/0AzRBtqkTS6R5ellZd5uKdzzhb8BFlDdAcrwkE0rbXTOPB+7Y0FlZO96qFL4Ykg21StJs8qIW7h16H5hGiv8V2Cflau7QVDepTAHa6Lgt6feiEvJDM21StJsmOH/hynURrKxvUpQ8BH0JF7BiyG2qZpnL/7AOU66gt+reLEXY8pVOCQvSsBtqZTNM8bk9ohRcwD18o/WVkbvrceVKRb9I59IEKysjBeTMmmbA21xu/6iHadLRxuIzkLpi8wZYmmbbWi32RVAUjruxWlJ//iFxE38FI9hNKOoCdhwf5fDe4xZ81lgREhK2m1j78vW1CqkuMu/AjBNK210kzRUX/B+69cMMUG5bYrIeZxVSEZISmkzbXOi9yxwIfPgdsov7R71xuJ7rFcACjG/9PzApqFq7wEgzNJm2suWESPuwrQvejj7cbnQxMkxpm21lUYJL0fKmogPPqywn7e3FvB/FCNxPJ85iVUkCE9/tLKx31G4CgNtWTTPFhMvlu8G4/TrgaZttTChljfNJGgOT2X6EqpETy2tYd9cCBI4lIXJ1/3uVUllZEJz4baqGF64yxaZ+zPLYwde8Uqn1oKANtUrSaTOPHkhvuQP3bBlEJ/LFe4pqQOHUI8T8q7AXx3fLVBgSCVpMba55YxN3rv8U1Dv51bAPSOLlZWebkL8vSMGI21lJmmeVxPRwFlZF1CpqCN8uLwymaZyjbXHCRytogPN3o/n74CNykfT+qqRv5AQlHcRxYrC5KvGmbbUwmZY/29BvF6C1/93x4WVglXDLFpmbapmF89HKTogRwqqSlGbu+oiAkcWFbklC6Zhf+NtTLFpn8oWz+HsNRVSgIxZWON+yVyJlE5tq/+GWLTMutYX9ekTySEQPLVNQQ3OfycwJBM0zNtZcse7CvcKI0V/zh16Dr9OSA21MpmmcrHC+6pTAPHPwoit3LHHqs7jhFNRD6W8+EBGoSEoaZttTCZljfduH/fFisn+dRBGAZYtMzbVMwvul/T/crK1NQh8gN0SRRa9cOux6clC0/mDLFpmbarmF8/e6CopeOLCNW6S/IUUg3jJIYiAcDoMcGeRbOvuTPjXR/tyo79LK3kqqkbxkkMRAOB0GODPItnX3Jnxro/25Ud+llbyVVSN4ySGIgHA6DHBnkWzr7kz410f7cqO/Syt5KqpFVJwn6gBEvBM0zNtZcpGOEPiysW8vvRd2R0f7gtjhqUvXL+gWVwHm4XJDBiMpmmZtrLfPwd/IugP5+fKVSysH1EXreFAcEhelGmbbUmZY4Xdo1vQWVnK19P4RuEnbf0gQnR+lDCZlivNM22t1ESmopPIgfT0
4duOfQrsjgG4tPxli0zJmF5trdL1JDUIUT1ZXSqQDeR4B8mX3TrRro/2McGeUvLtwo6jIEKMkCUXWsLyZROd9P/rFYNtXPBli0z398iVUlVKAjFlY437JXImUTm2r/4ZYtMy61hf16RPJIU9nZ1MABAwAAAAAAAAAZpwgEwIAAABhp658BScAAAAAAADnUFBQXIDGXLhwtttNHDhw5OcpQRMETBEwRPduylKVB0HRdF0A";else{if(!Modernizr.video.h264)return void d("videoautoplay",!1);a.src="data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAAAs1tZGF0AAACrgYF//+q3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE0OCByMjYwMSBhMGNkN2QzIC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAxNSAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTMgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MzoweDExMyBtZT1oZXggc3VibWU9NyBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0xIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MSA4eDhkY3Q9MSBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0tMiB0aHJlYWRzPTEgbG9va2FoZWFkX3RocmVhZHM9MSBzbGljZWRfdGhyZWFkcz0wIG5yPTAgZGVjaW1hdGU9MSBpbnRlcmxhY2VkPTAgYmx1cmF5X2NvbXBhdD0wIGNvbnN0cmFpbmVkX2ludHJhPTAgYmZyYW1lcz0zIGJfcHlyYW1pZD0yIGJfYWRhcHQ9MSBiX2JpYXM9MCBkaXJlY3Q9MSB3ZWlnaHRiPTEgb3Blbl9nb3A9MCB3ZWlnaHRwPTIga2V5aW50PTI1MCBrZXlpbnRfbWluPTEwIHNjZW5lY3V0PTQwIGludHJhX3JlZnJlc2g9MCByY19sb29rYWhlYWQ9NDAgcmM9Y3JmIG1idHJlZT0xIGNyZj0yMy4wIHFjb21wPTAuNjAgcXBtaW49MCBxcG1heD02OSBxcHN0ZXA9NCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAAAAD2WIhAA3//728P4FNjuZQQAAAu5tb292AAAAbG12aGQAAAAAAAAAAAAAAAAAAAPoAAAAZAABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACGHRyYWsAAABcdGtoZAAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAZAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAgAAAAIAAAAAACRlZHRzAAAAHGVsc3QAAAAAAAAAAQAAAGQAAAAAAAEAAAAAAZBtZGlhAAAAIG1kaGQAAAAAAAAAAAAAAAAAACgAAAAEAFXEAAAAAAAtaGRscgAAAAAAAAAAdmlkZQAAAAAAAAAAAAAAAFZpZGVvSGFuZGxlcgAAAAE7bWluZgAAABR2bWhkAAAAAQAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAAA+3N0YmwAAACXc3RzZAAAAAAAAAABAAAAh2F2YzEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAgACAEgAAABIAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY//8AAAAxYXZjQwFkAAr/4QAYZ2QACqzZX4iIhAAAAwAEAAADAFA8SJZYAQAGaOvjyyLAAAAAGHN0dHMAAAAAAAAAAQAAAAEAAAQAAAAAHHN0c2MAAAAAAAAAAQAAAAEAAAABAAAAAQAAABRzdHN6AAAAAAAAAsUAAAABAAAAFHN0Y28AAAAAAAAAAQAAADAAAABidWR0YQAAAFptZXRhAAAAAAAAACFoZGxyAAAAAAAAAABtZGlyYXBwbAAAAAAAAAAAAAAAAC1pbHN0AAAAJal0b28AAAAdZGF0YQAAAAEAAAAATGF2ZjU2LjQwLjEwMQ=="}}catch(s){return void d("videoautoplay",!1)}a.setAttribute("autoplay",""),i.cssText="display:none",b.appendChild(a),setTimeout(function(){a.addEventListener("playing",A,!1),e=setTimeout(A,t)},0)});var F=x.testStyles=u;Modernizr.addTest("touchevents",function(){var t;if("ontouchstart"in A||A.DocumentTouch&&e instanceof DocumentTouch)t=!0;else{var n=["@media (",E.join("touch-enabled),("),"heartz",")","{#modernizr{top:9px;position:absolute}}"].join("");F(n,function(A){t=9===A.offsetTop})}return t});var S=function(){var A=navigator.userAgent,e=A.match(/w(eb)?osbrowser/gi),t=A.match(/windows phone/gi)&&A.match(/iemobile\/([0-9])+/gi)&&parseFloat(RegExp.$1)>=9;return e||t}();S?Modernizr.addTest("fontface",!1):F('@font-face {font-family:"font";src:url("https://")}',function(A,t){var n=e.getElementById("smodernizr"),o=n.sheet||n.styleSheet,a=o?o.cssRules&&o.cssRules[0]?o.cssRules[0].cssText:o.cssText||"":"",r=/src/i.test(a)&&0===a.indexOf(t.split(" ")[0]);Modernizr.addTest("fontface",r)}),F("#modernizr { height: 50vh; }",function(e){var t=parseInt(A.innerHeight/2,10),n=parseInt(i(e,null,"height"),10);Modernizr.addTest("cssvhunit",s(n,t))}),F("#modernizr1{width: 50vmax}#modernizr2{width:50px;height:50px;overflow:scroll}#modernizr3{position:fixed;top:0;left:0;bottom:0;right:0}",function(A){var e=A.childNodes[2],t=A.childNodes[1],n=A.childNodes[0],o=parseInt((t.offsetWidth-t.clientWidth)/2,10),a=n.clientWidth/100,r=n.clientHeight/100,l=parseInt(50*Math.max(a,r),10),d=parseInt(i(e,null,"width"),10);Modernizr.addTest("cssvmaxunit",s(l,d)||s(l,d-o))},3),F("#modernizr1{width: 50vm;width:50vmin}#modernizr2{width:50px;height:50px;overflow:scroll}#modernizr3{position:fixed;top:0;left:0;bottom:0;right:0}",function(A){var e=A.childNodes[2],t=A.childNodes[1],n=A.childNodes[0],o=parseInt((t.offsetWidth-t.clientWidth)/2,10),a=n.clientWidth/100,r=n.clientHeight/100,l=parseInt(50*Math.min(a,r),10),d=parseInt(i(e,null,"width"),10);Modernizr.addTest("cssvminunit",s(l,d)||s(l,d-o))},3),F("#modernizr { width: 50vw; }",function(e){var t=parseInt(A.innerWidth/2,10),n=parseInt(i(e,null,"width"),10);Modernizr.addTest("cssvwunit",s(n,t))});var U="Moz O ms Webkit",k=x._config.usePrefixes?U.split(" "):[];x._cssomPrefixes=k;var I=function(e){var n,o=E.length,a=A.CSSRule;if("undefined"==typeof a)return t;if(!e)return!1;if(e=e.replace(/^@/,""),n=e.replace(/-/g,"_").toUpperCase()+"_RULE",n in a)return"@"+e;for(var r=0;o>r;r++){var i=E[r],s=i.toUpperCase()+"_"+n;if(s in a)return"@-"+i.toLowerCase()+"-"+e}return!1};x.atRule=I;var P=x._config.usePrefixes?U.toLowerCase().split(" "):[];x._domPrefixes=P;var M={elem:r("modernizr")};Modernizr._q.push(function(){delete M.elem});var V={style:M.elem.style};Modernizr._q.unshift(function(){delete V.style});var Y=x.testProp=function(A,e,n){return w([A],t,e,n)};Modernizr.addTest("textshadow",Y("textShadow","1px 1px")),x.testAllProps=v,x.testAllProps=T,Modernizr.addTest("borderimage",T("borderImage","url() 1",!0)),Modernizr.addTest("borderradiu
4s",T("borderRadius","0px",!0)),Modernizr.addTest("boxshadow",T("boxShadow","1px 1px",!0)),Modernizr.addTest("boxsizing",T("boxSizing","border-box",!0)&&(e.documentMode===t||e.documentMode>7)),Modernizr.addTest("cssanimations",T("animationName","a",!0)),Modernizr.addTest("backgroundsize",T("backgroundSize","100%",!0)),Modernizr.addTest("bgsizecover",T("backgroundSize","cover")),function(){Modernizr.addTest("csscolumns",function(){var A=!1,e=T("columnCount");try{A=!!e,A&&(A=new Boolean(A))}catch(t){}return A});for(var A,e,t=["Width","Span","Fill","Gap","Rule","RuleColor","RuleStyle","RuleWidth","BreakBefore","BreakAfter","BreakInside"],n=0;n<t.length;n++)A=t[n].toLowerCase(),e=T("column"+t[n]),("breakbefore"===A||"breakafter"===A||"breakinside"==A)&&(e=e||T(t[n])),Modernizr.addTest("csscolumns."+A,e)}(),Modernizr.addTest("cssgridlegacy",T("grid-columns","10px",!0)),Modernizr.addTest("cssgrid",T("grid-template-rows","none",!0)),Modernizr.addTest("flexbox",T("flexBasis","1px",!0)),Modernizr.addTest("csstransforms",function(){return-1===navigator.userAgent.indexOf("Android 2.")&&T("transform","scale(1)",!0)}),Modernizr.addTest("csstransforms3d",function(){return!!T("perspective","1px",!0)}),Modernizr.addTest("csstransformslevel2",function(){return T("translate","45px",!0)}),Modernizr.addTest("csstransitions",T("transition","all",!0));var Z=x.prefixed=function(A,e,t){return 0===A.indexOf("@")?I(A):(-1!=A.indexOf("-")&&(A=l(A)),e?v(A,e,t):v(A,"pfx"))};Modernizr.addTest("backgroundblendmode",Z("backgroundBlendMode","text")),Modernizr.addTest("svgfilters",function(){var e=!1;try{e="SVGFEColorMatrixElement"in A&&2==SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_SATURATE}catch(t){}return e}),o(),a(y),delete x.addTest,delete x.addAsyncTest;for(var D=0;D<Modernizr._q.length;D++)Modernizr._q[D]();A.Modernizr=Modernizr}(window,document);
5/*
6Tablesaw - v3.1.0
7*/
8!function(e,a){"function"==typeof define&&define.amd?define(["jquery"],function(t){return e.Tablesaw=a(t,e)}):"object"==typeof exports?module.exports=a("document"in e?require("jquery"):require("jquery")(e),e):e.Tablesaw=a(jQuery,e)}("undefined"!=typeof window?window:this,function(S,H){"use strict";var B=H.document,e=/complete|loaded/.test(B.readyState);B.addEventListener("DOMContentLoaded",function(){e=!0});var t,s,n,a,i,o,l,r,c,f,h,d,u,N={i18n:{modeStack:"Stack",modeSwipe:"Swipe",modeToggle:"Toggle",modeSwitchColumnsAbbreviated:"Cols",modeSwitchColumns:"Columns",columnToggleButton:"Columns",columnToggleError:"No eligible columns.",sort:"Sort",swipePreviousColumn:"Previous column",swipeNextColumn:"Next column"},mustard:"head"in B&&(!H.blackberry||H.WebKitPoint)&&!H.operamini,$:S,_init:function(t){N.$(t||B).trigger("enhance.tablesaw")},init:function(t){(e=e||/complete|loaded/.test(B.readyState))?N._init(t):"addEventListener"in B&&B.addEventListener("DOMContentLoaded",function(){N._init(t)})}};return S(B).on("enhance.tablesaw",function(){"undefined"!=typeof TablesawConfig&&TablesawConfig.i18n&&(N.i18n=S.extend(N.i18n,TablesawConfig.i18n||{})),N.i18n.modes=[N.i18n.modeStack,N.i18n.modeSwipe,N.i18n.modeToggle]}),N.mustard&&S(B.documentElement).addClass("tablesaw-enhanced"),function(){var a="tablesaw",
8s="tablesaw-bar",e={create:"tablesawcreate",destroy:"tablesawdestroy",refresh:"tablesawrefresh",resize:"tablesawresize"},n={};N.events=e;var t=function(t){if(!t)throw new Error("Tablesaw requires an element.");this.table=t,this.$table=S(t),this.$thead=this.$table.children().filter("thead").eq(0),this.$tbody=this.$table.children().filter("tbody"),this.mode=this.$table.attr("data-tablesaw-mode")||"stack",this.$toolbar=null,this.attributes={subrow:"data-tablesaw-subrow",ignorerow:"data-tablesaw-ignorerow"},this.init()};t.prototype.init=function(){if(!this.$thead.length)throw new Error("tablesaw: a <thead> is required, but none was found.");if(!this.$thead.find("th").length)throw new Error("tablesaw: no header cells found. Are you using <th> inside of <thead>?");this.$table.attr("id")||this.$table.attr("id",a+"-"+Math.round(1e4*Math.random())),this.createToolbar(),this._initCells(),this.$table.data(a,this),this.$table.trigger(e.create,[this])},t.prototype.getConfig=function(t){var e=S.extend(n,t||{});return S.extend(e,"undefined"!=typeof TablesawConfig?TablesawConfig:{})},t.prototype._getPrimaryHeaderRow=function(){return this._getHeaderRows().eq(0)},t.prototype._getHeaderRows=function(){return this.$thead.children().filter("tr").filter(function(){return!S(this).is("[data-tablesaw-ignorerow]")})},t.prototype._getRowIndex=function(t){return t.prevAll().length},t.prototype._getHeaderRowIndeces=function(){var t=this,e=[];return this._getHeaderRows().each(function(){e.push(t._getRowIndex(S(this)))}),e},t.prototype._getPrimaryHeaderCells=function(t){return(t||this._getPrimaryHeaderRow()).find("th")},t.prototype._$getCells=function(t){var s=this;return S(t).add(t.cells).filter(function(){var t=S(this),e=t.parent(),a=t.is("[colspan]");return!(e.is("["+s.attributes.subrow+"]")||e.is("["+s.attributes.ignorerow+"]")&&a)})},t.prototype._getVisibleColspan=function(){var e=0;return this._getPrimaryHeaderCells().each(function(){var t=S(this);"none"!==t.css("display")&&(e+=parseInt(t.attr("colspan"),10)||1)}),e},t.prototype.getColspanForCell=function(t){var e=this._getVisibleColspan(),a=0;return t.closest("tr").data("tablesaw-rowspanned")&&a++,t.siblings().each(function(){var t=S(this),e=parseInt(t.attr("colspan"),10)||1;"none"!==t.css("display")&&(a+=e)}),e-a},t.prototype.isCellInColumn=function(t,e){return S(t).add(t.cells).filter(function(){return this===e}).length},t.prototype.updateColspanCells=function(s,n,i){var o=this,t=o._getPrimaryHeaderRow();this.$table.find("[rowspan][data-tablesaw-priority]").each(function(){var t=S(this);if("persist"===t.attr("data-tablesaw-priority")){var e=t.closest("tr"),a=parseInt(t.attr("rowspan"),10);1<a&&((e=e.next()).data("tablesaw-rowspanned",!0),a--)}}),this.$table.find("[colspan],[data-tablesaw-maxcolspan]").filter(function(){return S(this).closest("tr")[0]!==t[0]}).each(function(){var t=S(this);if(void 0===i||o.isCellInColumn(n,this)){var e=o.getColspanForCell(t);s&&void 0!==i&&t[0===e?"addClass":"removeClass"](s);var a=parseInt(t.attr("data-tablesaw-maxcolspan"),10);a?a<e&&(e=a):t.attr("data-tablesaw-maxcolspan",t.attr("colspan")),t.attr("colspan",e)}})},t.prototype._findPrimaryHeadersForCell=function(t){for(var e=this._getPrimaryHeaderRow(),a=this._getRowIndex(e),s=[],n=0;n<this.headerMapping.length;n++)if(n!==a)for(var i=0;i<this.headerMapping[n].length;i++)this.headerMapping[n][i]===t&&s.push(this.headerMapping[a][i]);return s},t.prototype.getRows=function(){var t=this;return this.$table.find("tr").filter(function(){return S(this).closest("table").is(t.$table)})},t.prototype.getBodyRows=function(t){return(t?S(t):this.$tbody).children().filter("tr")},t.prototype.getHeaderCellIndex=function(t){for(var e=this.headerMapping[0],a=0;a<e.length;a++)if(e[a]===t)return a;return-1},t.prototype._initCells=function(){this.$table.find("[data-tablesaw-maxcolspan]").each(function(){var t=S(this);t.attr("colspan",t.attr("data-tablesaw-maxcolspan"))});var t=this.getRows(),o=[];t.each(function(t){o[t]=[]}),t.each(function(n){var i=0;S(this).children().each(function(){for(var t=parseInt(this.getAttribute("data-tablesaw-maxcolspan")||this.getAttribute("colspan"),10),e=parseInt(this.getAttribute("rowspan"),10);o[n][i];)i++;if(o[n][i]=this,t)for(var a=0;a<t-1;a++)i++,o[n][i]=this;if(e)for(var s=1;s<e;s++)o[n+s][i]=this;i++})});for(var e=this._getHeaderRowIndeces(),a=0;a<o[0].length;a++)for(var s=0,n=e.length;s<n;s++){var i,l=o[e[s]][a],r=e[s];for(l.cells||(l.cells=[]);r<o.length;)l!==(i=o[r][a])&&l.cells.push(i),r++}this.headerMapping=o},t.prototype.refresh=function(){this._initCells(),this.$table.trigger(e.refresh,[this])},t.prototype._getToolbarAnchor=function(){var t=this.$table.parent();return t.is(".tablesaw-overflow")?t:this.$table},t.prototype._getToolbar=function(t){return t||(t=this._getToolbarAnchor()),t.prev().filter("."+s)},t.prototype.createToolbar=function(){var t=this._getToolbarAnchor(),e=this._getToolbar(t);e.length||(e=S("<div>").addClass(s).insertBefore(t)),this.$toolbar=e,this.mode&&this.$toolbar.addClass("tablesaw-mode-"+this.mode)},t.prototype.destroy=function(){this._getToolbar().each(function(){this.className=this.className.replace(/\btablesaw-mode\-\w*\b/gi,"")});var t=this.$table.attr("id");S(B).off("."+t),S(H).off("."+t),this.$table.trigger(e.destroy,[this]),this.$table.removeData(a)},S.fn[a]=function(){return this.each(function(){S(this).data(a)||new t(this)})};var i=S(B);i.on("enhance.tablesaw",function(t){if(N.mustard){var e=S(t.target);e.parent().length&&(e=e.parent()),e.find("table").filter("[data-tablesaw],[data-tablesaw-mode],[data-tablesaw-sortable]")[a]()}});var o,l,r=!1;i.on("scroll.tablesaw",function(){r=!0,H.clearTimeout(o),o=H.setTimeout(function(){r=!1},300)}),S(H).on("resize",function(){r||(H.clearTimeout(l),l=H.setTimeout(function(){i.trigger(e.resize)},150))}),N.Table=t}(),s="tablesaw-cell-label",n="tablesaw-cell-content",a=t="tablesaw-stack",i="data-tablesaw-no-labels",o="data-tablesaw-hide-empty",(l=function(t,e){this.tablesaw=e,this.$table=S(t),this.labelless=this.$table.is("["+i+"]"),this.hideempty=this.$table.is("["+o+"]"),this.$table.data(a,this)}).prototype.init=function(){if(this.$table.addClass(t),!this.labelless){var a=this;this.$table.find("th, td").filter(function(){return!S(this).closest("thead").length}).filter(function(){return!(S(this).is("["+i+"]")||S(this).closest("tr").is("["+i+"]")||a.hideempty&&!S(this).html())}).each(function(){var o=S(B.createElement("b")).addClass(s),t=S(this);S(a.tablesaw._findPrimaryHeadersForCell(this)).each(function(t){if(this&&void 0!==this){var e=S(this.cloneNode(!0)),a=e.find(".tablesaw-sortable-btn");e.find(".tablesaw-sortable-arrow").remove();var s=e.find("[data-tablesaw-checkall]");if(s.closest("label").remove(),s.length)o=S([]);else{0<t&&o.append(B.createTextNode(", "));for(var n,i=a.length?a[0]:e[0];n=i.firstChild;)o[0].appendChild(n)}}}),o.length&&!t.find("."+n).length&&t.wrapInner("<span class='"+n+"'></span>");var e=t.find("."+s);e.length?e.replaceWith(o):(t.prepend(B.createTextNode(" ")),t.prepend(o))})}},l.prototype.destroy=function(){this.$table.removeClass(t),this.$table.find("."+s).remove(),this.$table.find("."+n).each(function(){S(this).replaceWith(S(this.childNodes))})},S(B).on(N.events.create,function(t,e){"stack"===e.mode&&new l(e.table,e).init()}).on(N.events.refresh,function(t,e){"stack"===e.mode&&S(e.table).data(a).init()}).on(N.events.destroy,function(t,e){"stack"===e.mode&&S(e.table).data(a).destroy()}),N.Stack=l,r="tablesawbtn",c={_create:function(){return S(this).each(function(){S(this).trigger("beforecreate."+r)[r]("_init").trigger("create."+r)})},_init:function(){var t=S(this),e=this.getElementsByTagName("select")[0];return e&&S(this).addClass("btn-select tablesaw-btn-select")[r]("_select",e),t},_select:function(t){var e=function(t,e){var a,s,n=S(e).find("option"),i=B.createElement("span"),o=!1;if(i.setAttribute("aria-hidden","true"),i.innerHTML="&#160;",n.each(function(){this.selected&&(i.innerHTML=this.text)}),s=t.childNodes,0<n.length){for(var l=0,r=s.length;l<r;l++)(a=s[l])&&"SPAN"===a.nodeName.toUpperCase()&&(t.replaceChild(i,a),o=!0);o||t.insertBefore(i,t.firstChild)}};e(this,t),S(this).on("change refresh",function(){e(this,t)})}},S.fn[r]=function(t,e,a,s){return this.each(function(){return t&&"string"==typeof t?S.fn[r].prototype[t].call(this,e,a,s):S(this).data(r+"active")?S(this):(S(this).data(r+"active",!0),void S.fn[r].prototype._create.call(this))})},S.extend(S.fn[r].prototype,c),f="tablesaw-coltoggle",(h=function(t){this.$table=S(t),this.$table.length&&(this.tablesaw=this.$table.data("tablesaw"),this.attributes={btnTarget:"data-tablesaw-columntoggle-btn-target",set:"data-tablesaw-columntoggle-set"},this.classes={columnToggleTable:"tablesaw-columntoggle",columnBtnContain:"tablesaw-columntoggle-btnwrap tablesaw-advance",columnBtn:"tablesaw-columntoggle-btn tablesaw-nav-btn down",popup:"tablesaw-columntoggle-popup",priorityPrefix:"tablesaw-priority-"},this.set=[],this.$headers=this.tablesaw._getPrimaryHeaderCells(),this.$table.data(f,this))}).prototype.initSet=function(){var t=this.$table.attr(this.attributes.set);if(t){var e=this.$table[0];this.set=S("table["+this.attributes.set+"='"+t+"']").filter(function(){return this!==e}).get()}},h.prototype.init=function(){if(this.$table.length){var e,t,a,s,n,i,o=this,l=this.tablesaw.getConfig({getColumnToggleLabelTemplate:function(t){return"<label><input type='checkbox' checked>"+t+"</label>"}});this.$table.addClass(this.classes.columnToggleTable),t=(e=this.$table.attr("id"))+"-popup",i=S("<div class='"+this.classes.columnBtnContain+"'></div>"),a=S("<a href='#"+t+"' class='btn tablesaw-btn btn-micro "+this.classes.columnBtn+"' data-popup-link>
8<span>"+N.i18n.columnToggleButton+"</span></a>"),s=S("<div class='"+this.classes.popup+"' id='"+t+"'></div>"),n=S("<div class='tablesaw-btn-group'></div>"),this.$popup=s;var r=!1;this.$headers.each(function(){var t=S(this),e=t.attr("data-tablesaw-priority"),a=o.tablesaw._$getCells(this);e&&"persist"!==e&&(a.addClass(o.classes.priorityPrefix+e),S(l.getColumnToggleLabelTemplate(t.text())).appendTo(n).find('input[type="checkbox"]').data("tablesaw-header",this),r=!0)}),r||n.append("<label>"+N.i18n.columnToggleError+"</label>"),n.appendTo(s),n.find('input[type="checkbox"]').on("change",function(e){var a;p(e.target),o.set.length&&(S(o.$popup).find("input[type='checkbox']").each(function(t){if(this===e.target)return a=t,!1}),S(o.set).each(function(){var t=S(this).data(f).$popup.find("input[type='checkbox']").get(a);t&&(t.checked=e.target.checked,p(t))}))}),a.appendTo(i);var c,h=S(this.$table.attr(this.attributes.btnTarget));i.appendTo(h.length?h:this.tablesaw.$toolbar),a.on("click.tablesaw",function(t){t.preventDefault(),i.is(".visible")?b():(i.addClass("visible"),a.removeClass("down").addClass("up"),S(B).off("click."+e,b),H.clearTimeout(c),c=H.setTimeout(function(){S(B).on("click."+e,b)},15))}),s.appendTo(i),this.$menu=n;var d,u=this.$table.closest(".tablesaw-overflow");u.css("-webkit-overflow-scrolling")&&u.on("scroll",function(){var t=S(this);H.clearTimeout(d),d=H.setTimeout(function(){t.css("-webkit-overflow-scrolling","auto"),H.setTimeout(function(){t.css("-webkit-overflow-scrolling","touch")},0)},100)}),S(H).on(N.events.resize+"."+e,function(){o.refreshToggle()}),this.initSet(),this.refreshToggle()}function p(t){var e=t.checked,a=o.getHeaderFromCheckbox(t),s=o.tablesaw._$getCells(a);s[e?"removeClass":"addClass"]("tablesaw-toggle-cellhidden"),s[e?"addClass":"removeClass"]("tablesaw-toggle-cellvisible"),o.updateColspanCells(a,e),o.$table.trigger("tablesawcolumns")}function b(t){t&&S(t.target).closest("."+o.classes.popup).length||(S(B).off("click."+e),a.removeClass("up").addClass("down"),i.removeClass("visible"))}},h.prototype.getHeaderFromCheckbox=function(t){return S(t).data("tablesaw-header")},h.prototype.refreshToggle=function(){var e=this;this.$menu.find("input").each(function(){var t=e.getHeaderFromCheckbox(this);this.checked="table-cell"===e.tablesaw._$getCells(t).eq(0).css("display")}),this.updateColspanCells()},h.prototype.updateColspanCells=function(t,e){this.tablesaw.updateColspanCells("tablesaw-toggle-cellhidden",t,e)},h.prototype.destroy=function(){this.$table.removeClass(this.classes.columnToggleTable),this.$table.find("th, td").each(function(){S(this).removeClass("tablesaw-toggle-cellhidden").removeClass("tablesaw-toggle-cellvisible"),this.className=this.className.replace(/\bui\-table\-priority\-\d\b/g,"")})},S(B).on(N.events.create,function(t,e){"columntoggle"===e.mode&&new h(e.table).init()}),S(B).on(N.events.destroy,function(t,e){"columntoggle"===e.mode&&S(e.table).data(f).destroy()}),S(B).on(N.events.refresh,function(t,e){"columntoggle"===e.mode&&S(e.table).data(f).refreshToggle()}),N.ColumnToggle=h,function(){function b(t){var e=[];return S(t.childNodes).each(function(){var t=S(this);t.is("input, select")?e.push(t.val()):t.is(".tablesaw-cell-label")||e.push((t.text()||"").replace(/^\s+|\s+$/g,""))}),e.join("")}var d="tablesaw-sortable",l="data-tablesaw-sortable-col",h="data-tablesaw-sortable-default-col",f="data-tablesaw-sortable-numeric",g="data-tablesaw-subrow",w="data-tablesaw-ignorerow",u={head:d+"-head",ascend:d+"-ascending",desce
8nd:d+"-descending",switcher:d+"-switch",tableToolbar:"tablesaw-bar-section",sortButton:d+"-btn"},t={_create:function(t){return S(this).each(function(){if(S(this).data(d+"-init"))return!1;S(this).data(d+"-init",!0).trigger("beforecreate."+d)[d]("_init",t).trigger("create."+d)})},_init:function(){var n,i,t,e,s,a,o=S(this),r=o.data("tablesaw");function c(t){S.each(t,function(t,e){var a=S(e);a.removeAttr(h),a.removeClass(u.ascend),a.removeClass(u.descend)})}o.addClass(d),n=o.children().filter("thead").find("th["+l+"]"),t=n,S.each(t,function(t,e){S(e).addClass(u.head)}),e=n,s=function(t){if(!S(t.target).is("a[href]")){t.stopPropagation();var e=S(t.target).closest("["+l+"]"),a=t.data.col,s=n.index(e[0]);c(e.closest("thead").find("th").filter(function(){return this!==e[0]})),e.is("."+u.descend)||!e.is("."+u.ascend)?(o[d]("sortBy",a,!0),s+="_asc"):(o[d]("sortBy",a),s+="_desc"),i&&i.find("select").val(s).trigger("refresh"),t.preventDefault()}},S.each(e,function(t,e){var a=S("<button class='"+u.sortButton+"'/>");a.on("click",{col:e},s),S(e).wrapInner(a).find("button").append("<span class='tablesaw-sortable-arrow'>")}),a=n,S.each(a,function(t,e){var a=S(e);a.is("["+h+"]")&&(a.is("."+u.descend)||a.addClass(u.ascend))}),o.is("[data-tablesaw-sortable-switch]")&&function(a){i=S("<div>").addClass(u.switcher).addClass(u.tableToolbar);var l=["<label>"+N.i18n.sort+":"];l.push('<span class="btn tablesaw-btn"><select>'),a.each(function(t){var e=S(this),a=e.is("["+h+"]"),s=e.is("."+u.descend),n=e.is("["+f+"]"),i=0;S(this.cells.slice(0,5)).each(function(){isNaN(parseInt(b(this),10))||i++});var o=5===i;n||e.attr(f,o?"":"false"),l.push("<option"+(a&&!s?" selected":"")+' value="'+t+'_asc">'+e.text()+" "+(o?"&#x2191;":"(A-Z)")+"</option>"),l.push("<option"+(a&&s?" selected":"")+' value="'+t+'_desc">'+e.text()+" "+(o?"&#x2193;":"(Z-A)")+"</option>")}),l.push("</select></span></label>"),i.html(l.join(""));var t=r.$toolbar.children().eq(0);t.length?i.insertBefore(t):i.appendTo(r.$toolbar),i.find(".tablesaw-btn").tablesawbtn(),i.find("select").on("change",function(){var t=S(this).val().split("_"),e=a.eq(t[0]);c(e.siblings()),o[d]("sortBy",e.get(0),"asc"===t[1])})}(n)},sortRows:function(t,e,a,s,n){var i,o,l,r,c,h,d,u=(o=s.cells,l=n,r=[],S.each(o,function(t,e){for(var a=e.parentNode,s=S(a),n=[],i=s.next();i.is("["+g+"]");)n.push(i[0]),i=i.next();var o=a.parentNode;s.is("["+g+"]")||o===l&&r.push({element:e,cell:b(e),row:a,subrows:n.length?n:null,ignored:s.is("["+w+"]")})}),r),p=S(s).data("tablesaw-sort");return i=!(!p||"function"!=typeof p)&&p(a)||(c=a,h=S(s).is("["+f+"]")&&!S(s).is("["+f+'="false"]'),d=/[^\-\+\d\.]/g,c?function(t,e){return t.ignored||e.ignored?0:h?parseFloat(t.cell.replace(d,""))-parseFloat(e.cell.replace(d,"")):t.cell.toLowerCase()>e.cell.toLowerCase()?1:-1}:function(t,e){return t.ignored||e.ignored?0:h?parseFloat(e.cell.replace(d,""))-parseFloat(t.cell.replace(d,"")):t.cell.toLowerCase()<e.cell.toLowerCase()?1:-1}),function(t){var e,a,s=[];for(e=0,a=t.length;e<a;e++)s.push(t[e].row),t[e].subrows&&s.push(t[e].subrows);return s}(u.sort(i))},makeColDefault:function(t,e){var a=S(t);a.attr(h,"true"),e?(a.removeClass(u.descend),a.addClass(u.ascend)):(a.removeClass(u.ascend),a.addClass(u.descend))},sortBy:function(o,l){var r,c=S(this),h=c.data("tablesaw");h.$tbody.each(function(){var t,e,a,s=S(this),n=h.getBodyRows(this),i=h.headerMapping[0];for(e=0,a=i.length;e<a;e++)if(i[e]===o){r=e;break}for(e=0,a=(t=c[d]("sortRows",n,r,l,o,this)).length;e<a;e++)s.append(t[e])}),c[d]("makeColDefault",o,l),c.trigger("tablesaw-sorted")}};S.fn[d]=function(t){var e,a=Array.prototype.slice.call(arguments,1);return t&&"string"==typeof t?void 0!==(e=S.fn[d].prototype[t].apply(this[0],a))?e:S(this):(S(this).data(d+"-active")||(S(this).data(d+"-active",!0),S.fn[d].prototype._create.call(this,t)),S(this))},S.extend(S.fn[d].prototype,t),S(B).on(N.events.create,function(t,e){e.$table.is("table[data-tablesaw-sortable]")&&e.$table[d]()})}(),function(){var $="disabled",T="tablesaw-fix-persist",k="tablesaw-swipe-cellhidden",x="tablesaw-swipe-cellpersist",_="tablesaw-all-cols-visible",M="data-tablesaw-no-touch";function a(c,r){var h=r.data("tablesaw"),t=S("<div class='tablesaw-advance'></div>"),a=S("<a href='#' class='btn tablesaw-nav-btn tablesaw-btn btn-micro left'>"+N.i18n.swipePreviousColumn+"</a>").appendTo(t),s=S("<a href='#' class='btn tablesaw-nav-btn tablesaw-btn btn-micro right'>"+N.i18n.swipeNextColumn+"</a>").appendTo(t),d=c._getPrimaryHeaderCells(),i=d.not('[data-tablesaw-priority="persist"]'),u=[],o=S(B.head||"head"),l=r.attr("id");if(!d.length)throw new Error("tablesaw swipe: no header cells found.");function e(){r.css({width:"1px"}),r.find("."+k).removeClass(k),u=[],d.each(function(){u.push(this.offsetWidth)}),r.css({width:""})}function p(t){h._$getCells(t).removeClass(k)}function b(t){h._$getCells(t).addClass(k)}function f(){r.removeClass(T),S("#"+l+"-persist").remove()}function n(){var t,a="#"+l+".tablesaw-swipe ",s=[],n=r.width(),i=[];if(d.each(function(t){var e;S(this).is('[data-tablesaw-priority="persist"]')&&(e=this.offsetWidth)<.75*n&&(i.push(t+"-"+e),s.push(a+" ."+x+":nth-child("+(t+1)+") { width: "+e+"px; }"))}),t=i.join("_"),s.length){r.addClass(T);var e=S("#"+l+"-persist");e.length&&e.data("tablesaw-hash")===t||(e.remove(),S("<style>"+s.join("\n")+"</style>").attr("id",l+"-persist").data("tablesaw-hash",t).appendTo(o))}}function g(){var s,n=[];return i.each(function(t){var e=S(this),a="none"===e.css("display")||e.is("."+k);if(a||s){if(a&&s)return n[1]=t,!1}else s=!0,n[0]=t}),n}function w(){var t=g();return[t[1]-1,t[0]-1]}function v(t){return-1<t[1]&&t[1]<i.length}function m(){if(!(t=r.attr("data-tablesaw-swipe-media"))||"matchMedia"in H&&H.matchMedia(t).matches){var t,a=r.parent().width(),s=[],n=0,i=[],o=d.length;d.each(function(t){var e=S(this).is('[data-tablesaw-priority="persist"]');s.push(e),n+=u[t],i.push(n),(e||a<n)&&o--});var l=0===o;d.each(function(t){i[t]>a&&b(this)}),d.each(function(t){if(s[t])return e=this,void h._$getCells(e).addClass(x);var e;(i[t]<=a||l)&&(l=!1,p(this),h.updateColspanCells(k,this,!0))}),f(),r.trigger("tablesawcolumns")}}function C(t){var e=t?g():w();v(e)&&(isNaN(e[0])&&(e[0]=t?0:i.length-1),n(),b(i.get(e[0])),h.updateColspanCells(k,i.get(e[0]),!1),p(i.get(e[1])),h.updateColspanCells(k,i.get(e[1]),!0),r.trigger("tablesawcolumns"))}function y(t,e){return(t.touches||t.originalEvent.touches)[0][e]}r.addClass("tablesaw-swipe"),e(),t.appendTo(h.$toolbar),l||(l="tableswipe-"+Math.round(1e4*Math.random()),r.attr("id",l)),a.add(s).on("click",function(t){C(!!S(t.target).closest(s).length),t.preventDefault()}),r.is("["+M+"]")||r.on("touchstart.swipetoggle",function(t){var n,i,o=y(t,"pageX"),l=y(t,"pageY"),r=H.pageYOffset;S(H).off(N.events.resize,m),S(this).on("touchmove.swipetoggle",function(t){n=y(t,"pageX"),i=y(t,"pageY")}).on("touchend.swipetoggle",function(){var t=c.getConfig({swipeHorizontalThreshold:30,swipeVerticalThreshold:30}),e=t.swipe?t.swipe.verticalThreshold:t.swipeVerticalThreshold,a=t.swipe?t.swipe.horizontalThreshold:t.swipeHorizontalThreshold,s=Math.abs(H.pageYOffset-r)>=e;Math.abs(i-l)>=e||s||(n-o<-1*a&&C(!0),a<n-o&&C(!1)),H.setTimeout(function(){S(H).on(N.events.resize,m)}
8,300),S(this).off("touchmove.swipetoggle touchend.swipetoggle")})}),r.on("tablesawcolumns.swipetoggle",function(){var t=v(w()),e=v(g());a[t?"removeClass":"addClass"]($),s[e?"removeClass":"addClass"]($),h.$toolbar[t||e?"removeClass":"addClass"](_)}).on("tablesawnext.swipetoggle",function(){C(!0)}).on("tablesawprev.swipetoggle",function(){C(!1)}).on(N.events.destroy+".swipetoggle",function(){var t=S(this);t.removeClass("tablesaw-swipe"),h.$toolbar.find(".tablesaw-advance").remove(),S(H).off(N.events.resize,m),t.off(".swipetoggle")}).on(N.events.refresh,function(){f(),e(),m()}),m(),S(H).on(N.events.resize,m)}S(B).on(N.events.create,function(t,e){"swipe"===e.mode&&a(e,e.$table)})}(),d={attr:{init:"data-tablesaw-minimap"},show:function(t){var e=t.getAttribute(d.attr.init);return""===e||!!(e&&"matchMedia"in H)&&H.matchMedia(e).matches}},S(B).on(N.events.create,function(t,e){"swipe"!==e.mode&&"columntoggle"!==e.mode||!e.$table.is("[ "+d.attr.init+"]")||function(t){var e=t.data("tablesaw"),a=S('<div class="tablesaw-advance minimap">'),s=S('<ul class="tablesaw-advance-dots">').appendTo(a),n="tablesaw-advance-dots-hide";function i(){if(d.show(t[0])){a.css("display","block");var e=s.find("li").removeClass(n);t.find("thead th").each(function(t){"none"===S(this).css("display")&&e.eq(t).addClass(n)})}else a.css("display","none")}t.data("tablesaw")._getPrimaryHeaderCells().each(function(){s.append("<li><i></i></li>")}),a.appendTo(e.$toolbar),i(),S(H).on(N.events.resize,i),t.on("tablesawcolumns.minimap",function(){i()}).on(N.events.destroy+".minimap",function(){var t=S(this);e.$toolbar.find(".tablesaw-advance").remove(),S(H).off(N.events.resize,i),t.off(".minimap")})}(e.$table)}),N.MiniMap=d,u={selectors:{init:"table[data-tablesaw-mode-switch]"},attributes:{excludeMode:"data-tablesaw-mode-exclude"},classes:{main:"tablesaw-modeswitch",toolbar:"tablesaw-bar-section"},modes:["stack","swipe","columntoggle"],init:function(e){var t,a=S(e),s=a.data("tablesaw"),n=a.attr(u.attributes.excludeMode),i=s.$toolbar,o=S("<div>").addClass(u.classes.main+" "+u.classes.toolbar),l=['<label><span class="abbreviated">'+N.i18n.modeSwitchColumnsAbbreviated+'</span><span class="longform">'+N.i18n.modeSwitchColumns+"</span>:"],r=a.attr("data-tablesaw-mode");l.push('<span class="btn tablesaw-btn"><select>');for(var c=0,h=u.modes.length;c<h;c++)n&&n.toLowerCase()===u.modes[c]||(t=r===u.modes[c],l.push("<option"+(t?" selected":"")+' value="'+u.modes[c]+'">'+N.i18n.modes[c]+"</option>"));l.push("</select></span></label>"),o.html(l.join(""));var d=i.find(".tablesaw-advance").eq(0);d.length?o.insertBefore(d):o.appendTo(i),o.find(".tablesaw-btn").tablesawbtn(),o.find("select").on("change",function(t){return u.onModeChange.call(e,t,S(this).val())})},onModeChange:function(t,e){var a=S(this),s=a.data("tablesaw");s.$toolbar.find("."+u.classes.main).remove(),s.destroy(),a.attr("data-tablesaw-mode",e),a.tablesaw()}},S(B).on(N.events.create,function(t,e){e.$table.is(u.selectors.init)&&u.init(e.table)}),function(){var i="tablesawCheckAll";function a(t){this.tablesaw=t,this.$table=t.$table,this.attr="data-tablesaw-checkall",this.checkAllSelector="["+this.attr+"]",this.forceCheckedSelector="["+this.attr+"-checked]",this.forceUncheckedSelector="["+this.attr+"-unchecked]",this.checkboxSelector='input[type="checkbox"]',this.$triggers=null,this.$checkboxes=null,this.$table.data(i)||(this.$table.data(i,this),this.init())}a.prototype._filterCells=function(t){return t.filter(function(){return!S(this).closest("tr").is("[data-tablesaw-subrow],[data-tablesaw-ignorerow]")}).find(this.checkboxSelector).not(this.checkAllSelector)},a.prototype.getCheckboxesForButton=function(t){return this._filterCells(S(S(t).attr(this.attr)))},a.prototype.getCheckboxesForCheckbox=function(t){return this._filterCells(S(S(t).closest("th")[0].cells))},a.prototype.init=function(){var t=this;this.$table.find(this.checkAllSelector).each(function(){S(this).is(t.checkboxSelector)?t.addCheckboxEvents(this):t.addButtonEvents(this)})},a.prototype.addButtonEvents=function(t){var n=this;S(t).on("click",function(t){t.preventDefault();var e,a=n.getCheckboxesForButton(this),s=!0;a.each(function(){this.checked||(s=!1)}),e=!!S(this).is(n.forceCheckedSelector)||!S(this).is(n.forceUncheckedSelector)&&!s,a.each(function(){this.checked=e,S(this).trigger("change."+i)})})},a.prototype.addCheckboxEvents=function(a){var e=this;S(a).on("change",function(){var t=this.checked;e.getCheckboxesForCheckbox(this).each(function(){this.checked=t})});var s=e.getCheckboxesForCheckbox(a);s.on("change."+i,function(){var t=0;s.each(function(){this.checked&&t++});var e=t===s.length;a.checked=e,a.indeterminate=0!==t&&!e})},S(B).on(N.events.create,function(t,e){new a(e)}),N.CheckAll=a}(),N});
9
10/*
11doubleTapToGo
12*/
13;(function( $, window, document, undefined )
14{
15	$.fn.doubleTapToGo = function( params )
16	{
17		var isIOS = $("html").hasClass('ios') || 
18            (/Macintosh/.test(navigator.userAgent) && navigator.maxTouchPoints > 0);
19
20		if ( (!Modernizr.touchevents) || ( $("html").hasClass('firefox') && !($("html").hasClass('android')) ) || isIOS ) {
21		    return this;
22		}
23		this.each( function()
24		{
25			var curItem = false;
26			$( this ).on( 'click', function( e )
27			{
28				var item = $( this );
29				if( item[ 0 ] != curItem[ 0 ] )
30				{
31					e.preventDefault();
32					curItem = item;
33				}
34			});
35			$( document ).on( 'click touchstart MSPointerDown', function( e )
36			{
37				var resetItem = true,
38					parents = $( e.target ).parents();
39
40				for( var i = 0; i < parents.length; i++ )
41					if( parents[ i ] == curItem[ 0 ] )
42						resetItem = false;
43
44				if( resetItem )
45					curItem = false;
46			});
47		});
48		return this;
49	};
50})( jQuery, window, document );
51
52/*
53consistent checkboxes and radiobuttons
54MARKUP: <div class="radio"><input type="radio"><label>...</label></div>
55*/
56$('input[type="radio"]:not([disabled])').next('label').click(function(event) {
57    $(this).prev('input[type="radio"]').prop('checked', true).trigger('change');
58});
59$('input[type="checkbox"]:not([disabled])').next('label').click(function(event) {
60	if(!$(this).attr('for')) {
61		if ($(this).prev('input[type="checkbox"]').is(':checked')) {
62	        $(this).prev('input[type="checkbox"]').prop('checked', false).trigger('change');
63	    }
64	    else {
65	        $(this).prev('input[type="checkbox"]').prop('checked', true).trigger('change');
66	    }
67	}
68});
69
70/*
71slider (slick.js)
72*/
vendor: 43,577 bytes, line 73
73!function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery"],i):"undefined"!=typeof exports?module.exports=i(require("jquery")):i(jQuery)}(function(d){"use strict";var s,l=window.Slick||{};s=0,(l=function(i,e){var t,o=this;o.defaults={adaptiveHeight:!1,appendArrows:d(i),appendDots:d(i),arrows:!0,arrowsPlacement:null,asNavFor:null,prevArrow:'<button class="slick-prev" type="button"><span class="slick-prev-icon" aria-hidden="true"></span><span class="slick-sr-only">Previous</span></button>',nextArrow:'<button class="slick-next" type="button"><span class="slick-next-icon" aria-hidden="true"></span><span class="slick-sr-only">Next</span></button>',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(i,e){return d('<button type="button"><span class="slick-dot-icon" aria-hidden="true"></span><span class="slick-sr-only">Go to slide '+(e+1)+"</span></button>")},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",edgeFriction:.35,fade:!1,infinite:!0,initialSlide:0,instructionsText:null,lazyLoad:"ondemand",mobileFirst:!1,playIcon:'<span class="slick-play-icon" aria-hidden="true"></span>',pauseIcon:'<span class="slick-pause-icon" aria-hidden="true"></span>',pauseOnHover:!0,pauseOnFocus:!0,pauseOnDotsHover:!1,regionLabel:"carousel",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,useAutoplayToggleButton:!0,useCSS:!0,useGroupRole:!0,useTransform:!0,variableWidth:!1,vertical:!1,verticalSwiping:!1,waitForAnimate:!0,zIndex:1e3},o.initials={animating:!1,dragging:!1,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,$instructionsText:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$pauseButton:null,$pauseIcon:null,$playIcon:null,$prevArrow:null,scrolling:!1,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,sliding:!1,slideOffset:0,swipeLeft:null,swiping:!1,$list:null,touchObject:{},transformsEnabled:!1,unslicked:!1},d.extend(o,o.initials),o.activeBreakpoint=null,o.animType=null,o.animProp=null,o.breakpoints=[],o.breakpointSettings=[],o.cssTransitions=!1,o.focussed=!1,o.interrupted=!1,o.hidden="hidden",o.paused=!0,o.positionProp=null,o.respondTo=null,o.rowCount=1,o.shouldClick=!0,o.$slider=d(i),o.$slidesCache=null,o.transformType=null,o.transitionType=null,o.visibilityChange="visibilitychange",o.windowWidth=0,o.windowTimer=null,t=d(i).data("slick")||{},o.options=d.extend({},o.defaults,e,t),o.currentSlide=o.options.initialSlide,o.originalSettings=o.options,void 0!==document.mozHidden?(o.hidden="mozHidden",o.visibilityChange="mozvisibilitychange"):void 0!==document.webkitHidden&&(o.hidden="webkitHidden",o.visibilityChange="webkitvisibilitychange"),o.autoPlay=d.proxy(o.autoPlay,o),o.autoPlayClear=d.proxy(o.autoPlayClear,o),o.autoPlayIterator=d.proxy(o.autoPlayIterator,o),o.autoPlayToggleHandler=d.proxy(o.autoPlayToggleHandler,o),o.changeSlide=d.proxy(o.changeSlide,o),o.clickHandler=d.proxy(o.clickHandler,o),o.selectHandler=d.proxy(o.selectHandler,o),o.setPosition=d.proxy(o.setPosition,o),o.swipeHandler=d.proxy(o.swipeHandler,o),o.dragHandler=d.proxy(o.dragHandler,o),o.instanceUid=s++,o.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/,o.registerBreakpoints(),o.init(!0)}).prototype.addSlide=l.prototype.slickAdd=function(i,e,t){var o=this;if("boolean"==typeof e)t=e,e=null;else if(e<0||e>=o.slideCount)return!1;o.unload(),"number"==typeof e?0===e&&0===o.$slides.length?d(i).appendTo(o.$slideTrack):t?d(i).insertBefore(o.$slides.eq(e)):d(i).insertAfter(o.$slides.eq(e)):!0===t?d(i).prependTo(o.$slideTrack):d(i).appendTo(o.$slideTrack),o.$slides=o.$slideTrack.children(this.options.slide),o.$slideTrack.children(this.options.slide).detach(),o.$slideTrack.append(o.$slides),o.$slides.each(function(i,e){d(e).attr("data-slick-index",i),d(e).attr("role","group"),d(e).attr("aria-label","slide "+i)}),o.$slidesCache=o.$slides,o.reinit()},l.prototype.animateHeight=function(){var i,e=this;1===e.options.slidesToShow&&!0===e.options.adaptiveHeight&&!1===e.options.vertical&&(i=e.$slides.eq(e.currentSlide).outerHeight(!0),e.$list.animate({height:i},e.options.speed))},l.prototype.animateSlide=function(i,e){var t={},o=this;o.animateHeight(),!0===o.options.rtl&&!1===o.options.vertical&&(i=-i),!1===o.transformsEnabled?!1===o.options.vertical?o.$slideTrack.animate({left:i},o.options.speed,o.options.easing,e):o.$slideTrack.animate({top:i},o.options.speed,o.options.easing,e):!1===o.cssTransitions?(!0===o.options.rtl&&(o.currentLeft=-o.currentLeft),d({animStart:o.currentLeft}).animate({animStart:i},{duration:o.options.speed,easing:o.options.easing,step:function(i){i=Math.ceil(i),!1===o.options.vertical?t[o.animType]="translate("+i+"px, 0px)":t[o.animType]="translate(0px,"+i+"px)",o.$slideTrack.css(t)},complete:function(){e&&e.call()}})):(o.applyTransition(),i=Math.ceil(i),!1===o.options.vertical?t[o.animType]="translate3d("+i+"px, 0px, 0px)":t[o.animType]="translate3d(0px,"+i+"px, 0px)",o.$slideTrack.css(t),e&&setTimeout(function(){o.disableTransition(),e.call()},o.options.speed))},l.prototype.getNavTarget=function(){var i=this.options.asNavFor;return i&&null!==i&&(i=d(i).not(this.$slider)),i},l.prototype.asNavFor=function(e){var i=this.getNavTarget();null!==i&&"object"==typeof i&&i.each(function(){var i=d(this).slick("getSlick");i.unslicked||i.slideHandler(e,!0)})},l.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)},l.prototype.autoPlay=function(){var i=this;i.autoPlayClear(),i.slideCount>i.options.slidesToShow&&(i.autoPlayTimer=setInterval(i.autoPlayIterator,i.options.autoplaySpeed))},l.prototype.autoPlayClear=function(){this.autoPlayTimer&&clearInterval(this.autoPlayTimer)},l.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))},l.prototype.autoPlayToggleHandler=function(){var i=this;i.paused?(i.$playIcon.css("display","none"),i.$pauseIcon.css("display","inline"),i.$pauseButton.find(".slick-play-text").attr("style","display: none"),i.$pauseButton.find(".slick-pause-text").removeAttr("style"),i.slickPlay()):(i.$playIcon.css("display","inline"),i.$pauseIcon.css("display","none"),i.$pauseButton.find(".slick-play-text").removeAttr("style"),i.$pauseButton.find(".slick-pause-text").attr("style","display: none"),i.slickPause())},l.prototype.buildArrows=function(){var i=this;if(!0===i.options.arrows)if(i.$prevArrow=d(i.options.prevArrow).addClass("slick-arrow"),i.$nextArrow=d(i.options.nextArrow).addClass("slick-arrow"),i.slideCount>i.options.slidesToShow){if(i.htmlExpr.test(i.options.prevArrow))if(null!=i.options.arrowsPlacement)switch(i.options.arrowsPlacement){case"beforeSlides":case"split":console.log("test"),i.$prevArrow.prependTo(i.options.appendArrows);break;case"afterSlides":i.$prevArrow.appendTo(i.options.appendArrows)}else i.$prevArrow.prependTo(i.options.appendArrows);if(i.htmlExpr.test(i.options.nextArrow))if(null!=i.options.arrowsPlacement)switch(i.options.arrowsPlacement){case"beforeSlides":console.log("test2"),i.$prevArrow.after(i.$nextArrow);break;case"afterSlides":case"split":i.$nextArrow.appendTo(i.options.appendArrows)}else i.$nextArrow.appendTo(i.options.appendArrows);!0!==i.options.infinite&&i.$prevArrow.addClass("slick-disabled").prop("disabled",!0)}else i.$prevArrow.add(i.$nextArrow).addClass("slick-hidden").prop("disabled",!0)},l.prototype.buildDots=function(){var i,e,t=this;if(!0===t.options.dots&&t.slideCount>t.options.slidesToShow){for(t.$slider.addClass("slick-dotted"),e=d("<ul />").addClass(t.options.dotsClass),i=0;i<=t.getDotCount();i+=1)e.append(d("<li />").append(t.options.customPaging.call(this,t,i)));t.$dots=e.appendTo(t.options.appendDots),t.$dots.find("li").first().addClass("slick-active")}},l.prototype.buildOut=function(){var t=this;t.$slides=t.$slider.children(t.options.slide+":not(.slick-cloned)").addClass("slick-slide"),t.slideCount=t.$slides.length,t.$slides.each(function(i,e){d(e).attr("data-slick-index",i).data("originalStyling",d(e).attr("style")||""),t.options.useGroupRole&&d(e).attr("role","group").attr("aria-label","slide "+(i+1))}),t.$slider.addClass("slick-slider"),t.$slider.attr("role","region"),t.$slider.attr("aria-label",t.options.regionLabel),t.$slideTrack=0===t.slideCount?d('<div class="slick-track"/>').appendTo(t.$slider):t.$slides.wrapAll('<div class="slick-track"/>').parent(),t.$list=t.$slideTrack.wrap('<div class="slick-list"/>').parent(),t.$slideTrack.css("opacity",0),!0!==t.options.centerMode&&!0!==t.options.swipeToSlide||(t.options.slidesToScroll=1),d("img[data-lazy]",t.$slider).not("[src]").addClass("slick-loading"),t.setupInfinite(),t.buildArrows(),t.buildDots(),t.updateDots(),t.setSlideClasses("number"==typeof t.currentSlide?t.currentSlide:0),!0===t.options.draggable&&t.$list.addClass("draggable"),t.options.autoplay&&t.options.useAutoplayToggleButton&&(t.$pauseIcon=d(t.options.pauseIcon).attr("aria-hidden",!0),t.$playIcon=d(t.options.playIcon).attr("aria-hidden",!0),t.$pauseButton=d('<button type="button" class="slick-autoplay-toggle-button">'),t.$pauseButton.append(t.$pauseIcon),t.$pauseButton.append(t.$playIcon.css("display","none")),t.$pauseButton.append(d('<span class="slick-pause-text slick-sr-only">Pause</span>')),t.$pauseButton.append(d('<span class="slick-play-text slick-sr-only" style="display: none">Play</span>')),t.$pauseButton.prependTo(t.$slider)),null!=t.options.instructionsText&&""!=t.options.instructionsText&&(t.$instructionsText=d('<p class="slick-instructions slick-sr-only">'+t.options.instructionsText+"</p>"),t.$instructionsText.prependTo(t.$slider))},l.prototype.buildRows=function(){var i,e,t,o=this,s=document.createDocumentFragment(),n=o.$slider.children();if(0<o.options.rows){for(t=o.options.slidesPerRow*o.options.rows,e=Math.ceil(n.length/t),i=0;i<e;i++){for(var l=document.createElement("div"),r=0;r<o.options.rows;r++){for(var a=document.createElement("div"),d=0;d<o.options.slidesPerRow;d++){var p=i*t+(r*o.options.slidesPerRow+d);n.get(p)&&a.appendChild(n.get(p))}l.appendChild(a)}s.appendChild(l)}o.$slider.empty().append(s),o.$slider.children().children().children().css({width:100/o.options.slidesPerRow+"%",display:"inline-block"})}},l.prototype.checkResponsive=function(i,e){var t,o,s,n=this,l=!1,r=n.$slider.width(),a=window.innerWidth||d(window).width();if("window"===n.respondTo?s=a:"slider"===n.respondTo?s=r:"min"===n.respondTo&&(s=Math.min(a,r)),n.options.responsive&&n.options.responsive.length&&null!==n.options.responsive){for(t in o=null,n.breakpoints)n.breakpoints.hasOwnProperty(t)&&(!1===n.originalSettings.mobileFirst?s<n.breakpoints[t]&&(o=n.breakpoints[t]):s>n.breakpoints[t]&&(o=n.breakpoints[t]));null!==o?null!==n.activeBreakpoint&&o===n.activeBreakpoint&&!e||(n.activeBreakpoint=o,"unslick"===n.breakpointSettings[o]?n.unslick(o):(n.options=d.extend({},n.originalSettings,n.breakpointSettings[o]),!0===i&&(n.currentSlide=n.options.initialSlide),n.refresh(i)),l=o):null!==n.activeBreakpoint&&(n.activeBreakpoint=null,n.options=n.originalSettings,!0===i&&(n.currentSlide=n.options.initialSlide),n.refresh(i),l=o),i||!1===l||n.$slider.trigger("breakpoint",[n,l])}},l.prototype.changeSlide=function(i,e){var t,o,s=this,n=d(i.currentTarget);switch(n.is("a")&&i.preventDefault(),n.is("li")||(n=n.closest("li")),t=s.slideCount%s.options.slidesToScroll!=0?0:(s.slideCount-s.currentSlide)%s.options.slidesToScroll,i.data.message){case"previous":o=0==t?s.options.slidesToScroll:s.options.slidesToShow-t,s.slideCount>s.options.slidesToShow&&s.slideHandler(s.currentSlide-o,!1,e);break;case"next":o=0==t?s.options.slidesToScroll:t,s.slideCount>s.options.slidesToShow&&s.slideHandler(s.currentSlide+o,!1,e);break;case"index":var l=0===i.data.index?0:i.data.index||n.index()*s.options.slidesToScroll;s.slideHandler(s.checkNavigable(l),!1,e),n.children().trigger("focus");break;default:return}},l.prototype.checkNavigable=function(i){var e=this.getNavigableIndexes(),t=0;if(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},l.prototype.cleanUpEvents=function(){var i=this;i.options.autoplay&&i.options.useAutoplayToggleButton&&i.$pauseButton.off("click.slick",i.autoPlayToggleHandler),i.options.dots&&null!==i.$dots&&d("li",i.$dots).off("click.slick",i.changeSlide).off("mouseenter.slick",d.proxy(i.interrupt,i,!0)).off("mouseleave.slick",d.proxy(i.interrupt,i,!1)),i.$slider.off("focus.slick blur.slick"),!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow&&i.$prevArrow.off("click.slick",i.changeSlide),i.$nextArrow&&i.$nextArrow.off("click.slick",i.changeSlide)),i.$list.off("touchstart.slick mousedown.slick",i.swipeHandler),i.$list.off("touchmove.slick mousemove.slick",i.swipeHandler),i.$list.off("touchend.slick mouseup.slick",i.swipeHandler),i.$list.off("touchcancel.slick mouseleave.slick",i.swipeHandler),i.$list.off("click.slick",i.clickHandler),d(document).off(i.visibilityChange,i.visibility),i.cleanUpSlideEvents(),d(window).off("orientationchange.slick.slick-"+i.instanceUid,i.orientationChange),d(window).off("resize.slick.slick-"+i.instanceUid,i.resize),d("[draggable!=true]",i.$slideTrack).off("dragstart",i.preventDefault),d(window).off("load.slick.slick-"+i.instanceUid,i.setPosition)},l.prototype.cleanUpSlideEvents=function(){var i=this;i.$list.off("mouseenter.slick",d.proxy(i.interrupt,i,!0)),i.$list.off("mouseleave.slick",d.proxy(i.interrupt,i,!1))},l.prototype.cleanUpRows=function(){var i;0<this.options.rows&&((i=this.$slides.children().children()).removeAttr("style"),this.$slider.empty().append(i))},l.prototype.clickHandler=function(i){!1===this.shouldClick&&(i.stopImmediatePropagation(),i.stopPropagation(),i.preventDefault())},l.prototype.destroy=function(i){var e=this;e.autoPlayClear(),e.touchObject={},e.cleanUpEvents(),d(".slick-cloned",e.$slider).detach(),e.options.autoplay&&e.options.useAutoplayToggleButton&&e.$pauseButton.remove(),e.$dots&&e.$dots.remove(),e.$prevArrow&&e.$prevArrow.length&&(e.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").prop("disabled",!1).css("display",""),e.htmlExpr.test(e.options.prevArrow)&&e.$prevArrow.remove()),e.$nextArrow&&e.$nextArrow.length&&(e.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").prop("disabled",!1).css("display",""),e.htmlExpr.test(e.options.nextArrow)&&e.$nextArrow.remove()),e.$slides&&(e.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function(){d(this).attr("style",d(this).data("originalStyling"))}),e.$slideTrack.children(this.options.slide).detach(),e.$slideTrack.detach(),e.$list.detach(),e.$slider.append(e.$slides)),e.cleanUpRows(),e.$slider.removeClass("slick-slider"),e.$slider.removeClass("slick-initialized"),e.$slider.removeClass("slick-dotted"),e.unslicked=!0,i||e.$slider.trigger("destroy",[e])},l.prototype.disableTransition=function(i){var e={};e[this.transitionType]="",!1===this.options.fade?this.$slideTrack.css(e):this.$slides.eq(i).css(e)},l.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))},l.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}))},l.prototype.filterSlides=l.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())},l.prototype.focusHandler=function(){var t=this;t.$slider.off("focus.slick blur.slick").on("focus.slick","*",function(i){var e=d(this);setTimeout(function(){t.options.pauseOnFocus&&e.is(":focus")&&(t.focussed=!0,t.autoPlay())},0)}).on("blur.slick","*",function(i){d(this);t.options.pauseOnFocus&&(t.focussed=!1,t.autoPlay())})},l.prototype.getCurrent=l.prototype.slickCurrentSlide=function(){return this.currentSlide},l.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},l.prototype.getLeft=function(i){var e,t,o,s,n=this,l=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)),l=t*n.options.slidesToShow*s),n.slideCount%n.options.slidesToScroll!=0&&i+n.options.slidesToScroll>n.slideCount&&n.slideCount>n.options.slidesToShow&&(l=i>n.slideCount?(n.slideOffset=(n.options.slidesToShow-(i-n.slideCount))*n.slideWidth*-1,(n.options.slidesToShow-(i-n.slideCount))*t*-1):(n.slideOffset=n.slideCount%n.options.slidesToScroll*n.slideWidth*-1,n.slideCount%n.options.slidesToScroll*t*-1))):i+n.options.slidesToShow>n.slideCount&&(n.slideOffset=(i+n.options.slidesToShow-n.slideCount)*n.slideWidth,l=(i+n.options.slidesToShow-n.slideCount)*t),n.slideCount<=n.options.slidesToShow&&(l=n.slideOffset=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+l,!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},l.prototype.getOption=l.prototype.slickGetOption=function(i){return this.options[i]},l.prototype.getNavigableIndexes=function(){for(var i=this,e=0,t=0,o=[],s=!1===i.options.infinite?i.slideCount:(e=-1*i.options.slidesToScroll,t=-1*i.options.slidesToScroll,2*i.slideCount);e<s;)o.push(e),e=t+i.options.slidesToScroll,t+=i.options.slidesToScroll<=i.options.slidesToShow?i.options.slidesToScroll:i.options.slidesToShow;return o},l.prototype.getSlick=function(){return this},l.prototype.getSlideCount=function(){var s,n=this,i=!0===n.options.centerMode?Math.floor(n.$list.width()/2):0,l=-1*n.swipeLeft+i;return!0===n.options.swipeToSlide?(n.$slideTrack.find(".slick-slide").each(function(i,e){var t=d(e).outerWidth(),o=e.offsetLeft;if(!0!==n.options.centerMode&&(o+=t/2),l<o+t)return s=e,!1}),Math.abs(d(s).attr("data-slick-index")-n.currentSlide)||1):n.options.slidesToScroll},l.prototype.goTo=l.prototype.slickGoTo=function(i,e){this.changeSlide({data:{message:"index",index:parseInt(i)}},e)},l.prototype.init=function(i){var e=this;d(e.$slider).hasClass("slick-initialized")||(d(e.$slider).addClass("slick-initialized"),e.buildRows(),e.buildOut(),e.setProps(),e.startLoad(),e.loadSlider(),e.initializeEvents(),e.updateArrows(),e.updateDots(),e.checkResponsive(!0),e.focusHandler()),i&&e.$slider.trigger("init",[e]),e.options.autoplay&&(e.paused=!1,e.autoPlay()),e.updateSlideVisibility(),null!=e.options.accessibility&&console.warn("accessibility setting is no longer supported."),null!=e.options.focusOnChange&&console.warn("focusOnChange is no longer supported."),null!=e.options.focusOnSelect&&console.warn("focusOnSelect is no longer supported.")},l.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))},l.prototype.initDotEvents=function(){var i=this;!0===i.options.dots&&i.slideCount>i.options.slidesToShow&&d("li",i.$dots).on("click.slick",{message:"index"},i.changeSlide),!0===i.options.dots&&!0===i.options.pauseOnDotsHover&&i.slideCount>i.options.slidesToShow&&d("li",i.$dots).on("mouseenter.slick",d.proxy(i.interrupt,i,!0)).on("mouseleave.slick",d.proxy(i.interrupt,i,!1))},l.prototype.initSlideEvents=function(){var i=this;i.options.pauseOnHover&&(i.$list.on("mouseenter.slick",d.proxy(i.interrupt,i,!0)),i.$list.on("mouseleave.slick",d.proxy(i.interrupt,i,!1)))},l.prototype.initializeEvents=function(){var i=this;i.initArrowEvents(),i.initDotEvents(),i.initSlideEvents(),i.options.autoplay&&i.options.useAutoplayToggleButton&&i.$pauseButton.on("click.slick",i.autoPlayToggleHandler),i.$list.on("touchstart.slick mousedown.slick",{action:"start"},i.swipeHandler),i.$list.on("touchmove.slick mousemove.slick",{action:"move"},i.swipeHandler),i.$list.on("touchend.slick mouseup.slick",{action:"end"},i.swipeHandler),i.$list.on("touchcancel.slick mouseleave.slick",{action:"end"},i.swipeHandler),i.$list.on("click.slick",i.clickHandler),d(document).on(i.visibilityChange,d.proxy(i.visibility,i)),d(window).on("orientationchange.slick.slick-"+i.instanceUid,d.proxy(i.orientationChange,i)),d(window).on("resize.slick.slick-"+i.instanceUid,d.proxy(i.resize,i)),d("[draggable!=true]",i.$slideTrack).on("dragstart",i.preventDefault),d(window).on("load.slick.slick-"+i.instanceUid,i.setPosition),d(i.setPosition)},l.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()},l.prototype.lazyLoad=function(){var i,e,t,n=this;function o(i){d("img[data-lazy]",i).each(function(){var i=d(this),e=d(this).attr("data-lazy"),t=d(this).attr("data-srcset"),o=d(this).attr("data-sizes")||n.$slider.attr("data-sizes"),s=document.createElement("img");s.onload=function(){i.animate({opacity:0},100,function(){t&&(i.attr("srcset",t),o&&i.attr("sizes",o)),i.attr("src",e).animate({opacity:1},200,function(){i.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading")}),n.$slider.trigger("lazyLoaded",[n,i,e])})},s.onerror=function(){i.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),n.$slider.trigger("lazyLoadError",[n,i,e])},s.src=e})}if(!0===n.options.centerMode?t=!0===n.options.infinite?(e=n.currentSlide+(n.options.slidesToShow/2+1))+n.options.slidesToShow+2:(e=Math.max(0,n.currentSlide-(n.options.slidesToShow/2+1)),n.options.slidesToShow/2+1+2+n.currentSlide):(e=n.options.infinite?n.options.slidesToShow+n.currentSlide:n.currentSlide,t=Math.ceil(e+n.options.slidesToShow),!0===n.options.fade&&(0<e&&e--,t<=n.slideCount&&t++)),i=n.$slider.find(".slick-slide").slice(e,t),"anticipated"===n.options.lazyLoad)for(var s=e-1,l=t,r=n.$slider.find(".slick-slide"),a=0;a<n.options.slidesToScroll;a++)s<0&&(s=n.slideCount-1),i=(i=i.add(r.eq(s))).add(r.eq(l)),s--,l++;o(i),n.slideCount<=n.options.slidesToShow?o(n.$slider.find(".slick-slide")):n.currentSlide>=n.slideCount-n.options.slidesToShow?o(n.$slider.find(".slick-cloned").slice(0,n.options.slidesToShow)):0===n.currentSlide&&o(n.$slider.find(".slick-cloned").slice(-1*n.options.slidesToShow))},l.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()},l.prototype.next=l.prototype.slickNext=function(){this.changeSlide({data:{message:"next"}})},l.prototype.orientationChange=function(){this.checkResponsive(),this.setPosition()},l.prototype.pause=l.prototype.slickPause=function(){this.autoPlayClear(),this.paused=!0},l.prototype.play=l.prototype.slickPlay=function(){var i=this;i.autoPlay(),i.options.autoplay=!0,i.paused=!1,i.focussed=!1,i.interrupted=!1},l.prototype.postSlide=function(i){var e=this;e.unslicked||(e.$slider.trigger("afterChange",[e,i]),e.animating=!1,e.slideCount>e.options.slidesToShow&&e.setPosition(),e.swipeLeft=null,e.options.autoplay&&e.autoPlay(),e.updateSlideVisibility())},l.prototype.prev=l.prototype.slickPrev=function(){this.changeSlide({data:{message:"previous"}})},l.prototype.preventDefault=function(i){i.preventDefault()},l.prototype.progressiveLazyLoad=function(i){i=i||1;var e,t,o,s,n,l=this,r=d("img[data-lazy]",l.$slider);r.length?(e=r.first(),t=e.attr("data-lazy"),o=e.attr("data-srcset"),s=e.attr("data-sizes")||l.$slider.attr("data-sizes"),(n=document.createElement("img")).onload=function(){o&&(e.attr("srcset",o),s&&e.attr("sizes",s)),e.attr("src",t).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"),!0===l.options.adaptiveHeight&&l.setPosition(),l.$slider.trigger("lazyLoaded",[l,e,t]),l.progressiveLazyLoad()},n.onerror=function(){i<3?setTimeout(function(){l.progressiveLazyLoad(i+1)},500):(e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),l.$slider.trigger("lazyLoadError",[l,e,t]),l.progressiveLazyLoad())},n.src=t):l.$slider.trigger("allImagesLoaded",[l])},l.prototype.refresh=function(i){var e,t=this,o=t.slideCount-t.options.slidesToShow;!t.options.infinite&&t.currentSlide>o&&(t.currentSlide=o),t.slideCount<=t.options.slidesToShow&&(t.currentSlide=0),e=t.currentSlide,t.destroy(!0),d.extend(t,t.initials,{currentSlide:e}),t.init(),i||t.changeSlide({data:{message:"index",index:e}},!1)},l.prototype.registerBreakpoints=function(){var i,e,t,o=this,s=o.options.responsive||null;if("array"===d.type(s)&&s.length){for(i in o.respondTo=o.options.respondTo||"window",s)if(t=o.breakpoints.length-1,s.hasOwnProperty(i)){for(e=s[i].breakpoint;0<=t;)o.breakpoints[t]&&o.breakpoints[t]===e&&o.breakpoints.splice(t,1),t--;o.breakpoints.push(e),o.breakpointSettings[e]=s[i].settings}o.breakpoints.sort(function(i,e){return o.options.mobileFirst?i-e:e-i})}},l.prototype.reinit=function(){var i=this;i.$slides=i.$slideTrack.children(i.options.slide).addClass("slick-slide"),i.slideCount=i.$slides.length,i.currentSlide>=i.slideCount&&0!==i.currentSlide&&(i.currentSlide=i.currentSlide-i.options.slidesToScroll),i.slideCount<=i.options.slidesToShow&&(i.currentSlide=0),i.registerBreakpoints(),i.setProps(),i.setupInfinite(),i.buildArrows(),i.updateArrows(),i.initArrowEvents(),i.buildDots(),i.updateDots(),i.initDotEvents(),i.cleanUpSlideEvents(),i.initSlideEvents(),i.checkResponsive(!1,!0),i.setSlideClasses("number"==typeof i.currentSlide?i.currentSlide:0),i.setPosition(),i.focusHandler(),i.paused=!i.options.autoplay,i.autoPlay(),i.$slider.trigger("reInit",[i])},l.prototype.resize=function(){var i=this;d(window).width()!==i.windowWidth&&(clearTimeout(i.windowDelay),i.windowDelay=window.setTimeout(function(){i.windowWidth=d(window).width(),i.checkResponsive(),i.unslicked||i.setPosition()},50))},l.prototype.removeSlide=l.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()},l.prototype.setCSS=function(i){var e,t,o=this,s={};!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||(!(s={})===o.cssTransitions?s[o.animType]="translate("+e+", "+t+")":s[o.animType]="translate3d("+e+", "+t+", 0px)"),o.$slideTrack.css(s)},l.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)},l.prototype.setFade=function(){var t,o=this;o.$slides.each(function(i,e){t=o.slideWidth*i*-1,!0===o.options.rtl?d(e).css({position:"relative",right:t,top:0,zIndex:o.options.zIndex-2,opacity:0}):d(e).css({position:"relative",left:t,top:0,zIndex:o.options.zIndex-2,opacity:0})}),o.$slides.eq(o.currentSlide).css({zIndex:o.options.zIndex-1,opacity:1})},l.prototype.setHeight=function(){var i,e=this;1===e.options.slidesToShow&&!0===e.options.adaptiveHeight&&!1===e.options.vertical&&(i=e.$slides.eq(e.currentSlide).outerHeight(!0),e.$list.css("height",i))},l.prototype.setOption=l.prototype.slickSetOption=function(){var i,e,t,o,s,n=this,l=!1;if("object"===d.type(arguments[0])?(t=arguments[0],l=arguments[1],s="multiple"):"string"===d.type(arguments[0])&&(o=arguments[1],l=arguments[2],"responsive"===(t=arguments[0])&&"array"===d.type(arguments[1])?s="responsive":void 0!==arguments[1]&&(s="single")),"single"===s)n.options[t]=o;else if("multiple"===s)d.each(t,function(i,e){n.options[i]=e});else if("responsive"===s)for(e in o)if("array"!==d.type(n.options.responsive))n.options.responsive=[o[e]];else{for(i=n.options.responsive.length-1;0<=i;)n.options.responsive[i].breakpoint===o[e].breakpoint&&n.options.responsive.splice(i,1),i--;n.options.responsive.push(o[e])}l&&(n.unload(),n.reinit())},l.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])},l.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},l.prototype.setSlideClasses=function(i){var e,t,o,s,n=this,l=n.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden","true").attr("aria-label",function(){return d(this).attr("aria-label").replace(" (centered)","")});n.$slides.eq(i).addClass("slick-current"),!0===n.options.centerMode?(o=n.options.slidesToShow%2==0?1:0,s=Math.floor(n.options.slidesToShow/2),!0===n.options.infinite&&(s<=i&&i<=n.slideCount-1-s?n.$slides.slice(i-s+o,i+s+1).addClass("slick-active").removeAttr("aria-hidden"):(e=n.options.slidesToShow+i,l.slice(e-s+1+o,e+s+2).addClass("slick-active").removeAttr("aria-hidden")),0===i?l.eq(n.options.slidesToShow+n.slideCount+1).addClass("slick-center").attr("aria-label",function(){return d(this).attr("aria-label")+" (centered)"}):i===n.slideCount-1&&l.eq(n.options.slidesToShow).addClass("slick-center").attr("aria-label",function(){return d(this).attr("aria-label")+" (centered)"})),n.$slides.eq(i).addClass("slick-center").attr("aria-label",function(){return d(this).attr("aria-label")+" (centered)"})):0<=i&&i<=n.slideCount-n.options.slidesToShow?n.$slides.slice(i,i+n.options.slidesToShow).addClass("slick-active").removeAttr("aria-hidden"):l.length<=n.options.slidesToShow?l.addClass("slick-active").removeAttr("aria-hidden"):(t=n.slideCount%n.options.slidesToShow,e=!0===n.options.infinite?n.options.slidesToShow+i:i,n.options.slidesToShow==n.options.slidesToScroll&&n.slideCount-i<n.options.slidesToShow?l.slice(e-(n.options.slidesToShow-t),e+t).addClass("slick-active").removeAttr("aria-hidden"):l.slice(e,e+n.options.slidesToShow).addClass("slick-active").removeAttr("aria-hidden")),"ondemand"!==n.options.lazyLoad&&"anticipated"!==n.options.lazyLoad||n.lazyLoad()},l.prototype.setupInfinite=function(){var i,e,t,o=this;if(!0===o.options.fade&&(o.options.centerMode=!1),!0===o.options.infinite&&!1===o.options.fade&&(e=null,o.slideCount>o.options.slidesToShow)){for(t=!0===o.options.centerMode?o.options.slidesToShow+1:o.options.slidesToShow,i=o.slideCount;i>o.slideCount-t;--i)e=i-1,d(o.$slides[e]).clone(!0).attr("id","").attr("data-slick-index",e-o.slideCount).prependTo(o.$slideTrack).addClass("slick-cloned");for(i=0;i<t+o.slideCount;i+=1)e=i,d(o.$slides[e]).clone(!0).attr("id","").attr("data-slick-index",e+o.slideCount).appendTo(o.$slideTrack).addClass("slick-cloned");o.$slideTrack.find(".slick-cloned").find("[id]").each(function(){d(this).attr("id","")})}},l.prototype.interrupt=function(i){i||this.autoPlay(),this.interrupted=i},l.prototype.selectHandler=function(i){var e=d(i.target).is(".slick-slide")?d(i.target):d(i.target).parents(".slick-slide"),t=(t=parseInt(e.attr("data-slick-index")))||0;this.slideCount<=this.options.slidesToShow?this.slideHandler(t,!1,!0):this.slideHandler(t)},l.prototype.slideHandler=function(i,e,t){var o,s,n,l,r,a,d=this;if(e=e||!1,!(!0===d.animating&&!0===d.options.waitForAnimate||!0===d.options.fade&&d.currentSlide===i))if(!1===e&&d.asNavFor(i),o=i,r=d.getLeft(o),l=d.getLeft(d.currentSlide),d.currentLeft=null===d.swipeLeft?l:d.swipeLeft,!1===d.options.infinite&&!1===d.options.centerMode&&(i<0||i>d.getDotCount()*d.options.slidesToScroll))!1===d.options.fade&&(o=d.currentSlide,!0!==t&&d.slideCount>d.options.slidesToShow?d.animateSlide(l,function(){d.postSlide(o)}):d.postSlide(o));else if(!1===d.options.infinite&&!0===d.options.centerMode&&(i<0||i>d.slideCount-d.options.slidesToScroll))!1===d.options.fade&&(o=d.currentSlide,!0!==t&&d.slideCount>d.options.slidesToShow?d.animateSlide(l,function(){d.postSlide(o)}):d.postSlide(o));else{if(d.options.autoplay&&clearInterval(d.autoPlayTimer),s=o<0?d.slideCount%d.options.slidesToScroll!=0?d.slideCount-d.slideCount%d.options.slidesToScroll:d.slideCount+o:o>=d.slideCount?d.slideCount%d.options.slidesToScroll!=0?0:o-d.slideCount:o,d.animating=!0,d.$slider.trigger("beforeChange",[d,d.currentSlide,s]),n=d.currentSlide,d.currentSlide=s,d.setSlideClasses(d.currentSlide),d.options.asNavFor&&(a=(a=d.getNavTarget()).slick("getSlick")).slideCount<=a.options.slidesToShow&&a.setSlideClasses(d.currentSlide),d.updateDots(),d.updateArrows(),!0===d.options.fade)return!0!==t?(d.fadeSlideOut(n),d.fadeSlide(s,function(){d.postSlide(s)})):d.postSlide(s),void d.animateHeight();!0!==t&&d.slideCount>d.options.slidesToShow?d.animateSlide(r,function(){d.postSlide(s)}):d.postSlide(s)}},l.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")},l.prototype.swipeDirection=function(){var i=this,e=i.touchObject.startX-i.touchObject.curX,t=i.touchObject.startY-i.touchObject.curY,o=Math.atan2(t,e),s=Math.round(180*o/Math.PI);return s<0&&(s=360-Math.abs(s)),s<=45&&0<=s||s<=360&&315<=s?!1===i.options.rtl?"left":"right":135<=s&&s<=225?!1===i.options.rtl?"right":"left":!0===i.options.verticalSwiping?35<=s&&s<=135?"down":"up":"vertical"},l.prototype.swipeEnd=function(i){var e,t,o=this;if(o.dragging=!1,o.swiping=!1,o.scrolling)return o.scrolling=!1;if(o.interrupted=!1,o.shouldClick=!(10<o.touchObject.swipeLength),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={})},l.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)}},l.prototype.swipeMove=function(i){var e,t,o,s,n,l=this,r=void 0!==i.originalEvent?i.originalEvent.touches:null;return!(!l.dragging||l.scrolling||r&&1!==r.length)&&(e=l.getLeft(l.currentSlide),l.touchObject.curX=void 0!==r?r[0].pageX:i.clientX,l.touchObject.curY=void 0!==r?r[0].pageY:i.clientY,l.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(l.touchObject.curX-l.touchObject.startX,2))),n=Math.round(Math.sqrt(Math.pow(l.touchObject.curY-l.touchObject.startY,2))),!l.options.verticalSwiping&&!l.swiping&&4<n?!(l.scrolling=!0):(!0===l.options.verticalSwiping&&(l.touchObject.swipeLength=n),t=l.swipeDirection(),void 0!==i.originalEvent&&4<l.touchObject.swipeLength&&(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)===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))))},l.prototype.swipeStart=function(i){var e,t=this;if(t.interrupted=!0,1!==t.touchObject.fingerCount||t.slideCount<=t.options.slidesToShow)return!(t.touchObject={});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},l.prototype.unfilterSlides=l.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())},l.prototype.unload=function(){var i=this;d(".slick-cloned",i.$slider).remove(),i.$dots&&i.$dots.remove(),i.$prevArrow&&i.htmlExpr.test(i.options.prevArrow)&&i.$prevArrow.remove(),i.$nextArrow&&i.htmlExpr.test(i.options.nextArrow)&&i.$nextArrow.remove(),i.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden","true").css("width","")},l.prototype.unslick=function(i){this.$slider.trigger("unslick",[this,i]),this.destroy()},l.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").prop("disabled",!1),i.$nextArrow.removeClass("slick-disabled").prop("disabled",!1),0===i.currentSlide?(i.$prevArrow.addClass("slick-disabled").prop("disabled",!0),i.$nextArrow.removeClass("slick-disabled").prop("disabled",!1)):(i.currentSlide>=i.slideCount-i.options.slidesToShow&&!1===i.options.centerMode||i.currentSlide>=i.slideCount-1&&!0===i.options.centerMode)&&(i.$nextArrow.addClass("slick-disabled").prop("disabled",!0),i.$prevArrow.removeClass("slick-disabled").prop("disabled",!1)))},l.prototype.updateDots=function(){var i=this;null!==i.$dots&&(i.$dots.find("li").removeClass("slick-active").find("button").removeAttr("aria-current").end().end(),i.$dots.find("li").eq(Math.floor(i.currentSlide/i.options.slidesToScroll)).addClass("slick-active").find("button").attr("aria-current",!0).end().end())},l.prototype.updateSlideVisibility=function(){this.$slideTrack.find(".slick-slide").attr("aria-hidden","true").find("a, input, button, select").attr("tabindex","-1"),this.$slideTrack.find(".slick-active").removeAttr("aria-hidden").find("a, input, button, select").removeAttr("tabindex")},l.prototype.visibility=function(){this.options.autoplay&&(document[this.hidden]?this.interrupted=!0:this.interrupted=!1)},d.fn.slick=function(){for(var i,e=this,t=arguments[0],o=Array.prototype.slice.call(arguments,1),s=e.length,n=0;n<s;n++)if("object"==typeof t||void 0===t?e[n].slick=new l(e[n],t):i=e[n].slick[t].apply(e[n].slick,o),void 0!==i)return i;return e}});
73
74
75/*
76constants, sync with CSS
77*/
78const breakpoint_crapphone = 320;
79const breakpoint_smartphone_portraitonly = 440;
80const breakpoint_smartphone = 800;
81const breakpoint_phablet_portraitonly = 520;
82const breakpoint_phablet = 930;
83const breakpoint_tablet_portraitonly = 770;
84const breakpoint_tablet = 1030;
85const breakpoint_19inch = 1300;
86const breakpoint_medium_screen = 1440;
87const breakpoint_large_screen = 1660;
88const container_padding = 20;
89const lang = $('html').attr('lang');
90
91
92/*
93mobile/desktop switch
94*/
95function screenSize() {
96    var compareWidth, detector;
97    detector = jQuery('.js');
98    compareWidth = detector.width();
99    if ($(window).width() < breakpoint_smartphone) {
100        $("html").addClass("smallscreen");
101        $("html").removeClass("largescreen");
102    } else {
103        $("html").addClass("largescreen");
104        $("html").removeClass("smallscreen");
105    }
106    if (window.matchMedia("(orientation: portrait)").matches) {
107        $("html").addClass("portrait");
108        $("html").removeClass("landscape");
109    }
110    if (window.matchMedia("(orientation: landscape)").matches) {
111        $("html").addClass("landscape");
112        $("html").removeClass("portrait");
113    }
114};
115
116//Navigation accessibility
117function Nav() {
118    const $parents = $('li.parent');
119    const $hamburger = $('.hamburger');
120    const $mobileNav = $('#mainnav-mobile');
121    const $htmlBody = $('html, body'); // Beide Elemente für den Scroll-Lock
122
123    $parents.off('mouseenter focusin mouseleave focusout keydown');
124    $hamburger.off('click keydown');
125
126    if ($(window).width() > breakpoint_tablet) {
127        let escClose = false;
128
129        $parents.on('mouseenter focusin', function() {
130            if (escClose) return;
131            $(this).attr('aria-expanded', 'true').addClass('is-open');
132        });
133
134        $parents.on('mouseleave focusout', function() {
135            const $li = $(this);
136            setTimeout(() => {
137                if (!$li.find(':focus').length) {
138                    $li.attr('aria-expanded', 'false').removeClass('is-open');
139                }
140            }, 0);
141        });
142
143        $parents.on('keydown', function(e) {
144            if (e.key === 'Escape' || e.keyCode === 27) {
145                const $li = $(this);
146                escClose = true;
147                $li.attr('aria-expanded', 'false').removeClass('is-open');
148                $li.children('a').trigger('focus');
149
150                setTimeout(() => { escClose = false; }, 150);
151                e.preventDefault();
152            }
153        });
154
155        $parents.doubleTapToGo();
156
157        $hamburger.removeClass('is-active').attr('aria-expanded', 'false').attr('aria-label', 'Hauptnavigation öffnen');
158        $mobileNav.removeClass('is-open');
159        $htmlBody.removeClass('hidden'); 
160
161    } else {
162        $parents.attr('aria-expanded', 'true').addClass('is-open');
163
164        $hamburger.on('click', function() {
165            const isOpen = $(this).hasClass('is-active');
166
167            $(this).toggleClass('is-active');
168            $mobileNav.toggleClass('is-open');
169            $htmlBody.toggleClass('hidden'); 
170
171            $(this).attr('aria-expanded', !isOpen);
172            $(this).attr('aria-label', isOpen ? 'Hauptnavigation öffnen' : 'Hauptnavigation schließen');
173        });
174
175        $hamburger.on('keydown', function(e) {
176            if (e.key === 'Enter' || e.keyCode === 13) {
177                e.preventDefault();
178                $(this).trigger('click');
179            }
180        });
181    }
182}
183
184function FilterMobile() {
185    const $filterButton = $('#filter-toggle');
186    const $filterContainer = $('#w52-filter');
187    const $htmlBody = $('body');
188    $filterButton.on('click keydown', function(e) {
189        if (e.type === 'click' || (e.type === 'keydown' && (e.key === 'Enter' || e.keyCode === 13))) {
190            e.preventDefault();
191            const isOpen = $filterContainer.hasClass('is-open');
192            $filterContainer.toggleClass('is-open')
193            $htmlBody.toggleClass('hidden'); 
194            $filterButton.attr('aria-expanded', !isOpen);
195        }
196    });
197}
198
199function AnchorMobile() {
200    const $AnchorButton = $('.anchor-links-toggle');
201    const $AnchorContainer = $('#anchor-links, #speaker-list');
202    // const $htmlBody = $('body');
203    $AnchorButton.on('click keydown', function(e) {
204        if (e.type === 'click' || (e.type === 'keydown' && (e.key === 'Enter' || e.keyCode === 13))) {
205            e.preventDefault();
206            const isOpen = $AnchorContainer.hasClass('is-open');
207            $AnchorContainer.toggleClass('is-open').slideToggle(300);
208            $AnchorButton.toggleClass('is-active');
209            $AnchorButton.attr('aria-expanded', !isOpen);
210        }
211    });
212}
213
214function SliderCall() {
215    $('.main-slider, .slider_big .ce-inner').each(function() {
216        $(this).slick({
217            slidesToShow: 1,
218            slidesToScroll: 1,
219            autoplay: false,
220            fade: true,
221            cssEase: 'linear',
222            dots: false,
223            arrows: true,
224            centerMode: false,
225            draggable: true,
226            pauseOnHover: false
227        });
228    });
229    $('.column-3-slider').slick({
230        slidesToShow: 3,
231        slidesToScroll: 1,
232        autoplay: false,
233        dots: false,
234        arrows: true,
235        centerMode: false,
236        draggable: true,
237        infinite: false,
238        pauseOnHover: false,
239        responsive: [
240            {
241                breakpoint: breakpoint_smartphone,
242                settings: {
243                    slidesToShow: 2
244                }
245            },
246            {
247                breakpoint: breakpoint_smartphone_portraitonly,
248                settings: {
249                    slidesToShow: 1
250                }
251            }
252        ]
253    });
254}
255
256function InfoI() {
257    $('.waitlist-info-i').focus(function() {
258        $(this).attr('aria-expanded', 'true');
259    });
260    $('.waitlist-info-i').blur(function() {
261        $(this).attr('aria-expanded', 'false');
262    });
263    //close on esc
264    $('.waitlist-info-i').on('keydown', function(e) {
265        if (e.key === 'Escape' || e.keyCode === 27) {
266            $(this).attr('aria-expanded', 'false');
267            $(this).blur();
268            e.preventDefault();
269        }
270    });
271}
272
273function SmoothScroll() {
274    $(document).on('click', "a[href^='#']", function(event) {
275        if (this.hash !== "") {
276            const target = $(this.hash);
277            if (target.length) {
278                event.preventDefault();
279
280                $('html, body').animate({
281                    scrollTop: target.offset().top - 79
282                }, 750);
283                window.history.pushState(null, null, this.hash);
284            }
285        }
286    });
287
288    //onclick back-to-top
289    $(window).scroll(function() {
290        if ($(this).scrollTop() > 100) {
291            $('.back-to-top').fadeIn();
292        } else {
293            $('.back-to-top').fadeOut();
294        }
295    });
296
297    $('.back-to-top').click(function(event) {
298        $('html, body').animate({ scrollTop: 0 }, 600);
299    });
300}
301
302function TopicBox() {
303    const $root = $('.event-topics-list');
304    if (!$root.length || $root.data('topicsProcessed')) return;
305    $root.data('topicsProcessed', true);
306
307    const nodes = $root.contents().toArray().filter(n => !(n.nodeType === 3 && !n.nodeValue.trim()));
308    const blocks = [];
309    let current = [];
310    nodes.forEach(n => {
311        if (n.nodeType === 1 && n.tagName === 'HR') {
312            if (current.length) blocks.push(current);
313            current = [];
314            n.remove();
315        } else {
316            current.push(n);
317        }
318    });
319    if (current.length) blocks.push(current);
320
321    const $frag = $(document.createDocumentFragment());
322
323    blocks.forEach(group => {
324        const $card = $('<article class="topic-card" role="article"></article>');
325        const $head = $('<header class="topic-card__head"></header>');
326        const $body = $('<div class="topic-card__body"></div>');
327
328        let $title = null;
329        for (const tag of ['H1', 'H2', 'H3', 'H4', 'H5', 'H6']) {
330            const idx = group.findIndex(n => n.nodeType === 1 && n.tagName === tag);
331            if (idx > -1) {
332                $title = $(group[idx]);
333                group.splice(idx, 1);
334                break;
335            }
336        }
337
338        const pIdx = group.findIndex(n => n.nodeType === 1 && n.tagName === 'P');
339        const $subtitle = pIdx > -1 ? $(group.splice(pIdx, 1)[0]) : null;
340
341        if ($title) { $title.addClass('topic-card__title').appendTo($head); }
342        if ($subtitle) { $subtitle.addClass('topic-card__subtitle').appendTo($head); }
343
344        group.forEach(n => $body.append(n));
345
346        if ($head.children().length) $card.append($head);
347        if ($.trim($body.text()).length || $body.children().length) $card.append($body);
348        if ($card.children().length) $frag.append($card);
349    });
350
351    $root.empty().append($frag).addClass('topic-grid');
352}
353
354function StickyRegistrationButton() {
355    //check if sticky is top 0 then add class to button
356    const $button = $('.sticky-registration');
357    if (!$button.length) return;
358    const offset = $button.offset().top;
359    $(window).scroll(function() {
360        if ($(window).scrollTop() > offset) {
361            $button.addClass('is-sticky');
362        } else {
363            $button.removeClass('is-sticky');
364        }
365    });
366}
367
368function InfoIRaeume() {
369    $('.kapazitaet tr').each(function() {
370        const $cells = $(this).find('td');
371        if ($cells.length < 2) return;
372
373        const firstCellText = $.trim($cells.eq(0).text());
374        const firstWord = firstCellText.split(' ')[0].toLowerCase();
375        const imagePath = `/static/Images/icon-${firstWord}.svg`;
376
377        const tooltipHTML = `
378        <div class="waitlist-info">
379            <div class="waitlist-info-i" role="button" tabindex="0" aria-expanded="false">
380                <img alt="Info" src="/static/Images/info.svg" width="16" height="16">
381                <div class="waitlist-info-text" role="region">
382                    <img src="${imagePath}" alt="Kapazität ${firstWord}" />
383                </div>
384            </div>
385        </div>
386    `;
387
388        $cells.eq(1).html(tooltipHTML);
389    });
390}
391
392function Accordion() {
393    const $accordions = $('.frame-accordion');
394    $accordions.each(function() {
395        const $accordion = $(this);
396        const $header = $accordion.find('.accordion_header');
397        const $content = $accordion.find('.accordion_content');
398
399        $header.on('click keydown', function(e) {
400            if (e.type === 'click' || (e.type === 'keydown' && (e.key === 'Enter' || e.key === ' '))) {
401                const isExpanded = $header.attr('aria-expanded') === 'true';
402                $header.attr('aria-expanded', !isExpanded);
403                e.preventDefault();
404                $header.toggleClass('is-open');
405                $content.slideToggle(500).css('display', 'flex');
406                $('.main-slider, .slider_big .ce-inner').slick('setPosition');
407            }
408        });
409    });
410}
411
412function Subnavigation() {
413    if ($('body').hasClass('layout-subnavigation')) {
414
415        const $targetContainer = $('.anchor-links');
416
417        $('h2').each(function() {
418            const $h2 = $(this);
419            const h2Text = $h2.text().trim();
420
421            const $parentContainer = $h2.parent().parent().parent().closest('[id]');
422            const containerId = $parentContainer.attr('id');
423
424            if (containerId && h2Text !== "") {
425                const anchorHtml = `
426                    <a href="#${containerId}" class="anchor-link">
427                        ${h2Text}
428                    </a>`;
429
430                $targetContainer.append(anchorHtml);
431            }
432        });
433    }
434}
435
436// Bilddefinition hochkant/quer
437$(function() {
438    $('.frame-layout-5 .ce-row img, .frame-layout-6 .ce-row img').each(function() {
439        let $img = $(this);
440
441        let width = parseInt($img.attr('width')) || this.naturalWidth;
442        let height = parseInt($img.attr('height')) || this.naturalHeight;
443
444        if (width > 0 && height > 0) {
445
446            let $target = $img.closest('.ce-row');
447            if ($target.length === 0) {
448                $target = $img;
449            }
450            if (width > height) {
451                $target.addClass('format-landscape'); // Querformat
452            } else if (height > width) {
453                $target.addClass('format-portrait'); // Hochformat
454            } else {
455                $target.addClass('format-square'); // Quadratisch 
456            }
457        }
458    });
459});
460
461//Text Overflow eclipse fix for text align right
462function checkTruncation() {
463    $('.frame-layout-6 .ce-bodytext p').each(function() {
464        var $el = $(this);
465
466        if (this.scrollHeight > this.clientHeight) {
467            $el.addClass('is-truncated');
468        } else {
469            $el.removeClass('is-truncated');
470        }
471    });
472}
473
474function ToolTipMobile() {
475    const { computePosition, flip, shift, offset, arrow } = FloatingUIDOM;
476
477    function positioniereBox(button, box) {
478        const arrowEl = $(box).find('.hover-box_arrow')[0]; 
479        $(box).css({
480            left: '',
481            top: ''
482        });
483        if (arrowEl) {
484            $(arrowEl).css({ left: '' });
485        }
486
487        computePosition(button, box, {
488            placement: 'top-start', 
489            middleware: [
490                offset(10),            
491                flip(),                
492                shift({ padding: 20 }), 
493                arrow({ element: arrowEl }) 
494            ],
495        }).then(({ x, y, placement, middlewareData }) => {
496            $(box).css({
497                left: `${x}px`,
498                top: `${y}px`
499            });
500
501            $(box).attr('data-placement', placement);
502
503            if (middlewareData.arrow) {
504                const { x: arrowX } = middlewareData.arrow;
505                $(arrowEl).css({
506                    left: arrowX != null ? `${arrowX}px` : ''
507                });
508            }
509        });
510    }
511
512    // --- Desktop: Hover-Effekt ---
513    $('.event-speaker-item, .event-organisator-item, .event-contacts-item').on('mouseenter', function() {
514        const linkEl = $(this).find('.speaker-link, a')[0];
515        const boxEl = $(this).find('.hover-box')[0];
516
517        $(boxEl).show();
518        positioniereBox(linkEl, boxEl);
519    }).on('mouseleave', function() {
520        $(this).find('.hover-box').hide().css({ left: '', top: '' });
521    });
522
523    // --- Mobile: Touch-Support ---
524    if ($('html').hasClass('touchevents')) {
525        $('.event-speaker-item .speaker-link, .event-organisator-item > a, .event-contacts-item > a').on('click', function(e) {
526            const $link = $(this);
527            const $box = $link.siblings('.hover-box');
528
529            if (!$link.data('clicked')) {
530                e.preventDefault();
531                $link.data('clicked', true);
532
533                $box.show();
534                positioniereBox($link[0], $box[0]);
535
536                $(document).one('click', function(blurEvent) {
537                    if (!$(blurEvent.target).closest($link.parent()).length) {
538                        $link.data('clicked', false);
539                        $box.hide().css({ left: '', top: '' }); 
540                    }
541                });
542            }
543        });
544    }
545}
546// ==========================================================================//
547
548/*
549document ready calls
550*/
551$(document).ready(function() {
552    screenSize();
553    SliderCall();
554    Nav();
555    InfoI();
556    SmoothScroll();
557    TopicBox();
558    InfoIRaeume();
559    StickyRegistrationButton();
560    Accordion();
561    Subnavigation();
562    checkTruncation();
563    FilterMobile();
564    ToolTipMobile();
565    AnchorMobile();
566});
567
568/*
569window resize calls
570*/
571$(window).resize(function() {
572    screenSize();
573    checkTruncation();
574});
575(function($) {
576    $(document).ready(function() {
577        const $filterContainer = $('#w52-filter');
578        if ($filterContainer.length === 0) return;
579
580        const $resultsContainer = $('#w52-results');
581        const $activeFiltersContainer = $('#w52-active-filters');
582        const ajaxEndpointUrl = $filterContainer.data('ajax-url');
583
584        const selectedCategories = new Set();
585        const categoryMetadata = new Map();
586
587        let currentSearchTerm = '';
588        let currentStatusFilter = '';
589
590        function parseCategoriesFromUrl() {
591            const currentUrl = new URL(window.location.href);
592            const rawUrlParameter = currentUrl.searchParams.get('cats');
593            if (!rawUrlParameter) return [];
594
595            return rawUrlParameter
596                .split(',')
597                .map(categoryString => parseInt(categoryString.trim(), 10))
598                .filter(categoryNumber => !isNaN(categoryNumber));
599        }
600
601        function parseStatusFromUrl() {
602            const currentUrl = new URL(window.location.href);
603            const status = currentUrl.searchParams.get('status');
604
605            return status === 'completed' || status === 'upcoming' ? status : '';
606        }
607
608        function getStatusLabel(status) {
609            if (status === 'completed') return 'Abgeschlossen';
610            if (status === 'upcoming') return 'Kommend / Laufend';
611            return '';
612        }
613
614        function updateUrl(selectedCategoryIds) {
615            const currentUrl = new URL(window.location.href);
616
617            if (selectedCategoryIds.length > 0) {
618                currentUrl.searchParams.set('cats', selectedCategoryIds.join(','));
619            } else {
620                currentUrl.searchParams.delete('cats');
621            }
622
623            if (currentStatusFilter) {
624                currentUrl.searchParams.set('status', currentStatusFilter);
625            } else {
626                currentUrl.searchParams.delete('status');
627            }
628
629            history.replaceState(null, '', currentUrl.toString());
630        }
631
632        // --- Dropdown Toggles ---
633        const $filterToggleButtons = $filterContainer.find('.w52-filter-toggle');
634
635        $filterToggleButtons.on('click', function(event) {
636            const $clickedButton = $(this);
637            const $dropdownMenu = $clickedButton.next();
638
639            if ($dropdownMenu.length === 0) return;
640
641            $filterToggleButtons.not($clickedButton).each(function() {
642                const $otherButton = $(this);
643                const $otherDropdown = $otherButton.next();
644
645                if ($otherDropdown.length > 0 && $otherDropdown.hasClass('open')) {
646                    $otherDropdown.removeClass('open').attr('aria-hidden', 'true');
647                    $otherButton.removeClass('open').attr('aria-expanded', 'false');
648                }
649            });
650
651            $dropdownMenu.toggleClass('open');
652            $clickedButton.toggleClass('open');
653
654            const isDropdownOpen = $dropdownMenu.hasClass('open');
655            $dropdownMenu.attr('aria-hidden', isDropdownOpen ? 'false' : 'true');
656            $clickedButton.attr('aria-expanded', isDropdownOpen ? 'true' : 'false');
657
658            event.stopPropagation();
659        });
660
661        $(document).on('click', function(event) {
662            $filterToggleButtons.each(function() {
663                const $button = $(this);
664                const $dropdownMenu = $button.next();
665
666                if (
667                    $dropdownMenu.hasClass('open') &&
668                    !$button.is(event.target) &&
669                    $button.has(event.target).length === 0 &&
670                    !$dropdownMenu.is(event.target) &&
671                    $dropdownMenu.has(event.target).length === 0
672                ) {
673                    $dropdownMenu.removeClass('open').attr('aria-hidden', 'true');
674                    $button.removeClass('open').attr('aria-expanded', 'false');
675                }
676            });
677        });
678
679        $(document).on('keydown', function(event) {
680            if (event.key === 'Escape') {
681                $filterToggleButtons.each(function() {
682                    const $button = $(this);
683                    const $dropdownMenu = $button.next();
684
685                    if ($dropdownMenu.length > 0 && $dropdownMenu.hasClass('open')) {
686                        $dropdownMenu.removeClass('open').attr('aria-hidden', 'true');
687                        $button.removeClass('open').attr('aria-expanded', 'false');
688                    }
689                });
690            }
691        });
692
693        // --- Initiale Kategorien aus URL ---
694        const initialCategories = parseCategoriesFromUrl();
695
696        if (initialCategories.length > 0) {
697            initialCategories.forEach(categoryId => {
698                const $checkbox = $filterContainer.find(`input[type="checkbox"][value="${categoryId}"]`);
699                if ($checkbox.length === 0) return;
700
701                $checkbox.prop('checked', true);
702                selectedCategories.add(categoryId);
703
704                const filterLabel = $checkbox.data('label')?.trim()
705                    || $checkbox.next().text()?.trim()
706                    || String(categoryId);
707
708                const filterGroup = $checkbox.data('group')?.trim()
709                    || $checkbox.closest('.w52-filter-group').find('.w52-filter-toggle').text().replace(/▾.*/, '').trim()
710                    || '';
711
712                categoryMetadata.set(categoryId, {
713                    label: filterLabel,
714                    group: filterGroup
715                });
716            });
717        }
718
719        // --- Initialer Status aus URL ---
720        currentStatusFilter = parseStatusFromUrl();
721
722        if (currentStatusFilter) {
723            $filterContainer
724                .find(`input[type="checkbox"][value="${currentStatusFilter}"]`)
725                .prop('checked', true);
726        }
727
728        /*
729         * WICHTIG:
730         * Immer initial AJAX laden.
731         *
732         * Grund:
733         * Die initiale TYPO3/sf_event_mgt-Ausgabe kennt unsere neue Logik
734         * noch nicht:
735         * - abgeschlossene Events mit show_past_event anzeigen
736         * - abgeschlossene Events nach unten sortieren
737         * - completed/upcoming-Statuslogik
738         *
739         * Deshalb ersetzen wir die initiale Liste direkt nach dem Laden
740         * durch die Ausgabe aus dem AjaxController.
741         */
742        renderActiveFilterChips();
743        fetchFilteredResults();
744
745        // --- Kategorie Checkbox Änderungen ---
746        $filterContainer.on(
747            'change',
748            'input[type="checkbox"]:not(#filter-status-upcoming):not(#filter-status-completed)',
749            function() {
750                const $checkbox = $(this);
751                const categoryId = parseInt($checkbox.val(), 10);
752
753                if (isNaN(categoryId)) return;
754
755                const filterLabel = $checkbox.data('label')?.trim()
756                    || $checkbox.next().text()?.trim()
757                    || String(categoryId);
758
759                const filterGroup = $checkbox.data('group')?.trim()
760                    || $checkbox.closest('.w52-filter-group').find('.w52-filter-toggle').text().replace(/▾.*/, '').trim()
761                    || '';
762
763                if ($checkbox.is(':checked')) {
764                    selectedCategories.add(categoryId);
765                    categoryMetadata.set(categoryId, {
766                        label: filterLabel,
767                        group: filterGroup
768                    });
769                } else {
770                    selectedCategories.delete(categoryId);
771                    categoryMetadata.delete(categoryId);
772                }
773
774                renderActiveFilterChips();
775                updateUrl(Array.from(selectedCategories));
776                fetchFilteredResults();
777            }
778        );
779
780        // --- Status Checkbox Änderungen ---
781        $filterContainer.on('change', '#filter-status-upcoming, #filter-status-completed', function() {
782            const $checkbox = $(this);
783            const selectedStatus = String($checkbox.val());
784
785            if ($checkbox.is(':checked')) {
786                currentStatusFilter = selectedStatus;
787
788                $filterContainer
789                    .find('#filter-status-upcoming, #filter-status-completed')
790                    .not($checkbox)
791                    .prop('checked', false);
792            } else {
793                currentStatusFilter = '';
794            }
795
796            renderActiveFilterChips();
797            updateUrl(Array.from(selectedCategories));
798            fetchFilteredResults();
799        });
800
801        // --- Suche ---
802        const $searchForm = $('#sfe-searchform');
803
804        if ($searchForm.length > 0) {
805            $searchForm.on('submit', function(event) {
806                event.preventDefault();
807
808                const $searchInput = $searchForm.find('#search');
809                currentSearchTerm = $searchInput.length > 0 ? $searchInput.val() : '';
810
811                fetchFilteredResults();
812            });
813        }
814
815        // --- Aktive Filter Chips ---
816        function renderActiveFilterChips() {
817            if ($activeFiltersContainer.length === 0) return;
818
819            if (selectedCategories.size === 0 && !currentStatusFilter) {
820                $activeFiltersContainer.empty().hide();
821                return;
822            }
823
824            const chipElementsHtml = [];
825
826            const metadataEntries = Array.from(categoryMetadata.entries()).sort((firstEntry, secondEntry) => {
827                const firstGroup = firstEntry[1].group || '';
828                const secondGroup = secondEntry[1].group || '';
829                const groupComparisonResult = firstGroup.localeCompare(secondGroup);
830
831                return groupComparisonResult !== 0
832                    ? groupComparisonResult
833                    : (firstEntry[1].label || '').localeCompare(secondEntry[1].label || '');
834            });
835
836            for (const [categoryId, metadata] of metadataEntries) {
837                const chipText = (metadata.group ? metadata.group + ': ' : '') + (metadata.label || categoryId);
838
839                chipElementsHtml.push(
840                    `<button type="button" class="w52-chip" data-id="${categoryId}" aria-label="Filter ${chipText} entfernen">` +
841                    `${chipText}<span class="w52-chip-x" aria-hidden="true"></span>` +
842                    `</button>`
843                );
844            }
845
846            if (currentStatusFilter) {
847                const chipText = 'Status: ' + getStatusLabel(currentStatusFilter);
848
849                chipElementsHtml.push(
850                    `<button type="button" class="w52-chip" data-status="${currentStatusFilter}" aria-label="Filter ${chipText} entfernen">` +
851                    `${chipText}<span class="w52-chip-x" aria-hidden="true"></span>` +
852                    `</button>`
853                );
854            }
855
856            chipElementsHtml.push(
857                `<button type="button" class="w52-chip-clear" data-clear="all">Alle entfernen</button>`
858            );
859
860            $activeFiltersContainer.html(chipElementsHtml.join('')).show();
861        }
862
863        if ($activeFiltersContainer.length > 0) {
864            $activeFiltersContainer.on('click', 'button', function() {
865                const $clickedButton = $(this);
866
867                if ($clickedButton.data('clear') === 'all') {
868                    $filterContainer.find('input[type="checkbox"]:checked').prop('checked', false);
869
870                    selectedCategories.clear();
871                    categoryMetadata.clear();
872                    currentStatusFilter = '';
873
874                    renderActiveFilterChips();
875                    updateUrl([]);
876                    fetchFilteredResults();
877                    return;
878                }
879
880                const categoryId = parseInt($clickedButton.data('id') || '', 
88010);
881
882                if (categoryId) {
883                    const $checkbox = $filterContainer.find(`input[type="checkbox"][value="${categoryId}"]`);
884
885                    if ($checkbox.length > 0) {
886                        $checkbox.prop('checked', false);
887                    }
888
889                    selectedCategories.delete(categoryId);
890                    categoryMetadata.delete(categoryId);
891                }
892
893                if ($clickedButton.data('status')) {
894                    currentStatusFilter = '';
895
896                    $filterContainer
897                        .find('#filter-status-upcoming, #filter-status-completed')
898                        .prop('checked', false);
899                }
900
901                renderActiveFilterChips();
902                updateUrl(Array.from(selectedCategories));
903                fetchFilteredResults();
904            });
905        }
906
907        // --- AJAX Fetch ---
908        function fetchFilteredResults() {
909            const requestParams = new URLSearchParams();
910
911            selectedCategories.forEach(categoryId => {
912                requestParams.append('cats[]', String(categoryId));
913            });
914
915            if (currentSearchTerm) {
916                requestParams.set('search', currentSearchTerm);
917            }
918
919            if (currentStatusFilter) {
920                requestParams.set('status', currentStatusFilter);
921            }
922
923            $.ajax({
924                url: ajaxEndpointUrl,
925                method: 'POST',
926                data: requestParams.toString(),
927                contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
928                xhrFields: {
929                    withCredentials: true
930                },
931                success: function(responseData) {
932                    if (responseData && typeof responseData.html === 'string') {
933                        $resultsContainer.html(responseData.html);
934                    }
935                },
936                error: function() {
937                    console.error('Fehler beim Laden der Filterergebnisse.');
938                }
939            });
940        }
941
942        // --- Popup / Modal Logik ---
943        function lockBodyScroll($modalElement) {
944            const scrollBarWidth = window.innerWidth - document.documentElement.clientWidth;
945
946            $('body').css({
947                'overflow': 'hidden',
948                'padding-right': scrollBarWidth + 'px'
949            });
950
951            const modalDomElement = $modalElement.get(0);
952            const isScrollable = modalDomElement.scrollHeight > modalDomElement.clientHeight;
953
954            if (!isScrollable) {
955                $modalElement.css('padding-right', scrollBarWidth + 'px');
956            } else {
957                $modalElement.css('padding-right', '');
958            }
959        }
960
961        function unlockBodyScroll() {
962            $('body').css({
963                'overflow': '',
964                'padding-right': ''
965            });
966
967            const $modalElement = $('#event-modal');
968
969            if ($modalElement.length > 0) {
970                $modalElement.css('padding-right', '');
971            }
972        }
973
974        function closeEventModal() {
975            const $modalElement = $('#event-modal');
976
977            if ($modalElement.length === 0 || $modalElement.is(':hidden')) return;
978
979            $modalElement.hide();
980            unlockBodyScroll();
981            $('#event-modal-body').empty();
982        }
983
984        $(document).on('click', 'a.js-event-preview', function(event) {
985            const $clickedLink = $(this);
986
987            if (
988                event.metaKey ||
989                event.ctrlKey ||
990                event.shiftKey ||
991                event.altKey ||
992                $clickedLink.attr('target') === '_blank'
993            ) {
994                return;
995            }
996
997            const previewUrl = $clickedLink.data('preview-url');
998            if (!previewUrl) return;
999
1000            event.preventDefault();
1001
1002            $.ajax({
1003                url: previewUrl,
1004                method: 'GET',
1005                headers: {
1006                    'X-Requested-With': 'XMLHttpRequest'
1007                },
1008                success: function(htmlContent) {
1009                    $('#event-modal-body').html(htmlContent);
1010
1011                    const $modalElement = $('#event-modal');
1012                    $modalElement.show();
1013                    lockBodyScroll($modalElement);
1014
1015                    const $focusElement = $modalElement.find('#event-modal-title, h1, h2, h3, button').first();
1016
1017                    if ($focusElement.length > 0) {
1018                        $focusElement.attr('tabindex', '-1').trigger('focus');
1019                    }
1020                },
1021                error: function(errorLog) {
1022                    console.error('Fehler beim Laden der Vorschau', errorLog);
1023                    window.location.href = $clickedLink.attr('href');
1024                }
1025            });
1026        });
1027
1028        $(document).on('click', '[data-close]', function() {
1029            closeEventModal();
1030        });
1031
1032        $(document).on('keydown', function(event) {
1033            if (event.key === 'Escape') closeEventModal();
1034        });
1035
1036        // --- Suchfeld Animation ---
1037        const isMobileScreenSize = () => $(window).width() < 950;
1038
1039        $('#sfe-searchform').each(function() {
1040            const $formElement = $(this);
1041            const $textInput = $formElement.find('input[type="text"]');
1042            const $submitButton = $formElement.find('input[type="submit"]');
1043            let lastWindowWidth = $(window).width();
1044
1045            $(window).on('resize', function() {
1046                const currentWindowWidth = $(window).width();
1047
1048                if (currentWindowWidth === lastWindowWidth) {
1049                    return;
1050                }
1051                lastWindowWidth = currentWindowWidth;
1052
1053                if (!isMobileScreenSize()) {
1054                    $formElement.removeClass('closed').addClass('open');
1055                } else if ($.trim($textInput.val()) === '') {
1056                    $formElement.removeClass('open').addClass('closed');
1057                }
1058            }).trigger('resize'); 
1059            $submitButton.on('click', function(event) {
1060                const inputHasValue = $.trim($textInput.val()) !== '';
1061
1062                if (isMobileScreenSize() && $formElement.hasClass('closed')) {
1063                    event.preventDefault();
1064                    $formElement.removeClass('closed').addClass('open');
1065                    setTimeout(() => $textInput.trigger('focus'), 300);
1066                } else if (!inputHasValue) {
1067                    event.preventDefault();
1068                    $textInput.trigger('focus');
1069                }
1070            });
1071
1072            $textInput.on('blur', function() {
1073                if (isMobileScreenSize() && $.trim($textInput.val()) === '') {
1074                    $formElement.removeClass('open').addClass('closed');
1075                    $textInput.val('');
1076                }
1077                $formElement.trigger('submit');
1078            });
1079
1080            $textInput.on('keypress', function(event) {
1081                if (event.which === 13 && $.trim($textInput.val()) === '') {
1082                    event.preventDefault();
1083                }
1084            });
1085        });
1086    });
1087})(jQuery);
1088document.addEventListener('DOMContentLoaded', () => {
1089    const checkboxGroups = document.querySelectorAll(
1090        '[data-required-checkbox-group]'
1091    );
1092
1093    checkboxGroups.forEach((group) => {
1094        const checkboxes = Array.from(
1095            group.querySelectorAll(
1096                'input[type="checkbox"]'
1097            )
1098        );
1099
1100        const errorMessage = group.querySelector(
1101            '.js-checkbox-group-error'
1102        );
1103
1104        const disclosureStatus = group.querySelector(
1105            '.js-checkbox-disclosure-status'
1106        );
1107
1108        const form = group.closest('form');
1109
1110        if (checkboxes.length === 0) {
1111            return;
1112        }
1113        
1114        const validationCheckbox = checkboxes[0];
1115
1116        const hasSelection = () => {
1117            return checkboxes.some((checkbox) => checkbox.checked);
1118        };
1119
1120        const setAriaValidationState = (isValid, showError) => {
1121            checkboxes.forEach((checkbox) => {
1122                if (!isValid && showError) {
1123                    checkbox.setAttribute(
1124                        'aria-invalid',
1125                        'true'
1126                    );
1127                } else {
1128                    checkbox.removeAttribute(
1129                        'aria-invalid'
1130                    );
1131                }
1132            });
1133        };
1134
1135        const setErrorState = (isValid, showError) => {
1136            const shouldShowError = !isValid && showError;
1137
1138            group.classList.toggle(
1139                'has-error',
1140                shouldShowError
1141            );
1142
1143            if (errorMessage) {
1144                errorMessage.hidden = !shouldShowError;
1145            }
1146
1147            setAriaValidationState(
1148                isValid,
1149                showError
1150            );
1151        };
1152
1153        const updateGroupValidation = (showError = false) => {
1154            const isValid = hasSelection();
1155            validationCheckbox.required = !isValid;
1156
1157            if (isValid) {
1158                validationCheckbox.setCustomValidity('');
1159            } else {
1160                validationCheckbox.setCustomValidity(
1161                    'Bitte wählen Sie mindestens eine Antwort aus.'
1162                );
1163            }
1164
1165            setErrorState(
1166                isValid,
1167                showError
1168            );
1169
1170            return isValid;
1171        };
1172
1173        const announceDisclosureChange = (message) => {
1174            if (!disclosureStatus || !message) {
1175                return;
1176            }
1177
1178            disclosureStatus.textContent = '';
1179
1180            window.requestAnimationFrame(() => {
1181                disclosureStatus.textContent = message;
1182            });
1183        };
1184
1185        const updateDisclosure = (
1186            checkbox,
1187            announceChange = false
1188        ) => {
1189            const controlledElementId = checkbox.getAttribute(
1190                'aria-controls'
1191            );
1192
1193            if (!controlledElementId) {
1194                return;
1195            }
1196
1197            const controlledElement = document.getElementById(
1198                controlledElementId
1199            );
1200
1201            if (!controlledElement) {
1202                return;
1203            }
1204
1205            const isExpanded = checkbox.checked;
1206
1207            controlledElement.hidden = !isExpanded;
1208
1209            checkbox.setAttribute(
1210                'aria-expanded',
1211                isExpanded ? 'true' : 'false'
1212            );
1213
1214            controlledElement.setAttribute(
1215                'aria-hidden',
1216                isExpanded ? 'false' : 'true'
1217            );
1218
1219            const controlledFields = controlledElement.querySelectorAll(
1220                'input, select, textarea'
1221            );
1222
1223            controlledFields.forEach((field) => {
1224                field.required = false;
1225                field.removeAttribute('aria-required');
1226            });
1227
1228            if (announceChange) {
1229                const message = isExpanded
1230                    ? checkbox.dataset.disclosureMessageShow
1231                    : checkbox.dataset.disclosureMessageHide;
1232
1233                announceDisclosureChange(message);
1234            }
1235        };
1236
1237        const initializeDisclosures = () => {
1238            checkboxes.forEach((checkbox) => {
1239                if (checkbox.hasAttribute('aria-controls')) {
1240                    updateDisclosure(
1241                        checkbox,
1242                        false
1243                    );
1244                }
1245            });
1246        };
1247
1248        checkboxes.forEach((checkbox) => {
1249            checkbox.addEventListener('change', () => {
1250                updateGroupValidation(true);
1251
1252                if (checkbox.hasAttribute('aria-controls')) {
1253                    updateDisclosure(
1254                        checkbox,
1255                        true
1256                    );
1257                }
1258            });
1259        });
1260
1261        validationCheckbox.addEventListener(
1262            'invalid',
1263            (event) => {
1264                event.preventDefault();
1265
1266                updateGroupValidation(true);
1267
1268                validationCheckbox.focus();
1269            }
1270        );
1271
1272        if (form) {
1273            form.addEventListener('submit', (event) => {
1274                const isValid = updateGroupValidation(true);
1275
1276                if (!isValid) {
1277                    event.preventDefault();
1278                    event.stopPropagation();
1279
1280                    validationCheckbox.focus();
1281                }
1282            });
1283        }
1284
1285        updateGroupValidation(false);
1286        ializeDisclosures();
1287    });
1288});

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.