PageSourceSearch

https://www.ladynelson.org.au/sites/default/files/js/js_a0rHjK2XfR3naeY3_QCBeYYRKzbpFmAtWeOGkAArHow.js

js ladynelson.org.au collected 2026-09-26 15:24:56 UTC 441,851 bytes, 8,238 lines download raw bytes

1!function(t){"use strict";var n=Element.prototype,e=NodeList.prototype,r=String.prototype;function o(t,e){e=e||{bubbles:!1,cancelable:!1,detail:null};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}n.matches||(n.matches=n.msMatchesSelector||n.webkitMatchesSelector),n.closest||(n.closest=function(t){var e=this;do{if(n.matches.call(e,t))return e}while(null!==(e=e.parentElement||e.parentNode)&&1===e.nodeType);return null}),t.NodeList&&!e.forEach&&(e.forEach=Array.prototype.forEach),"function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(t,e){if(null===t||"undefined"===t)throw new TypeError("Cannot convert undefined or null to object");for(var n=Object(t),r=1;r<arguments.length;r++){var o=arguments[r];if(null!==o&&"undefined"!==o)for(var c in o)Object.prototype.hasOwnProperty.call(o,c)&&(n[c]=o[c])}return n},writable:!0,configurable:!0}),r.startsWith||Object.defineProperty(r,"startsWith",{value:function(t,e){e=0<e?0|e:0;return this.substring(e,e+t.length)===t}}),"function"!=typeof t.CustomEvent&&(o.prototype=t.Event.prototype,t.CustomEvent=o)}(this);
2;
vendor: 89,947 bytes, lines 3-4
3/*! jQuery v3.6.3 | (c) OpenJS Foundation and other contributors | jquery.org/license */
4!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},S=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||S).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.3",E=function(e,t){return new E.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}E.fn=E.prototype={jquery:f,constructor:E,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=E.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return E.each(this,e)},map:function(n){return this.pushStack(E.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(E.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(E.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},E.extend=E.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(E.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||E.isPlainObject(n)?n:{},i=!1,a[t]=E.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},E.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=y.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?E.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:v}),"function"==typeof Symbol&&(E.fn[Symbol.iterator]=t[Symbol.iterator]),E.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,S,y,s,c,v,E="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",$=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,S)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=E)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{if(d.cssSupportsSelector&&!CSS.supports("selector(:is("+c+"))"))throw new Error;return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===E&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[E]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,S=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.cssSupportsSelector=ce(function(){return CSS.supports("selector(*)")&&C.querySelectorAll(":is(:jqfake)")&&!CSS.supports("selector(:is(*,:jqfake))")}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=E,!C.getElementsByName||!C.getElementsByName(E).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&S){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&S){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&S)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+E+"'></a><select id='"+E+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+E+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+E+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),d.cssSupportsSelector||y.push(":has"),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType&&e.documentElement||e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&S&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),v(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!S):void 0;return void 0!==r?r:d.attributes||!S?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace($," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,y){var v="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===y?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=v!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(v){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[E]||(a[E]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[E]||(a[E]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[E]||(a[E]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=y)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[E]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[E]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=S?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ye(function(){return[0]}),last:ye(function(e,t){return[t-1]}),eq:ye(function(e,t,n){return[n<0?n+t:n]}),even:ye(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ye(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ye(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ye(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[E]||(e[E]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,y,v,e){return y&&!y[E]&&(y=Ce(y)),v&&!v[E]&&(v=Ce(v,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?v||(e?d:l||y)?[]:t:f;if(g&&g(f,p,n,r),y){i=Te(p,u),y(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(v||d){if(v){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);v(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=v?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),v?v(null,t,p,r):H.apply(t,p)})}function Se(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[E]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Se(e.slice(s,n)),n<r&&Se(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,y,v,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Se(t[n]))[E]?i.push(a):o.push(a);(a=A(e,(y=o,m=0<(v=i).length,x=0<y.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!S);while(s=y[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=v[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+v.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&S&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ve(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!S,n,!t||ee.test(e)&&ve(t.parentNode)||t),n},d.sortStable=E.split("").sort(j).join("")===E,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);E.find=d,E.expr=d.selectors,E.expr[":"]=E.expr.pseudos,E.uniqueSort=E.unique=d.uniqueSort,E.text=d.getText,E.isXMLDoc=d.isXML,E.contains=d.contains,E.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&E(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=E.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?E.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?E.grep(e,function(e){return e===n!==r}):"string"!=typeof n?E.grep(e,function(e){return-1<i.call(n,e)!==r}):E.filter(n,e,r)}E.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?E.find.matchesSelector(r,e)?[r]:[]:E.find.matches(e,E.grep(t,function(e){return 1===e.nodeType}))},E.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(E(e).filter(function(){for(t=0;t<r;t++)if(E.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)E.find(e,i[t],n);return 1<r?E.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?E(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(E.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof E?t[0]:t,E.merge(this,E.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:S,!0)),N.test(r[1])&&E.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=S.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(E):E.makeArray(e,this)}).prototype=E.fn,D=E(S);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}E.fn.extend({has:function(e){var t=E(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(E.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&E(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&E.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?E.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(E(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(E.uniqueSort(E.merge(this.get(),E(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),E.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),E.merge([],e.childNodes))}},function(r,i){E.fn[r]=function(e,t){var n=E.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=E.filter(t,n)),1<this.length&&(H[r]||E.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}E.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},E.each(e.match(P)||[],function(e,t){n[t]=!0}),n):E.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){E.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return E.each(arguments,function(e,t){var n;while(-1<(n=E.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<E.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},E.extend({Deferred:function(e){var o=[["notify","progress",E.Callbacks("memory"),E.Callbacks("memory"),2],["resolve","done",E.Callbacks("once memory"),E.Callbacks("once memory"),0,"resolved"],["reject","fail",E.Callbacks("once memory"),E.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return E.Deferred(function(r){E.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){E.Deferred.exceptionHook&&E.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(E.Deferred.getStackHook&&(t.stackTrace=E.Deferred.getStackHook()),C.setTimeout(t))}}return E.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?E.extend(e,a):a}},s={};return E.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=E.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;E.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},E.readyException=function(e){C.setTimeout(function(){throw e})};var F=E.Deferred();function $(){S.removeEventListener("DOMContentLoaded",$),C.removeEventListener("load",$),E.ready()}E.fn.ready=function(e){return F.then(e)["catch"](function(e){E.readyException(e)}),this},E.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--E.readyWait:E.isReady)||(E.isReady=!0)!==e&&0<--E.readyWait||F.resolveWith(S,[E])}}),E.ready.then=F.then,"complete"===S.readyState||"loading"!==S.readyState&&!S.documentElement.doScroll?C.setTimeout(E.ready):(S.addEventListener("DOMContentLoaded",$),C.addEventListener("load",$));var B=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)B(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(E(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=E.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||E.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!E.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}E.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),E.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):B(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),E.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,E.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=E.queue(e,t),r=n.length,i=n.shift(),o=E._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){E.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:E.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),E.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?E.queue(this[0],t):void 0===n?this:this.each(function(){var e=E.queue(this,t,n);E._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&E.dequeue(this,t)})},dequeue:function(e){return this.each(function(){E.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=E.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=S.documentElement,ie=function(e){return E.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return E.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===E.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return E.css(e,t,"")},u=s(),l=n&&n[3]||(E.cssNumber[t]?"":"px"),c=e.nodeType&&(E.cssNumber[t]||"px"!==l&&+u)&&te.exec(E.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)E.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,E.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=E.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}E.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?E(this).show():E(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=S.createDocumentFragment().appendChild(S.createElement("div")),(fe=S.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",v.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?E.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,v.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))E.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+E.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;E.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<E.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return S.activeElement}catch(e){}}()==("focus"===t)}function Se(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Se(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return E().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=E.guid++)),e.each(function(){E.event.add(this,t,i,r,n)})}function Ee(e,i,o){o?(Y.set(e,i,!1),E.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(E.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:E.event.trigger(E.extend(r[0],E.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&E.event.add(e,i,we)}E.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&E.find.matchesSelector(re,i),n.guid||(n.guid=E.guid++),(u=y.events)||(u=y.events=Object.create(null)),(a=y.handle)||(a=y.handle=function(e){return"undefined"!=typeof E&&E.event.triggered!==e.type?E.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=E.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=E.event.special[d]||{},c=E.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&E.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),E.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=Y.hasData(e)&&Y.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=E.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||E.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)E.event.remove(e,d+t[l],n,r,!0);E.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=E.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=E.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=E.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((E.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<E(i,this).index(l):E.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(E.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[E.expando]?e:new E.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ee(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ee(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},E.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},E.Event=function(e,t){if(!(this instanceof E.Event))return new E.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&E.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[E.expando]=!0},E.Event.prototype={constructor:E.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},E.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},E.event.addProp),E.each({focus:"focusin",blur:"focusout"},function(t,e){E.event.special[t]={setup:function(){return Ee(this,t,Ce),!1},trigger:function(){return Ee(this,t),!0},_default:function(e){return Y.get(e.target,t)},delegateType:e}}),E.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){E.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||E.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),E.fn.extend({on:function(e,t,n,r){return Se(this,e,t,n,r)},one:function(e,t,n,r){return Se(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,E(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){E.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!\[CDATA\[|\]\]>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&E(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)E.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=E.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!v.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=E.map(ye(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=E.clone(u,!0,!0),s&&E.merge(a,ye(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,E.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&E.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?E._evalUrl&&!u.noModule&&E._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?E.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||E.cleanData(ye(r)),r.parentNode&&(n&&ie(r)&&ve(ye(r,"script")),r.parentNode.removeChild(r));return e}E.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(v.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||E.isXMLDoc(e)))for(a=ye(c),r=0,i=(o=ye(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ye(e),a=a||ye(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ye(c,"script")).length&&ve(a,!f&&ye(e,"script")),c},cleanData:function(e){for(var t,n,r,i=E.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?E.event.remove(n,r):E.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),E.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return B(this,function(e){return void 0===e?E.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(E.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return E.clone(this,e,t)})},html:function(e){return B(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=E.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(E.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;E.inArray(this,n)<0&&(E.cleanData(ye(this)),t&&t.replaceChild(e,this))},n)}}),E.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){E.fn[e]=function(e){for(var t,n=[],r=E(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),E(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=/^--/,Me=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Ie=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},We=new RegExp(ne.join("|"),"i"),Fe="[\\x20\\t\\r\\n\\f]",$e=new RegExp("^"+Fe+"+|((?:^|[^\\\\])(?:\\\\.)*)"+Fe+"+$","g");function Be(e,t,n){var r,i,o,a,s=Re.test(t),u=e.style;return(n=n||Me(e))&&(a=n.getPropertyValue(t)||n[t],s&&a&&(a=a.replace($e,"$1")||void 0),""!==a||ie(e)||(a=E.style(e,t)),!v.pixelBoxStyles()&&Pe.test(a)&&We.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=n.width,u.width=r,u.minWidth=i,u.maxWidth=o)),void 0!==a?a+"":a}function _e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=S.createElement("div"),l=S.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",v.clearCloneStyle="content-box"===l.style.backgroundClip,E.extend(v,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=S.createElement("table"),t=S.createElement("tr"),n=S.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var ze=["Webkit","Moz","ms"],Ue=S.createElement("div").style,Xe={};function Ve(e){var t=E.cssProps[e]||Xe[e];return t||(e in Ue?e:Xe[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=ze.length;while(n--)if((e=ze[n]+t)in Ue)return e}(e)||e)}var Ge=/^(none|table(?!-c[ea]).+)/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=E.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=E.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=E.css(e,"border"+ne[a]+"Width",!0,i))):(u+=E.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=E.css(e,"border"+ne[a]+"Width",!0,i):s+=E.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Me(e),i=(!v.boxSizingReliable()||n)&&"border-box"===E.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!v.boxSizingReliable()&&i||!v.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===E.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===E.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}E.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Re.test(t),l=e.style;if(u||(t=Ve(s)),a=E.cssHooks[t]||E.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(E.cssNumber[s]?"":"px")),v.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Re.test(t)||(t=Ve(s)),(a=E.cssHooks[t]||E.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),E.each(["height","width"],function(e,u){E.cssHooks[u]={get:function(e,t,n){if(t)return!Ge.test(E.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):Ie(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Me(e),o=!v.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===E.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=E.css(e,u)),Je(0,t,s)}}}),E.cssHooks.marginLeft=_e(v.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-Ie(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),E.each({margin:"",padding:"",border:"Width"},function(i,o){E.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(E.cssHooks[i+o].set=Je)}),E.fn.extend({css:function(e,t){return B(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Me(e),i=t.length;a<i;a++)o[t[a]]=E.css(e,t[a],!1,r);return o}return void 0!==n?E.style(e,t,n):E.css(e,t)},e,t,1<arguments.length)}}),((E.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||E.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(E.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=E.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=E.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){E.fx.step[e.prop]?E.fx.step[e.prop](e):1!==e.elem.nodeType||!E.cssHooks[e.prop]&&null==e.elem.style[Ve(e.prop)]?e.elem[e.prop]=e.now:E.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},E.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},E.fx=et.prototype.init,E.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===S.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,E.fx.interval),E.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=E.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:E.extend({},e),opts:E.extend(!0,{specialEasing:{},easing:E.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=E.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=E.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(E._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return E.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),E.fx.timer(E.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}E.Animation=E.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),y=Y.get(e,"fxshow");for(r in n.queue||(null==(a=E._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,E.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!y||void 0===y[r])continue;g=!0}d[r]=y&&y[r]||E.style(e,r)}if((u=!E.isEmptyObject(t))||!E.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=y&&y.display)&&(l=Y.get(e,"display")),"none"===(c=E.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=E.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===E.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(y?"hidden"in y&&(g=y.hidden):y=Y.access(e,"fxshow",{display:l}),o&&(y.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)E.style(e,r,d[r])})),u=ct(g?y[r]:0,r,p),r in y||(y[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),E.speed=function(e,t,n){var r=e&&"object"==typeof e?E.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return E.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in E.fx.speeds?r.duration=E.fx.speeds[r.duration]:r.duration=E.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&E.dequeue(this,r.queue)},r},E.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=E.isEmptyObject(t),o=E.speed(e,n,r),a=function(){var e=ft(this,E.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=E.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||E.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=E.timers,o=n?n.length:0;for(t.finish=!0,E.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),E.each(["toggle","show","hide"],function(e,r){var i=E.fn[r];E.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),E.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){E.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),E.timers=[],E.fx.tick=function(){var e,t=0,n=E.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||E.fx.stop(),tt=void 0},E.fx.timer=function(e){E.timers.push(e),E.fx.start()},E.fx.interval=13,E.fx.start=function(){nt||(nt=!0,st())},E.fx.stop=function(){nt=null},E.fx.speeds={slow:600,fast:200,_default:400},E.fn.delay=function(r,e){return r=E.fx&&E.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=S.createElement("input"),it=S.createElement("select").appendChild(S.createElement("option")),rt.type="checkbox",v.checkOn=""!==rt.value,v.optSelected=it.selected,(rt=S.createElement("input")).value="t",rt.type="radio",v.radioValue="t"===rt.value;var pt,dt=E.expr.attrHandle;E.fn.extend({attr:function(e,t){return B(this,E.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){E.removeAttr(this,e)})}}),E.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?E.prop(e,t,n):(1===o&&E.isXMLDoc(e)||(i=E.attrHooks[t.toLowerCase()]||(E.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void E.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=E.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!v.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?E.removeAttr(e,n):e.setAttribute(n,n),n}},E.each(E.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||E.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function yt(e){return(e.match(P)||[]).join(" ")}function vt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}E.fn.extend({prop:function(e,t){return B(this,E.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[E.propFix[e]||e]})}}),E.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&E.isXMLDoc(e)||(t=E.propFix[t]||t,i=E.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=E.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),v.optSelected||(E.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),E.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){E.propFix[this.toLowerCase()]=this}),E.fn.extend({addClass:function(t){var e,n,r,i,o,a;return m(t)?this.each(function(e){E(this).addClass(t.call(this,e,vt(this)))}):(e=mt(t)).length?this.each(function(){if(r=vt(this),n=1===this.nodeType&&" "+yt(r)+" "){for(o=0;o<e.length;o++)i=e[o],n.indexOf(" "+i+" ")<0&&(n+=i+" ");a=yt(n),r!==a&&this.setAttribute("class",a)}}):this},removeClass:function(t){var e,n,r,i,o,a;return m(t)?this.each(function(e){E(this).removeClass(t.call(this,e,vt(this)))}):arguments.length?(e=mt(t)).length?this.each(function(){if(r=vt(this),n=1===this.nodeType&&" "+yt(r)+" "){for(o=0;o<e.length;o++){i=e[o];while(-1<n.indexOf(" "+i+" "))n=n.replace(" "+i+" "," ")}a=yt(n),r!==a&&this.setAttribute("class",a)}}):this:this.attr("class","")},toggleClass:function(t,n){var e,r,i,o,a=typeof t,s="string"===a||Array.isArray(t);return m(t)?this.each(function(e){E(this).toggleClass(t.call(this,e,vt(this),n),n)}):"boolean"==typeof n&&s?n?this.addClass(t):this.removeClass(t):(e=mt(t),this.each(function(){if(s)for(o=E(this),i=0;i<e.length;i++)r=e[i],o.hasClass(r)?o.removeClass(r):o.addClass(r);else void 0!==t&&"boolean"!==a||((r=vt(this))&&Y.set(this,"__className__",r),this.setAttribute&&this.setAttribute("class",r||!1===t?"":Y.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+yt(vt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;E.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,E(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=E.map(t,function(e){return null==e?"":e+""})),(r=E.valHooks[this.type]||E.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=E.valHooks[t.type]||E.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),E.extend({valHooks:{option:{get:function(e){var t=E.find.attr(e,"value");return null!=t?t:yt(E.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=E(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=E.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<E.inArray(E.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),E.each(["radio","checkbox"],function(){E.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<E.inArray(E(e).val(),t)}},v.checkOn||(E.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),v.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};E.extend(E.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||S],d=y.call(e,"type")?e.type:e,h=y.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||S,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+E.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[E.expando]?e:new E.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:E.makeArray(t,[e]),c=E.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||S)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),E.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),E.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=E.extend(new E.Event,n,{type:e,isSimulated:!0});E.event.trigger(r,null,t)}}),E.fn.extend({trigger:function(e,t){return this.each(function(){E.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return E.event.trigger(e,t,n,!0)}}),v.focusin||E.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){E.event.simulate(r,e.target,E.event.fix(e))};E.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},St=/\?/;E.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||E.error("Invalid XML: "+(n?E.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Et=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function jt(n,e,r,i){var t;if(Array.isArray(e))E.each(e,function(e,t){r||Et.test(n)?i(n,t):jt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)jt(n+"["+t+"]",e[t],r,i)}E.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!E.isPlainObject(e))E.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},E.fn.extend({serialize:function(){return E.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=E.prop(this,"elements");return e?E.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!E(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=E(this).val();return null==n?null:Array.isArray(n)?E.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var Dt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=S.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function $t(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,E.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Bt(e,t){var n,r,i=E.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&E.extend(!0,e,r),e}Wt.href=Tt.href,E.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":E.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Bt(Bt(e,E.ajaxSettings),t):Bt(E.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,y=E.ajaxSetup({},t),v=y.context||y,m=y.context&&(v.nodeType||v.jquery)?E(v):E.event,x=E.Deferred(),b=E.Callbacks("once memory"),w=y.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(y.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),y.url=((e||y.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),y.type=t.method||t.type||y.method||y.type,y.dataTypes=(y.dataType||"*").toLowerCase().match(P)||[""],null==y.crossDomain){r=S.createElement("a");try{r.href=y.url,r.href=r.href,y.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){y.crossDomain=!0}}if(y.data&&y.processData&&"string"!=typeof y.data&&(y.data=E.param(y.data,y.traditional)),$t(Rt,y,t,T),h)return T;for(i in(g=E.event&&y.global)&&0==E.active++&&E.event.trigger("ajaxStart"),y.type=y.type.toUpperCase(),y.hasContent=!Ot.test(y.type),f=y.url.replace(qt,""),y.hasContent?y.data&&y.processData&&0===(y.contentType||"").indexOf("application/x-www-form-urlencoded")&&(y.data=y.data.replace(Dt,"+")):(o=y.url.slice(f.length),y.data&&(y.processData||"string"==typeof y.data)&&(f+=(St.test(f)?"&":"?")+y.data,delete y.data),!1===y.cache&&(f=f.replace(Lt,"$1"),o=(St.test(f)?"&":"?")+"_="+Ct.guid+++o),y.url=f+o),y.ifModified&&(E.lastModified[f]&&T.setRequestHeader("If-Modified-Since",E.lastModified[f]),E.etag[f]&&T.setRequestHeader("If-None-Match",E.etag[f])),(y.data&&y.hasContent&&!1!==y.contentType||t.contentType)&&T.setRequestHeader("Content-Type",y.contentType),T.setRequestHeader("Accept",y.dataTypes[0]&&y.accepts[y.dataTypes[0]]?y.accepts[y.dataTypes[0]]+("*"!==y.dataTypes[0]?", "+It+"; q=0.01":""):y.accepts["*"]),y.headers)T.setRequestHeader(i,y.headers[i]);if(y.beforeSend&&(!1===y.beforeSend.call(v,T,y)||h))return T.abort();if(u="abort",b.add(y.complete),T.done(y.success),T.fail(y.error),c=$t(Mt,y,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,y]),h)return T;y.async&&0<y.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},y.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(y,T,n)),!i&&-1<E.inArray("script",y.dataTypes)&&E.inArray("json",y.dataTypes)<0&&(y.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(y,s,T,i),i?(y.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(E.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(E.etag[f]=u)),204===e||"HEAD"===y.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(v,[o,l,T]):x.rejectWith(v,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,y,i?o:a]),b.fireWith(v,[T,l]),g&&(m.trigger("ajaxComplete",[T,y]),--E.active||E.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return E.get(e,t,n,"json")},getScript:function(e,t){return E.get(e,void 0,t,"script")}}),E.each(["get","post"],function(e,i){E[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),E.ajax(E.extend({url:e,type:i,dataType:r,data:t,success:n},E.isPlainObject(e)&&e))}}),E.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),E._evalUrl=function(e,t,n){return E.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){E.globalEval(e,t,n)}})},E.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=E(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){E(this).wrapInner(n.call(this,e))}):this.each(function(){var e=E(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){E(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){E(this).replaceWith(this.childNodes)}),this}}),E.expr.pseudos.hidden=function(e){return!E.expr.pseudos.visible(e)},E.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},E.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=E.ajaxSettings.xhr();v.cors=!!zt&&"withCredentials"in zt,v.ajax=zt=!!zt,E.ajaxTransport(function(i){var o,a;if(v.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),E.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),E.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return E.globalEval(e),e}}}),E.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),E.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=E("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),S.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;E.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||E.expando+"_"+Ct.guid++;return this[e]=!0,e}}),E.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||E.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?E(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=S.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),E.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=S.implementation.createHTMLDocument("")).createElement("base")).href=S.location.href,t.head.appendChild(r)):t=S),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&E(o).remove(),E.merge([],i.childNodes)));var r,i,o},E.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=yt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&E.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?E("<div>").append(E.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},E.expr.pseudos.animated=function(t){return E.grep(E.timers,function(e){return t===e.elem}).length},E.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=E.css(e,"position"),c=E(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=E.css(e,"top"),u=E.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,E.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},E.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){E.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===E.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===E.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=E(e).offset()).top+=E.css(e,"borderTopWidth",!0),i.left+=E.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-E.css(r,"marginTop",!0),left:t.left-i.left-E.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===E.css(e,"position"))e=e.offsetParent;return e||re})}}),E.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;E.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),E.each(["top","left"],function(e,n){E.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?E(e).position()[n]+"px":t})}),E.each({Height:"height",Width:"width"},function(a,s){E.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){E.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?E.css(e,t,i):E.style(e,t,n,i)},s,n?e:void 0,n)}})}),E.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){E.fn[t]=function(e){return this.on(t,e)}}),E.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),E.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){E.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;E.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||E.guid++,i},E.holdReady=function(e){e?E.readyWait++:E.ready(!0)},E.isArray=Array.isArray,E.parseJSON=JSON.parse,E.nodeName=A,E.isFunction=m,E.isWindow=x,E.camelCase=X,E.type=w,E.now=Date.now,E.isNumeric=function(e){var t=E.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},E.trim=function(e){return null==e?"":(e+"").replace(Gt,"$1")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return E});var Yt=C.jQuery,Qt=C.$;return E.noConflict=function(e){return C.$===E&&(C.$=Qt),e&&C.jQuery===E&&(C.jQuery=Yt),E},"undefined"==typeof e&&(C.jQuery=C.$=E),E});
5;
6/*! @source http://purl.eligrey.com/github/classList.js/blob/master/classList.js */
7if("document" in self){if(!("classList" in document.createElement("_"))){(function(j){"use strict";if(!("Element" in j)){return}var a="classList",f="prototype",m=j.Element[f],b=Object,k=String[f].trim||function(){return this.replace(/^\s+|\s+$/g,"")},c=Array[f].indexOf||function(q){var p=0,o=this.length;for(;p<o;p++){if(p in this&&this[p]===q){return p}}return -1},n=function(o,p){this.name=o;this.code=DOMException[o];this.message=p},g=function(p,o){if(o===""){throw new n("SYNTAX_ERR","An invalid or illegal string was specified")}if(/\s/.test(o)){throw new n("INVALID_CHARACTER_ERR","String contains an invalid character")}return c.call(p,o)},d=function(s){var r=k.call(s.getAttribute("class")||""),q=r?r.split(/\s+/):[],p=0,o=q.length;for(;p<o;p++){this.push(q[p])}this._updateClassName=function(){s.setAttribute("class",this.toString())}},e=d[f]=[],i=function(){return new d(this)};n[f]=Error[f];e.item=function(o){return this[o]||null};e.contains=function(o){o+="";return g(this,o)!==-1};e.add=function(){var s=arguments,r=0,p=s.length,q,o=false;do{q=s[r]+"";if(g(this,q)===-1){this.push(q);o=true}}while(++r<p);if(o){this._updateClassName()}};e.remove=function(){var t=arguments,s=0,p=t.length,r,o=false,q;do{r=t[s]+"";q=g(this,r);while(q!==-1){this.splice(q,1);o=true;q=g(this,r)}}while(++s<p);if(o){this._updateClassName()}};e.toggle=function(p,q){p+="";var o=this.contains(p),r=o?q!==true&&"remove":q!==false&&"add";if(r){this[r](p)}if(q===true||q===false){return q}else{return !o}};e.toString=function(){return this.join(" ")};if(b.defineProperty){var l={get:i,enumerable:true,configurable:true};try{b.defineProperty(m,a,l)}catch(h){if(h.number===-2146823252){l.enumerable=false;b.defineProperty(m,a,l)}}}else{if(b[f].__defineGetter__){m.__defineGetter__(a,i)}}}(self))}else{(function(){var b=document.createElement("_");b.classList.add("c1","c2");if(!b.classList.contains("c2")){var c=function(e){var d=DOMTokenList.prototype[e];DOMTokenList.prototype[e]=function(h){var g,f=arguments.length;for(g=0;g<f;g++){h=arguments[g];d.call(this,h)}}};c("add");c("remove")}b.classList.toggle("c3",false);if(b.classList.contains("c3")){var a=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(d,e){if(1 in arguments&&!this.contains(d)===!e){return e}else{return a.call(this,d)}}}b=null}())}};;
8/**
9 * @file
10 * A promise-polyfill by @taylorhakes.
11 *
12 * License: MIT
13 * @see https://github.com/taylorhakes/promise-polyfill
14 */
15!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&&define.amd?define(t):t()}(0,function(){"use strict";function e(e){var t=this.constructor;return this.then(function(n){return t.resolve(e()).then(function(){return n})},function(n){return t.resolve(e()).then(function(){return t.reject(n)})})}function t(e){return new this(function(t,n){function o(e,n){if(n&&("object"==typeof n||"function"==typeof n)){var f=n.then;if("function"==typeof f)return void f.call(n,function(t){o(e,t)},function(n){r[e]={status:"rejected",reason:n},0==--i&&t(r)})}r[e]={status:"fulfilled",value:n},0==--i&&t(r)}if(!e||"undefined"==typeof e.length)return n(new TypeError(typeof e+" "+e+" is not iterable(cannot read property Symbol(Symbol.iterator))"));var r=Array.prototype.slice.call(e);if(0===r.length)return t([]);for(var i=r.length,f=0;r.length>f;f++)o(f,r[f])})}function n(e){return!(!e||"undefined"==typeof e.length)}function o(){}function r(e){if(!(this instanceof r))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=undefined,this._deferreds=[],l(e,this)}function i(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,r._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var o;try{o=n(e._value)}catch(r){return void u(t.promise,r)}f(t.promise,o)}else(1===e._state?f:u)(t.promise,e._value)})):e._deferreds.push(t)}function f(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==typeof t||"function"==typeof t)){var n=t.then;if(t instanceof r)return e._state=3,e._value=t,void c(e);if("function"==typeof n)return void l(function(e,t){return function(){e.apply(t,arguments)}}(n,t),e)}e._state=1,e._value=t,c(e)}catch(o){u(e,o)}}function u(e,t){e._state=2,e._value=t,c(e)}function c(e){2===e._state&&0===e._deferreds.length&&r._immediateFn(function(){e._handled||r._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;n>t;t++)i(e,e._deferreds[t]);e._deferreds=null}function l(e,t){var n=!1;try{e(function(e){n||(n=!0,f(t,e))},function(e){n||(n=!0,u(t,e))})}catch(o){if(n)return;n=!0,u(t,o)}}var a=setTimeout,s="undefined"!=typeof setImmediate?setImmediate:null;r.prototype["catch"]=function(e){return this.then(null,e)},r.prototype.then=function(e,t){var n=new this.constructor(o);return i(this,new function(e,t,n){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.promise=n}(e,t,n)),n},r.prototype["finally"]=e,r.all=function(e){return new r(function(t,o){function r(e,n){try{if(n&&("object"==typeof n||"function"==typeof n)){var u=n.then;if("function"==typeof u)return void u.call(n,function(t){r(e,t)},o)}i[e]=n,0==--f&&t(i)}catch(c){o(c)}}if(!n(e))return o(new TypeError("Promise.all accepts an array"));var i=Array.prototype.slice.call(e);
15if(0===i.length)return t([]);for(var f=i.length,u=0;i.length>u;u++)r(u,i[u])})},r.allSettled=t,r.resolve=function(e){return e&&"object"==typeof e&&e.constructor===r?e:new r(function(t){t(e)})},r.reject=function(e){return new r(function(t,n){n(e)})},r.race=function(e){return new r(function(t,o){if(!n(e))return o(new TypeError("Promise.race accepts an array"));for(var i=0,f=e.length;f>i;i++)r.resolve(e[i]).then(t,o)})},r._immediateFn="function"==typeof s&&function(e){s(e)}||function(e){a(e,0)},r._unhandledRejectionFn=function(e){void 0!==console&&console&&console.warn("Possible Unhandled Promise Rejection:",e)};var d=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw Error("unable to locate global object")}();"function"!=typeof d.Promise?d.Promise=r:(d.Promise.prototype["finally"]||(d.Promise.prototype["finally"]=e),d.Promise.allSettled||(d.Promise.allSettled=t))});
16;
17/**
18 * @file
19 * A requestAnimationFrame polyfill.
20 *
21 * by Erik Möller. fixes from Paul Irish and Tino Zijdel.
22 * MIT license
23 *
24 * @see https://gist.github.com/paulirish/1579671
25 */
26!function(m){for(var o=0,n=["ms","moz","webkit","o"],e=0;e<n.length&&!m.requestAnimationFrame;++e)m.requestAnimationFrame=window[n[e]+"RequestAnimationFrame"],m.cancelAnimationFrame=window[n[e]+"CancelAnimationFrame"]||window[n[e]+"CancelRequestAnimationFrame"];m.requestAnimationFrame||(m.requestAnimationFrame=function(n,e){var i=(new Date).getTime(),a=Math.max(0,16-(i-o)),t=m.setTimeout(function(){n(i+a)},a);return o=i+a,t}),m.cancelAnimationFrame||(m.cancelAnimationFrame=function(n){clearTimeout(n)})}(this);
27;
28!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define("underscore",r):(n="undefined"!=typeof globalThis?globalThis:n||self,function(){var t=n._,e=n._=r();e.noConflict=function(){return n._=t,e}}())}(this,(function(){
29//     Underscore.js 1.13.6
30//     https://underscorejs.org
31//     (c) 2009-2022 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors
32//     Underscore may be freely distributed under the MIT license.
33var n="1.13.6",r="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},t=Array.prototype,e=Object.prototype,u="undefined"!=typeof Symbol?Symbol.prototype:null,o=t.push,i=t.slice,a=e.toString,f=e.hasOwnProperty,c="undefined"!=typeof ArrayBuffer,l="undefined"!=typeof DataView,s=Array.isArray,p=Object.keys,v=Object.create,h=c&&ArrayBuffer.isView,y=isNaN,d=isFinite,g=!{toString:null}.propertyIsEnumerable("toString"),b=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],m=Math.pow(2,53)-1;function j(n,r){return r=null==r?n.length-1:+r,function(){for(var t=Math.max(arguments.length-r,0),e=Array(t),u=0;u<t;u++)e[u]=arguments[u+r];switch(r){case 0:return n.call(this,e);case 1:return n.call(this,arguments[0],e);case 2:return n.call(this,arguments[0],arguments[1],e)}var o=Array(r+1);for(u=0;u<r;u++)o[u]=arguments[u];return o[r]=e,n.apply(this,o)}}function _(n){var r=typeof n;return"function"===r||"object"===r&&!!n}function w(n){return void 0===n}function A(n){return!0===n||!1===n||"[object Boolean]"===a.call(n)}function x(n){var r="[object "+n+"]";return function(n){return a.call(n)===r}}var S=x("String"),O=x("Number"),M=x("Date"),E=x("RegExp"),B=x("Error"),N=x("Symbol"),I=x("ArrayBuffer"),T=x("Function"),k=r.document&&r.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof k&&(T=function(n){return"function"==typeof n||!1});var D=T,R=x("Object"),F=l&&R(new DataView(new ArrayBuffer(8))),V="undefined"!=typeof Map&&R(new Map),P=x("DataView");var q=F?function(n){return null!=n&&D(n.getInt8)&&I(n.buffer)}:P,U=s||x("Array");function W(n,r){return null!=n&&f.call(n,r)}var z=x("Arguments");!function(){z(arguments)||(z=function(n){return W(n,"callee")})}();var L=z;function $(n){return O(n)&&y(n)}function C(n){return function(){return n}}function K(n){return function(r){var t=n(r);return"number"==typeof t&&t>=0&&t<=m}}function J(n){return function(r){return null==r?void 0:r[n]}}var G=J("byteLength"),H=K(G),Q=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var X=c?function(n){return h?h(n)&&!q(n):H(n)&&Q.test(a.call(n))}:C(!1),Y=J("length");function Z(n,r){r=function(n){for(var r={},t=n.length,e=0;e<t;++e)r[n[e]]=!0;return{contains:function(n){return!0===r[n]},push:function(t){return r[t]=!0,n.push(t)}}}(r);var t=b.length,u=n.constructor,o=D(u)&&u.prototype||e,i="constructor";for(W(n,i)&&!r.contains(i)&&r.push(i);t--;)(i=b[t])in n&&n[i]!==o[i]&&!r.contains(i)&&r.push(i)}function nn(n){if(!_(n))return[];if(p)return p(n);var r=[];for(var t in n)W(n,t)&&r.push(t);return g&&Z(n,r),r}function rn(n,r){var t=nn(r),e=t.length;if(null==n)return!e;for(var u=Object(n),o=0;o<e;o++){var i=t[o];if(r[i]!==u[i]||!(i in u))return!1}return!0}function tn(n){return n instanceof tn?n:this instanceof tn?void(this._wrapped=n):new tn(n)}function en(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,G(n))}tn.VERSION=n,tn.prototype.value=function(){return this._wrapped},tn.prototype.valueOf=tn.prototype.toJSON=tn.prototype.value,tn.prototype.toString=function(){return String(this._wrapped)};var un="[object DataView]";function on(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(null==n||null==r)return!1;if(n!=n)return r!=r;var o=typeof n;return("function"===o||"object"===o||"object"==typeof r)&&function n(r,t,e,o){r instanceof tn&&(r=r._wrapped);t instanceof tn&&(t=t._wrapped);var i=a.call(r);if(i!==a.call(t))return!1;if(F&&"[object Object]"==i&&q(r)){if(!q(t))return!1;i=un}switch(i){case"[object RegExp]":case"[object String]":return""+r==""+t;case"[object Number]":return+r!=+r?+t!=+t:0==+r?1/+r==1/t:+r==+t;case"[object Date]":case"[object Boolean]":return+r==+t;case"[object Symbol]":return u.valueOf.call(r)===u.valueOf.call(t);case"[object ArrayBuffer]":case un:return n(en(r),en(t),e,o)}var f="[object Array]"===i;if(!f&&X(r)){if(G(r)!==G(t))return!1;if(r.buffer===t.buffer&&r.byteOffset===t.byteOffset)return!0;f=!0}if(!f){if("object"!=typeof r||"object"!=typeof t)return!1;var c=r.constructor,l=t.constructor;if(c!==l&&!(D(c)&&c instanceof c&&D(l)&&l instanceof l)&&"constructor"in r&&"constructor"in t)return!1}o=o||[];var s=(e=e||[]).length;for(;s--;)if(e[s]===r)return o[s]===t;if(e.push(r),o.push(t),f){if((s=r.length)!==t.length)return!1;for(;s--;)if(!on(r[s],t[s],e,o))return!1}else{var p,v=nn(r);if(s=v.length,nn(t).length!==s)return!1;for(;s--;)if(p=v[s],!W(t,p)||!on(r[p],t[p],e,o))return!1}return e.pop(),o.pop(),!0}(n,r,t,e)}function an(n){if(!_(n))return[];var r=[];for(var t in n)r.push(t);return g&&Z(n,r),r}function fn(n){var r=Y(n);return function(t){if(null==t)return!1;var e=an(t);
vendor: 12,180 bytes, line 33
33if(Y(e))return!1;for(var u=0;u<r;u++)if(!D(t[n[u]]))return!1;return n!==hn||!D(t[cn])}}var cn="forEach",ln="has",sn=["clear","delete"],pn=["get",ln,"set"],vn=sn.concat(cn,pn),hn=sn.concat(pn),yn=["add"].concat(sn,cn,ln),dn=V?fn(vn):x("Map"),gn=V?fn(hn):x("WeakMap"),bn=V?fn(yn):x("Set"),mn=x("WeakSet");function jn(n){for(var r=nn(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[r[u]];return e}function _n(n){for(var r={},t=nn(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[e];return r}function wn(n){var r=[];for(var t in n)D(n[t])&&r.push(t);return r.sort()}function An(n,r){return function(t){var e=arguments.length;if(r&&(t=Object(t)),e<2||null==t)return t;for(var u=1;u<e;u++)for(var o=arguments[u],i=n(o),a=i.length,f=0;f<a;f++){var c=i[f];r&&void 0!==t[c]||(t[c]=o[c])}return t}}var xn=An(an),Sn=An(nn),On=An(an,!0);function Mn(n){if(!_(n))return{};if(v)return v(n);var r=function(){};r.prototype=n;var t=new r;return r.prototype=null,t}function En(n){return U(n)?n:[n]}function Bn(n){return tn.toPath(n)}function Nn(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r[e]]}return t?n:void 0}function In(n,r,t){var e=Nn(n,Bn(r));return w(e)?t:e}function Tn(n){return n}function kn(n){return n=Sn({},n),function(r){return rn(r,n)}}function Dn(n){return n=Bn(n),function(r){return Nn(r,n)}}function Rn(n,r,t){if(void 0===r)return n;switch(null==t?3:t){case 1:return function(t){return n.call(r,t)};case 3:return function(t,e,u){return n.call(r,t,e,u)};case 4:return function(t,e,u,o){return n.call(r,t,e,u,o)}}return function(){return n.apply(r,arguments)}}function Fn(n,r,t){return null==n?Tn:D(n)?Rn(n,r,t):_(n)&&!U(n)?kn(n):Dn(n)}function Vn(n,r){return Fn(n,r,1/0)}function Pn(n,r,t){return tn.iteratee!==Vn?tn.iteratee(n,r):Fn(n,r,t)}function qn(){}function Un(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))}tn.toPath=En,tn.iteratee=Vn;var Wn=Date.now||function(){return(new Date).getTime()};function zn(n){var r=function(r){return n[r]},t="(?:"+nn(n).join("|")+")",e=RegExp(t),u=RegExp(t,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,r):n}}var Ln={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},$n=zn(Ln),Cn=zn(_n(Ln)),Kn=tn.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Jn=/(.)^/,Gn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Hn=/\\|'|\r|\n|\u2028|\u2029/g;function Qn(n){return"\\"+Gn[n]}var Xn=/^\s*(\w|\$)+\s*$/;var Yn=0;function Zn(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var o=Mn(n.prototype),i=n.apply(o,u);return _(i)?i:o}var nr=j((function(n,r){var t=nr.placeholder,e=function(){for(var u=0,o=r.length,i=Array(o),a=0;a<o;a++)i[a]=r[a]===t?arguments[u++]:r[a];for(;u<arguments.length;)i.push(arguments[u++]);return Zn(n,e,this,this,i)};return e}));nr.placeholder=tn;var rr=j((function(n,r,t){if(!D(n))throw new TypeError("Bind must be called on a function");var e=j((function(u){return Zn(n,e,r,this,t.concat(u))}));return e})),tr=K(Y);function er(n,r,t,e){if(e=e||[],r||0===r){if(r<=0)return e.concat(n)}else r=1/0;for(var u=e.length,o=0,i=Y(n);o<i;o++){var a=n[o];if(tr(a)&&(U(a)||L(a)))if(r>1)er(a,r-1,t,e),u=e.length;else for(var f=0,c=a.length;f<c;)e[u++]=a[f++];else t||(e[u++]=a)}return e}var ur=j((function(n,r){var t=(r=er(r,!1,!1)).length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var e=r[t];n[e]=rr(n[e],n)}return n}));var or=j((function(n,r,t){return setTimeout((function(){return n.apply(null,t)}),r)})),ir=nr(or,tn,1);function ar(n){return function(){return!n.apply(this,arguments)}}function fr(n,r){var t;return function(){return--n>0&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}}var cr=nr(fr,2);function lr(n,r,t){r=Pn(r,t);for(var e,u=nn(n),o=0,i=u.length;o<i;o++)if(r(n[e=u[o]],e,n))return e}function sr(n){return function(r,t,e){t=Pn(t,e);for(var u=Y(r),o=n>0?0:u-1;o>=0&&o<u;o+=n)if(t(r[o],o,r))return o;return-1}}var pr=sr(1),vr=sr(-1);function hr(n,r,t,e){for(var u=(t=Pn(t,e,1))(r),o=0,i=Y(n);o<i;){var a=Math.floor((o+i)/2);t(n[a])<u?o=a+1:i=a}return o}function yr(n,r,t){return function(e,u,o){var a=0,f=Y(e);if("number"==typeof o)n>0?a=o>=0?o:Math.max(o+f,a):f=o>=0?Math.min(o+1,f):o+f+1;else if(t&&o&&f)return e[o=t(e,u)]===u?o:-1;if(u!=u)return(o=r(i.call(e,a,f),$))>=0?o+a:-1;for(o=n>0?a:f-1;o>=0&&o<f;o+=n)if(e[o]===u)return o;return-1}}var dr=yr(1,pr,hr),gr=yr(-1,vr);function br(n,r,t){var e=(tr(n)?pr:lr)(n,r,t);if(void 0!==e&&-1!==e)return n[e]}function mr(n,r,t){var e,u;if(r=Rn(r,t),tr(n))for(e=0,u=n.length;e<u;e++)r(n[e],e,n);else{var o=nn(n);for(e=0,u=o.length;e<u;e++)r(n[o[e]],o[e],n)}return n}function jr(n,r,t){r=Pn(r,t);for(var e=!tr(n)&&nn(n),u=(e||n).length,o=Array(u),i=0;i<u;i++){var a=e?e[i]:i;o[i]=r(n[a],a,n)}return o}function _r(n){var r=function(r,t,e,u){var o=!tr(r)&&nn(r),i=(o||r).length,a=n>0?0:i-1;for(u||(e=r[o?o[a]:a],a+=n);a>=0&&a<i;a+=n){var f=o?o[a]:a;e=t(e,r[f],f,r)}return e};return function(n,t,e,u){var o=arguments.length>=3;return r(n,Rn(t,u,4),e,o)}}var wr=_r(1),Ar=_r(-1);function xr(n,r,t){var e=[];return r=Pn(r,t),mr(n,(function(n,t,u){r(n,t,u)&&e.push(n)})),e}function Sr(n,r,t){r=Pn(r,t);for(var e=!tr(n)&&nn(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(!r(n[i],i,n))return!1}return!0}function Or(n,r,t){r=Pn(r,t);for(var e=!tr(n)&&nn(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(r(n[i],i,n))return!0}return!1}function Mr(n,r,t,e){return tr(n)||(n=jn(n)),("number"!=typeof t||e)&&(t=0),dr(n,r,t)>=0}var Er=j((function(n,r,t){var e,u;return D(r)?u=r:(r=Bn(r),e=r.slice(0,-1),r=r[r.length-1]),jr(n,(function(n){var o=u;if(!o){if(e&&e.length&&(n=Nn(n,e)),null==n)return;o=n[r]}return null==o?o:o.apply(n,t)}))}));function Br(n,r){return jr(n,Dn(r))}function Nr(n,r,t){var e,u,o=-1/0,i=-1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=tr(n)?n:jn(n)).length;a<f;a++)null!=(e=n[a])&&e>o&&(o=e);else r=Pn(r,t),mr(n,(function(n,t,e){((u=r(n,t,e))>i||u===-1/0&&o===-1/0)&&(o=n,i=u)}));return o}var Ir=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function Tr(n){return n?U(n)?i.call(n):S(n)?n.match(Ir):tr(n)?jr(n,Tn):jn(n):[]}function kr(n,r,t){if(null==r||t)return tr(n)||(n=jn(n)),n[Un(n.length-1)];var e=Tr(n),u=Y(e);r=Math.max(Math.min(r,u),0);for(var o=u-1,i=0;i<r;i++){var a=Un(i,o),f=e[i];e[i]=e[a],e[a]=f}return e.slice(0,r)}function Dr(n,r){return function(t,e,u){var o=r?[[],[]]:{};return e=Pn(e,u),mr(t,(function(r,u){var i=e(r,u,t);n(o,r,i)})),o}}var Rr=Dr((function(n,r,t){W(n,t)?n[t].push(r):n[t]=[r]})),Fr=Dr((function(n,r,t){n[t]=r})),Vr=Dr((function(n,r,t){W(n,t)?n[t]++:n[t]=1})),Pr=Dr((function(n,r,t){n[t?0:1].push(r)}),!0);function qr(n,r,t){return r in t}var Ur=j((function(n,r){var t={},e=r[0];if(null==n)return t;D(e)?(r.length>1&&(e=Rn(e,r[1])),r=an(n)):(e=qr,r=er(r,!1,!1),n=Object(n));for(var u=0,o=r.length;u<o;u++){var i=r[u],a=n[i];e(a,i,n)&&(t[i]=a)}return t})),Wr=j((function(n,r){var t,e=r[0];return D(e)?(e=ar(e),r.length>1&&(t=r[1])):(r=jr(er(r,!1,!1),String),e=function(n,t){return!Mr(r,t)}),Ur(n,e,t)}));function zr(n,r,t){return i.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))}function Lr(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[0]:zr(n,n.length-r)}function $r(n,r,t){return i.call(n,null==r||t?1:r)}var Cr=j((function(n,r){return r=er(r,!0,!0),xr(n,(function(n){return!Mr(r,n)}))})),Kr=j((function(n,r){return Cr(n,r)}));function Jr(n,r,t,e){A(r)||(e=t,t=r,r=!1),null!=t&&(t=Pn(t,e));for(var u=[],o=[],i=0,a=Y(n);i<a;i++){var f=n[i],c=t?t(f,i,n):f;r&&!t?(i&&o===c||u.push(f),o=c):t?Mr(o,c)||(o.push(c),u.push(f)):Mr(u,f)||u.push(f)}return u}var Gr=j((function(n){return Jr(er(n,!0,!0))}));function Hr(n){for(var r=n&&Nr(n,Y).length||0,t=Array(r),e=0;e<r;e++)t[e]=Br(n,e);return t}var Qr=j(Hr);function Xr(n,r){return n._chain?tn(r).chain():r}function Yr(n){return mr(wn(n),(function(r){var t=tn[r]=n[r];tn.prototype[r]=function(){var n=[this._wrapped];return o.apply(n,arguments),Xr(this,t.apply(tn,n))}})),tn}mr(["pop","push","reverse","shift","sort","splice","unshift"],(function(n){var r=t[n];tn.prototype[n]=function(){var t=this._wrapped;return null!=t&&(r.apply(t,arguments),"shift"!==n&&"splice"!==n||0!==t.length||delete t[0]),Xr(this,t)}})),mr(["concat","join","slice"],(function(n){var r=t[n];tn.prototype[n]=function(){var n=this._wrapped;return null!=n&&(n=r.apply(n,arguments)),Xr(this,n)}}));var Zr=Yr({__proto__:null,VERSION:n,restArguments:j,isObject:_,isNull:function(n){return null===n},isUndefined:w,isBoolean:A,isElement:function(n){return!(!n||1!==n.nodeType)},isString:S,isNumber:O,isDate:M,isRegExp:E,isError:B,isSymbol:N,isArrayBuffer:I,isDataView:q,isArray:U,isFunction:D,isArguments:L,isFinite:function(n){return!N(n)&&d(n)&&!isNaN(parseFloat(n))},isNaN:$,isTypedArray:X,isEmpty:function(n){if(null==n)return!0;var r=Y(n);return"number"==typeof r&&(U(n)||S(n)||L(n))?0===r:0===Y(nn(n))},isMatch:rn,isEqual:function(n,r){return on(n,r)},isMap:dn,isWeakMap:gn,isSet:bn,isWeakSet:mn,keys:nn,allKeys:an,values:jn,pairs:function(n){for(var r=nn(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=[r[u],n[r[u]]];return e},invert:_n,functions:wn,methods:wn,extend:xn,extendOwn:Sn,assign:Sn,defaults:On,create:function(n,r){var t=Mn(n);return r&&Sn(t,r),t},clone:function(n){return _(n)?U(n)?n.slice():xn({},n):n},tap:function(n,r){return r(n),n},get:In,has:function(n,r){for(var t=(r=Bn(r)).length,e=0;e<t;e++){var u=r[e];if(!W(n,u))return!1;n=n[u]}return!!t},mapObject:function(n,r,t){r=Pn(r,t);for(var e=nn(n),u=e.length,o={},i=0;i<u;i++){var a=e[i];o[a]=r(n[a],a,n)}return o},identity:Tn,constant:C,noop:qn,toPath:En,property:Dn,propertyOf:function(n){return null==n?qn:function(r){return In(n,r)}},matcher:kn,matches:kn,times:function(n,r,t){var e=Array(Math.max(0,n));r=Rn(r,t,1);for(var u=0;u<n;u++)e[u]=r(u);return e},random:Un,now:Wn,escape:$n,unescape:Cn,templateSettings:Kn,template:function(n,r,t){!r&&t&&(r=t),r=On({},r,tn.templateSettings);var e=RegExp([(r.escape||Jn).source,(r.interpolate||Jn).source,(r.evaluate||Jn).source].join("|")+"|$","g"),u=0,o="__p+='";n.replace(e,(function(r,t,e,i,a){return o+=n.slice(u,a).replace(Hn,Qn),u=a+r.length,t?o+="'+\n((__t=("+t+"))==null?'':_.escape(__t))+\n'":e?o+="'+\n((__t=("+e+"))==null?'':__t)+\n'":i&&(o+="';\n"+i+"\n__p+='"),r})),o+="';\n";var i,a=r.variable;if(a){if(!Xn.test(a))throw new Error("variable is not a bare identifier: "+a)}else o="with(obj||{}){\n"+o+"}\n",a="obj";o="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{i=new Function(a,"_",o)}catch(n){throw n.source=o,n}var f=function(n){return i.call(this,n,tn)};return f.source="function("+a+"){\n"+o+"}",f},result:function(n,r,t){var e=(r=Bn(r)).length;if(!e)return D(t)?t.call(n):t;for(var u=0;u<e;u++){var o=null==n?void 0:n[r[u]];void 0===o&&(o=t,u=e),n=D(o)?o.call(n):o}return n},uniqueId:function(n){var r=++Yn+"";return n?n+r:r},chain:function(n){var r=tn(n);return r._chain=!0,r},iteratee:Vn,partial:nr,bind:rr,bindAll:ur,memoize:function(n,r){var t=function(e){var u=t.cache,o=""+(r?r.apply(this,arguments):e);return W(u,o)||(u[o]=n.apply(this,arguments)),u[o]};return t.cache={},t},delay:or,defer:ir,throttle:function(n,r,t){var e,u,o,i,a=0;t||(t={});var f=function(){a=!1===t.leading?0:Wn(),e=null,i=n.apply(u,o),e||(u=o=null)},c=function(){var c=Wn();a||!1!==t.leading||(a=c);var l=r-(c-a);return u=this,o=arguments,l<=0||l>r?(e&&(clearTimeout(e),e=null),a=c,i=n.apply(u,o),e||(u=o=null)):e||!1===t.trailing||(e=setTimeout(f,l)),i};return c.cancel=function(){clearTimeout(e),a=0,e=u=o=null},c},debounce:function(n,r,t){var e,u,o,i,a,f=function(){var c=Wn()-u;r>c?e=setTimeout(f,r-c):(e=null,t||(i=n.apply(a,o)),e||(o=a=null))},c=j((function(c){return a=this,o=c,u=Wn(),e||(e=setTimeout(f,r),t&&(i=n.apply(a,o))),i}));return c.cancel=function(){clearTimeout(e),e=o=a=null},c},wrap:function(n,r){return nr(r,n)},negate:ar,compose:function(){var n=arguments,r=n.length-1;return function(){for(var t=r,e=n[r].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},after:function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}}
33,before:fr,once:cr,findKey:lr,findIndex:pr,findLastIndex:vr,sortedIndex:hr,indexOf:dr,lastIndexOf:gr,find:br,detect:br,findWhere:function(n,r){return br(n,kn(r))},each:mr,forEach:mr,map:jr,collect:jr,reduce:wr,foldl:wr,inject:wr,reduceRight:Ar,foldr:Ar,filter:xr,select:xr,reject:function(n,r,t){return xr(n,ar(Pn(r)),t)},every:Sr,all:Sr,some:Or,any:Or,contains:Mr,includes:Mr,include:Mr,invoke:Er,pluck:Br,where:function(n,r){return xr(n,kn(r))},max:Nr,min:function(n,r,t){var e,u,o=1/0,i=1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=tr(n)?n:jn(n)).length;a<f;a++)null!=(e=n[a])&&e<o&&(o=e);else r=Pn(r,t),mr(n,(function(n,t,e){((u=r(n,t,e))<i||u===1/0&&o===1/0)&&(o=n,i=u)}));return o},shuffle:function(n){return kr(n,1/0)},sample:kr,sortBy:function(n,r,t){var e=0;return r=Pn(r,t),Br(jr(n,(function(n,t,u){return{value:n,index:e++,criteria:r(n,t,u)}})).sort((function(n,r){var t=n.criteria,e=r.criteria;if(t!==e){if(t>e||void 0===t)return 1;if(t<e||void 0===e)return-1}return n.index-r.index})),"value")},groupBy:Rr,indexBy:Fr,countBy:Vr,partition:Pr,toArray:Tr,size:function(n){return null==n?0:tr(n)?n.length:nn(n).length},pick:Ur,omit:Wr,first:Lr,head:Lr,take:Lr,initial:zr,last:function(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[n.length-1]:$r(n,Math.max(0,n.length-r))},rest:$r,tail:$r,drop:$r,compact:function(n){return xr(n,Boolean)},flatten:function(n,r){return er(n,r,!1)},without:Kr,uniq:Jr,unique:Jr,union:Gr,intersection:function(n){for(var r=[],t=arguments.length,e=0,u=Y(n);e<u;e++){var o=n[e];if(!Mr(r,o)){var i;for(i=1;i<t&&Mr(arguments[i],o);i++);i===t&&r.push(o)}}return r},difference:Cr,unzip:Hr,transpose:Hr,zip:Qr,object:function(n,r){for(var t={},e=0,u=Y(n);e<u;e++)r?t[n[e]]=r[e]:t[n[e][0]]=n[e][1];return t},range:function(n,r,t){null==r&&(r=n||0,n=0),t||(t=r<n?-1:1);for(var e=Math.max(Math.ceil((r-n)/t),0),u=Array(e),o=0;o<e;o++,n+=t)u[o]=n;return u},chunk:function(n,r){if(null==r||r<1)return[];for(var t=[],e=0,u=n.length;e<u;)t.push(i.call(n,e,e+=r));return t},mixin:Yr,default:tn});return Zr._=Zr,Zr}));;
34/**
35* DO NOT EDIT THIS FILE.
36* See the following change record for more information,
37* https://www.drupal.org/node/2815083
38* @preserve
39**/
40(function () {
41  var settingsElement = document.querySelector('head > script[type="application/json"][data-drupal-selector="drupal-settings-json"], body > script[type="application/json"][data-drupal-selector="drupal-settings-json"]');
42  window.drupalSettings = {};
43  if (settingsElement !== null) {
44    window.drupalSettings = JSON.parse(settingsElement.textContent);
45  }
46})();;
47/**
48* DO NOT EDIT THIS FILE.
49* See the following change record for more information,
50* https://www.drupal.org/node/2815083
51* @preserve
52**/
53window.Drupal = {
54  behaviors: {},
55  locale: {}
56};
57(function (Drupal, drupalSettings, drupalTranslations, console, Proxy, Reflect) {
58  Drupal.throwError = function (error) {
59    setTimeout(function () {
60      throw error;
61    }, 0);
62  };
63  Drupal.attachBehaviors = function (context, settings) {
64    context = context || document;
65    settings = settings || drupalSettings;
66    var behaviors = Drupal.behaviors;
67    Object.keys(behaviors || {}).forEach(function (i) {
68      if (typeof behaviors[i].attach === 'function') {
69        try {
70          behaviors[i].attach(context, settings);
71        } catch (e) {
72          Drupal.throwError(e);
73        }
74      }
75    });
76  };
77  Drupal.detachBehaviors = function (context, settings, trigger) {
78    context = context || document;
79    settings = settings || drupalSettings;
80    trigger = trigger || 'unload';
81    var behaviors = Drupal.behaviors;
82    Object.keys(behaviors || {}).forEach(function (i) {
83      if (typeof behaviors[i].detach === 'function') {
84        try {
85          behaviors[i].detach(context, settings, trigger);
86        } catch (e) {
87          Drupal.throwError(e);
88        }
89      }
90    });
91  };
92  Drupal.checkPlain = function (str) {
93    str = str.toString().replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#39;');
94    return str;
95  };
96  Drupal.formatString = function (str, args) {
97    var processedArgs = {};
98    Object.keys(args || {}).forEach(function (key) {
99      switch (key.charAt(0)) {
100        case '@':
101          processedArgs[key] = Drupal.checkPlain(args[key]);
102          break;
103        case '!':
104          processedArgs[key] = args[key];
105          break;
106        default:
107          processedArgs[key] = Drupal.theme('placeholder', args[key]);
108          break;
109      }
110    });
111    return Drupal.stringReplace(str, processedArgs, null);
112  };
113  Drupal.stringReplace = function (str, args, keys) {
114    if (str.length === 0) {
115      return str;
116    }
117    if (!Array.isArray(keys)) {
118      keys = Object.keys(args || {});
119      keys.sort(function (a, b) {
120        return a.length - b.length;
121      });
122    }
123    if (keys.length === 0) {
124      return str;
125    }
126    var key = keys.pop();
127    var fragments = str.split(key);
128    if (keys.length) {
129      for (var i = 0; i < fragments.length; i++) {
130        fragments[i] = Drupal.stringReplace(fragments[i], args, keys.slice(0));
131      }
132    }
133    return fragments.join(args[key]);
134  };
135  Drupal.t = function (str, args, options) {
136    options = options || {};
137    options.context = options.context || '';
138    if (typeof drupalTranslations !== 'undefined' && drupalTranslations.strings && drupalTranslations.strings[options.context] && drupalTranslations.strings[options.context][str]) {
139      str = drupalTranslations.strings[options.context][str];
140    }
141    if (args) {
142      str = Drupal.formatString(str, args);
143    }
144    return str;
145  };
146  Drupal.url = function (path) {
147    return drupalSettings.path.baseUrl + drupalSettings.path.pathPrefix + path;
148  };
149  Drupal.url.toAbsolute = function (url) {
150    var urlParsingNode = document.createElement('a');
151    try {
152      url = decodeURIComponent(url);
153    } catch (e) {}
154    urlParsingNode.setAttribute('href', url);
155    return urlParsingNode.cloneNode(false).href;
156  };
157  Drupal.url.isLocal = function (url) {
158    var absoluteUrl = Drupal.url.toAbsolute(url);
159    var protocol = window.location.protocol;
160    if (protocol === 'http:' && absoluteUrl.indexOf('https:') === 0) {
161      protocol = 'https:';
162    }
163    var baseUrl = "".concat(protocol, "//").concat(window.location.host).concat(drupalSettings.path.baseUrl.slice(0, -1));
164    try {
165      absoluteUrl = decodeURIComponent(absoluteUrl);
166    } catch (e) {}
167    try {
168      baseUrl = decodeURIComponent(baseUrl);
169    } catch (e) {}
170    return absoluteUrl === baseUrl || absoluteUrl.indexOf("".concat(baseUrl, "/")) === 0;
171  };
172  Drupal.formatPlural = function (count, singular, plural, args, options) {
173    args = args || {};
174    args['@count'] = count;
175    var pluralDelimiter = drupalSettings.pluralDelimiter;
176    var translations = Drupal.t(singular + pluralDelimiter + plural, args, options).split(pluralDelimiter);
177    var index = 0;
178    if (typeof drupalTranslations !== 'undefined' && drupalTranslations.pluralFormula) {
179      index = count in drupalTranslations.pluralFormula ? drupalTranslations.pluralFormula[count] : drupalTranslations.pluralFormula.default;
180    } else if (args['@count'] !== 1) {
181      index = 1;
182    }
183    return translations[index];
184  };
185  Drupal.encodePath = function (item) {
186    return window.encodeURIComponent(item).replace(/%2F/g, '/');
187  };
188  Drupal.deprecationError = function (_ref) {
189    var message = _ref.message;
190    if (drupalSettings.suppressDeprecationErrors === false && typeof console !== 'undefined' && console.warn) {
191      console.warn("[Deprecation] ".concat(message));
192    }
193  };
194  Drupal.deprecatedProperty = function (_ref2) {
195    var target = _ref2.target,
196      deprecatedProperty = _ref2.deprecatedProperty,
197      message = _ref2.message;
198    if (!Proxy || !Reflect) {
199      return target;
200    }
201    return new Proxy(target, {
202      get: function get(target, key) {
203        if (key === deprecatedProperty) {
204          Drupal.deprecationError({
205            message: message
206          });
207        }
208        for (var _len = arguments.length, rest = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
209          rest[_key - 2] = arguments[_key];
210        }
211        return Reflect.get.apply(Reflect, [target, key].concat(rest));
212      }
213    });
214  };
215  Drupal.theme = function (func) {
216    if (func in Drupal.theme) {
217      var _Drupal$theme;
218      for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
219        args[_key2 - 1] = arguments[_key2];
220      }
221      return (_Drupal$theme = Drupal.theme)[func].apply(_Drupal$theme, args);
222    }
223  };
224  Drupal.theme.placeholder = function (str) {
225    return "<em class=\"placeholder\">".concat(Drupal.checkPlain(str), "</em>");
226  };
227})(Drupal, window.drupalSettings, window.drupalTranslations, window.console, window.Proxy, window.Reflect);;
228/**
229* DO NOT EDIT THIS FILE.
230* See the following change record for more information,
231* https://www.drupal.org/node/2815083
232* @preserve
233**/
234if (window.jQuery) {
235  jQuery.noConflict();
236}
237document.documentElement.className += ' js';
238(function (Drupal, drupalSettings) {
239  var domReady = function domReady(callback) {
240    var listener = function listener() {
241      callback();
242      document.removeEventListener('DOMContentLoaded', listener);
243    };
244    if (document.readyState !== 'loading') {
245      setTimeout(callback, 0);
246    } else {
247      document.addEventListener('DOMContentLoaded', listener);
248    }
249  };
250  domReady(function () {
251    Drupal.attachBehaviors(document, drupalSettings);
252  });
253})(Drupal, window.drupalSettings);;
254/**
255* DO NOT EDIT THIS FILE.
256* See the following change record for more information,
257* https://www.drupal.org/node/2815083
258* @preserve
259**/
260Drupal.debounce = function (func, wait, immediate) {
261  var timeout;
262  var result;
263  return function () {
264    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
265      args[_key] = arguments[_key];
266    }
267    var context = this;
268    var later = function later() {
269      timeout = null;
270      if (!immediate) {
271        result = func.apply(context, args);
272      }
273    };
274    var callNow = immediate && !timeout;
275    clearTimeout(timeout);
276    timeout = setTimeout(later, wait);
277    if (callNow) {
278      result = func.apply(context, args);
279    }
280    return result;
281  };
282};;
283!function(o,i){"use strict";var s=Object.assign,u=Array.prototype,e=Object.prototype,c=e.toString,n=u.splice,r=u.some,t="undefined"!=typeof Symbol&&Symbol,f="jQuery"in o,a="cash"in o,d="add",l="remove",p="has",h="get",m="set",v="width",y="clientWidth",g="scroll",b="iterator",E="Observer",w=/-([a-z])/g,C=/^--/,S=/[\11\12\14\15\40]+/,O="data-once",x=o.localStorage,j={},z=Math.pow(2,53)-1,L=(A.prototype.init=function(n,t){t=new A(n,t);return F(n)?(n.idblazy||(n.idblazy=t),n.idblazy):t},A);function A(n,t){if(this.name="dblazy",n){if(H(n))return n;var e=n;if(J(n)){if(!(e=vn(xn(t),n)).length)return}else if(Q(n))return this.ready(n);!e.nodeType&&e!==o||(e=[e]);for(var r=this.length=e.length,i=0;i<r;i++)this[i]=e[i]}}var I=L.prototype,N=I.init;function T(n){var t=this,e=(t=H(t)?t:N(t)).length;return Q(n)&&(e&&1!==e?t.each(n):n(t[0],0)),t}function M(n){var t="[object "+n+"]";return function(n){return c.call(n)===t}}(N.fn=N.prototype=I).length=0,I.splice=n,t&&(I[t[b]]=u[t[b]]);var P,W,R=(P="length",function(n){return U(n)?void 0:n[P]}),k=(W=R,function(n){n=W(n);return"number"==typeof n&&0<=n&&n<=z});function q(n){return _(n)?Object.keys(n):[]}function H(n){return n instanceof L}function B(n){return!J(n)&&(n&&(Array.isArray(n)||k(n)))}function D(n){return!0===n||!1===n||"[object Boolean]"===c.call(n)}function F(n){return n&&n instanceof Element}var Q=M("Function");function $(n){if(U(n)||G(n)||!1===n)return!0;var t=R(n);return"number"==typeof t&&(B(n)||J(n))?0===t:0===R(q(n))}function U(n){return null===n}function V(n){return!isNaN(parseFloat(n))&&isFinite(n)}function _(n){if(!n||"object"!=typeof n)return!1;n=Object.getPrototypeOf(n);return U(n)||n===e}function J(n){return n&&"string"==typeof n}function G(n){return void 0===n}function K(n){return!!n&&n===n.window}function X(n){return-1!==[9,11].indexOf(!!n&&n.nodeType)}function Y(n){return-1!==[1,9,11].indexOf(!!n&&n.nodeType)}function Z(n){return Y(n)||K(n)}function nn(n,t,e){if(Q(n)||J(n)||D(n)||V(n))return[];if(B(n)&&!G(n.length)){var r=n.length;if(!r||1===r&&" "===n[0])return[]}if(_(n)&&$(n))return[];if("[object Object]"===c.call(n)){for(var i in n)if(tn(n,i)&&"length"!==i&&"name"!==i&&!1===t.call(e,n[i],i,n))break}else n&&(n instanceof HTMLCollection&&(n=u.slice.call(n)),(r=n.length)&&1===r&&!G(n[0])?t.call(e,n[0],0,n):n.forEach(t,e));return n}function tn(n,t){return e.hasOwnProperty.call(n,t)}function en(n){return B(n)?n:[n]}function rn(n,t,e,r){return n[t+"Attribute"](e,r)}function on(n,t,r,e){var i=this,o=G(r),u=!_(t)&&(o||D(e)),c=J(e)?e:"";if(u){e=n&&n.length?n[0]:n;return o&&(r=""),un(e,t)?rn(e,h,t):r}return T.call(n,function(e){if(!Y(e))return u?"":i;_(t)?nn(t,function(n,t){rn(e,m,c+t,n)}):U(r)?nn(en(t),function(n){n=c+n;un(e,n)&&rn(e,l,n)}):"src"===t?e.src=r:rn(e,m,t,r)})}function un(n,t){return Y(n)&&rn(n,p,t)}function cn(n,r,i){return T.call(n,function(n,t){var e;Y(n)&&(e=n.classList,Q(r)&&(r=r(rn(n,h,"class"),t)),e&&J(r)&&(t=r.trim().split(" "),G(i)?t.map(function(n){e.toggle(n)}):e[i].apply(e,t)))})}function fn(t,n){var e=0;return F(t)&&F(n)?t!==n&&t.contains(n):B(t)?-1!==t.indexOf(n):(J(t)&&nn(en(n),function(n){-1!==t.indexOf(n)&&e++}),0<e)}function an(n){return n.replace(/[.*+\-?^${}()|[\]\\]/g,"\\$&")}function ln(t,n){var e=0;return J(t)&&nn(en(n),function(n){t.startsWith(n)&&e++}),0<e}function sn(n){return n.replace(/\\s+/g," ").trim()}function dn(n,t){return F(n)&&J(t)?n.closest(t):null}function pn(n,t){return!!F(n)&&(J(t)?n.matches(t):F(t)&&n===t)}function hn(t,n){return!(!t||!t.nodeName)&&r.call(en(n),function(n){return t.nodeName.toLowerCase()===n.toLowerCase()})}function mn(n,t,e){if(Y(n))return J(t)&&ln(t,">")&&(fn(t,":scope")||(t=":scope "+t)),G(e)&&J(t)?n.querySelector(t)||[]:function(n,t){var e=en(n);{var r;J(n)&&(r=(t=xn(t)).querySelector(n),e=U(r)?[]:t.querySelectorAll(n))}return u.slice.call(e)}(t,n);return[]}function vn(n,t){return mn(n,t,1)}function yn(n){return F(n)&&n.currentStyle||!G(i.documentMode)}function gn(){return o.devicePixelRatio||1}function bn(){return o.innerWidth||i.documentElement[y]||o.screen[v]}function En(n,t,e,r,i,o){return Sn(n,t,e,r,i,o,d)}function wn(n,t,e,r,i,o){return Sn(n,t,e,r,i,o,l)}function Cn(n){return n.decoded||n.complete}function Sn(n,t,e,c,r,f,a){var i,o=c,l=yn();c=J(e)?(i=fn(t,["touchstart",g,"wheel"]),G(r)&&(r=!l&&{capture:!i,passive:i}),function(n){var t=n.target;if(pn(t,e))o.call(t,n);else for(;t&&t!==this;){if(pn(t,e)){o.call(t,n);break}t=t.parentElement||t.parentNode}}):(f=r,r=o,e);return T.call(n,function(i){var o,u;Z(i)&&(o=!1,u=r||!1,_(r)&&(u=s({capture:!1,passive:!0},r),o=u.once||!1),nn(t.trim().split(" "),function(n){f=f||ln(n,["blazy.","bio."]);
283var t=a===d,e=(f?n:n.split(".")[0]).trim(),r=c=c||j[n];Q(c)&&(o&&t&&l&&(t=!(c=function n(){i.removeEventListener(e,n,u),r.apply(this,arguments)})),i[a+"EventListener"](e,c,u)),t?j[n]=c:delete j[n]}))})}function On(n){function t(){return setTimeout(n,0,N)}return"loading"!==i.readyState?t():i.addEventListener("DOMContentLoaded",t),this}function xn(n){return J(n=n||i)&&(n=pn(n,"html")?i:i.querySelector(n)),pn(n,"html")&&(n=i),Y(n=jn(n))&&n.children&&n.children.length||X(n)?n:i}function jn(n){var t=f&&n instanceof o.jQuery,e=a&&n instanceof o.cash;return n&&(H(n)||t||e)?n[0]:n}function zn(n){return C.test(n)}function Ln(n,t,e){if(F(n)){var r=n[e];if(G(t))return r;for(;r;){if(pn(r,t)||hn(r,t))return r;r=r[e]}}return null}function An(n,t){return Ln(n,t,"parentElement")}function In(n,t,e){return Ln(n,t,e+"ElementSibling")}function Nn(n,t){return In(n,t,"previous")}function Tn(e,n,r){return n.filter(function(n){var t=pn(n,e);return t&&r&&r(n),t})}function Mn(n,t){return vn(xn(t),n)}function Pn(n){return"["+O+'~="'+n+'"]'}function Wn(n,t){var e=t.add,r=t.remove,i=[];un(n,O)&&nn(on(n,O).trim().split(S),function(n){fn(i,n)||n===r||i.push(n)}),e&&!fn(i,e)&&i.push(e);e=i.join(" ");rn(n,""===e?l:m,O,e)}function Rn(n,t){return Mn(n?Pn(n):"["+O+"]",t)}N.isTag=M,N.isArr=B,N.isBool=D,N.isDoc=X,N.isElm=F,N.isFun=Q,N.isEmpty=$,N.isNull=U,N.isNum=V,N.isObj=_,N.isStr=J,N.isUnd=G,N.isEvt=Z,N.isQsa=Y,N.isIo="Intersection"+E in o,N.isMo="Mutation"+E in o,N.isRo="Resize"+E in o,N.isNativeLazy="loading"in HTMLImageElement.prototype,N.isAmd="function"==typeof define&&define.amd,N.isWin=K,N._er=-1,N._ok=1,N.chain=function(n,t){return T.call(n,t)},N.each=nn,N.extend=s,I.extend=function(n,t){return(t=t||!1)?s(n,I):s(I,n)},N.hasProp=tn,N.parse=function(n){try{return 0===n.length||"1"===n?{}:JSON.parse(n)}catch(n){return{}}},N.toArray=en,N.hasAttr=un,N.attr=on.bind(N),N.removeAttr=function(n,t,e){return on(n,t,null,e||"")}.bind(N),N.hasClass=function(e,n){var r,i=0;return Y(e)&&J(n)&&(n=n.trim(),r=e.classList,nn(n.trim().split(" "),function(n){var t;r&&r.contains(n)&&i++,0!==i||(t=on(e,"class"))&&t.match(n)&&i++})),0<i},N.toggleClass=cn,N.addClass=function(n,t){return cn(n,t,d)},N.removeClass=function(n,t){return cn(n,t,l)},N.contains=fn,N.escape=an,N.startsWith=ln,N.trimSpaces=sn,N.closest=dn,N.is=pn,N.equal=hn,N.find=mn,N.findAll=vn,N.remove=function(n){var t;!F(n)||(t=An(n))&&t.removeChild(n)},N.ie=yn,N.pixelRatio=gn,N.windowWidth=bn,N.windowSize=function(){return{width:bn(),height:o.innerHeight||i.documentElement.clientHeight}},N.activeWidth=function(t,n){var e=n.up||!1,r=q(t),i=r[0],o=r[r.length-1],u=n.ww||bn(),n=u*gn(),c=e?u:n;return G(r=r.filter(function(n){return e?parseInt(n,10)<=c:parseInt(n,10)>=c}).map(function(n){return t[n]})[e?"pop":"shift"]())?t[o<=c?o:i]:r},N.toEvent=Sn,N.on=En,N.off=wn,N.one=function(n,t,e,r){return En(n,t,e,{once:!0},r)},N.trigger=function(n,e,r,i){return T.call(n,function(n){var t;return Z(n)&&(t=G(r)?new Event(e):(t={bubbles:!0,cancelable:!0,detail:r||{}},_(i)&&(t=s(t,i)),new CustomEvent(e,t)),n.dispatchEvent(t)),t})},N.isDecoded=Cn,N.ready=On.bind(N),N.decode=function(e){return Cn(e)?Promise.resolve(e):"decode"in e?(e.decoding="async",e.decode()):new Promise(function(n,t){e.onload=function(){n(e)},e.onerror=t()})},N.once=function(n,t,e,r){var i,o=[];return J(n)?Rn(n,t):(G(e)||(o=Tn(":not("+Pn(i=t)+")",Mn(e,r),function(n){Wn(n,{add:i})})).length&&nn(o,n),o)},N.throttle=function(t,e,r){e=e||50;var i=0;return function(){var n=+new Date;n-i<e||(i=n,t.apply(r,arguments))}},N.resize=function(t,e){return o.onresize=function(n){clearTimeout(e),e=setTimeout(t.bind(n),200)},t},N.template=function(n,t){for(var e in t)tn(t,e)&&(n=n.replace(new RegExp(an("$"+e),"g"),t[e]));return sn(n)},N.context=xn,N.toElm=jn,N.camelCase=function(n){return n.replace(w,function(n,t){return t.toUpperCase()})},N.isVar=zn,N.computeStyle=function(n,t,e){if(F(n)){var r=getComputedStyle(n,null);return G(t)?r:e||zn(t)?r.getPropertyValue(t)||null:r[t]||n.style[t]}},N.rect=function(n){return F(n)?n.getBoundingClientRect():{}},N.empty=function(n){return T.call(n,function(n){if(F(n))for(;n.firstChild;)n.removeChild(n.firstChild)})},N.parent=An,N.next=function(n,t){return In(n,t,"next")},N.prev=Nn,N.index=function(t,n){var e=0;if(F(t))for(G(n)||nn(en(n),function(n){n=dn(t,n);if(F(n))return t=n,!1});!U(t=Nn(t));)e++;return e},N.keys=q,N.create=function(n,t,e){var r=i.createElement(n);return(J(t)||_(t))&&(J(t)?r.className=t:on(r,t)),e&&(e=e.trim(),r.innerHTML=e,"template"===n&&(r=r.content.firstChild||r)),r},N.storage=function(t,e,n,r){if(x){if(G(e))return x.getItem(t);if(U(e))x.removeItem(t);else try{x.setItem(t,e)}catch(n){x.removeItem(t),r&&x.setItem(t,e)}}return n||!1},E={chain:function(n){return T.call(this,n)},each:function(n){return nn(this,n)},ready:function(n){return On.call(this,n)}}
283,I.extend(E),N.matches=pn,N.forEach=nn,N.bindEvent=En.bind(N),N.unbindEvent=wn.bind(N),N.filter=Tn,N.once.find||(N.once.find=Rn,N.once.filter=function(n,t,e){return Tn(Pn(n),Mn(t,e))},N.once.remove=function(t,n,e){return Tn(Pn(t),Mn(n,e),function(n){Wn(n,{remove:t})})},N.once.removeSafely=function(n,t,e){var r=o.jQuery;this.find(n,e).length&&this.remove(n,t,e),f&&r&&r.fn&&Q(r.fn.removeOnce)&&r(t,xn(e)).removeOnce(n)}),"undefined"!=typeof exports?module.exports=N:o.dBlazy=N}(this,this.document);
284;
285!function(i){"use strict";function r(t,n,a){return i.chain(t,function(e){i.isElm(e)&&i.each(i.toArray(n),function(t){var n,r="data-"+t;i.hasAttr(e,r)&&((n=i.attr(e,r))&&n.length&&i.attr(e,t,n),a&&i.removeAttr(e,r))})})}function e(t,a,u,c){i.isUnd(c)&&(c=!0);return i.chain(t,function(t){var n,r,e;i.isElm(t)&&(n=t.parentNode,r=i.equal(n,"picture"),e=null,c?e=r?n:t:r&&(e=n),i.isElm(e)&&(e=e.getElementsByTagName("source"),a=a||(r?"srcset":"src"),e.length&&i(e).mapAttr(a,u)))})}i.mapAttr=r,i.fn.mapAttr=function(t,n){return r(this,t,n)},i.mapSource=e,i.fn.mapSource=function(t,n,r){return e(this,t,n,r)}}(dBlazy);
286;
287!function(n,o,r){"use strict";function i(t){t=t||0;var i=n.windowSize();return{top:0-t,left:0-t,bottom:i.height+t,right:i.width+t}}n.ww=0,n.vp={top:0,right:0,bottom:0,left:0},n.isVisible=function(t,i){var e=t.target||t;return n.isIo?t.isIntersecting||0<t.intersectionRatio:(e=e,i=i,(e=n.isElm(e)?n.rect(e):e).right>=i.left&&e.bottom>=i.top&&e.left<=i.right&&e.top<=i.bottom)},n.isResized=function(t,i){return!!i.contentRect||!!t.resizeTrigger||!1},n.viewport=i,n.windowData=function(t,i){var e=this,n=t.offset||100,o=t.mobileFirst||!1;return i&&e.initViewport(t),e.ww=e.vp.right-n,{vp:e.vp,ww:e.ww,up:o}},n.initViewport=function(t){return this.vp=i(t.offset),this.vp},n.updateViewport=function(t){var i=this,e=t.offset;return i.vp.bottom=(o.innerHeight||r.documentElement.clientHeight)+e,i.vp.right=(o.innerWidth||r.documentElement.clientWidth)+e,i.windowData(t)}}(dBlazy,this,this.document);
288;
289!function(c,n){"use strict";var t=Array.prototype.some,u="remove",h="width",l="height",e="after",r="before",i="begin",o="Top",s="Left",f="Height",a="scroll";function d(t,n,r){var i=this,e=c.isUnd(r),u=c.isObj(n),o=!u&&e;if(o&&c.isStr(n)){var s=t&&t.length?t[0]:t,f=[h,l,"top","right","bottom","left"],e=c.computeStyle(s,n),s=c.isNum(e)?parseInt(e,2):e;return-1===f.indexOf(n)?e:s}return c.chain(t,function(e){if(!c.isElm(e))return o?"":i;function t(t,n){c.isFun(t)&&(t=t()),(c.contains(n,"-")||c.isVar(n))&&(n=c.camelCase(n)),e.style[n]=c.isStr(t)?t:t+"px"}u?c.each(n,t):c.isNull(r)?c.each(c.toArray(n),function(t){e.style.removeProperty(t)}):c.isStr(n)&&t(r,n)})}function p(t){t=c.rect(t);return{top:(t.top||0)+n.body[a+o],left:(t.left||0)+n.body[a+s]}}function m(t,n){return d(t,h,n)}function g(t,n){return d(t,l,n)}function v(t,n,e){var r,i=0;return c.isElm(t)&&(i=t["offset"+e],n&&(r=c.computeStyle(t),t=function(t){return parseInt(r["margin"+t],2)},i+=e===f?t(o)+t("Bottom"):t(s)+t("Right"))),i}function y(t,n){return v(t,n,"Width")}function A(t,n){return v(t,n,f)}function C(t,n,e){c.isElm(t)&&t["insertAdjacent"+(c.isElm(n)?"Element":"HTML")](e,n)}function b(t,n){C(t,n,e+"end")}function x(t,n){C(t,n,r+i)}function S(t,n){C(t,n,r+"end")}function E(t,n){C(t,n,e+i)}function H(t,n){c.isUnd(n)&&(n=!0);return c.chain(t,function(t){return c.isElm(t)&&t.cloneNode(n)})}var N={css:function(t,n){return d(this,t,n)},hasAttr:function(n){return t.call(this,function(t){return c.hasAttr(t,n)})},attr:function(t,n,e){return c.isNull(n)?this.removeAttr(t,e):c.attr(this,t,n,e)},removeAttr:function(t,n){return c.removeAttr(this,t,n)},hasClass:function(n){return t.call(this,function(t){return c.hasClass(t,n)})},toggleClass:function(t,n){return c.toggleClass(this,t,n)},addClass:function(t){return this.toggleClass(t,"add")},removeClass:function(t){return arguments.length?this.toggleClass(t,u):this.attr("class","")},empty:function(){return c.empty(this)},first:function(t){return c.isUnd(t)?this[0]:t},after:function(t){return b(this[0],t)},before:function(t){return x(this[0],t)},append:function(t){return S(this[0],t)},prepend:function(t){return E(this[0],t)},remove:function(){this.each(c.remove)},closest:function(t){return c.closest(this[0],t)},equal:function(t){return c.equal(this[0],t)},find:function(t,n){return c.find(this[0],t,n)},findAll:function(t){return c.findAll(this[0],t)},clone:function(t){return H(this,t)},computeStyle:function(t){return c.computeStyle(this[0],t)},offset:function(){return p(this[0])},parent:function(t){return c.parent(this[0],t)},prev:function(t){return c.prev(this[0],t)},next:function(t){return c.next(this[0],t)},index:function(t){return c.index(this[0],t)},width:function(t){return m(this[0],t)},height:function(t){return g(this[0],t)},outerWidth:function(t){return y(this[0],t)},outerHeight:function(t){return A(this[0],t)},on:function(t,n,e,r,i){return c.on(this,t,n,e,r,i,"add")},off:function(t,n,e,r,i){return c.off(this,t,n,e,r,i,u)},one:function(t,n,e){return c.one(this,t,n,e)},trigger:function(t,n,e){return c.trigger(this,t,n,e)}};c.fn.extend(N),c.css=d,c.offset=p,c.clone=H,c.after=b,c.before=x,c.append=S,c.prepend=E,c.width=m,c.height=g,c.outerWidth=y,c.outerHeight=A}(dBlazy,this.document);
290;
291!function(l,n,s){"use strict";var d="blazy",f=0,g="data-",r=g+"animation",m="src",b=["srcset",m],t="b-bg";function i(s,e){return s=s.target||s,l.hasClass(s,e)}l._defaults={error:!1,offset:100,root:s,success:!1,selector:".b-lazy",separator:"|",container:!1,containerClass:!1,errorClass:"b-error",loadInvisible:!1,successClass:"b-loaded",visibleClass:!1,validateDelay:25,saveViewportOffsetDelay:50,srcset:"data-srcset",src:"data-src",bgClass:t,isMedia:!1,parent:".media",disconnect:!1,intersecting:!1,observing:!1,resizing:!1,mobileFirst:!1,rootMargin:"0px",threshold:[0]}
291,l.isCompleted=function(s){if(l.isElm(s)){if(l.equal(s,"img"))return l.isDecoded(s);if(l.equal(s,"iframe"))return"complete"===(s.contentDocument||s.contentWindow.document).readyState}return!1},l.isBg=function(s,e){return i(s,e&&e.bgClass||t)},l.isBlur=function(s){return i(s,"b-blur")},l.selector=function(s,e){var r=s.selector;return e&&l.isBool(e)&&(e=":not(."+s.successClass+")"),r+(e=e||"")},l.success=function(s,e,r,t){return l.isFun(t.success)&&t.success(s,e,r,t),0<f&&f--,f},l.error=function(s,e,r,t){return l.isFun(t.error)&&t.error(s,e,r,t),++f},l.status=function(s,e,r){return this.loaded(s,e,null,r)},l.loaded=function(s,e,r,t){var n=l.closest(s,t.parent)||s,i=e===l._ok||!0===e,a=t.successClass,o=t.errorClass,c="is-"+a,u="is-"+o;return r=r||n,l.addClass(s,i?a:o),l.addClass(n,i?c:u),l.removeClass(n,"is-b-visible"),f=this[i?"success":"error"](s,e,r,t),i&&l.hasAttr(s,g+m)&&l.removeAttr(s,b,g),l.trigger(s,d+".loaded",{status:e}),f},l.loadVideo=function(s,e,r){return l.mapSource(s,m,!0),s.load(),l.status(s,e,r)},l.onresizing=function(s,e){var r=s.elms,t=s.options;l.isFun(t.resizing)&&t.resizing(s,r,e),l.trigger(n,d+".resizing",{winData:e,entries:r})},l.aniElement=function(s){var e=l.closest(s,"["+r+"]");return l.hasAttr(s,r)&&!l.isElm(e)&&(e=s),e}}(dBlazy,this,this.document);
292;
293!function(l,s){"use strict";l.enqueue=function(n,e,r){l.each(n,e.bind(r)),n.length=0},l.initObserver=function(r,n,e,i){var t,o=r.options||{},a=r._queue||[],s="windowData"in r?r.windowData():{},u={rootMargin:o.rootMargin||"0px",threshold:o.threshold||0};function c(n){var e;return a.length||(e=requestAnimationFrame(h),r._raf.push(e)),a.push(n),!1}function h(){l.enqueue(a,n,r)}e=l.toArray(e),i&&(r.ioObserver=l.isIo?new IntersectionObserver(c,u):n.call(r,e));return r.roObserver=function(){return t=this,s=l.isUnd(s.ww)?l.windowData(o,!0):r.windowData(),l.isRo?new ResizeObserver(c):n.call(r,e)}(),r.resizeTrigger=t,s},l.observe=function(n,r,e){function i(e){e&&r&&r.length&&l.each(r,function(n){e.observe(n)})}var t=n.options||{},o=n.ioObserver,a=n.roObserver;return l.isIo&&(o||a)?(e&&i(o),i(a)):"Blazy"in s&&(n.bLazy=new Blazy(t)),n},l.unload=function(n){n=n._raf;n&&n.length&&l.each(n,function(n){cancelAnimationFrame(n)})}}(dBlazy,this);
294;
295!function(c){"use strict";function n(n){return c.chain(n,function(n){var s="loading",n=[n,c.closest(n,".is-"+s),c.closest(n,'[class*="'+s+'"]')];c.each(n,function(n){var a;c.isElm(n)&&(a=n.className,c.contains(a,s)&&(n.className=a.replace(/(\S+)loading/g,"")))})})}c.unloading=n,c.fn.unloading=function(){return n(this)}}(dBlazy);
296;
297!function(c,t,s){"use strict";var r,p,o,l,d,n;function e(){var t=!0;if(n){var e=c.storage(r);if(!c.isNull(e))return"true"===e;t=c.isUnd(n._.supportsType(l)),c.storage(r,t)}return t}function i(t){var e=s.importNode(t,!0),r=[],n=[],i=c.attr(e,p),t=c.attr(e,"srcset");return!(!t.length&&!i.length||!(t=t.length?t:i).length||(c.each(t.split(","),function(t){(c.contains(t,".webp")?r:n).push(t)}),!r.length))&&function(t,e,r,n){if(!c.isElm(t))return!1;var i=c.create(o),s=c.create(d),a=c.attr(t,"sizes"),u=e.join(",").trim(),e=r.join(",").trim(),r=c.find(i,d);return c.isElm(r)||(n?(c.attr(s,p,u),c.attr(t,p,e)):(s.srcset=u,t.srcset=e),a&&(s.sizes=a),s.type=l,c.append(i,s),c.append(i,t)),i}(e,r,n,i.length)}c.webp||(r="bwebp",p="data-srcset",o="picture",l="image/webp",d="source",n=t.picturefill,c.webp={isSupported:e,run:function(t){!e()&&t.length&&c.each(t,function(t){var e=c.equal(t,"img"),r=c.closest(t,o);e&&c.isNull(r)&&(e=c.closest(t,".media")||t.parentNode,(r=i(t))&&(c.append(e,r),c.remove(t)))})}})}(dBlazy,this,this.document);
298;
299!function(e,n,i){"use strict";e.debounce=function(c,t,e,i){n.debounce(function(){c.call(e,t)},i||201,!0)},e.matchMedia=function(c,t){return!!i.matchMedia&&(e.isUnd(t)&&(t="max"),i.matchMedia("("+t+"-device-width: "+c+")").matches)}}(dBlazy,Drupal,this);
300;
301!function(t,e){"use strict";var o="Blazy",s=t.dBlazy;s.isAmd?define([o,s,t],e):"object"==typeof exports?module.exports=e(o,s,t):t.Blazy=e(o,s,t)}(this,function(f,u,o){"use strict";
301var d,v,n=document,g="srcset",i={},r={},p={};return function(t){var s=this;s.name=f,s.options=i=u.extend(u._defaults,t||{}),s.options.container=!!i.containerClass&&u.findAll(n,i.containerClass),s.destroyed=!0;t=s._util={};return i=s.options,d=i.src||"data-src",v=1<u.pixelRatio(),u.initViewport(i),s.windowData=function(){return u.isUnd(p.vp)?u.windowData(i,!0):p},s.revalidate=function(){e(s)},s.load=function(t,e){var o=s.options;t&&u.isUnd(t.length)?l(t,e,o):u.each(t,function(t){l(t,e,o)})},s.destroy=function(){var e=s._util;i.container&&u.each(i.container,function(t){u.off(t,"scroll."+f,e.validateT)}),u.off(o,"scroll."+f,e.validateT),u.off(o,"resize."+f,e.validateT),u.off(o,"resize."+f,e.saveViewportOffsetT),s.count=0,s.elms.length=0,s.destroyed=!0},t.validateT=u.throttle(function(){a(s)},i.validateDelay,s),t.saveViewportOffsetT=u.throttle(function(){c(i),u.onresizing(s,p)},i.saveViewportOffsetDelay,s),c(i),setTimeout(function(){e(s)}),s};function e(t){var e=t._util;t.elms=u.findAll(i.root||n,u.selector(i)),t.count=t.elms.length,t.destroyed&&(t.destroyed=!1,i.container&&u.each(i.container,function(t){u.on(t,"scroll."+f,e.validateT)}),u.on(o,"resize."+f,e.saveViewportOffsetT),u.on(o,"resize."+f,e.validateT),u.on(o,"scroll."+f,e.validateT)),a(t)}function a(t){for(var e=0;e<t.count;e++){var o=t.elms[e];(function(t,e){var o=u.rect(t);if(e.container){var s=u.closest(t,e.containerClass);if(s){var n=u.rect(s);if(u.isVisible(n,r)){var i=n.top-e.offset,t=n.right+e.offset,s=n.bottom+e.offset,e=n.left-e.offset,e={top:i>r.top?i:r.top,right:t<r.right?t:r.right,bottom:s<r.bottom?s:r.bottom,left:e>r.left?e:r.left};return u.isVisible(o,e)}return!1}}return u.isVisible(o,r)}(o,t.options)||u.hasClass(o,t.options.successClass))&&(t.load(o),t.elms.splice(e,1),t.count--,e--)}0===t.count&&t.destroy()}function l(t,e,o){var s,n,i,r,a,l,c;!u.hasClass(t,o.successClass)&&(e||o.loadInvisible||0<t.offsetWidth&&0<t.offsetHeight)&&((c=u.attr(t,d)||u.attr(t,o.src))?(e=c.split(o.separator),s=e[v&&1<e.length?1:0],n=u.attr(t,o.srcset),c=u.isBg(t,o),i=u.equal(t,"img"),e=t.parentNode,r=u.equal(e,"picture"),a=u.ie(t),l=a&&t.currentStyle["object-fit"],i||c?(c=new Image,r&&(c=t,u.each(e.getElementsByTagName("source"),function(t){h(t,g,o.srcset)})),u.one(c,"error."+f,function(){u.status(t,!1,o)}),u.one(c,"load."+f,function(){i?r||(w(t,s,n,l),l&&(t.style.backgroundImage='url("'+s+'")')):(l=a,u.isFun(u.bgUrl)?(s=u.bgUrl(t,p),u.bg(t,p)):t.style.backgroundImage='url("'+s+'")'),m(t,o)}),w(c,s,n,l)):(t.src=s,m(t,o))):u.equal(t,"video")?(u.each(t.getElementsByTagName("source"),function(t){h(t,"src",o.src)}),t.load(),m(t,o)):(o.error&&o.error(t,"missing"),u.addClass(t,o.errorClass)))}function m(t,e){u.status(t,!0,e)}function h(t,e,o){var s=u.attr(t,o);s&&(u.attr(t,e,s),u.removeAttr(t,o))}function w(t,e,o,s){o&&u.attr(t,g,o),s?(u.addClass(t,"is-b-ie"),t.src="data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20"+(t.width||1)+"%20"+(t.height||1)+"'%2F%3E"):t.src=e}function c(t){p=u.updateViewport(t),r=u.vp}});
302;
303!function(e,i){"use strict";var s="Bio",t=e.dBlazy;t.isAmd?define([s,t,e],i):"object"==typeof exports?module.exports=i(s,t):e[s]=i(s,t)}(this||module||{},function(s,f,e){"use strict";f.isAmd&&window;var t,o=document,n=o,v={}
303,r=0,p=0,d=0,a=0,u="b-bg",b=".media",h="addClass",y="removeClass",c=!1,l=25,m=i.prototype;function i(e){var i=f.extend({},m,this);return i.name=s,i.options=t=f.extend({},f._defaults,e||{}),u=t.bgClass||u,l=t.validateDelay||l,b=t.parent||b,n=t.root||n,setTimeout(function(){i.reinit()}),i}function g(e,i){var s=this,t=s.options,o=s.count,n=s.ioObserver;r===o-1&&s.destroyQuietly(),n&&s.isLoaded(e)&&!e.bloaded&&t.isMedia&&!i&&(n.unobserve(e),e.bloaded=!0,r++),e.bhit&&!i||(s.lazyLoad(e,v),a++,i=!(e.bhit=!0)),f.isFun(t.intersecting)&&t.intersecting(e,t),f.trigger(e,"bio.intersecting",{options:t})}function z(e){var r=this,d=r.options,a=f.vp,u=f.ww,i=e[0],c=f.isBlur(i),i=f.isResized(r,i),l=d.visibleClass;if(i)v=f.updateViewport(d),f.onresizing(r,v);else if(r.destroyed&&!l)return;f.each(e,function(e){var i=e.target||e,s=f.isResized(r,e),t=f.isVisible(e,a),o=f.closest(i,b)||i,n=r.isLoaded(i);f[t&&!n?h:y](o,"is-b-visible"),l&&f.isStr(l)&&f[t?h:y](o,l),t&&g.call(r,i),s&&0<p&&!c&&(p!==u&&r.resizing(i,v),r.resizeTick++),f.isFun(d.observing)&&d.observing(e,t,d)}),p=u}return m.constructor=i,m.count=0,m.erCount=0,m.resizeTick=0,m.destroyed=!1,m.options={},m.lazyLoad=function(e,i){},m.loadImage=function(e,i,s){},m.resizing=function(e,i){},m.prepare=function(){},m.windowData=function(){return f.isUnd(v.vp)?f.windowData(this.options,!0):v},m.load=function(e,i,s){var t=this;e=e&&f.toArray(e),f.isUnd(s)||(t.options=f.extend({},t.options,s||{})),f.each(e,function(e){(t.isValid(e)||f.isElm(e)&&i)&&g.call(t,e,i)})},m.isLoaded=function(e){return f.hasClass(e,this.options.successClass)},m.isValid=function(e){return f.isElm(e)&&!this.isLoaded(e)},m.revalidate=function(e){var i=this;(!0===e||i.count!==a)&&d<a&&(i.elms=f.findAll(n,f.selector(i.options))).length&&(i.observe(!0),d++)},m.destroyQuietly=function(e){var i=this,s=i.options;i.destroyed||!e&&!f.isUnd(Drupal.io)||(s=f.find(o,f.selector(s,":not(."+s.successClass+")")),f.isElm(s)||i.destroy(e))},m.destroy=function(e){var i=this,s=i.options,t=i.ioObserver;i.destroyed||0<i.erCounted&&!e||(r===i.count-1&&s.disconnect||e)&&(t&&t.disconnect(),f.unload(i),i.count=0,i.elms=[],i.ioObserver=null,i.destroyed=!0)},m.observe=function(e){var i=this,s=i.elms;f.isIo&&(i.destroyed||e)&&(v=f.initObserver(i,z,s,!0),i.destroyed=!1),c&&!e||(f.observe(i,s,!0),c=!0)},m.reinit=function(){this.destroyed=!0,function(e){e.prepare();var i=e.elms=f.findAll(n,f.selector(e.options));e.count=i.length,e._raf=[],e._queue=[],e.observe(!0)}(this)},i});
304;
305!function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery"],i):"undefined"!=typeof exports?module.exports=i(require("jquery")):i(jQuery)}(function(i){"use strict";var e=window.Slick||{};(e=function(){var e=0;return function(t,o){var s,n=this;n.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:i(t),appendDots:i(t),arrows:!0,asNavFor:null,prevArrow:'<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',nextArrow:'<button class="slick-next" aria-label="Next" type="button">Next</button>',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(e,t){return i('<button type="button" />').text(t+1)},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,focusOnChange:!1,infinite:!0,initialSlide:0,lazyLoad:"ondemand",mobileFirst:!1,pauseOnHover:!0,pauseOnFocus:!0,pauseOnDotsHover:!1,respondTo:"window",responsive:null,rows:1,rtl:!1,slide:"",slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:!0,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useCSS:!0,useTransform:!0,variableWidth:!1,vertical:!1,verticalSwiping:!1,waitForAnimate:!0,zIndex:1e3},n.initials={animating:!1,dragging:!1,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,scrolling:!1,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,sliding:!1,slideOffset:0,swipeLeft:null,swiping:!1,$list:null,touchObject:{},transformsEnabled:!1,unslicked:!1},i.extend(n,n.initials),n.activeBreakpoint=null,n.animType=null,n.animProp=null,n.breakpoints=[],n.breakpointSettings=[],n.cssTransitions=!1,n.focussed=!1,n.interrupted=!1,n.hidden="hidden",n.paused=!0,n.positionProp=null,n.respondTo=null,n.rowCount=1,n.shouldClick=!0,n.$slider=i(t),n.$slidesCache=null,n.transformType=null,n.transitionType=null,n.visibilityChange="visibilitychange",n.windowWidth=0,n.windowTimer=null,s=i(t).data("slick")||{},n.options=i.extend({},n.defaults,o,s),n.currentSlide=n.options.initialSlide,n.originalSettings=n.options,void 0!==document.mozHidden?(n.hidden="mozHidden",n.visibilityChange="mozvisibilitychange"):void 0!==document.webkitHidden&&(n.hidden="webkitHidden",n.visibilityChange="webkitvisibilitychange"),n.autoPlay=i.proxy(n.autoPlay,n),n.autoPlayClear=i.proxy(n.autoPlayClear,n),n.autoPlayIterator=i.proxy(n.autoPlayIterator,n),n.changeSlide=i.proxy(n.changeSlide,n),n.clickHandler=i.proxy(n.clickHandler,n),n.selectHandler=i.proxy(n.selectHandler,n),n.setPosition=i.proxy(n.setPosition,n),n.swipeHandler=i.proxy(n.swipeHandler,n),n.dragHandler=i.proxy(n.dragHandler,n),n.keyHandler=i.proxy(n.keyHandler,n),n.instanceUid=e++,n.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/,n.registerBreakpoints(),n.init(!0)}}()).prototype.activateADA=function(){this.$slideTrack.find(".slick-active").attr({"aria-hidden":"false"}).find("a, input, button, select").attr({tabindex:"0"})},e.prototype.addSlide=e.prototype.slickAdd=function(e,t,o){var s=this;if("boolean"==typeof t)o=t,t=null;else if(t<0||t>=s.slideCount)return!1;s.unload(),"number"==typeof t?0===t&&0===s.$slides.length?i(e).appendTo(s.$slideTrack):o?i(e).insertBefore(s.$slides.eq(t)):i(e).insertAfter(s.$slides.eq(t)):!0===o?i(e).prependTo(s.$slideTrack):i(e).appendTo(s.$slideTrack),s.$slides=s.$slideTrack.children(this.options.slide),s.$slideTrack.children(this.options.slide).detach(),s.$slideTrack.append(s.$slides),s.$slides.each(function(e,t){i(t).attr("data-slick-index",e)}),s.$slidesCache=s.$slides,s.reinit()},e.prototype.animateHeight=function(){var i=this;if(1===i.options.slidesToShow&&!0===i.options.adaptiveHeight&&!1===i.options.vertical){var e=i.$slides.eq(i.currentSlide).outerHeight(!0);i.$list.animate({height:e},i.options.speed)}},e.prototype.animateSlide=function(e,t){var o={},s=this;s.animateHeight(),!0===s.options.rtl&&!1===s.options.vertical&&(e=-e),!1===s.transformsEnabled?!1===s.options.vertical?s.$slideTrack.animate({left:e},s.options.speed,s.options.easing,t):s.$slideTrack.animate({top:e},s.options.speed,s.options.easing,t):!1===s.cssTransitions?(!0===s.options.rtl&&(s.currentLeft=-s.currentLeft),i({animStart:s.currentLeft}).animate({animStart:e},{duration:s.options.speed,easing:s.options.easing,step:function(i){i=Math.ceil(i),!1===s.options.vertical?(o[s.animType]="translate("+i+"px, 0px)",s.$slideTrack.css(o)):(o[s.animType]="translate(0px,"+i+"px)",s.$slideTrack.css(o))},complete:function(){t&&t.call()}})):(s.applyTransition(),e=Math.ceil(e),!1===s.options.vertical?o[s.animType]="translate3d("+e+"px, 0px, 0px)":o[s.animType]="translate3d(0px,"+e+"px, 0px)",s.$slideTrack.css(o),t&&setTimeout(function(){s.disableTransition(),t.call()},s.options.speed))},e.prototype.getNavTarget=function(){var e=this,t=e.options.asNavFor;return t&&null!==t&&(t=i(t).not(e.$slider)),t},e.prototype.asNavFor=function(e){var t=this.getNavTarget();null!==t&&"object"==typeof t&&t.each(function(){var t=i(this).slick("getSlick");t.unslicked||t.slideHandler(e,!0)})},e.prototype.applyTransition=function(i){var e=this,t={};!1===e.options.fade?t[e.transitionType]=e.transformType+" "+e.options.speed+"ms "+e.options.cssEase:t[e.transitionType]="opacity "+e.options.speed+"ms "+e.options.cssEase,!1===e.options.fade?e.$slideTrack.css(t):e.$slides.eq(i).css(t)},e.prototype.autoPlay=function(){var i=this;i.autoPlayClear(),i.slideCount>i.options.slidesToShow&&(i.autoPlayTimer=setInterval(i.autoPlayIterator,i.options.autoplaySpeed))},e.prototype.autoPlayClear=function(){var i=this;i.autoPlayTimer&&clearInterval(i.autoPlayTimer)},e.prototype.autoPlayIterator=function(){var i=this,e=i.currentSlide+i.options.slidesToScroll;i.paused||i.interrupted||i.focussed||(!1===i.options.infinite&&(1===i.direction&&i.currentSlide+1===i.slideCount-1?i.direction=0:0===i.direction&&(e=i.currentSlide-i.options.slidesToScroll,i.currentSlide-1==0&&(i.direction=1))),i.slideHandler(e))},e.prototype.buildArrows=function(){var e=this;!0===e.options.arrows&&(e.$prevArrow=i(e.options.prevArrow).addClass("slick-arrow"),e.$nextArrow=i(e.options.nextArrow).addClass("slick-arrow"),e.slideCount>e.options.slidesToShow?(e.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),e.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),e.htmlExpr.test(e.options.prevArrow)&&e.$prevArrow.prependTo(e.options.appendArrows),e.htmlExpr.test(e.options.nextArrow)&&e.$nextArrow.appendTo(e.options.appendArrows),!0!==e.options.infinite&&e.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true")):e.$prevArrow.add(e.$nextArrow).addClass("slick-hidden").attr({"aria-disabled":"true",tabindex:"-1"}))},e.prototype.buildDots=function(){var e,t,o=this;if(!0===o.options.dots){for(o.$slider.addClass("slick-dotted"),t=i("<ul />").addClass(o.options.dotsClass),e=0;e<=o.getDotCount();e+=1)t.append(i("<li />").append(o.options.customPaging.call(this,o,e)));o.$dots=t.appendTo(o.options.appendDots),o.$dots.find("li").first().addClass("slick-active")}},e.prototype.buildOut=function(){var e=this;e.$slides=e.$slider.children(e.options.slide+":not(.slick-cloned)").addClass("slick-slide"),e.slideCount=e.$slides.length,e.$slides.each(function(e,t){i(t).attr("data-slick-index",e).data("originalStyling",i(t).attr("style")||"")}),e.$slider.addClass("slick-slider"),e.$slideTrack=0===e.slideCount?i('<div class="slick-track"/>').appendTo(e.$slider):e.$slides.wrapAll('<div class="slick-track"/>').parent(),e.$list=e.$slideTrack.wrap('<div class="slick-list"/>').parent(),e.$slideTrack.css("opacity",0),!0!==e.options.centerMode&&!0!==e.options.swipeToSlide||(e.options.slidesToScroll=1),i("img[data-lazy]",e.$slider).not("[src]").addClass("slick-loading"),e.setupInfinite(),e.buildArrows(),e.buildDots(),e.updateDots(),e.setSlideClasses("number"==typeof e.currentSlide?e.currentSlide:0),!0===e.options.draggable&&e.$list.addClass("draggable")},e.prototype.buildRows=function(){var i,e,t,o,s,n,r,l=this;if(o=document.createDocumentFragment(),n=l.$slider.children(),l.o
vendor: 3,442 bytes, line 305
305ptions.rows>1){for(r=l.options.slidesPerRow*l.options.rows,s=Math.ceil(n.length/r),i=0;i<s;i++){var d=document.createElement("div");for(e=0;e<l.options.rows;e++){var a=document.createElement("div");for(t=0;t<l.options.slidesPerRow;t++){var c=i*r+(e*l.options.slidesPerRow+t);n.get(c)&&a.appendChild(n.get(c))}d.appendChild(a)}o.appendChild(d)}l.$slider.empty().append(o),l.$slider.children().children().children().css({width:100/l.options.slidesPerRow+"%",display:"inline-block"})}},e.prototype.checkResponsive=function(e,t){var o,s,n,r=this,l=!1,d=r.$slider.width(),a=window.innerWidth||i(window).width();if("window"===r.respondTo?n=a:"slider"===r.respondTo?n=d:"min"===r.respondTo&&(n=Math.min(a,d)),r.options.responsive&&r.options.responsive.length&&null!==r.options.responsive){s=null;for(o in r.breakpoints)r.breakpoints.hasOwnProperty(o)&&(!1===r.originalSettings.mobileFirst?n<r.breakpoints[o]&&(s=r.breakpoints[o]):n>r.breakpoints[o]&&(s=r.breakpoints[o]));null!==s?null!==r.activeBreakpoint?(s!==r.activeBreakpoint||t)&&(r.activeBreakpoint=s,"unslick"===r.breakpointSettings[s]?r.unslick(s):(r.options=i.extend({},r.originalSettings,r.breakpointSettings[s]),!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e)),l=s):(r.activeBreakpoint=s,"unslick"===r.breakpointSettings[s]?r.unslick(s):(r.options=i.extend({},r.originalSettings,r.breakpointSettings[s]),!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e)),l=s):null!==r.activeBreakpoint&&(r.activeBreakpoint=null,r.options=r.originalSettings,!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e),l=s),e||!1===l||r.$slider.trigger("breakpoint",[r,l])}},e.prototype.changeSlide=function(e,t){var o,s,n,r=this,l=i(e.currentTarget);switch(l.is("a")&&e.preventDefault(),l.is("li")||(l=l.closest("li")),n=r.slideCount%r.options.slidesToScroll!=0,o=n?0:(r.slideCount-r.currentSlide)%r.options.slidesToScroll,e.data.message){case"previous":s=0===o?r.options.slidesToScroll:r.options.slidesToShow-o,r.slideCount>r.options.slidesToShow&&r.slideHandler(r.currentSlide-s,!1,t);break;case"next":s=0===o?r.options.slidesToScroll:o,r.slideCount>r.options.slidesToShow&&r.slideHandler(r.currentSlide+s,!1,t);break;case"index":var d=0===e.data.index?0:e.data.index||l.index()*r.options.slidesToScroll;r.slideHandler(r.checkNavigable(d),!1,t),l.children().trigger("focus");break;default:return}},e.prototype.checkNavigable=function(i){var e,t;if(e=this.getNavigableIndexes(),t=0,i>e[e.length-1])i=e[e.length-1];else for(var o in e){if(i<e[o]){i=t;break}t=e[o]}return i},e.prototype.cleanUpEvents=function(){var e=this;e.options.dots&&null!==e.$dots&&(i("li",e.$dots).off("click.slick",e.changeSlide).off("mouseenter.slick",i.proxy(e.interrupt,e,!0)).off("mouseleave.slick",i.proxy(e.interrupt,e,!1)),!0===e.options.accessibility&&e.$dots.off("keydown.slick",e.keyHandler)),e.$slider.off("focus.slick blur.slick"),!0===e.options.arrows&&e.slideCount>e.options.slidesToShow&&(e.$prevArrow&&e.$prevArrow.off("click.slick",e.changeSlide),e.$nextArrow&&e.$nextArrow.off("click.slick",e.changeSlide),!0===e.options.accessibility&&(e.$prevArrow&&e.$prevArrow.off("keydown.slick",e.keyHandler),e.$nextArrow&&e.$nextArrow.off("keydown.slick",e.keyHandler))),e.$list.off("touchstart.slick mousedown.slick",e.swipeHandler),e.$list.off("touchmove.slick mousemove.slick",e.swipeHandler),e.$list.off("touchend.slick mouseup.slick",e.swipeHandler),e.$list.off("touchcancel.slick mouseleave.
305slick",e.swipeHandler),e.$list.off("click.slick",e.clickHandler),i(document).off(e.visibilityChange,e.visibility),e.cleanUpSlideEvents(),!0===e.options.accessibility&&e.$list.off("keydown.slick",e.keyHandler),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().off("click.slick",e.selectHandler),i(window).off("orientationchange.slick.slick-"+e.instanceUid,e.orientationChange),i(window).off("resize.slick.slick-"+e.instanceUid,e.resize),i("[draggable!=true]",e.$slideTrack).off("dragstart",e.preventDefault),i(window).off("load.slick.slick-"+e.instanceUid,e.setPosition)},e.prototype.cleanUpSlideEvents=function(){var e=this;e.$list.off("mouseenter.slick",i.proxy(e.interrupt,e,!0)),e.$list.off("mouseleave.slick",i.proxy(e.interrupt,e,!1))},e.prototype.cleanUpRows=function(){var i,e=this;e.options.rows>1&&((i=e.$slides.children().children()).removeAttr("style"),e.$slider.empty().append(i))},e.prototype.clickHandler=function(i){!1===this.shouldClick&&(i.stopImmediatePropagation(),i.stopPropagation(),i.preventDefault())},e.prototype.destroy=function(e){var t=this;t.autoPlayClear(),t.touchObject={},t.cleanUpEvents(),i(".slick-cloned",t.$slider).detach(),t.$dots&&t.$dots.remove(),t.$prevArrow&&t.$prevArrow.length&&(t.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),t.htmlExpr.test(t.options.prevArrow)&&t.$prevArrow.remove()),t.$nextArrow&&t.$nextArrow.length&&(t.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),t.htmlExpr.test(t.options.nextArrow)&&t.$nextArrow.remove()),t.$slides&&(t.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function(){i(this).attr("style",i(this).data("originalStyling"))}),t.$slideTrack.children(this.options.slide).detach(),t.$slideTrack.detach(),t.$list.detach(),t.$slider.append(t.$slides)),t.cleanUpRows(),t.$slider.removeClass("slick-slider"),t.$slider.removeClass("slick-initialized"),t.$slider.removeClass("slick-dotted"),t.unslicked=!0,e||t.$slider.trigger("destroy",[t])},e.prototype.disableTransition=function(i){var e=this,t={};t[e.transitionType]="",!1===e.options.fade?e.$slideTrack.css(t):e.$slides.eq(i).css(t)},e.prototype.fadeSlide=function(i,e){var t=this;!1===t.cssTransitions?(t.$slides.eq(i).css({zIndex:t.options.zIndex}),t.$slides.eq(i).animate({opacity:1},t.options.speed,t.options.easing,e)):(t.applyTransition(i),t.$slides.eq(i).css({opacity:1,zIndex:t.options.zIndex}),e&&setTimeout(function(){t.disableTransition(i),e.call()},t.options.speed))},e.prototype.fadeSlideOut=function(i){var e=this;!1===e.cssTransitions?e.$slides.eq(i).animate({opacity:0,zIndex:e.options.zIndex-2},e.options.speed,e.options.easing):(e.applyTransition(i),e.$slides.eq(i).css({opacity:0,zIndex:e.options.zIndex-2}))},e.prototype.filterSlides=e.prototype.slickFilter=function(i){var e=this;null!==i&&(e.$slidesCache=e.$slides,e.unload(),e.$slideTrack.children(this.options.slide).detach(),e.$slidesCache.filter(i).appendTo(e.$slideTrack),e.reinit())},e.prototype.focusHandler=function(){var e=this;e.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick","*",function(t){t.stopImmediatePropagation();var o=i(this);setTimeout(function(){e.options.pauseOnFocus&&(e.focussed=o.is(":focus"),e.autoPlay())},0)})},e.prototype.getCurrent=e.prototype.slickCurrentSlide=function(){return this.currentSlide},e.prototype.getDotCount=function(){var i=this,e=0,t=0,o=0;if(!0===i.options.infinite)if(i.slideCount<=i.options.slidesToShow)++o;else for(;e<i.slideCount;)++o,e=t+i.options.slidesToScroll,t+=i.options.slidesToScroll<=i.options.slidesToShow?i.options.slidesToScroll:i.options.slidesToShow;else if(!0===i.options.centerMode)o=i.slideCount;else if(i.options.asNavFor)for(;e<i.slideCount;)++o,e=t+i.options.slidesToScroll,t+=i.options.slidesToScroll<=i.options.slidesToShow?i.options.slidesToScroll:i.options.slidesToShow;else o=1+Math.ceil((i.slideCount-i.options.slidesToShow)/i.options.slidesToScroll);return o-1},e.prototype.getLeft=function(i){var e,t,o,s,n=this,r=0;return n.slideOffset=0,t=n.$slides.first().outerHeight(!0),!0===n.options.infinite?(n.slideCount>n.options.slidesToShow&&(n.slideOffset=n.slideWidth*n.options.slidesToShow*-1,s=-1,!0===n.options.vertical&&!0===n.options.centerMode&&(2===n.options.slidesToShow?s=-1.5:1===n.options.slidesToShow&&(s=-2)),r=t*n.options.slidesToShow*s),n.slideCount%n.options.slidesToScroll!=0&&i+n.options.slidesToScroll>n.slideCount&&n.slideCount>n.options.slidesToShow&&(i>n.slideCount?(n.slideOffset=(n.options.slidesToShow-(i-n.slideCount))*n.slideWidth*-1,r=(n.options.slidesToShow-(i-n.slideCount))*t*-1):(n.slideOffset=n.slideCount%n.options.slidesToScroll*n.slideWidth*-1,r=n.slideCount%n.options.slidesToScroll*t*-1))):i+n.options.slidesToShow>n.slideCount&&(n.slideOffset=(i+n.options.slidesToShow-n.slideCount)*n.slideWidth,r=(i+n.options.slidesToShow-n.slideCount)*t),n.slideCount<=n.options.slidesToShow&&(n.slideOffset=0,r=0),!0===n.options.centerMode&&n.slideCount<=n.options.slidesToShow?n.slideOffset=n.slideWidth*Math.floor(n.options.slidesToShow)/2-n.slideWidth*n.slideCount/2:!0===n.options.centerMode&&!0===n.options.infinite?n.slideOffset+=n.slideWidth*Math.floor(n.options.slidesToShow/2)-n.slideWidth:!0===n.options.centerMode&&(n.slideOffset=0,n.slideOffset+=n.slideWidth*Math.floor(n.options.slidesToShow/2)),e=!1===n.options.vertical?i*n.slideWidth*-1+n.slideOffset:i*t*-1+r,!0===n.options.variableWidth&&(o=n.slideCount<=n.options.slidesToShow||!1===n.options.infinite?n.$slideTrack.children(".slick-slide").eq(i):n.$slideTrack.children(".slick-slide").eq(i+n.options.slidesToShow),e=!0===n.options.rtl?o[0]?-1*(n.$slideTrack.width()-o[0].offsetLeft-o.width()):0:o[0]?-1*o[0].offsetLeft:0,!0===n.options.centerMode&&(o=n.slideCount<=n.options.slidesToShow||!1===n.options.infinite?n.$slideTrack.children(".slick-slide").eq(i):n.$slideTrack.children(".slick-slide").eq(i+n.options.slidesToShow+1),e=!0===n.options.rtl?o[0]?-1*(n.$slideTrack.width()-o[0].offsetLeft-o.width()):0:o[0]?-1*o[0].offsetLeft:0,e+=(n.$list.width()-o.outerWidth())/2)),e},e.prototype.getOption=e.prototype.slickGetOption=function(i){return this.options[i]},e.prototype.getNavigableIndexes=function(){var i,e=this,t=0,o=0,s=[];for(!1===e.options.infinite?i=e.slideCount:(t=-1*e.options.slidesToScroll,o=-1*e.options.slidesToScroll,i=2*e.slideCount);t<i;)s.push(t),t=o+e.options.slidesToScroll,o+=e.options.slidesToScroll<=e.options.slidesToShow?e.options.slidesToScroll:e.options.slidesToShow;return s},e.prototype.getSlick=function(){return this},e.prototype.getSlideCount=function(){var e,t,o=this;return t=!0===o.options.centerMode?o.slideWidth*Math.floor(o.options.slidesToShow/2):0,!0===o.options.swipeToSlide?(o.$slideTrack.find(".slick-slide").each(function(s,n){if(n.offsetLeft-t+i(n).outerWidth()/2>-1*o.swipeLeft)return e=n,!1}),Math.abs(i(e).attr("data-slick-index")-o.currentSlide)||1):o.options.slidesToScroll},e.prototype.goTo=e.prototype.slickGoTo=function(i,e){this.changeSlide({data:{message:"index",index:
305parseInt(i)}},e)},e.prototype.init=function(e){var t=this;i(t.$slider).hasClass("slick-initialized")||(i(t.$slider).addClass("slick-initialized"),t.buildRows(),t.buildOut(),t.setProps(),t.startLoad(),t.loadSlider(),t.initializeEvents(),t.updateArrows(),t.updateDots(),t.checkResponsive(!0),t.focusHandler()),e&&t.$slider.trigger("init",[t]),!0===t.options.accessibility&&t.initADA(),t.options.autoplay&&(t.paused=!1,t.autoPlay())},e.prototype.initADA=function(){var e=this,t=Math.ceil(e.slideCount/e.options.slidesToShow),o=e.getNavigableIndexes().filter(function(i){return i>=0&&i<e.slideCount});e.$slides.add(e.$slideTrack.find(".slick-cloned")).attr({"aria-hidden":"true",tabindex:"-1"}).find("a, input, button, select").attr({tabindex:"-1"}),null!==e.$dots&&(e.$slides.not(e.$slideTrack.find(".slick-cloned")).each(function(t){var s=o.indexOf(t);i(this).attr({role:"tabpanel",id:"slick-slide"+e.instanceUid+t,tabindex:-1}),-1!==s&&i(this).attr({"aria-describedby":"slick-slide-control"+e.instanceUid+s})}),e.$dots.attr("role","tablist").find("li").each(function(s){var n=o[s];i(this).attr({role:"presentation"}),i(this).find("button").first().attr({role:"tab",id:"slick-slide-control"+e.instanceUid+s,"aria-controls":"slick-slide"+e.instanceUid+n,"aria-label":s+1+" of "+t,"aria-selected":null,tabindex:"-1"})}).eq(e.currentSlide).find("button").attr({"aria-selected":"true",tabindex:"0"}).end());for(var s=e.currentSlide,n=s+e.options.slidesToShow;s<n;s++)e.$slides.eq(s).attr("tabindex",0);e.activateADA()},e.prototype.initArrowEvents=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.off("click.slick").on("click.slick",{message:"previous"},i.changeSlide),i.$nextArrow.off("click.slick").on("click.slick",{message:"next"},i.changeSlide),!0===i.options.accessibility&&(i.$prevArrow.on("keydown.slick",i.keyHandler),i.$nextArrow.on("keydown.slick",i.keyHandler)))},e.prototype.initDotEvents=function(){var e=this;!0===e.options.dots&&(i("li",e.$dots).on("click.slick",{message:"index"},e.changeSlide),!0===e.options.accessibility&&e.$dots.on("keydown.slick",e.keyHandler)),!0===e.options.dots&&!0===e.options.pauseOnDotsHover&&i("li",e.$dots).on("mouseenter.slick",i.proxy(e.interrupt,e,!0)).on("mouseleave.slick",i.proxy(e.interrupt,e,!1))},e.prototype.initSlideEvents=function(){var e=this;e.options.pauseOnHover&&(e.$list.on("mouseenter.slick",i.proxy(e.interrupt,e,!0)),e.$list.on("mouseleave.slick",i.proxy(e.interrupt,e,!1)))},e.prototype.initializeEvents=function(){var e=this;e.initArrowEvents(),e.initDotEvents(),e.initSlideEvents(),e.$list.on("touchstart.slick mousedown.slick",{action:"start"},e.swipeHandler),e.$list.on("touchmove.slick mousemove.slick",{action:"move"},e.swipeHandler),e.$list.on("touchend.slick mouseup.slick",{action:"end"}
305,e.swipeHandler),e.$list.on("touchcancel.slick mouseleave.slick",{action:"end"},e.swipeHandler),e.$list.on("click.slick",e.clickHandler),i(document).on(e.visibilityChange,i.proxy(e.visibility,e)),!0===e.options.accessibility&&e.$list.on("keydown.slick",e.keyHandler),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().on("click.slick",e.selectHandler),i(window).on("orientationchange.slick.slick-"+e.instanceUid,i.proxy(e.orientationChange,e)),i(window).on("resize.slick.slick-"+e.instanceUid,i.proxy(e.resize,e)),i("[draggable!=true]",e.$slideTrack).on("dragstart",e.preventDefault),i(window).on("load.slick.slick-"+e.instanceUid,e.setPosition),i(e.setPosition)},e.prototype.initUI=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.show(),i.$nextArrow.show()),!0===i.options.dots&&i.slideCount>i.options.slidesToShow&&i.$dots.show()},e.prototype.keyHandler=function(i){var e=this;i.target.tagName.match("TEXTAREA|INPUT|SELECT")||(37===i.keyCode&&!0===e.options.accessibility?e.changeSlide({data:{message:!0===e.options.rtl?"next":"previous"}}):39===i.keyCode&&!0===e.options.accessibility&&e.changeSlide({data:{message:!0===e.options.rtl?"previous":"next"}}))},e.prototype.lazyLoad=function(){function e(e){i("img[data-lazy]",e).each(function(){var e=i(this),t=i(this).attr("data-lazy"),o=i(this).attr("data-srcset"),s=i(this).attr("data-sizes")||n.$slider.attr("data-sizes"),r=document.createElement("img");r.onload=function(){e.animate({opacity:0}
vendor: 5,619 bytes, line 305
305,100,function(){o&&(e.attr("srcset",o),s&&e.attr("sizes",s)),e.attr("src",t).animate({opacity:1},200,function(){e.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading")}),n.$slider.trigger("lazyLoaded",[n,e,t])})},r.onerror=function(){e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),n.$slider.trigger("lazyLoadError",[n,e,t])},r.src=t})}var t,o,s,n=this;if(!0===n.options.centerMode?!0===n.options.infinite?s=(o=n.currentSlide+(n.options.slidesToShow/2+1))+n.options.slidesToShow+2:(o=Math.max(0,n.currentSlide-(n.options.slidesToShow/2+1)),s=n.options.slidesToShow/2+1+2+n.currentSlide):(o=n.options.infinite?n.options.slidesToShow+n.currentSlide:n.currentSlide,s=Math.ceil(o+n.options.slidesToShow),!0===n.options.fade&&(o>0&&o--,s<=n.slideCount&&s++)),t=n.$slider.find(".slick-slide").slice(o,s),"anticipated"===n.options.lazyLoad)for(var r=o-1,l=s,d=n.$slider.find(".slick-slide"),a=0;a<n.options.slidesToScroll;a++)r<0&&(r=n.slideCount-1),t=(t=t.add(d.eq(r))).add(d.eq(l)),r--,l++;e(t),n.slideCount<=n.options.slidesToShow?e(n.$slider.find(".slick-slide")):n.currentSlide>=n.slideCount-n.options.slidesToShow?e(n.$slider.find(".slick-cloned").slice(0,n.options.slidesToShow)):0===n.currentSlide&&e(n.$slider.find(".slick-cloned").slice(-1*n.options.slidesToShow))},e.prototype.loadSlider=function(){var i=this;i.setPosition(),i.$slideTrack.css({opacity:1}),i.$slider.removeClass("slick-loading"),i.initUI(),"progressive"===i.options.lazyLoad&&i.progressiveLazyLoad()},e.prototype.next=e.prototype.slickNext=function(){this.changeSlide({data:{message:"next"}})},e.prototype.orientationChange=function(){var i=this;i.checkResponsive(),i.setPosition()},e.prototype.pause=e.prototype.slickPause=function(){var i=this;i.autoPlayClear(),i.paused=!0},e.prototype.play=e.prototype.slickPlay=function(){var i=this;i.autoPlay(),i.options.autoplay=!0,i.paused=!1,i.focussed=!1,i.interrupted=!1},e.prototype.postSlide=function(e){var t=this;t.unslicked||(t.$slider.trigger("afterChange",[t,e]),t.animating=!1,t.slideCount>t.options.slidesToShow&&t.setPosition(),t.swipeLeft=null,t.options.autoplay&&t.autoPlay(),!0===t.options.accessibility&&(t.initADA(),t.options.focusOnChange&&i(t.$slides.get(t.currentSlide)).attr("tabindex",0).focus()))},e.prototype.prev=e.prototype.slickPrev=function(){this.changeSlide({data:{message:"previous"}})},e.prototype.preventDefault=function(i){i.preventDefault()},e.prototype.progressiveLazyLoad=function(e){e=e||1;var t,o,s,n,r,l=this,d=i("img[data-lazy]",l.$slider);d.length?(t=d.first(),o=t.attr("data-lazy"),s=t.attr("data-srcset"),n=t.attr("data-sizes")||l.$slider.attr("data-sizes"),(r=document.createElement("img")).onload=function(){s&&(t.attr("srcset",s),n&&t.attr("sizes",n)),t.attr("src",o).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"),!0===l.options.adaptiveHeight&&l.setPosition(),l.$slider.trigger("lazyLoaded",[l,t,o]),l.progressiveLazyLoad()},r.onerror=function(){e<3?setTimeout(function(){l.progressiveLazyLoad(e+1)},500):(t.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),l.$slider.trigger("lazyLoadError",[l,t,o]),l.progressiveLazyLoad())},r.src=o):l.$slider.trigger("allImagesLoaded",[l])},e.prototype.refresh=function(e){var t,o,s=this;o=s.slideCount-s.options.slidesToShow,!s.options.infinite&&s.currentSlide>o&&(s.currentSlide=o),s.slideCount<=s.options.slidesToShow&&(s.currentSlide=0),t=s.currentSlide,s.destroy(!0),i.extend(s,s.initials,{currentSlide:t}),s.init(),e||s.changeSlide({data:{message:"index",index:t}},!1)},e.prototype.registerBreakpoints=function(){var e,t,o,s=this,n=s.options.responsive||null;if("array"===i.type(n)&&n.length){s.respondTo=s.options.respondTo||"window";for(e in n)if(o=s.breakpoints.length-1,n.hasOwnProperty(e)){for(t=n[e].breakpoint;o>=0;)s.breakpoints[o]&&s.breakpoints[o]===t&&s.breakpoints.splice(o,1),o--;s.breakpoints.push(t),s.breakpointSettings[t]=n[e].settings}s.breakpoints.sort(function(i,e){return s.options.mobileFirst?i-e:e-i})}},e.prototype.reinit=function(){var e=this;e.$slides=e.$slideTrack.children(e.options.slide).addClass("slick-slide"),e.slideCount=e.$slides.length,e.currentSlide>=e.slideCount&&0!==e.currentSlide&&(e.currentSlide=e.currentSlide-e.options.slidesToScroll),e.slideCount<=e.options.slidesToShow&&(e.currentSlide=0),e.registerBreakpoints(),e.setProps(),e.setupInfinite(),e.buildArrows(),e.updateArrows(),e.initArrowEvents(),e.buildDots(),e.updateDots(),e.initDotEvents(),e.cleanUpSlideEvents(),e.initSlideEvents(),e.checkResponsive(!1,!0),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().on("click.slick",e.selectHandler),e.setSlideClasses("number"==typeof e.currentSlide?e.currentSlide:0),e.setPosition(),e.focusHandler(),e.paused=!e.options.autoplay,e.autoPlay(),e.$slider.trigger("reInit",[e])},e.prototype.resize=function(){var e=this;i(window).width()!==e.windowWidth&&(clearTimeout(e.windowDelay),e.windowDelay=window.setTimeout(function(){e.windowWidth=i(window).width(),e.checkResponsive(),e.unslicked||e.setPosition()},50))},e.prototype.removeSlide=e.prototype.slickRemove=function(i,e,t){var o=this;if(i="boolean"==typeof i?!0===(e=i)?0:o.slideCount-1:!0===e?--i:i,o.slideCount<1||i<0||i>o.slideCount-1)return!1;o.unload(),!0===t?o.$slideTrack.children().remove():o.$slideTrack.children(this.options.slide).eq(i).remove(),o.$slides=o.$slideTrack.children(this.options.slide),o.$slideTrack.children(this.options.slide).detach(),o.$slideTrack.append(o.$slides),o.$slidesCache=o.$slides,o.reinit()},e.prototype.setCSS=function(i){var e,t,o=this,s={};
305!0===o.options.rtl&&(i=-i),e="left"==o.positionProp?Math.ceil(i)+"px":"0px",t="top"==o.positionProp?Math.ceil(i)+"px":"0px",s[o.positionProp]=i,!1===o.transformsEnabled?o.$slideTrack.css(s):(s={},!1===o.cssTransitions?(s[o.animType]="translate("+e+", "+t+")",o.$slideTrack.css(s)):(s[o.animType]="translate3d("+e+", "+t+", 0px)",o.$slideTrack.css(s)))},e.prototype.setDimensions=function(){var i=this;!1===i.options.vertical?!0===i.options.centerMode&&i.$list.css({padding:"0px "+i.options.centerPadding}):(i.$list.height(i.$slides.first().outerHeight(!0)*i.options.slidesToShow),!0===i.options.centerMode&&i.$list.css({padding:i.options.centerPadding+" 0px"})),i.listWidth=i.$list.width(),i.listHeight=i.$list.height(),!1===i.options.vertical&&!1===i.options.variableWidth?(i.slideWidth=Math.ceil(i.listWidth/i.options.slidesToShow),i.$slideTrack.width(Math.ceil(i.slideWidth*i.$slideTrack.children(".slick-slide").length))):!0===i.options.variableWidth?i.$slideTrack.width(5e3*i.slideCount):(i.slideWidth=Math.ceil(i.listWidth),i.$slideTrack.height(Math.ceil(i.$slides.first().outerHeight(!0)*i.$slideTrack.children(".slick-slide").length)));var e=i.$slides.first().outerWidth(!0)-i.$slides.first().width();!1===i.options.variableWidth&&i.$slideTrack.children(".slick-slide").width(i.slideWidth-e)},e.prototype.setFade=function(){var e,t=this;t.$slides.each(function(o,s){e=t.slideWidth*o*-1,!0===t.options.rtl?i(s).css({position:"relative",right:e,top:0,zIndex:t.options.zIndex-2,opacity:0}
305):i(s).css({position:"relative",left:e,top:0,zIndex:t.options.zIndex-2,opacity:0})}),t.$slides.eq(t.currentSlide).css({zIndex:t.options.zIndex-1,opacity:1})},e.prototype.setHeight=function(){var i=this;if(1===i.options.slidesToShow&&!0===i.options.adaptiveHeight&&!1===i.options.vertical){var e=i.$slides.eq(i.currentSlide).outerHeight(!0);i.$list.css("height",e)}},e.prototype.setOption=e.prototype.slickSetOption=function(){var e,t,o,s,n,r=this,l=!1;if("object"===i.type(arguments[0])?(o=arguments[0],l=arguments[1],n="multiple"):"string"===i.type(arguments[0])&&(o=arguments[0],s=arguments[1],l=arguments[2],"responsive"===arguments[0]&&"array"===i.type(arguments[1])?n="responsive":void 0!==arguments[1]&&(n="single")),"single"===n)r.options[o]=s;else if("multiple"===n)i.each(o,function(i,e){r.options[i]=e});else if("responsive"===n)for(t in s)if("array"!==i.type(r.options.responsive))r.options.responsive=[s[t]];else{for(e=r.options.responsive.length-1;e>=0;)r.options.responsive[e].breakpoint===s[t].breakpoint&&r.options.responsive.splice(e,1),e--;r.options.responsive.push(s[t])}l&&(r.unload(),r.reinit())},e.prototype.setPosition=function(){var i=this;i.setDimensions(),i.setHeight(),!1===i.options.fade?i.setCSS(i.getLeft(i.currentSlide)):i.setFade(),i.$slider.trigger("setPosition",[i])},e.prototype.setProps=function(){var i=this,e=document.body.style;i.positionProp=!0===i.options.vertical?"top":"left","top"===i.positionProp?i.$slider.addClass("slick-vertical"):i.$slider.removeClass("slick-vertical"),void 0===e.WebkitTransition&&void 0===e.MozTransition&&void 0===e.msTransition||!0===i.options.useCSS&&(i.cssTransitions=!0),i.options.fade&&("number"==typeof i.options.zIndex?i.options.zIndex<3&&(i.options.zIndex=3):i.options.zIndex=i.defaults.zIndex),void 0!==e.OTransform&&(i.animType="OTransform",i.transformType="-o-transform",i.transitionType="OTransition",void 0===e.perspectiveProperty&&void 0===e.webkitPerspective&&(i.animType=!1)),void 0!==e.MozTransform&&(i.animType="MozTransform",i.transformType="-moz-transform",i.transitionType="MozTransition",void 0===e.perspectiveProperty&&void 0===e.MozPerspective&&(i.animType=!1)),void 0!==e.webkitTransform&&(i.animType="webkitTransform",i.transformType="-webkit-transform",i.transitionType="webkitTransition",void 0===e.perspectiveProperty&&void 0===e.webkitPerspective&&(i.animType=!1)),void 0!==e.msTransform&&(i.animType="msTransform",i.transformType="-ms-transform",i.transitionType="msTransition",void 0===e.msTransform&&(i.animType=!1)),void 0!==e.transform&&!1!==i.animType&&(i.animType="transform",i.transformType="transform",i.transitionType="transition"),i.transformsEnabled=i.options.useTransform&&null!==i.animType&&!1!==i.animType},e.prototype.setSlideClasses=function(i){var e,t,o,s,n=this;if(t=n.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden","true"),n.$slides.eq(i).addClass("slick-current"),!0===n.options.centerMode){var r=n.options.slidesToShow%2==0?1:0;e=Math.floor(n.options.slidesToShow/2),!0===n.options.infinite&&(i>=e&&i<=n.slideCount-1-e?n.$slides.slice(i-e+r,i+e+1).addClass("slick-active").attr("aria-hidden","false"):(o=n.options.slidesToShow+i,t.slice(o-e+1+r,o+e+2).addClass("slick-active").attr("aria-hidden","false")),0===i?t.eq(t.length-1-n.options.slidesToShow).addClass("slick-center"):i===n.slideCount-1&&t.eq(n.options.slidesToShow).addClass("slick-center")),n.$slides.eq(i).addClass("slick-center")}else i>=0&&i<=n.slideCount-n.options.slidesToShow?n.$slides.slice(i,i+n.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"):t.length<=n.options.slidesToShow?t.addClass("slick-active").attr("aria-hidden","false"):(s=n.slideCount%n.options.slidesToShow,o=!0===n.options.infinite?n.options.slidesToShow+i:i,n.options.slidesToShow==n.options.slidesToScroll&&n.slideCount-i<n.options.slidesToShow?t.slice(o-(n.options.slidesToShow-s),o+s).addClass("slick-active").attr("aria-hidden","false"):t.slice(o,o+n.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"));"ondemand"!==n.options.lazyLoad&&"anticipated"!==n.options.lazyLoad||n.lazyLoad()},e.prototype.setupInfinite=function(){var e,t,o,s=this;if(!0===s.options.fade&&(s.options.centerMode=!1),!0===s.options.infinite&&!1===s.options.fade&&(t=null,s.slideCount>s.options.slidesToShow)){for(o=!0===s.options.centerMode?s.options.slidesToShow+1:s.options.slidesToShow,e=s.slideCount;e>s.slideCount-o;e-=1)t=e-1,i(s.$slides[t]).clone(!0).attr("id","").attr("data-slick-index",t-s.slideCount).prependTo(s.$slideTrack).addClass("slick-cloned");for(e=0;e<o+s.slideCount;e+=1)t=e,i(s.$slides[t]).clone(!0).attr("id","").attr("data-slick-index",t+s.slideCount).appendTo(s.$slideTrack).addClass("slick-cloned");s.$slideTrack.find(".slick-cloned").find("[id]").each(function(){i(this).attr("id","")})}},e.prototype.interrupt=function(i){var e=this;i||e.autoPlay(),e.interrupted=i},e.prototype.selectHandler=function(e){var t=this,o=i(e.target).is(".slick-slide")?i(e.target):i(e.target).parents(".slick-slide"),s=parseInt(o.attr("data-slick-index"));s||(s=0),t.slideCount<=t.options.slidesToShow?t.slideHandler(s,!1,!0):t.slideHandler(s)},e.prototype.slideHandler=function(i,e,t){var o,s,n,r,l,d=null,a=this;if(e=e||!1,!(!0===a.animating&&!0===a.options.waitForAnimate||!0===a.options.fade&&a.currentSlide===i))if(!1===e&&a.asNavFor(i),o=i,d=a.getLeft(o),r=a.getLeft(a.currentSlide),a.currentLeft=null===a.swipeLeft?r:a.swipeLeft,!1===a.options.infinite&&!1===a.options.centerMode&&(i<0||i>a.getDotCount()*a.options.slidesToScroll))!1===a.options.fade&&(o=a.currentSlide,!0!==t?a.animateSlide(r,function(){a.postSlide(o)}):a.postSlide(o));else if(!1===a.options.infinite&&!0===a.options.centerMode&&(i<0||i>a.slideCount-a.options.slidesToScroll))!1===a.options.fade&&(o=a.currentSlide,!0!==t?a.animateSlide(r,function(){a.postSlide(o)}):a.postSlide(o));else{if(a.options.autoplay&&clearInterval(a.autoPlayTimer),s=o<0?a.slideCount%a.options.slidesToScroll!=0?a.slideCount-a.slideCount%a.options.slidesToScroll:a.slideCount+
305o:o>=a.slideCount?a.slideCount%a.options.slidesToScroll!=0?0:o-a.slideCount:o,a.animating=!0,a.$slider.trigger("beforeChange",[a,a.currentSlide,s]),n=a.currentSlide,a.currentSlide=s,a.setSlideClasses(a.currentSlide),a.options.asNavFor&&(l=(l=a.getNavTarget()).slick("getSlick")).slideCount<=l.options.slidesToShow&&l.setSlideClasses(a.currentSlide),a.updateDots(),a.updateArrows(),!0===a.options.fade)return!0!==t?(a.fadeSlideOut(n),a.fadeSlide(s,function(){a.postSlide(s)})):a.postSlide(s),void a.animateHeight();!0!==t?a.animateSlide(d,function(){a.postSlide(s)}):a.postSlide(s)}},e.prototype.startLoad=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.hide(),i.$nextArrow.hide()),!0===i.options.dots&&i.slideCount>i.options.slidesToShow&&i.$dots.hide(),i.$slider.addClass("slick-loading")},e.prototype.swipeDirection=function(){var i,e,t,o,s=this;return i=s.touchObject.startX-s.touchObject.curX,e=s.touchObject.startY-s.touchObject.curY,t=Math.atan2(e,i),(o=Math.round(180*t/Math.PI))<0&&(o=360-Math.abs(o)),o<=45&&o>=0?!1===s.options.rtl?"left":"right":o<=360&&o>=315?!1===s.options.rtl?"left":"right":o>=135&&o<=225?!1===s.options.rtl?"right":"left":!0===s.options.verticalSwiping?o>=35&&o<=135?"down":"up":"vertical"},e.prototype.swipeEnd=function(i){var e,t,o=this;if(o.dragging=!1,o.swiping=!1,o.scrolling)return o.scrolling=!1,!1;if(o.interrupted=!1,o.shouldClick=!(o.touchObject.swipeLength>10),void 0===o.touchObject.curX)return!1;if(!0===o.touchObject.edgeHit&&o.$slider.trigger("edge",[o,o.swipeDirection()]),o.touchObject.swipeLength>=o.touchObject.minSwipe){switch(t=o.swipeDirection()){case"left":case"down":e=o.options.swipeToSlide?o.checkNavigable(o.currentSlide+o.getSlideCount()):o.currentSlide+o.getSlideCount(),o.currentDirection=0;break;case"right":case"up":e=o.options.swipeToSlide?o.checkNavigable(o.currentSlide-o.getSlideCount()):o.currentSlide-o.getSlideCount(),o.currentDirection=1}"vertical"!=t&&(o.slideHandler(e),o.touchObject={},o.$slider.trigger("swipe",[o,t]))}else o.touchObject.startX!==o.touchObject.curX&&(o.slideHandler(o.currentSlide),o.touchObject={})},e.prototype.swipeHandler=function(i){var e=this;if(!(!1===e.options.swipe||"ontouchend"in document&&!1===e.options.swipe||!1===e.options.draggable&&-1!==i.type.indexOf("mouse")))switch(e.touchObject.fingerCount=i.originalEvent&&void 0!==i.originalEvent.touches?i.originalEvent.touches.length:1,e.touchObject.minSwipe=e.listWidth/e.options.touchThreshold,!0===e.options.verticalSwiping&&(e.touchObject.minSwipe=e.listHeight/e.options.touchThreshold),i.data.action){case"start":e.swipeStart(i);break;case"move":e.swipeMove(i);break;case"end":e.swipeEnd(i)}},e.prototype.swipeMove=function(i){var e,t,o,s,n,r,l=this;return n=void 0!==i.originalEvent?i.originalEvent.touches:null,!(!l.dragging||l.scrolling||n&&1!==n.length)&&(e=l.getLeft(l.currentSlide),l.touchObject.curX=void 0!==n?n[0].pageX:i.clientX,l.touchObject.curY=void 0!==n?n[0].pageY:i.clientY,l.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(l.touchObject.curX-l.touchObject.startX,2))),r=Math.round(Math.sqrt(Math.pow(l.touchObject.curY-l.touchObject.startY,2))),!l.options.verticalSwiping&&!l.swiping&&r>4?(l.scrolling=!0,!1):(!0===l.options.verticalSwiping&&(l.touchObject.swipeLength=r),t=l.swipeDirection(),void 0!==i.originalEvent&&l.touchObject.swipeLength>4&&(l.swiping=!0,i.preventDefault()),s=(!1===l.options.rtl?1:-1)*(l.touchObject.curX>l.touchObject.startX?1:-1),!0===l.options.verticalSwiping&&(s=l.touchObject.curY>l.touchObject.startY?1:-1),o=l.touchObject.swipeLength,l.touchObject.edgeHit=!1,!1===l.options.infinite&&(0===l.currentSlide&&"right"===t||l.currentSlide>=l.getDotCount()&&"left"===t)&&(o=l.touchObject.swipeLength*l.options.edgeFriction,l.touchObject.edgeHit=!0),!1===l.options.vertical?l.swipeLeft=e+o*s:l.swipeLeft=e+o*(l.$list.height()/l.listWidth)*s,!0===l.options.verticalSwiping&&(l.swipeLeft=e+o*s),!0!==l.options.fade&&!1!==l.options.touchMove&&(!0===l.animating?(l.swipeLeft=null,!1):void l.setCSS(l.swipeLeft))))},e.prototype.swipeStart=function(i){var e,t=this;if(t.interrupted=!0,1!==t.touchObject.fingerCount||t.slideCount<=t.options.slidesToShow)return t.touchObject={},!1;void 0!==i.originalEvent&&void 0!==i.originalEvent.touches&&(e=i.originalEvent.touches[0]),t.touchObject.startX=t.touchObject.curX=void 0!==e?e.pageX:i.clientX,t.touchObject.startY=t.touchObject.curY=void 0!==e?e.pageY:i.clientY,t.dragging=!0},e.prototype.unfilterSlides=e.prototype.slickUnfilter=function(){var i=this;null!==i.$slidesCache&&(i.unload(),i.$slideTrack.children(this.options.slide).detach(),i.$slidesCache.appendTo(i.$slideTrack),i.reinit())},e.prototype.unload=function(){var e=this;i(".slick-cloned",e.$slider).remove(),e.$dots&&e.$dots.remove(),e.$prevArrow&&e.htmlExpr.test(e.options.prevArrow)&&e.$prevArrow.remove(),e.$nextArrow&&e.htmlExpr.test(e.options.nextArrow)&&e.$nextArrow.remove(),e.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden","true").css("width","")}
305,e.prototype.unslick=function(i){var e=this;e.$slider.trigger("unslick",[e,i]),e.destroy()},e.prototype.updateArrows=function(){var i=this;Math.floor(i.options.slidesToShow/2),!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&!i.options.infinite&&(i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false"),i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false"),0===i.currentSlide?(i.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false")):i.currentSlide>=i.slideCount-i.options.slidesToShow&&!1===i.options.centerMode?(i.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")):i.currentSlide>=i.slideCount-1&&!0===i.options.centerMode&&(i.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")))},e.prototype.updateDots=function(){var i=this;null!==i.$dots&&(i.$dots.find("li").removeClass("slick-active").end(),i.$dots.find("li").eq(Math.floor(i.currentSlide/i.options.slidesToScroll)).addClass("slick-active"))},e.prototype.visibility=function(){var i=this;i.options.autoplay&&(document[i.hidden]?i.interrupted=!0:i.interrupted=!1)},i.fn.slick=function(){var i,t,o=this,s=arguments[0],n=Array.prototype.slice.call(arguments,1),r=o.length;for(i=0;i<r;i++)if("object"==typeof s||void 0===s?o[i].slick=new e(o[i],s):t=o[i].slick[s].apply(o[i].slick,n),void 0!==t)return t;return o}});
306;
307!function(t,e){"use strict";var n="BioMedia",r=t.dBlazy,a=t.Bio;"function"==typeof define&&define.amd?define([n,r,a],e):"object"==typeof exports?module.exports=e(n,r,a):t[n]=e(n,r,a)}(this,function(n,p,r){"use strict";var a=document,t="data-",l="src",f="srcset",h=t+l,g=[f,l],b=0,o=!1,i=Bio.prototype,s=e.prototype=Object.create(i);function e(t){var e=r.apply(p.extend({},i,p.extend({},s,this)),arguments);return e.name=n,e}function m(t,e,n,r){return o||((t=c(t,"defer"))&&p.each(t,function(t){p.attr(t,"loading","lazy")}),o=!0),p.status(e,n,r)}function c(t,e){t=t.options;if(!p.isNativeLazy)return[];e=e||"a";e=p.selector(t,'[data-src][loading*="'+e+'"]:not(.b-blur)'),e=p.findAll(a,e);return e.length&&p(e).mapAttr(["srcset","src"],!0).mapSource(!1,!0,!1),e}return s.constructor=e,s.lazyLoad=function(t,e){var n=this,r=n.options,a=t.parentNode,o=p.isBg(t),i=p.equal(a,"picture"),s=p.equal(t,"img"),c=p.equal(t,"video"),a=p.hasAttr(t,h);p.blur&&p.blur(t),i?(a&&(p.mapSource(t,f,!0),p.mapAttr(t,l,!0)),b=m(n,t,!0,r)):c?b=p.loadVideo(t,!0,r):s||o?n.loadImage(t,o,e):p.hasAttr(t,l)&&(p.attr(t,h)&&p.mapAttr(t,l,!0),b=m(n,t,!0,r)),n.erCount=b},s.loadImage=function(t,n,r){function e(t,e){b=n&&p.isFun(p.bg)?(p.bg(t,r),p.status(t,e,o)):m(a,t,e,o)}var a=this,o=a.options,i=new Image,s=p.hasAttr(t,f),c=p.hasAttr(t,h),u=c?h:l,d=c?"data-srcset":f;"decode"in i&&(i.decoding="async"),n&&p.isFun(p.bgUrl)?i.src=p.bgUrl(t,r):(c&&p.mapAttr(t,g,!1),i.src=p.attr(t,u)),s&&(i.srcset=p.attr(t,d)),p.decode(i).then(function(){e(t,!0)}).catch(function(){e(t,s),s||(t.bhit=!1)})},s.resizing=function(t,e){var n=p.isBg(t,this.options);n&&this.loadImage(t,n,e)},s.prepare=function(){var e,t,n;c(this),p.webp&&(e=this,p.webp.isSupported()||(t=function(t){return t=t||"",p.selector(e.options,"["+t+'srcset*=".webp"]')},(n=p.findAll(a,t())).length||(n=p.findAll(a,t("data-"))),n.length&&p.webp.run(n)))},e});
308;
309!function(o,t,n,l,e){"use strict";var s="data",a=".b-blur",r=".media",i="successClass",u=(c="blazy")+".done",c=function(){},d={};t.blazy={context:e,name:"Drupal.blazy",init:null,instances:[],resizeTick:0,resizeTrigger:!1,blazySettings:n.blazy||{},ioSettings:n.blazyIo||{},options:{},clearCompat:c,clearScript:c,checkResize:c,resizing:c,revalidate:c,isIo:function(){return!0},isBlazy:function(){return!o.isIo&&"Blazy"in l},isFluid:function(t,n){return o.equal(t.parentNode,"picture")&&o.hasAttr(n,"data-ratios")},isLoaded:function(t){return o.hasClass(t,this.options[i])},globals:function(){var t=this,n={isMedia:!0,success:t.clearing.bind(t),error:t.clearing.bind(t),resizing:t.resizing.bind(t),selector:".b-lazy",parent:r,errorClass:"b-error",successClass:"b-loaded"};
309return o.extend(t.blazySettings,t.ioSettings,n)},extend:function(t){d=o.extend({},d,t)},merge:function(t){var n=this;return n.options=o.extend({},n.globals(),n.options,t||{}),n.options},run:function(t){return new BioMedia(t)},mount:function(t){var n=this;return n.merge(),t&&o.each(d,function(t){o.isFun(t)&&t.call(n)}),o.extend(n,d)},selector:function(t){t=t||"";var n=this.options;return n.selector+t+":not(."+n[i]+")"},clearing:function(t){var n,i;t.bclearing||(n=this,i=o.hasClass(t,"b-responsive")&&o.hasAttr(t,s+"-pfsrc"),o.isFun(o.unloading)&&o.unloading(t),o.trigger(t,u,{options:n.options}),n.clearCompat(t),n.clearScript(t),l.picturefill&&i&&l.picturefill({reevaluate:!0,elements:[t]}),t.bclearing=!0)},windowData:function(){return this.init?this.init.windowData():{}},load:function(n){var i=this;l.setTimeout(function(){var t=o.findAll(n||e,i.selector());t.length&&o.each(t,i.update.bind(i))},100)},update:function(t,n,i){function e(){o.hasAttr(t,"data-b-bg")&&o.isFun(o.bg)?o.bg(t,i||s.windowData()):s.init&&(o.hasClass(t,r.substring(1))||(t=o.find(t,r)||t),s.init.load(t,!0,a))}var s=this,a=s.options,r=a.selector;(n=n||!1)?l.setTimeout(e,100):e()},rebind:function(t,i,e){var n=o.findAll(t,this.options.selector+":not("+a+")"),s=n.length;s||(n=o.findAll(t,"img:not("+a+")")),n.length&&o.each(n,function(t){var n=s?u:"load";o.one(t,n,i,s),e&&e.observe(t)})},pad:function(n,i,t){var e=this,s=o.closest(n,r)||n;setTimeout(function(){var t=Math.round(n.naturalHeight/n.naturalWidth*100,2);e.isFluid(n,s)&&(s.style.paddingBottom=t+"%"),o.isFun(i)&&i.call(e,n,s,t)},t||0)}}}(dBlazy,Drupal,drupalSettings,this,this.document);
310;
311!function(c,e,n){"use strict";var i=n,s="blazy",r=s,o="."+s,l="body",d="b-root",t="b-checked",u="image",b="#drupal-modal, .is-b-scroll",f={};function h(a,t,e){var n,i=this,r=1<i.resizeTick,o=i.instances;o.length&&r&&(n=function(a){a.dblazy&&a.dbuniform&&(a.dblazy!==t.dblazy||a.dbpicture||(c.trigger(a,s+".uniform"+a.dblazy,{pad:e}),a.dbpicture=!0))},c.each(o,function(a){c.debounce(n,a,i)},i))}e.blazy=c.extend(e.blazy||{},{clearScript:function(a){c.hasClass(a,f.errorClass)&&!c.hasClass(a,t)&&(c.addClass(a,t),this.update(a,!0)),this.pad(a,h)},fixDataUri:function(){var a=c.findAll(n,this.selector('[src^="image"]'));a.length&&c.each(a,function(a){var t=c.attr(a,"src");c.contains(t,["base64","svg+xml"])&&c.attr(a,"src",t.replace(u,"data:"+u))})}}),e.behaviors.blazy={attach:function(a){var t=e.blazy;i=c.context(a),t.context=i,c.once(function(a){var t=this,e=c.parse(c.attr(a,"data-"+s)),n=c.hasClass(a,s+"--field block-grid "+s+"--uniform"),i=(1e4*Math.random()).toFixed(0),r=s+".uniform"+i,o=c.findAll(a,".media--ratio");f=t.merge(e),t.revalidate=t.revalidate||c.hasClass(a,s+"--revalidate"),a.dblazy=i,a.dbuniform=n,t.instances.push(a),n&&o.length&&c.on(a,r,function(a){var t=a.detail.pad||0;10<t&&c.each(o,function(a){a.style.paddingBottom=t+"%"})})}.bind(t),r,o,i),c.once(function(a){var t=this,e={mobileFirst:!1};n.documentElement.isSameNode(a)||(e.root=a);a=(e=t.merge(e)).container;a&&!c.contains(b,a)&&(b+=", "+a.trim()),e.container=b,f=t.merge(e),t.fixDataUri(),t.init=t.run(t.options)}.bind(t),d,l,n)},detach:function(a,t,e){"unload"===e&&(c.once.removeSafely(r,o,i),c.once.removeSafely(d,l,n))}}}(dBlazy,Drupal,(drupalSettings,this.document));
312;
313/**
314 * @file
315 * Attaches several event listener to a web page.
316 */
317
318(function ($, Drupal, drupalSettings) {
319
320  /* eslint max-nested-callbacks: ["error", 4] */
321
322  'use strict';
323
324  Drupal.google_analytics = {};
325
326  $(document).ready(function () {
327
328    // Attach mousedown, keyup, touchstart events to document only and catch
329    // clicks on all elements.
330    $(document.body).on('mousedown keyup touchstart', function (event) {
331
332      // Catch the closest surrounding link of a clicked element.
333      $(event.target).closest('a,area').each(function () {
334
335        // Is the clicked URL internal?
336        if (Drupal.google_analytics.isInternal(this.href)) {
337          // Skip 'click' tracking, if custom tracking events are bound.
338          if ($(this).is('.colorbox') && (drupalSettings.google_analytics.trackColorbox)) {
339            // Do nothing here. The custom event will handle all tracking.
340            // console.info('Click on .colorbox item has been detected.');
341          }
342          // Is download tracking activated and the file extension configured
343          // for download tracking?
344          else if (drupalSettings.google_analytics.trackDownload && Drupal.google_analytics.isDownload(this.href)) {
345            // Download link clicked.
346            gtag('event', Drupal.google_analytics.getDownloadExtension(this.href).toUpperCase(), {
347              event_category: 'Downloads',
348              event_label: Drupal.google_analytics.getPageUrl(this.href),
349              transport_type: 'beacon'
350            });
351          }
352          else if (Drupal.google_analytics.isInternalSpecial(this.href)) {
353            // Keep the internal URL for Google Analytics website overlay intact.
354            // @todo: May require tracking ID
355            gtag('config', drupalSettings.google_analytics.account, {
356              page_path: Drupal.google_analytics.getPageUrl(this.href),
357              transport_type: 'beacon'
358            });
359          }
360        }
361        else {
362          if (drupalSettings.google_analytics.trackMailto && $(this).is("a[href^='mailto:'],area[href^='mailto:']")) {
363            // Mailto link clicked.
364            gtag('event', 'Click', {
365              event_category: 'Mails',
366              event_label: this.href.substring(7),
367              transport_type: 'beacon'
368            });
369          }
370          else if (drupalSettings.google_analytics.trackTel && $(this).is("a[href^='tel:'],area[href^='tel:']")) {
371            // Tel link clicked.
372            gtag('event', 'Click', {
373              event_category: 'Telephone calls',
374              event_label: this.href.substring(4),
375              transport_type: 'beacon'
376            });
377          }
378          else if (drupalSettings.google_analytics.trackOutbound && this.href.match(/^\w+:\/\//i)) {
379            if (drupalSettings.google_analytics.trackDomainMode !== 2 || (drupalSettings.google_analytics.trackDomainMode === 2 && !Drupal.google_analytics.isCrossDomain(this.hostname, drupalSettings.google_analytics.trackCrossDomains))) {
380              // External link clicked / No top-level cross domain clicked.
381              gtag('event', 'Click', {
382                event_category: 'Outbound links',
383                event_label: this.href,
384                transport_type: 'beacon'
385              });
386            }
387          }
388        }
389      });
390    });
391
392    // Track hash changes as unique pageviews, if this option has been enabled.
393    if (drupalSettings.google_analytics.trackUrlFragments) {
394      window.onhashchange = function () {
395        gtag('config', drupalSettings.google_analytics.account, {
396          page_path: location.pathname + location.search + location.hash
397        });
398      };
399    }
400
401    // Colorbox: This event triggers when the transition has completed and the
402    // newly loaded content has been revealed.
403    if (drupalSettings.google_analytics.trackColorbox) {
404      $(document).on('cbox_complete', function () {
405        var href = $.colorbox.element().attr('href');
406        if (href) {
407          gtag('config', drupalSettings.google_analytics.account, {
408            page_path: Drupal.google_analytics.getPageUrl(href)
409          });
410        }
411      });
412    }
413
414  });
415
416  /**
417   * Check whether the hostname is part of the cross domains or not.
418   *
419   * @param {string} hostname
420   *   The hostname of the clicked URL.
421   * @param {array} crossDomains
422   *   All cross domain hostnames as JS array.
423   *
424   * @return {boolean} isCrossDomain
425   */
426  Drupal.google_analytics.isCrossDomain = function (hostname, crossDomains) {
427    return $.inArray(hostname, crossDomains) > -1 ? true : false;
428  };
429
430  /**
431   * Check whether this is a download URL or not.
432   *
433   * @param {string} url
434   *   The web url to check.
435   *
436   * @return {boolean} isDownload
437   */
438  Drupal.google_analytics.isDownload = function (url) {
439    var isDownload = new RegExp('\\.(' + drupalSettings.google_analytics.trackDownloadExtensions + ')([\?#].*)?$', 'i');
440    return isDownload.test(url);
441  };
442
443  /**
444   * Check whether this is an absolute internal URL or not.
445   *
446   * @param {string} url
447   *   The web url to check.
448   *
449   * @return {boolean} isInternal
450   */
451  Drupal.google_analytics.isInternal = function (url) {
452    var isInternal = new RegExp('^(https?):\/\/' + window.location.host, 'i');
453    return isInternal.test(url);
454  };
455
456  /**
457   * Check whether this is a special URL or not.
458   *
459   * URL types:
460   *  - gotwo.module /go/* links.
461   *
462   * @param {string} url
463   *   The web url to check.
464   *
465   * @return {boolean} isInternalSpecial
466   */
467  Drupal.google_analytics.isInternalSpecial = function (url) {
468    var isInternalSpecial = new RegExp('(\/go\/.*)$', 'i');
469    return isInternalSpecial.test(url);
470  };
471
472  /**
473   * Extract the relative internal URL from an absolute internal URL.
474   *
475   * Examples:
476   * - https://mydomain.com/node/1 -> /node/1
477   * - https://example.com/foo/bar -> https://example.com/foo/bar
478   *
479   * @param {string} url
480   *   The web url to check.
481   *
482   * @return {string} getPageUrl
483   *   Internal website URL.
484   */
485  Drupal.google_analytics.getPageUrl = function (url) {
486    var extractInternalUrl = new RegExp('^(https?):\/\/' + window.location.host, 'i');
487    return url.replace(extractInternalUrl, '');
488  };
489
490  /**
491   * Extract the download file extension from the URL.
492   *
493   * @param {string} url
494   *   The web url to check.
495   *
496   * @return {string} getDownloadExtension
497   *   The file extension of the passed url. e.g. 'zip', 'txt'
498   */
499  Drupal.google_analytics.getDownloadExtension = function (url) {
500    var extractDownloadextension = new RegExp('\\.(' + drupalSettings.google_analytics.trackDownloadExtensions + ')([\?#].*)?$', 'i');
501    var extension = extractDownloadextension.exec(url);
502    return (extension === null) ? '' : extension[1];
503  };
504
505})(jQuery, Drupal, drupalSettings);
506;
507/*!
508  * Bootstrap v5.2.3 (https://getbootstrap.com/)
509  * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
510  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
511  */
512(function (global, factory) {
513  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
514  typeof define === 'function' && define.amd ? define(factory) :
515  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.bootstrap = factory());
516})(this, (function () { 'use strict';
517
518  /**
519   * --------------------------------------------------------------------------
520   * Bootstrap (v5.2.3): util/index.js
521   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
522   * --------------------------------------------------------------------------
523   */
524  const MAX_UID = 1000000;
525  const MILLISECONDS_MULTIPLIER = 1000;
526  const TRANSITION_END = 'transitionend'; // Shout-out Angus Croll (https://goo.gl/pxwQGp)
527
528  const toType = object => {
529    if (object === null || object === undefined) {
530      return `${object}`;
531    }
532
533    return Object.prototype.toString.call(object).match(/\s([a-z]+)/i)[1].toLowerCase();
534  };
535  /**
536   * Public Util API
537   */
538
539
540  const getUID = prefix => {
541    do {
542      prefix += Math.floor(Math.random() * MAX_UID);
543    } while (document.getElementById(prefix));
544
545    return prefix;
546  };
547
548  const getSelector = element => {
549    let selector = element.getAttribute('data-bs-target');
550
551    if (!selector || selector === '#') {
552      let hrefAttribute = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,
553      // so everything starting with `#` or `.`. If a "real" URL is used as the selector,
554      // `document.querySelector` will rightfully complain it is invali
vendor: 6,030 bytes, lines 554-782
554d.
555      // See https://github.com/twbs/bootstrap/issues/32273
556
557      if (!hrefAttribute || !hrefAttribute.includes('#') && !hrefAttribute.startsWith('.')) {
558        return null;
559      } // Just in case some CMS puts out a full URL with the anchor appended
560
561
562      if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {
563        hrefAttribute = `#${hrefAttribute.split('#')[1]}`;
564      }
565
566      selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null;
567    }
568
569    return selector;
570  };
571
572  const getSelectorFromElement = element => {
573    const selector = getSelector(element);
574
575    if (selector) {
576      return document.querySelector(selector) ? selector : null;
577    }
578
579    return null;
580  };
581
582  const getElementFromSelector = element => {
583    const selector = getSelector(element);
584    return selector ? document.querySelector(selector) : null;
585  };
586
587  const getTransitionDurationFromElement = element => {
588    if (!element) {
589      return 0;
590    } // Get transition-duration of the element
591
592
593    let {
594      transitionDuration,
595      transitionDelay
596    } = window.getComputedStyle(element);
597    const floatTransitionDuration = Number.parseFloat(transitionDuration);
598    const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
599
600    if (!floatTransitionDuration && !floatTransitionDelay) {
601      return 0;
602    } // If multiple durations are defined, take the first
603
604
605    transitionDuration = transitionDuration.split(',')[0];
606    transitionDelay = transitionDelay.split(',')[0];
607    return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
608  };
609
610  const triggerTransitionEnd = element => {
611    element.dispatchEvent(new Event(TRANSITION_END));
612  };
613
614  const isElement$1 = object => {
615    if (!object || typeof object !== 'object') {
616      return false;
617    }
618
619    if (typeof object.jquery !== 'undefined') {
620      object = object[0];
621    }
622
623    return typeof object.nodeType !== 'undefined';
624  };
625
626  const getElement = object => {
627    // it's a jQuery object or a node element
628    if (isElement$1(object)) {
629      return object.jquery ? object[0] : object;
630    }
631
632    if (typeof object === 'string' && object.length > 0) {
633      return document.querySelector(object);
634    }
635
636    return null;
637  };
638
639  const isVisible = element => {
640    if (!isElement$1(element) || element.getClientRects().length === 0) {
641      return false;
642    }
643
644    const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'; // Handle `details` element as its content may falsie appear visible when it is closed
645
646    const closedDetails = element.closest('details:not([open])');
647
648    if (!closedDetails) {
649      return elementIsVisible;
650    }
651
652    if (closedDetails !== element) {
653      const summary = element.closest('summary');
654
655      if (summary && summary.parentNode !== closedDetails) {
656        return false;
657      }
658
659      if (summary === null) {
660        return false;
661      }
662    }
663
664    return elementIsVisible;
665  };
666
667  const isDisabled = element => {
668    if (!element || element.nodeType !== Node.ELEMENT_NODE) {
669      return true;
670    }
671
672    if (element.classList.contains('disabled')) {
673      return true;
674    }
675
676    if (typeof element.disabled !== 'undefined') {
677      return element.disabled;
678    }
679
680    return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false';
681  };
682
683  const findShadowRoot = element => {
684    if (!document.documentElement.attachShadow) {
685      return null;
686    } // Can find the shadow root otherwise it'll return the document
687
688
689    if (typeof element.getRootNode === 'function') {
690      const root = element.getRootNode();
691      return root instanceof ShadowRoot ? root : null;
692    }
693
694    if (element instanceof ShadowRoot) {
695      return element;
696    } // when we don't find a shadow root
697
698
699    if (!element.parentNode) {
700      return null;
701    }
702
703    return findShadowRoot(element.parentNode);
704  };
705
706  const noop = () => {};
707  /**
708   * Trick to restart an element's animation
709   *
710   * @param {HTMLElement} element
711   * @return void
712   *
713   * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation
714   */
715
716
717  const reflow = element => {
718    element.offsetHeight; // eslint-disable-line no-unused-expressions
719  };
720
721  const getjQuery = () => {
722    if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
723      return window.jQuery;
724    }
725
726    return null;
727  };
728
729  const DOMContentLoadedCallbacks = [];
730
731  const onDOMContentLoaded = callback => {
732    if (document.readyState === 'loading') {
733      // add listener on the first call when the document is in loading state
734      if (!DOMContentLoadedCallbacks.length) {
735        document.addEventListener('DOMContentLoaded', () => {
736          for (const callback of DOMContentLoadedCallbacks) {
737            callback();
738          }
739        });
740      }
741
742      DOMContentLoadedCallbacks.push(callback);
743    } else {
744      callback();
745    }
746  };
747
748  const isRTL = () => document.documentElement.dir === 'rtl';
749
750  const defineJQueryPlugin = plugin => {
751    onDOMContentLoaded(() => {
752      const $ = getjQuery();
753      /* istanbul ignore if */
754
755      if ($) {
756        const name = plugin.NAME;
757        const JQUERY_NO_CONFLICT = $.fn[name];
758        $.fn[name] = plugin.jQueryInterface;
759        $.fn[name].Constructor = plugin;
760
761        $.fn[name].noConflict = () => {
762          $.fn[name] = JQUERY_NO_CONFLICT;
763          return plugin.jQueryInterface;
764        };
765      }
766    });
767  };
768
769  const execute = callback => {
770    if (typeof callback === 'function') {
771      callback();
772    }
773  };
774
775  const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {
776    if (!waitForTransition) {
777      execute(callback);
778      return;
779    }
780
781    const durationPadding = 5;
782    const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding;
vendor: 5,298 bytes, lines 783-937
783    let called = false;
784
785    const handler = ({
786      target
787    }) => {
788      if (target !== transitionElement) {
789        return;
790      }
791
792      called = true;
793      transitionElement.removeEventListener(TRANSITION_END, handler);
794      execute(callback);
795    };
796
797    transitionElement.addEventListener(TRANSITION_END, handler);
798    setTimeout(() => {
799      if (!called) {
800        triggerTransitionEnd(transitionElement);
801      }
802    }, emulatedDuration);
803  };
804  /**
805   * Return the previous/next element of a list.
806   *
807   * @param {array} list    The list of elements
808   * @param activeElement   The active element
809   * @param shouldGetNext   Choose to get next or previous element
810   * @param isCycleAllowed
811   * @return {Element|elem} The proper element
812   */
813
814
815  const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {
816    const listLength = list.length;
817    let index = list.indexOf(activeElement); // if the element does not exist in the list return an element
818    // depending on the direction and if cycle is allowed
819
820    if (index === -1) {
821      return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0];
822    }
823
824    index += shouldGetNext ? 1 : -1;
825
826    if (isCycleAllowed) {
827      index = (index + listLength) % listLength;
828    }
829
830    return list[Math.max(0, Math.min(index, listLength - 1))];
831  };
832
833  /**
834   * --------------------------------------------------------------------------
835   * Bootstrap (v5.2.3): dom/event-handler.js
836   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
837   * --------------------------------------------------------------------------
838   */
839  /**
840   * Constants
841   */
842
843  const namespaceRegex = /[^.]*(?=\..*)\.|.*/;
844  const stripNameRegex = /\..*/;
845  const stripUidRegex = /::\d+$/;
846  const eventRegistry = {}; // Events storage
847
848  let uidEvent = 1;
849  const customEvents = {
850    mouseenter: 'mouseover',
851    mouseleave: 'mouseout'
852  };
853  const nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']);
854  /**
855   * Private methods
856   */
857
858  function makeEventUid(element, uid) {
859    return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++;
860  }
861
862  function getElementEvents(element) {
863    const uid = makeEventUid(element);
864    element.uidEvent = uid;
865    eventRegistry[uid] = eventRegistry[uid] || {};
866    return eventRegistry[uid];
867  }
868
869  function bootstrapHandler(element, fn) {
870    return function handler(event) {
871      hydrateObj(event, {
872        delegateTarget: element
873      });
874
875      if (handler.oneOff) {
876        EventHandler.off(element, event.type, fn);
877      }
878
879      return fn.apply(element, [event]);
880    };
881  }
882
883  function bootstrapDelegationHandler(element, selector, fn) {
884    return function handler(event) {
885      const domElements = element.querySelectorAll(selector);
886
887      for (let {
888        target
889      } = event; target && target !== this; target = target.parentNode) {
890        for (const domElement of domElements) {
891          if (domElement !== target) {
892            continue;
893          }
894
895          hydrateObj(event, {
896            delegateTarget: target
897          });
898
899          if (handler.oneOff) {
900            EventHandler.off(element, event.type, selector, fn);
901          }
902
903          return fn.apply(target, [event]);
904        }
905      }
906    };
907  }
908
909  function findHandler(events, callable, delegationSelector = null) {
910    return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector);
911  }
912
913  function normalizeParameters(originalTypeEvent, handler, delegationFunction) {
914    const isDelegated = typeof handler === 'string'; // todo: tooltip passes `false` instead of selector, so we need to check
915
916    const callable = isDelegated ? delegationFunction : handler || delegationFunction;
917    let typeEvent = getTypeEvent(originalTypeEvent);
918
919    if (!nativeEvents.has(typeEvent)) {
920      typeEvent = originalTypeEvent;
921    }
922
923    return [isDelegated, callable, typeEvent];
924  }
925
926  function addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {
927    if (typeof originalTypeEvent !== 'string' || !element) {
928      return;
929    }
930
931    let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position
932    // this prevents the handler from being dispatched the same way as mouseover or mouseout does
933
934    if (originalTypeEvent in customEvents) {
935      const wrapFunction = fn => {
936        return function (event) {
937          if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) {
vendor: 4,666 bytes, lines 938-1084
938            return fn.call(this, event);
939          }
940        };
941      };
942
943      callable = wrapFunction(callable);
944    }
945
946    const events = getElementEvents(element);
947    const handlers = events[typeEvent] || (events[typeEvent] = {});
948    const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null);
949
950    if (previousFunction) {
951      previousFunction.oneOff = previousFunction.oneOff && oneOff;
952      return;
953    }
954
955    const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''));
956    const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable);
957    fn.delegationSelector = isDelegated ? handler : null;
958    fn.callable = callable;
959    fn.oneOff = oneOff;
960    fn.uidEvent = uid;
961    handlers[uid] = fn;
962    element.addEventListener(typeEvent, fn, isDelegated);
963  }
964
965  function removeHandler(element, events, typeEvent, handler, delegationSelector) {
966    const fn = findHandler(events[typeEvent], handler, delegationSelector);
967
968    if (!fn) {
969      return;
970    }
971
972    element.removeEventListener(typeEvent, fn, Boolean(delegationSelector));
973    delete events[typeEvent][fn.uidEvent];
974  }
975
976  function removeNamespacedHandlers(element, events, typeEvent, namespace) {
977    const storeElementEvent = events[typeEvent] || {};
978
979    for (const handlerKey of Object.keys(storeElementEvent)) {
980      if (handlerKey.includes(namespace)) {
981        const event = storeElementEvent[handlerKey];
982        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);
983      }
984    }
985  }
986
987  function getTypeEvent(event) {
988    // allow to get the native events from namespaced events ('click.bs.button' --> 'click')
989    event = event.replace(stripNameRegex, '');
990    return customEvents[event] || event;
991  }
992
993  const EventHandler = {
994    on(element, event, handler, delegationFunction) {
995      addHandler(element, event, handler, delegationFunction, false);
996    },
997
998    one(element, event, handler, delegationFunction) {
999      addHandler(element, event, handler, delegationFunction, true);
1000    },
1001
1002    off(element, originalTypeEvent, handler, delegationFunction) {
1003      if (typeof originalTypeEvent !== 'string' || !element) {
1004        return;
1005      }
1006
1007      const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);
1008      const inNamespace = typeEvent !== originalTypeEvent;
1009      const events = getElementEvents(element);
1010      const storeElementEvent = events[typeEvent] || {};
1011      const isNamespace = originalTypeEvent.startsWith('.');
1012
1013      if (typeof callable !== 'undefined') {
1014        // Simplest case: handler is passed, remove that listener ONLY.
1015        if (!Object.keys(storeElementEvent).length) {
1016          return;
1017        }
1018
1019        removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null);
1020        return;
1021      }
1022
1023      if (isNamespace) {
1024        for (const elementEvent of Object.keys(events)) {
1025          removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));
1026        }
1027      }
1028
1029      for (const keyHandlers of Object.keys(storeElementEvent)) {
1030        const handlerKey = keyHandlers.replace(stripUidRegex, '');
1031
1032        if (!inNamespace || originalTypeEvent.includes(handlerKey)) {
1033          const event = storeElementEvent[keyHandlers];
1034          removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);
1035        }
1036      }
1037    },
1038
1039    trigger(element, event, args) {
1040      if (typeof event !== 'string' || !element) {
1041        return null;
1042      }
1043
1044      const $ = getjQuery();
1045      const typeEvent = getTypeEvent(event);
1046      const inNamespace = event !== typeEvent;
1047      let jQueryEvent = null;
1048      let bubbles = true;
1049      let nativeDispatch = true;
1050      let defaultPrevented = false;
1051
1052      if (inNamespace && $) {
1053        jQueryEvent = $.Event(event, args);
1054        $(element).trigger(jQueryEvent);
1055        bubbles = !jQueryEvent.isPropagationStopped();
1056        nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();
1057        defaultPrevented = jQueryEvent.isDefaultPrevented();
1058      }
1059
1060      let evt = new Event(event, {
1061        bubbles,
1062        cancelable: true
1063      });
1064      evt = hydrateObj(evt, args);
1065
1066      if (defaultPrevented) {
1067        evt.preventDefault();
1068      }
1069
1070      if (nativeDispatch) {
1071        element.dispatchEvent(evt);
1072      }
1073
1074      if (evt.defaultPrevented && jQueryEvent) {
1075        jQueryEvent.preventDefault();
1076      }
1077
1078      return evt;
1079    }
1080
1081  };
1082
1083  function hydrateObj(obj, meta) {
1084    for (const [key, value] of Object.entries(meta || {})) {
vendor: 6,170 bytes, lines 1085-1318
1085      try {
1086        obj[key] = value;
1087      } catch (_unused) {
1088        Object.defineProperty(obj, key, {
1089          configurable: true,
1090
1091          get() {
1092            return value;
1093          }
1094
1095        });
1096      }
1097    }
1098
1099    return obj;
1100  }
1101
1102  /**
1103   * --------------------------------------------------------------------------
1104   * Bootstrap (v5.2.3): dom/data.js
1105   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
1106   * --------------------------------------------------------------------------
1107   */
1108
1109  /**
1110   * Constants
1111   */
1112  const elementMap = new Map();
1113  const Data = {
1114    set(element, key, instance) {
1115      if (!elementMap.has(element)) {
1116        elementMap.set(element, new Map());
1117      }
1118
1119      const instanceMap = elementMap.get(element); // make it clear we only want one instance per element
1120      // can be removed later when multiple key/instances are fine to be used
1121
1122      if (!instanceMap.has(key) && instanceMap.size !== 0) {
1123        // eslint-disable-next-line no-console
1124        console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);
1125        return;
1126      }
1127
1128      instanceMap.set(key, instance);
1129    },
1130
1131    get(element, key) {
1132      if (elementMap.has(element)) {
1133        return elementMap.get(element).get(key) || null;
1134      }
1135
1136      return null;
1137    },
1138
1139    remove(element, key) {
1140      if (!elementMap.has(element)) {
1141        return;
1142      }
1143
1144      const instanceMap = elementMap.get(element);
1145      instanceMap.delete(key); // free up element references if there are no instances left for an element
1146
1147      if (instanceMap.size === 0) {
1148        elementMap.delete(element);
1149      }
1150    }
1151
1152  };
1153
1154  /**
1155   * --------------------------------------------------------------------------
1156   * Bootstrap (v5.2.3): dom/manipulator.js
1157   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
1158   * --------------------------------------------------------------------------
1159   */
1160  function normalizeData(value) {
1161    if (value === 'true') {
1162      return true;
1163    }
1164
1165    if (value === 'false') {
1166      return false;
1167    }
1168
1169    if (value === Number(value).toString()) {
1170      return Number(value);
1171    }
1172
1173    if (value === '' || value === 'null') {
1174      return null;
1175    }
1176
1177    if (typeof value !== 'string') {
1178      return value;
1179    }
1180
1181    try {
1182      return JSON.parse(decodeURIComponent(value));
1183    } catch (_unused) {
1184      return value;
1185    }
1186  }
1187
1188  function normalizeDataKey(key) {
1189    return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`);
1190  }
1191
1192  const Manipulator = {
1193    setDataAttribute(element, key, value) {
1194      element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value);
1195    },
1196
1197    removeDataAttribute(element, key) {
1198      element.removeAttribute(`data-bs-${normalizeDataKey(key)}`);
1199    },
1200
1201    getDataAttributes(element) {
1202      if (!element) {
1203        return {};
1204      }
1205
1206      const attributes = {};
1207      const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'));
1208
1209      for (const key of bsKeys) {
1210        let pureKey = key.replace(/^bs/, '');
1211        pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);
1212        attributes[pureKey] = normalizeData(element.dataset[key]);
1213      }
1214
1215      return attributes;
1216    },
1217
1218    getDataAttribute(element, key) {
1219      return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`));
1220    }
1221
1222  };
1223
1224  /**
1225   * --------------------------------------------------------------------------
1226   * Bootstrap (v5.2.3): util/config.js
1227   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
1228   * --------------------------------------------------------------------------
1229   */
1230  /**
1231   * Class definition
1232   */
1233
1234  class Config {
1235    // Getters
1236    static get Default() {
1237      return {};
1238    }
1239
1240    static get DefaultType() {
1241      return {};
1242    }
1243
1244    static get NAME() {
1245      throw new Error('You have to implement the static method "NAME", for each component!');
1246    }
1247
1248    _getConfig(config) {
1249      config = this._mergeConfigObj(config);
1250      config = this._configAfterMerge(config);
1251
1252      this._typeCheckConfig(config);
1253
1254      return config;
1255    }
1256
1257    _configAfterMerge(config) {
1258      return config;
1259    }
1260
1261    _mergeConfigObj(config, element) {
1262      const jsonConfig = isElement$1(element) ? Manipulator.getDataAttribute(element, 'config') : {}; // try to parse
1263
1264      return { ...this.constructor.Default,
1265        ...(typeof jsonConfig === 'object' ? jsonConfig : {}),
1266        ...(isElement$1(element) ? Manipulator.getDataAttributes(element) : {}),
1267        ...(typeof config === 'object' ? config : {})
1268      };
1269    }
1270
1271    _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {
1272      for (const property of Object.keys(configTypes)) {
1273        const expectedTypes = configTypes[property];
1274        const value = config[property];
1275        const valueType = isElement$1(value) ? 'element' : toType(value);
1276
1277        if (!new RegExp(expectedTypes).test(valueType)) {
1278          throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`);
1279        }
1280      }
1281    }
1282
1283  }
1284
1285  /**
1286   * --------------------------------------------------------------------------
1287   * Bootstrap (v5.2.3): base-component.js
1288   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
1289   * --------------------------------------------------------------------------
1290   */
1291  /**
1292   * Constants
1293   */
1294
1295  const VERSION = '5.2.3';
1296  /**
1297   * Class definition
1298   */
1299
1300  class BaseComponent extends Config {
1301    constructor(element, config) {
1302      super();
1303      element = getElement(element);
1304
1305      if (!element) {
1306        return;
1307      }
1308
1309      this._element = element;
1310      this._config = this._getConfig(config);
1311      Data.set(this._element, this.constructor.DATA_KEY, this);
1312    } // Public
1313
1314
1315    dispose() {
1316      Data.remove(this._element, this.constructor.DATA_KEY);
1317      EventHandler.off(this._element, this.constructor.EVENT_KEY);
1318
vendor: 2,511 bytes, lines 1319-1405
1319      for (const propertyName of Object.getOwnPropertyNames(this)) {
1320        this[propertyName] = null;
1321      }
1322    }
1323
1324    _queueCallback(callback, element, isAnimated = true) {
1325      executeAfterTransition(callback, element, isAnimated);
1326    }
1327
1328    _getConfig(config) {
1329      config = this._mergeConfigObj(config, this._element);
1330      config = this._configAfterMerge(config);
1331
1332      this._typeCheckConfig(config);
1333
1334      return config;
1335    } // Static
1336
1337
1338    static getInstance(element) {
1339      return Data.get(getElement(element), this.DATA_KEY);
1340    }
1341
1342    static getOrCreateInstance(element, config = {}) {
1343      return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null);
1344    }
1345
1346    static get VERSION() {
1347      return VERSION;
1348    }
1349
1350    static get DATA_KEY() {
1351      return `bs.${this.NAME}`;
1352    }
1353
1354    static get EVENT_KEY() {
1355      return `.${this.DATA_KEY}`;
1356    }
1357
1358    static eventName(name) {
1359      return `${name}${this.EVENT_KEY}`;
1360    }
1361
1362  }
1363
1364  /**
1365   * --------------------------------------------------------------------------
1366   * Bootstrap (v5.2.3): util/component-functions.js
1367   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
1368   * --------------------------------------------------------------------------
1369   */
1370
1371  const enableDismissTrigger = (component, method = 'hide') => {
1372    const clickEvent = `click.dismiss${component.EVENT_KEY}`;
1373    const name = component.NAME;
1374    EventHandler.on(document, clickEvent, `[data-bs-dismiss="${name}"]`, function (event) {
1375      if (['A', 'AREA'].includes(this.tagName)) {
1376        event.preventDefault();
1377      }
1378
1379      if (isDisabled(this)) {
1380        return;
1381      }
1382
1383      const target = getElementFromSelector(this) || this.closest(`.${name}`);
1384      const instance = component.getOrCreateInstance(target); // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method
1385
1386      instance[method]();
1387    });
1388  };
1389
1390  /**
1391   * --------------------------------------------------------------------------
1392   * Bootstrap (v5.2.3): alert.js
1393   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
1394   * --------------------------------------------------------------------------
1395   */
1396  /**
1397   * Constants
1398   */
1399
1400  const NAME$f = 'alert';
1401  const DATA_KEY$a = 'bs.alert';
1402  const EVENT_KEY$b = `.${DATA_KEY$a}`;
1403  const EVENT_CLOSE = `close${EVENT_KEY$b}`;
1404  const EVENT_CLOSED = `closed${EVENT_KEY$b}`;
1405  const CLASS_NAME_FADE$5 = 'fade';
vendor: 8,809 bytes, lines 1406-1751
1406  const CLASS_NAME_SHOW$8 = 'show';
1407  /**
1408   * Class definition
1409   */
1410
1411  class Alert extends BaseComponent {
1412    // Getters
1413    static get NAME() {
1414      return NAME$f;
1415    } // Public
1416
1417
1418    close() {
1419      const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE);
1420
1421      if (closeEvent.defaultPrevented) {
1422        return;
1423      }
1424
1425      this._element.classList.remove(CLASS_NAME_SHOW$8);
1426
1427      const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5);
1428
1429      this._queueCallback(() => this._destroyElement(), this._element, isAnimated);
1430    } // Private
1431
1432
1433    _destroyElement() {
1434      this._element.remove();
1435
1436      EventHandler.trigger(this._element, EVENT_CLOSED);
1437      this.dispose();
1438    } // Static
1439
1440
1441    static jQueryInterface(config) {
1442      return this.each(function () {
1443        const data = Alert.getOrCreateInstance(this);
1444
1445        if (typeof config !== 'string') {
1446          return;
1447        }
1448
1449        if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {
1450          throw new TypeError(`No method named "${config}"`);
1451        }
1452
1453        data[config](this);
1454      });
1455    }
1456
1457  }
1458  /**
1459   * Data API implementation
1460   */
1461
1462
1463  enableDismissTrigger(Alert, 'close');
1464  /**
1465   * jQuery
1466   */
1467
1468  defineJQueryPlugin(Alert);
1469
1470  /**
1471   * --------------------------------------------------------------------------
1472   * Bootstrap (v5.2.3): button.js
1473   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
1474   * --------------------------------------------------------------------------
1475   */
1476  /**
1477   * Constants
1478   */
1479
1480  const NAME$e = 'button';
1481  const DATA_KEY$9 = 'bs.button';
1482  const EVENT_KEY$a = `.${DATA_KEY$9}`;
1483  const DATA_API_KEY$6 = '.data-api';
1484  const CLASS_NAME_ACTIVE$3 = 'active';
1485  const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="button"]';
1486  const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;
1487  /**
1488   * Class definition
1489   */
1490
1491  class Button extends BaseComponent {
1492    // Getters
1493    static get NAME() {
1494      return NAME$e;
1495    } // Public
1496
1497
1498    toggle() {
1499      // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method
1500      this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3));
1501    } // Static
1502
1503
1504    static jQueryInterface(config) {
1505      return this.each(function () {
1506        const data = Button.getOrCreateInstance(this);
1507
1508        if (config === 'toggle') {
1509          data[config]();
1510        }
1511      });
1512    }
1513
1514  }
1515  /**
1516   * Data API implementation
1517   */
1518
1519
1520  EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => {
1521    event.preventDefault();
1522    const button = event.target.closest(SELECTOR_DATA_TOGGLE$5);
1523    const data = Button.getOrCreateInstance(button);
1524    data.toggle();
1525  });
1526  /**
1527   * jQuery
1528   */
1529
1530  defineJQueryPlugin(Button);
1531
1532  /**
1533   * --------------------------------------------------------------------------
1534   * Bootstrap (v5.2.3): dom/selector-engine.js
1535   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
1536   * --------------------------------------------------------------------------
1537   */
1538  /**
1539   * Constants
1540   */
1541
1542  const SelectorEngine = {
1543    find(selector, element = document.documentElement) {
1544      return [].concat(...Element.prototype.querySelectorAll.call(element, selector));
1545    },
1546
1547    findOne(selector, element = document.documentElement) {
1548      return Element.prototype.querySelector.call(element, selector);
1549    },
1550
1551    children(element, selector) {
1552      return [].concat(...element.children).filter(child => child.matches(selector));
1553    },
1554
1555    parents(element, selector) {
1556      const parents = [];
1557      let ancestor = element.parentNode.closest(selector);
1558
1559      while (ancestor) {
1560        parents.push(ancestor);
1561        ancestor = ancestor.parentNode.closest(selector);
1562      }
1563
1564      return parents;
1565    },
1566
1567    prev(element, selector) {
1568      let previous = element.previousElementSibling;
1569
1570      while (previous) {
1571        if (previous.matches(selector)) {
1572          return [previous];
1573        }
1574
1575        previous = previous.previousElementSibling;
1576      }
1577
1578      return [];
1579    },
1580
1581    // TODO: this is now unused; remove later along with prev()
1582    next(element, selector) {
1583      let next = element.nextElementSibling;
1584
1585      while (next) {
1586        if (next.matches(selector)) {
1587          return [next];
1588        }
1589
1590        next = next.nextElementSibling;
1591      }
1592
1593      return [];
1594    },
1595
1596    focusableChildren(element) {
1597      const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable="true"]'].map(selector => `${selector}:not([tabindex^="-"])`).join(',');
1598      return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el));
1599    }
1600
1601  };
1602
1603  /**
1604   * --------------------------------------------------------------------------
1605   * Bootstrap (v5.2.3): util/swipe.js
1606   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
1607   * --------------------------------------------------------------------------
1608   */
1609  /**
1610   * Constants
1611   */
1612
1613  const NAME$d = 'swipe';
1614  const EVENT_KEY$9 = '.bs.swipe';
1615  const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`;
1616  const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`;
1617  const EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`;
1618  const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`;
1619  const EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`;
1620  const POINTER_TYPE_TOUCH = 'touch';
1621  const POINTER_TYPE_PEN = 'pen';
1622  const CLASS_NAME_POINTER_EVENT = 'pointer-event';
1623  const SWIPE_THRESHOLD = 40;
1624  const Default$c = {
1625    endCallback: null,
1626    leftCallback: null,
1627    rightCallback: null
1628  };
1629  const DefaultType$c = {
1630    endCallback: '(function|null)',
1631    leftCallback: '(function|null)',
1632    rightCallback: '(function|null)'
1633  };
1634  /**
1635   * Class definition
1636   */
1637
1638  class Swipe extends Config {
1639    constructor(element, config) {
1640      super();
1641      this._element = element;
1642
1643      if (!element || !Swipe.isSupported()) {
1644        return;
1645      }
1646
1647      this._config = this._getConfig(config);
1648      this._deltaX = 0;
1649      this._supportPointerEvents = Boolean(window.PointerEvent);
1650
1651      this._initEvents();
1652    } // Getters
1653
1654
1655    static get Default() {
1656      return Default$c;
1657    }
1658
1659    static get DefaultType() {
1660      return DefaultType$c;
1661    }
1662
1663    static get NAME() {
1664      return NAME$d;
1665    } // Public
1666
1667
1668    dispose() {
1669      EventHandler.off(this._element, EVENT_KEY$9);
1670    } // Private
1671
1672
1673    _start(event) {
1674      if (!this._supportPointerEvents) {
1675        this._deltaX = event.touches[0].clientX;
1676        return;
1677      }
1678
1679      if (this._eventIsPointerPenTouch(event)) {
1680        this._deltaX = event.clientX;
1681      }
1682    }
1683
1684    _end(event) {
1685      if (this._eventIsPointerPenTouch(event)) {
1686        this._deltaX = event.clientX - this._deltaX;
1687      }
1688
1689      this._handleSwipe();
1690
1691      execute(this._config.endCallback);
1692    }
1693
1694    _move(event) {
1695      this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX;
1696    }
1697
1698    _handleSwipe() {
1699      const absDeltaX = Math.abs(this._deltaX);
1700
1701      if (absDeltaX <= SWIPE_THRESHOLD) {
1702        return;
1703      }
1704
1705      const direction = absDeltaX / this._deltaX;
1706      this._deltaX = 0;
1707
1708      if (!direction) {
1709        return;
1710      }
1711
1712      execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback);
1713    }
1714
1715    _initEvents() {
1716      if (this._supportPointerEvents) {
1717        EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event));
1718        EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event));
1719
1720        this._element.classList.add(CLASS_NAME_POINTER_EVENT);
1721      } else {
1722        EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event));
1723        EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event));
1724        EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event));
1725      }
1726    }
1727
1728    _eventIsPointerPenTouch(event) {
1729      return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH);
1730    } // Static
1731
1732
1733    static isSupported() {
1734      return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
1735    }
1736
1737  }
1738
1739  /**
1740   * --------------------------------------------------------------------------
1741   * Bootstrap (v5.2.3): carousel.js
1742   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
1743   * --------------------------------------------------------------------------
1744   */
1745  /**
1746   * Constants
1747   */
1748
1749  const NAME$c = 'carousel';
1750  const DATA_KEY$8 = 'bs.carousel';
1751  const EVENT_KEY$8 = `.${DATA_KEY$8}`;
vendor: 24,803 bytes, lines 1752-2640
1752  const DATA_API_KEY$5 = '.data-api';
1753  const ARROW_LEFT_KEY$1 = 'ArrowLeft';
1754  const ARROW_RIGHT_KEY$1 = 'ArrowRight';
1755  const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
1756
1757  const ORDER_NEXT = 'next';
1758  const ORDER_PREV = 'prev';
1759  const DIRECTION_LEFT = 'left';
1760  const DIRECTION_RIGHT = 'right';
1761  const EVENT_SLIDE = `slide${EVENT_KEY$8}`;
1762  const EVENT_SLID = `slid${EVENT_KEY$8}`;
1763  const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`;
1764  const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`;
1765  const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`;
1766  const EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`;
1767  const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`;
1768  const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;
1769  const CLASS_NAME_CAROUSEL = 'carousel';
1770  const CLASS_NAME_ACTIVE$2 = 'active';
1771  const CLASS_NAME_SLIDE = 'slide';
1772  const CLASS_NAME_END = 'carousel-item-end';
1773  const CLASS_NAME_START = 'carousel-item-start';
1774  const CLASS_NAME_NEXT = 'carousel-item-next';
1775  const CLASS_NAME_PREV = 'carousel-item-prev';
1776  const SELECTOR_ACTIVE = '.active';
1777  const SELECTOR_ITEM = '.carousel-item';
1778  const SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM;
1779  const SELECTOR_ITEM_IMG = '.carousel-item img';
1780  const SELECTOR_INDICATORS = '.carousel-indicators';
1781  const SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]';
1782  const SELECTOR_DATA_RIDE = '[data-bs-ride="carousel"]';
1783  const KEY_TO_DIRECTION = {
1784    [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT,
1785    [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT
1786  };
1787  const Default$b = {
1788    interval: 5000,
1789    keyboard: true,
1790    pause: 'hover',
1791    ride: false,
1792    touch: true,
1793    wrap: true
1794  };
1795  const DefaultType$b = {
1796    interval: '(number|boolean)',
1797    // TODO:v6 remove boolean support
1798    keyboard: 'boolean',
1799    pause: '(string|boolean)',
1800    ride: '(boolean|string)',
1801    touch: 'boolean',
1802    wrap: 'boolean'
1803  };
1804  /**
1805   * Class definition
1806   */
1807
1808  class Carousel extends BaseComponent {
1809    constructor(element, config) {
1810      super(element, config);
1811      this._interval = null;
1812      this._activeElement = null;
1813      this._isSliding = false;
1814      this.touchTimeout = null;
1815      this._swipeHelper = null;
1816      this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element);
1817
1818      this._addEventListeners();
1819
1820      if (this._config.ride === CLASS_NAME_CAROUSEL) {
1821        this.cycle();
1822      }
1823    } // Getters
1824
1825
1826    static get Default() {
1827      return Default$b;
1828    }
1829
1830    static get DefaultType() {
1831      return DefaultType$b;
1832    }
1833
1834    static get NAME() {
1835      return NAME$c;
1836    } // Public
1837
1838
1839    next() {
1840      this._slide(ORDER_NEXT);
1841    }
1842
1843    nextWhenVisible() {
1844      // FIXME TODO use `document.visibilityState`
1845      // Don't call next when the page isn't visible
1846      // or the carousel or its parent isn't visible
1847      if (!document.hidden && isVisible(this._element)) {
1848        this.next();
1849      }
1850    }
1851
1852    prev() {
1853      this._slide(ORDER_PREV);
1854    }
1855
1856    pause() {
1857      if (this._isSliding) {
1858        triggerTransitionEnd(this._element);
1859      }
1860
1861      this._clearInterval();
1862    }
1863
1864    cycle() {
1865      this._clearInterval();
1866
1867      this._updateInterval();
1868
1869      this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval);
1870    }
1871
1872    _maybeEnableCycle() {
1873      if (!this._config.ride) {
1874        return;
1875      }
1876
1877      if (this._isSliding) {
1878        EventHandler.one(this._element, EVENT_SLID, () => this.cycle());
1879        return;
1880      }
1881
1882      this.cycle();
1883    }
1884
1885    to(index) {
1886      const items = this._getItems();
1887
1888      if (index > items.length - 1 || index < 0) {
1889        return;
1890      }
1891
1892      if (this._isSliding) {
1893        EventHandler.one(this._element, EVENT_SLID, () => this.to(index));
1894        return;
1895      }
1896
1897      const activeIndex = this._getItemIndex(this._getActive());
1898
1899      if (activeIndex === index) {
1900        return;
1901      }
1902
1903      const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV;
1904
1905      this._slide(order, items[index]);
1906    }
1907
1908    dispose() {
1909      if (this._swipeHelper) {
1910        this._swipeHelper.dispose();
1911      }
1912
1913      super.dispose();
1914    } // Private
1915
1916
1917    _configAfterMerge(config) {
1918      config.defaultInterval = config.interval;
1919      return config;
1920    }
1921
1922    _addEventListeners() {
1923      if (this._config.keyboard) {
1924        EventHandler.on(this._element, EVENT_KEYDOWN$1, event => this._keydown(event));
1925      }
1926
1927      if (this._config.pause === 'hover') {
1928        EventHandler.on(this._element, EVENT_MOUSEENTER$1, () => this.pause());
1929        EventHandler.on(this._element, EVENT_MOUSELEAVE$1, () => this._maybeEnableCycle());
1930      }
1931
1932      if (this._config.touch && Swipe.isSupported()) {
1933        this._addTouchEventListeners();
1934      }
1935    }
1936
1937    _addTouchEventListeners() {
1938      for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {
1939        EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault());
1940      }
1941
1942      const endCallBack = () => {
1943        if (this._config.pause !== 'hover') {
1944          return;
1945        } // If it's a touch-enabled device, mouseenter/leave are fired as
1946        // part of the mouse compatibility events on first tap - the carousel
1947        // would stop cycling until user tapped out of it;
1948        // here, we listen for touchend, explicitly pause the carousel
1949        // (as if it's the second time we tap on it, mouseenter compat event
1950        // is NOT fired) and after a timeout (to allow for mouse compatibility
1951        // events to fire) we explicitly restart cycling
1952
1953
1954        this.pause();
1955
1956        if (this.touchTimeout) {
1957          clearTimeout(this.touchTimeout);
1958        }
1959
1960        this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval);
1961      };
1962
1963      const swipeConfig = {
1964        leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),
1965        rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),
1966        endCallback: endCallBack
1967      };
1968      this._swipeHelper = new Swipe(this._element, swipeConfig);
1969    }
1970
1971    _keydown(event) {
1972      if (/input|textarea/i.test(event.target.tagName)) {
1973        return;
1974      }
1975
1976      const direction = KEY_TO_DIRECTION[event.key];
1977
1978      if (direction) {
1979        event.preventDefault();
1980
1981        this._slide(this._directionToOrder(direction));
1982      }
1983    }
1984
1985    _getItemIndex(element) {
1986      return this._getItems().indexOf(element);
1987    }
1988
1989    _setActiveIndicatorElement(index) {
1990      if (!this._indicatorsElement) {
1991        return;
1992      }
1993
1994      const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement);
1995      activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2);
1996      activeIndicator.removeAttribute('aria-current');
1997      const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to="${index}"]`, this._indicatorsElement);
1998
1999      if (newActiveIndicator) {
2000        newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2);
2001        newActiveIndicator.setAttribute('aria-current', 'true');
2002      }
2003    }
2004
2005    _updateInterval() {
2006      const element = this._activeElement || this._getActive();
2007
2008      if (!element) {
2009        return;
2010      }
2011
2012      const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10);
2013      this._config.interval = elementInterval || this._config.defaultInterval;
2014    }
2015
2016    _slide(order, element = null) {
2017      if (this._isSliding) {
2018        return;
2019      }
2020
2021      const activeElement = this._getActive();
2022
2023      const isNext = order === ORDER_NEXT;
2024      const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap);
2025
2026      if (nextElement === activeElement) {
2027        return;
2028      }
2029
2030      const nextElementIndex = this._getItemIndex(nextElement);
2031
2032      const triggerEvent = eventName => {
2033        return EventHandler.trigger(this._element, eventName, {
2034          relatedTarget: nextElement,
2035          direction: this._orderToDirection(order),
2036          from: this._getItemIndex(activeElement),
2037          to: nextElementIndex
2038        });
2039      };
2040
2041      const slideEvent = triggerEvent(EVENT_SLIDE);
2042
2043      if (slideEvent.defaultPrevented) {
2044        return;
2045      }
2046
2047      if (!activeElement || !nextElement) {
2048        // Some weirdness is happening, so we bail
2049        // todo: change tests that use empty divs to avoid this check
2050        return;
2051      }
2052
2053      const isCycling = Boolean(this._interval);
2054      this.pause();
2055      this._isSliding = true;
2056
2057      this._setActiveIndicatorElement(nextElementIndex);
2058
2059      this._activeElement = nextElement;
2060      const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END;
2061      const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV;
2062      nextElement.classList.add(orderClassName);
2063      reflow(nextElement);
2064      activeElement.classList.add(directionalClassName);
2065      nextElement.classList.add(directionalClassName);
2066
2067      const completeCallBack = () => {
2068        nextElement.classList.remove(directionalClassName, orderClassName);
2069        nextElement.classList.add(CLASS_NAME_ACTIVE$2);
2070        activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName);
2071        this._isSliding = false;
2072        triggerEvent(EVENT_SLID);
2073      };
2074
2075      this._queueCallback(completeCallBack, activeElement, this._isAnimated());
2076
2077      if (isCycling) {
2078        this.cycle();
2079      }
2080    }
2081
2082    _isAnimated() {
2083      return this._element.classList.contains(CLASS_NAME_SLIDE);
2084    }
2085
2086    _getActive() {
2087      return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);
2088    }
2089
2090    _getItems() {
2091      return SelectorEngine.find(SELECTOR_ITEM, this._element);
2092    }
2093
2094    _clearInterval() {
2095      if (this._interval) {
2096        clearInterval(this._interval);
2097        this._interval = null;
2098      }
2099    }
2100
2101    _directionToOrder(direction) {
2102      if (isRTL()) {
2103        return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT;
2104      }
2105
2106      return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV;
2107    }
2108
2109    _orderToDirection(order) {
2110      if (isRTL()) {
2111        return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT;
2112      }
2113
2114      return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT;
2115    } // Static
2116
2117
2118    static jQueryInterface(config) {
2119      return this.each(function () {
2120        const data = Carousel.getOrCreateInstance(this, config);
2121
2122        if (typeof config === 'number') {
2123          data.to(config);
2124          return;
2125        }
2126
2127        if (typeof config === 'string') {
2128          if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {
2129            throw new TypeError(`No method named "${config}"`);
2130          }
2131
2132          data[config]();
2133        }
2134      });
2135    }
2136
2137  }
2138  /**
2139   * Data API implementation
2140   */
2141
2142
2143  EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) {
2144    const target = getElementFromSelector(this);
2145
2146    if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {
2147      return;
2148    }
2149
2150    event.preventDefault();
2151    const carousel = Carousel.getOrCreateInstance(target);
2152    const slideIndex = this.getAttribute('data-bs-slide-to');
2153
2154    if (slideIndex) {
2155      carousel.to(slideIndex);
2156
2157      carousel._maybeEnableCycle();
2158
2159      return;
2160    }
2161
2162    if (Manipulator.getDataAttribute(this, 'slide') === 'next') {
2163      carousel.next();
2164
2165      carousel._maybeEnableCycle();
2166
2167      return;
2168    }
2169
2170    carousel.prev();
2171
2172    carousel._maybeEnableCycle();
2173  });
2174  EventHandler.on(window, EVENT_LOAD_DATA_API$3, () => {
2175    const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);
2176
2177    for (const carousel of carousels) {
2178      Carousel.getOrCreateInstance(carousel);
2179    }
2180  });
2181  /**
2182   * jQuery
2183   */
2184
2185  defineJQueryPlugin(Carousel);
2186
2187  /**
2188   * --------------------------------------------------------------------------
2189   * Bootstrap (v5.2.3): collapse.js
2190   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
2191   * --------------------------------------------------------------------------
2192   */
2193  /**
2194   * Constants
2195   */
2196
2197  const NAME$b = 'collapse';
2198  const DATA_KEY$7 = 'bs.collapse';
2199  const EVENT_KEY$7 = `.${DATA_KEY$7}`;
2200  const DATA_API_KEY$4 = '.data-api';
2201  const EVENT_SHOW$6 = `show${EVENT_KEY$7}`;
2202  const EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`;
2203  const EVENT_HIDE$6 = `hide${EVENT_KEY$7}`;
2204  const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`;
2205  const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;
2206  const CLASS_NAME_SHOW$7 = 'show';
2207  const CLASS_NAME_COLLAPSE = 'collapse';
2208  const CLASS_NAME_COLLAPSING = 'collapsing';
2209  const CLASS_NAME_COLLAPSED = 'collapsed';
2210  const CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`;
2211  const CLASS_NAME_HORIZONTAL = 'collapse-horizontal';
2212  const WIDTH = 'width';
2213  const HEIGHT = 'height';
2214  const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
2215  const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]';
2216  const Default$a = {
2217    parent: null,
2218    toggle: true
2219  };
2220  const DefaultType$a = {
2221    parent: '(null|element)',
2222    toggle: 'boolean'
2223  };
2224  /**
2225   * Class definition
2226   */
2227
2228  class Collapse extends BaseComponent {
2229    constructor(element, config) {
2230      super(element, config);
2231      this._isTransitioning = false;
2232      this._triggerArray = [];
2233      const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);
2234
2235      for (const elem of toggleList) {
2236        const selector = getSelectorFromElement(elem);
2237        const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element);
2238
2239        if (selector !== null && filterElement.length) {
2240          this._triggerArray.push(elem);
2241        }
2242      }
2243
2244      this._initializeChildren();
2245
2246      if (!this._config.parent) {
2247        this._addAriaAndCollapsedClass(this._triggerArray, this._isShown());
2248      }
2249
2250      if (this._config.toggle) {
2251        this.toggle();
2252      }
2253    } // Getters
2254
2255
2256    static get Default() {
2257      return Default$a;
2258    }
2259
2260    static get DefaultType() {
2261      return DefaultType$a;
2262    }
2263
2264    static get NAME() {
2265      return NAME$b;
2266    } // Public
2267
2268
2269    toggle() {
2270      if (this._isShown()) {
2271        this.hide();
2272      } else {
2273        this.show();
2274      }
2275    }
2276
2277    show() {
2278      if (this._isTransitioning || this._isShown()) {
2279        return;
2280      }
2281
2282      let activeChildren = []; // find active children
2283
2284      if (this._config.parent) {
2285        activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, {
2286          toggle: false
2287        }));
2288      }
2289
2290      if (activeChildren.length && activeChildren[0]._isTransitioning) {
2291        return;
2292      }
2293
2294      const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6);
2295
2296      if (startEvent.defaultPrevented) {
2297        return;
2298      }
2299
2300      for (const activeInstance of activeChildren) {
2301        activeInstance.hide();
2302      }
2303
2304      const dimension = this._getDimension();
2305
2306      this._element.classList.remove(CLASS_NAME_COLLAPSE);
2307
2308      this._element.classList.add(CLASS_NAME_COLLAPSING);
2309
2310      this._element.style[dimension] = 0;
2311
2312      this._addAriaAndCollapsedClass(this._triggerArray, true);
2313
2314      this._isTransitioning = true;
2315
2316      const complete = () => {
2317        this._isTransitioning = false;
2318
2319        this._element.classList.remove(CLASS_NAME_COLLAPSING);
2320
2321        this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);
2322
2323        this._element.style[dimension] = '';
2324        EventHandler.trigger(this._element, EVENT_SHOWN$6);
2325      };
2326
2327      const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
2328      const scrollSize = `scroll${capitalizedDimension}`;
2329
2330      this._queueCallback(complete, this._element, true);
2331
2332      this._element.style[dimension] = `${this._element[scrollSize]}px`;
2333    }
2334
2335    hide() {
2336      if (this._isTransitioning || !this._isShown()) {
2337        return;
2338      }
2339
2340      const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);
2341
2342      if (startEvent.defaultPrevented) {
2343        return;
2344      }
2345
2346      const dimension = this._getDimension();
2347
2348      this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;
2349      reflow(this._element);
2350
2351      this._element.classList.add(CLASS_NAME_COLLAPSING);
2352
2353      this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);
2354
2355      for (const trigger of this._triggerArray) {
2356        const element = getElementFromSelector(trigger);
2357
2358        if (element && !this._isShown(element)) {
2359          this._addAriaAndCollapsedClass([trigger], false);
2360        }
2361      }
2362
2363      this._isTransitioning = true;
2364
2365      const complete = () => {
2366        this._isTransitioning = false;
2367
2368        this._element.classList.remove(CLASS_NAME_COLLAPSING);
2369
2370        this._element.classList.add(CLASS_NAME_COLLAPSE);
2371
2372        EventHandler.trigger(this._element, EVENT_HIDDEN$6);
2373      };
2374
2375      this._element.style[dimension] = '';
2376
2377      this._queueCallback(complete, this._element, true);
2378    }
2379
2380    _isShown(element = this._element) {
2381      return element.classList.contains(CLASS_NAME_SHOW$7);
2382    } // Private
2383
2384
2385    _configAfterMerge(config) {
2386      config.toggle = Boolean(config.toggle); // Coerce string values
2387
2388      config.parent = getElement(config.parent);
2389      return config;
2390    }
2391
2392    _getDimension() {
2393      return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT;
2394    }
2395
2396    _initializeChildren() {
2397      if (!this._config.parent) {
2398        return;
2399      }
2400
2401      const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4);
2402
2403      for (const element of children) {
2404        const selected = getElementFromSelector(element);
2405
2406        if (selected) {
2407          this._addAriaAndCollapsedClass([element], this._isShown(selected));
2408        }
2409      }
2410    }
2411
2412    _getFirstLevelChildren(selector) {
2413      const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); // remove children if greater depth
2414
2415      return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element));
2416    }
2417
2418    _addAriaAndCollapsedClass(triggerArray, isOpen) {
2419      if (!triggerArray.length) {
2420        return;
2421      }
2422
2423      for (const element of triggerArray) {
2424        element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen);
2425        element.setAttribute('aria-expanded', isOpen);
2426      }
2427    } // Static
2428
2429
2430    static jQueryInterface(config) {
2431      const _config = {};
2432
2433      if (typeof config === 'string' && /show|hide/.test(config)) {
2434        _config.toggle = false;
2435      }
2436
2437      return this.each(function () {
2438        const data = Collapse.getOrCreateInstance(this, _config);
2439
2440        if (typeof config === 'string') {
2441          if (typeof data[config] === 'undefined') {
2442            throw new TypeError(`No method named "${config}"`);
2443          }
2444
2445          data[config]();
2446        }
2447      });
2448    }
2449
2450  }
2451  /**
2452   * Data API implementation
2453   */
2454
2455
2456  EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) {
2457    // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
2458    if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {
2459      event.preventDefault();
2460    }
2461
2462    const selector = getSelectorFromElement(this);
2463    const selectorElements = SelectorEngine.find(selector);
2464
2465    for (const element of selectorElements) {
2466      Collapse.getOrCreateInstance(element, {
2467        toggle: false
2468      }).toggle();
2469    }
2470  });
2471  /**
2472   * jQuery
2473   */
2474
2475  defineJQueryPlugin(Collapse);
2476
2477  var top = 'top';
2478  var bottom = 'bottom';
2479  var right = 'right';
2480  var left = 'left';
2481  var auto = 'auto';
2482  var basePlacements = [top, bottom, right, left];
2483  var start = 'start';
2484  var end = 'end';
2485  var clippingParents = 'clippingParents';
2486  var viewport = 'viewport';
2487  var popper = 'popper';
2488  var reference = 'reference';
2489  var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {
2490    return acc.concat([placement + "-" + start, placement + "-" + end]);
2491  }, []);
2492  var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {
2493    return acc.concat([placement, placement + "-" + start, placement + "-" + end]);
2494  }, []); // modifiers that need to read the DOM
2495
2496  var beforeRead = 'beforeRead';
2497  var read = 'read';
2498  var afterRead = 'afterRead'; // pure-logic modifiers
2499
2500  var beforeMain = 'beforeMain';
2501  var main = 'main';
2502  var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)
2503
2504  var beforeWrite = 'beforeWrite';
2505  var write = 'write';
2506  var afterWrite = 'afterWrite';
2507  var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];
2508
2509  function getNodeName(element) {
2510    return element ? (element.nodeName || '').toLowerCase() : null;
2511  }
2512
2513  function getWindow(node) {
2514    if (node == null) {
2515      return window;
2516    }
2517
2518    if (node.toString() !== '[object Window]') {
2519      var ownerDocument = node.ownerDocument;
2520      return ownerDocument ? ownerDocument.defaultView || window : window;
2521    }
2522
2523    return node;
2524  }
2525
2526  function isElement(node) {
2527    var OwnElement = getWindow(node).Element;
2528    return node instanceof OwnElement || node instanceof Element;
2529  }
2530
2531  function isHTMLElement(node) {
2532    var OwnElement = getWindow(node).HTMLElement;
2533    return node instanceof OwnElement || node instanceof HTMLElement;
2534  }
2535
2536  function isShadowRoot(node) {
2537    // IE 11 has no ShadowRoot
2538    if (typeof ShadowRoot === 'undefined') {
2539      return false;
2540    }
2541
2542    var OwnElement = getWindow(node).ShadowRoot;
2543    return node instanceof OwnElement || node instanceof ShadowRoot;
2544  }
2545
2546  // and applies them to the HTMLElements such as popper and arrow
2547
2548  function applyStyles(_ref) {
2549    var state = _ref.state;
2550    Object.keys(state.elements).forEach(function (name) {
2551      var style = state.styles[name] || {};
2552      var attributes = state.attributes[name] || {};
2553      var element = state.elements[name]; // arrow is optional + virtual elements
2554
2555      if (!isHTMLElement(element) || !getNodeName(element)) {
2556        return;
2557      } // Flow doesn't support to extend this property, but it's the most
2558      // effective way to apply styles to an HTMLElement
2559      // $FlowFixMe[cannot-write]
2560
2561
2562      Object.assign(element.style, style);
2563      Object.keys(attributes).forEach(function (name) {
2564        var value = attributes[name];
2565
2566        if (value === false) {
2567          element.removeAttribute(name);
2568        } else {
2569          element.setAttribute(name, value === true ? '' : value);
2570        }
2571      });
2572    });
2573  }
2574
2575  function effect$2(_ref2) {
2576    var state = _ref2.state;
2577    var initialStyles = {
2578      popper: {
2579        position: state.options.strategy,
2580        left: '0',
2581        top: '0',
2582        margin: '0'
2583      },
2584      arrow: {
2585        position: 'absolute'
2586      },
2587      reference: {}
2588    };
2589    Object.assign(state.elements.popper.style, initialStyles.popper);
2590    state.styles = initialStyles;
2591
2592    if (state.elements.arrow) {
2593      Object.assign(state.elements.arrow.style, initialStyles.arrow);
2594    }
2595
2596    return function () {
2597      Object.keys(state.elements).forEach(function (name) {
2598        var element = state.elements[name];
2599        var attributes = state.attributes[name] || {};
2600        var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them
2601
2602        var style = styleProperties.reduce(function (style, property) {
2603          style[property] = '';
2604          return style;
2605        }, {}); // arrow is optional + virtual elements
2606
2607        if (!isHTMLElement(element) || !getNodeName(element)) {
2608          return;
2609        }
2610
2611        Object.assign(element.style, style);
2612        Object.keys(attributes).forEach(function (attribute) {
2613          element.removeAttribute(attribute);
2614        });
2615      });
2616    };
2617  } // eslint-disable-next-line import/no-unused-modules
2618
2619
2620  const applyStyles$1 = {
2621    name: 'applyStyles',
2622    enabled: true,
2623    phase: 'write',
2624    fn: applyStyles,
2625    effect: effect$2,
2626    requires: ['computeStyles']
2627  };
2628
2629  function getBasePlacement(placement) {
2630    return placement.split('-')[0];
2631  }
2632
2633  var max = Math.max;
2634  var min = Math.min;
2635  var round = Math.round;
2636
2637  function getUAString() {
2638    var uaData = navigator.userAgentData;
2639
2640    if (uaData != null && uaData.brands
vendor: 9,607 bytes, lines 2640-2927
2640) {
2641      return uaData.brands.map(function (item) {
2642        return item.brand + "/" + item.version;
2643      }).join(' ');
2644    }
2645
2646    return navigator.userAgent;
2647  }
2648
2649  function isLayoutViewport() {
2650    return !/^((?!chrome|android).)*safari/i.test(getUAString());
2651  }
2652
2653  function getBoundingClientRect(element, includeScale, isFixedStrategy) {
2654    if (includeScale === void 0) {
2655      includeScale = false;
2656    }
2657
2658    if (isFixedStrategy === void 0) {
2659      isFixedStrategy = false;
2660    }
2661
2662    var clientRect = element.getBoundingClientRect();
2663    var scaleX = 1;
2664    var scaleY = 1;
2665
2666    if (includeScale && isHTMLElement(element)) {
2667      scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;
2668      scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;
2669    }
2670
2671    var _ref = isElement(element) ? getWindow(element) : window,
2672        visualViewport = _ref.visualViewport;
2673
2674    var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;
2675    var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;
2676    var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;
2677    var width = clientRect.width / scaleX;
2678    var height = clientRect.height / scaleY;
2679    return {
2680      width: width,
2681      height: height,
2682      top: y,
2683      right: x + width,
2684      bottom: y + height,
2685      left: x,
2686      x: x,
2687      y: y
2688    };
2689  }
2690
2691  // means it doesn't take into account transforms.
2692
2693  function getLayoutRect(element) {
2694    var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.
2695    // Fixes https://github.com/popperjs/popper-core/issues/1223
2696
2697    var width = element.offsetWidth;
2698    var height = element.offsetHeight;
2699
2700    if (Math.abs(clientRect.width - width) <= 1) {
2701      width = clientRect.width;
2702    }
2703
2704    if (Math.abs(clientRect.height - height) <= 1) {
2705      height = clientRect.height;
2706    }
2707
2708    return {
2709      x: element.offsetLeft,
2710      y: element.offsetTop,
2711      width: width,
2712      height: height
2713    };
2714  }
2715
2716  function contains(parent, child) {
2717    var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method
2718
2719    if (parent.contains(child)) {
2720      return true;
2721    } // then fallback to custom implementation with Shadow DOM support
2722    else if (rootNode && isShadowRoot(rootNode)) {
2723        var next = child;
2724
2725        do {
2726          if (next && parent.isSameNode(next)) {
2727            return true;
2728          } // $FlowFixMe[prop-missing]: need a better way to handle this...
2729
2730
2731          next = next.parentNode || next.host;
2732        } while (next);
2733      } // Give up, the result is false
2734
2735
2736    return false;
2737  }
2738
2739  function getComputedStyle$1(element) {
2740    return getWindow(element).getComputedStyle(element);
2741  }
2742
2743  function isTableElement(element) {
2744    return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;
2745  }
2746
2747  function getDocumentElement(element) {
2748    // $FlowFixMe[incompatible-return]: assume body is always available
2749    return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]
2750    element.document) || window.document).documentElement;
2751  }
2752
2753  function getParentNode(element) {
2754    if (getNodeName(element) === 'html') {
2755      return element;
2756    }
2757
2758    return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle
2759      // $FlowFixMe[incompatible-return]
2760      // $FlowFixMe[prop-missing]
2761      element.assignedSlot || // step into the shadow DOM of the parent of a slotted node
2762      element.parentNode || ( // DOM Element detected
2763      isShadowRoot(element) ? element.host : null) || // ShadowRoot detected
2764      // $FlowFixMe[incompatible-call]: HTMLElement is a Node
2765      getDocumentElement(element) // fallback
2766
2767    );
2768  }
2769
2770  function getTrueOffsetParent(element) {
2771    if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837
2772    getComputedStyle$1(element).position === 'fixed') {
2773      return null;
2774    }
2775
2776    return element.offsetParent;
2777  } // `.offsetParent` reports `null` for fixed elements, while absolute elements
2778  // return the containing block
2779
2780
2781  function getContainingBlock(element) {
2782    var isFirefox = /firefox/i.test(getUAString());
2783    var isIE = /Trident/i.test(getUAString());
2784
2785    if (isIE && isHTMLElement(element)) {
2786      // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport
2787      var elementCss = getComputedStyle$1(element);
2788
2789      if (elementCss.position === 'fixed') {
2790        return null;
2791      }
2792    }
2793
2794    var currentNode = getParentNode(element);
2795
2796    if (isShadowRoot(currentNode)) {
2797      currentNode = currentNode.host;
2798    }
2799
2800    while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {
2801      var css = getComputedStyle$1(currentNode); // This is non-exhaustive but covers the most common CSS properties that
2802      // create a containing block.
2803      // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
2804
2805      if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {
2806        return currentNode;
2807      } else {
2808        currentNode = currentNode.parentNode;
2809      }
2810    }
2811
2812    return null;
2813  } // Gets the closest ancestor positioned element. Handles some edge cases,
2814  // such as table ancestors and cross browser bugs.
2815
2816
2817  function getOffsetParent(element) {
2818    var window = getWindow(element);
2819    var offsetParent = getTrueOffsetParent(element);
2820
2821    while (offsetParent && isTableElement(offsetParent) && getComputedStyle$1(offsetParent).position === 'static') {
2822      offsetParent = getTrueOffsetParent(offsetParent);
2823    }
2824
2825    if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle$1(offsetParent).position === 'static')) {
2826      return window;
2827    }
2828
2829    return offsetParent || getContainingBlock(element) || window;
2830  }
2831
2832  function getMainAxisFromPlacement(placement) {
2833    return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';
2834  }
2835
2836  function within(min$1, value, max$1) {
2837    return max(min$1, min(value, max$1));
2838  }
2839  function withinMaxClamp(min, value, max) {
2840    var v = within(min, value, max);
2841    return v > max ? max : v;
2842  }
2843
2844  function getFreshSideObject() {
2845    return {
2846      top: 0,
2847      right: 0,
2848      bottom: 0,
2849      left: 0
2850    };
2851  }
2852
2853  function mergePaddingObject(paddingObject) {
2854    return Object.assign({}, getFreshSideObject(), paddingObject);
2855  }
2856
2857  function expandToHashMap(value, keys) {
2858    return keys.reduce(function (hashMap, key) {
2859      hashMap[key] = value;
2860      return hashMap;
2861    }, {});
2862  }
2863
2864  var toPaddingObject = function toPaddingObject(padding, state) {
2865    padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {
2866      placement: state.placement
2867    })) : padding;
2868    return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));
2869  };
2870
2871  function arrow(_ref) {
2872    var _state$modifiersData$;
2873
2874    var state = _ref.state,
2875        name = _ref.name,
2876        options = _ref.options;
2877    var arrowElement = state.elements.arrow;
2878    var popperOffsets = state.modifiersData.popperOffsets;
2879    var basePlacement = getBasePlacement(state.placement);
2880    var axis = getMainAxisFromPlacement(basePlacement);
2881    var isVertical = [left, right].indexOf(basePlacement) >= 0;
2882    var len = isVertical ? 'height' : 'width';
2883
2884    if (!arrowElement || !popperOffsets) {
2885      return;
2886    }
2887
2888    var paddingObject = toPaddingObject(options.padding, state);
2889    var arrowRect = getLayoutRect(arrowElement);
2890    var minProp = axis === 'y' ? top : left;
2891    var maxProp = axis === 'y' ? bottom : right;
2892    var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];
2893    var startDiff = popperOffsets[axis] - state.rects.reference[axis];
2894    var arrowOffsetParent = getOffsetParent(arrowElement);
2895    var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;
2896    var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is
2897    // outside of the popper bounds
2898
2899    var min = paddingObject[minProp];
2900    var max = clientSize - arrowRect[len] - paddingObject[maxProp];
2901    var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;
2902    var offset = within(min, center, max); // Prevents breaking syntax highlighting...
2903
2904    var axisProp = axis;
2905    state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);
2906  }
2907
2908  function effect$1(_ref2) {
2909    var state = _ref2.state,
2910        options = _ref2.options;
2911    var _options$element = options.element,
2912        arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;
2913
2914    if (arrowElement == null) {
2915      return;
2916    } // CSS selector
2917
2918
2919    if (typeof arrowElement === 'string') {
2920      arrowElement = state.elements.popper.querySelector(arrowElement);
2921
2922      if (!arrowElement) {
2923        return;
2924      }
2925    }
2926
2927    if (!contains(state.elements.popper, arrowElement)) {
vendor: 1,969 bytes, lines 2928-3006
2928
2929      return;
2930    }
2931
2932    state.elements.arrow = arrowElement;
2933  } // eslint-disable-next-line import/no-unused-modules
2934
2935
2936  const arrow$1 = {
2937    name: 'arrow',
2938    enabled: true,
2939    phase: 'main',
2940    fn: arrow,
2941    effect: effect$1,
2942    requires: ['popperOffsets'],
2943    requiresIfExists: ['preventOverflow']
2944  };
2945
2946  function getVariation(placement) {
2947    return placement.split('-')[1];
2948  }
2949
2950  var unsetSides = {
2951    top: 'auto',
2952    right: 'auto',
2953    bottom: 'auto',
2954    left: 'auto'
2955  }; // Round the offsets to the nearest suitable subpixel based on the DPR.
2956  // Zooming can change the DPR, but it seems to report a value that will
2957  // cleanly divide the values into the appropriate subpixels.
2958
2959  function roundOffsetsByDPR(_ref) {
2960    var x = _ref.x,
2961        y = _ref.y;
2962    var win = window;
2963    var dpr = win.devicePixelRatio || 1;
2964    return {
2965      x: round(x * dpr) / dpr || 0,
2966      y: round(y * dpr) / dpr || 0
2967    };
2968  }
2969
2970  function mapToStyles(_ref2) {
2971    var _Object$assign2;
2972
2973    var popper = _ref2.popper,
2974        popperRect = _ref2.popperRect,
2975        placement = _ref2.placement,
2976        variation = _ref2.variation,
2977        offsets = _ref2.offsets,
2978        position = _ref2.position,
2979        gpuAcceleration = _ref2.gpuAcceleration,
2980        adaptive = _ref2.adaptive,
2981        roundOffsets = _ref2.roundOffsets,
2982        isFixed = _ref2.isFixed;
2983    var _offsets$x = offsets.x,
2984        x = _offsets$x === void 0 ? 0 : _offsets$x,
2985        _offsets$y = offsets.y,
2986        y = _offsets$y === void 0 ? 0 : _offsets$y;
2987
2988    var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({
2989      x: x,
2990      y: y
2991    }) : {
2992      x: x,
2993      y: y
2994    };
2995
2996    x = _ref3.x;
2997    y = _ref3.y;
2998    var hasX = offsets.hasOwnProperty('x');
2999    var hasY = offsets.hasOwnProperty('y');
3000    var sideX = left;
3001    var sideY = top;
3002    var win = window;
3003
3004    if (adaptive) {
3005      var offsetParent = getOffsetParent(popper);
3006      var heightProp = 'clientHeight';
vendor: 2,614 bytes, lines 3007-3070
3007      var widthProp = 'clientWidth';
3008
3009      if (offsetParent === getWindow(popper)) {
3010        offsetParent = getDocumentElement(popper);
3011
3012        if (getComputedStyle$1(offsetParent).position !== 'static' && position === 'absolute') {
3013          heightProp = 'scrollHeight';
3014          widthProp = 'scrollWidth';
3015        }
3016      } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it
3017
3018
3019      offsetParent = offsetParent;
3020
3021      if (placement === top || (placement === left || placement === right) && variation === end) {
3022        sideY = bottom;
3023        var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]
3024        offsetParent[heightProp];
3025        y -= offsetY - popperRect.height;
3026        y *= gpuAcceleration ? 1 : -1;
3027      }
3028
3029      if (placement === left || (placement === top || placement === bottom) && variation === end) {
3030        sideX = right;
3031        var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]
3032        offsetParent[widthProp];
3033        x -= offsetX - popperRect.width;
3034        x *= gpuAcceleration ? 1 : -1;
3035      }
3036    }
3037
3038    var commonStyles = Object.assign({
3039      position: position
3040    }, adaptive && unsetSides);
3041
3042    var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
3043      x: x,
3044      y: y
3045    }) : {
3046      x: x,
3047      y: y
3048    };
3049
3050    x = _ref4.x;
3051    y = _ref4.y;
3052
3053    if (gpuAcceleration) {
3054      var _Object$assign;
3055
3056      return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign));
3057    }
3058
3059    return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2));
3060  }
3061
3062  function computeStyles(_ref5) {
3063    var state = _ref5.state,
3064        options = _ref5.options;
3065    var _options$gpuAccelerat = options.gpuAcceleration,
3066        gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,
3067        _options$adaptive = options.adaptive,
3068        adaptive = _options$adaptive === void 0 ? true : _options$adaptive,
3069        _options$roundOffsets = options.roundOffsets,
3070        roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;
vendor: 37,725 bytes, lines 3071-4139
3071
3072    var commonStyles = {
3073      placement: getBasePlacement(state.placement),
3074      variation: getVariation(state.placement),
3075      popper: state.elements.popper,
3076      popperRect: state.rects.popper,
3077      gpuAcceleration: gpuAcceleration,
3078      isFixed: state.options.strategy === 'fixed'
3079    };
3080
3081    if (state.modifiersData.popperOffsets != null) {
3082      state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {
3083        offsets: state.modifiersData.popperOffsets,
3084        position: state.options.strategy,
3085        adaptive: adaptive,
3086        roundOffsets: roundOffsets
3087      })));
3088    }
3089
3090    if (state.modifiersData.arrow != null) {
3091      state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {
3092        offsets: state.modifiersData.arrow,
3093        position: 'absolute',
3094        adaptive: false,
3095        roundOffsets: roundOffsets
3096      })));
3097    }
3098
3099    state.attributes.popper = Object.assign({}, state.attributes.popper, {
3100      'data-popper-placement': state.placement
3101    });
3102  } // eslint-disable-next-line import/no-unused-modules
3103
3104
3105  const computeStyles$1 = {
3106    name: 'computeStyles',
3107    enabled: true,
3108    phase: 'beforeWrite',
3109    fn: computeStyles,
3110    data: {}
3111  };
3112
3113  var passive = {
3114    passive: true
3115  };
3116
3117  function effect(_ref) {
3118    var state = _ref.state,
3119        instance = _ref.instance,
3120        options = _ref.options;
3121    var _options$scroll = options.scroll,
3122        scroll = _options$scroll === void 0 ? true : _options$scroll,
3123        _options$resize = options.resize,
3124        resize = _options$resize === void 0 ? true : _options$resize;
3125    var window = getWindow(state.elements.popper);
3126    var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);
3127
3128    if (scroll) {
3129      scrollParents.forEach(function (scrollParent) {
3130        scrollParent.addEventListener('scroll', instance.update, passive);
3131      });
3132    }
3133
3134    if (resize) {
3135      window.addEventListener('resize', instance.update, passive);
3136    }
3137
3138    return function () {
3139      if (scroll) {
3140        scrollParents.forEach(function (scrollParent) {
3141          scrollParent.removeEventListener('scroll', instance.update, passive);
3142        });
3143      }
3144
3145      if (resize) {
3146        window.removeEventListener('resize', instance.update, passive);
3147      }
3148    };
3149  } // eslint-disable-next-line import/no-unused-modules
3150
3151
3152  const eventListeners = {
3153    name: 'eventListeners',
3154    enabled: true,
3155    phase: 'write',
3156    fn: function fn() {},
3157    effect: effect,
3158    data: {}
3159  };
3160
3161  var hash$1 = {
3162    left: 'right',
3163    right: 'left',
3164    bottom: 'top',
3165    top: 'bottom'
3166  };
3167  function getOppositePlacement(placement) {
3168    return placement.replace(/left|right|bottom|top/g, function (matched) {
3169      return hash$1[matched];
3170    });
3171  }
3172
3173  var hash = {
3174    start: 'end',
3175    end: 'start'
3176  };
3177  function getOppositeVariationPlacement(placement) {
3178    return placement.replace(/start|end/g, function (matched) {
3179      return hash[matched];
3180    });
3181  }
3182
3183  function getWindowScroll(node) {
3184    var win = getWindow(node);
3185    var scrollLeft = win.pageXOffset;
3186    var scrollTop = win.pageYOffset;
3187    return {
3188      scrollLeft: scrollLeft,
3189      scrollTop: scrollTop
3190    };
3191  }
3192
3193  function getWindowScrollBarX(element) {
3194    // If <html> has a CSS width greater than the viewport, then this will be
3195    // incorrect for RTL.
3196    // Popper 1 is broken in this case and never had a bug report so let's assume
3197    // it's not an issue. I don't think anyone ever specifies width on <html>
3198    // anyway.
3199    // Browsers where the left scrollbar doesn't cause an issue report `0` for
3200    // this (e.g. Edge 2019, IE11, Safari)
3201    return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;
3202  }
3203
3204  function getViewportRect(element, strategy) {
3205    var win = getWindow(element);
3206    var html = getDocumentElement(element);
3207    var visualViewport = win.visualViewport;
3208    var width = html.clientWidth;
3209    var height = html.clientHeight;
3210    var x = 0;
3211    var y = 0;
3212
3213    if (visualViewport) {
3214      width = visualViewport.width;
3215      height = visualViewport.height;
3216      var layoutViewport = isLayoutViewport();
3217
3218      if (layoutViewport || !layoutViewport && strategy === 'fixed') {
3219        x = visualViewport.offsetLeft;
3220        y = visualViewport.offsetTop;
3221      }
3222    }
3223
3224    return {
3225      width: width,
3226      height: height,
3227      x: x + getWindowScrollBarX(element),
3228      y: y
3229    };
3230  }
3231
3232  // of the `<html>` and `<body>` rect bounds if horizontally scrollable
3233
3234  function getDocumentRect(element) {
3235    var _element$ownerDocumen;
3236
3237    var html = getDocumentElement(element);
3238    var winScroll = getWindowScroll(element);
3239    var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;
3240    var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);
3241    var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);
3242    var x = -winScroll.scrollLeft + getWindowScrollBarX(element);
3243    var y = -winScroll.scrollTop;
3244
3245    if (getComputedStyle$1(body || html).direction === 'rtl') {
3246      x += max(html.clientWidth, body ? body.clientWidth : 0) - width;
3247    }
3248
3249    return {
3250      width: width,
3251      height: height,
3252      x: x,
3253      y: y
3254    };
3255  }
3256
3257  function isScrollParent(element) {
3258    // Firefox wants us to check `-x` and `-y` variations as well
3259    var _getComputedStyle = getComputedStyle$1(element),
3260        overflow = _getComputedStyle.overflow,
3261        overflowX = _getComputedStyle.overflowX,
3262        overflowY = _getComputedStyle.overflowY;
3263
3264    return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);
3265  }
3266
3267  function getScrollParent(node) {
3268    if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {
3269      // $FlowFixMe[incompatible-return]: assume body is always available
3270      return node.ownerDocument.body;
3271    }
3272
3273    if (isHTMLElement(node) && isScrollParent(node)) {
3274      return node;
3275    }
3276
3277    return getScrollParent(getParentNode(node));
3278  }
3279
3280  /*
3281  given a DOM element, return the list of all scroll parents, up the list of ancesors
3282  until we get to the top window object. This list is what we attach scroll listeners
3283  to, because if any of these parent elements scroll, we'll need to re-calculate the
3284  reference element's position.
3285  */
3286
3287  function listScrollParents(element, list) {
3288    var _element$ownerDocumen;
3289
3290    if (list === void 0) {
3291      list = [];
3292    }
3293
3294    var scrollParent = getScrollParent(element);
3295    var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);
3296    var win = getWindow(scrollParent);
3297    var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;
3298    var updatedList = list.concat(target);
3299    return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here
3300    updatedList.concat(listScrollParents(getParentNode(target)));
3301  }
3302
3303  function rectToClientRect(rect) {
3304    return Object.assign({}, rect, {
3305      left: rect.x,
3306      top: rect.y,
3307      right: rect.x + rect.width,
3308      bottom: rect.y + rect.height
3309    });
3310  }
3311
3312  function getInnerBoundingClientRect(element, strategy) {
3313    var rect = getBoundingClientRect(element, false, strategy === 'fixed');
3314    rect.top = rect.top + element.clientTop;
3315    rect.left = rect.left + element.clientLeft;
3316    rect.bottom = rect.top + element.clientHeight;
3317    rect.right = rect.left + element.clientWidth;
3318    rect.width = element.clientWidth;
3319    rect.height = element.clientHeight;
3320    rect.x = rect.left;
3321    rect.y = rect.top;
3322    return rect;
3323  }
3324
3325  function getClientRectFromMixedType(element, clippingParent, strategy) {
3326    return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
3327  } // A "clipping parent" is an overflowable container with the characteristic of
3328  // clipping (or hiding) overflowing elements with a position different from
3329  // `initial`
3330
3331
3332  function getClippingParents(element) {
3333    var clippingParents = listScrollParents(getParentNode(element));
3334    var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle$1(element).position) >= 0;
3335    var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;
3336
3337    if (!isElement(clipperElement)) {
3338      return [];
3339    } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414
3340
3341
3342    return clippingParents.filter(function (clippingParent) {
3343      return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';
3344    });
3345  } // Gets the maximum area that the element is visible in due to any number of
3346  // clipping parents
3347
3348
3349  function getClippingRect(element, boundary, rootBoundary, strategy) {
3350    var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);
3351    var clippingParents = [].concat(mainClippingParents, [rootBoundary]);
3352    var firstClippingParent = clippingParents[0];
3353    var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {
3354      var rect = getClientRectFromMixedType(element, clippingParent, strategy);
3355      accRect.top = max(rect.top, accRect.top);
3356      accRect.right = min(rect.right, accRect.right);
3357      accRect.bottom = min(rect.bottom, accRect.bottom);
3358      accRect.left = max(rect.left, accRect.left);
3359      return accRect;
3360    }, getClientRectFromMixedType(element, firstClippingParent, strategy));
3361    clippingRect.width = clippingRect.right - clippingRect.left;
3362    clippingRect.height = clippingRect.bottom - clippingRect.top;
3363    clippingRect.x = clippingRect.left;
3364    clippingRect.y = clippingRect.top;
3365    return clippingRect;
3366  }
3367
3368  function computeOffsets(_ref) {
3369    var reference = _ref.reference,
3370        element = _ref.element,
3371        placement = _ref.placement;
3372    var basePlacement = placement ? getBasePlacement(placement) : null;
3373    var variation = placement ? getVariation(placement) : null;
3374    var commonX = reference.x + reference.width / 2 - element.width / 2;
3375    var commonY = reference.y + reference.height / 2 - element.height / 2;
3376    var offsets;
3377
3378    switch (basePlacement) {
3379      case top:
3380        offsets = {
3381          x: commonX,
3382          y: reference.y - element.height
3383        };
3384        break;
3385
3386      case bottom:
3387        offsets = {
3388          x: commonX,
3389          y: reference.y + reference.height
3390        };
3391        break;
3392
3393      case right:
3394        offsets = {
3395          x: reference.x + reference.width,
3396          y: commonY
3397        };
3398        break;
3399
3400      case left:
3401        offsets = {
3402          x: reference.x - element.width,
3403          y: commonY
3404        };
3405        break;
3406
3407      default:
3408        offsets = {
3409          x: reference.x,
3410          y: reference.y
3411        };
3412    }
3413
3414    var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;
3415
3416    if (mainAxis != null) {
3417      var len = mainAxis === 'y' ? 'height' : 'width';
3418
3419      switch (variation) {
3420        case start:
3421          offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);
3422          break;
3423
3424        case end:
3425          offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);
3426          break;
3427      }
3428    }
3429
3430    return offsets;
3431  }
3432
3433  function detectOverflow(state, options) {
3434    if (options === void 0) {
3435      options = {};
3436    }
3437
3438    var _options = options,
3439        _options$placement = _options.placement,
3440        placement = _options$placement === void 0 ? state.placement : _options$placement,
3441        _options$strategy = _options.strategy,
3442        strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,
3443        _options$boundary = _options.boundary,
3444        boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,
3445        _options$rootBoundary = _options.rootBoundary,
3446        rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,
3447        _options$elementConte = _options.elementContext,
3448        elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,
3449        _options$altBoundary = _options.altBoundary,
3450        altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,
3451        _options$padding = _options.padding,
3452        padding = _options$padding === void 0 ? 0 : _options$padding;
3453    var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));
3454    var altContext = elementContext === popper ? reference : popper;
3455    var popperRect = state.rects.popper;
3456    var element = state.elements[altBoundary ? altContext : elementContext];
3457    var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);
3458    var referenceClientRect = getBoundingClientRect(state.elements.reference);
3459    var popperOffsets = computeOffsets({
3460      reference: referenceClientRect,
3461      element: popperRect,
3462      strategy: 'absolute',
3463      placement: placement
3464    });
3465    var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));
3466    var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect
3467    // 0 or negative = within the clipping rect
3468
3469    var overflowOffsets = {
3470      top: clippingClientRect.top - elementClientRect.top + paddingObject.top,
3471      bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,
3472      left: clippingClientRect.left - elementClientRect.left + paddingObject.left,
3473      right: elementClientRect.right - clippingClientRect.right + paddingObject.right
3474    };
3475    var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element
3476
3477    if (elementContext === popper && offsetData) {
3478      var offset = offsetData[placement];
3479      Object.keys(overflowOffsets).forEach(function (key) {
3480        var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;
3481        var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';
3482        overflowOffsets[key] += offset[axis] * multiply;
3483      });
3484    }
3485
3486    return overflowOffsets;
3487  }
3488
3489  function computeAutoPlacement(state, options) {
3490    if (options === void 0) {
3491      options = {};
3492    }
3493
3494    var _options = options,
3495        placement = _options.placement,
3496        boundary = _options.boundary,
3497        rootBoundary = _options.rootBoundary,
3498        padding = _options.padding,
3499        flipVariations = _options.flipVariations,
3500        _options$allowedAutoP = _options.allowedAutoPlacements,
3501        allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP;
3502    var variation = getVariation(placement);
3503    var placements$1 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {
3504      return getVariation(placement) === variation;
3505    }) : basePlacements;
3506    var allowedPlacements = placements$1.filter(function (placement) {
3507      return allowedAutoPlacements.indexOf(placement) >= 0;
3508    });
3509
3510    if (allowedPlacements.length === 0) {
3511      allowedPlacements = placements$1;
3512    } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...
3513
3514
3515    var overflows = allowedPlacements.reduce(function (acc, placement) {
3516      acc[placement] = detectOverflow(state, {
3517        placement: placement,
3518        boundary: boundary,
3519        rootBoundary: rootBoundary,
3520        padding: padding
3521      })[getBasePlacement(placement)];
3522      return acc;
3523    }, {});
3524    return Object.keys(overflows).sort(function (a, b) {
3525      return overflows[a] - overflows[b];
3526    });
3527  }
3528
3529  function getExpandedFallbackPlacements(placement) {
3530    if (getBasePlacement(placement) === auto) {
3531      return [];
3532    }
3533
3534    var oppositePlacement = getOppositePlacement(placement);
3535    return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];
3536  }
3537
3538  function flip(_ref) {
3539    var state = _ref.state,
3540        options = _ref.options,
3541        name = _ref.name;
3542
3543    if (state.modifiersData[name]._skip) {
3544      return;
3545    }
3546
3547    var _options$mainAxis = options.mainAxis,
3548        checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,
3549        _options$altAxis = options.altAxis,
3550        checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,
3551        specifiedFallbackPlacements = options.fallbackPlacements,
3552        padding = options.padding,
3553        boundary = options.boundary,
3554        rootBoundary = options.rootBoundary,
3555        altBoundary = options.altBoundary,
3556        _options$flipVariatio = options.flipVariations,
3557        flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,
3558        allowedAutoPlacements = options.allowedAutoPlacements;
3559    var preferredPlacement = state.options.placement;
3560    var basePlacement = getBasePlacement(preferredPlacement);
3561    var isBasePlacement = basePlacement === preferredPlacement;
3562    var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));
3563    var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {
3564      return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {
3565        placement: placement,
3566        boundary: boundary,
3567        rootBoundary: rootBoundary,
3568        padding: padding,
3569        flipVariations: flipVariations,
3570        allowedAutoPlacements: allowedAutoPlacements
3571      }) : placement);
3572    }, []);
3573    var referenceRect = state.rects.reference;
3574    var popperRect = state.rects.popper;
3575    var checksMap = new Map();
3576    var makeFallbackChecks = true;
3577    var firstFittingPlacement = placements[0];
3578
3579    for (var i = 0; i < placements.length; i++) {
3580      var placement = placements[i];
3581
3582      var _basePlacement = getBasePlacement(placement);
3583
3584      var isStartVariation = getVariation(placement) === start;
3585      var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;
3586      var len = isVertical ? 'width' : 'height';
3587      var overflow = detectOverflow(state, {
3588        placement: placement,
3589        boundary: boundary,
3590        rootBoundary: rootBoundary,
3591        altBoundary: altBoundary,
3592        padding: padding
3593      });
3594      var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;
3595
3596      if (referenceRect[len] > popperRect[len]) {
3597        mainVariationSide = getOppositePlacement(mainVariationSide);
3598      }
3599
3600      var altVariationSide = getOppositePlacement(mainVariationSide);
3601      var checks = [];
3602
3603      if (checkMainAxis) {
3604        checks.push(overflow[_basePlacement] <= 0);
3605      }
3606
3607      if (checkAltAxis) {
3608        checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);
3609      }
3610
3611      if (checks.every(function (check) {
3612        return check;
3613      })) {
3614        firstFittingPlacement = placement;
3615        makeFallbackChecks = false;
3616        break;
3617      }
3618
3619      checksMap.set(placement, checks);
3620    }
3621
3622    if (makeFallbackChecks) {
3623      // `2` may be desired in some cases – research later
3624      var numberOfChecks = flipVariations ? 3 : 1;
3625
3626      var _loop = function _loop(_i) {
3627        var fittingPlacement = placements.find(function (placement) {
3628          var checks = checksMap.get(placement);
3629
3630          if (checks) {
3631            return checks.slice(0, _i).every(function (check) {
3632              return check;
3633            });
3634          }
3635        });
3636
3637        if (fittingPlacement) {
3638          firstFittingPlacement = fittingPlacement;
3639          return "break";
3640        }
3641      };
3642
3643      for (var _i = numberOfChecks; _i > 0; _i--) {
3644        var _ret = _loop(_i);
3645
3646        if (_ret === "break") break;
3647      }
3648    }
3649
3650    if (state.placement !== firstFittingPlacement) {
3651      state.modifiersData[name]._skip = true;
3652      state.placement = firstFittingPlacement;
3653      state.reset = true;
3654    }
3655  } // eslint-disable-next-line import/no-unused-modules
3656
3657
3658  const flip$1 = {
3659    name: 'flip',
3660    enabled: true,
3661    phase: 'main',
3662    fn: flip,
3663    requiresIfExists: ['offset'],
3664    data: {
3665      _skip: false
3666    }
3667  };
3668
3669  function getSideOffsets(overflow, rect, preventedOffsets) {
3670    if (preventedOffsets === void 0) {
3671      preventedOffsets = {
3672        x: 0,
3673        y: 0
3674      };
3675    }
3676
3677    return {
3678      top: overflow.top - rect.height - preventedOffsets.y,
3679      right: overflow.right - rect.width + preventedOffsets.x,
3680      bottom: overflow.bottom - rect.height + preventedOffsets.y,
3681      left: overflow.left - rect.width - preventedOffsets.x
3682    };
3683  }
3684
3685  function isAnySideFullyClipped(overflow) {
3686    return [top, right, bottom, left].some(function (side) {
3687      return overflow[side] >= 0;
3688    });
3689  }
3690
3691  function hide(_ref) {
3692    var state = _ref.state,
3693        name = _ref.name;
3694    var referenceRect = state.rects.reference;
3695    var popperRect = state.rects.popper;
3696    var preventedOffsets = state.modifiersData.preventOverflow;
3697    var referenceOverflow = detectOverflow(state, {
3698      elementContext: 'reference'
3699    });
3700    var popperAltOverflow = detectOverflow(state, {
3701      altBoundary: true
3702    });
3703    var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);
3704    var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);
3705    var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);
3706    var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);
3707    state.modifiersData[name] = {
3708      referenceClippingOffsets: referenceClippingOffsets,
3709      popperEscapeOffsets: popperEscapeOffsets,
3710      isReferenceHidden: isReferenceHidden,
3711      hasPopperEscaped: hasPopperEscaped
3712    };
3713    state.attributes.popper = Object.assign({}, state.attributes.popper, {
3714      'data-popper-reference-hidden': isReferenceHidden,
3715      'data-popper-escaped': hasPopperEscaped
3716    });
3717  } // eslint-disable-next-line import/no-unused-modules
3718
3719
3720  const hide$1 = {
3721    name: 'hide',
3722    enabled: true,
3723    phase: 'main',
3724    requiresIfExists: ['preventOverflow'],
3725    fn: hide
3726  };
3727
3728  function distanceAndSkiddingToXY(placement, rects, offset) {
3729    var basePlacement = getBasePlacement(placement);
3730    var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;
3731
3732    var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {
3733      placement: placement
3734    })) : offset,
3735        skidding = _ref[0],
3736        distance = _ref[1];
3737
3738    skidding = skidding || 0;
3739    distance = (distance || 0) * invertDistance;
3740    return [left, right].indexOf(basePlacement) >= 0 ? {
3741      x: distance,
3742      y: skidding
3743    } : {
3744      x: skidding,
3745      y: distance
3746    };
3747  }
3748
3749  function offset(_ref2) {
3750    var state = _ref2.state,
3751        options = _ref2.options,
3752        name = _ref2.name;
3753    var _options$offset = options.offset,
3754        offset = _options$offset === void 0 ? [0, 0] : _options$offset;
3755    var data = placements.reduce(function (acc, placement) {
3756      acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);
3757      return acc;
3758    }, {});
3759    var _data$state$placement = data[state.placement],
3760        x = _data$state$placement.x,
3761        y = _data$state$placement.y;
3762
3763    if (state.modifiersData.popperOffsets != null) {
3764      state.modifiersData.popperOffsets.x += x;
3765      state.modifiersData.popperOffsets.y += y;
3766    }
3767
3768    state.modifiersData[name] = data;
3769  } // eslint-disable-next-line import/no-unused-modules
3770
3771
3772  const offset$1 = {
3773    name: 'offset',
3774    enabled: true,
3775    phase: 'main',
3776    requires: ['popperOffsets'],
3777    fn: offset
3778  };
3779
3780  function popperOffsets(_ref) {
3781    var state = _ref.state,
3782        name = _ref.name;
3783    // Offsets are the actual position the popper needs to have to be
3784    // properly positioned near its reference element
3785    // This is the most basic placement, and will be adjusted by
3786    // the modifiers in the next step
3787    state.modifiersData[name] = computeOffsets({
3788      reference: state.rects.reference,
3789      element: state.rects.popper,
3790      strategy: 'absolute',
3791      placement: state.placement
3792    });
3793  } // eslint-disable-next-line import/no-unused-modules
3794
3795
3796  const popperOffsets$1 = {
3797    name: 'popperOffsets',
3798    enabled: true,
3799    phase: 'read',
3800    fn: popperOffsets,
3801    data: {}
3802  };
3803
3804  function getAltAxis(axis) {
3805    return axis === 'x' ? 'y' : 'x';
3806  }
3807
3808  function preventOverflow(_ref) {
3809    var state = _ref.state,
3810        options = _ref.options,
3811        name = _ref.name;
3812    var _options$mainAxis = options.mainAxis,
3813        checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,
3814        _options$altAxis = options.altAxis,
3815        checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,
3816        boundary = options.boundary,
3817        rootBoundary = options.rootBoundary,
3818        altBoundary = options.altBoundary,
3819        padding = options.padding,
3820        _options$tether = options.tether,
3821        tether = _options$tether === void 0 ? true : _options$tether,
3822        _options$tetherOffset = options.tetherOffset,
3823        tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;
3824    var overflow = detectOverflow(state, {
3825      boundary: boundary,
3826      rootBoundary: rootBoundary,
3827      padding: padding,
3828      altBoundary: altBoundary
3829    });
3830    var basePlacement = getBasePlacement(state.placement);
3831    var variation = getVariation(state.placement);
3832    var isBasePlacement = !variation;
3833    var mainAxis = getMainAxisFromPlacement(basePlacement);
3834    var altAxis = getAltAxis(mainAxis);
3835    var popperOffsets = state.modifiersData.popperOffsets;
3836    var referenceRect = state.rects.reference;
3837    var popperRect = state.rects.popper;
3838    var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {
3839      placement: state.placement
3840    })) : tetherOffset;
3841    var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {
3842      mainAxis: tetherOffsetValue,
3843      altAxis: tetherOffsetValue
3844    } : Object.assign({
3845      mainAxis: 0,
3846      altAxis: 0
3847    }, tetherOffsetValue);
3848    var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;
3849    var data = {
3850      x: 0,
3851      y: 0
3852    };
3853
3854    if (!popperOffsets) {
3855      return;
3856    }
3857
3858    if (checkMainAxis) {
3859      var _offsetModifierState$;
3860
3861      var mainSide = mainAxis === 'y' ? top : left;
3862      var altSide = mainAxis === 'y' ? bottom : right;
3863      var len = mainAxis === 'y' ? 'height' : 'width';
3864      var offset = popperOffsets[mainAxis];
3865      var min$1 = offset + overflow[mainSide];
3866      var max$1 = offset - overflow[altSide];
3867      var additive = tether ? -popperRect[len] / 2 : 0;
3868      var minLen = variation === start ? referenceRect[len] : popperRect[len];
3869      var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go
3870      // outside the reference bounds
3871
3872      var arrowElement = state.elements.arrow;
3873      var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {
3874        width: 0,
3875        height: 0
3876      };
3877      var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();
3878      var arrowPaddingMin = arrowPaddingObject[mainSide];
3879      var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want
3880      // to include its full size in the calculation. If the reference is small
3881      // and near the edge of a boundary, the popper can overflow even if the
3882      // reference is not overflowing as well (e.g. virtual elements with no
3883      // width or height)
3884
3885      var arrowLen = within(0, referenceRect[len], arrowRect[len]);
3886      var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;
3887      var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;
3888      var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);
3889      var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;
3890      var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;
3891      var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;
3892      var tetherMax = offset + maxOffset - offsetModifierValue;
3893      var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1);
3894      popperOffsets[mainAxis] = preventedOffset;
3895      data[mainAxis] = preventedOffset - offset;
3896    }
3897
3898    if (checkAltAxis) {
3899      var _offsetModifierState$2;
3900
3901      var _mainSide = mainAxis === 'x' ? top : left;
3902
3903      var _altSide = mainAxis === 'x' ? bottom : right;
3904
3905      var _offset = popperOffsets[altAxis];
3906
3907      var _len = altAxis === 'y' ? 'height' : 'width';
3908
3909      var _min = _offset + overflow[_mainSide];
3910
3911      var _max = _offset - overflow[_altSide];
3912
3913      var isOriginSide = [top, left].indexOf(basePlacement) !== -1;
3914
3915      var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;
3916
3917      var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;
3918
3919      var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;
3920
3921      var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);
3922
3923      popperOffsets[altAxis] = _preventedOffset;
3924      data[altAxis] = _preventedOffset - _offset;
3925    }
3926
3927    state.modifiersData[name] = data;
3928  } // eslint-disable-next-line import/no-unused-modules
3929
3930
3931  const preventOverflow$1 = {
3932    name: 'preventOverflow',
3933    enabled: true,
3934    phase: 'main',
3935    fn: preventOverflow,
3936    requiresIfExists: ['offset']
3937  };
3938
3939  function getHTMLElementScroll(element) {
3940    return {
3941      scrollLeft: element.scrollLeft,
3942      scrollTop: element.scrollTop
3943    };
3944  }
3945
3946  function getNodeScroll(node) {
3947    if (node === getWindow(node) || !isHTMLElement(node)) {
3948      return getWindowScroll(node);
3949    } else {
3950      return getHTMLElementScroll(node);
3951    }
3952  }
3953
3954  function isElementScaled(element) {
3955    var rect = element.getBoundingClientRect();
3956    var scaleX = round(rect.width) / element.offsetWidth || 1;
3957    var scaleY = round(rect.height) / element.offsetHeight || 1;
3958    return scaleX !== 1 || scaleY !== 1;
3959  } // Returns the composite rect of an element relative to its offsetParent.
3960  // Composite means it takes into account transforms as well as layout.
3961
3962
3963  function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
3964    if (isFixed === void 0) {
3965      isFixed = false;
3966    }
3967
3968    var isOffsetParentAnElement = isHTMLElement(offsetParent);
3969    var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
3970    var documentElement = getDocumentElement(offsetParent);
3971    var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);
3972    var scroll = {
3973      scrollLeft: 0,
3974      scrollTop: 0
3975    };
3976    var offsets = {
3977      x: 0,
3978      y: 0
3979    };
3980
3981    if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
3982      if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078
3983      isScrollParent(documentElement)) {
3984        scroll = getNodeScroll(offsetParent);
3985      }
3986
3987      if (isHTMLElement(offsetParent)) {
3988        offsets = getBoundingClientRect(offsetParent, true);
3989        offsets.x += offsetParent.clientLeft;
3990        offsets.y += offsetParent.clientTop;
3991      } else if (documentElement) {
3992        offsets.x = getWindowScrollBarX(documentElement);
3993      }
3994    }
3995
3996    return {
3997      x: rect.left + scroll.scrollLeft - offsets.x,
3998      y: rect.top + scroll.scrollTop - offsets.y,
3999      width: rect.width,
4000      height: rect.height
4001    };
4002  }
4003
4004  function order(modifiers) {
4005    var map = new Map();
4006    var visited = new Set();
4007    var result = [];
4008    modifiers.forEach(function (modifier) {
4009      map.set(modifier.name, modifier);
4010    }); // On visiting object, check for its dependencies and visit them recursively
4011
4012    function sort(modifier) {
4013      visited.add(modifier.name);
4014      var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);
4015      requires.forEach(function (dep) {
4016        if (!visited.has(dep)) {
4017          var depModifier = map.get(dep);
4018
4019          if (depModifier) {
4020            sort(depModifier);
4021          }
4022        }
4023      });
4024      result.push(modifier);
4025    }
4026
4027    modifiers.forEach(function (modifier) {
4028      if (!visited.has(modifier.name)) {
4029        // check for visited object
4030        sort(modifier);
4031      }
4032    });
4033    return result;
4034  }
4035
4036  function orderModifiers(modifiers) {
4037    // order based on dependencies
4038    var orderedModifiers = order(modifiers); // order based on phase
4039
4040    return modifierPhases.reduce(function (acc, phase) {
4041      return acc.concat(orderedModifiers.filter(function (modifier) {
4042        return modifier.phase === phase;
4043      }));
4044    }, []);
4045  }
4046
4047  function debounce(fn) {
4048    var pending;
4049    return function () {
4050      if (!pending) {
4051        pending = new Promise(function (resolve) {
4052          Promise.resolve().then(function () {
4053            pending = undefined;
4054            resolve(fn());
4055          });
4056        });
4057      }
4058
4059      return pending;
4060    };
4061  }
4062
4063  function mergeByName(modifiers) {
4064    var merged = modifiers.reduce(function (merged, current) {
4065      var existing = merged[current.name];
4066      merged[current.name] = existing ? Object.assign({}, existing, current, {
4067        options: Object.assign({}, existing.options, current.options),
4068        data: Object.assign({}, existing.data, current.data)
4069      }) : current;
4070      return merged;
4071    }, {}); // IE11 does not support Object.values
4072
4073    return Object.keys(merged).map(function (key) {
4074      return merged[key];
4075    });
4076  }
4077
4078  var DEFAULT_OPTIONS = {
4079    placement: 'bottom',
4080    modifiers: [],
4081    strategy: 'absolute'
4082  };
4083
4084  function areValidElements() {
4085    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
4086      args[_key] = arguments[_key];
4087    }
4088
4089    return !args.some(function (element) {
4090      return !(element && typeof element.getBoundingClientRect === 'function');
4091    });
4092  }
4093
4094  function popperGenerator(generatorOptions) {
4095    if (generatorOptions === void 0) {
4096      generatorOptions = {};
4097    }
4098
4099    var _generatorOptions = generatorOptions,
4100        _generatorOptions$def = _generatorOptions.defaultModifiers,
4101        defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,
4102        _generatorOptions$def2 = _generatorOptions.defaultOptions,
4103        defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;
4104    return function createPopper(reference, popper, options) {
4105      if (options === void 0) {
4106        options = defaultOptions;
4107      }
4108
4109      var state = {
4110        placement: 'bottom',
4111        orderedModifiers: [],
4112        options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),
4113        modifiersData: {},
4114        elements: {
4115          reference: reference,
4116          popper: popper
4117        },
4118        attributes: {},
4119        styles: {}
4120      };
4121      var effectCleanupFns = [];
4122      var isDestroyed = false;
4123      var instance = {
4124        state: state,
4125        setOptions: function setOptions(setOptionsAction) {
4126          var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;
4127          cleanupModifierEffects();
4128          state.options = Object.assign({}, defaultOptions, state.options, options);
4129          state.scrollParents = {
4130            reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],
4131            popper: listScrollParents(popper)
4132          }; // Orders the modifiers based on their dependencies and `phase`
4133          // properties
4134
4135          var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers
4136
4137          state.orderedModifiers = orderedModifiers.filter(function (m) {
4138            return m.enabled;
4139          });
vendor: 14,004 bytes, lines 4139-4564
4139 // Validate the provided modifiers so that the consumer will get warned
4140
4141          runModifierEffects();
4142          return instance.update();
4143        },
4144        // Sync update – it will always be executed, even if not necessary. This
4145        // is useful for low frequency updates where sync behavior simplifies the
4146        // logic.
4147        // For high frequency updates (e.g. `resize` and `scroll` events), always
4148        // prefer the async Popper#update method
4149        forceUpdate: function forceUpdate() {
4150          if (isDestroyed) {
4151            return;
4152          }
4153
4154          var _state$elements = state.elements,
4155              reference = _state$elements.reference,
4156              popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements
4157          // anymore
4158
4159          if (!areValidElements(reference, popper)) {
4160
4161            return;
4162          } // Store the reference and popper rects to be read by modifiers
4163
4164
4165          state.rects = {
4166            reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),
4167            popper: getLayoutRect(popper)
4168          }; // Modifiers have the ability to reset the current update cycle. The
4169          // most common use case for this is the `flip` modifier changing the
4170          // placement, which then needs to re-run all the modifiers, because the
4171          // logic was previously ran for the previous placement and is therefore
4172          // stale/incorrect
4173
4174          state.reset = false;
4175          state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier
4176          // is filled with the initial data specified by the modifier. This means
4177          // it doesn't persist and is fresh on each update.
4178          // To ensure persistent data, use `${name}#persistent`
4179
4180          state.orderedModifiers.forEach(function (modifier) {
4181            return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);
4182          });
4183
4184          for (var index = 0; index < state.orderedModifiers.length; index++) {
4185
4186            if (state.reset === true) {
4187              state.reset = false;
4188              index = -1;
4189              continue;
4190            }
4191
4192            var _state$orderedModifie = state.orderedModifiers[index],
4193                fn = _state$orderedModifie.fn,
4194                _state$orderedModifie2 = _state$orderedModifie.options,
4195                _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,
4196                name = _state$orderedModifie.name;
4197
4198            if (typeof fn === 'function') {
4199              state = fn({
4200                state: state,
4201                options: _options,
4202                name: name,
4203                instance: instance
4204              }) || state;
4205            }
4206          }
4207        },
4208        // Async and optimistically optimized update – it will not be executed if
4209        // not necessary (debounced to run at most once-per-tick)
4210        update: debounce(function () {
4211          return new Promise(function (resolve) {
4212            instance.forceUpdate();
4213            resolve(state);
4214          });
4215        }),
4216        destroy: function destroy() {
4217          cleanupModifierEffects();
4218          isDestroyed = true;
4219        }
4220      };
4221
4222      if (!areValidElements(reference, popper)) {
4223
4224        return instance;
4225      }
4226
4227      instance.setOptions(options).then(function (state) {
4228        if (!isDestroyed && options.onFirstUpdate) {
4229          options.onFirstUpdate(state);
4230        }
4231      }); // Modifiers have the ability to execute arbitrary code before the first
4232      // update cycle runs. They will be executed in the same order as the update
4233      // cycle. This is useful when a modifier adds some persistent data that
4234      // other modifiers need to use, but the modifier is run after the dependent
4235      // one.
4236
4237      function runModifierEffects() {
4238        state.orderedModifiers.forEach(function (_ref3) {
4239          var name = _ref3.name,
4240              _ref3$options = _ref3.options,
4241              options = _ref3$options === void 0 ? {} : _ref3$options,
4242              effect = _ref3.effect;
4243
4244          if (typeof effect === 'function') {
4245            var cleanupFn = effect({
4246              state: state,
4247              name: name,
4248              instance: instance,
4249              options: options
4250            });
4251
4252            var noopFn = function noopFn() {};
4253
4254            effectCleanupFns.push(cleanupFn || noopFn);
4255          }
4256        });
4257      }
4258
4259      function cleanupModifierEffects() {
4260        effectCleanupFns.forEach(function (fn) {
4261          return fn();
4262        });
4263        effectCleanupFns = [];
4264      }
4265
4266      return instance;
4267    };
4268  }
4269  var createPopper$2 = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules
4270
4271  var defaultModifiers$1 = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1];
4272  var createPopper$1 = /*#__PURE__*/popperGenerator({
4273    defaultModifiers: defaultModifiers$1
4274  }); // eslint-disable-next-line import/no-unused-modules
4275
4276  var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$1];
4277  var createPopper = /*#__PURE__*/popperGenerator({
4278    defaultModifiers: defaultModifiers
4279  }); // eslint-disable-next-line import/no-unused-modules
4280
4281  const Popper = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
4282    __proto__: null,
4283    popperGenerator,
4284    detectOverflow,
4285    createPopperBase: createPopper$2,
4286    createPopper,
4287    createPopperLite: createPopper$1,
4288    top,
4289    bottom,
4290    right,
4291    left,
4292    auto,
4293    basePlacements,
4294    start,
4295    end,
4296    clippingParents,
4297    viewport,
4298    popper,
4299    reference,
4300    variationPlacements,
4301    placements,
4302    beforeRead,
4303    read,
4304    afterRead,
4305    beforeMain,
4306    main,
4307    afterMain,
4308    beforeWrite,
4309    write,
4310    afterWrite,
4311    modifierPhases,
4312    applyStyles: applyStyles$1,
4313    arrow: arrow$1,
4314    computeStyles: computeStyles$1,
4315    eventListeners,
4316    flip: flip$1,
4317    hide: hide$1,
4318    offset: offset$1,
4319    popperOffsets: popperOffsets$1,
4320    preventOverflow: preventOverflow$1
4321  }, Symbol.toStringTag, { value: 'Module' }));
4322
4323  /**
4324   * --------------------------------------------------------------------------
4325   * Bootstrap (v5.2.3): dropdown.js
4326   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4327   * --------------------------------------------------------------------------
4328   */
4329  /**
4330   * Constants
4331   */
4332
4333  const NAME$a = 'dropdown';
4334  const DATA_KEY$6 = 'bs.dropdown';
4335  const EVENT_KEY$6 = `.${DATA_KEY$6}`;
4336  const DATA_API_KEY$3 = '.data-api';
4337  const ESCAPE_KEY$2 = 'Escape';
4338  const TAB_KEY$1 = 'Tab';
4339  const ARROW_UP_KEY$1 = 'ArrowUp';
4340  const ARROW_DOWN_KEY$1 = 'ArrowDown';
4341  const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
4342
4343  const EVENT_HIDE$5 = `hide${EVENT_KEY$6}`;
4344  const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`;
4345  const EVENT_SHOW$5 = `show${EVENT_KEY$6}`;
4346  const EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`;
4347  const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;
4348  const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`;
4349  const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`;
4350  const CLASS_NAME_SHOW$6 = 'show';
4351  const CLASS_NAME_DROPUP = 'dropup';
4352  const CLASS_NAME_DROPEND = 'dropend';
4353  const CLASS_NAME_DROPSTART = 'dropstart';
4354  const CLASS_NAME_DROPUP_CENTER = 'dropup-center';
4355  const CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center';
4356  const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)';
4357  const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`;
4358  const SELECTOR_MENU = '.dropdown-menu';
4359  const SELECTOR_NAVBAR = '.navbar';
4360  const SELECTOR_NAVBAR_NAV = '.navbar-nav';
4361  const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
4362  const PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start';
4363  const PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end';
4364  const PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start';
4365  const PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';
4366  const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';
4367  const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';
4368  const PLACEMENT_TOPCENTER = 'top';
4369  const PLACEMENT_BOTTOMCENTER = 'bottom';
4370  const Default$9 = {
4371    autoClose: true,
4372    boundary: 'clippingParents',
4373    display: 'dynamic',
4374    offset: [0, 2],
4375    popperConfig: null,
4376    reference: 'toggle'
4377  };
4378  const DefaultType$9 = {
4379    autoClose: '(boolean|string)',
4380    boundary: '(string|element)',
4381    display: 'string',
4382    offset: '(array|string|function)',
4383    popperConfig: '(null|object|function)',
4384    reference: '(string|element|object)'
4385  };
4386  /**
4387   * Class definition
4388   */
4389
4390  class Dropdown extends BaseComponent {
4391    constructor(element, config) {
4392      super(element, config);
4393      this._popper = null;
4394      this._parent = this._element.parentNode; // dropdown wrapper
4395      // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/
4396
4397      this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);
4398      this._inNavbar = this._detectNavbar();
4399    } // Getters
4400
4401
4402    static get Default() {
4403      return Default$9;
4404    }
4405
4406    static get DefaultType() {
4407      return DefaultType$9;
4408    }
4409
4410    static get NAME() {
4411      return NAME$a;
4412    } // Public
4413
4414
4415    toggle() {
4416      return this._isShown() ? this.hide() : this.show();
4417    }
4418
4419    show() {
4420      if (isDisabled(this._element) || this._isShown()) {
4421        return;
4422      }
4423
4424      const relatedTarget = {
4425        relatedTarget: this._element
4426      };
4427      const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget);
4428
4429      if (showEvent.defaultPrevented) {
4430        return;
4431      }
4432
4433      this._createPopper(); // If this is a touch-enabled device we add extra
4434      // empty mouseover listeners to the body's immediate children;
4435      // only needed because of broken event delegation on iOS
4436      // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
4437
4438
4439      if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {
4440        for (const element of [].concat(...document.body.children)) {
4441          EventHandler.on(element, 'mouseover', noop);
4442        }
4443      }
4444
4445      this._element.focus();
4446
4447      this._element.setAttribute('aria-expanded', true);
4448
4449      this._menu.classList.add(CLASS_NAME_SHOW$6);
4450
4451      this._element.classList.add(CLASS_NAME_SHOW$6);
4452
4453      EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget);
4454    }
4455
4456    hide() {
4457      if (isDisabled(this._element) || !this._isShown()) {
4458        return;
4459      }
4460
4461      const relatedTarget = {
4462        relatedTarget: this._element
4463      };
4464
4465      this._completeHide(relatedTarget);
4466    }
4467
4468    dispose() {
4469      if (this._popper) {
4470        this._popper.destroy();
4471      }
4472
4473      super.dispose();
4474    }
4475
4476    update() {
4477      this._inNavbar = this._detectNavbar();
4478
4479      if (this._popper) {
4480        this._popper.update();
4481      }
4482    } // Private
4483
4484
4485    _completeHide(relatedTarget) {
4486      const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget);
4487
4488      if (hideEvent.defaultPrevented) {
4489        return;
4490      } // If this is a touch-enabled device we remove the extra
4491      // empty mouseover listeners we added for iOS support
4492
4493
4494      if ('ontouchstart' in document.documentElement) {
4495        for (const element of [].concat(...document.body.children)) {
4496          EventHandler.off(element, 'mouseover', noop);
4497        }
4498      }
4499
4500      if (this._popper) {
4501        this._popper.destroy();
4502      }
4503
4504      this._menu.classList.remove(CLASS_NAME_SHOW$6);
4505
4506      this._element.classList.remove(CLASS_NAME_SHOW$6);
4507
4508      this._element.setAttribute('aria-expanded', 'false');
4509
4510      Manipulator.removeDataAttribute(this._menu, 'popper');
4511      EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);
4512    }
4513
4514    _getConfig(config) {
4515      config = super._getConfig(config);
4516
4517      if (typeof config.reference === 'object' && !isElement$1(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
4518        // Popper virtual elements require a getBoundingClientRect method
4519        throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
4520      }
4521
4522      return config;
4523    }
4524
4525    _createPopper() {
4526      if (typeof Popper === 'undefined') {
4527        throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)');
4528      }
4529
4530      let referenceElement = this._element;
4531
4532      if (this._config.reference === 'parent') {
4533        referenceElement = this._parent;
4534      } else if (isElement$1(this._config.reference)) {
4535        referenceElement = getElement(this._config.reference);
4536      } else if (typeof this._config.reference === 'object') {
4537        referenceElement = this._config.reference;
4538      }
4539
4540      const popperConfig = this._getPopperConfig();
4541
4542      this._popper = createPopper(referenceElement, this._menu, popperConfig);
4543    }
4544
4545    _isShown() {
4546      return this._menu.classList.contains(CLASS_NAME_SHOW$6);
4547    }
4548
4549    _getPlacement() {
4550      const parentDropdown = this._parent;
4551
4552      if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {
4553        return PLACEMENT_RIGHT;
4554      }
4555
4556      if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {
4557        return PLACEMENT_LEFT;
4558      }
4559
4560      if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {
4561        return PLACEMENT_TOPCENTER;
4562      }
4563
4564      if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENT
vendor: 4,138 bytes, lines 4564-4700
4564ER)) {
4565        return PLACEMENT_BOTTOMCENTER;
4566      } // We need to trim the value because custom properties can also include spaces
4567
4568
4569      const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end';
4570
4571      if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {
4572        return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP;
4573      }
4574
4575      return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM;
4576    }
4577
4578    _detectNavbar() {
4579      return this._element.closest(SELECTOR_NAVBAR) !== null;
4580    }
4581
4582    _getOffset() {
4583      const {
4584        offset
4585      } = this._config;
4586
4587      if (typeof offset === 'string') {
4588        return offset.split(',').map(value => Number.parseInt(value, 10));
4589      }
4590
4591      if (typeof offset === 'function') {
4592        return popperData => offset(popperData, this._element);
4593      }
4594
4595      return offset;
4596    }
4597
4598    _getPopperConfig() {
4599      const defaultBsPopperConfig = {
4600        placement: this._getPlacement(),
4601        modifiers: [{
4602          name: 'preventOverflow',
4603          options: {
4604            boundary: this._config.boundary
4605          }
4606        }, {
4607          name: 'offset',
4608          options: {
4609            offset: this._getOffset()
4610          }
4611        }]
4612      }; // Disable Popper if we have a static display or Dropdown is in Navbar
4613
4614      if (this._inNavbar || this._config.display === 'static') {
4615        Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove
4616
4617        defaultBsPopperConfig.modifiers = [{
4618          name: 'applyStyles',
4619          enabled: false
4620        }];
4621      }
4622
4623      return { ...defaultBsPopperConfig,
4624        ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)
4625      };
4626    }
4627
4628    _selectMenuItem({
4629      key,
4630      target
4631    }) {
4632      const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element));
4633
4634      if (!items.length) {
4635        return;
4636      } // if target isn't included in items (e.g. when expanding the dropdown)
4637      // allow cycling to get the last item in case key equals ARROW_UP_KEY
4638
4639
4640      getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus();
4641    } // Static
4642
4643
4644    static jQueryInterface(config) {
4645      return this.each(function () {
4646        const data = Dropdown.getOrCreateInstance(this, config);
4647
4648        if (typeof config !== 'string') {
4649          return;
4650        }
4651
4652        if (typeof data[config] === 'undefined') {
4653          throw new TypeError(`No method named "${config}"`);
4654        }
4655
4656        data[config]();
4657      });
4658    }
4659
4660    static clearMenus(event) {
4661      if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) {
4662        return;
4663      }
4664
4665      const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN);
4666
4667      for (const toggle of openToggles) {
4668        const context = Dropdown.getInstance(toggle);
4669
4670        if (!context || context._config.autoClose === false) {
4671          continue;
4672        }
4673
4674        const composedPath = event.composedPath();
4675        const isMenuTarget = composedPath.includes(context._menu);
4676
4677        if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) {
4678          continue;
4679        } // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu
4680
4681
4682        if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) {
4683          continue;
4684        }
4685
4686        const relatedTarget = {
4687          relatedTarget: context._element
4688        };
4689
4690        if (event.type === 'click') {
4691          relatedTarget.clickEvent = event;
4692        }
4693
4694        context._completeHide(relatedTarget);
4695      }
4696    }
4697
4698    static dataApiKeydownHandler(event) {
4699      // If not an UP | DOWN | ESCAPE key => not a dropdown command
4700      // If input/textarea && if key is other than ESCAPE => not a dropdown command
vendor: 10,656 bytes, lines 4701-5094
4701      const isInput = /input|textarea/i.test(event.target.tagName);
4702      const isEscapeEvent = event.key === ESCAPE_KEY$2;
4703      const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key);
4704
4705      if (!isUpOrDownEvent && !isEscapeEvent) {
4706        return;
4707      }
4708
4709      if (isInput && !isEscapeEvent) {
4710        return;
4711      }
4712
4713      event.preventDefault(); // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/
4714
4715      const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);
4716      const instance = Dropdown.getOrCreateInstance(getToggleButton);
4717
4718      if (isUpOrDownEvent) {
4719        event.stopPropagation();
4720        instance.show();
4721
4722        instance._selectMenuItem(event);
4723
4724        return;
4725      }
4726
4727      if (instance._isShown()) {
4728        // else is escape and we check if it is shown
4729        event.stopPropagation();
4730        instance.hide();
4731        getToggleButton.focus();
4732      }
4733    }
4734
4735  }
4736  /**
4737   * Data API implementation
4738   */
4739
4740
4741  EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler);
4742  EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
4743  EventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus);
4744  EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);
4745  EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) {
4746    event.preventDefault();
4747    Dropdown.getOrCreateInstance(this).toggle();
4748  });
4749  /**
4750   * jQuery
4751   */
4752
4753  defineJQueryPlugin(Dropdown);
4754
4755  /**
4756   * --------------------------------------------------------------------------
4757   * Bootstrap (v5.2.3): util/scrollBar.js
4758   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4759   * --------------------------------------------------------------------------
4760   */
4761  /**
4762   * Constants
4763   */
4764
4765  const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
4766  const SELECTOR_STICKY_CONTENT = '.sticky-top';
4767  const PROPERTY_PADDING = 'padding-right';
4768  const PROPERTY_MARGIN = 'margin-right';
4769  /**
4770   * Class definition
4771   */
4772
4773  class ScrollBarHelper {
4774    constructor() {
4775      this._element = document.body;
4776    } // Public
4777
4778
4779    getWidth() {
4780      // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
4781      const documentWidth = document.documentElement.clientWidth;
4782      return Math.abs(window.innerWidth - documentWidth);
4783    }
4784
4785    hide() {
4786      const width = this.getWidth();
4787
4788      this._disableOverFlow(); // give padding to element to balance the hidden scrollbar width
4789
4790
4791      this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth
4792
4793
4794      this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width);
4795
4796      this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width);
4797    }
4798
4799    reset() {
4800      this._resetElementAttributes(this._element, 'overflow');
4801
4802      this._resetElementAttributes(this._element, PROPERTY_PADDING);
4803
4804      this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING);
4805
4806      this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN);
4807    }
4808
4809    isOverflowing() {
4810      return this.getWidth() > 0;
4811    } // Private
4812
4813
4814    _disableOverFlow() {
4815      this._saveInitialAttribute(this._element, 'overflow');
4816
4817      this._element.style.overflow = 'hidden';
4818    }
4819
4820    _setElementAttributes(selector, styleProperty, callback) {
4821      const scrollbarWidth = this.getWidth();
4822
4823      const manipulationCallBack = element => {
4824        if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {
4825          return;
4826        }
4827
4828        this._saveInitialAttribute(element, styleProperty);
4829
4830        const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty);
4831        element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`);
4832      };
4833
4834      this._applyManipulationCallback(selector, manipulationCallBack);
4835    }
4836
4837    _saveInitialAttribute(element, styleProperty) {
4838      const actualValue = element.style.getPropertyValue(styleProperty);
4839
4840      if (actualValue) {
4841        Manipulator.setDataAttribute(element, styleProperty, actualValue);
4842      }
4843    }
4844
4845    _resetElementAttributes(selector, styleProperty) {
4846      const manipulationCallBack = element => {
4847        const value = Manipulator.getDataAttribute(element, styleProperty); // We only want to remove the property if the value is `null`; the value can also be zero
4848
4849        if (value === null) {
4850          element.style.removeProperty(styleProperty);
4851          return;
4852        }
4853
4854        Manipulator.removeDataAttribute(element, styleProperty);
4855        element.style.setProperty(styleProperty, value);
4856      };
4857
4858      this._applyManipulationCallback(selector, manipulationCallBack);
4859    }
4860
4861    _applyManipulationCallback(selector, callBack) {
4862      if (isElement$1(selector)) {
4863        callBack(selector);
4864        return;
4865      }
4866
4867      for (const sel of SelectorEngine.find(selector, this._element)) {
4868        callBack(sel);
4869      }
4870    }
4871
4872  }
4873
4874  /**
4875   * --------------------------------------------------------------------------
4876   * Bootstrap (v5.2.3): util/backdrop.js
4877   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4878   * --------------------------------------------------------------------------
4879   */
4880  /**
4881   * Constants
4882   */
4883
4884  const NAME$9 = 'backdrop';
4885  const CLASS_NAME_FADE$4 = 'fade';
4886  const CLASS_NAME_SHOW$5 = 'show';
4887  const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`;
4888  const Default$8 = {
4889    className: 'modal-backdrop',
4890    clickCallback: null,
4891    isAnimated: false,
4892    isVisible: true,
4893    // if false, we use the backdrop helper without adding any element to the dom
4894    rootElement: 'body' // give the choice to place backdrop under different elements
4895
4896  };
4897  const DefaultType$8 = {
4898    className: 'string',
4899    clickCallback: '(function|null)',
4900    isAnimated: 'boolean',
4901    isVisible: 'boolean',
4902    rootElement: '(element|string)'
4903  };
4904  /**
4905   * Class definition
4906   */
4907
4908  class Backdrop extends Config {
4909    constructor(config) {
4910      super();
4911      this._config = this._getConfig(config);
4912      this._isAppended = false;
4913      this._element = null;
4914    } // Getters
4915
4916
4917    static get Default() {
4918      return Default$8;
4919    }
4920
4921    static get DefaultType() {
4922      return DefaultType$8;
4923    }
4924
4925    static get NAME() {
4926      return NAME$9;
4927    } // Public
4928
4929
4930    show(callback) {
4931      if (!this._config.isVisible) {
4932        execute(callback);
4933        return;
4934      }
4935
4936      this._append();
4937
4938      const element = this._getElement();
4939
4940      if (this._config.isAnimated) {
4941        reflow(element);
4942      }
4943
4944      element.classList.add(CLASS_NAME_SHOW$5);
4945
4946      this._emulateAnimation(() => {
4947        execute(callback);
4948      });
4949    }
4950
4951    hide(callback) {
4952      if (!this._config.isVisible) {
4953        execute(callback);
4954        return;
4955      }
4956
4957      this._getElement().classList.remove(CLASS_NAME_SHOW$5);
4958
4959      this._emulateAnimation(() => {
4960        this.dispose();
4961        execute(callback);
4962      });
4963    }
4964
4965    dispose() {
4966      if (!this._isAppended) {
4967        return;
4968      }
4969
4970      EventHandler.off(this._element, EVENT_MOUSEDOWN);
4971
4972      this._element.remove();
4973
4974      this._isAppended = false;
4975    } // Private
4976
4977
4978    _getElement() {
4979      if (!this._element) {
4980        const backdrop = document.createElement('div');
4981        backdrop.className = this._config.className;
4982
4983        if (this._config.isAnimated) {
4984          backdrop.classList.add(CLASS_NAME_FADE$4);
4985        }
4986
4987        this._element = backdrop;
4988      }
4989
4990      return this._element;
4991    }
4992
4993    _configAfterMerge(config) {
4994      // use getElement() with the default "body" to get a fresh Element on each instantiation
4995      config.rootElement = getElement(config.rootElement);
4996      return config;
4997    }
4998
4999    _append() {
5000      if (this._isAppended) {
5001        return;
5002      }
5003
5004      const element = this._getElement();
5005
5006      this._config.rootElement.append(element);
5007
5008      EventHandler.on(element, EVENT_MOUSEDOWN, () => {
5009        execute(this._config.clickCallback);
5010      });
5011      this._isAppended = true;
5012    }
5013
5014    _emulateAnimation(callback) {
5015      executeAfterTransition(callback, this._getElement(), this._config.isAnimated);
5016    }
5017
5018  }
5019
5020  /**
5021   * --------------------------------------------------------------------------
5022   * Bootstrap (v5.2.3): util/focustrap.js
5023   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5024   * --------------------------------------------------------------------------
5025   */
5026  /**
5027   * Constants
5028   */
5029
5030  const NAME$8 = 'focustrap';
5031  const DATA_KEY$5 = 'bs.focustrap';
5032  const EVENT_KEY$5 = `.${DATA_KEY$5}`;
5033  const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`;
5034  const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`;
5035  const TAB_KEY = 'Tab';
5036  const TAB_NAV_FORWARD = 'forward';
5037  const TAB_NAV_BACKWARD = 'backward';
5038  const Default$7 = {
5039    autofocus: true,
5040    trapElement: null // The element to trap focus inside of
5041
5042  };
5043  const DefaultType$7 = {
5044    autofocus: 'boolean',
5045    trapElement: 'element'
5046  };
5047  /**
5048   * Class definition
5049   */
5050
5051  class FocusTrap extends Config {
5052    constructor(config) {
5053      super();
5054      this._config = this._getConfig(config);
5055      this._isActive = false;
5056      this._lastTabNavDirection = null;
5057    } // Getters
5058
5059
5060    static get Default() {
5061      return Default$7;
5062    }
5063
5064    static get DefaultType() {
5065      return DefaultType$7;
5066    }
5067
5068    static get NAME() {
5069      return NAME$8;
5070    } // Public
5071
5072
5073    activate() {
5074      if (this._isActive) {
5075        return;
5076      }
5077
5078      if (this._config.autofocus) {
5079        this._config.trapElement.focus();
5080      }
5081
5082      EventHandler.off(document, EVENT_KEY$5); // guard against infinite focus loop
5083
5084      EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));
5085      EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));
5086      this._isActive = true;
5087    }
5088
5089    deactivate() {
5090      if (!this._isActive) {
5091        return;
5092      }
5093
5094      this._isActive = false;
5095      EventHandler.off(document, EVENT_KEY$5);
5096    } // Private
5097
5098
5099    _handleFocusin(event) {
5100      const {
5101        trapElement
5102      } = this._config;
5103
5104      if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {
5105        return;
5106      }
5107
5108      const elements = SelectorEngine.focusableChildren(trapElement);
5109
5110      if (elements.length === 0) {
5111        trapElement.focus();
5112      } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {
5113        elements[elements.length - 1].focus();
5114      } else {
5115        elements[0].focus();
5116      }
5117    }
5118
5119    _handleKeydown(event) {
5120      if (event.key !== TAB_KEY) {
5121        return;
5122      }
5123
5124      this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD;
5125    }
5126
5127  }
5128
5129  /**
5130   * --------------------------------------------------------------------------
5131   * Bootstrap (v5.2.3): modal.js
5132   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5133   * --------------------------------------------------------------------------
5134   */
5135  /**
5136   * Constants
5137   */
5138
5139  const NAME$7 = 'modal';
5140  const DATA_KEY$4 = 'bs.modal';
5141  const EVENT_KEY$4 = `.${DATA_KEY$4}`;
5142  const DATA_API_KEY$2 = '.data-api';
5143  const ESCAPE_KEY$1 = 'Escape';
5144  const EVENT_HIDE$4 = `hide${EVENT_KEY$4}`;
5145  const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`;
5146  const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`;
5147  const EVENT_SHOW$4 = `show${EVENT_KEY$4}`;
5148  const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;
5149  const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;
5150  const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;
5151  const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;
5152  const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`;
5153  const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;
5154  const CLASS_NAME_OPEN = 'modal-open';
5155  const CLASS_NAME_FADE$3 = 'fade';
vendor: 9,423 bytes, lines 5156-5520
5156  const CLASS_NAME_SHOW$4 = 'show';
5157  const CLASS_NAME_STATIC = 'modal-static';
5158  const OPEN_SELECTOR$1 = '.modal.show';
5159  const SELECTOR_DIALOG = '.modal-dialog';
5160  const SELECTOR_MODAL_BODY = '.modal-body';
5161  const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]';
5162  const Default$6 = {
5163    backdrop: true,
5164    focus: true,
5165    keyboard: true
5166  };
5167  const DefaultType$6 = {
5168    backdrop: '(boolean|string)',
5169    focus: 'boolean',
5170    keyboard: 'boolean'
5171  };
5172  /**
5173   * Class definition
5174   */
5175
5176  class Modal extends BaseComponent {
5177    constructor(element, config) {
5178      super(element, config);
5179      this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element);
5180      this._backdrop = this._initializeBackDrop();
5181      this._focustrap = this._initializeFocusTrap();
5182      this._isShown = false;
5183      this._isTransitioning = false;
5184      this._scrollBar = new ScrollBarHelper();
5185
5186      this._addEventListeners();
5187    } // Getters
5188
5189
5190    static get Default() {
5191      return Default$6;
5192    }
5193
5194    static get DefaultType() {
5195      return DefaultType$6;
5196    }
5197
5198    static get NAME() {
5199      return NAME$7;
5200    } // Public
5201
5202
5203    toggle(relatedTarget) {
5204      return this._isShown ? this.hide() : this.show(relatedTarget);
5205    }
5206
5207    show(relatedTarget) {
5208      if (this._isShown || this._isTransitioning) {
5209        return;
5210      }
5211
5212      const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, {
5213        relatedTarget
5214      });
5215
5216      if (showEvent.defaultPrevented) {
5217        return;
5218      }
5219
5220      this._isShown = true;
5221      this._isTransitioning = true;
5222
5223      this._scrollBar.hide();
5224
5225      document.body.classList.add(CLASS_NAME_OPEN);
5226
5227      this._adjustDialog();
5228
5229      this._backdrop.show(() => this._showElement(relatedTarget));
5230    }
5231
5232    hide() {
5233      if (!this._isShown || this._isTransitioning) {
5234        return;
5235      }
5236
5237      const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4);
5238
5239      if (hideEvent.defaultPrevented) {
5240        return;
5241      }
5242
5243      this._isShown = false;
5244      this._isTransitioning = true;
5245
5246      this._focustrap.deactivate();
5247
5248      this._element.classList.remove(CLASS_NAME_SHOW$4);
5249
5250      this._queueCallback(() => this._hideModal(), this._element, this._isAnimated());
5251    }
5252
5253    dispose() {
5254      for (const htmlElement of [window, this._dialog]) {
5255        EventHandler.off(htmlElement, EVENT_KEY$4);
5256      }
5257
5258      this._backdrop.dispose();
5259
5260      this._focustrap.deactivate();
5261
5262      super.dispose();
5263    }
5264
5265    handleUpdate() {
5266      this._adjustDialog();
5267    } // Private
5268
5269
5270    _initializeBackDrop() {
5271      return new Backdrop({
5272        isVisible: Boolean(this._config.backdrop),
5273        // 'static' option will be translated to true, and booleans will keep their value,
5274        isAnimated: this._isAnimated()
5275      });
5276    }
5277
5278    _initializeFocusTrap() {
5279      return new FocusTrap({
5280        trapElement: this._element
5281      });
5282    }
5283
5284    _showElement(relatedTarget) {
5285      // try to append dynamic modal
5286      if (!document.body.contains(this._element)) {
5287        document.body.append(this._element);
5288      }
5289
5290      this._element.style.display = 'block';
5291
5292      this._element.removeAttribute('aria-hidden');
5293
5294      this._element.setAttribute('aria-modal', true);
5295
5296      this._element.setAttribute('role', 'dialog');
5297
5298      this._element.scrollTop = 0;
5299      const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);
5300
5301      if (modalBody) {
5302        modalBody.scrollTop = 0;
5303      }
5304
5305      reflow(this._element);
5306
5307      this._element.classList.add(CLASS_NAME_SHOW$4);
5308
5309      const transitionComplete = () => {
5310        if (this._config.focus) {
5311          this._focustrap.activate();
5312        }
5313
5314        this._isTransitioning = false;
5315        EventHandler.trigger(this._element, EVENT_SHOWN$4, {
5316          relatedTarget
5317        });
5318      };
5319
5320      this._queueCallback(transitionComplete, this._dialog, this._isAnimated());
5321    }
5322
5323    _addEventListeners() {
5324      EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, event => {
5325        if (event.key !== ESCAPE_KEY$1) {
5326          return;
5327        }
5328
5329        if (this._config.keyboard) {
5330          event.preventDefault();
5331          this.hide();
5332          return;
5333        }
5334
5335        this._triggerBackdropTransition();
5336      });
5337      EventHandler.on(window, EVENT_RESIZE$1, () => {
5338        if (this._isShown && !this._isTransitioning) {
5339          this._adjustDialog();
5340        }
5341      });
5342      EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {
5343        // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks
5344        EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {
5345          if (this._element !== event.target || this._element !== event2.target) {
5346            return;
5347          }
5348
5349          if (this._config.backdrop === 'static') {
5350            this._triggerBackdropTransition();
5351
5352            return;
5353          }
5354
5355          if (this._config.backdrop) {
5356            this.hide();
5357          }
5358        });
5359      });
5360    }
5361
5362    _hideModal() {
5363      this._element.style.display = 'none';
5364
5365      this._element.setAttribute('aria-hidden', true);
5366
5367      this._element.removeAttribute('aria-modal');
5368
5369      this._element.removeAttribute('role');
5370
5371      this._isTransitioning = false;
5372
5373      this._backdrop.hide(() => {
5374        document.body.classList.remove(CLASS_NAME_OPEN);
5375
5376        this._resetAdjustments();
5377
5378        this._scrollBar.reset();
5379
5380        EventHandler.trigger(this._element, EVENT_HIDDEN$4);
5381      });
5382    }
5383
5384    _isAnimated() {
5385      return this._element.classList.contains(CLASS_NAME_FADE$3);
5386    }
5387
5388    _triggerBackdropTransition() {
5389      const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1);
5390
5391      if (hideEvent.defaultPrevented) {
5392        return;
5393      }
5394
5395      const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
5396      const initialOverflowY = this._element.style.overflowY; // return if the following background transition hasn't yet completed
5397
5398      if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {
5399        return;
5400      }
5401
5402      if (!isModalOverflowing) {
5403        this._element.style.overflowY = 'hidden';
5404      }
5405
5406      this._element.classList.add(CLASS_NAME_STATIC);
5407
5408      this._queueCallback(() => {
5409        this._element.classList.remove(CLASS_NAME_STATIC);
5410
5411        this._queueCallback(() => {
5412          this._element.style.overflowY = initialOverflowY;
5413        }, this._dialog);
5414      }, this._dialog);
5415
5416      this._element.focus();
5417    }
5418    /**
5419     * The following methods are used to handle overflowing modals
5420     */
5421
5422
5423    _adjustDialog() {
5424      const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
5425
5426      const scrollbarWidth = this._scrollBar.getWidth();
5427
5428      const isBodyOverflowing = scrollbarWidth > 0;
5429
5430      if (isBodyOverflowing && !isModalOverflowing) {
5431        const property = isRTL() ? 'paddingLeft' : 'paddingRight';
5432        this._element.style[property] = `${scrollbarWidth}px`;
5433      }
5434
5435      if (!isBodyOverflowing && isModalOverflowing) {
5436        const property = isRTL() ? 'paddingRight' : 'paddingLeft';
5437        this._element.style[property] = `${scrollbarWidth}px`;
5438      }
5439    }
5440
5441    _resetAdjustments() {
5442      this._element.style.paddingLeft = '';
5443      this._element.style.paddingRight = '';
5444    } // Static
5445
5446
5447    static jQueryInterface(config, relatedTarget) {
5448      return this.each(function () {
5449        const data = Modal.getOrCreateInstance(this, config);
5450
5451        if (typeof config !== 'string') {
5452          return;
5453        }
5454
5455        if (typeof data[config] === 'undefined') {
5456          throw new TypeError(`No method named "${config}"`);
5457        }
5458
5459        data[config](relatedTarget);
5460      });
5461    }
5462
5463  }
5464  /**
5465   * Data API implementation
5466   */
5467
5468
5469  EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) {
5470    const target = getElementFromSelector(this);
5471
5472    if (['A', 'AREA'].includes(this.tagName)) {
5473      event.preventDefault();
5474    }
5475
5476    EventHandler.one(target, EVENT_SHOW$4, showEvent => {
5477      if (showEvent.defaultPrevented) {
5478        // only register focus restorer if modal will actually get shown
5479        return;
5480      }
5481
5482      EventHandler.one(target, EVENT_HIDDEN$4, () => {
5483        if (isVisible(this)) {
5484          this.focus();
5485        }
5486      });
5487    }); // avoid conflict when clicking modal toggler while another one is open
5488
5489    const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1);
5490
5491    if (alreadyOpen) {
5492      Modal.getInstance(alreadyOpen).hide();
5493    }
5494
5495    const data = Modal.getOrCreateInstance(target);
5496    data.toggle(this);
5497  });
5498  enableDismissTrigger(Modal);
5499  /**
5500   * jQuery
5501   */
5502
5503  defineJQueryPlugin(Modal);
5504
5505  /**
5506   * --------------------------------------------------------------------------
5507   * Bootstrap (v5.2.3): offcanvas.js
5508   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5509   * --------------------------------------------------------------------------
5510   */
5511  /**
5512   * Constants
5513   */
5514
5515  const NAME$6 = 'offcanvas';
5516  const DATA_KEY$3 = 'bs.offcanvas';
5517  const EVENT_KEY$3 = `.${DATA_KEY$3}`;
5518  const DATA_API_KEY$1 = '.data-api';
5519  const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;
5520  const ESCAPE_KEY = 'Escape';
vendor: 4,885 bytes, lines 5521-5719
5521  const CLASS_NAME_SHOW$3 = 'show';
5522  const CLASS_NAME_SHOWING$1 = 'showing';
5523  const CLASS_NAME_HIDING = 'hiding';
5524  const CLASS_NAME_BACKDROP = 'offcanvas-backdrop';
5525  const OPEN_SELECTOR = '.offcanvas.show';
5526  const EVENT_SHOW$3 = `show${EVENT_KEY$3}`;
5527  const EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`;
5528  const EVENT_HIDE$3 = `hide${EVENT_KEY$3}`;
5529  const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`;
5530  const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`;
5531  const EVENT_RESIZE = `resize${EVENT_KEY$3}`;
5532  const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`;
5533  const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`;
5534  const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="offcanvas"]';
5535  const Default$5 = {
5536    backdrop: true,
5537    keyboard: true,
5538    scroll: false
5539  };
5540  const DefaultType$5 = {
5541    backdrop: '(boolean|string)',
5542    keyboard: 'boolean',
5543    scroll: 'boolean'
5544  };
5545  /**
5546   * Class definition
5547   */
5548
5549  class Offcanvas extends BaseComponent {
5550    constructor(element, config) {
5551      super(element, config);
5552      this._isShown = false;
5553      this._backdrop = this._initializeBackDrop();
5554      this._focustrap = this._initializeFocusTrap();
5555
5556      this._addEventListeners();
5557    } // Getters
5558
5559
5560    static get Default() {
5561      return Default$5;
5562    }
5563
5564    static get DefaultType() {
5565      return DefaultType$5;
5566    }
5567
5568    static get NAME() {
5569      return NAME$6;
5570    } // Public
5571
5572
5573    toggle(relatedTarget) {
5574      return this._isShown ? this.hide() : this.show(relatedTarget);
5575    }
5576
5577    show(relatedTarget) {
5578      if (this._isShown) {
5579        return;
5580      }
5581
5582      const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, {
5583        relatedTarget
5584      });
5585
5586      if (showEvent.defaultPrevented) {
5587        return;
5588      }
5589
5590      this._isShown = true;
5591
5592      this._backdrop.show();
5593
5594      if (!this._config.scroll) {
5595        new ScrollBarHelper().hide();
5596      }
5597
5598      this._element.setAttribute('aria-modal', true);
5599
5600      this._element.setAttribute('role', 'dialog');
5601
5602      this._element.classList.add(CLASS_NAME_SHOWING$1);
5603
5604      const completeCallBack = () => {
5605        if (!this._config.scroll || this._config.backdrop) {
5606          this._focustrap.activate();
5607        }
5608
5609        this._element.classList.add(CLASS_NAME_SHOW$3);
5610
5611        this._element.classList.remove(CLASS_NAME_SHOWING$1);
5612
5613        EventHandler.trigger(this._element, EVENT_SHOWN$3, {
5614          relatedTarget
5615        });
5616      };
5617
5618      this._queueCallback(completeCallBack, this._element, true);
5619    }
5620
5621    hide() {
5622      if (!this._isShown) {
5623        return;
5624      }
5625
5626      const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3);
5627
5628      if (hideEvent.defaultPrevented) {
5629        return;
5630      }
5631
5632      this._focustrap.deactivate();
5633
5634      this._element.blur();
5635
5636      this._isShown = false;
5637
5638      this._element.classList.add(CLASS_NAME_HIDING);
5639
5640      this._backdrop.hide();
5641
5642      const completeCallback = () => {
5643        this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING);
5644
5645        this._element.removeAttribute('aria-modal');
5646
5647        this._element.removeAttribute('role');
5648
5649        if (!this._config.scroll) {
5650          new ScrollBarHelper().reset();
5651        }
5652
5653        EventHandler.trigger(this._element, EVENT_HIDDEN$3);
5654      };
5655
5656      this._queueCallback(completeCallback, this._element, true);
5657    }
5658
5659    dispose() {
5660      this._backdrop.dispose();
5661
5662      this._focustrap.deactivate();
5663
5664      super.dispose();
5665    } // Private
5666
5667
5668    _initializeBackDrop() {
5669      const clickCallback = () => {
5670        if (this._config.backdrop === 'static') {
5671          EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
5672          return;
5673        }
5674
5675        this.hide();
5676      }; // 'static' option will be translated to true, and booleans will keep their value
5677
5678
5679      const isVisible = Boolean(this._config.backdrop);
5680      return new Backdrop({
5681        className: CLASS_NAME_BACKDROP,
5682        isVisible,
5683        isAnimated: true,
5684        rootElement: this._element.parentNode,
5685        clickCallback: isVisible ? clickCallback : null
5686      });
5687    }
5688
5689    _initializeFocusTrap() {
5690      return new FocusTrap({
5691        trapElement: this._element
5692      });
5693    }
5694
5695    _addEventListeners() {
5696      EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {
5697        if (event.key !== ESCAPE_KEY) {
5698          return;
5699        }
5700
5701        if (!this._config.keyboard) {
5702          EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
5703          return;
5704        }
5705
5706        this.hide();
5707      });
5708    } // Static
5709
5710
5711    static jQueryInterface(config) {
5712      return this.each(function () {
5713        const data = Offcanvas.getOrCreateInstance(this, config);
5714
5715        if (typeof config !== 'string') {
5716          return;
5717        }
5718
5719        if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {
vendor: 9,096 bytes, lines 5720-6054
5720          throw new TypeError(`No method named "${config}"`);
5721        }
5722
5723        data[config](this);
5724      });
5725    }
5726
5727  }
5728  /**
5729   * Data API implementation
5730   */
5731
5732
5733  EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) {
5734    const target = getElementFromSelector(this);
5735
5736    if (['A', 'AREA'].includes(this.tagName)) {
5737      event.preventDefault();
5738    }
5739
5740    if (isDisabled(this)) {
5741      return;
5742    }
5743
5744    EventHandler.one(target, EVENT_HIDDEN$3, () => {
5745      // focus on trigger when it is closed
5746      if (isVisible(this)) {
5747        this.focus();
5748      }
5749    }); // avoid conflict when clicking a toggler of an offcanvas, while another is open
5750
5751    const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);
5752
5753    if (alreadyOpen && alreadyOpen !== target) {
5754      Offcanvas.getInstance(alreadyOpen).hide();
5755    }
5756
5757    const data = Offcanvas.getOrCreateInstance(target);
5758    data.toggle(this);
5759  });
5760  EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {
5761    for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {
5762      Offcanvas.getOrCreateInstance(selector).show();
5763    }
5764  });
5765  EventHandler.on(window, EVENT_RESIZE, () => {
5766    for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {
5767      if (getComputedStyle(element).position !== 'fixed') {
5768        Offcanvas.getOrCreateInstance(element).hide();
5769      }
5770    }
5771  });
5772  enableDismissTrigger(Offcanvas);
5773  /**
5774   * jQuery
5775   */
5776
5777  defineJQueryPlugin(Offcanvas);
5778
5779  /**
5780   * --------------------------------------------------------------------------
5781   * Bootstrap (v5.2.3): util/sanitizer.js
5782   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5783   * --------------------------------------------------------------------------
5784   */
5785  const uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']);
5786  const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i;
5787  /**
5788   * A pattern that recognizes a commonly useful subset of URLs that are safe.
5789   *
5790   * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
5791   */
5792
5793  const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i;
5794  /**
5795   * A pattern that matches safe data URLs. Only matches image, video and audio types.
5796   *
5797   * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
5798   */
5799
5800  const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
5801
5802  const allowedAttribute = (attribute, allowedAttributeList) => {
5803    const attributeName = attribute.nodeName.toLowerCase();
5804
5805    if (allowedAttributeList.includes(attributeName)) {
5806      if (uriAttributes.has(attributeName)) {
5807        return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue));
5808      }
5809
5810      return true;
5811    } // Check if a regular expression validates the attribute.
5812
5813
5814    return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName));
5815  };
5816
5817  const DefaultAllowlist = {
5818    // Global attributes allowed on any supplied element below.
5819    '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
5820    a: ['target', 'href', 'title', 'rel'],
5821    area: [],
5822    b: [],
5823    br: [],
5824    col: [],
5825    code: [],
5826    div: [],
5827    em: [],
5828    hr: [],
5829    h1: [],
5830    h2: [],
5831    h3: [],
5832    h4: [],
5833    h5: [],
5834    h6: [],
5835    i: [],
5836    img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
5837    li: [],
5838    ol: [],
5839    p: [],
5840    pre: [],
5841    s: [],
5842    small: [],
5843    span: [],
5844    sub: [],
5845    sup: [],
5846    strong: [],
5847    u: [],
5848    ul: []
5849  };
5850  function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {
5851    if (!unsafeHtml.length) {
5852      return unsafeHtml;
5853    }
5854
5855    if (sanitizeFunction && typeof sanitizeFunction === 'function') {
5856      return sanitizeFunction(unsafeHtml);
5857    }
5858
5859    const domParser = new window.DOMParser();
5860    const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');
5861    const elements = [].concat(...createdDocument.body.querySelectorAll('*'));
5862
5863    for (const element of elements) {
5864      const elementName = element.nodeName.toLowerCase();
5865
5866      if (!Object.keys(allowList).includes(elementName)) {
5867        element.remove();
5868        continue;
5869      }
5870
5871      const attributeList = [].concat(...element.attributes);
5872      const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []);
5873
5874      for (const attribute of attributeList) {
5875        if (!allowedAttribute(attribute, allowedAttributes)) {
5876          element.removeAttribute(attribute.nodeName);
5877        }
5878      }
5879    }
5880
5881    return createdDocument.body.innerHTML;
5882  }
5883
5884  /**
5885   * --------------------------------------------------------------------------
5886   * Bootstrap (v5.2.3): util/template-factory.js
5887   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5888   * --------------------------------------------------------------------------
5889   */
5890  /**
5891   * Constants
5892   */
5893
5894  const NAME$5 = 'TemplateFactory';
5895  const Default$4 = {
5896    allowList: DefaultAllowlist,
5897    content: {},
5898    // { selector : text ,  selector2 : text2 , }
5899    extraClass: '',
5900    html: false,
5901    sanitize: true,
5902    sanitizeFn: null,
5903    template: '<div></div>'
5904  };
5905  const DefaultType$4 = {
5906    allowList: 'object',
5907    content: 'object',
5908    extraClass: '(string|function)',
5909    html: 'boolean',
5910    sanitize: 'boolean',
5911    sanitizeFn: '(null|function)',
5912    template: 'string'
5913  };
5914  const DefaultContentType = {
5915    entry: '(string|element|function|null)',
5916    selector: '(string|element)'
5917  };
5918  /**
5919   * Class definition
5920   */
5921
5922  class TemplateFactory extends Config {
5923    constructor(config) {
5924      super();
5925      this._config = this._getConfig(config);
5926    } // Getters
5927
5928
5929    static get Default() {
5930      return Default$4;
5931    }
5932
5933    static get DefaultType() {
5934      return DefaultType$4;
5935    }
5936
5937    static get NAME() {
5938      return NAME$5;
5939    } // Public
5940
5941
5942    getContent() {
5943      return Object.values(this._config.content).map(config => this._resolvePossibleFunction(config)).filter(Boolean);
5944    }
5945
5946    hasContent() {
5947      return this.getContent().length > 0;
5948    }
5949
5950    changeContent(content) {
5951      this._checkContent(content);
5952
5953      this._config.content = { ...this._config.content,
5954        ...content
5955      };
5956      return this;
5957    }
5958
5959    toHtml() {
5960      const templateWrapper = document.createElement('div');
5961      templateWrapper.innerHTML = this._maybeSanitize(this._config.template);
5962
5963      for (const [selector, text] of Object.entries(this._config.content)) {
5964        this._setContent(templateWrapper, text, selector);
5965      }
5966
5967      const template = templateWrapper.children[0];
5968
5969      const extraClass = this._resolvePossibleFunction(this._config.extraClass);
5970
5971      if (extraClass) {
5972        template.classList.add(...extraClass.split(' '));
5973      }
5974
5975      return template;
5976    } // Private
5977
5978
5979    _typeCheckConfig(config) {
5980      super._typeCheckConfig(config);
5981
5982      this._checkContent(config.content);
5983    }
5984
5985    _checkContent(arg) {
5986      for (const [selector, content] of Object.entries(arg)) {
5987        super._typeCheckConfig({
5988          selector,
5989          entry: content
5990        }, DefaultContentType);
5991      }
5992    }
5993
5994    _setContent(template, content, selector) {
5995      const templateElement = SelectorEngine.findOne(selector, template);
5996
5997      if (!templateElement) {
5998        return;
5999      }
6000
6001      content = this._resolvePossibleFunction(content);
6002
6003      if (!content) {
6004        templateElement.remove();
6005        return;
6006      }
6007
6008      if (isElement$1(content)) {
6009        this._putElementInTemplate(getElement(content), templateElement);
6010
6011        return;
6012      }
6013
6014      if (this._config.html) {
6015        templateElement.innerHTML = this._maybeSanitize(content);
6016        return;
6017      }
6018
6019      templateElement.textContent = content;
6020    }
6021
6022    _maybeSanitize(arg) {
6023      return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg;
6024    }
6025
6026    _resolvePossibleFunction(arg) {
6027      return typeof arg === 'function' ? arg(this) : arg;
6028    }
6029
6030    _putElementInTemplate(element, templateElement) {
6031      if (this._config.html) {
6032        templateElement.innerHTML = '';
6033        templateElement.append(element);
6034        return;
6035      }
6036
6037      templateElement.textContent = element.textContent;
6038    }
6039
6040  }
6041
6042  /**
6043   * --------------------------------------------------------------------------
6044   * Bootstrap (v5.2.3): tooltip.js
6045   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6046   * --------------------------------------------------------------------------
6047   */
6048  /**
6049   * Constants
6050   */
6051
6052  const NAME$4 = 'tooltip';
6053  const DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);
6054  const CLASS_NAME_FADE$2 = 'fade';
vendor: 5,480 bytes, lines 6055-6256
6055  const CLASS_NAME_MODAL = 'modal';
6056  const CLASS_NAME_SHOW$2 = 'show';
6057  const SELECTOR_TOOLTIP_INNER = '.tooltip-inner';
6058  const SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`;
6059  const EVENT_MODAL_HIDE = 'hide.bs.modal';
6060  const TRIGGER_HOVER = 'hover';
6061  const TRIGGER_FOCUS = 'focus';
6062  const TRIGGER_CLICK = 'click';
6063  const TRIGGER_MANUAL = 'manual';
6064  const EVENT_HIDE$2 = 'hide';
6065  const EVENT_HIDDEN$2 = 'hidden';
6066  const EVENT_SHOW$2 = 'show';
6067  const EVENT_SHOWN$2 = 'shown';
6068  const EVENT_INSERTED = 'inserted';
6069  const EVENT_CLICK$1 = 'click';
6070  const EVENT_FOCUSIN$1 = 'focusin';
6071  const EVENT_FOCUSOUT$1 = 'focusout';
6072  const EVENT_MOUSEENTER = 'mouseenter';
6073  const EVENT_MOUSELEAVE = 'mouseleave';
6074  const AttachmentMap = {
6075    AUTO: 'auto',
6076    TOP: 'top',
6077    RIGHT: isRTL() ? 'left' : 'right',
6078    BOTTOM: 'bottom',
6079    LEFT: isRTL() ? 'right' : 'left'
6080  };
6081  const Default$3 = {
6082    allowList: DefaultAllowlist,
6083    animation: true,
6084    boundary: 'clippingParents',
6085    container: false,
6086    customClass: '',
6087    delay: 0,
6088    fallbackPlacements: ['top', 'right', 'bottom', 'left'],
6089    html: false,
6090    offset: [0, 0],
6091    placement: 'top',
6092    popperConfig: null,
6093    sanitize: true,
6094    sanitizeFn: null,
6095    selector: false,
6096    template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div>' + '</div>',
6097    title: '',
6098    trigger: 'hover focus'
6099  };
6100  const DefaultType$3 = {
6101    allowList: 'object',
6102    animation: 'boolean',
6103    boundary: '(string|element)',
6104    container: '(string|element|boolean)',
6105    customClass: '(string|function)',
6106    delay: '(number|object)',
6107    fallbackPlacements: 'array',
6108    html: 'boolean',
6109    offset: '(array|string|function)',
6110    placement: '(string|function)',
6111    popperConfig: '(null|object|function)',
6112    sanitize: 'boolean',
6113    sanitizeFn: '(null|function)',
6114    selector: '(string|boolean)',
6115    template: 'string',
6116    title: '(string|element|function)',
6117    trigger: 'string'
6118  };
6119  /**
6120   * Class definition
6121   */
6122
6123  class Tooltip extends BaseComponent {
6124    constructor(element, config) {
6125      if (typeof Popper === 'undefined') {
6126        throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)');
6127      }
6128
6129      super(element, config); // Private
6130
6131      this._isEnabled = true;
6132      this._timeout = 0;
6133      this._isHovered = null;
6134      this._activeTrigger = {};
6135      this._popper = null;
6136      this._templateFactory = null;
6137      this._newContent = null; // Protected
6138
6139      this.tip = null;
6140
6141      this._setListeners();
6142
6143      if (!this._config.selector) {
6144        this._fixTitle();
6145      }
6146    } // Getters
6147
6148
6149    static get Default() {
6150      return Default$3;
6151    }
6152
6153    static get DefaultType() {
6154      return DefaultType$3;
6155    }
6156
6157    static get NAME() {
6158      return NAME$4;
6159    } // Public
6160
6161
6162    enable() {
6163      this._isEnabled = true;
6164    }
6165
6166    disable() {
6167      this._isEnabled = false;
6168    }
6169
6170    toggleEnabled() {
6171      this._isEnabled = !this._isEnabled;
6172    }
6173
6174    toggle() {
6175      if (!this._isEnabled) {
6176        return;
6177      }
6178
6179      this._activeTrigger.click = !this._activeTrigger.click;
6180
6181      if (this._isShown()) {
6182        this._leave();
6183
6184        return;
6185      }
6186
6187      this._enter();
6188    }
6189
6190    dispose() {
6191      clearTimeout(this._timeout);
6192      EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);
6193
6194      if (this._element.getAttribute('data-bs-original-title')) {
6195        this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'));
6196      }
6197
6198      this._disposePopper();
6199
6200      super.dispose();
6201    }
6202
6203    show() {
6204      if (this._element.style.display === 'none') {
6205        throw new Error('Please use show on visible elements');
6206      }
6207
6208      if (!(this._isWithContent() && this._isEnabled)) {
6209        return;
6210      }
6211
6212      const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2));
6213      const shadowRoot = findShadowRoot(this._element);
6214
6215      const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element);
6216
6217      if (showEvent.defaultPrevented || !isInTheDom) {
6218        return;
6219      } // todo v6 remove this OR make it optional
6220
6221
6222      this._disposePopper();
6223
6224      const tip = this._getTipElement();
6225
6226      this._element.setAttribute('aria-describedby', tip.getAttribute('id'));
6227
6228      const {
6229        container
6230      } = this._config;
6231
6232      if (!this._element.ownerDocument.documentElement.contains(this.tip)) {
6233        container.append(tip);
6234        EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED));
6235      }
6236
6237      this._popper = this._createPopper(tip);
6238      tip.classList.add(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we add extra
6239      // empty mouseover listeners to the body's immediate children;
6240      // only needed because of broken event delegation on iOS
6241      // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
6242
6243      if ('ontouchstart' in document.documentElement) {
6244        for (const element of [].concat(...document.body.children)) {
6245          EventHandler.on(element, 'mouseover', noop);
6246        }
6247      }
6248
6249      const complete = () => {
6250        EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2));
6251
6252        if (this._isHovered === false) {
6253          this._leave();
6254        }
6255
6256        this._isHovered = false;
vendor: 2,145 bytes, lines 6257-6336
6257      };
6258
6259      this._queueCallback(complete, this.tip, this._isAnimated());
6260    }
6261
6262    hide() {
6263      if (!this._isShown()) {
6264        return;
6265      }
6266
6267      const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2));
6268
6269      if (hideEvent.defaultPrevented) {
6270        return;
6271      }
6272
6273      const tip = this._getTipElement();
6274
6275      tip.classList.remove(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we remove the extra
6276      // empty mouseover listeners we added for iOS support
6277
6278      if ('ontouchstart' in document.documentElement) {
6279        for (const element of [].concat(...document.body.children)) {
6280          EventHandler.off(element, 'mouseover', noop);
6281        }
6282      }
6283
6284      this._activeTrigger[TRIGGER_CLICK] = false;
6285      this._activeTrigger[TRIGGER_FOCUS] = false;
6286      this._activeTrigger[TRIGGER_HOVER] = false;
6287      this._isHovered = null; // it is a trick to support manual triggering
6288
6289      const complete = () => {
6290        if (this._isWithActiveTrigger()) {
6291          return;
6292        }
6293
6294        if (!this._isHovered) {
6295          this._disposePopper();
6296        }
6297
6298        this._element.removeAttribute('aria-describedby');
6299
6300        EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2));
6301      };
6302
6303      this._queueCallback(complete, this.tip, this._isAnimated());
6304    }
6305
6306    update() {
6307      if (this._popper) {
6308        this._popper.update();
6309      }
6310    } // Protected
6311
6312
6313    _isWithContent() {
6314      return Boolean(this._getTitle());
6315    }
6316
6317    _getTipElement() {
6318      if (!this.tip) {
6319        this.tip = this._createTipElement(this._newContent || this._getContentForTemplate());
6320      }
6321
6322      return this.tip;
6323    }
6324
6325    _createTipElement(content) {
6326      const tip = this._getTemplateFactory(content).toHtml(); // todo: remove this check on v6
6327
6328
6329      if (!tip) {
6330        return null;
6331      }
6332
6333      tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2); // todo: on v6 the following can be achieved with CSS only
6334
6335      tip.classList.add(`bs-${this.constructor.NAME}-auto`);
6336      const tipId = getUID(this.constructor.NAME).toString();
vendor: 5,979 bytes, lines 6337-6535
6337      tip.setAttribute('id', tipId);
6338
6339      if (this._isAnimated()) {
6340        tip.classList.add(CLASS_NAME_FADE$2);
6341      }
6342
6343      return tip;
6344    }
6345
6346    setContent(content) {
6347      this._newContent = content;
6348
6349      if (this._isShown()) {
6350        this._disposePopper();
6351
6352        this.show();
6353      }
6354    }
6355
6356    _getTemplateFactory(content) {
6357      if (this._templateFactory) {
6358        this._templateFactory.changeContent(content);
6359      } else {
6360        this._templateFactory = new TemplateFactory({ ...this._config,
6361          // the `content` var has to be after `this._config`
6362          // to override config.content in case of popover
6363          content,
6364          extraClass: this._resolvePossibleFunction(this._config.customClass)
6365        });
6366      }
6367
6368      return this._templateFactory;
6369    }
6370
6371    _getContentForTemplate() {
6372      return {
6373        [SELECTOR_TOOLTIP_INNER]: this._getTitle()
6374      };
6375    }
6376
6377    _getTitle() {
6378      return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title');
6379    } // Private
6380
6381
6382    _initializeOnDelegatedTarget(event) {
6383      return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig());
6384    }
6385
6386    _isAnimated() {
6387      return this._config.animation || this.tip && this.tip.classList.contains(CLASS_NAME_FADE$2);
6388    }
6389
6390    _isShown() {
6391      return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW$2);
6392    }
6393
6394    _createPopper(tip) {
6395      const placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement;
6396      const attachment = AttachmentMap[placement.toUpperCase()];
6397      return createPopper(this._element, tip, this._getPopperConfig(attachment));
6398    }
6399
6400    _getOffset() {
6401      const {
6402        offset
6403      } = this._config;
6404
6405      if (typeof offset === 'string') {
6406        return offset.split(',').map(value => Number.parseInt(value, 10));
6407      }
6408
6409      if (typeof offset === 'function') {
6410        return popperData => offset(popperData, this._element);
6411      }
6412
6413      return offset;
6414    }
6415
6416    _resolvePossibleFunction(arg) {
6417      return typeof arg === 'function' ? arg.call(this._element) : arg;
6418    }
6419
6420    _getPopperConfig(attachment) {
6421      const defaultBsPopperConfig = {
6422        placement: attachment,
6423        modifiers: [{
6424          name: 'flip',
6425          options: {
6426            fallbackPlacements: this._config.fallbackPlacements
6427          }
6428        }, {
6429          name: 'offset',
6430          options: {
6431            offset: this._getOffset()
6432          }
6433        }, {
6434          name: 'preventOverflow',
6435          options: {
6436            boundary: this._config.boundary
6437          }
6438        }, {
6439          name: 'arrow',
6440          options: {
6441            element: `.${this.constructor.NAME}-arrow`
6442          }
6443        }, {
6444          name: 'preSetPlacement',
6445          enabled: true,
6446          phase: 'beforeMain',
6447          fn: data => {
6448            // Pre-set Popper's placement attribute in order to read the arrow sizes properly.
6449            // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement
6450            this._getTipElement().setAttribute('data-popper-placement', data.state.placement);
6451          }
6452        }]
6453      };
6454      return { ...defaultBsPopperConfig,
6455        ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)
6456      };
6457    }
6458
6459    _setListeners() {
6460      const triggers = this._config.trigger.split(' ');
6461
6462      for (const trigger of triggers) {
6463        if (trigger === 'click') {
6464          EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => {
6465            const context = this._initializeOnDelegatedTarget(event);
6466
6467            context.toggle();
6468          });
6469        } else if (trigger !== TRIGGER_MANUAL) {
6470          const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1);
6471          const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1);
6472          EventHandler.on(this._element, eventIn, this._config.selector, event => {
6473            const context = this._initializeOnDelegatedTarget(event);
6474
6475            context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;
6476
6477            context._enter();
6478          });
6479          EventHandler.on(this._element, eventOut, this._config.selector, event => {
6480            const context = this._initializeOnDelegatedTarget(event);
6481
6482            context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget);
6483
6484            context._leave();
6485          });
6486        }
6487      }
6488
6489      this._hideModalHandler = () => {
6490        if (this._element) {
6491          this.hide();
6492        }
6493      };
6494
6495      EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);
6496    }
6497
6498    _fixTitle() {
6499      const title = this._element.getAttribute('title');
6500
6501      if (!title) {
6502        return;
6503      }
6504
6505      if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {
6506        this._element.setAttribute('aria-label', title);
6507      }
6508
6509      this._element.setAttribute('data-bs-original-title', title); // DO NOT USE IT. Is only for backwards compatibility
6510
6511
6512      this._element.removeAttribute('title');
6513    }
6514
6515    _enter() {
6516      if (this._isShown() || this._isHovered) {
6517        this._isHovered = true;
6518        return;
6519      }
6520
6521      this._isHovered = true;
6522
6523      this._setTimeout(() => {
6524        if (this._isHovered) {
6525          this.show();
6526        }
6527      }, this._config.delay.show);
6528    }
6529
6530    _leave() {
6531      if (this._isWithActiveTrigger()) {
6532        return;
6533      }
6534
6535      this._isHovered = false;
vendor: 14,315 bytes, lines 6536-7048
6536
6537      this._setTimeout(() => {
6538        if (!this._isHovered) {
6539          this.hide();
6540        }
6541      }, this._config.delay.hide);
6542    }
6543
6544    _setTimeout(handler, timeout) {
6545      clearTimeout(this._timeout);
6546      this._timeout = setTimeout(handler, timeout);
6547    }
6548
6549    _isWithActiveTrigger() {
6550      return Object.values(this._activeTrigger).includes(true);
6551    }
6552
6553    _getConfig(config) {
6554      const dataAttributes = Manipulator.getDataAttributes(this._element);
6555
6556      for (const dataAttribute of Object.keys(dataAttributes)) {
6557        if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {
6558          delete dataAttributes[dataAttribute];
6559        }
6560      }
6561
6562      config = { ...dataAttributes,
6563        ...(typeof config === 'object' && config ? config : {})
6564      };
6565      config = this._mergeConfigObj(config);
6566      config = this._configAfterMerge(config);
6567
6568      this._typeCheckConfig(config);
6569
6570      return config;
6571    }
6572
6573    _configAfterMerge(config) {
6574      config.container = config.container === false ? document.body : getElement(config.container);
6575
6576      if (typeof config.delay === 'number') {
6577        config.delay = {
6578          show: config.delay,
6579          hide: config.delay
6580        };
6581      }
6582
6583      if (typeof config.title === 'number') {
6584        config.title = config.title.toString();
6585      }
6586
6587      if (typeof config.content === 'number') {
6588        config.content = config.content.toString();
6589      }
6590
6591      return config;
6592    }
6593
6594    _getDelegateConfig() {
6595      const config = {};
6596
6597      for (const key in this._config) {
6598        if (this.constructor.Default[key] !== this._config[key]) {
6599          config[key] = this._config[key];
6600        }
6601      }
6602
6603      config.selector = false;
6604      config.trigger = 'manual'; // In the future can be replaced with:
6605      // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])
6606      // `Object.fromEntries(keysWithDifferentValues)`
6607
6608      return config;
6609    }
6610
6611    _disposePopper() {
6612      if (this._popper) {
6613        this._popper.destroy();
6614
6615        this._popper = null;
6616      }
6617
6618      if (this.tip) {
6619        this.tip.remove();
6620        this.tip = null;
6621      }
6622    } // Static
6623
6624
6625    static jQueryInterface(config) {
6626      return this.each(function () {
6627        const data = Tooltip.getOrCreateInstance(this, config);
6628
6629        if (typeof config !== 'string') {
6630          return;
6631        }
6632
6633        if (typeof data[config] === 'undefined') {
6634          throw new TypeError(`No method named "${config}"`);
6635        }
6636
6637        data[config]();
6638      });
6639    }
6640
6641  }
6642  /**
6643   * jQuery
6644   */
6645
6646
6647  defineJQueryPlugin(Tooltip);
6648
6649  /**
6650   * --------------------------------------------------------------------------
6651   * Bootstrap (v5.2.3): popover.js
6652   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6653   * --------------------------------------------------------------------------
6654   */
6655  /**
6656   * Constants
6657   */
6658
6659  const NAME$3 = 'popover';
6660  const SELECTOR_TITLE = '.popover-header';
6661  const SELECTOR_CONTENT = '.popover-body';
6662  const Default$2 = { ...Tooltip.Default,
6663    content: '',
6664    offset: [0, 8],
6665    placement: 'right',
6666    template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>',
6667    trigger: 'click'
6668  };
6669  const DefaultType$2 = { ...Tooltip.DefaultType,
6670    content: '(null|string|element|function)'
6671  };
6672  /**
6673   * Class definition
6674   */
6675
6676  class Popover extends Tooltip {
6677    // Getters
6678    static get Default() {
6679      return Default$2;
6680    }
6681
6682    static get DefaultType() {
6683      return DefaultType$2;
6684    }
6685
6686    static get NAME() {
6687      return NAME$3;
6688    } // Overrides
6689
6690
6691    _isWithContent() {
6692      return this._getTitle() || this._getContent();
6693    } // Private
6694
6695
6696    _getContentForTemplate() {
6697      return {
6698        [SELECTOR_TITLE]: this._getTitle(),
6699        [SELECTOR_CONTENT]: this._getContent()
6700      };
6701    }
6702
6703    _getContent() {
6704      return this._resolvePossibleFunction(this._config.content);
6705    } // Static
6706
6707
6708    static jQueryInterface(config) {
6709      return this.each(function () {
6710        const data = Popover.getOrCreateInstance(this, config);
6711
6712        if (typeof config !== 'string') {
6713          return;
6714        }
6715
6716        if (typeof data[config] === 'undefined') {
6717          throw new TypeError(`No method named "${config}"`);
6718        }
6719
6720        data[config]();
6721      });
6722    }
6723
6724  }
6725  /**
6726   * jQuery
6727   */
6728
6729
6730  defineJQueryPlugin(Popover);
6731
6732  /**
6733   * --------------------------------------------------------------------------
6734   * Bootstrap (v5.2.3): scrollspy.js
6735   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6736   * --------------------------------------------------------------------------
6737   */
6738  /**
6739   * Constants
6740   */
6741
6742  const NAME$2 = 'scrollspy';
6743  const DATA_KEY$2 = 'bs.scrollspy';
6744  const EVENT_KEY$2 = `.${DATA_KEY$2}`;
6745  const DATA_API_KEY = '.data-api';
6746  const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`;
6747  const EVENT_CLICK = `click${EVENT_KEY$2}`;
6748  const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`;
6749  const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
6750  const CLASS_NAME_ACTIVE$1 = 'active';
6751  const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]';
6752  const SELECTOR_TARGET_LINKS = '[href]';
6753  const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
6754  const SELECTOR_NAV_LINKS = '.nav-link';
6755  const SELECTOR_NAV_ITEMS = '.nav-item';
6756  const SELECTOR_LIST_ITEMS = '.list-group-item';
6757  const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`;
6758  const SELECTOR_DROPDOWN = '.dropdown';
6759  const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
6760  const Default$1 = {
6761    offset: null,
6762    // TODO: v6 @deprecated, keep it for backwards compatibility reasons
6763    rootMargin: '0px 0px -25%',
6764    smoothScroll: false,
6765    target: null,
6766    threshold: [0.1, 0.5, 1]
6767  };
6768  const DefaultType$1 = {
6769    offset: '(number|null)',
6770    // TODO v6 @deprecated, keep it for backwards compatibility reasons
6771    rootMargin: 'string',
6772    smoothScroll: 'boolean',
6773    target: 'element',
6774    threshold: 'array'
6775  };
6776  /**
6777   * Class definition
6778   */
6779
6780  class ScrollSpy extends BaseComponent {
6781    constructor(element, config) {
6782      super(element, config); // this._element is the observablesContainer and config.target the menu links wrapper
6783
6784      this._targetLinks = new Map();
6785      this._observableSections = new Map();
6786      this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element;
6787      this._activeTarget = null;
6788      this._observer = null;
6789      this._previousScrollData = {
6790        visibleEntryTop: 0,
6791        parentScrollTop: 0
6792      };
6793      this.refresh(); // initialize
6794    } // Getters
6795
6796
6797    static get Default() {
6798      return Default$1;
6799    }
6800
6801    static get DefaultType() {
6802      return DefaultType$1;
6803    }
6804
6805    static get NAME() {
6806      return NAME$2;
6807    } // Public
6808
6809
6810    refresh() {
6811      this._initializeTargetsAndObservables();
6812
6813      this._maybeEnableSmoothScroll();
6814
6815      if (this._observer) {
6816        this._observer.disconnect();
6817      } else {
6818        this._observer = this._getNewObserver();
6819      }
6820
6821      for (const section of this._observableSections.values()) {
6822        this._observer.observe(section);
6823      }
6824    }
6825
6826    dispose() {
6827      this._observer.disconnect();
6828
6829      super.dispose();
6830    } // Private
6831
6832
6833    _configAfterMerge(config) {
6834      // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case
6835      config.target = getElement(config.target) || document.body; // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only
6836
6837      config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin;
6838
6839      if (typeof config.threshold === 'string') {
6840        config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value));
6841      }
6842
6843      return config;
6844    }
6845
6846    _maybeEnableSmoothScroll() {
6847      if (!this._config.smoothScroll) {
6848        return;
6849      } // unregister any previous listeners
6850
6851
6852      EventHandler.off(this._config.target, EVENT_CLICK);
6853      EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {
6854        const observableSection = this._observableSections.get(event.target.hash);
6855
6856        if (observableSection) {
6857          event.preventDefault();
6858          const root = this._rootElement || window;
6859          const height = observableSection.offsetTop - this._element.offsetTop;
6860
6861          if (root.scrollTo) {
6862            root.scrollTo({
6863              top: height,
6864              behavior: 'smooth'
6865            });
6866            return;
6867          } // Chrome 60 doesn't support `scrollTo`
6868
6869
6870          root.scrollTop = height;
6871        }
6872      });
6873    }
6874
6875    _getNewObserver() {
6876      const options = {
6877        root: this._rootElement,
6878        threshold: this._config.threshold,
6879        rootMargin: this._config.rootMargin
6880      };
6881      return new IntersectionObserver(entries => this._observerCallback(entries), options);
6882    } // The logic of selection
6883
6884
6885    _observerCallback(entries) {
6886      const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`);
6887
6888      const activate = entry => {
6889        this._previousScrollData.visibleEntryTop = entry.target.offsetTop;
6890
6891        this._process(targetElement(entry));
6892      };
6893
6894      const parentScrollTop = (this._rootElement || document.documentElement).scrollTop;
6895      const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop;
6896      this._previousScrollData.parentScrollTop = parentScrollTop;
6897
6898      for (const entry of entries) {
6899        if (!entry.isIntersecting) {
6900          this._activeTarget = null;
6901
6902          this._clearActiveClass(targetElement(entry));
6903
6904          continue;
6905        }
6906
6907        const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop; // if we are scrolling down, pick the bigger offsetTop
6908
6909        if (userScrollsDown && entryIsLowerThanPrevious) {
6910          activate(entry); // if parent isn't scrolled, let's keep the first visible item, breaking the iteration
6911
6912          if (!parentScrollTop) {
6913            return;
6914          }
6915
6916          continue;
6917        } // if we are scrolling up, pick the smallest offsetTop
6918
6919
6920        if (!userScrollsDown && !entryIsLowerThanPrevious) {
6921          activate(entry);
6922        }
6923      }
6924    }
6925
6926    _initializeTargetsAndObservables() {
6927      this._targetLinks = new Map();
6928      this._observableSections = new Map();
6929      const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target);
6930
6931      for (const anchor of targetLinks) {
6932        // ensure that the anchor has an id and is not disabled
6933        if (!anchor.hash || isDisabled(anchor)) {
6934          continue;
6935        }
6936
6937        const observableSection = SelectorEngine.findOne(anchor.hash, this._element); // ensure that the observableSection exists & is visible
6938
6939        if (isVisible(observableSection)) {
6940          this._targetLinks.set(anchor.hash, anchor);
6941
6942          this._observableSections.set(anchor.hash, observableSection);
6943        }
6944      }
6945    }
6946
6947    _process(target) {
6948      if (this._activeTarget === target) {
6949        return;
6950      }
6951
6952      this._clearActiveClass(this._config.target);
6953
6954      this._activeTarget = target;
6955      target.classList.add(CLASS_NAME_ACTIVE$1);
6956
6957      this._activateParents(target);
6958
6959      EventHandler.trigger(this._element, EVENT_ACTIVATE, {
6960        relatedTarget: target
6961      });
6962    }
6963
6964    _activateParents(target) {
6965      // Activate dropdown parents
6966      if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
6967        SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);
6968        return;
6969      }
6970
6971      for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {
6972        // Set triggered links parents as active
6973        // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
6974        for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {
6975          item.classList.add(CLASS_NAME_ACTIVE$1);
6976        }
6977      }
6978    }
6979
6980    _clearActiveClass(parent) {
6981      parent.classList.remove(CLASS_NAME_ACTIVE$1);
6982      const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$1}`, parent);
6983
6984      for (const node of activeNodes) {
6985        node.classList.remove(CLASS_NAME_ACTIVE$1);
6986      }
6987    } // Static
6988
6989
6990    static jQueryInterface(config) {
6991      return this.each(function () {
6992        const data = ScrollSpy.getOrCreateInstance(this, config);
6993
6994        if (typeof config !== 'string') {
6995          return;
6996        }
6997
6998        if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {
6999          throw new TypeError(`No method named "${config}"`);
7000        }
7001
7002        data[config]();
7003      });
7004    }
7005
7006  }
7007  /**
7008   * Data API implementation
7009   */
7010
7011
7012  EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => {
7013    for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {
7014      ScrollSpy.getOrCreateInstance(spy);
7015    }
7016  });
7017  /**
7018   * jQuery
7019   */
7020
7021  defineJQueryPlugin(ScrollSpy);
7022
7023  /**
7024   * --------------------------------------------------------------------------
7025   * Bootstrap (v5.2.3): tab.js
7026   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
7027   * --------------------------------------------------------------------------
7028   */
7029  /**
7030   * Constants
7031   */
7032
7033  const NAME$1 = 'tab';
7034  const DATA_KEY$1 = 'bs.tab';
7035  const EVENT_KEY$1 = `.${DATA_KEY$1}`;
7036  const EVENT_HIDE$1 = `hide${EVENT_KEY$1}`;
7037  const EVENT_HIDDEN$1 = `hidden${EVENT_KEY$1}`;
7038  const EVENT_SHOW$1 = `show${EVENT_KEY$1}`;
7039  const EVENT_SHOWN$1 = `shown${EVENT_KEY$1}`;
7040  const EVENT_CLICK_DATA_API = `click${EVENT_KEY$1}`;
7041  const EVENT_KEYDOWN = `keydown${EVENT_KEY$1}`;
7042  const EVENT_LOAD_DATA_API = `load${EVENT_KEY$1}`;
7043  const ARROW_LEFT_KEY = 'ArrowLeft';
7044  const ARROW_RIGHT_KEY = 'ArrowRight';
7045  const ARROW_UP_KEY = 'ArrowUp';
7046  const ARROW_DOWN_KEY = 'ArrowDown';
7047  const CLASS_NAME_ACTIVE = 'active';
7048  const CLASS_NAME_FADE$1 = 'fade';
vendor: 5,985 bytes, lines 7049-7246
7049  const CLASS_NAME_SHOW$1 = 'show';
7050  const CLASS_DROPDOWN = 'dropdown';
7051  const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
7052  const SELECTOR_DROPDOWN_MENU = '.dropdown-menu';
7053  const NOT_SELECTOR_DROPDOWN_TOGGLE = ':not(.dropdown-toggle)';
7054  const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]';
7055  const SELECTOR_OUTER = '.nav-item, .list-group-item';
7056  const SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`;
7057  const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]'; // todo:v6: could be only `tab`
7058
7059  const SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`;
7060  const SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="list"]`;
7061  /**
7062   * Class definition
7063   */
7064
7065  class Tab extends BaseComponent {
7066    constructor(element) {
7067      super(element);
7068      this._parent = this._element.closest(SELECTOR_TAB_PANEL);
7069
7070      if (!this._parent) {
7071        return; // todo: should Throw exception on v6
7072        // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_INNER_ELEM}`)
7073      } // Set up initial aria attributes
7074
7075
7076      this._setInitialAttributes(this._parent, this._getChildren());
7077
7078      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event));
7079    } // Getters
7080
7081
7082    static get NAME() {
7083      return NAME$1;
7084    } // Public
7085
7086
7087    show() {
7088      // Shows this elem and deactivate the active sibling if exists
7089      const innerElem = this._element;
7090
7091      if (this._elemIsActive(innerElem)) {
7092        return;
7093      } // Search for active tab on same parent to deactivate it
7094
7095
7096      const active = this._getActiveElem();
7097
7098      const hideEvent = active ? EventHandler.trigger(active, EVENT_HIDE$1, {
7099        relatedTarget: innerElem
7100      }) : null;
7101      const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW$1, {
7102        relatedTarget: active
7103      });
7104
7105      if (showEvent.defaultPrevented || hideEvent && hideEvent.defaultPrevented) {
7106        return;
7107      }
7108
7109      this._deactivate(active, innerElem);
7110
7111      this._activate(innerElem, active);
7112    } // Private
7113
7114
7115    _activate(element, relatedElem) {
7116      if (!element) {
7117        return;
7118      }
7119
7120      element.classList.add(CLASS_NAME_ACTIVE);
7121
7122      this._activate(getElementFromSelector(element)); // Search and activate/show the proper section
7123
7124
7125      const complete = () => {
7126        if (element.getAttribute('role') !== 'tab') {
7127          element.classList.add(CLASS_NAME_SHOW$1);
7128          return;
7129        }
7130
7131        element.removeAttribute('tabindex');
7132        element.setAttribute('aria-selected', true);
7133
7134        this._toggleDropDown(element, true);
7135
7136        EventHandler.trigger(element, EVENT_SHOWN$1, {
7137          relatedTarget: relatedElem
7138        });
7139      };
7140
7141      this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1));
7142    }
7143
7144    _deactivate(element, relatedElem) {
7145      if (!element) {
7146        return;
7147      }
7148
7149      element.classList.remove(CLASS_NAME_ACTIVE);
7150      element.blur();
7151
7152      this._deactivate(getElementFromSelector(element)); // Search and deactivate the shown section too
7153
7154
7155      const complete = () => {
7156        if (element.getAttribute('role') !== 'tab') {
7157          element.classList.remove(CLASS_NAME_SHOW$1);
7158          return;
7159        }
7160
7161        element.setAttribute('aria-selected', false);
7162        element.setAttribute('tabindex', '-1');
7163
7164        this._toggleDropDown(element, false);
7165
7166        EventHandler.trigger(element, EVENT_HIDDEN$1, {
7167          relatedTarget: relatedElem
7168        });
7169      };
7170
7171      this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1));
7172    }
7173
7174    _keydown(event) {
7175      if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)) {
7176        return;
7177      }
7178
7179      event.stopPropagation(); // stopPropagation/preventDefault both added to support up/down keys without scrolling the page
7180
7181      event.preventDefault();
7182      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key);
7183      const nextActiveElement = getNextActiveElement(this._getChildren().filter(element => !isDisabled(element)), event.target, isNext, true);
7184
7185      if (nextActiveElement) {
7186        nextActiveElement.focus({
7187          preventScroll: true
7188        });
7189        Tab.getOrCreateInstance(nextActiveElement).show();
7190      }
7191    }
7192
7193    _getChildren() {
7194      // collection of inner elements
7195      return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent);
7196    }
7197
7198    _getActiveElem() {
7199      return this._getChildren().find(child => this._elemIsActive(child)) || null;
7200    }
7201
7202    _setInitialAttributes(parent, children) {
7203      this._setAttributeIfNotExists(parent, 'role', 'tablist');
7204
7205      for (const child of children) {
7206        this._setInitialAttributesOnChild(child);
7207      }
7208    }
7209
7210    _setInitialAttributesOnChild(child) {
7211      child = this._getInnerElement(child);
7212
7213      const isActive = this._elemIsActive(child);
7214
7215      const outerElem = this._getOuterElement(child);
7216
7217      child.setAttribute('aria-selected', isActive);
7218
7219      if (outerElem !== child) {
7220        this._setAttributeIfNotExists(outerElem, 'role', 'presentation');
7221      }
7222
7223      if (!isActive) {
7224        child.setAttribute('tabindex', '-1');
7225      }
7226
7227      this._setAttributeIfNotExists(child, 'role', 'tab'); // set attributes to the related panel too
7228
7229
7230      this._setInitialAttributesOnTargetPanel(child);
7231    }
7232
7233    _setInitialAttributesOnTargetPanel(child) {
7234      const target = getElementFromSelector(child);
7235
7236      if (!target) {
7237        return;
7238      }
7239
7240      this._setAttributeIfNotExists(target, 'role', 'tabpanel');
7241
7242      if (child.id) {
7243        this._setAttributeIfNotExists(target, 'aria-labelledby', `#${child.id}`);
7244      }
7245    }
7246
vendor: 7,109 bytes, lines 7247-7535
7247    _toggleDropDown(element, open) {
7248      const outerElem = this._getOuterElement(element);
7249
7250      if (!outerElem.classList.contains(CLASS_DROPDOWN)) {
7251        return;
7252      }
7253
7254      const toggle = (selector, className) => {
7255        const element = SelectorEngine.findOne(selector, outerElem);
7256
7257        if (element) {
7258          element.classList.toggle(className, open);
7259        }
7260      };
7261
7262      toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE);
7263      toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW$1);
7264      outerElem.setAttribute('aria-expanded', open);
7265    }
7266
7267    _setAttributeIfNotExists(element, attribute, value) {
7268      if (!element.hasAttribute(attribute)) {
7269        element.setAttribute(attribute, value);
7270      }
7271    }
7272
7273    _elemIsActive(elem) {
7274      return elem.classList.contains(CLASS_NAME_ACTIVE);
7275    } // Try to get the inner element (usually the .nav-link)
7276
7277
7278    _getInnerElement(elem) {
7279      return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem);
7280    } // Try to get the outer element (usually the .nav-item)
7281
7282
7283    _getOuterElement(elem) {
7284      return elem.closest(SELECTOR_OUTER) || elem;
7285    } // Static
7286
7287
7288    static jQueryInterface(config) {
7289      return this.each(function () {
7290        const data = Tab.getOrCreateInstance(this);
7291
7292        if (typeof config !== 'string') {
7293          return;
7294        }
7295
7296        if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {
7297          throw new TypeError(`No method named "${config}"`);
7298        }
7299
7300        data[config]();
7301      });
7302    }
7303
7304  }
7305  /**
7306   * Data API implementation
7307   */
7308
7309
7310  EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
7311    if (['A', 'AREA'].includes(this.tagName)) {
7312      event.preventDefault();
7313    }
7314
7315    if (isDisabled(this)) {
7316      return;
7317    }
7318
7319    Tab.getOrCreateInstance(this).show();
7320  });
7321  /**
7322   * Initialize on focus
7323   */
7324
7325  EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
7326    for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {
7327      Tab.getOrCreateInstance(element);
7328    }
7329  });
7330  /**
7331   * jQuery
7332   */
7333
7334  defineJQueryPlugin(Tab);
7335
7336  /**
7337   * --------------------------------------------------------------------------
7338   * Bootstrap (v5.2.3): toast.js
7339   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
7340   * --------------------------------------------------------------------------
7341   */
7342  /**
7343   * Constants
7344   */
7345
7346  const NAME = 'toast';
7347  const DATA_KEY = 'bs.toast';
7348  const EVENT_KEY = `.${DATA_KEY}`;
7349  const EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`;
7350  const EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`;
7351  const EVENT_FOCUSIN = `focusin${EVENT_KEY}`;
7352  const EVENT_FOCUSOUT = `focusout${EVENT_KEY}`;
7353  const EVENT_HIDE = `hide${EVENT_KEY}`;
7354  const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
7355  const EVENT_SHOW = `show${EVENT_KEY}`;
7356  const EVENT_SHOWN = `shown${EVENT_KEY}`;
7357  const CLASS_NAME_FADE = 'fade';
7358  const CLASS_NAME_HIDE = 'hide'; // @deprecated - kept here only for backwards compatibility
7359
7360  const CLASS_NAME_SHOW = 'show';
7361  const CLASS_NAME_SHOWING = 'showing';
7362  const DefaultType = {
7363    animation: 'boolean',
7364    autohide: 'boolean',
7365    delay: 'number'
7366  };
7367  const Default = {
7368    animation: true,
7369    autohide: true,
7370    delay: 5000
7371  };
7372  /**
7373   * Class definition
7374   */
7375
7376  class Toast extends BaseComponent {
7377    constructor(element, config) {
7378      super(element, config);
7379      this._timeout = null;
7380      this._hasMouseInteraction = false;
7381      this._hasKeyboardInteraction = false;
7382
7383      this._setListeners();
7384    } // Getters
7385
7386
7387    static get Default() {
7388      return Default;
7389    }
7390
7391    static get DefaultType() {
7392      return DefaultType;
7393    }
7394
7395    static get NAME() {
7396      return NAME;
7397    } // Public
7398
7399
7400    show() {
7401      const showEvent = EventHandler.trigger(this._element, EVENT_SHOW);
7402
7403      if (showEvent.defaultPrevented) {
7404        return;
7405      }
7406
7407      this._clearTimeout();
7408
7409      if (this._config.animation) {
7410        this._element.classList.add(CLASS_NAME_FADE);
7411      }
7412
7413      const complete = () => {
7414        this._element.classList.remove(CLASS_NAME_SHOWING);
7415
7416        EventHandler.trigger(this._element, EVENT_SHOWN);
7417
7418        this._maybeScheduleHide();
7419      };
7420
7421      this._element.classList.remove(CLASS_NAME_HIDE); // @deprecated
7422
7423
7424      reflow(this._element);
7425
7426      this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING);
7427
7428      this._queueCallback(complete, this._element, this._config.animation);
7429    }
7430
7431    hide() {
7432      if (!this.isShown()) {
7433        return;
7434      }
7435
7436      const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE);
7437
7438      if (hideEvent.defaultPrevented) {
7439        return;
7440      }
7441
7442      const complete = () => {
7443        this._element.classList.add(CLASS_NAME_HIDE); // @deprecated
7444
7445
7446        this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW);
7447
7448        EventHandler.trigger(this._element, EVENT_HIDDEN);
7449      };
7450
7451      this._element.classList.add(CLASS_NAME_SHOWING);
7452
7453      this._queueCallback(complete, this._element, this._config.animation);
7454    }
7455
7456    dispose() {
7457      this._clearTimeout();
7458
7459      if (this.isShown()) {
7460        this._element.classList.remove(CLASS_NAME_SHOW);
7461      }
7462
7463      super.dispose();
7464    }
7465
7466    isShown() {
7467      return this._element.classList.contains(CLASS_NAME_SHOW);
7468    } // Private
7469
7470
7471    _maybeScheduleHide() {
7472      if (!this._config.autohide) {
7473        return;
7474      }
7475
7476      if (this._hasMouseInteraction || this._hasKeyboardInteraction) {
7477        return;
7478      }
7479
7480      this._timeout = setTimeout(() => {
7481        this.hide();
7482      }, this._config.delay);
7483    }
7484
7485    _onInteraction(event, isInteracting) {
7486      switch (event.type) {
7487        case 'mouseover':
7488        case 'mouseout':
7489          {
7490            this._hasMouseInteraction = isInteracting;
7491            break;
7492          }
7493
7494        case 'focusin':
7495        case 'focusout':
7496          {
7497            this._hasKeyboardInteraction = isInteracting;
7498            break;
7499          }
7500      }
7501
7502      if (isInteracting) {
7503        this._clearTimeout();
7504
7505        return;
7506      }
7507
7508      const nextElement = event.relatedTarget;
7509
7510      if (this._element === nextElement || this._element.contains(nextElement)) {
7511        return;
7512      }
7513
7514      this._maybeScheduleHide();
7515    }
7516
7517    _setListeners() {
7518      EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true));
7519      EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false));
7520      EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true));
7521      EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false));
7522    }
7523
7524    _clearTimeout() {
7525      clearTimeout(this._timeout);
7526      this._timeout = null;
7527    } // Static
7528
7529
7530    static jQueryInterface(config) {
7531      return this.each(function () {
7532        const data = Toast.getOrCreateInstance(this, config);
7533
7534        if (typeof config === 'string') {
7535          if (typeof data[config] === 'undefined') {
7536            throw new TypeError(`No method named "${config}"`);
7537          }
7538
7539          data[config](this);
7540        }
7541      });
7542    }
7543
7544  }
7545  /**
7546   * Data API implementation
7547   */
7548
7549
7550  enableDismissTrigger(Toast);
7551  /**
7552   * jQuery
7553   */
7554
7555  defineJQueryPlugin(Toast);
7556
7557  /**
7558   * --------------------------------------------------------------------------
7559   * Bootstrap (v5.2.3): index.umd.js
7560   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
7561   * --------------------------------------------------------------------------
7562   */
7563  const index_umd = {
7564    Alert,
7565    Button,
7566    Carousel,
7567    Collapse,
7568    Dropdown,
7569    Modal,
7570    Offcanvas,
7571    Popover,
7572    ScrollSpy,
7573    Tab,
7574    Toast,
7575    Tooltip
7576  };
7577
7578  return index_umd;
7579
7580}));
7581
7582;
7583!function(k,m,v,i){"use strict";var y="slick",C="unslick",b=y+"--initialized",s="."+y,w=".slick__slider",z=".slick__arrow",_=".b-lazy[data-src]:not(.b-loaded)",x=".media__icon--close",P="is-playing",$="is-paused",A=m.blazy||{};function e(s){var n,e,a=k("> "+w,s).length?k("> "+w,s):k(s),l=k("> "+z,s),t=a.data(y)?k.extend({},v.slick,a.data(y)):k.extend({},v.slick),i=!("array"!==k.type(t.responsive)||!t.responsive.length)&&t.responsive,o=t.appendDots,d="blazy"===t.lazyLoad&&A,c=a.find(".media--player").length,r=a.hasClass(C);if(r||(t.appendDots=o===z?l:o||k(a)),i)for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&i[n].settings!==C&&(i[n].settings=k.extend({},v.slick,p(t),i[n].settings));function u(n){a.find(_).length&&((n=a.find(n?".slide:not(.slick-cloned) "+_:".slick-active "+_)).length||(n=a.find(".slick-cloned "+_)),n.length&&A.init&&A.init.load(n))}function f(){c&&h(),d&&u(!1)}function h(){a.removeClass($);var n=a.find("."+P);n.length&&n.removeClass(P).find(x).click()}function g(){a.addClass($).slick("slickPause")}function p(s){return r?{}:{slide:s.slide,lazyLoad:s.lazyLoad,dotsClass:s.dotsClass,rtl:s.rtl,prevArrow:k(".slick-prev",l),nextArrow:k(".slick-next",l),appendArrows:l,customPaging:function(n,e){var t=n.$slides.eq(e).find("[data-thumb]")||null,i='<img alt="'+m.t(t.find("img").attr("alt"))+'" src="'+t.data("thumb")+'">',i=t.length&&0<s.dotsClass.indexOf("thumbnail")?'<div class="slick-dots__thumbnail">'+i+"</div>":"",e=n.defaults.customPaging(n,e);return i?e.add(i):e}}}a.data(y,t),(t=a.data(y)).randomize&&!a.hasClass("slick-initiliazed")&&a.children().sort(function(){return.5-Math.random()}).each(function(){a.append(this)}),r||a.on("init.sl",function(n,e){o===z&&k(e.$dots).insertAfter(e.$prevArrow);e=a.find(".slick-cloned.slick-active "+_);d&&e.length&&A.init&&A.init.load(e)}),d?a.on("beforeChange.sl",function(){u(!0)}):(e=k(".media",a)).length&&(e.find("[data-src]").length||e.hasClass("b-bg"))&&e.closest(".slide__content").addClass("is-loading"),a.on("setPosition.sl",function(n,e){var t,i;e=(t=e).slideCount<=t.options.slidesToShow,i=e||!1===t.options.arrows,a.attr("id")===t.$slider.attr("id")&&(t.options.centerPadding&&"0"!==t.options.centerPadding||t.$list.css("padding",""),e&&(t.$slideTrack.width()<=t.$slider.width()||k(s).hasClass("slick--thumbnail"))&&t.$slideTrack.css({left:"",transform:""}),(t=a.find(".b-loaded ~ .b-loader")).length&&t.remove(),l.length&&k.each(["next","prev"],function(n,e){k(".slick-"+e,l)[i?"addClass":"removeClass"]("visually-hidden")}))}),a.slick(p(t)),a.parent().on("click.sl",".slick-down",function(n){n.preventDefault();n=k(this);k("html, body").stop().animate({scrollTop:k(n.data("target")).offset().top-(n.data("offset")||0)},800,"easeOutQuad"in k.easing&&t.easing?t.easing:"swing")}),t.mouseWheel&&a.on("mousewheel.sl",function(n,e){return n.preventDefault(),a.slick(e<0?"slickNext":"slickPrev")}),d||a.on("lazyLoaded lazyLoadError",function(n,e,t){var i;i=(t=k(i=t)).closest(".slide")||t.closest("."+C),t.parentsUntil(i).removeClass(function(n,e){return(e.match(/(\S+)loading/g)||[]).join(" ")})}),a.on("afterChange.sl",f),c&&(a.on("click.sl",x,h),a.on("click.sl",".media__icon--play",g)),r&&a.slick(C),k(s).addClass(b)}m.behaviors.slick={attach:function(n){i.context&&i.once.find?(n=i.context(n),i.once(e,y,s,n)):(n=(n=(n="length"in(n=n||document)?n[
vendor: 3,865 bytes, lines 7583-7672
75830]:n)instanceof HTMLDocument?n:document).querySelectorAll(s+":not(."+b+")")).length&&i.once(i.forEach(n,e))},detach:function(n,e,t){"unload"===t&&i.once.removeSafely&&(n=i.context(n),i.once.removeSafely(y,s,n))}}}(jQuery,Drupal,drupalSettings,dBlazy);
7584;
7585/******/ (function(modules) { // webpackBootstrap
7586/******/ 	// The module cache
7587/******/ 	var installedModules = {};
7588/******/
7589/******/ 	// The require function
7590/******/ 	function __webpack_require__(moduleId) {
7591/******/
7592/******/ 		// Check if module is in cache
7593/******/ 		if(installedModules[moduleId]) {
7594/******/ 			return installedModules[moduleId].exports;
7595/******/ 		}
7596/******/ 		// Create a new module (and put it into the cache)
7597/******/ 		var module = installedModules[moduleId] = {
7598/******/ 			i: moduleId,
7599/******/ 			l: false,
7600/******/ 			exports: {}
7601/******/ 		};
7602/******/
7603/******/ 		// Execute the module function
7604/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
7605/******/
7606/******/ 		// Flag the module as loaded
7607/******/ 		module.l = true;
7608/******/
7609/******/ 		// Return the exports of the module
7610/******/ 		return module.exports;
7611/******/ 	}
7612/******/
7613/******/
7614/******/ 	// expose the modules object (__webpack_modules__)
7615/******/ 	__webpack_require__.m = modules;
7616/******/
7617/******/ 	// expose the module cache
7618/******/ 	__webpack_require__.c = installedModules;
7619/******/
7620/******/ 	// define getter function for harmony exports
7621/******/ 	__webpack_require__.d = function(exports, name, getter) {
7622/******/ 		if(!__webpack_require__.o(exports, name)) {
7623/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
7624/******/ 		}
7625/******/ 	};
7626/******/
7627/******/ 	// define __esModule on exports
7628/******/ 	__webpack_require__.r = function(exports) {
7629/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
7630/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
7631/******/ 		}
7632/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
7633/******/ 	};
7634/******/
7635/******/ 	// create a fake namespace object
7636/******/ 	// mode & 1: value is a module id, require it
7637/******/ 	// mode & 2: merge all properties of value into the ns
7638/******/ 	// mode & 4: return value when already ns object
7639/******/ 	// mode & 8|1: behave like require
7640/******/ 	__webpack_require__.t = function(value, mode) {
7641/******/ 		if(mode & 1) value = __webpack_require__(value);
7642/******/ 		if(mode & 8) return value;
7643/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
7644/******/ 		var ns = Object.create(null);
7645/******/ 		__webpack_require__.r(ns);
7646/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
7647/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
7648/******/ 		return ns;
7649/******/ 	};
7650/******/
7651/******/ 	// getDefaultExport function for compatibility with non-harmony modules
7652/******/ 	__webpack_require__.n = function(module) {
7653/******/ 		var getter = module && module.__esModule ?
7654/******/ 			function getDefault() { return module['default']; } :
7655/******/ 			function getModuleExports() { return module; };
7656/******/ 		__webpack_require__.d(getter, 'a', getter);
7657/******/ 		return getter;
7658/******/ 	};
7659/******/
7660/******/ 	// Object.prototype.hasOwnProperty.call
7661/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
7662/******/
7663/******/ 	// __webpack_public_path__
7664/******/ 	__webpack_require__.p = "";
7665/******/
7666/******/
7667/******/ 	// Load entry module and return exports
7668/******/ 	return __webpack_require__(__webpack_require__.s = "./js/frontend.js");
7669/******/ })
7670/************************************************************************/
7671/******/ ({
7672
7673/***/ "./js/frontend.js":
7674/*!************************!*\
7675  !*** ./js/frontend.js ***!
7676  \************************/
7677/*! no exports provided */
7678/***/ (function(module, __webpack_exports__, __webpack_require__) {
7679
7680"use strict";
7681__webpack_require__.r(__webpack_exports__);
7682/* harmony import */ var _plugin_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./plugin.js */ "./js/plugin.js");
7683function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
7684
7685function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
7686
7687function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
7688
7689function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
7690
7691function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
7692
7693function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
7694
7695
7696
7697(function (Drupal) {
7698  'use strict';
7699
7700  Drupal.TBMegaMenu = Drupal.TBMegaMenu || {};
7701  var focusableSelector = 'a:not([disabled]):not([tabindex="-1"]), button:not([disabled]):not([tabindex="-1"]), input:not([disabled]):not([tabindex="-1"]), select:not([disabled]):not([tabindex="-1"]), textarea:not([disabled]):not([tabindex="-1"]), details:not([disabled]):not([tabindex="-1"]), [tabindex]:not([disabled]):not([tabindex="-1"])';
7702
7703  var updateTBMenus = function updateTBMenus() {
7704    document.querySelectorAll('.tbm').forEach(function (thisMenu) {
7705      var menuId = thisMenu.getAttribute('id');
7706      Drupal.TBMegaMenu[menuId] = {};
7707      var breakpoint = parseInt(thisMenu.getAttribute('data-breakpoint'));
7708      var hideMobileMenu = parseInt(thisMenu.getAttribute('data-hide-mobile-menu'));
7709
7710      if (window.matchMedia("(max-width: ".concat(breakpoint, "px)")).matches) {
7711        thisMenu.classList.add('tbm--mobile');
7712
7713        if (hideMobileMenu) {
7714          thisMenu.style = 'display: none';
7715        }
7716      } else {
7717        thisMenu.classList.remove('tbm--mobile');
7718        thisMenu.style = 'display: block';
7719      }
7720
7721      var focusable = document.querySelectorAll(focusableSelector);
7722      focusable = _toConsumableArray(focusable);
7723      var topLevel = thisMenu.querySelectorAll('.tbm-link.level-1, .tbm-link.level-1 + .tbm-submenu-toggle');
7724      topLevel = _toConsumableArray(topLevel);
7725      topLevel = topLevel.filter(function (element) {
7726        return element.offsetWidth > 0 && element.offsetHeight > 0;
7727      });
7728      Drupal.TBMegaMenu['focusable'] = focusable;
7729      Drupal.TBMegaMenu[menuId]['topLevel'] = topLevel;
7730    });
7731  };
7732
7733  var throttled = _.throttle(updateTBMenus, 100);
7734
7735  ['load', 'resize'].forEach(function (event) {
7736    window.addEventListener(event, throttled);
7737  });
7738
7739  Drupal.TBMegaMenu.getNextPrevElement = function (direction) {
7740    var excludeSubnav = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
7741    var current = document.activeElement;
7742    var nextElement = null;
7743
7744    if (current) {
7745      var focusable = document.querySelectorAll(focusableSelector);
7746      focusable = _toConsumableArray(focusable);
7747      focusable = Drupal.TBMegaMenu['focusable'].filter(function (element) {
7748        if (excludeSubnav) {
7749          return !element.closest('.tbm-subnav') && element.offsetWidth > 0 && element.offsetHeight > 0;
7750        }
7751
7752        return element.offsetWidth > 0 && element.offsetHeight > 0;
7753      });
7754      var index = focusable.indexOf(current);
7755
7756      if (index > -1) {
7757        if (direction === 'next') {
7758          nextElement = focusable[index + 1] || focusable[0];
7759        } else {
7760          nextElement = focusable[index - 1] || focusable[0];
7761        }
7762      }
7763    }
7764
7765    return nextElement;
7766  };
7767
7768  Drupal.behaviors.tbMegaMenuInit = {
7769    attach: function attach(context) {
7770      context.querySelectorAll('.tbm').forEach(function (menu) {
7771        if (!menu.getAttribute('data-initialized')) {
7772          menu.setAttribute('data-initialized', 'true');
7773          var tbMega = new _plugin_js__WEBPACK_IMPORTED_MODULE_0__["TBMegaMenu"](menu.getAttribute('id'));
7774          tbMega.init();
7775        }
7776      });
7777    }
7778  };
7779  Drupal.behaviors.tbMegaMenuRespond = {
7780    attach: function attach(context) {
7781      updateTBMenus();
7782    }
7783  };
7784})(Drupal);
7785
7786/***/ }),
7787
7788/***/ "./js/plugin.js":
7789/*!**********************!*\
7790  !*** ./js/plugin.js ***!
7791  \**********************/
7792/*! exports provided: TBMegaMenu */
7793/***/ (function(module, __webpack_exports__, __webpack_require__) {
7794
7795"use strict";
7796__webpack_require__.r(__webpack_exports__);
7797/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TBMegaMenu", function() { return TBMegaMenu; });
7798function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7799
7800function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
7801
7802function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
7803
7804function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
7805
7806var TBMegaMenu = function () {
7807  function TBMegaMenu(id) {
7808    _classCallCheck(this, TBMegaMenu);
7809
7810    _defineProperty(this, 'use strict', void 0);
7811
7812    this.id = id;
7813    this.navParent = document.getElementById(this.id);
7814    this.isTouch = window.matchMedia('(pointer: coarse)').matches;
7815    var menuSettings = drupalSettings['TBMegaMenu'][this.id];
7816    this.hasArrows = menuSettings['arrows'] === '1';
7817    var mm_duration = this.navParent.getAttribute('data-duration') ? parseInt(this.navParent.getAttribute('data-duration')) : 0;
7818    this.mm_timeout = mm_duration ? 100 + mm_duration : 500;
7819  }
7820
7821  _createClass(TBMegaMenu, [{
7822    key: "isMobile",
7823    get: function get() {
7824      return this.navParent.classList.contains('tbm--mobile');
7825    }
7826  }, {
7827    key: "keyDownHandler",
7828    value: function keyDownHandler(k) {
7829      var _this = this;
7830
7831      var menuId = this.id;
7832
7833      switch (k.keyCode) {
7834        case 9:
7835          if (!_this.isMobile) {
7836            nav_tab(k);
7837          }
7838
7839          break;
7840
7841        case 13:
7842          nav_enter();
7843          break;
7844
7845        case 27:
7846          nav_esc();
7847          break;
7848
7849        case 37:
7850          k.preventDefault();
7851          nav_left(k);
7852          break;
7853
7854        case 38:
7855          k.preventDefault();
7856          nav_up(k);
7857          break;
7858
7859        case 39:
7860          k.preventDefault();
7861          nav_right(k);
7862          break;
7863
7864        case 40:
7865          k.preventDefault();
7866          nav_down(k);
7867          break;
7868
7869        default:
7870      }
7871
7872      function nav_tab(k) {
7873        k.preventDefault();
7874
7875        if (nav_is_toplink()) {
7876          if (k.shiftKey || k.keyCode === 38 || k.keyCode === 37) {
7877            nav_prev_toplink();
7878          } else {
7879            nav_next_toplink();
7880          }
7881        } else {
7882          if (k.shiftKey || k.keyCode === 38 || k.keyCode === 37) {
7883            Drupal.TBMegaMenu.getNextPrevElement('prev').focus();
7884          } else {
7885            Drupal.TBMegaMenu.getNextPrevElement('next').focus();
7886          }
7887        }
7888      }
7889
7890      function nav_esc() {
7891        _this.closeMenu();
7892      }
7893
7894      function nav_enter() {
7895        if (document.activeElement.classList.contains('no-link')) {
7896          document.activeElement.click();
7897        }
7898      }
7899
7900      function nav_left(k) {
7901        if (nav_is_toplink()) {
7902          nav_prev_toplink();
7903        } else {
7904          nav_up(k);
7905        }
7906      }
7907
7908      function nav_right(k) {
7909        if (nav_is_toplink()) {
7910          nav_next_toplink();
7911        } else {
7912          nav_down(k);
7913        }
7914      }
7915
7916      function nav_up(k) {
7917        if (nav_is_toplink()) {} else {
7918          nav_tab(k);
7919        }
7920      }
7921
7922      function nav_down(k) {
7923        if (nav_is_toplink()) {
7924          Drupal.TBMegaMenu.getNextPrevElement('next').focus();
7925        } else if (Drupal.TBMegaMenu.getNextPrevElement('next').closest('.tbm-item.level-1') !== document.activeElement.closest('.tbm-item.level-1')) {} else {
7926          nav_tab(k);
7927        }
7928      }
7929
7930      function nav_is_toplink() {
7931        var topLevel = Drupal.TBMegaMenu[menuId]['topLevel'];
7932        return topLevel.indexOf(document.activeElement) > -1;
7933      }
7934
7935      function nav_is_last_toplink() {
7936        var topLevel = Drupal.TBMegaMenu[menuId]['topLevel'];
7937        return topLevel.indexOf(document.activeElement) === topLevel.length - 1;
7938      }
7939
7940      function nav_is_first_toplink() {
7941        var topLevel = Drupal.TBMegaMenu[menuId]['topLevel'];
7942        return topLevel.indexOf(document.activeElement) === 0;
7943      }
7944
7945      function nav_next_toplink() {
7946        if (!nav_is_last_toplink()) {
7947          var topLevel = Drupal.TBMegaMenu[menuId]['topLevel'];
7948          var index = topLevel.indexOf(document.activeElement);
7949
7950          if (index > -1) {
7951            topLevel[index + 1].focus();
7952          }
7953        } else {
7954          Drupal.TBMegaMenu.getNextPrevElement('next', true).focus();
7955        }
7956      }
7957
7958      function nav_prev_toplink() {
7959        if (!nav_is_first_toplink()) {
7960          var topLevel = Drupal.TBMegaMenu[menuId]['topLevel'];
7961          var index = topLevel.indexOf(document.activeElement);
7962
7963          if (index > -1) {
7964            topLevel[index - 1].focus();
7965          }
7966        } else {
7967          Drupal.TBMegaMenu.getNextPrevElement('prev', true).focus();
7968        }
7969      }
7970    }
7971  }, {
7972    key: "handleTouch",
7973    value: function handleTouch(item) {
7974      var _this = this;
7975
7976      var link = item.querySelector(':scope > .tbm-link-container').querySelector(':scope > .tbm-link');
7977      var tbitem = link.closest('.tbm-item');
7978      link.addEventListener('click', function (event) {
7979        if (!_this.isMobile && _this.isTouch && !_this.hasArrows) {
7980          if (link.classList.contains('tbm-clicked')) {
7981            var uri = link.getAttribute('href');
7982
7983            if (uri) {
7984              window.location.href = uri;
7985            } else {
7986              link.classList.remove('tbm-clicked');
7987
7988              _this.hideMenu(tbitem, _this.mm_timeout);
7989            }
7990          } else {
7991            event.preventDefault();
7992
7993            var allOpen = _this.navParent.querySelectorAll('.open');
7994
7995            allOpen.forEach(function (element) {
7996              if (element.contains(link)) {} else {
7997                element.classList.remove('open');
7998              }
7999            });
8000
8001            _this.ariaCheck();
8002
8003            _this.navParent.querySelectorAll('.tbm-clicked').forEach(function (element) {
8004              element.classList.remove('tbm-clicked');
8005            });
8006
8007            link.classList.add('tbm-clicked');
8008
8009            _this.showMenu(tbitem, _this.mm_timeout);
8010          }
8011        }
8012      });
8013      document.addEventListener('click', function (event) {
8014        if (!event.target.closest('.tbm-nav')) {
8015          if (_this.navParent.querySelectorAll('.open').length > 0) {
8016            _this.closeMenu();
8017          }
8018        }
8019      });
8020      document.addEventListener('focusin', function (event) {
8021        if (!event.target.closest('.tbm')) {
8022          _this.closeMenu();
8023        }
8024      });
8025    }
8026  }, {
8027    key: "closeMenu",
8028    value: function closeMenu() {
8029      this.navParent.classList.remove('tbm--mobile-show');
8030      this.navParent.querySelector('.tbm-button').setAttribute('aria-expanded', 'false');
8031      this.navParent.querySelectorAll('.open').forEach(function (element) {
8032        element.classList.remove('open');
8033      });
8034      this.navParent.querySelectorAll('.tbm-clicked').forEach(function (element) {
8035        element.classList.remove('tbm-clicked');
8036      });
8037      this.ariaCheck();
8038    }
8039  }, {
8040    key: "ariaCheck",
8041    value: function ariaCheck() {
8042      var toggleElement = function toggleElement(element, value) {
8043        element.querySelectorAll('.tbm-toggle, .tbm-submenu-toggle').forEach(function (toggle) {
8044          toggle.setAttribute('aria-expanded', value);
8045        });
8046      };
8047
8048      this.navParent.querySelectorAll('.tbm-item').forEach(function (element) {
8049        if (element.classList.contains('tbm-group')) {
8050          if (!element.closest('.open')) {
8051            toggleElement(element, 'false');
8052          } else if (element.closest('.open')) {
8053            toggleElement(element, 'true');
8054          }
8055        } else if (element.classList.contains('tbm-item--has-dropdown') || element.classList.contains('tbm-item--has-flyout')) {
8056          if (!element.classList.contains('open')) {
8057            toggleElement(element, 'false');
8058          } else if (element.classList.contains('open')) {
8059            toggleElement(element, 'true');
8060          }
8061        } else {
8062          element.querySelectorAll('.tbm-toggle, .tbm-submenu-toggle').forEach(function (toggle) {
8063            toggle.removeAttribute('aria-expanded');
8064          });
8065        }
8066      });
8067    }
8068  }, {
8069    key: "showMenu",
8070    value: function showMenu(listItem, mm_timeout) {
8071      var _this = this;
8072
8073      if (listItem.classList.contains('level-1')) {
8074        listItem.classList.add('animating');
8075        clearTimeout(listItem.animatingTimeout);
8076        listItem.animatingTimeout = setTimeout(function () {
8077          listItem.classList.remove('animating');
8078        }, mm_timeout);
8079        clearTimeout(listItem.hoverTimeout);
8080        listItem.hoverTimeout = setTimeout(function () {
8081          listItem.classList.add('open');
8082
8083          _this.ariaCheck();
8084        }, 100);
8085      } else {
8086        clearTimeout(listItem.hoverTimeout);
8087        listItem.hoverTimeout = setTimeout(function () {
8088          listItem.classList.add('open');
8089
8090          _this.ariaCheck();
8091        }, 100);
8092      }
8093    }
8094  }, {
8095    key: "hideMenu",
8096    value: function hideMenu(listItem, mm_timeout) {
8097      var _this = this;
8098
8099      listItem.querySelectorAll('.tbm-toggle, .tbm-submenu-toggle').forEach(function (element) {
8100        element.setAttribute('aria-expanded', false);
8101      });
8102
8103      if (listItem.classList.contains('level-1')) {
8104        listItem.classList.add('animating');
8105        clearTimeout(listItem.animatingTimeout);
8106        listItem.animatingTimeout = setTimeout(function () {
8107          listItem.classList.remove('animating');
8108        }, mm_timeout);
8109        clearTimeout(listItem.hoverTimeout);
8110        listItem.hoverTimeout = setTimeout(function () {
8111          listItem.classList.remove('open');
8112
8113          _this.ariaCheck();
8114        }, 100);
8115      } else {
8116        clearTimeout(listItem.hoverTimeout);
8117        listItem.hoverTimeout = setTimeout(function () {
8118          listItem.classList.remove('open');
8119
8120          _this.ariaCheck();
8121        }, 100);
8122      }
8123    }
8124  }, {
8125    key: "init",
8126    value: function init() {
8127      var _this = this;
8128
8129      document.querySelectorAll('.tbm-button').forEach(function (element) {
8130        element.addEventListener('click', function (event) {
8131          if (_this.navParent.classList.contains('tbm--mobile-show')) {
8132            _this.closeMenu();
8133          } else {
8134            _this.navParent.classList.add('tbm--mobile-show');
8135
8136            event.currentTarget.setAttribute('aria-expanded', 'true');
8137          }
8138        });
8139      });
8140
8141      if (!this.isTouch) {
8142        this.navParent.querySelectorAll('.tbm-item').forEach(function (element) {
8143          element.addEventListener('mouseenter', function (event) {
8144            if (!_this.isMobile && !_this.hasArrows) {
8145              _this.showMenu(element, _this.mm_timeout);
8146            }
8147          });
8148          element.addEventListener('mouseleave', function (event) {
8149            if (!_this.isMobile && !_this.hasArrows) {
8150              _this.hideMenu(element, _this.mm_timeout);
8151            }
8152          });
8153        });
8154        this.navParent.querySelectorAll('.tbm-toggle').forEach(function (element) {
8155          element.addEventListener('focus', function (event) {
8156            if (!_this.isMobile && !_this.hasArrows) {
8157              var listItem = event.currentTarget.closest('li');
8158
8159              _this.showMenu(listItem, _this.mm_timeout);
8160
8161              document.addEventListener('focusin', function (event) {
8162                if (!_this.isMobile && !_this.hasArrows) {
8163                  if (event.target !== listItem && !listItem.contains(event.target)) {
8164                    document.removeEventListener('focusin', event);
8165
8166                    _this.hideMenu(listItem, _this.mm_timeout);
8167                  }
8168                }
8169              });
8170            }
8171          });
8172        });
8173      }
8174
8175      this.navParent.querySelectorAll('.tbm-item').forEach(function (item) {
8176        if (item.querySelector(':scope > .tbm-submenu')) {
8177          _this.handleTouch(item);
8178        }
8179      });
8180      this.navParent.querySelectorAll('.tbm-submenu-toggle, .tbm-link.no-link').forEach(function (toggleElement) {
8181        toggleElement.addEventListener('click', function (event) {
8182          if (_this.isMobile) {
8183            var parentItem = event.currentTarget.closest('.tbm-item');
8184
8185            if (parentItem.classList.contains('open')) {
8186              _this.hideMenu(parentItem, _this.mm_timeout);
8187            } else {
8188              _this.showMenu(parentItem, _this.mm_timeout);
8189            }
8190          }
8191
8192          if (!_this.isMobile && !(_this.isTouch && !_this.hasArrows && event.currentTarget.classList.contains('no-link'))) {
8193            var _parentItem = event.currentTarget.closest('.tbm-item');
8194
8195            if (_parentItem.classList.contains('open')) {
8196              _this.hideMenu(_parentItem, _this.mm_timeout);
8197
8198              _parentItem.querySelectorAll('.open').forEach(function (element) {
8199                _this.hideMenu(element, _this.mm_timeout);
8200              });
8201            } else {
8202              _this.showMenu(_parentItem, _this.mm_timeout);
8203
8204              var prevSibling = _parentItem.previousElementSibling;
8205
8206              while (prevSibling) {
8207                _this.hideMenu(prevSibling, _this.mm_timeout);
8208
8209                prevSibling.querySelectorAll('.open').forEach(function (item) {
8210                  _this.hideMenu(item, _this.mm_timeout);
8211                });
8212                prevSibling = prevSibling.previousElementSibling;
8213              }
8214
8215              var nextSibling = _parentItem.nextElementSibling;
8216
8217              while (nextSibling) {
8218                _this.hideMenu(nextSibling, _this.mm_timeout);
8219
8220                nextSibling.querySelectorAll('.open').forEach(function (item) {
8221                  _this.hideMenu(item, _this.mm_timeout);
8222                });
8223                nextSibling = nextSibling.nextElementSibling;
8224              }
8225            }
8226          }
8227        });
8228      });
8229      this.navParent.addEventListener('keydown', this.keyDownHandler.bind(this));
8230    }
8231  }]);
8232
8233  return TBMegaMenu;
8234}();
8235
8236/***/ })
8236
8237
8238/******/ });

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.