/* Minification failed. Returning unminified contents.
(5586,43-44): run-time error JS1195: Expected expression: .
(5607,14-15): run-time error JS1033: Expected 'catch': )
(5609,9-10): run-time error JS1002: Syntax error: }
(5611,9-10): run-time error JS1002: Syntax error: }
(5621,57-58): run-time error JS1004: Expected ';': {
(5662,1-2): run-time error JS1002: Syntax error: }
(5656,9-20): run-time error JS1018: 'return' statement outside of function: return html
 */
/*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */
!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.2.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=Array.isArray(d)))?(e?(e=!1,f=c&&Array.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e);return!1}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}return!1}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext;function B(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,D=/^.[^:#\[\.,]*$/;function E(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):D.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(E(this,a||[],!1))},not:function(a){return this.pushStack(E(this,a||[],!0))},is:function(a){return!!E(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var F,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,H=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||F,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:G.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),C.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};H.prototype=r.fn,F=r(d);var I=/^(?:parents|prev(?:Until|All))/,J={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function K(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return K(a,"nextSibling")},prev:function(a){return K(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return B(a,"iframe")?a.contentDocument:(B(a,"template")&&(a=a.content||a),r.merge([],a.childNodes))}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(J[a]||r.uniqueSort(e),I.test(a)&&e.reverse()),this.pushStack(e)}});var L=/[^\x20\t\r\n\f]+/g;function M(a){var b={};return r.each(a.match(L)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?M(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=e||a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function N(a){return a}function O(a){throw a}function P(a,b,c,d){var e;try{a&&r.isFunction(e=a.promise)?e.call(a).done(b).fail(c):a&&r.isFunction(e=a.then)?e.call(a,b,c):b.apply(void 0,[a].slice(d))}catch(a){c.apply(void 0,[a])}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,N,e),g(f,c,O,e)):(f++,j.call(a,g(f,c,N,e),g(f,c,O,e),g(f,c,N,c.notifyWith))):(d!==N&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==O&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:N,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:N)),c[2][3].add(g(0,a,r.isFunction(d)?d:O))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(P(a,g.done(h(c)).resolve,g.reject,!b),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)P(e[c],h(c),g.reject);return g.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&Q.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var R=r.Deferred();r.fn.ready=function(a){return R.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||R.resolveWith(d,[r]))}}),r.ready.then=R.then;function S(){d.removeEventListener("DOMContentLoaded",S),
a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},U=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function V(){this.expando=r.expando+V.uid++}V.uid=1,V.prototype={cache:function(a){var b=a[this.expando];return b||(b={},U(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){Array.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(L)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var W=new V,X=new V,Y=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function $(a){return"true"===a||"false"!==a&&("null"===a?null:a===+a+""?+a:Y.test(a)?JSON.parse(a):a)}function _(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Z,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c=$(c)}catch(e){}X.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return X.hasData(a)||W.hasData(a)},data:function(a,b,c){return X.access(a,b,c)},removeData:function(a,b){X.remove(a,b)},_data:function(a,b,c){return W.access(a,b,c)},_removeData:function(a,b){W.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=X.get(f),1===f.nodeType&&!W.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),_(f,d,e[d])));W.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){X.set(this,a)}):T(this,function(b){var c;if(f&&void 0===b){if(c=X.get(f,a),void 0!==c)return c;if(c=_(f,a),void 0!==c)return c}else this.each(function(){X.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){X.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=W.get(a,b),c&&(!d||Array.isArray(c)?d=W.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return W.get(a,c)||W.access(a,c,{empty:r.Callbacks("once memory").add(function(){W.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=W.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var aa=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ba=new RegExp("^(?:([+-])=|)("+aa+")([a-z%]*)$","i"),ca=["Top","Right","Bottom","Left"],da=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},ea=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function fa(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&ba.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ga={};function ha(a){var b,c=a.ownerDocument,d=a.nodeName,e=ga[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),ga[d]=e,e)}function ia(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=W.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&da(d)&&(e[f]=ha(d))):"none"!==c&&(e[f]="none",W.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ia(this,!0)},hide:function(){return ia(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){da(this)?r(this).show():r(this).hide()})}});var ja=/^(?:checkbox|radio)$/i,ka=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,la=/^$|\/(?:java|ecma)script/i,ma={option:[1,"<select multiple='multiple'>","</select>"],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,"",""]};ma.optgroup=ma.option,ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead,ma.th=ma.td;function na(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&B(a,b)?r.merge([a],c):c}function oa(a,b){for(var c=0,d=a.length;c<d;c++)W.set(a[c],"globalEval",!b||W.get(b[c],"globalEval"))}var pa=/<|&#?\w+;/;function qa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(pa.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ka.exec(f)||["",""])[1].toLowerCase(),i=ma[h]||ma._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=na(l.appendChild(f),"script"),j&&oa(g),c){k=0;while(f=g[k++])la.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g,h=[],i=b.delegateCount,j=a.target;if(i&&j.nodeType&&!("click"===a.type&&a.button>=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c<i;c++)d=b[c],e=d.selector+" ",void 0===g[e]&&(g[e]=d.needsContext?r(e,this).index(j)>-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i<b.length&&h.push({elem:j,handlers:b.slice(i)}),h},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==xa()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===xa()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&B(this,"input"))return this.click(),!1},_default:function(a){return B(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?va:wa,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:wa,isPropagationStopped:wa,isImmediatePropagationStopped:wa,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=va,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=va,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=va,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.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,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:function(a){var b=a.button;return null==a.which&&sa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ta.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return ya(this,a,b,c,d)},one:function(a,b,c,d){return ya(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=wa),this.each(function(){r.event.remove(this,a,c,b)})}});var za=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/<script|<style|<link/i,Ba=/checked\s*(?:[^=]|=\s*.checked.)/i,Ca=/^true\/(.*)/,Da=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}X.hasData(a)&&(h=X.access(a),i=r.extend({},h),X.set(b,i))}}function Ia(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ja.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ja(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,na(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ga),l=0;l<i;l++)j=h[l],la.test(j.type||"")&&!W.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Da,""),k))}return a}function Ka(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(na(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&oa(na(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(za,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d<e;d++)Ia(f[d],g[d]);if(b)if(c)for(f=f||na(a),g=g||na(h),d=0,e=f.length;d<e;d++)Ha(f[d],g[d]);else Ha(a,h);return g=na(h,"script"),g.length>0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(na(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ja(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(na(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var La=/^margin/,Ma=new RegExp("^("+aa+")(?!px)[a-z%]+$","i"),Na=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",ra.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,ra.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Oa(a,b,c){var d,e,f,g,h=a.style;return c=c||Na(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ma.test(g)&&La.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Pa(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Qa=/^(none|table(?!-c[ea]).+)/,Ra=/^--/,Sa={position:"absolute",visibility:"hidden",display:"block"},Ta={letterSpacing:"0",fontWeight:"400"},Ua=["Webkit","Moz","ms"],Va=d.createElement("div").style;function Wa(a){if(a in Va)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ua.length;while(c--)if(a=Ua[c]+b,a in Va)return a}function Xa(a){var b=r.cssProps[a];return b||(b=r.cssProps[a]=Wa(a)||a),b}function Ya(a,b,c){var d=ba.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Za(a,b,c,d,e){var f,g=0;for(f=c===(d?"border":"content")?4:"width"===b?1:0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+ca[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+ca[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+ca[f]+"Width",!0,e))):(g+=r.css(a,"padding"+ca[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+ca[f]+"Width",!0,e)));return g}function $a(a,b,c){var d,e=Na(a),f=Oa(a,b,e),g="border-box"===r.css(a,"boxSizing",!1,e);return Ma.test(f)?f:(d=g&&(o.boxSizingReliable()||f===a.style[b]),"auto"===f&&(f=a["offset"+b[0].toUpperCase()+b.slice(1)]),f=parseFloat(f)||0,f+Za(a,b,c||(g?"border":"content"),d,e)+"px")}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Oa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=Ra.test(b),j=a.style;return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:j[b]:(f=typeof c,"string"===f&&(e=ba.exec(c))&&e[1]&&(c=fa(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(j[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i?j.setProperty(b,c):j[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b),i=Ra.test(b);return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Oa(a,b,d)),"normal"===e&&b in Ta&&(e=Ta[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Qa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?$a(a,b,d):ea(a,Sa,function(){return $a(a,b,d)})},set:function(a,c,d){var e,f=d&&Na(a),g=d&&Za(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=ba.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ya(a,c,g)}}}),r.cssHooks.marginLeft=Pa(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Oa(a,"marginLeft"))||a.getBoundingClientRect().left-ea(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+ca[d]+b]=f[d]||f[d-2]||f[0];return e}},La.test(a)||(r.cssHooks[a+b].set=Ya)}),r.fn.extend({css:function(a,b){return T(this,function(a,b,c){var d,e,f={},g=0;if(Array.isArray(b)){for(d=Na(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function _a(a,b,c,d,e){return new _a.prototype.init(a,b,c,d,e)}r.Tween=_a,_a.prototype={constructor:_a,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=_a.propHooks[this.prop];return a&&a.get?a.get(this):_a.propHooks._default.get(this)},run:function(a){var b,c=_a.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):_a.propHooks._default.set(this),this}},_a.prototype.init.prototype=_a.prototype,_a.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},_a.propHooks.scrollTop=_a.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=_a.prototype.init,r.fx.step={};var ab,bb,cb=/^(?:toggle|show|hide)$/,db=/queueHooks$/;function eb(){bb&&(d.hidden===!1&&a.requestAnimationFrame?a.requestAnimationFrame(eb):a.setTimeout(eb,r.fx.interval),r.fx.tick())}function fb(){return a.setTimeout(function(){ab=void 0}),ab=r.now()}function gb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ca[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function hb(a,b,c){for(var d,e=(kb.tweeners[b]||[]).concat(kb.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&da(a),q=W.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],cb.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=W.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ia([a],!0),j=a.style.display||j,k=r.css(a,"display"),ia([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=W.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ia([a],!0),m.done(function(){p||ia([a]),W.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=hb(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],Array.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kb(a,b,c){var d,e,f=0,g=kb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=ab||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(i||h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:ab||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);f<g;f++)if(d=kb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,hb,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j}r.Animation=r.extend(kb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return fa(c.elem,a,ba.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(L);for(var c,d=0,e=a.length;d<e;d++)c=a[d],kb.tweeners[c]=kb.tweeners[c]||[],kb.tweeners[c].unshift(b)},prefilters:[ib],prefilter:function(a,b){b?kb.prefilters.unshift(a):kb.prefilters.push(a)}}),r.speed=function(a,b,c){var d=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off?d.duration=0:"number"!=typeof d.duration&&(d.duration in r.fx.speeds?d.duration=r.fx.speeds[d.duration]:d.duration=r.fx.speeds._default),null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){r.isFunction(d.old)&&d.old.call(this),d.queue&&r.dequeue(this,d.queue)},d},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(da).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=kb(this,r.extend({},a),f);(e||W.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=r.timers,g=W.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&db.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=W.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gb(b,!0),a,d,e)}}),r.each({slideDown:gb("show"),slideUp:gb("hide"),slideToggle:gb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(ab=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),ab=void 0},r.fx.timer=function(a){r.timers.push(a),r.fx.start()},r.fx.interval=13,r.fx.start=function(){bb||(bb=!0,eb())},r.fx.stop=function(){bb=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var lb,mb=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return T(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?lb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),
null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),lb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=mb[b]||r.find.attr;mb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=mb[g],mb[g]=e,e=null!=c(a,b,d)?g:null,mb[g]=f),e}});var nb=/^(?:input|select|textarea|button)$/i,ob=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):nb.test(a.nodeName)||ob.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function pb(a){var b=a.match(L)||[];return b.join(" ")}function qb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,qb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,qb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,qb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=qb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+pb(qb(c))+" ").indexOf(b)>-1)return!0;return!1}});var rb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:pb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d<i;d++)if(c=e[d],(c.selected||d===f)&&!c.disabled&&(!c.parentNode.disabled||!B(c.parentNode,"optgroup"))){if(b=r(c).val(),g)return b;h.push(b)}return h},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var sb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!sb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,sb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.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(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var tb=a.location,ub=r.now(),vb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}});var Bb=/%20/g,Cb=/#.*$/,Db=/([?&])_=[^&]*/,Eb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Fb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Gb=/^(?:GET|HEAD)$/,Hb=/^\/\//,Ib={},Jb={},Kb="*/".concat("*"),Lb=d.createElement("a");Lb.href=tb.href;function Mb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(L)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nb(a,b,c,d){var e={},f=a===Jb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Ob(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Pb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Qb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:tb.href,type:"GET",isLocal:Fb.test(tb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kb,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":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Ob(Ob(a,r.ajaxSettings),b):Ob(r.ajaxSettings,a)},ajaxPrefilter:Mb(Ib),ajaxTransport:Mb(Jb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Eb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||tb.href)+"").replace(Hb,tb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(L)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Lb.protocol+"//"+Lb.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Nb(Ib,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Gb.test(o.type),f=o.url.replace(Cb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(Bb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(vb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Db,"$1"),n=(vb.test(f)?"&":"?")+"_="+ub++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Kb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Nb(Jb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Pb(o,y,d)),v=Qb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Rb={0:200,1223:204},Sb=r.ajaxSettings.xhr();o.cors=!!Sb&&"withCredentials"in Sb,o.ajax=Sb=!!Sb,r.ajaxTransport(function(b){var c,d;if(o.cors||Sb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Rb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Tb=[],Ub=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Tb.pop()||r.expando+"_"+ub++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Ub.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ub.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Ub,"$1"+e):b.jsonp!==!1&&(b.url+=(vb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Tb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=C.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=qa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=pb(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length},r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),b=f.ownerDocument,c=b.documentElement,e=b.defaultView,{top:d.top+e.pageYOffset-c.clientTop,left:d.left+e.pageXOffset-c.clientLeft}):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),B(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||ra})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return T(this,function(a,d,e){var f;return r.isWindow(a)?f=a:9===a.nodeType&&(f=a.defaultView),void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Pa(o.pixelPosition,function(a,c){if(c)return c=Oa(a,b),Ma.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return T(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.holdReady=function(a){a?r.readyWait++:r.ready(!0)},r.isArray=Array.isArray,r.parseJSON=JSON.parse,r.nodeName=B,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Vb=a.jQuery,Wb=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Wb),b&&a.jQuery===r&&(a.jQuery=Vb),r},b||(a.jQuery=a.$=r),r});
;
!function(e){var t={};function i(s){if(t[s])return t[s].exports;var a=t[s]={i:s,l:!1,exports:{}};return e[s].call(a.exports,a,a.exports,i),a.l=!0,a.exports}i.m=e,i.c=t,i.d=function(e,t,s){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:s})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(i.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)i.d(s,a,function(t){return e[t]}.bind(null,a));return s},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=42)}([function(e,t){e.exports=jQuery},function(e,t,i){"use strict";(function(t){var i={isAlertActive:!1,init:function(){i.accordions.init(),i.localMenu.init(),i.isAlertActive=!!t("#ems").length,i.entMenu.init(),i.hasOwnProperty("youTubeAPI")&&i.youTubeAPI.init()},debounceTimeouts:{},debounce:function(e,t,s){i.debounceTimeouts.hasOwnProperty(e.name)&&clearTimeout(i.debounceTimeouts[e.name]),i.debounceTimeouts[e.name]=setTimeout((function(){e.apply(null,s)}),t)},hasResizeEvent:!1,resizeInit:function(){!i.hasResizeEvent&&i.resizeFunctions.length?(i.hasResizeEvent=!0,t(window).on("resize",(function(){i.debounce(i.resize,200)}))):i.hasResizeEvent&&0==i.resizeFunctions.length&&(i.hasResizeEvent=!1,t(window).off("resize"))},resizeFunctions:[],resize:function(){t.each(i.resizeFunctions,(function(e,t){t()}))},focusableElementsSelector:'a[href],[tabindex="0"], input:not([type="hidden"]),button,select,textarea'};e.exports=i}).call(this,i(0))},function(e,t,i){e.exports=function(){"use strict";var e="undefined"==typeof document?{body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},location:{hash:""}}:document,t="undefined"==typeof window?{document:e,navigator:{userAgent:""},location:{},history:{},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){}}:window,i=function(e){for(var t=0;t<e.length;t+=1)this[t]=e[t];return this.length=e.length,this};function s(s,a){var n=[],r=0;if(s&&!a&&s instanceof i)return s;if(s)if("string"==typeof s){var o,l,d=s.trim();if(0<=d.indexOf("<")&&0<=d.indexOf(">")){var c="div";for(0===d.indexOf("<li")&&(c="ul"),0===d.indexOf("<tr")&&(c="tbody"),0!==d.indexOf("<td")&&0!==d.indexOf("<th")||(c="tr"),0===d.indexOf("<tbody")&&(c="table"),0===d.indexOf("<option")&&(c="select"),(l=e.createElement(c)).innerHTML=d,r=0;r<l.childNodes.length;r+=1)n.push(l.childNodes[r])}else for(o=a||"#"!==s[0]||s.match(/[ .<>:~]/)?(a||e).querySelectorAll(s.trim()):[e.getElementById(s.trim().split("#")[1])],r=0;r<o.length;r+=1)o[r]&&n.push(o[r])}else if(s.nodeType||s===t||s===e)n.push(s);else if(0<s.length&&s[0].nodeType)for(r=0;r<s.length;r+=1)n.push(s[r]);return new i(n)}function a(e){for(var t=[],i=0;i<e.length;i+=1)-1===t.indexOf(e[i])&&t.push(e[i]);return t}s.fn=i.prototype,s.Class=i,s.Dom7=i;var n={addClass:function(e){if(void 0===e)return this;for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.add(t[i]);return this},removeClass:function(e){for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.remove(t[i]);return this},hasClass:function(e){return!!this[0]&&this[0].classList.contains(e)},toggleClass:function(e){for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.toggle(t[i]);return this},attr:function(e,t){var i=arguments;if(1===arguments.length&&"string"==typeof e)return this[0]?this[0].getAttribute(e):void 0;for(var s=0;s<this.length;s+=1)if(2===i.length)this[s].setAttribute(e,t);else for(var a in e)this[s][a]=e[a],this[s].setAttribute(a,e[a]);return this},removeAttr:function(e){for(var t=0;t<this.length;t+=1)this[t].removeAttribute(e);return this},data:function(e,t){var i;if(void 0!==t){for(var s=0;s<this.length;s+=1)(i=this[s]).dom7ElementDataStorage||(i.dom7ElementDataStorage={}),i.dom7ElementDataStorage[e]=t;return this}if(i=this[0])return i.dom7ElementDataStorage&&e in i.dom7ElementDataStorage?i.dom7ElementDataStorage[e]:i.getAttribute("data-"+e)||void 0},transform:function(e){for(var t=0;t<this.length;t+=1){var i=this[t].style;i.webkitTransform=e,i.transform=e}return this},transition:function(e){"string"!=typeof e&&(e+="ms");for(var t=0;t<this.length;t+=1){var i=this[t].style;i.webkitTransitionDuration=e,i.transitionDuration=e}return this},on:function(){for(var e,t=[],i=arguments.length;i--;)t[i]=arguments[i];var a=t[0],n=t[1],r=t[2],o=t[3];function l(e){var t=e.target;if(t){var i=e.target.dom7EventData||[];if(i.indexOf(e)<0&&i.unshift(e),s(t).is(n))r.apply(t,i);else for(var a=s(t).parents(),o=0;o<a.length;o+=1)s(a[o]).is(n)&&r.apply(a[o],i)}}function d(e){var t=e&&e.target&&e.target.dom7EventData||[];t.indexOf(e)<0&&t.unshift(e),r.apply(this,t)}"function"==typeof t[1]&&(a=(e=t)[0],r=e[1],o=e[2],n=void 0),o||(o=!1);for(var c,u=a.split(" "),p=0;p<this.length;p+=1){var h=this[p];if(n)for(c=0;c<u.length;c+=1){var f=u[c];h.dom7LiveListeners||(h.dom7LiveListeners={}),h.dom7LiveListeners[f]||(h.dom7LiveListeners[f]=[]),h.dom7LiveListeners[f].push({listener:r,proxyListener:l}),h.addEventListener(f,l,o)}else for(c=0;c<u.length;c+=1){var v=u[c];h.dom7Listeners||(h.dom7Listeners={}),h.dom7Listeners[v]||(h.dom7Listeners[v]=[]),h.dom7Listeners[v].push({listener:r,proxyListener:d}),h.addEventListener(v,d,o)}}return this},off:function(){for(var e,t=[],i=arguments.length;i--;)t[i]=arguments[i];var s=t[0],a=t[1],n=t[2],r=t[3];"function"==typeof t[1]&&(s=(e=t)[0],n=e[1],r=e[2],a=void 0),r||(r=!1);for(var o=s.split(" "),l=0;l<o.length;l+=1)for(var d=o[l],c=0;c<this.length;c+=1){var u=this[c],p=void 0;if(!a&&u.dom7Listeners?p=u.dom7Listeners[d]:a&&u.dom7LiveListeners&&(p=u.dom7LiveListeners[d]),p&&p.length)for(var h=p.length-1;0<=h;h-=1){var f=p[h];n&&f.listener===n||n&&f.listener&&f.listener.dom7proxy&&f.listener.dom7proxy===n?(u.removeEventListener(d,f.proxyListener,r),p.splice(h,1)):n||(u.removeEventListener(d,f.proxyListener,r),p.splice(h,1))}}return this},trigger:function(){for(var i=[],s=arguments.length;s--;)i[s]=arguments[s];for(var a=i[0].split(" "),n=i[1],r=0;r<a.length;r+=1)for(var o=a[r],l=0;l<this.length;l+=1){var d=this[l],c=void 0;try{c=new t.CustomEvent(o,{detail:n,bubbles:!0,cancelable:!0})}catch(i){(c=e.createEvent("Event")).initEvent(o,!0,!0),c.detail=n}d.dom7EventData=i.filter((function(e,t){return 0<t})),d.dispatchEvent(c),d.dom7EventData=[],delete d.dom7EventData}return this},transitionEnd:function(e){var t,i=["webkitTransitionEnd","transitionend"],s=this;function a(n){if(n.target===this)for(e.call(this,n),t=0;t<i.length;t+=1)s.off(i[t],a)}if(e)for(t=0;t<i.length;t+=1)s.on(i[t],a);return this},outerWidth:function(e){if(0<this.length){if(e){var t=this.styles();return this[0].offsetWidth+parseFloat(t.getPropertyValue("margin-right"))+parseFloat(t.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(e){if(0<this.length){if(e){var t=this.styles();return this[0].offsetHeight+parseFloat(t.getPropertyValue("margin-top"))+parseFloat(t.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},offset:function(){if(0<this.length){var i=this[0],s=i.getBoundingClientRect(),a=e.body,n=i.clientTop||a.clientTop||0,r=i.clientLeft||a.clientLeft||0,o=i===t?t.scrollY:i.scrollTop,l=i===t?t.scrollX:i.scrollLeft;return{top:s.top+o-n,left:s.left+l-r}}return null},css:function(e,i){var s;if(1===arguments.length){if("string"!=typeof e){for(s=0;s<this.length;s+=1)for(var a in e)this[s].style[a]=e[a];return this}if(this[0])return t.getComputedStyle(this[0],null).getPropertyValue(e)}if(2!==arguments.length||"string"!=typeof e)return this;for(s=0;s<this.length;s+=1)this[s].style[e]=i;return this},each:function(e){if(!e)return this;for(var t=0;t<this.length;t+=1)if(!1===e.call(this[t],t,this[t]))return this;return this},html:function(e){if(void 0===e)return this[0]?this[0].innerHTML:void 0;for(var t=0;t<this.length;t+=1)this[t].innerHTML=e;return this},text:function(e){if(void 0===e)return this[0]?this[0].textContent.trim():null;for(var t=0;t<this.length;t+=1)this[t].textContent=e;return this},is:function(a){var n,r,o=this[0];if(!o||void 0===a)return!1;if("string"==typeof a){if(o.matches)return o.matches(a);if(o.webkitMatchesSelector)return o.webkitMatchesSelector(a);if(o.msMatchesSelector)return o.msMatchesSelector(a);for(n=s(a),r=0;r<n.length;r+=1)if(n[r]===o)return!0;return!1}if(a===e)return o===e;if(a===t)return o===t;if(a.nodeType||a instanceof i){for(n=a.nodeType?[a]:a,r=0;r<n.length;r+=1)if(n[r]===o)return!0;return!1}return!1},index:function(){var e,t=this[0];if(t){for(e=0;null!==(t=t.previousSibling);)1===t.nodeType&&(e+=1);return e}},eq:function(e){if(void 0===e)return this;var t,s=this.length;return new i(s-1<e?[]:e<0?(t=s+e)<0?[]:[this[t]]:[this[e]])},append:function(){for(var t,s=[],a=arguments.length;a--;)s[a]=arguments[a];for(var n=0;n<s.length;n+=1){t=s[n];for(var r=0;r<this.length;r+=1)if("string"==typeof t){var o=e.createElement("div");for(o.innerHTML=t;o.firstChild;)this[r].appendChild(o.firstChild)}else if(t instanceof i)for(var l=0;l<t.length;l+=1)this[r].appendChild(t[l]);else this[r].appendChild(t)}return this},prepend:function(t){var s,a;for(s=0;s<this.length;s+=1)if("string"==typeof t){var n=e.createElement("div");for(n.innerHTML=t,a=n.childNodes.length-1;0<=a;a-=1)this[s].insertBefore(n.childNodes[a],this[s].childNodes[0])}else if(t instanceof i)for(a=0;a<t.length;a+=1)this[s].insertBefore(t[a],this[s].childNodes[0]);else this[s].insertBefore(t,this[s].childNodes[0]);return this},next:function(e){return 0<this.length?e?this[0].nextElementSibling&&s(this[0].nextElementSibling).is(e)?new i([this[0].nextElementSibling]):new i([]):this[0].nextElementSibling?new i([this[0].nextElementSibling]):new i([]):new i([])},nextAll:function(e){var t=[],a=this[0];if(!a)return new i([]);for(;a.nextElementSibling;){var n=a.nextElementSibling;e?s(n).is(e)&&t.push(n):t.push(n),a=n}return new i(t)},prev:function(e){if(0<this.length){var t=this[0];return e?t.previousElementSibling&&s(t.previousElementSibling).is(e)?new i([t.previousElementSibling]):new i([]):t.previousElementSibling?new i([t.previousElementSibling]):new i([])}return new i([])},prevAll:function(e){var t=[],a=this[0];if(!a)return new i([]);for(;a.previousElementSibling;){var n=a.previousElementSibling;e?s(n).is(e)&&t.push(n):t.push(n),a=n}return new i(t)},parent:function(e){for(var t=[],i=0;i<this.length;i+=1)null!==this[i].parentNode&&(e?s(this[i].parentNode).is(e)&&t.push(this[i].parentNode):t.push(this[i].parentNode));return s(a(t))},parents:function(e){for(var t=[],i=0;i<this.length;i+=1)for(var n=this[i].parentNode;n;)e?s(n).is(e)&&t.push(n):t.push(n),n=n.parentNode;return s(a(t))},closest:function(e){var t=this;return void 0===e?new i([]):(t.is(e)||(t=t.parents(e).eq(0)),t)},find:function(e){for(var t=[],s=0;s<this.length;s+=1)for(var a=this[s].querySelectorAll(e),n=0;n<a.length;n+=1)t.push(a[n]);return new i(t)},children:function(e){for(var t=[],n=0;n<this.length;n+=1)for(var r=this[n].childNodes,o=0;o<r.length;o+=1)e?1===r[o].nodeType&&s(r[o]).is(e)&&t.push(r[o]):1===r[o].nodeType&&t.push(r[o]);return new i(a(t))},remove:function(){for(var e=0;e<this.length;e+=1)this[e].parentNode&&this[e].parentNode.removeChild(this[e]);return this},add:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var i,a;for(i=0;i<e.length;i+=1){var n=s(e[i]);for(a=0;a<n.length;a+=1)this[this.length]=n[a],this.length+=1}return this},styles:function(){return this[0]?t.getComputedStyle(this[0],null):{}}};Object.keys(n).forEach((function(e){s.fn[e]=n[e]}));var r,o,l,d,c={deleteProps:function(e){var t=e;Object.keys(t).forEach((function(e){try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))},nextTick:function(e,t){return void 0===t&&(t=0),setTimeout(e,t)},now:function(){return Date.now()},getTranslate:function(e,i){var s,a,n;void 0===i&&(i="x");var r=t.getComputedStyle(e,null);return t.WebKitCSSMatrix?(6<(a=r.transform||r.webkitTransform).split(",").length&&(a=a.split(", ").map((function(e){return e.replace(",",".")})).join(", ")),n=new t.WebKitCSSMatrix("none"===a?"":a)):s=(n=r.MozTransform||r.OTransform||r.MsTransform||r.msTransform||r.transform||r.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(","),"x"===i&&(a=t.WebKitCSSMatrix?n.m41:16===s.length?parseFloat(s[12]):parseFloat(s[4])),"y"===i&&(a=t.WebKitCSSMatrix?n.m42:16===s.length?parseFloat(s[13]):parseFloat(s[5])),a||0},parseUrlQuery:function(e){var i,s,a,n,r={},o=e||t.location.href;if("string"==typeof o&&o.length)for(n=(s=(o=-1<o.indexOf("?")?o.replace(/\S*\?/,""):"").split("&").filter((function(e){return""!==e}))).length,i=0;i<n;i+=1)a=s[i].replace(/#\S+/g,"").split("="),r[decodeURIComponent(a[0])]=void 0===a[1]?void 0:decodeURIComponent(a[1])||"";return r},isObject:function(e){return"object"==typeof e&&null!==e&&e.constructor&&e.constructor===Object},extend:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var i=Object(e[0]),s=1;s<e.length;s+=1){var a=e[s];if(null!=a)for(var n=Object.keys(Object(a)),r=0,o=n.length;r<o;r+=1){var l=n[r],d=Object.getOwnPropertyDescriptor(a,l);void 0!==d&&d.enumerable&&(c.isObject(i[l])&&c.isObject(a[l])?c.extend(i[l],a[l]):!c.isObject(i[l])&&c.isObject(a[l])?(i[l]={},c.extend(i[l],a[l])):i[l]=a[l])}}return i}},u=(l=e.createElement("div"),{touch:t.Modernizr&&!0===t.Modernizr.touch||!!(0<t.navigator.maxTouchPoints||"ontouchstart"in t||t.DocumentTouch&&e instanceof t.DocumentTouch),pointerEvents:!!(t.navigator.pointerEnabled||t.PointerEvent||"maxTouchPoints"in t.navigator&&0<t.navigator.maxTouchPoints),prefixedPointerEvents:!!t.navigator.msPointerEnabled,transition:(o=l.style,"transition"in o||"webkitTransition"in o||"MozTransition"in o),transforms3d:t.Modernizr&&!0===t.Modernizr.csstransforms3d||(r=l.style,"webkitPerspective"in r||"MozPerspective"in r||"OPerspective"in r||"MsPerspective"in r||"perspective"in r),flexbox:function(){for(var e=l.style,t="alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient".split(" "),i=0;i<t.length;i+=1)if(t[i]in e)return!0;return!1}(),observer:"MutationObserver"in t||"WebkitMutationObserver"in t,passiveListener:function(){var e=!1;try{var i=Object.defineProperty({},"passive",{get:function(){e=!0}});t.addEventListener("testPassiveListener",null,i)}catch(e){}return e}(),gestures:"ongesturestart"in t}),p={isIE:!!t.navigator.userAgent.match(/Trident/g)||!!t.navigator.userAgent.match(/MSIE/g),isEdge:!!t.navigator.userAgent.match(/Edge/g),isSafari:(d=t.navigator.userAgent.toLowerCase(),0<=d.indexOf("safari")&&d.indexOf("chrome")<0&&d.indexOf("android")<0),isUiWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(t.navigator.userAgent)},h=function(e){void 0===e&&(e={});var t=this;t.params=e,t.eventsListeners={},t.params&&t.params.on&&Object.keys(t.params.on).forEach((function(e){t.on(e,t.params.on[e])}))},f={components:{configurable:!0}};h.prototype.on=function(e,t,i){var s=this;if("function"!=typeof t)return s;var a=i?"unshift":"push";return e.split(" ").forEach((function(e){s.eventsListeners[e]||(s.eventsListeners[e]=[]),s.eventsListeners[e][a](t)})),s},h.prototype.once=function(e,t,i){var s=this;if("function"!=typeof t)return s;function a(){for(var i=[],n=arguments.length;n--;)i[n]=arguments[n];t.apply(s,i),s.off(e,a),a.f7proxy&&delete a.f7proxy}return a.f7proxy=t,s.on(e,a,i)},h.prototype.off=function(e,t){var i=this;return i.eventsListeners&&e.split(" ").forEach((function(e){void 0===t?i.eventsListeners[e]=[]:i.eventsListeners[e]&&i.eventsListeners[e].length&&i.eventsListeners[e].forEach((function(s,a){(s===t||s.f7proxy&&s.f7proxy===t)&&i.eventsListeners[e].splice(a,1)}))})),i},h.prototype.emit=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var i,s,a,n=this;return n.eventsListeners&&(a="string"==typeof e[0]||Array.isArray(e[0])?(i=e[0],s=e.slice(1,e.length),n):(i=e[0].events,s=e[0].data,e[0].context||n),(Array.isArray(i)?i:i.split(" ")).forEach((function(e){if(n.eventsListeners&&n.eventsListeners[e]){var t=[];n.eventsListeners[e].forEach((function(e){t.push(e)})),t.forEach((function(e){e.apply(a,s)}))}}))),n},h.prototype.useModulesParams=function(e){var t=this;t.modules&&Object.keys(t.modules).forEach((function(i){var s=t.modules[i];s.params&&c.extend(e,s.params)}))},h.prototype.useModules=function(e){void 0===e&&(e={});var t=this;t.modules&&Object.keys(t.modules).forEach((function(i){var s=t.modules[i],a=e[i]||{};s.instance&&Object.keys(s.instance).forEach((function(e){var i=s.instance[e];t[e]="function"==typeof i?i.bind(t):i})),s.on&&t.on&&Object.keys(s.on).forEach((function(e){t.on(e,s.on[e])})),s.create&&s.create.bind(t)(a)}))},f.components.set=function(e){this.use&&this.use(e)},h.installModule=function(e){for(var t=[],i=arguments.length-1;0<i--;)t[i]=arguments[i+1];var s=this;s.prototype.modules||(s.prototype.modules={});var a=e.name||Object.keys(s.prototype.modules).length+"_"+c.now();return(s.prototype.modules[a]=e).proto&&Object.keys(e.proto).forEach((function(t){s.prototype[t]=e.proto[t]})),e.static&&Object.keys(e.static).forEach((function(t){s[t]=e.static[t]})),e.install&&e.install.apply(s,t),s},h.use=function(e){for(var t=[],i=arguments.length-1;0<i--;)t[i]=arguments[i+1];var s=this;return Array.isArray(e)?(e.forEach((function(e){return s.installModule(e)})),s):s.installModule.apply(s,[e].concat(t))},Object.defineProperties(h,f);var v={updateSize:function(){var e,t,i=this,s=i.$el;e=void 0!==i.params.width?i.params.width:s[0].clientWidth,t=void 0!==i.params.height?i.params.height:s[0].clientHeight,0===e&&i.isHorizontal()||0===t&&i.isVertical()||(e=e-parseInt(s.css("padding-left"),10)-parseInt(s.css("padding-right"),10),t=t-parseInt(s.css("padding-top"),10)-parseInt(s.css("padding-bottom"),10),c.extend(i,{width:e,height:t,size:i.isHorizontal()?e:t}))},updateSlides:function(){var e=this,i=e.params,s=e.$wrapperEl,a=e.size,n=e.rtlTranslate,r=e.wrongRTL,o=e.virtual&&i.virtual.enabled,l=o?e.virtual.slides.length:e.slides.length,d=s.children("."+e.params.slideClass),p=o?e.virtual.slides.length:d.length,h=[],f=[],v=[],m=i.slidesOffsetBefore;"function"==typeof m&&(m=i.slidesOffsetBefore.call(e));var g=i.slidesOffsetAfter;"function"==typeof g&&(g=i.slidesOffsetAfter.call(e));var b=e.snapGrid.length,w=e.snapGrid.length,y=i.spaceBetween,x=-m,T=0,C=0;if(void 0!==a){var E,S;"string"==typeof y&&0<=y.indexOf("%")&&(y=parseFloat(y.replace("%",""))/100*a),e.virtualSize=-y,n?d.css({marginLeft:"",marginTop:""}):d.css({marginRight:"",marginBottom:""}),1<i.slidesPerColumn&&(E=Math.floor(p/i.slidesPerColumn)===p/e.params.slidesPerColumn?p:Math.ceil(p/i.slidesPerColumn)*i.slidesPerColumn,"auto"!==i.slidesPerView&&"row"===i.slidesPerColumnFill&&(E=Math.max(E,i.slidesPerView*i.slidesPerColumn)));for(var M,k=i.slidesPerColumn,P=E/k,z=Math.floor(p/i.slidesPerColumn),_=0;_<p;_+=1){S=0;var I=d.eq(_);if(1<i.slidesPerColumn){var L=void 0,D=void 0,$=void 0;"column"===i.slidesPerColumnFill?($=_-(D=Math.floor(_/k))*k,(z<D||D===z&&$===k-1)&&k<=($+=1)&&($=0,D+=1),L=D+$*E/k,I.css({"-webkit-box-ordinal-group":L,"-moz-box-ordinal-group":L,"-ms-flex-order":L,"-webkit-order":L,order:L})):D=_-($=Math.floor(_/P))*P,I.css("margin-"+(e.isHorizontal()?"top":"left"),0!==$&&i.spaceBetween&&i.spaceBetween+"px").attr("data-swiper-column",D).attr("data-swiper-row",$)}if("none"!==I.css("display")){if("auto"===i.slidesPerView){var O=t.getComputedStyle(I[0],null),A=I[0].style.transform,N=I[0].style.webkitTransform;if(A&&(I[0].style.transform="none"),N&&(I[0].style.webkitTransform="none"),i.roundLengths)S=e.isHorizontal()?I.outerWidth(!0):I.outerHeight(!0);else if(e.isHorizontal()){var H=parseFloat(O.getPropertyValue("width")),B=parseFloat(O.getPropertyValue("padding-left")),G=parseFloat(O.getPropertyValue("padding-right")),W=parseFloat(O.getPropertyValue("margin-left")),F=parseFloat(O.getPropertyValue("margin-right")),V=O.getPropertyValue("box-sizing");S=V&&"border-box"===V?H+W+F:H+B+G+W+F}else{var Y=parseFloat(O.getPropertyValue("height")),X=parseFloat(O.getPropertyValue("padding-top")),R=parseFloat(O.getPropertyValue("padding-bottom")),j=parseFloat(O.getPropertyValue("margin-top")),q=parseFloat(O.getPropertyValue("margin-bottom")),U=O.getPropertyValue("box-sizing");S=U&&"border-box"===U?Y+j+q:Y+X+R+j+q}A&&(I[0].style.transform=A),N&&(I[0].style.webkitTransform=N),i.roundLengths&&(S=Math.floor(S))}else S=(a-(i.slidesPerView-1)*y)/i.slidesPerView,i.roundLengths&&(S=Math.floor(S)),d[_]&&(e.isHorizontal()?d[_].style.width=S+"px":d[_].style.height=S+"px");d[_]&&(d[_].swiperSlideSize=S),v.push(S),i.centeredSlides?(x=x+S/2+T/2+y,0===T&&0!==_&&(x=x-a/2-y),0===_&&(x=x-a/2-y),Math.abs(x)<.001&&(x=0),i.roundLengths&&(x=Math.floor(x)),C%i.slidesPerGroup==0&&h.push(x),f.push(x)):(i.roundLengths&&(x=Math.floor(x)),C%i.slidesPerGroup==0&&h.push(x),f.push(x),x=x+S+y),e.virtualSize+=S+y,T=S,C+=1}}if(e.virtualSize=Math.max(e.virtualSize,a)+g,n&&r&&("slide"===i.effect||"coverflow"===i.effect)&&s.css({width:e.virtualSize+i.spaceBetween+"px"}),u.flexbox&&!i.setWrapperSize||(e.isHorizontal()?s.css({width:e.virtualSize+i.spaceBetween+"px"}):s.css({height:e.virtualSize+i.spaceBetween+"px"})),1<i.slidesPerColumn&&(e.virtualSize=(S+i.spaceBetween)*E,e.virtualSize=Math.ceil(e.virtualSize/i.slidesPerColumn)-i.spaceBetween,e.isHorizontal()?s.css({width:e.virtualSize+i.spaceBetween+"px"}):s.css({height:e.virtualSize+i.spaceBetween+"px"}),i.centeredSlides)){M=[];for(var K=0;K<h.length;K+=1){var Q=h[K];i.roundLengths&&(Q=Math.floor(Q)),h[K]<e.virtualSize+h[0]&&M.push(Q)}h=M}if(!i.centeredSlides){M=[];for(var Z=0;Z<h.length;Z+=1){var J=h[Z];i.roundLengths&&(J=Math.floor(J)),h[Z]<=e.virtualSize-a&&M.push(J)}h=M,1<Math.floor(e.virtualSize-a)-Math.floor(h[h.length-1])&&h.push(e.virtualSize-a)}if(0===h.length&&(h=[0]),0!==i.spaceBetween&&(e.isHorizontal()?n?d.css({marginLeft:y+"px"}):d.css({marginRight:y+"px"}):d.css({marginBottom:y+"px"})),i.centerInsufficientSlides){var ee=0;if(v.forEach((function(e){ee+=e+(i.spaceBetween?i.spaceBetween:0)})),(ee-=i.spaceBetween)<a){var te=(a-ee)/2;h.forEach((function(e,t){h[t]=e-te})),f.forEach((function(e,t){f[t]=e+te}))}}c.extend(e,{slides:d,snapGrid:h,slidesGrid:f,slidesSizesGrid:v}),p!==l&&e.emit("slidesLengthChange"),h.length!==b&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),f.length!==w&&e.emit("slidesGridLengthChange"),(i.watchSlidesProgress||i.watchSlidesVisibility)&&e.updateSlidesOffset()}},updateAutoHeight:function(e){var t,i=this,s=[],a=0;if("number"==typeof e?i.setTransition(e):!0===e&&i.setTransition(i.params.speed),"auto"!==i.params.slidesPerView&&1<i.params.slidesPerView)for(t=0;t<Math.ceil(i.params.slidesPerView);t+=1){var n=i.activeIndex+t;if(n>i.slides.length)break;s.push(i.slides.eq(n)[0])}else s.push(i.slides.eq(i.activeIndex)[0]);for(t=0;t<s.length;t+=1)if(void 0!==s[t]){var r=s[t].offsetHeight;a=a<r?r:a}a&&i.$wrapperEl.css("height",a+"px")},updateSlidesOffset:function(){for(var e=this.slides,t=0;t<e.length;t+=1)e[t].swiperSlideOffset=this.isHorizontal()?e[t].offsetLeft:e[t].offsetTop},updateSlidesProgress:function(e){void 0===e&&(e=this&&this.translate||0);var t=this,i=t.params,a=t.slides,n=t.rtlTranslate;if(0!==a.length){void 0===a[0].swiperSlideOffset&&t.updateSlidesOffset();var r=-e;n&&(r=e),a.removeClass(i.slideVisibleClass),t.visibleSlidesIndexes=[],t.visibleSlides=[];for(var o=0;o<a.length;o+=1){var l=a[o],d=(r+(i.centeredSlides?t.minTranslate():0)-l.swiperSlideOffset)/(l.swiperSlideSize+i.spaceBetween);if(i.watchSlidesVisibility){var c=-(r-l.swiperSlideOffset),u=c+t.slidesSizesGrid[o];(0<=c&&c<t.size||0<u&&u<=t.size||c<=0&&u>=t.size)&&(t.visibleSlides.push(l),t.visibleSlidesIndexes.push(o),a.eq(o).addClass(i.slideVisibleClass))}l.progress=n?-d:d}t.visibleSlides=s(t.visibleSlides)}},updateProgress:function(e){void 0===e&&(e=this&&this.translate||0);var t=this,i=t.params,s=t.maxTranslate()-t.minTranslate(),a=t.progress,n=t.isBeginning,r=t.isEnd,o=n,l=r;r=0===s?n=!(a=0):(n=(a=(e-t.minTranslate())/s)<=0,1<=a),c.extend(t,{progress:a,isBeginning:n,isEnd:r}),(i.watchSlidesProgress||i.watchSlidesVisibility)&&t.updateSlidesProgress(e),n&&!o&&t.emit("reachBeginning toEdge"),r&&!l&&t.emit("reachEnd toEdge"),(o&&!n||l&&!r)&&t.emit("fromEdge"),t.emit("progress",a)},updateSlidesClasses:function(){var e,t=this,i=t.slides,s=t.params,a=t.$wrapperEl,n=t.activeIndex,r=t.realIndex,o=t.virtual&&s.virtual.enabled;i.removeClass(s.slideActiveClass+" "+s.slideNextClass+" "+s.slidePrevClass+" "+s.slideDuplicateActiveClass+" "+s.slideDuplicateNextClass+" "+s.slideDuplicatePrevClass),(e=o?t.$wrapperEl.find("."+s.slideClass+'[data-swiper-slide-index="'+n+'"]'):i.eq(n)).addClass(s.slideActiveClass),s.loop&&(e.hasClass(s.slideDuplicateClass)?a.children("."+s.slideClass+":not(."+s.slideDuplicateClass+')[data-swiper-slide-index="'+r+'"]').addClass(s.slideDuplicateActiveClass):a.children("."+s.slideClass+"."+s.slideDuplicateClass+'[data-swiper-slide-index="'+r+'"]').addClass(s.slideDuplicateActiveClass));var l=e.nextAll("."+s.slideClass).eq(0).addClass(s.slideNextClass);s.loop&&0===l.length&&(l=i.eq(0)).addClass(s.slideNextClass);var d=e.prevAll("."+s.slideClass).eq(0).addClass(s.slidePrevClass);s.loop&&0===d.length&&(d=i.eq(-1)).addClass(s.slidePrevClass),s.loop&&(l.hasClass(s.slideDuplicateClass)?a.children("."+s.slideClass+":not(."+s.slideDuplicateClass+')[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(s.slideDuplicateNextClass):a.children("."+s.slideClass+"."+s.slideDuplicateClass+'[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(s.slideDuplicateNextClass),d.hasClass(s.slideDuplicateClass)?a.children("."+s.slideClass+":not(."+s.slideDuplicateClass+')[data-swiper-slide-index="'+d.attr("data-swiper-slide-index")+'"]').addClass(s.slideDuplicatePrevClass):a.children("."+s.slideClass+"."+s.slideDuplicateClass+'[data-swiper-slide-index="'+d.attr("data-swiper-slide-index")+'"]').addClass(s.slideDuplicatePrevClass))},updateActiveIndex:function(e){var t,i=this,s=i.rtlTranslate?i.translate:-i.translate,a=i.slidesGrid,n=i.snapGrid,r=i.params,o=i.activeIndex,l=i.realIndex,d=i.snapIndex,u=e;if(void 0===u){for(var p=0;p<a.length;p+=1)void 0!==a[p+1]?s>=a[p]&&s<a[p+1]-(a[p+1]-a[p])/2?u=p:s>=a[p]&&s<a[p+1]&&(u=p+1):s>=a[p]&&(u=p);r.normalizeSlideIndex&&(u<0||void 0===u)&&(u=0)}if((t=0<=n.indexOf(s)?n.indexOf(s):Math.floor(u/r.slidesPerGroup))>=n.length&&(t=n.length-1),u!==o){var h=parseInt(i.slides.eq(u).attr("data-swiper-slide-index")||u,10);c.extend(i,{snapIndex:t,realIndex:h,previousIndex:o,activeIndex:u}),i.emit("activeIndexChange"),i.emit("snapIndexChange"),l!==h&&i.emit("realIndexChange"),i.emit("slideChange")}else t!==d&&(i.snapIndex=t,i.emit("snapIndexChange"))},updateClickedSlide:function(e){var t=this,i=t.params,a=s(e.target).closest("."+i.slideClass)[0],n=!1;if(a)for(var r=0;r<t.slides.length;r+=1)t.slides[r]===a&&(n=!0);if(!a||!n)return t.clickedSlide=void 0,void(t.clickedIndex=void 0);t.clickedSlide=a,t.virtual&&t.params.virtual.enabled?t.clickedIndex=parseInt(s(a).attr("data-swiper-slide-index"),10):t.clickedIndex=s(a).index(),i.slideToClickedSlide&&void 0!==t.clickedIndex&&t.clickedIndex!==t.activeIndex&&t.slideToClickedSlide()}},m={getTranslate:function(e){void 0===e&&(e=this.isHorizontal()?"x":"y");var t=this.params,i=this.rtlTranslate,s=this.translate,a=this.$wrapperEl;if(t.virtualTranslate)return i?-s:s;var n=c.getTranslate(a[0],e);return i&&(n=-n),n||0},setTranslate:function(e,t){var i=this,s=i.rtlTranslate,a=i.params,n=i.$wrapperEl,r=i.progress,o=0,l=0;i.isHorizontal()?o=s?-e:e:l=e,a.roundLengths&&(o=Math.floor(o),l=Math.floor(l)),a.virtualTranslate||(u.transforms3d?n.transform("translate3d("+o+"px, "+l+"px, 0px)"):n.transform("translate("+o+"px, "+l+"px)")),i.previousTranslate=i.translate,i.translate=i.isHorizontal()?o:l;var d=i.maxTranslate()-i.minTranslate();(0===d?0:(e-i.minTranslate())/d)!==r&&i.updateProgress(e),i.emit("setTranslate",i.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]}},g={slideTo:function(e,t,i,s){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===i&&(i=!0);var a=this,n=e;n<0&&(n=0);var r=a.params,o=a.snapGrid,l=a.slidesGrid,d=a.previousIndex,c=a.activeIndex,p=a.rtlTranslate;if(a.animating&&r.preventInteractionOnTransition)return!1;var h=Math.floor(n/r.slidesPerGroup);h>=o.length&&(h=o.length-1),(c||r.initialSlide||0)===(d||0)&&i&&a.emit("beforeSlideChangeStart");var f,v=-o[h];if(a.updateProgress(v),r.normalizeSlideIndex)for(var m=0;m<l.length;m+=1)-Math.floor(100*v)>=Math.floor(100*l[m])&&(n=m);if(a.initialized&&n!==c){if(!a.allowSlideNext&&v<a.translate&&v<a.minTranslate())return!1;if(!a.allowSlidePrev&&v>a.translate&&v>a.maxTranslate()&&(c||0)!==n)return!1}return f=c<n?"next":n<c?"prev":"reset",p&&-v===a.translate||!p&&v===a.translate?(a.updateActiveIndex(n),r.autoHeight&&a.updateAutoHeight(),a.updateSlidesClasses(),"slide"!==r.effect&&a.setTranslate(v),"reset"!==f&&(a.transitionStart(i,f),a.transitionEnd(i,f)),!1):(0!==t&&u.transition?(a.setTransition(t),a.setTranslate(v),a.updateActiveIndex(n),a.updateSlidesClasses(),a.emit("beforeTransitionStart",t,s),a.transitionStart(i,f),a.animating||(a.animating=!0,a.onSlideToWrapperTransitionEnd||(a.onSlideToWrapperTransitionEnd=function(e){a&&!a.destroyed&&e.target===this&&(a.$wrapperEl[0].removeEventListener("transitionend",a.onSlideToWrapperTransitionEnd),a.$wrapperEl[0].removeEventListener("webkitTransitionEnd",a.onSlideToWrapperTransitionEnd),a.onSlideToWrapperTransitionEnd=null,delete a.onSlideToWrapperTransitionEnd,a.transitionEnd(i,f))}),a.$wrapperEl[0].addEventListener("transitionend",a.onSlideToWrapperTransitionEnd),a.$wrapperEl[0].addEventListener("webkitTransitionEnd",a.onSlideToWrapperTransitionEnd))):(a.setTransition(0),a.setTranslate(v),a.updateActiveIndex(n),a.updateSlidesClasses(),a.emit("beforeTransitionStart",t,s),a.transitionStart(i,f),a.transitionEnd(i,f)),!0)},slideToLoop:function(e,t,i,s){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===i&&(i=!0);var a=e;return this.params.loop&&(a+=this.loopedSlides),this.slideTo(a,t,i,s)},slideNext:function(e,t,i){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);var s=this,a=s.params,n=s.animating;return a.loop?!n&&(s.loopFix(),s._clientLeft=s.$wrapperEl[0].clientLeft,s.slideTo(s.activeIndex+a.slidesPerGroup,e,t,i)):s.slideTo(s.activeIndex+a.slidesPerGroup,e,t,i)},slidePrev:function(e,t,i){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);var s=this,a=s.params,n=s.animating,r=s.snapGrid,o=s.slidesGrid,l=s.rtlTranslate;if(a.loop){if(n)return!1;s.loopFix(),s._clientLeft=s.$wrapperEl[0].clientLeft}function d(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}var c,u=d(l?s.translate:-s.translate),p=r.map((function(e){return d(e)})),h=(o.map((function(e){return d(e)})),r[p.indexOf(u)],r[p.indexOf(u)-1]);return void 0!==h&&(c=o.indexOf(h))<0&&(c=s.activeIndex-1),s.slideTo(c,e,t,i)},slideReset:function(e,t,i){return void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),this.slideTo(this.activeIndex,e,t,i)},slideToClosest:function(e,t,i){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);var s=this,a=s.activeIndex,n=Math.floor(a/s.params.slidesPerGroup);if(n<s.snapGrid.length-1){var r=s.rtlTranslate?s.translate:-s.translate,o=s.snapGrid[n];(s.snapGrid[n+1]-o)/2<r-o&&(a=s.params.slidesPerGroup)}return s.slideTo(a,e,t,i)},slideToClickedSlide:function(){var e,t=this,i=t.params,a=t.$wrapperEl,n="auto"===i.slidesPerView?t.slidesPerViewDynamic():i.slidesPerView,r=t.clickedIndex;if(i.loop){if(t.animating)return;e=parseInt(s(t.clickedSlide).attr("data-swiper-slide-index"),10),i.centeredSlides?r<t.loopedSlides-n/2||r>t.slides.length-t.loopedSlides+n/2?(t.loopFix(),r=a.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+i.slideDuplicateClass+")").eq(0).index(),c.nextTick((function(){t.slideTo(r)}))):t.slideTo(r):r>t.slides.length-n?(t.loopFix(),r=a.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+i.slideDuplicateClass+")").eq(0).index(),c.nextTick((function(){t.slideTo(r)}))):t.slideTo(r)}else t.slideTo(r)}},b={loopCreate:function(){var t=this,i=t.params,a=t.$wrapperEl;a.children("."+i.slideClass+"."+i.slideDuplicateClass).remove();var n=a.children("."+i.slideClass);if(i.loopFillGroupWithBlank){var r=i.slidesPerGroup-n.length%i.slidesPerGroup;if(r!==i.slidesPerGroup){for(var o=0;o<r;o+=1){var l=s(e.createElement("div")).addClass(i.slideClass+" "+i.slideBlankClass);a.append(l)}n=a.children("."+i.slideClass)}}"auto"!==i.slidesPerView||i.loopedSlides||(i.loopedSlides=n.length),t.loopedSlides=parseInt(i.loopedSlides||i.slidesPerView,10),t.loopedSlides+=i.loopAdditionalSlides,t.loopedSlides>n.length&&(t.loopedSlides=n.length);var d=[],c=[];n.each((function(e,i){var a=s(i);e<t.loopedSlides&&c.push(i),e<n.length&&e>=n.length-t.loopedSlides&&d.push(i),a.attr("data-swiper-slide-index",e)}));for(var u=0;u<c.length;u+=1)a.append(s(c[u].cloneNode(!0)).addClass(i.slideDuplicateClass));for(var p=d.length-1;0<=p;p-=1)a.prepend(s(d[p].cloneNode(!0)).addClass(i.slideDuplicateClass))},loopFix:function(){var e,t=this,i=t.params,s=t.activeIndex,a=t.slides,n=t.loopedSlides,r=t.allowSlidePrev,o=t.allowSlideNext,l=t.snapGrid,d=t.rtlTranslate;t.allowSlidePrev=!0,t.allowSlideNext=!0;var c=-l[s]-t.getTranslate();s<n?(e=a.length-3*n+s,e+=n,t.slideTo(e,0,!1,!0)&&0!==c&&t.setTranslate((d?-t.translate:t.translate)-c)):("auto"===i.slidesPerView&&2*n<=s||s>=a.length-n)&&(e=-a.length+s+n,e+=n,t.slideTo(e,0,!1,!0)&&0!==c&&t.setTranslate((d?-t.translate:t.translate)-c)),t.allowSlidePrev=r,t.allowSlideNext=o},loopDestroy:function(){var e=this.$wrapperEl,t=this.params,i=this.slides;e.children("."+t.slideClass+"."+t.slideDuplicateClass+",."+t.slideClass+"."+t.slideBlankClass).remove(),i.removeAttr("data-swiper-slide-index")}},w={setGrabCursor:function(e){if(!(u.touch||!this.params.simulateTouch||this.params.watchOverflow&&this.isLocked)){var t=this.el;t.style.cursor="move",t.style.cursor=e?"-webkit-grabbing":"-webkit-grab",t.style.cursor=e?"-moz-grabbin":"-moz-grab",t.style.cursor=e?"grabbing":"grab"}},unsetGrabCursor:function(){u.touch||this.params.watchOverflow&&this.isLocked||(this.el.style.cursor="")}},y={appendSlide:function(e){var t=this,i=t.$wrapperEl,s=t.params;if(s.loop&&t.loopDestroy(),"object"==typeof e&&"length"in e)for(var a=0;a<e.length;a+=1)e[a]&&i.append(e[a]);else i.append(e);s.loop&&t.loopCreate(),s.observer&&u.observer||t.update()},prependSlide:function(e){var t=this,i=t.params,s=t.$wrapperEl,a=t.activeIndex;i.loop&&t.loopDestroy();var n=a+1;if("object"==typeof e&&"length"in e){for(var r=0;r<e.length;r+=1)e[r]&&s.prepend(e[r]);n=a+e.length}else s.prepend(e);i.loop&&t.loopCreate(),i.observer&&u.observer||t.update(),t.slideTo(n,0,!1)},addSlide:function(e,t){var i=this,s=i.$wrapperEl,a=i.params,n=i.activeIndex;a.loop&&(n-=i.loopedSlides,i.loopDestroy(),i.slides=s.children("."+a.slideClass));var r=i.slides.length;if(e<=0)i.prependSlide(t);else if(r<=e)i.appendSlide(t);else{for(var o=e<n?n+1:n,l=[],d=r-1;e<=d;d-=1){var c=i.slides.eq(d);c.remove(),l.unshift(c)}if("object"==typeof t&&"length"in t){for(var p=0;p<t.length;p+=1)t[p]&&s.append(t[p]);o=e<n?n+t.length:n}else s.append(t);for(var h=0;h<l.length;h+=1)s.append(l[h]);a.loop&&i.loopCreate(),a.observer&&u.observer||i.update(),a.loop?i.slideTo(o+i.loopedSlides,0,!1):i.slideTo(o,0,!1)}},removeSlide:function(e){var t=this,i=t.params,s=t.$wrapperEl,a=t.activeIndex;i.loop&&(a-=t.loopedSlides,t.loopDestroy(),t.slides=s.children("."+i.slideClass));var n,r=a;if("object"==typeof e&&"length"in e){for(var o=0;o<e.length;o+=1)n=e[o],t.slides[n]&&t.slides.eq(n).remove(),n<r&&(r-=1);r=Math.max(r,0)}else n=e,t.slides[n]&&t.slides.eq(n).remove(),n<r&&(r-=1),r=Math.max(r,0);i.loop&&t.loopCreate(),i.observer&&u.observer||t.update(),i.loop?t.slideTo(r+t.loopedSlides,0,!1):t.slideTo(r,0,!1)},removeAllSlides:function(){for(var e=[],t=0;t<this.slides.length;t+=1)e.push(t);this.removeSlide(e)}},x=function(){var i=t.navigator.userAgent,s={ios:!1,android:!1,androidChrome:!1,desktop:!1,windows:!1,iphone:!1,ipod:!1,ipad:!1,cordova:t.cordova||t.phonegap,phonegap:t.cordova||t.phonegap},a=i.match(/(Windows Phone);?[\s\/]+([\d.]+)?/),n=i.match(/(Android);?[\s\/]+([\d.]+)?/),r=i.match(/(iPad).*OS\s([\d_]+)/),o=i.match(/(iPod)(.*OS\s([\d_]+))?/),l=!r&&i.match(/(iPhone\sOS|iOS)\s([\d_]+)/);if(a&&(s.os="windows",s.osVersion=a[2],s.windows=!0),n&&!a&&(s.os="android",s.osVersion=n[2],s.android=!0,s.androidChrome=0<=i.toLowerCase().indexOf("chrome")),(r||l||o)&&(s.os="ios",s.ios=!0),l&&!o&&(s.osVersion=l[2].replace(/_/g,"."),s.iphone=!0),r&&(s.osVersion=r[2].replace(/_/g,"."),s.ipad=!0),o&&(s.osVersion=o[3]?o[3].replace(/_/g,"."):null,s.iphone=!0),s.ios&&s.osVersion&&0<=i.indexOf("Version/")&&"10"===s.osVersion.split(".")[0]&&(s.osVersion=i.toLowerCase().split("version/")[1].split(" ")[0]),s.desktop=!(s.os||s.android||s.webView),s.webView=(l||r||o)&&i.match(/.*AppleWebKit(?!.*Safari)/i),s.os&&"ios"===s.os){var d=s.osVersion.split("."),c=e.querySelector('meta[name="viewport"]');s.minimalUi=!s.webView&&(o||l)&&(1*d[0]==7?1<=1*d[1]:7<1*d[0])&&c&&0<=c.getAttribute("content").indexOf("minimal-ui")}return s.pixelRatio=t.devicePixelRatio||1,s}();function T(){var e=this,t=e.params,i=e.el;if(!i||0!==i.offsetWidth){t.breakpoints&&e.setBreakpoint();var s=e.allowSlideNext,a=e.allowSlidePrev,n=e.snapGrid;if(e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),t.freeMode){var r=Math.min(Math.max(e.translate,e.maxTranslate()),e.minTranslate());e.setTranslate(r),e.updateActiveIndex(),e.updateSlidesClasses(),t.autoHeight&&e.updateAutoHeight()}else e.updateSlidesClasses(),("auto"===t.slidesPerView||1<t.slidesPerView)&&e.isEnd&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0);e.allowSlidePrev=a,e.allowSlideNext=s,e.params.watchOverflow&&n!==e.snapGrid&&e.checkOverflow()}}var C={init:!0,direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,preventInteractionOnTransition:!1,edgeSwipeDetection:!1,edgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsInverse:!1,spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,centeredSlides:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!1,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!0,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,containerModifierClass:"swiper-container-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0},E={update:v,translate:m,transition:{setTransition:function(e,t){this.$wrapperEl.transition(e),this.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);var i=this,s=i.activeIndex,a=i.params,n=i.previousIndex;a.autoHeight&&i.updateAutoHeight();var r=t;if(r||(r=n<s?"next":s<n?"prev":"reset"),i.emit("transitionStart"),e&&s!==n){if("reset"===r)return void i.emit("slideResetTransitionStart");i.emit("slideChangeTransitionStart"),"next"===r?i.emit("slideNextTransitionStart"):i.emit("slidePrevTransitionStart")}},transitionEnd:function(e,t){void 0===e&&(e=!0);var i=this,s=i.activeIndex,a=i.previousIndex;i.animating=!1,i.setTransition(0);var n=t;if(n||(n=a<s?"next":s<a?"prev":"reset"),i.emit("transitionEnd"),e&&s!==a){if("reset"===n)return void i.emit("slideResetTransitionEnd");i.emit("slideChangeTransitionEnd"),"next"===n?i.emit("slideNextTransitionEnd"):i.emit("slidePrevTransitionEnd")}}},slide:g,loop:b,grabCursor:w,manipulation:y,events:{attachEvents:function(){var i=this,a=i.params,n=i.touchEvents,r=i.el,o=i.wrapperEl;i.onTouchStart=function(i){var a=this,n=a.touchEventsData,r=a.params,o=a.touches;if(!a.animating||!r.preventInteractionOnTransition){var l=i;if(l.originalEvent&&(l=l.originalEvent),n.isTouchEvent="touchstart"===l.type,(n.isTouchEvent||!("which"in l)||3!==l.which)&&!(!n.isTouchEvent&&"button"in l&&0<l.button||n.isTouched&&n.isMoved))if(r.noSwiping&&s(l.target).closest(r.noSwipingSelector?r.noSwipingSelector:"."+r.noSwipingClass)[0])a.allowClick=!0;else if(!r.swipeHandler||s(l).closest(r.swipeHandler)[0]){o.currentX="touchstart"===l.type?l.targetTouches[0].pageX:l.pageX,o.currentY="touchstart"===l.type?l.targetTouches[0].pageY:l.pageY;var d=o.currentX,u=o.currentY,p=r.edgeSwipeDetection||r.iOSEdgeSwipeDetection,h=r.edgeSwipeThreshold||r.iOSEdgeSwipeThreshold;if(!p||!(d<=h||d>=t.screen.width-h)){if(c.extend(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),o.startX=d,o.startY=u,n.touchStartTime=c.now(),a.allowClick=!0,a.updateSize(),a.swipeDirection=void 0,0<r.threshold&&(n.allowThresholdMove=!1),"touchstart"!==l.type){var f=!0;s(l.target).is(n.formElements)&&(f=!1),e.activeElement&&s(e.activeElement).is(n.formElements)&&e.activeElement!==l.target&&e.activeElement.blur();var v=f&&a.allowTouchMove&&r.touchStartPreventDefault;(r.touchStartForcePreventDefault||v)&&l.preventDefault()}a.emit("touchStart",l)}}}}.bind(i),i.onTouchMove=function(t){var i=this,a=i.touchEventsData,n=i.params,r=i.touches,o=i.rtlTranslate,l=t;if(l.originalEvent&&(l=l.originalEvent),a.isTouched){if(!a.isTouchEvent||"mousemove"!==l.type){var d="touchmove"===l.type?l.targetTouches[0].pageX:l.pageX,u="touchmove"===l.type?l.targetTouches[0].pageY:l.pageY;if(l.preventedByNestedSwiper)return r.startX=d,void(r.startY=u);if(!i.allowTouchMove)return i.allowClick=!1,void(a.isTouched&&(c.extend(r,{startX:d,startY:u,currentX:d,currentY:u}),a.touchStartTime=c.now()));if(a.isTouchEvent&&n.touchReleaseOnEdges&&!n.loop)if(i.isVertical()){if(u<r.startY&&i.translate<=i.maxTranslate()||u>r.startY&&i.translate>=i.minTranslate())return a.isTouched=!1,void(a.isMoved=!1)}else if(d<r.startX&&i.translate<=i.maxTranslate()||d>r.startX&&i.translate>=i.minTranslate())return;if(a.isTouchEvent&&e.activeElement&&l.target===e.activeElement&&s(l.target).is(a.formElements))return a.isMoved=!0,void(i.allowClick=!1);if(a.allowTouchCallbacks&&i.emit("touchMove",l),!(l.targetTouches&&1<l.targetTouches.length)){r.currentX=d,r.currentY=u;var p,h=r.currentX-r.startX,f=r.currentY-r.startY;if(!(i.params.threshold&&Math.sqrt(Math.pow(h,2)+Math.pow(f,2))<i.params.threshold))if(void 0===a.isScrolling&&(i.isHorizontal()&&r.currentY===r.startY||i.isVertical()&&r.currentX===r.startX?a.isScrolling=!1:25<=h*h+f*f&&(p=180*Math.atan2(Math.abs(f),Math.abs(h))/Math.PI,a.isScrolling=i.isHorizontal()?p>n.touchAngle:90-p>n.touchAngle)),a.isScrolling&&i.emit("touchMoveOpposite",l),void 0===a.startMoving&&(r.currentX===r.startX&&r.currentY===r.startY||(a.startMoving=!0)),a.isScrolling)a.isTouched=!1;else if(a.startMoving){i.allowClick=!1,l.preventDefault(),n.touchMoveStopPropagation&&!n.nested&&l.stopPropagation(),a.isMoved||(n.loop&&i.loopFix(),a.startTranslate=i.getTranslate(),i.setTransition(0),i.animating&&i.$wrapperEl.trigger("webkitTransitionEnd transitionend"),a.allowMomentumBounce=!1,!n.grabCursor||!0!==i.allowSlideNext&&!0!==i.allowSlidePrev||i.setGrabCursor(!0),i.emit("sliderFirstMove",l)),i.emit("sliderMove",l),a.isMoved=!0;var v=i.isHorizontal()?h:f;r.diff=v,v*=n.touchRatio,o&&(v=-v),i.swipeDirection=0<v?"prev":"next",a.currentTranslate=v+a.startTranslate;var m=!0,g=n.resistanceRatio;if(n.touchReleaseOnEdges&&(g=0),0<v&&a.currentTranslate>i.minTranslate()?(m=!1,n.resistance&&(a.currentTranslate=i.minTranslate()-1+Math.pow(-i.minTranslate()+a.startTranslate+v,g))):v<0&&a.currentTranslate<i.maxTranslate()&&(m=!1,n.resistance&&(a.currentTranslate=i.maxTranslate()+1-Math.pow(i.maxTranslate()-a.startTranslate-v,g))),m&&(l.preventedByNestedSwiper=!0),!i.allowSlideNext&&"next"===i.swipeDirection&&a.currentTranslate<a.startTranslate&&(a.currentTranslate=a.startTranslate),!i.allowSlidePrev&&"prev"===i.swipeDirection&&a.currentTranslate>a.startTranslate&&(a.currentTranslate=a.startTranslate),0<n.threshold){if(!(Math.abs(v)>n.threshold||a.allowThresholdMove))return void(a.currentTranslate=a.startTranslate);if(!a.allowThresholdMove)return a.allowThresholdMove=!0,r.startX=r.currentX,r.startY=r.currentY,a.currentTranslate=a.startTranslate,void(r.diff=i.isHorizontal()?r.currentX-r.startX:r.currentY-r.startY)}n.followFinger&&((n.freeMode||n.watchSlidesProgress||n.watchSlidesVisibility)&&(i.updateActiveIndex(),i.updateSlidesClasses()),n.freeMode&&(0===a.velocities.length&&a.velocities.push({position:r[i.isHorizontal()?"startX":"startY"],time:a.touchStartTime}),a.velocities.push({position:r[i.isHorizontal()?"currentX":"currentY"],time:c.now()})),i.updateProgress(a.currentTranslate),i.setTranslate(a.currentTranslate))}}}}else a.startMoving&&a.isScrolling&&i.emit("touchMoveOpposite",l)}.bind(i),i.onTouchEnd=function(e){var t=this,i=t.touchEventsData,s=t.params,a=t.touches,n=t.rtlTranslate,r=t.$wrapperEl,o=t.slidesGrid,l=t.snapGrid,d=e;if(d.originalEvent&&(d=d.originalEvent),i.allowTouchCallbacks&&t.emit("touchEnd",d),i.allowTouchCallbacks=!1,!i.isTouched)return i.isMoved&&s.grabCursor&&t.setGrabCursor(!1),i.isMoved=!1,void(i.startMoving=!1);s.grabCursor&&i.isMoved&&i.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);var u,p=c.now(),h=p-i.touchStartTime;if(t.allowClick&&(t.updateClickedSlide(d),t.emit("tap",d),h<300&&300<p-i.lastClickTime&&(i.clickTimeout&&clearTimeout(i.clickTimeout),i.clickTimeout=c.nextTick((function(){t&&!t.destroyed&&t.emit("click",d)}),300)),h<300&&p-i.lastClickTime<300&&(i.clickTimeout&&clearTimeout(i.clickTimeout),t.emit("doubleTap",d))),i.lastClickTime=c.now(),c.nextTick((function(){t.destroyed||(t.allowClick=!0)})),!i.isTouched||!i.isMoved||!t.swipeDirection||0===a.diff||i.currentTranslate===i.startTranslate)return i.isTouched=!1,i.isMoved=!1,void(i.startMoving=!1);if(i.isTouched=!1,i.isMoved=!1,i.startMoving=!1,u=s.followFinger?n?t.translate:-t.translate:-i.currentTranslate,s.freeMode){if(u<-t.minTranslate())return void t.slideTo(t.activeIndex);if(u>-t.maxTranslate())return void(t.slides.length<l.length?t.slideTo(l.length-1):t.slideTo(t.slides.length-1));if(s.freeModeMomentum){if(1<i.velocities.length){var f=i.velocities.pop(),v=i.velocities.pop(),m=f.position-v.position,g=f.time-v.time;t.velocity=m/g,t.velocity/=2,Math.abs(t.velocity)<s.freeModeMinimumVelocity&&(t.velocity=0),(150<g||300<c.now()-f.time)&&(t.velocity=0)}else t.velocity=0;t.velocity*=s.freeModeMomentumVelocityRatio,i.velocities.length=0;var b=1e3*s.freeModeMomentumRatio,w=t.velocity*b,y=t.translate+w;n&&(y=-y);var x,T,C=!1,E=20*Math.abs(t.velocity)*s.freeModeMomentumBounceRatio;if(y<t.maxTranslate())s.freeModeMomentumBounce?(y+t.maxTranslate()<-E&&(y=t.maxTranslate()-E),x=t.maxTranslate(),C=!0,i.allowMomentumBounce=!0):y=t.maxTranslate(),s.loop&&s.centeredSlides&&(T=!0);else if(y>t.minTranslate())s.freeModeMomentumBounce?(y-t.minTranslate()>E&&(y=t.minTranslate()+E),x=t.minTranslate(),C=!0,i.allowMomentumBounce=!0):y=t.minTranslate(),s.loop&&s.centeredSlides&&(T=!0);else if(s.freeModeSticky){for(var S,M=0;M<l.length;M+=1)if(l[M]>-y){S=M;break}y=-(y=Math.abs(l[S]-y)<Math.abs(l[S-1]-y)||"next"===t.swipeDirection?l[S]:l[S-1])}if(T&&t.once("transitionEnd",(function(){t.loopFix()})),0!==t.velocity)b=n?Math.abs((-y-t.translate)/t.velocity):Math.abs((y-t.translate)/t.velocity);else if(s.freeModeSticky)return void t.slideToClosest();s.freeModeMomentumBounce&&C?(t.updateProgress(x),t.setTransition(b),t.setTranslate(y),t.transitionStart(!0,t.swipeDirection),t.animating=!0,r.transitionEnd((function(){t&&!t.destroyed&&i.allowMomentumBounce&&(t.emit("momentumBounce"),t.setTransition(s.speed),t.setTranslate(x),r.transitionEnd((function(){t&&!t.destroyed&&t.transitionEnd()})))}))):t.velocity?(t.updateProgress(y),t.setTransition(b),t.setTranslate(y),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,r.transitionEnd((function(){t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(y),t.updateActiveIndex(),t.updateSlidesClasses()}else if(s.freeModeSticky)return void t.slideToClosest();(!s.freeModeMomentum||h>=s.longSwipesMs)&&(t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}else{for(var k=0,P=t.slidesSizesGrid[0],z=0;z<o.length;z+=s.slidesPerGroup)void 0!==o[z+s.slidesPerGroup]?u>=o[z]&&u<o[z+s.slidesPerGroup]&&(P=o[(k=z)+s.slidesPerGroup]-o[z]):u>=o[z]&&(k=z,P=o[o.length-1]-o[o.length-2]);var _=(u-o[k])/P;if(h>s.longSwipesMs){if(!s.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(_>=s.longSwipesRatio?t.slideTo(k+s.slidesPerGroup):t.slideTo(k)),"prev"===t.swipeDirection&&(_>1-s.longSwipesRatio?t.slideTo(k+s.slidesPerGroup):t.slideTo(k))}else{if(!s.shortSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&t.slideTo(k+s.slidesPerGroup),"prev"===t.swipeDirection&&t.slideTo(k)}}}.bind(i),i.onClick=function(e){this.allowClick||(this.params.preventClicks&&e.preventDefault(),this.params.preventClicksPropagation&&this.animating&&(e.stopPropagation(),e.stopImmediatePropagation()))}.bind(i);var l="container"===a.touchEventsTarget?r:o,d=!!a.nested;if(u.touch||!u.pointerEvents&&!u.prefixedPointerEvents){if(u.touch){var p=!("touchstart"!==n.start||!u.passiveListener||!a.passiveListeners)&&{passive:!0,capture:!1};l.addEventListener(n.start,i.onTouchStart,p),l.addEventListener(n.move,i.onTouchMove,u.passiveListener?{passive:!1,capture:d}:d),l.addEventListener(n.end,i.onTouchEnd,p)}(a.simulateTouch&&!x.ios&&!x.android||a.simulateTouch&&!u.touch&&x.ios)&&(l.addEventListener("mousedown",i.onTouchStart,!1),e.addEventListener("mousemove",i.onTouchMove,d),e.addEventListener("mouseup",i.onTouchEnd,!1))}else l.addEventListener(n.start,i.onTouchStart,!1),e.addEventListener(n.move,i.onTouchMove,d),e.addEventListener(n.end,i.onTouchEnd,!1);(a.preventClicks||a.preventClicksPropagation)&&l.addEventListener("click",i.onClick,!0),i.on(x.ios||x.android?"resize orientationchange observerUpdate":"resize observerUpdate",T,!0)},detachEvents:function(){var t=this,i=t.params,s=t.touchEvents,a=t.el,n=t.wrapperEl,r="container"===i.touchEventsTarget?a:n,o=!!i.nested;if(u.touch||!u.pointerEvents&&!u.prefixedPointerEvents){if(u.touch){var l=!("onTouchStart"!==s.start||!u.passiveListener||!i.passiveListeners)&&{passive:!0,capture:!1};r.removeEventListener(s.start,t.onTouchStart,l),r.removeEventListener(s.move,t.onTouchMove,o),r.removeEventListener(s.end,t.onTouchEnd,l)}(i.simulateTouch&&!x.ios&&!x.android||i.simulateTouch&&!u.touch&&x.ios)&&(r.removeEventListener("mousedown",t.onTouchStart,!1),e.removeEventListener("mousemove",t.onTouchMove,o),e.removeEventListener("mouseup",t.onTouchEnd,!1))}else r.removeEventListener(s.start,t.onTouchStart,!1),e.removeEventListener(s.move,t.onTouchMove,o),e.removeEventListener(s.end,t.onTouchEnd,!1);(i.preventClicks||i.preventClicksPropagation)&&r.removeEventListener("click",t.onClick,!0),t.off(x.ios||x.android?"resize orientationchange observerUpdate":"resize observerUpdate",T)}},breakpoints:{setBreakpoint:function(){var e=this,t=e.activeIndex,i=e.initialized,s=e.loopedSlides;void 0===s&&(s=0);var a=e.params,n=a.breakpoints;if(n&&(!n||0!==Object.keys(n).length)){var r=e.getBreakpoint(n);if(r&&e.currentBreakpoint!==r){var o=r in n?n[r]:void 0;o&&["slidesPerView","spaceBetween","slidesPerGroup"].forEach((function(e){var t=o[e];void 0!==t&&(o[e]="slidesPerView"!==e||"AUTO"!==t&&"auto"!==t?"slidesPerView"===e?parseFloat(t):parseInt(t,10):"auto")}));var l=o||e.originalParams,d=l.direction&&l.direction!==a.direction,u=a.loop&&(l.slidesPerView!==a.slidesPerView||d);d&&i&&e.changeDirection(),c.extend(e.params,l),c.extend(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),e.currentBreakpoint=r,u&&i&&(e.loopDestroy(),e.loopCreate(),e.updateSlides(),e.slideTo(t-s+e.loopedSlides,0,!1)),e.emit("breakpoint",l)}}},getBreakpoint:function(e){if(e){var i=!1,s=[];Object.keys(e).forEach((function(e){s.push(e)})),s.sort((function(e,t){return parseInt(e,10)-parseInt(t,10)}));for(var a=0;a<s.length;a+=1){var n=s[a];this.params.breakpointsInverse?n<=t.innerWidth&&(i=n):n>=t.innerWidth&&!i&&(i=n)}return i||"max"}}},checkOverflow:{checkOverflow:function(){var e=this,t=e.isLocked;e.isLocked=1===e.snapGrid.length,e.allowSlideNext=!e.isLocked,e.allowSlidePrev=!e.isLocked,t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock"),t&&t!==e.isLocked&&(e.isEnd=!1,e.navigation.update())}},classes:{addClasses:function(){var e=this.classNames,t=this.params,i=this.rtl,s=this.$el,a=[];a.push("initialized"),a.push(t.direction),t.freeMode&&a.push("free-mode"),u.flexbox||a.push("no-flexbox"),t.autoHeight&&a.push("autoheight"),i&&a.push("rtl"),1<t.slidesPerColumn&&a.push("multirow"),x.android&&a.push("android"),x.ios&&a.push("ios"),(p.isIE||p.isEdge)&&(u.pointerEvents||u.prefixedPointerEvents)&&a.push("wp8-"+t.direction),a.forEach((function(i){e.push(t.containerModifierClass+i)})),s.addClass(e.join(" "))},removeClasses:function(){var e=this.$el,t=this.classNames;e.removeClass(t.join(" "))}},images:{loadImage:function(e,i,s,a,n,r){var o;function l(){r&&r()}e.complete&&n?l():i?((o=new t.Image).onload=l,o.onerror=l,a&&(o.sizes=a),s&&(o.srcset=s),i&&(o.src=i)):l()},preloadImages:function(){var e=this;function t(){null!=e&&e&&!e.destroyed&&(void 0!==e.imagesLoaded&&(e.imagesLoaded+=1),e.imagesLoaded===e.imagesToLoad.length&&(e.params.updateOnImagesReady&&e.update(),e.emit("imagesReady")))}e.imagesToLoad=e.$el.find("img");for(var i=0;i<e.imagesToLoad.length;i+=1){var s=e.imagesToLoad[i];e.loadImage(s,s.currentSrc||s.getAttribute("src"),s.srcset||s.getAttribute("srcset"),s.sizes||s.getAttribute("sizes"),!0,t)}}}},S={},M=function(e){function t(){for(var i,a,n,r=[],o=arguments.length;o--;)r[o]=arguments[o];(n=1===r.length&&r[0].constructor&&r[0].constructor===Object?r[0]:(a=(i=r)[0],i[1]))||(n={}),n=c.extend({},n),a&&!n.el&&(n.el=a),e.call(this,n),Object.keys(E).forEach((function(e){Object.keys(E[e]).forEach((function(i){t.prototype[i]||(t.prototype[i]=E[e][i])}))}));var l=this;void 0===l.modules&&(l.modules={}),Object.keys(l.modules).forEach((function(e){var t=l.modules[e];if(t.params){var i=Object.keys(t.params)[0],s=t.params[i];if("object"!=typeof s||null===s)return;if(!(i in n&&"enabled"in s))return;!0===n[i]&&(n[i]={enabled:!0}),"object"!=typeof n[i]||"enabled"in n[i]||(n[i].enabled=!0),n[i]||(n[i]={enabled:!1})}}));var d=c.extend({},C);l.useModulesParams(d),l.params=c.extend({},d,S,n),l.originalParams=c.extend({},l.params),l.passedParams=c.extend({},n);var p=(l.$=s)(l.params.el);if(a=p[0]){if(1<p.length){var h=[];return p.each((function(e,i){var s=c.extend({},n,{el:i});h.push(new t(s))})),h}a.swiper=l,p.data("swiper",l);var f,v,m=p.children("."+l.params.wrapperClass);return c.extend(l,{$el:p,el:a,$wrapperEl:m,wrapperEl:m[0],classNames:[],slides:s(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:function(){return"horizontal"===l.params.direction},isVertical:function(){return"vertical"===l.params.direction},rtl:"rtl"===a.dir.toLowerCase()||"rtl"===p.css("direction"),rtlTranslate:"horizontal"===l.params.direction&&("rtl"===a.dir.toLowerCase()||"rtl"===p.css("direction")),wrongRTL:"-webkit-box"===m.css("display"),activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:l.params.allowSlideNext,allowSlidePrev:l.params.allowSlidePrev,touchEvents:(f=["touchstart","touchmove","touchend"],v=["mousedown","mousemove","mouseup"],u.pointerEvents?v=["pointerdown","pointermove","pointerup"]:u.prefixedPointerEvents&&(v=["MSPointerDown","MSPointerMove","MSPointerUp"]),l.touchEventsTouch={start:f[0],move:f[1],end:f[2]},l.touchEventsDesktop={start:v[0],move:v[1],end:v[2]},u.touch||!l.params.simulateTouch?l.touchEventsTouch:l.touchEventsDesktop),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,formElements:"input, select, option, textarea, button, video",lastClickTime:c.now(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:l.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),l.useModules(),l.params.init&&l.init(),l}}e&&(t.__proto__=e);var i={extendedDefaults:{configurable:!0},defaults:{configurable:!0},Class:{configurable:!0},$:{configurable:!0}};return((t.prototype=Object.create(e&&e.prototype)).constructor=t).prototype.slidesPerViewDynamic=function(){var e=this,t=e.params,i=e.slides,s=e.slidesGrid,a=e.size,n=e.activeIndex,r=1;if(t.centeredSlides){for(var o,l=i[n].swiperSlideSize,d=n+1;d<i.length;d+=1)i[d]&&!o&&(r+=1,a<(l+=i[d].swiperSlideSize)&&(o=!0));for(var c=n-1;0<=c;c-=1)i[c]&&!o&&(r+=1,a<(l+=i[c].swiperSlideSize)&&(o=!0))}else for(var u=n+1;u<i.length;u+=1)s[u]-s[n]<a&&(r+=1);return r},t.prototype.update=function(){var e=this;if(e&&!e.destroyed){var t=e.snapGrid,i=e.params;i.breakpoints&&e.setBreakpoint(),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),e.params.freeMode?(s(),e.params.autoHeight&&e.updateAutoHeight()):(("auto"===e.params.slidesPerView||1<e.params.slidesPerView)&&e.isEnd&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0))||s(),i.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}function s(){var t=e.rtlTranslate?-1*e.translate:e.translate,i=Math.min(Math.max(t,e.maxTranslate()),e.minTranslate());e.setTranslate(i),e.updateActiveIndex(),e.updateSlidesClasses()}},t.prototype.changeDirection=function(e,t){void 0===t&&(t=!0);var i=this,s=i.params.direction;return e||(e="horizontal"===s?"vertical":"horizontal"),e===s||"horizontal"!==e&&"vertical"!==e||("vertical"===s&&(i.$el.removeClass(i.params.containerModifierClass+"vertical wp8-vertical").addClass(""+i.params.containerModifierClass+e),(p.isIE||p.isEdge)&&(u.pointerEvents||u.prefixedPointerEvents)&&i.$el.addClass(i.params.containerModifierClass+"wp8-"+e)),"horizontal"===s&&(i.$el.removeClass(i.params.containerModifierClass+"horizontal wp8-horizontal").addClass(""+i.params.containerModifierClass+e),(p.isIE||p.isEdge)&&(u.pointerEvents||u.prefixedPointerEvents)&&i.$el.addClass(i.params.containerModifierClass+"wp8-"+e)),i.params.direction=e,i.slides.each((function(t,i){"vertical"===e?i.style.width="":i.style.height=""})),i.emit("changeDirection"),t&&i.update()),i},t.prototype.init=function(){var e=this;e.initialized||(e.emit("beforeInit"),e.params.breakpoints&&e.setBreakpoint(),e.addClasses(),e.params.loop&&e.loopCreate(),e.updateSize(),e.updateSlides(),e.params.watchOverflow&&e.checkOverflow(),e.params.grabCursor&&e.setGrabCursor(),e.params.preloadImages&&e.preloadImages(),e.params.loop?e.slideTo(e.params.initialSlide+e.loopedSlides,0,e.params.runCallbacksOnInit):e.slideTo(e.params.initialSlide,0,e.params.runCallbacksOnInit),e.attachEvents(),e.initialized=!0,e.emit("init"))},t.prototype.destroy=function(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);var i=this,s=i.params,a=i.$el,n=i.$wrapperEl,r=i.slides;return void 0===i.params||i.destroyed||(i.emit("beforeDestroy"),i.initialized=!1,i.detachEvents(),s.loop&&i.loopDestroy(),t&&(i.removeClasses(),a.removeAttr("style"),n.removeAttr("style"),r&&r.length&&r.removeClass([s.slideVisibleClass,s.slideActiveClass,s.slideNextClass,s.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index").removeAttr("data-swiper-column").removeAttr("data-swiper-row")),i.emit("destroy"),Object.keys(i.eventsListeners).forEach((function(e){i.off(e)})),!1!==e&&(i.$el[0].swiper=null,i.$el.data("swiper",null),c.deleteProps(i)),i.destroyed=!0),null},t.extendDefaults=function(e){c.extend(S,e)},i.extendedDefaults.get=function(){return S},i.defaults.get=function(){return C},i.Class.get=function(){return e},i.$.get=function(){return s},Object.defineProperties(t,i),t}(h),k={name:"device",proto:{device:x},static:{device:x}},P={name:"support",proto:{support:u},static:{support:u}},z={name:"browser",proto:{browser:p},static:{browser:p}},_={name:"resize",create:function(){var e=this;c.extend(e,{resize:{resizeHandler:function(){e&&!e.destroyed&&e.initialized&&(e.emit("beforeResize"),e.emit("resize"))},orientationChangeHandler:function(){e&&!e.destroyed&&e.initialized&&e.emit("orientationchange")}}})},on:{init:function(){t.addEventListener("resize",this.resize.resizeHandler),t.addEventListener("orientationchange",this.resize.orientationChangeHandler)},destroy:function(){t.removeEventListener("resize",this.resize.resizeHandler),t.removeEventListener("orientationchange",this.resize.orientationChangeHandler)}}},I={func:t.MutationObserver||t.WebkitMutationObserver,attach:function(e,i){void 0===i&&(i={});var s=this,a=new I.func((function(e){if(1!==e.length){var i=function(){s.emit("observerUpdate",e[0])};t.requestAnimationFrame?t.requestAnimationFrame(i):t.setTimeout(i,0)}else s.emit("observerUpdate",e[0])}));a.observe(e,{attributes:void 0===i.attributes||i.attributes,childList:void 0===i.childList||i.childList,characterData:void 0===i.characterData||i.characterData}),s.observer.observers.push(a)},init:function(){var e=this;if(u.observer&&e.params.observer){if(e.params.observeParents)for(var t=e.$el.parents(),i=0;i<t.length;i+=1)e.observer.attach(t[i]);e.observer.attach(e.$el[0],{childList:e.params.observeSlideChildren}),e.observer.attach(e.$wrapperEl[0],{attributes:!1})}},destroy:function(){this.observer.observers.forEach((function(e){e.disconnect()})),this.observer.observers=[]}},L={name:"observer",params:{observer:!1,observeParents:!1,observeSlideChildren:!1},create:function(){c.extend(this,{observer:{init:I.init.bind(this),attach:I.attach.bind(this),destroy:I.destroy.bind(this),observers:[]}})},on:{init:function(){this.observer.init()},destroy:function(){this.observer.destroy()}}},D={update:function(e){var t=this,i=t.params,s=i.slidesPerView,a=i.slidesPerGroup,n=i.centeredSlides,r=t.params.virtual,o=r.addSlidesBefore,l=r.addSlidesAfter,d=t.virtual,u=d.from,p=d.to,h=d.slides,f=d.slidesGrid,v=d.renderSlide,m=d.offset;t.updateActiveIndex();var g,b,w,y=t.activeIndex||0;g=t.rtlTranslate?"right":t.isHorizontal()?"left":"top",w=n?(b=Math.floor(s/2)+a+o,Math.floor(s/2)+a+l):(b=s+(a-1)+o,a+l);var x=Math.max((y||0)-w,0),T=Math.min((y||0)+b,h.length-1),C=(t.slidesGrid[x]||0)-(t.slidesGrid[0]||0);function E(){t.updateSlides(),t.updateProgress(),t.updateSlidesClasses(),t.lazy&&t.params.lazy.enabled&&t.lazy.load()}if(c.extend(t.virtual,{from:x,to:T,offset:C,slidesGrid:t.slidesGrid}),u===x&&p===T&&!e)return t.slidesGrid!==f&&C!==m&&t.slides.css(g,C+"px"),void t.updateProgress();if(t.params.virtual.renderExternal)return t.params.virtual.renderExternal.call(t,{offset:C,from:x,to:T,slides:function(){for(var e=[],t=x;t<=T;t+=1)e.push(h[t]);return e}()}),void E();var S=[],M=[];if(e)t.$wrapperEl.find("."+t.params.slideClass).remove();else for(var k=u;k<=p;k+=1)(k<x||T<k)&&t.$wrapperEl.find("."+t.params.slideClass+'[data-swiper-slide-index="'+k+'"]').remove();for(var P=0;P<h.length;P+=1)x<=P&&P<=T&&(void 0===p||e?M.push(P):(p<P&&M.push(P),P<u&&S.push(P)));M.forEach((function(e){t.$wrapperEl.append(v(h[e],e))})),S.sort((function(e,t){return t-e})).forEach((function(e){t.$wrapperEl.prepend(v(h[e],e))})),t.$wrapperEl.children(".swiper-slide").css(g,C+"px"),E()},renderSlide:function(e,t){var i=this,a=i.params.virtual;if(a.cache&&i.virtual.cache[t])return i.virtual.cache[t];var n=a.renderSlide?s(a.renderSlide.call(i,e,t)):s('<div class="'+i.params.slideClass+'" data-swiper-slide-index="'+t+'">'+e+"</div>");return n.attr("data-swiper-slide-index")||n.attr("data-swiper-slide-index",t),a.cache&&(i.virtual.cache[t]=n),n},appendSlide:function(e){if("object"==typeof e&&"length"in e)for(var t=0;t<e.length;t+=1)e[t]&&this.virtual.slides.push(e[t]);else this.virtual.slides.push(e);this.virtual.update(!0)},prependSlide:function(e){var t=this,i=t.activeIndex,s=i+1,a=1;if(Array.isArray(e)){for(var n=0;n<e.length;n+=1)e[n]&&t.virtual.slides.unshift(e[n]);s=i+e.length,a=e.length}else t.virtual.slides.unshift(e);if(t.params.virtual.cache){var r=t.virtual.cache,o={};Object.keys(r).forEach((function(e){o[parseInt(e,10)+a]=r[e]})),t.virtual.cache=o}t.virtual.update(!0),t.slideTo(s,0)},removeSlide:function(e){var t=this;if(null!=e){var i=t.activeIndex;if(Array.isArray(e))for(var s=e.length-1;0<=s;s-=1)t.virtual.slides.splice(e[s],1),t.params.virtual.cache&&delete t.virtual.cache[e[s]],e[s]<i&&(i-=1),i=Math.max(i,0);else t.virtual.slides.splice(e,1),t.params.virtual.cache&&delete t.virtual.cache[e],e<i&&(i-=1),i=Math.max(i,0);t.virtual.update(!0),t.slideTo(i,0)}},removeAllSlides:function(){var e=this;e.virtual.slides=[],e.params.virtual.cache&&(e.virtual.cache={}),e.virtual.update(!0),e.slideTo(0,0)}},$={name:"virtual",params:{virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,addSlidesBefore:0,addSlidesAfter:0}},create:function(){var e=this;c.extend(e,{virtual:{update:D.update.bind(e),appendSlide:D.appendSlide.bind(e),prependSlide:D.prependSlide.bind(e),removeSlide:D.removeSlide.bind(e),removeAllSlides:D.removeAllSlides.bind(e),renderSlide:D.renderSlide.bind(e),slides:e.params.virtual.slides,cache:{}}})},on:{beforeInit:function(){var e=this;if(e.params.virtual.enabled){e.classNames.push(e.params.containerModifierClass+"virtual");var t={watchSlidesProgress:!0};c.extend(e.params,t),c.extend(e.originalParams,t),e.params.initialSlide||e.virtual.update()}},setTranslate:function(){this.params.virtual.enabled&&this.virtual.update()}}},O={handle:function(i){var s=this,a=s.rtlTranslate,n=i;n.originalEvent&&(n=n.originalEvent);var r=n.keyCode||n.charCode;if(!s.allowSlideNext&&(s.isHorizontal()&&39===r||s.isVertical()&&40===r))return!1;if(!s.allowSlidePrev&&(s.isHorizontal()&&37===r||s.isVertical()&&38===r))return!1;if(!(n.shiftKey||n.altKey||n.ctrlKey||n.metaKey||e.activeElement&&e.activeElement.nodeName&&("input"===e.activeElement.nodeName.toLowerCase()||"textarea"===e.activeElement.nodeName.toLowerCase()))){if(s.params.keyboard.onlyInViewport&&(37===r||39===r||38===r||40===r)){var o=!1;if(0<s.$el.parents("."+s.params.slideClass).length&&0===s.$el.parents("."+s.params.slideActiveClass).length)return;var l=t.innerWidth,d=t.innerHeight,c=s.$el.offset();a&&(c.left-=s.$el[0].scrollLeft);for(var u=[[c.left,c.top],[c.left+s.width,c.top],[c.left,c.top+s.height],[c.left+s.width,c.top+s.height]],p=0;p<u.length;p+=1){var h=u[p];0<=h[0]&&h[0]<=l&&0<=h[1]&&h[1]<=d&&(o=!0)}if(!o)return}s.isHorizontal()?(37!==r&&39!==r||(n.preventDefault?n.preventDefault():n.returnValue=!1),(39===r&&!a||37===r&&a)&&s.slideNext(),(37===r&&!a||39===r&&a)&&s.slidePrev()):(38!==r&&40!==r||(n.preventDefault?n.preventDefault():n.returnValue=!1),40===r&&s.slideNext(),38===r&&s.slidePrev()),s.emit("keyPress",r)}},enable:function(){this.keyboard.enabled||(s(e).on("keydown",this.keyboard.handle),this.keyboard.enabled=!0)},disable:function(){this.keyboard.enabled&&(s(e).off("keydown",this.keyboard.handle),this.keyboard.enabled=!1)}},A={name:"keyboard",params:{keyboard:{enabled:!1,onlyInViewport:!0}},create:function(){c.extend(this,{keyboard:{enabled:!1,enable:O.enable.bind(this),disable:O.disable.bind(this),handle:O.handle.bind(this)}})},on:{init:function(){this.params.keyboard.enabled&&this.keyboard.enable()},destroy:function(){this.keyboard.enabled&&this.keyboard.disable()}}},N={lastScrollTime:c.now(),event:-1<t.navigator.userAgent.indexOf("firefox")?"DOMMouseScroll":function(){var t="onwheel",i=t in e;if(!i){var s=e.createElement("div");s.setAttribute(t,"return;"),i="function"==typeof s[t]}return!i&&e.implementation&&e.implementation.hasFeature&&!0!==e.implementation.hasFeature("","")&&(i=e.implementation.hasFeature("Events.wheel","3.0")),i}()?"wheel":"mousewheel",normalize:function(e){var t=0,i=0,s=0,a=0;return"detail"in e&&(i=e.detail),"wheelDelta"in e&&(i=-e.wheelDelta/120),"wheelDeltaY"in e&&(i=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=i,i=0),s=10*t,a=10*i,"deltaY"in e&&(a=e.deltaY),"deltaX"in e&&(s=e.deltaX),(s||a)&&e.deltaMode&&(1===e.deltaMode?(s*=40,a*=40):(s*=800,a*=800)),s&&!t&&(t=s<1?-1:1),a&&!i&&(i=a<1?-1:1),{spinX:t,spinY:i,pixelX:s,pixelY:a}},handleMouseEnter:function(){this.mouseEntered=!0},handleMouseLeave:function(){this.mouseEntered=!1},handle:function(e){var i=e,s=this,a=s.params.mousewheel;if(!s.mouseEntered&&!a.releaseOnEdges)return!0;i.originalEvent&&(i=i.originalEvent);var n=0,r=s.rtlTranslate?-1:1,o=N.normalize(i);if(a.forceToAxis)if(s.isHorizontal()){if(!(Math.abs(o.pixelX)>Math.abs(o.pixelY)))return!0;n=o.pixelX*r}else{if(!(Math.abs(o.pixelY)>Math.abs(o.pixelX)))return!0;n=o.pixelY}else n=Math.abs(o.pixelX)>Math.abs(o.pixelY)?-o.pixelX*r:-o.pixelY;if(0===n)return!0;if(a.invert&&(n=-n),s.params.freeMode){s.params.loop&&s.loopFix();var l=s.getTranslate()+n*a.sensitivity,d=s.isBeginning,u=s.isEnd;if(l>=s.minTranslate()&&(l=s.minTranslate()),l<=s.maxTranslate()&&(l=s.maxTranslate()),s.setTransition(0),s.setTranslate(l),s.updateProgress(),s.updateActiveIndex(),s.updateSlidesClasses(),(!d&&s.isBeginning||!u&&s.isEnd)&&s.updateSlidesClasses(),s.params.freeModeSticky&&(clearTimeout(s.mousewheel.timeout),s.mousewheel.timeout=c.nextTick((function(){s.slideToClosest()}),300)),s.emit("scroll",i),s.params.autoplay&&s.params.autoplayDisableOnInteraction&&s.autoplay.stop(),l===s.minTranslate()||l===s.maxTranslate())return!0}else{if(60<c.now()-s.mousewheel.lastScrollTime)if(n<0)if(s.isEnd&&!s.params.loop||s.animating){if(a.releaseOnEdges)return!0}else s.slideNext(),s.emit("scroll",i);else if(s.isBeginning&&!s.params.loop||s.animating){if(a.releaseOnEdges)return!0}else s.slidePrev(),s.emit("scroll",i);s.mousewheel.lastScrollTime=(new t.Date).getTime()}return i.preventDefault?i.preventDefault():i.returnValue=!1,!1},enable:function(){var e=this;if(!N.event)return!1;if(e.mousewheel.enabled)return!1;var t=e.$el;return"container"!==e.params.mousewheel.eventsTarged&&(t=s(e.params.mousewheel.eventsTarged)),t.on("mouseenter",e.mousewheel.handleMouseEnter),t.on("mouseleave",e.mousewheel.handleMouseLeave),t.on(N.event,e.mousewheel.handle),e.mousewheel.enabled=!0},disable:function(){var e=this;if(!N.event)return!1;if(!e.mousewheel.enabled)return!1;var t=e.$el;return"container"!==e.params.mousewheel.eventsTarged&&(t=s(e.params.mousewheel.eventsTarged)),t.off(N.event,e.mousewheel.handle),!(e.mousewheel.enabled=!1)}},H={update:function(){var e=this,t=e.params.navigation;if(!e.params.loop){var i=e.navigation,s=i.$nextEl,a=i.$prevEl;a&&0<a.length&&(e.isBeginning?a.addClass(t.disabledClass):a.removeClass(t.disabledClass),a[e.params.watchOverflow&&e.isLocked?"addClass":"removeClass"](t.lockClass)),s&&0<s.length&&(e.isEnd?s.addClass(t.disabledClass):s.removeClass(t.disabledClass),s[e.params.watchOverflow&&e.isLocked?"addClass":"removeClass"](t.lockClass))}},onPrevClick:function(e){e.preventDefault(),this.isBeginning&&!this.params.loop||this.slidePrev()},onNextClick:function(e){e.preventDefault(),this.isEnd&&!this.params.loop||this.slideNext()},init:function(){var e,t,i=this,a=i.params.navigation;(a.nextEl||a.prevEl)&&(a.nextEl&&(e=s(a.nextEl),i.params.uniqueNavElements&&"string"==typeof a.nextEl&&1<e.length&&1===i.$el.find(a.nextEl).length&&(e=i.$el.find(a.nextEl))),a.prevEl&&(t=s(a.prevEl),i.params.uniqueNavElements&&"string"==typeof a.prevEl&&1<t.length&&1===i.$el.find(a.prevEl).length&&(t=i.$el.find(a.prevEl))),e&&0<e.length&&e.on("click",i.navigation.onNextClick),t&&0<t.length&&t.on("click",i.navigation.onPrevClick),c.extend(i.navigation,{$nextEl:e,nextEl:e&&e[0],$prevEl:t,prevEl:t&&t[0]}))},destroy:function(){var e=this,t=e.navigation,i=t.$nextEl,s=t.$prevEl;i&&i.length&&(i.off("click",e.navigation.onNextClick),i.removeClass(e.params.navigation.disabledClass)),s&&s.length&&(s.off("click",e.navigation.onPrevClick),s.removeClass(e.params.navigation.disabledClass))}},B={update:function(){var e=this,t=e.rtl,i=e.params.pagination;if(i.el&&e.pagination.el&&e.pagination.$el&&0!==e.pagination.$el.length){var a,n=e.virtual&&e.params.virtual.enabled?e.virtual.slides.length:e.slides.length,r=e.pagination.$el,o=e.params.loop?Math.ceil((n-2*e.loopedSlides)/e.params.slidesPerGroup):e.snapGrid.length;if(e.params.loop?((a=Math.ceil((e.activeIndex-e.loopedSlides)/e.params.slidesPerGroup))>n-1-2*e.loopedSlides&&(a-=n-2*e.loopedSlides),o-1<a&&(a-=o),a<0&&"bullets"!==e.params.paginationType&&(a=o+a)):a=void 0!==e.snapIndex?e.snapIndex:e.activeIndex||0,"bullets"===i.type&&e.pagination.bullets&&0<e.pagination.bullets.length){var l,d,c,u=e.pagination.bullets;if(i.dynamicBullets&&(e.pagination.bulletSize=u.eq(0)[e.isHorizontal()?"outerWidth":"outerHeight"](!0),r.css(e.isHorizontal()?"width":"height",e.pagination.bulletSize*(i.dynamicMainBullets+4)+"px"),1<i.dynamicMainBullets&&void 0!==e.previousIndex&&(e.pagination.dynamicBulletIndex+=a-e.previousIndex,e.pagination.dynamicBulletIndex>i.dynamicMainBullets-1?e.pagination.dynamicBulletIndex=i.dynamicMainBullets-1:e.pagination.dynamicBulletIndex<0&&(e.pagination.dynamicBulletIndex=0)),l=a-e.pagination.dynamicBulletIndex,c=((d=l+(Math.min(u.length,i.dynamicMainBullets)-1))+l)/2),u.removeClass(i.bulletActiveClass+" "+i.bulletActiveClass+"-next "+i.bulletActiveClass+"-next-next "+i.bulletActiveClass+"-prev "+i.bulletActiveClass+"-prev-prev "+i.bulletActiveClass+"-main"),1<r.length)u.each((function(e,t){var n=s(t),r=n.index();r===a&&n.addClass(i.bulletActiveClass),i.dynamicBullets&&(l<=r&&r<=d&&n.addClass(i.bulletActiveClass+"-main"),r===l&&n.prev().addClass(i.bulletActiveClass+"-prev").prev().addClass(i.bulletActiveClass+"-prev-prev"),r===d&&n.next().addClass(i.bulletActiveClass+"-next").next().addClass(i.bulletActiveClass+"-next-next"))}));else if(u.eq(a).addClass(i.bulletActiveClass),i.dynamicBullets){for(var p=u.eq(l),h=u.eq(d),f=l;f<=d;f+=1)u.eq(f).addClass(i.bulletActiveClass+"-main");p.prev().addClass(i.bulletActiveClass+"-prev").prev().addClass(i.bulletActiveClass+"-prev-prev"),h.next().addClass(i.bulletActiveClass+"-next").next().addClass(i.bulletActiveClass+"-next-next")}if(i.dynamicBullets){var v=Math.min(u.length,i.dynamicMainBullets+4),m=(e.pagination.bulletSize*v-e.pagination.bulletSize)/2-c*e.pagination.bulletSize,g=t?"right":"left";u.css(e.isHorizontal()?g:"top",m+"px")}}if("fraction"===i.type&&(r.find("."+i.currentClass).text(i.formatFractionCurrent(a+1)),r.find("."+i.totalClass).text(i.formatFractionTotal(o))),"progressbar"===i.type){var b;b=i.progressbarOpposite?e.isHorizontal()?"vertical":"horizontal":e.isHorizontal()?"horizontal":"vertical";var w=(a+1)/o,y=1,x=1;"horizontal"===b?y=w:x=w,r.find("."+i.progressbarFillClass).transform("translate3d(0,0,0) scaleX("+y+") scaleY("+x+")").transition(e.params.speed)}"custom"===i.type&&i.renderCustom?(r.html(i.renderCustom(e,a+1,o)),e.emit("paginationRender",e,r[0])):e.emit("paginationUpdate",e,r[0]),r[e.params.watchOverflow&&e.isLocked?"addClass":"removeClass"](i.lockClass)}},render:function(){var e=this,t=e.params.pagination;if(t.el&&e.pagination.el&&e.pagination.$el&&0!==e.pagination.$el.length){var i=e.virtual&&e.params.virtual.enabled?e.virtual.slides.length:e.slides.length,s=e.pagination.$el,a="";if("bullets"===t.type){for(var n=e.params.loop?Math.ceil((i-2*e.loopedSlides)/e.params.slidesPerGroup):e.snapGrid.length,r=0;r<n;r+=1)t.renderBullet?a+=t.renderBullet.call(e,r,t.bulletClass):a+="<"+t.bulletElement+' class="'+t.bulletClass+'"></'+t.bulletElement+">";s.html(a),e.pagination.bullets=s.find("."+t.bulletClass)}"fraction"===t.type&&(a=t.renderFraction?t.renderFraction.call(e,t.currentClass,t.totalClass):'<span class="'+t.currentClass+'"></span> / <span class="'+t.totalClass+'"></span>',s.html(a)),"progressbar"===t.type&&(a=t.renderProgressbar?t.renderProgressbar.call(e,t.progressbarFillClass):'<span class="'+t.progressbarFillClass+'"></span>',s.html(a)),"custom"!==t.type&&e.emit("paginationRender",e.pagination.$el[0])}},init:function(){var e=this,t=e.params.pagination;if(t.el){var i=s(t.el);0!==i.length&&(e.params.uniqueNavElements&&"string"==typeof t.el&&1<i.length&&1===e.$el.find(t.el).length&&(i=e.$el.find(t.el)),"bullets"===t.type&&t.clickable&&i.addClass(t.clickableClass),i.addClass(t.modifierClass+t.type),"bullets"===t.type&&t.dynamicBullets&&(i.addClass(""+t.modifierClass+t.type+"-dynamic"),e.pagination.dynamicBulletIndex=0,t.dynamicMainBullets<1&&(t.dynamicMainBullets=1)),"progressbar"===t.type&&t.progressbarOpposite&&i.addClass(t.progressbarOppositeClass),t.clickable&&i.on("click","."+t.bulletClass,(function(t){t.preventDefault();var i=s(this).index()*e.params.slidesPerGroup;e.params.loop&&(i+=e.loopedSlides),e.slideTo(i)})),c.extend(e.pagination,{$el:i,el:i[0]}))}},destroy:function(){var e=this,t=e.params.pagination;if(t.el&&e.pagination.el&&e.pagination.$el&&0!==e.pagination.$el.length){var i=e.pagination.$el;i.removeClass(t.hiddenClass),i.removeClass(t.modifierClass+t.type),e.pagination.bullets&&e.pagination.bullets.removeClass(t.bulletActiveClass),t.clickable&&i.off("click","."+t.bulletClass)}}},G={setTranslate:function(){var e=this;if(e.params.scrollbar.el&&e.scrollbar.el){var t=e.scrollbar,i=e.rtlTranslate,s=e.progress,a=t.dragSize,n=t.trackSize,r=t.$dragEl,o=t.$el,l=e.params.scrollbar,d=a,c=(n-a)*s;i?0<(c=-c)?(d=a-c,c=0):n<-c+a&&(d=n+c):c<0?(d=a+c,c=0):n<c+a&&(d=n-c),e.isHorizontal()?(u.transforms3d?r.transform("translate3d("+c+"px, 0, 0)"):r.transform("translateX("+c+"px)"),r[0].style.width=d+"px"):(u.transforms3d?r.transform("translate3d(0px, "+c+"px, 0)"):r.transform("translateY("+c+"px)"),r[0].style.height=d+"px"),l.hide&&(clearTimeout(e.scrollbar.timeout),o[0].style.opacity=1,e.scrollbar.timeout=setTimeout((function(){o[0].style.opacity=0,o.transition(400)}),1e3))}},setTransition:function(e){this.params.scrollbar.el&&this.scrollbar.el&&this.scrollbar.$dragEl.transition(e)},updateSize:function(){var e=this;if(e.params.scrollbar.el&&e.scrollbar.el){var t=e.scrollbar,i=t.$dragEl,s=t.$el;i[0].style.width="",i[0].style.height="";var a,n=e.isHorizontal()?s[0].offsetWidth:s[0].offsetHeight,r=e.size/e.virtualSize,o=r*(n/e.size);a="auto"===e.params.scrollbar.dragSize?n*r:parseInt(e.params.scrollbar.dragSize,10),e.isHorizontal()?i[0].style.width=a+"px":i[0].style.height=a+"px",s[0].style.display=1<=r?"none":"",e.params.scrollbar.hide&&(s[0].style.opacity=0),c.extend(t,{trackSize:n,divider:r,moveDivider:o,dragSize:a}),t.$el[e.params.watchOverflow&&e.isLocked?"addClass":"removeClass"](e.params.scrollbar.lockClass)}},setDragPosition:function(e){var t,i=this,s=i.scrollbar,a=i.rtlTranslate,n=s.$el,r=s.dragSize,o=s.trackSize;t=((i.isHorizontal()?"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].pageX:e.pageX||e.clientX:"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].pageY:e.pageY||e.clientY)-n.offset()[i.isHorizontal()?"left":"top"]-r/2)/(o-r),t=Math.max(Math.min(t,1),0),a&&(t=1-t);var l=i.minTranslate()+(i.maxTranslate()-i.minTranslate())*t;i.updateProgress(l),i.setTranslate(l),i.updateActiveIndex(),i.updateSlidesClasses()},onDragStart:function(e){var t=this,i=t.params.scrollbar,s=t.scrollbar,a=t.$wrapperEl,n=s.$el,r=s.$dragEl;t.scrollbar.isTouched=!0,e.preventDefault(),e.stopPropagation(),a.transition(100),r.transition(100),s.setDragPosition(e),clearTimeout(t.scrollbar.dragTimeout),n.transition(0),i.hide&&n.css("opacity",1),t.emit("scrollbarDragStart",e)},onDragMove:function(e){var t=this.scrollbar,i=this.$wrapperEl,s=t.$el,a=t.$dragEl;this.scrollbar.isTouched&&(e.preventDefault?e.preventDefault():e.returnValue=!1,t.setDragPosition(e),i.transition(0),s.transition(0),a.transition(0),this.emit("scrollbarDragMove",e))},onDragEnd:function(e){var t=this,i=t.params.scrollbar,s=t.scrollbar.$el;t.scrollbar.isTouched&&(t.scrollbar.isTouched=!1,i.hide&&(clearTimeout(t.scrollbar.dragTimeout),t.scrollbar.dragTimeout=c.nextTick((function(){s.css("opacity",0),s.transition(400)}),1e3)),t.emit("scrollbarDragEnd",e),i.snapOnRelease&&t.slideToClosest())},enableDraggable:function(){var t=this;if(t.params.scrollbar.el){var i=t.scrollbar,s=t.touchEventsTouch,a=t.touchEventsDesktop,n=t.params,r=i.$el[0],o=!(!u.passiveListener||!n.passiveListeners)&&{passive:!1,capture:!1},l=!(!u.passiveListener||!n.passiveListeners)&&{passive:!0,capture:!1};u.touch?(r.addEventListener(s.start,t.scrollbar.onDragStart,o),r.addEventListener(s.move,t.scrollbar.onDragMove,o),r.addEventListener(s.end,t.scrollbar.onDragEnd,l)):(r.addEventListener(a.start,t.scrollbar.onDragStart,o),e.addEventListener(a.move,t.scrollbar.onDragMove,o),e.addEventListener(a.end,t.scrollbar.onDragEnd,l))}},disableDraggable:function(){var t=this;if(t.params.scrollbar.el){var i=t.scrollbar,s=t.touchEventsTouch,a=t.touchEventsDesktop,n=t.params,r=i.$el[0],o=!(!u.passiveListener||!n.passiveListeners)&&{passive:!1,capture:!1},l=!(!u.passiveListener||!n.passiveListeners)&&{passive:!0,capture:!1};u.touch?(r.removeEventListener(s.start,t.scrollbar.onDragStart,o),r.removeEventListener(s.move,t.scrollbar.onDragMove,o),r.removeEventListener(s.end,t.scrollbar.onDragEnd,l)):(r.removeEventListener(a.start,t.scrollbar.onDragStart,o),e.removeEventListener(a.move,t.scrollbar.onDragMove,o),e.removeEventListener(a.end,t.scrollbar.onDragEnd,l))}},init:function(){var e=this;if(e.params.scrollbar.el){var t=e.scrollbar,i=e.$el,a=e.params.scrollbar,n=s(a.el);e.params.uniqueNavElements&&"string"==typeof a.el&&1<n.length&&1===i.find(a.el).length&&(n=i.find(a.el));var r=n.find("."+e.params.scrollbar.dragClass);0===r.length&&(r=s('<div class="'+e.params.scrollbar.dragClass+'"></div>'),n.append(r)),c.extend(t,{$el:n,el:n[0],$dragEl:r,dragEl:r[0]}),a.draggable&&t.enableDraggable()}},destroy:function(){this.scrollbar.disableDraggable()}},W={setTransform:function(e,t){var i=this.rtl,a=s(e),n=i?-1:1,r=a.attr("data-swiper-parallax")||"0",o=a.attr("data-swiper-parallax-x"),l=a.attr("data-swiper-parallax-y"),d=a.attr("data-swiper-parallax-scale"),c=a.attr("data-swiper-parallax-opacity");if(o||l?(o=o||"0",l=l||"0"):this.isHorizontal()?(o=r,l="0"):(l=r,o="0"),o=0<=o.indexOf("%")?parseInt(o,10)*t*n+"%":o*t*n+"px",l=0<=l.indexOf("%")?parseInt(l,10)*t+"%":l*t+"px",null!=c){var u=c-(c-1)*(1-Math.abs(t));a[0].style.opacity=u}if(null==d)a.transform("translate3d("+o+", "+l+", 0px)");else{var p=d-(d-1)*(1-Math.abs(t));a.transform("translate3d("+o+", "+l+", 0px) scale("+p+")")}},setTranslate:function(){var e=this,t=e.$el,i=e.slides,a=e.progress,n=e.snapGrid;t.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each((function(t,i){e.parallax.setTransform(i,a)})),i.each((function(t,i){var r=i.progress;1<e.params.slidesPerGroup&&"auto"!==e.params.slidesPerView&&(r+=Math.ceil(t/2)-a*(n.length-1)),r=Math.min(Math.max(r,-1),1),s(i).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each((function(t,i){e.parallax.setTransform(i,r)}))}))},setTransition:function(e){void 0===e&&(e=this.params.speed),this.$el.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each((function(t,i){var a=s(i),n=parseInt(a.attr("data-swiper-parallax-duration"),10)||e;0===e&&(n=0),a.transition(n)}))}},F={getDistanceBetweenTouches:function(e){if(e.targetTouches.length<2)return 1;var t=e.targetTouches[0].pageX,i=e.targetTouches[0].pageY,s=e.targetTouches[1].pageX,a=e.targetTouches[1].pageY;return Math.sqrt(Math.pow(s-t,2)+Math.pow(a-i,2))},onGestureStart:function(e){var t=this,i=t.params.zoom,a=t.zoom,n=a.gesture;if(a.fakeGestureTouched=!1,a.fakeGestureMoved=!1,!u.gestures){if("touchstart"!==e.type||"touchstart"===e.type&&e.targetTouches.length<2)return;a.fakeGestureTouched=!0,n.scaleStart=F.getDistanceBetweenTouches(e)}n.$slideEl&&n.$slideEl.length||(n.$slideEl=s(e.target).closest(".swiper-slide"),0===n.$slideEl.length&&(n.$slideEl=t.slides.eq(t.activeIndex)),n.$imageEl=n.$slideEl.find("img, svg, canvas"),n.$imageWrapEl=n.$imageEl.parent("."+i.containerClass),n.maxRatio=n.$imageWrapEl.attr("data-swiper-zoom")||i.maxRatio,0!==n.$imageWrapEl.length)?(n.$imageEl.transition(0),t.zoom.isScaling=!0):n.$imageEl=void 0},onGestureChange:function(e){var t=this.params.zoom,i=this.zoom,s=i.gesture;if(!u.gestures){if("touchmove"!==e.type||"touchmove"===e.type&&e.targetTouches.length<2)return;i.fakeGestureMoved=!0,s.scaleMove=F.getDistanceBetweenTouches(e)}s.$imageEl&&0!==s.$imageEl.length&&(i.scale=u.gestures?e.scale*i.currentScale:s.scaleMove/s.scaleStart*i.currentScale,i.scale>s.maxRatio&&(i.scale=s.maxRatio-1+Math.pow(i.scale-s.maxRatio+1,.5)),i.scale<t.minRatio&&(i.scale=t.minRatio+1-Math.pow(t.minRatio-i.scale+1,.5)),s.$imageEl.transform("translate3d(0,0,0) scale("+i.scale+")"))},onGestureEnd:function(e){var t=this.params.zoom,i=this.zoom,s=i.gesture;if(!u.gestures){if(!i.fakeGestureTouched||!i.fakeGestureMoved)return;if("touchend"!==e.type||"touchend"===e.type&&e.changedTouches.length<2&&!x.android)return;i.fakeGestureTouched=!1,i.fakeGestureMoved=!1}s.$imageEl&&0!==s.$imageEl.length&&(i.scale=Math.max(Math.min(i.scale,s.maxRatio),t.minRatio),s.$imageEl.transition(this.params.speed).transform("translate3d(0,0,0) scale("+i.scale+")"),i.currentScale=i.scale,i.isScaling=!1,1===i.scale&&(s.$slideEl=void 0))},onTouchStart:function(e){var t=this.zoom,i=t.gesture,s=t.image;i.$imageEl&&0!==i.$imageEl.length&&(s.isTouched||(x.android&&e.preventDefault(),s.isTouched=!0,s.touchesStart.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,s.touchesStart.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY))},onTouchMove:function(e){var t=this,i=t.zoom,s=i.gesture,a=i.image,n=i.velocity;if(s.$imageEl&&0!==s.$imageEl.length&&(t.allowClick=!1,a.isTouched&&s.$slideEl)){a.isMoved||(a.width=s.$imageEl[0].offsetWidth,a.height=s.$imageEl[0].offsetHeight,a.startX=c.getTranslate(s.$imageWrapEl[0],"x")||0,a.startY=c.getTranslate(s.$imageWrapEl[0],"y")||0,s.slideWidth=s.$slideEl[0].offsetWidth,s.slideHeight=s.$slideEl[0].offsetHeight,s.$imageWrapEl.transition(0),t.rtl&&(a.startX=-a.startX,a.startY=-a.startY));var r=a.width*i.scale,o=a.height*i.scale;if(!(r<s.slideWidth&&o<s.slideHeight)){if(a.minX=Math.min(s.slideWidth/2-r/2,0),a.maxX=-a.minX,a.minY=Math.min(s.slideHeight/2-o/2,0),a.maxY=-a.minY,a.touchesCurrent.x="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,a.touchesCurrent.y="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,!a.isMoved&&!i.isScaling){if(t.isHorizontal()&&(Math.floor(a.minX)===Math.floor(a.startX)&&a.touchesCurrent.x<a.touchesStart.x||Math.floor(a.maxX)===Math.floor(a.startX)&&a.touchesCurrent.x>a.touchesStart.x))return void(a.isTouched=!1);if(!t.isHorizontal()&&(Math.floor(a.minY)===Math.floor(a.startY)&&a.touchesCurrent.y<a.touchesStart.y||Math.floor(a.maxY)===Math.floor(a.startY)&&a.touchesCurrent.y>a.touchesStart.y))return void(a.isTouched=!1)}e.preventDefault(),e.stopPropagation(),a.isMoved=!0,a.currentX=a.touchesCurrent.x-a.touchesStart.x+a.startX,a.currentY=a.touchesCurrent.y-a.touchesStart.y+a.startY,a.currentX<a.minX&&(a.currentX=a.minX+1-Math.pow(a.minX-a.currentX+1,.8)),a.currentX>a.maxX&&(a.currentX=a.maxX-1+Math.pow(a.currentX-a.maxX+1,.8)),a.currentY<a.minY&&(a.currentY=a.minY+1-Math.pow(a.minY-a.currentY+1,.8)),a.currentY>a.maxY&&(a.currentY=a.maxY-1+Math.pow(a.currentY-a.maxY+1,.8)),n.prevPositionX||(n.prevPositionX=a.touchesCurrent.x),n.prevPositionY||(n.prevPositionY=a.touchesCurrent.y),n.prevTime||(n.prevTime=Date.now()),n.x=(a.touchesCurrent.x-n.prevPositionX)/(Date.now()-n.prevTime)/2,n.y=(a.touchesCurrent.y-n.prevPositionY)/(Date.now()-n.prevTime)/2,Math.abs(a.touchesCurrent.x-n.prevPositionX)<2&&(n.x=0),Math.abs(a.touchesCurrent.y-n.prevPositionY)<2&&(n.y=0),n.prevPositionX=a.touchesCurrent.x,n.prevPositionY=a.touchesCurrent.y,n.prevTime=Date.now(),s.$imageWrapEl.transform("translate3d("+a.currentX+"px, "+a.currentY+"px,0)")}}},onTouchEnd:function(){var e=this.zoom,t=e.gesture,i=e.image,s=e.velocity;if(t.$imageEl&&0!==t.$imageEl.length){if(!i.isTouched||!i.isMoved)return i.isTouched=!1,void(i.isMoved=!1);i.isTouched=!1,i.isMoved=!1;var a=300,n=300,r=s.x*a,o=i.currentX+r,l=s.y*n,d=i.currentY+l;0!==s.x&&(a=Math.abs((o-i.currentX)/s.x)),0!==s.y&&(n=Math.abs((d-i.currentY)/s.y));var c=Math.max(a,n);i.currentX=o,i.currentY=d;var u=i.width*e.scale,p=i.height*e.scale;i.minX=Math.min(t.slideWidth/2-u/2,0),i.maxX=-i.minX,i.minY=Math.min(t.slideHeight/2-p/2,0),i.maxY=-i.minY,i.currentX=Math.max(Math.min(i.currentX,i.maxX),i.minX),i.currentY=Math.max(Math.min(i.currentY,i.maxY),i.minY),t.$imageWrapEl.transition(c).transform("translate3d("+i.currentX+"px, "+i.currentY+"px,0)")}},onTransitionEnd:function(){var e=this.zoom,t=e.gesture;t.$slideEl&&this.previousIndex!==this.activeIndex&&(t.$imageEl.transform("translate3d(0,0,0) scale(1)"),t.$imageWrapEl.transform("translate3d(0,0,0)"),e.scale=1,e.currentScale=1,t.$slideEl=void 0,t.$imageEl=void 0,t.$imageWrapEl=void 0)},toggle:function(e){var t=this.zoom;t.scale&&1!==t.scale?t.out():t.in(e)},in:function(e){var t,i,a,n,r,o,l,d,c,u,p,h,f,v,m,g,b=this,w=b.zoom,y=b.params.zoom,x=w.gesture,T=w.image;x.$slideEl||(x.$slideEl=b.clickedSlide?s(b.clickedSlide):b.slides.eq(b.activeIndex),x.$imageEl=x.$slideEl.find("img, svg, canvas"),x.$imageWrapEl=x.$imageEl.parent("."+y.containerClass)),x.$imageEl&&0!==x.$imageEl.length&&(x.$slideEl.addClass(""+y.zoomedSlideClass),i=void 0===T.touchesStart.x&&e?(t="touchend"===e.type?e.changedTouches[0].pageX:e.pageX,"touchend"===e.type?e.changedTouches[0].pageY:e.pageY):(t=T.touchesStart.x,T.touchesStart.y),w.scale=x.$imageWrapEl.attr("data-swiper-zoom")||y.maxRatio,w.currentScale=x.$imageWrapEl.attr("data-swiper-zoom")||y.maxRatio,e?(m=x.$slideEl[0].offsetWidth,g=x.$slideEl[0].offsetHeight,a=x.$slideEl.offset().left+m/2-t,n=x.$slideEl.offset().top+g/2-i,l=x.$imageEl[0].offsetWidth,d=x.$imageEl[0].offsetHeight,c=l*w.scale,u=d*w.scale,f=-(p=Math.min(m/2-c/2,0)),v=-(h=Math.min(g/2-u/2,0)),(r=a*w.scale)<p&&(r=p),f<r&&(r=f),(o=n*w.scale)<h&&(o=h),v<o&&(o=v)):o=r=0,x.$imageWrapEl.transition(300).transform("translate3d("+r+"px, "+o+"px,0)"),x.$imageEl.transition(300).transform("translate3d(0,0,0) scale("+w.scale+")"))},out:function(){var e=this,t=e.zoom,i=e.params.zoom,a=t.gesture;a.$slideEl||(a.$slideEl=e.clickedSlide?s(e.clickedSlide):e.slides.eq(e.activeIndex),a.$imageEl=a.$slideEl.find("img, svg, canvas"),a.$imageWrapEl=a.$imageEl.parent("."+i.containerClass)),a.$imageEl&&0!==a.$imageEl.length&&(t.scale=1,t.currentScale=1,a.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"),a.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"),a.$slideEl.removeClass(""+i.zoomedSlideClass),a.$slideEl=void 0)},enable:function(){var e=this,t=e.zoom;if(!t.enabled){t.enabled=!0;var i=!("touchstart"!==e.touchEvents.start||!u.passiveListener||!e.params.passiveListeners)&&{passive:!0,capture:!1};u.gestures?(e.$wrapperEl.on("gesturestart",".swiper-slide",t.onGestureStart,i),e.$wrapperEl.on("gesturechange",".swiper-slide",t.onGestureChange,i),e.$wrapperEl.on("gestureend",".swiper-slide",t.onGestureEnd,i)):"touchstart"===e.touchEvents.start&&(e.$wrapperEl.on(e.touchEvents.start,".swiper-slide",t.onGestureStart,i),e.$wrapperEl.on(e.touchEvents.move,".swiper-slide",t.onGestureChange,i),e.$wrapperEl.on(e.touchEvents.end,".swiper-slide",t.onGestureEnd,i)),e.$wrapperEl.on(e.touchEvents.move,"."+e.params.zoom.containerClass,t.onTouchMove)}},disable:function(){var e=this,t=e.zoom;if(t.enabled){e.zoom.enabled=!1;var i=!("touchstart"!==e.touchEvents.start||!u.passiveListener||!e.params.passiveListeners)&&{passive:!0,capture:!1};u.gestures?(e.$wrapperEl.off("gesturestart",".swiper-slide",t.onGestureStart,i),e.$wrapperEl.off("gesturechange",".swiper-slide",t.onGestureChange,i),e.$wrapperEl.off("gestureend",".swiper-slide",t.onGestureEnd,i)):"touchstart"===e.touchEvents.start&&(e.$wrapperEl.off(e.touchEvents.start,".swiper-slide",t.onGestureStart,i),e.$wrapperEl.off(e.touchEvents.move,".swiper-slide",t.onGestureChange,i),e.$wrapperEl.off(e.touchEvents.end,".swiper-slide",t.onGestureEnd,i)),e.$wrapperEl.off(e.touchEvents.move,"."+e.params.zoom.containerClass,t.onTouchMove)}}},V={loadInSlide:function(e,t){void 0===t&&(t=!0);var i=this,a=i.params.lazy;if(void 0!==e&&0!==i.slides.length){var n=i.virtual&&i.params.virtual.enabled?i.$wrapperEl.children("."+i.params.slideClass+'[data-swiper-slide-index="'+e+'"]'):i.slides.eq(e),r=n.find("."+a.elementClass+":not(."+a.loadedClass+"):not(."+a.loadingClass+")");!n.hasClass(a.elementClass)||n.hasClass(a.loadedClass)||n.hasClass(a.loadingClass)||(r=r.add(n[0])),0!==r.length&&r.each((function(e,r){var o=s(r);o.addClass(a.loadingClass);var l=o.attr("data-background"),d=o.attr("data-src"),c=o.attr("data-srcset"),u=o.attr("data-sizes");i.loadImage(o[0],d||l,c,u,!1,(function(){if(null!=i&&i&&(!i||i.params)&&!i.destroyed){if(l?(o.css("background-image",'url("'+l+'")'),o.removeAttr("data-background")):(c&&(o.attr("srcset",c),o.removeAttr("data-srcset")),u&&(o.attr("sizes",u),o.removeAttr("data-sizes")),d&&(o.attr("src",d),o.removeAttr("data-src"))),o.addClass(a.loadedClass).removeClass(a.loadingClass),n.find("."+a.preloaderClass).remove(),i.params.loop&&t){var e=n.attr("data-swiper-slide-index");if(n.hasClass(i.params.slideDuplicateClass)){var s=i.$wrapperEl.children('[data-swiper-slide-index="'+e+'"]:not(.'+i.params.slideDuplicateClass+")");i.lazy.loadInSlide(s.index(),!1)}else{var r=i.$wrapperEl.children("."+i.params.slideDuplicateClass+'[data-swiper-slide-index="'+e+'"]');i.lazy.loadInSlide(r.index(),!1)}}i.emit("lazyImageReady",n[0],o[0])}})),i.emit("lazyImageLoad",n[0],o[0])}))}},load:function(){var e=this,t=e.$wrapperEl,i=e.params,a=e.slides,n=e.activeIndex,r=e.virtual&&i.virtual.enabled,o=i.lazy,l=i.slidesPerView;function d(e){if(r){if(t.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]').length)return!0}else if(a[e])return!0;return!1}function c(e){return r?s(e).attr("data-swiper-slide-index"):s(e).index()}if("auto"===l&&(l=0),e.lazy.initialImageLoaded||(e.lazy.initialImageLoaded=!0),e.params.watchSlidesVisibility)t.children("."+i.slideVisibleClass).each((function(t,i){var a=r?s(i).attr("data-swiper-slide-index"):s(i).index();e.lazy.loadInSlide(a)}));else if(1<l)for(var u=n;u<n+l;u+=1)d(u)&&e.lazy.loadInSlide(u);else e.lazy.loadInSlide(n);if(o.loadPrevNext)if(1<l||o.loadPrevNextAmount&&1<o.loadPrevNextAmount){for(var p=o.loadPrevNextAmount,h=l,f=Math.min(n+h+Math.max(p,h),a.length),v=Math.max(n-Math.max(h,p),0),m=n+l;m<f;m+=1)d(m)&&e.lazy.loadInSlide(m);for(var g=v;g<n;g+=1)d(g)&&e.lazy.loadInSlide(g)}else{var b=t.children("."+i.slideNextClass);0<b.length&&e.lazy.loadInSlide(c(b));var w=t.children("."+i.slidePrevClass);0<w.length&&e.lazy.loadInSlide(c(w))}}},Y={LinearSpline:function(e,t){var i,s,a,n,r;return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(r=function(e,t){for(s=-1,i=e.length;1<i-s;)e[a=i+s>>1]<=t?s=a:i=a;return i}(this.x,e),n=r-1,(e-this.x[n])*(this.y[r]-this.y[n])/(this.x[r]-this.x[n])+this.y[n]):0},this},getInterpolateFunction:function(e){var t=this;t.controller.spline||(t.controller.spline=t.params.loop?new Y.LinearSpline(t.slidesGrid,e.slidesGrid):new Y.LinearSpline(t.snapGrid,e.snapGrid))},setTranslate:function(e,t){var i,s,a=this,n=a.controller.control;function r(e){var t=a.rtlTranslate?-a.translate:a.translate;"slide"===a.params.controller.by&&(a.controller.getInterpolateFunction(e),s=-a.controller.spline.interpolate(-t)),s&&"container"!==a.params.controller.by||(i=(e.maxTranslate()-e.minTranslate())/(a.maxTranslate()-a.minTranslate()),s=(t-a.minTranslate())*i+e.minTranslate()),a.params.controller.inverse&&(s=e.maxTranslate()-s),e.updateProgress(s),e.setTranslate(s,a),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(n))for(var o=0;o<n.length;o+=1)n[o]!==t&&n[o]instanceof M&&r(n[o]);else n instanceof M&&t!==n&&r(n)},setTransition:function(e,t){var i,s=this,a=s.controller.control;function n(t){t.setTransition(e,s),0!==e&&(t.transitionStart(),t.params.autoHeight&&c.nextTick((function(){t.updateAutoHeight()})),t.$wrapperEl.transitionEnd((function(){a&&(t.params.loop&&"slide"===s.params.controller.by&&t.loopFix(),t.transitionEnd())})))}if(Array.isArray(a))for(i=0;i<a.length;i+=1)a[i]!==t&&a[i]instanceof M&&n(a[i]);else a instanceof M&&t!==a&&n(a)}},X={makeElFocusable:function(e){return e.attr("tabIndex","0"),e},addElRole:function(e,t){return e.attr("role",t),e},addElLabel:function(e,t){return e.attr("aria-label",t),e},disableEl:function(e){return e.attr("aria-disabled",!0),e},enableEl:function(e){return e.attr("aria-disabled",!1),e},onEnterKey:function(e){var t=this,i=t.params.a11y;if(13===e.keyCode){var a=s(e.target);t.navigation&&t.navigation.$nextEl&&a.is(t.navigation.$nextEl)&&(t.isEnd&&!t.params.loop||t.slideNext(),t.isEnd?t.a11y.notify(i.lastSlideMessage):t.a11y.notify(i.nextSlideMessage)),t.navigation&&t.navigation.$prevEl&&a.is(t.navigation.$prevEl)&&(t.isBeginning&&!t.params.loop||t.slidePrev(),t.isBeginning?t.a11y.notify(i.firstSlideMessage):t.a11y.notify(i.prevSlideMessage)),t.pagination&&a.is("."+t.params.pagination.bulletClass)&&a[0].click()}},notify:function(e){var t=this.a11y.liveRegion;0!==t.length&&(t.html(""),t.html(e))},updateNavigation:function(){var e=this;if(!e.params.loop){var t=e.navigation,i=t.$nextEl,s=t.$prevEl;s&&0<s.length&&(e.isBeginning?e.a11y.disableEl(s):e.a11y.enableEl(s)),i&&0<i.length&&(e.isEnd?e.a11y.disableEl(i):e.a11y.enableEl(i))}},updatePagination:function(){var e=this,t=e.params.a11y;e.pagination&&e.params.pagination.clickable&&e.pagination.bullets&&e.pagination.bullets.length&&e.pagination.bullets.each((function(i,a){var n=s(a);e.a11y.makeElFocusable(n),e.a11y.addElRole(n,"button"),e.a11y.addElLabel(n,t.paginationBulletMessage.replace(/{{index}}/,n.index()+1))}))},init:function(){var e=this;e.$el.append(e.a11y.liveRegion);var t,i,s=e.params.a11y;e.navigation&&e.navigation.$nextEl&&(t=e.navigation.$nextEl),e.navigation&&e.navigation.$prevEl&&(i=e.navigation.$prevEl),t&&(e.a11y.makeElFocusable(t),e.a11y.addElRole(t,"button"),e.a11y.addElLabel(t,s.nextSlideMessage),t.on("keydown",e.a11y.onEnterKey)),i&&(e.a11y.makeElFocusable(i),e.a11y.addElRole(i,"button"),e.a11y.addElLabel(i,s.prevSlideMessage),i.on("keydown",e.a11y.onEnterKey)),e.pagination&&e.params.pagination.clickable&&e.pagination.bullets&&e.pagination.bullets.length&&e.pagination.$el.on("keydown","."+e.params.pagination.bulletClass,e.a11y.onEnterKey)},destroy:function(){var e,t,i=this;i.a11y.liveRegion&&0<i.a11y.liveRegion.length&&i.a11y.liveRegion.remove(),i.navigation&&i.navigation.$nextEl&&(e=i.navigation.$nextEl),i.navigation&&i.navigation.$prevEl&&(t=i.navigation.$prevEl),e&&e.off("keydown",i.a11y.onEnterKey),t&&t.off("keydown",i.a11y.onEnterKey),i.pagination&&i.params.pagination.clickable&&i.pagination.bullets&&i.pagination.bullets.length&&i.pagination.$el.off("keydown","."+i.params.pagination.bulletClass,i.a11y.onEnterKey)}},R={init:function(){var e=this;if(e.params.history){if(!t.history||!t.history.pushState)return e.params.history.enabled=!1,void(e.params.hashNavigation.enabled=!0);var i=e.history;i.initialized=!0,i.paths=R.getPathValues(),(i.paths.key||i.paths.value)&&(i.scrollToSlide(0,i.paths.value,e.params.runCallbacksOnInit),e.params.history.replaceState||t.addEventListener("popstate",e.history.setHistoryPopState))}},destroy:function(){this.params.history.replaceState||t.removeEventListener("popstate",this.history.setHistoryPopState)},setHistoryPopState:function(){this.history.paths=R.getPathValues(),this.history.scrollToSlide(this.params.speed,this.history.paths.value,!1)},getPathValues:function(){var e=t.location.pathname.slice(1).split("/").filter((function(e){return""!==e})),i=e.length;return{key:e[i-2],value:e[i-1]}},setHistory:function(e,i){if(this.history.initialized&&this.params.history.enabled){var s=this.slides.eq(i),a=R.slugify(s.attr("data-history"));t.location.pathname.includes(e)||(a=e+"/"+a);var n=t.history.state;n&&n.value===a||(this.params.history.replaceState?t.history.replaceState({value:a},null,a):t.history.pushState({value:a},null,a))}},slugify:function(e){return e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")},scrollToSlide:function(e,t,i){var s=this;if(t)for(var a=0,n=s.slides.length;a<n;a+=1){var r=s.slides.eq(a);if(R.slugify(r.attr("data-history"))===t&&!r.hasClass(s.params.slideDuplicateClass)){var o=r.index();s.slideTo(o,e,i)}}else s.slideTo(0,e,i)}},j={onHashCange:function(){var t=this,i=e.location.hash.replace("#","");if(i!==t.slides.eq(t.activeIndex).attr("data-hash")){var s=t.$wrapperEl.children("."+t.params.slideClass+'[data-hash="'+i+'"]').index();if(void 0===s)return;t.slideTo(s)}},setHash:function(){var i=this;if(i.hashNavigation.initialized&&i.params.hashNavigation.enabled)if(i.params.hashNavigation.replaceState&&t.history&&t.history.replaceState)t.history.replaceState(null,null,"#"+i.slides.eq(i.activeIndex).attr("data-hash")||!1);else{var s=i.slides.eq(i.activeIndex),a=s.attr("data-hash")||s.attr("data-history");e.location.hash=a||""}},init:function(){var i=this;if(!(!i.params.hashNavigation.enabled||i.params.history&&i.params.history.enabled)){i.hashNavigation.initialized=!0;var a=e.location.hash.replace("#","");if(a)for(var n=0,r=i.slides.length;n<r;n+=1){var o=i.slides.eq(n);if((o.attr("data-hash")||o.attr("data-history"))===a&&!o.hasClass(i.params.slideDuplicateClass)){var l=o.index();i.slideTo(l,0,i.params.runCallbacksOnInit,!0)}}i.params.hashNavigation.watchState&&s(t).on("hashchange",i.hashNavigation.onHashCange)}},destroy:function(){this.params.hashNavigation.watchState&&s(t).off("hashchange",this.hashNavigation.onHashCange)}},q={run:function(){var e=this,t=e.slides.eq(e.activeIndex),i=e.params.autoplay.delay;t.attr("data-swiper-autoplay")&&(i=t.attr("data-swiper-autoplay")||e.params.autoplay.delay),e.autoplay.timeout=c.nextTick((function(){e.params.autoplay.reverseDirection?e.params.loop?(e.loopFix(),e.slidePrev(e.params.speed,!0,!0),e.emit("autoplay")):e.isBeginning?e.params.autoplay.stopOnLastSlide?e.autoplay.stop():(e.slideTo(e.slides.length-1,e.params.speed,!0,!0),e.emit("autoplay")):(e.slidePrev(e.params.speed,!0,!0),e.emit("autoplay")):e.params.loop?(e.loopFix(),e.slideNext(e.params.speed,!0,!0),e.emit("autoplay")):e.isEnd?e.params.autoplay.stopOnLastSlide?e.autoplay.stop():(e.slideTo(0,e.params.speed,!0,!0),e.emit("autoplay")):(e.slideNext(e.params.speed,!0,!0),e.emit("autoplay"))}),i)},start:function(){var e=this;return void 0===e.autoplay.timeout&&!e.autoplay.running&&(e.autoplay.running=!0,e.emit("autoplayStart"),e.autoplay.run(),!0)},stop:function(){var e=this;return!!e.autoplay.running&&void 0!==e.autoplay.timeout&&(e.autoplay.timeout&&(clearTimeout(e.autoplay.timeout),e.autoplay.timeout=void 0),e.autoplay.running=!1,e.emit("autoplayStop"),!0)},pause:function(e){var t=this;t.autoplay.running&&(t.autoplay.paused||(t.autoplay.timeout&&clearTimeout(t.autoplay.timeout),t.autoplay.paused=!0,0!==e&&t.params.autoplay.waitForTransition?(t.$wrapperEl[0].addEventListener("transitionend",t.autoplay.onTransitionEnd),t.$wrapperEl[0].addEventListener("webkitTransitionEnd",t.autoplay.onTransitionEnd)):(t.autoplay.paused=!1,t.autoplay.run())))}},U={setTranslate:function(){for(var e=this,t=e.slides,i=0;i<t.length;i+=1){var s=e.slides.eq(i),a=-s[0].swiperSlideOffset;e.params.virtualTranslate||(a-=e.translate);var n=0;e.isHorizontal()||(n=a,a=0);var r=e.params.fadeEffect.crossFade?Math.max(1-Math.abs(s[0].progress),0):1+Math.min(Math.max(s[0].progress,-1),0);s.css({opacity:r}).transform("translate3d("+a+"px, "+n+"px, 0px)")}},setTransition:function(e){var t=this,i=t.slides,s=t.$wrapperEl;if(i.transition(e),t.params.virtualTranslate&&0!==e){var a=!1;i.transitionEnd((function(){if(!a&&t&&!t.destroyed){a=!0,t.animating=!1;for(var e=["webkitTransitionEnd","transitionend"],i=0;i<e.length;i+=1)s.trigger(e[i])}}))}}},K={setTranslate:function(){var e,t=this,i=t.$el,a=t.$wrapperEl,n=t.slides,r=t.width,o=t.height,l=t.rtlTranslate,d=t.size,c=t.params.cubeEffect,u=t.isHorizontal(),h=t.virtual&&t.params.virtual.enabled,f=0;c.shadow&&(u?(0===(e=a.find(".swiper-cube-shadow")).length&&(e=s('<div class="swiper-cube-shadow"></div>'),a.append(e)),e.css({height:r+"px"})):0===(e=i.find(".swiper-cube-shadow")).length&&(e=s('<div class="swiper-cube-shadow"></div>'),i.append(e)));for(var v=0;v<n.length;v+=1){var m=n.eq(v),g=v;h&&(g=parseInt(m.attr("data-swiper-slide-index"),10));var b=90*g,w=Math.floor(b/360);l&&(b=-b,w=Math.floor(-b/360));var y=Math.max(Math.min(m[0].progress,1),-1),x=0,T=0,C=0;g%4==0?(x=4*-w*d,C=0):(g-1)%4==0?(x=0,C=4*-w*d):(g-2)%4==0?(x=d+4*w*d,C=d):(g-3)%4==0&&(x=-d,C=3*d+4*d*w),l&&(x=-x),u||(T=x,x=0);var E="rotateX("+(u?0:-b)+"deg) rotateY("+(u?b:0)+"deg) translate3d("+x+"px, "+T+"px, "+C+"px)";if(y<=1&&-1<y&&(f=90*g+90*y,l&&(f=90*-g-90*y)),m.transform(E),c.slideShadows){var S=u?m.find(".swiper-slide-shadow-left"):m.find(".swiper-slide-shadow-top"),M=u?m.find(".swiper-slide-shadow-right"):m.find(".swiper-slide-shadow-bottom");0===S.length&&(S=s('<div class="swiper-slide-shadow-'+(u?"left":"top")+'"></div>'),m.append(S)),0===M.length&&(M=s('<div class="swiper-slide-shadow-'+(u?"right":"bottom")+'"></div>'),m.append(M)),S.length&&(S[0].style.opacity=Math.max(-y,0)),M.length&&(M[0].style.opacity=Math.max(y,0))}}if(a.css({"-webkit-transform-origin":"50% 50% -"+d/2+"px","-moz-transform-origin":"50% 50% -"+d/2+"px","-ms-transform-origin":"50% 50% -"+d/2+"px","transform-origin":"50% 50% -"+d/2+"px"}),c.shadow)if(u)e.transform("translate3d(0px, "+(r/2+c.shadowOffset)+"px, "+-r/2+"px) rotateX(90deg) rotateZ(0deg) scale("+c.shadowScale+")");else{var k=Math.abs(f)-90*Math.floor(Math.abs(f)/90),P=1.5-(Math.sin(2*k*Math.PI/360)/2+Math.cos(2*k*Math.PI/360)/2),z=c.shadowScale,_=c.shadowScale/P,I=c.shadowOffset;e.transform("scale3d("+z+", 1, "+_+") translate3d(0px, "+(o/2+I)+"px, "+-o/2/_+"px) rotateX(-90deg)")}var L=p.isSafari||p.isUiWebView?-d/2:0;a.transform("translate3d(0px,0,"+L+"px) rotateX("+(t.isHorizontal()?0:f)+"deg) rotateY("+(t.isHorizontal()?-f:0)+"deg)")},setTransition:function(e){var t=this.$el;this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),this.params.cubeEffect.shadow&&!this.isHorizontal()&&t.find(".swiper-cube-shadow").transition(e)}},Q={setTranslate:function(){for(var e=this,t=e.slides,i=e.rtlTranslate,a=0;a<t.length;a+=1){var n=t.eq(a),r=n[0].progress;e.params.flipEffect.limitRotation&&(r=Math.max(Math.min(n[0].progress,1),-1));var o=-180*r,l=0,d=-n[0].swiperSlideOffset,c=0;if(e.isHorizontal()?i&&(o=-o):(c=d,l=-o,o=d=0),n[0].style.zIndex=-Math.abs(Math.round(r))+t.length,e.params.flipEffect.slideShadows){var u=e.isHorizontal()?n.find(".swiper-slide-shadow-left"):n.find(".swiper-slide-shadow-top"),p=e.isHorizontal()?n.find(".swiper-slide-shadow-right"):n.find(".swiper-slide-shadow-bottom");0===u.length&&(u=s('<div class="swiper-slide-shadow-'+(e.isHorizontal()?"left":"top")+'"></div>'),n.append(u)),0===p.length&&(p=s('<div class="swiper-slide-shadow-'+(e.isHorizontal()?"right":"bottom")+'"></div>'),n.append(p)),u.length&&(u[0].style.opacity=Math.max(-r,0)),p.length&&(p[0].style.opacity=Math.max(r,0))}n.transform("translate3d("+d+"px, "+c+"px, 0px) rotateX("+l+"deg) rotateY("+o+"deg)")}},setTransition:function(e){var t=this,i=t.slides,s=t.activeIndex,a=t.$wrapperEl;if(i.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),t.params.virtualTranslate&&0!==e){var n=!1;i.eq(s).transitionEnd((function(){if(!n&&t&&!t.destroyed){n=!0,t.animating=!1;for(var e=["webkitTransitionEnd","transitionend"],i=0;i<e.length;i+=1)a.trigger(e[i])}}))}}},Z={setTranslate:function(){for(var e=this,t=e.width,i=e.height,a=e.slides,n=e.$wrapperEl,r=e.slidesSizesGrid,o=e.params.coverflowEffect,l=e.isHorizontal(),d=e.translate,c=l?t/2-d:i/2-d,p=l?o.rotate:-o.rotate,h=o.depth,f=0,v=a.length;f<v;f+=1){var m=a.eq(f),g=r[f],b=(c-m[0].swiperSlideOffset-g/2)/g*o.modifier,w=l?p*b:0,y=l?0:p*b,x=-h*Math.abs(b),T=l?0:o.stretch*b,C=l?o.stretch*b:0;Math.abs(C)<.001&&(C=0),Math.abs(T)<.001&&(T=0),Math.abs(x)<.001&&(x=0),Math.abs(w)<.001&&(w=0),Math.abs(y)<.001&&(y=0);var E="translate3d("+C+"px,"+T+"px,"+x+"px)  rotateX("+y+"deg) rotateY("+w+"deg)";if(m.transform(E),m[0].style.zIndex=1-Math.abs(Math.round(b)),o.slideShadows){var S=l?m.find(".swiper-slide-shadow-left"):m.find(".swiper-slide-shadow-top"),M=l?m.find(".swiper-slide-shadow-right"):m.find(".swiper-slide-shadow-bottom");0===S.length&&(S=s('<div class="swiper-slide-shadow-'+(l?"left":"top")+'"></div>'),m.append(S)),0===M.length&&(M=s('<div class="swiper-slide-shadow-'+(l?"right":"bottom")+'"></div>'),m.append(M)),S.length&&(S[0].style.opacity=0<b?b:0),M.length&&(M[0].style.opacity=0<-b?-b:0)}}(u.pointerEvents||u.prefixedPointerEvents)&&(n[0].style.perspectiveOrigin=c+"px 50%")},setTransition:function(e){this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)}},J={init:function(){var e=this,t=e.params.thumbs,i=e.constructor;t.swiper instanceof i?(e.thumbs.swiper=t.swiper,c.extend(e.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),c.extend(e.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1})):c.isObject(t.swiper)&&(e.thumbs.swiper=new i(c.extend({},t.swiper,{watchSlidesVisibility:!0,watchSlidesProgress:!0,slideToClickedSlide:!1})),e.thumbs.swiperCreated=!0),e.thumbs.swiper.$el.addClass(e.params.thumbs.thumbsContainerClass),e.thumbs.swiper.on("tap",e.thumbs.onThumbClick)},onThumbClick:function(){var e=this,t=e.thumbs.swiper;if(t){var i=t.clickedIndex,a=t.clickedSlide;if(!(a&&s(a).hasClass(e.params.thumbs.slideThumbActiveClass)||null==i)){var n;if(n=t.params.loop?parseInt(s(t.clickedSlide).attr("data-swiper-slide-index"),10):i,e.params.loop){var r=e.activeIndex;e.slides.eq(r).hasClass(e.params.slideDuplicateClass)&&(e.loopFix(),e._clientLeft=e.$wrapperEl[0].clientLeft,r=e.activeIndex);var o=e.slides.eq(r).prevAll('[data-swiper-slide-index="'+n+'"]').eq(0).index(),l=e.slides.eq(r).nextAll('[data-swiper-slide-index="'+n+'"]').eq(0).index();n=void 0===o?l:void 0===l?o:l-r<r-o?l:o}e.slideTo(n)}}},update:function(e){var t=this,i=t.thumbs.swiper;if(i){var s="auto"===i.params.slidesPerView?i.slidesPerViewDynamic():i.params.slidesPerView;if(t.realIndex!==i.realIndex){var a,n=i.activeIndex;if(i.params.loop){i.slides.eq(n).hasClass(i.params.slideDuplicateClass)&&(i.loopFix(),i._clientLeft=i.$wrapperEl[0].clientLeft,n=i.activeIndex);var r=i.slides.eq(n).prevAll('[data-swiper-slide-index="'+t.realIndex+'"]').eq(0).index(),o=i.slides.eq(n).nextAll('[data-swiper-slide-index="'+t.realIndex+'"]').eq(0).index();a=void 0===r?o:void 0===o?r:o-n==n-r?n:o-n<n-r?o:r}else a=t.realIndex;i.visibleSlidesIndexes.indexOf(a)<0&&(i.params.centeredSlides?a=n<a?a-Math.floor(s/2)+1:a+Math.floor(s/2)-1:n<a&&(a=a-s+1),i.slideTo(a,e?0:void 0))}var l=1,d=t.params.thumbs.slideThumbActiveClass;if(1<t.params.slidesPerView&&!t.params.centeredSlides&&(l=t.params.slidesPerView),i.slides.removeClass(d),i.params.loop)for(var c=0;c<l;c+=1)i.$wrapperEl.children('[data-swiper-slide-index="'+(t.realIndex+c)+'"]').addClass(d);else for(var u=0;u<l;u+=1)i.slides.eq(t.realIndex+u).addClass(d)}}},ee=[k,P,z,_,L,$,A,{name:"mousewheel",params:{mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarged:"container"}},create:function(){var e=this;c.extend(e,{mousewheel:{enabled:!1,enable:N.enable.bind(e),disable:N.disable.bind(e),handle:N.handle.bind(e),handleMouseEnter:N.handleMouseEnter.bind(e),handleMouseLeave:N.handleMouseLeave.bind(e),lastScrollTime:c.now()}})},on:{init:function(){this.params.mousewheel.enabled&&this.mousewheel.enable()},destroy:function(){this.mousewheel.enabled&&this.mousewheel.disable()}}},{name:"navigation",params:{navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock"}},create:function(){var e=this;c.extend(e,{navigation:{init:H.init.bind(e),update:H.update.bind(e),destroy:H.destroy.bind(e),onNextClick:H.onNextClick.bind(e),onPrevClick:H.onPrevClick.bind(e)}})},on:{init:function(){this.navigation.init(),this.navigation.update()},toEdge:function(){this.navigation.update()},fromEdge:function(){this.navigation.update()},destroy:function(){this.navigation.destroy()},click:function(e){var t,i=this,a=i.navigation,n=a.$nextEl,r=a.$prevEl;!i.params.navigation.hideOnClick||s(e.target).is(r)||s(e.target).is(n)||(n?t=n.hasClass(i.params.navigation.hiddenClass):r&&(t=r.hasClass(i.params.navigation.hiddenClass)),!0===t?i.emit("navigationShow",i):i.emit("navigationHide",i),n&&n.toggleClass(i.params.navigation.hiddenClass),r&&r.toggleClass(i.params.navigation.hiddenClass))}}},{name:"pagination",params:{pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:function(e){return e},formatFractionTotal:function(e){return e},bulletClass:"swiper-pagination-bullet",bulletActiveClass:"swiper-pagination-bullet-active",modifierClass:"swiper-pagination-",currentClass:"swiper-pagination-current",totalClass:"swiper-pagination-total",hiddenClass:"swiper-pagination-hidden",progressbarFillClass:"swiper-pagination-progressbar-fill",progressbarOppositeClass:"swiper-pagination-progressbar-opposite",clickableClass:"swiper-pagination-clickable",lockClass:"swiper-pagination-lock"}},create:function(){var e=this;c.extend(e,{pagination:{init:B.init.bind(e),render:B.render.bind(e),update:B.update.bind(e),destroy:B.destroy.bind(e),dynamicBulletIndex:0}})},on:{init:function(){this.pagination.init(),this.pagination.render(),this.pagination.update()},activeIndexChange:function(){(this.params.loop||void 0===this.snapIndex)&&this.pagination.update()},snapIndexChange:function(){this.params.loop||this.pagination.update()},slidesLengthChange:function(){this.params.loop&&(this.pagination.render(),this.pagination.update())},snapGridLengthChange:function(){this.params.loop||(this.pagination.render(),this.pagination.update())},destroy:function(){this.pagination.destroy()},click:function(e){var t=this;t.params.pagination.el&&t.params.pagination.hideOnClick&&0<t.pagination.$el.length&&!s(e.target).hasClass(t.params.pagination.bulletClass)&&(!0===t.pagination.$el.hasClass(t.params.pagination.hiddenClass)?t.emit("paginationShow",t):t.emit("paginationHide",t),t.pagination.$el.toggleClass(t.params.pagination.hiddenClass))}}},{name:"scrollbar",params:{scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag"}},create:function(){var e=this;c.extend(e,{scrollbar:{init:G.init.bind(e),destroy:G.destroy.bind(e),updateSize:G.updateSize.bind(e),setTranslate:G.setTranslate.bind(e),setTransition:G.setTransition.bind(e),enableDraggable:G.enableDraggable.bind(e),disableDraggable:G.disableDraggable.bind(e),setDragPosition:G.setDragPosition.bind(e),onDragStart:G.onDragStart.bind(e),onDragMove:G.onDragMove.bind(e),onDragEnd:G.onDragEnd.bind(e),isTouched:!1,timeout:null,dragTimeout:null}})},on:{init:function(){this.scrollbar.init(),this.scrollbar.updateSize(),this.scrollbar.setTranslate()},update:function(){this.scrollbar.updateSize()},resize:function(){this.scrollbar.updateSize()},observerUpdate:function(){this.scrollbar.updateSize()},setTranslate:function(){this.scrollbar.setTranslate()},setTransition:function(e){this.scrollbar.setTransition(e)},destroy:function(){this.scrollbar.destroy()}}},{name:"parallax",params:{parallax:{enabled:!1}},create:function(){c.extend(this,{parallax:{setTransform:W.setTransform.bind(this),setTranslate:W.setTranslate.bind(this),setTransition:W.setTransition.bind(this)}})},on:{beforeInit:function(){this.params.parallax.enabled&&(this.params.watchSlidesProgress=!0,this.originalParams.watchSlidesProgress=!0)},init:function(){this.params.parallax.enabled&&this.parallax.setTranslate()},setTranslate:function(){this.params.parallax.enabled&&this.parallax.setTranslate()},setTransition:function(e){this.params.parallax.enabled&&this.parallax.setTransition(e)}}},{name:"zoom",params:{zoom:{enabled:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}},create:function(){var e=this,t={enabled:!1,scale:1,currentScale:1,isScaling:!1,gesture:{$slideEl:void 0,slideWidth:void 0,slideHeight:void 0,$imageEl:void 0,$imageWrapEl:void 0,maxRatio:3},image:{isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},velocity:{x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0}};"onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out".split(" ").forEach((function(i){t[i]=F[i].bind(e)})),c.extend(e,{zoom:t});var i=1;Object.defineProperty(e.zoom,"scale",{get:function(){return i},set:function(t){if(i!==t){var s=e.zoom.gesture.$imageEl?e.zoom.gesture.$imageEl[0]:void 0,a=e.zoom.gesture.$slideEl?e.zoom.gesture.$slideEl[0]:void 0;e.emit("zoomChange",t,s,a)}i=t}})},on:{init:function(){this.params.zoom.enabled&&this.zoom.enable()},destroy:function(){this.zoom.disable()},touchStart:function(e){this.zoom.enabled&&this.zoom.onTouchStart(e)},touchEnd:function(e){this.zoom.enabled&&this.zoom.onTouchEnd(e)},doubleTap:function(e){this.params.zoom.enabled&&this.zoom.enabled&&this.params.zoom.toggle&&this.zoom.toggle(e)},transitionEnd:function(){this.zoom.enabled&&this.params.zoom.enabled&&this.zoom.onTransitionEnd()}}},{name:"lazy",params:{lazy:{enabled:!1,loadPrevNext:!1,loadPrevNextAmount:1,loadOnTransitionStart:!1,elementClass:"swiper-lazy",loadingClass:"swiper-lazy-loading",loadedClass:"swiper-lazy-loaded",preloaderClass:"swiper-lazy-preloader"}},create:function(){c.extend(this,{lazy:{initialImageLoaded:!1,load:V.load.bind(this),loadInSlide:V.loadInSlide.bind(this)}})},on:{beforeInit:function(){this.params.lazy.enabled&&this.params.preloadImages&&(this.params.preloadImages=!1)},init:function(){this.params.lazy.enabled&&!this.params.loop&&0===this.params.initialSlide&&this.lazy.load()},scroll:function(){this.params.freeMode&&!this.params.freeModeSticky&&this.lazy.load()},resize:function(){this.params.lazy.enabled&&this.lazy.load()},scrollbarDragMove:function(){this.params.lazy.enabled&&this.lazy.load()},transitionStart:function(){var e=this;e.params.lazy.enabled&&(e.params.lazy.loadOnTransitionStart||!e.params.lazy.loadOnTransitionStart&&!e.lazy.initialImageLoaded)&&e.lazy.load()},transitionEnd:function(){this.params.lazy.enabled&&!this.params.lazy.loadOnTransitionStart&&this.lazy.load()}}},{name:"controller",params:{controller:{control:void 0,inverse:!1,by:"slide"}},create:function(){var e=this;c.extend(e,{controller:{control:e.params.controller.control,getInterpolateFunction:Y.getInterpolateFunction.bind(e),setTranslate:Y.setTranslate.bind(e),setTransition:Y.setTransition.bind(e)}})},on:{update:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},resize:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},observerUpdate:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},setTranslate:function(e,t){this.controller.control&&this.controller.setTranslate(e,t)},setTransition:function(e,t){this.controller.control&&this.controller.setTransition(e,t)}}},{name:"a11y",params:{a11y:{enabled:!0,notificationClass:"swiper-notification",prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",paginationBulletMessage:"Go to slide {{index}}"}},create:function(){var e=this;c.extend(e,{a11y:{liveRegion:s('<span class="'+e.params.a11y.notificationClass+'" aria-live="assertive" aria-atomic="true"></span>')}}),Object.keys(X).forEach((function(t){e.a11y[t]=X[t].bind(e)}))},on:{init:function(){this.params.a11y.enabled&&(this.a11y.init(),this.a11y.updateNavigation())},toEdge:function(){this.params.a11y.enabled&&this.a11y.updateNavigation()},fromEdge:function(){this.params.a11y.enabled&&this.a11y.updateNavigation()},paginationUpdate:function(){this.params.a11y.enabled&&this.a11y.updatePagination()},destroy:function(){this.params.a11y.enabled&&this.a11y.destroy()}}},{name:"history",params:{history:{enabled:!1,replaceState:!1,key:"slides"}},create:function(){var e=this;c.extend(e,{history:{init:R.init.bind(e),setHistory:R.setHistory.bind(e),setHistoryPopState:R.setHistoryPopState.bind(e),scrollToSlide:R.scrollToSlide.bind(e),destroy:R.destroy.bind(e)}})},on:{init:function(){this.params.history.enabled&&this.history.init()},destroy:function(){this.params.history.enabled&&this.history.destroy()},transitionEnd:function(){this.history.initialized&&this.history.setHistory(this.params.history.key,this.activeIndex)}}},{name:"hash-navigation",params:{hashNavigation:{enabled:!1,replaceState:!1,watchState:!1}},create:function(){var e=this;c.extend(e,{hashNavigation:{initialized:!1,init:j.init.bind(e),destroy:j.destroy.bind(e),setHash:j.setHash.bind(e),onHashCange:j.onHashCange.bind(e)}})},on:{init:function(){this.params.hashNavigation.enabled&&this.hashNavigation.init()},destroy:function(){this.params.hashNavigation.enabled&&this.hashNavigation.destroy()},transitionEnd:function(){this.hashNavigation.initialized&&this.hashNavigation.setHash()}}},{name:"autoplay",params:{autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1}},create:function(){var e=this;c.extend(e,{autoplay:{running:!1,paused:!1,run:q.run.bind(e),start:q.start.bind(e),stop:q.stop.bind(e),pause:q.pause.bind(e),onTransitionEnd:function(t){e&&!e.destroyed&&e.$wrapperEl&&t.target===this&&(e.$wrapperEl[0].removeEventListener("transitionend",e.autoplay.onTransitionEnd),e.$wrapperEl[0].removeEventListener("webkitTransitionEnd",e.autoplay.onTransitionEnd),e.autoplay.paused=!1,e.autoplay.running?e.autoplay.run():e.autoplay.stop())}}})},on:{init:function(){this.params.autoplay.enabled&&this.autoplay.start()},beforeTransitionStart:function(e,t){this.autoplay.running&&(t||!this.params.autoplay.disableOnInteraction?this.autoplay.pause(e):this.autoplay.stop())},sliderFirstMove:function(){this.autoplay.running&&(this.params.autoplay.disableOnInteraction?this.autoplay.stop():this.autoplay.pause())},destroy:function(){this.autoplay.running&&this.autoplay.stop()}}},{name:"effect-fade",params:{fadeEffect:{crossFade:!1}},create:function(){c.extend(this,{fadeEffect:{setTranslate:U.setTranslate.bind(this),setTransition:U.setTransition.bind(this)}})},on:{beforeInit:function(){var e=this;if("fade"===e.params.effect){e.classNames.push(e.params.containerModifierClass+"fade");var t={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};c.extend(e.params,t),c.extend(e.originalParams,t)}},setTranslate:function(){"fade"===this.params.effect&&this.fadeEffect.setTranslate()},setTransition:function(e){"fade"===this.params.effect&&this.fadeEffect.setTransition(e)}}},{name:"effect-cube",params:{cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}},create:function(){c.extend(this,{cubeEffect:{setTranslate:K.setTranslate.bind(this),setTransition:K.setTransition.bind(this)}})},on:{beforeInit:function(){var e=this;if("cube"===e.params.effect){e.classNames.push(e.params.containerModifierClass+"cube"),e.classNames.push(e.params.containerModifierClass+"3d");var t={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0};c.extend(e.params,t),c.extend(e.originalParams,t)}},setTranslate:function(){"cube"===this.params.effect&&this.cubeEffect.setTranslate()},setTransition:function(e){"cube"===this.params.effect&&this.cubeEffect.setTransition(e)}}},{name:"effect-flip",params:{flipEffect:{slideShadows:!0,limitRotation:!0}},create:function(){c.extend(this,{flipEffect:{setTranslate:Q.setTranslate.bind(this),setTransition:Q.setTransition.bind(this)}})},on:{beforeInit:function(){var e=this;if("flip"===e.params.effect){e.classNames.push(e.params.containerModifierClass+"flip"),e.classNames.push(e.params.containerModifierClass+"3d");var t={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};c.extend(e.params,t),c.extend(e.originalParams,t)}},setTranslate:function(){"flip"===this.params.effect&&this.flipEffect.setTranslate()},setTransition:function(e){"flip"===this.params.effect&&this.flipEffect.setTransition(e)}}},{name:"effect-coverflow",params:{coverflowEffect:{rotate:50,stretch:0,depth:100,modifier:1,slideShadows:!0}},create:function(){c.extend(this,{coverflowEffect:{setTranslate:Z.setTranslate.bind(this),setTransition:Z.setTransition.bind(this)}})},on:{beforeInit:function(){var e=this;"coverflow"===e.params.effect&&(e.classNames.push(e.params.containerModifierClass+"coverflow"),e.classNames.push(e.params.containerModifierClass+"3d"),e.params.watchSlidesProgress=!0,e.originalParams.watchSlidesProgress=!0)},setTranslate:function(){"coverflow"===this.params.effect&&this.coverflowEffect.setTranslate()},setTransition:function(e){"coverflow"===this.params.effect&&this.coverflowEffect.setTransition(e)}}},{name:"thumbs",params:{thumbs:{swiper:null,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-container-thumbs"}},create:function(){c.extend(this,{thumbs:{swiper:null,init:J.init.bind(this),update:J.update.bind(this),onThumbClick:J.onThumbClick.bind(this)}})},on:{beforeInit:function(){var e=this.params.thumbs;e&&e.swiper&&(this.thumbs.init(),this.thumbs.update(!0))},slideChange:function(){this.thumbs.swiper&&this.thumbs.update()},update:function(){this.thumbs.swiper&&this.thumbs.update()},resize:function(){this.thumbs.swiper&&this.thumbs.update()},observerUpdate:function(){this.thumbs.swiper&&this.thumbs.update()},setTransition:function(e){var t=this.thumbs.swiper;t&&t.setTransition(e)},beforeDestroy:function(){var e=this.thumbs.swiper;e&&this.thumbs.swiperCreated&&e&&e.destroy()}}}];return void 0===M.use&&(M.use=M.Class.use,M.installModule=M.Class.installModule),M.use(ee),M}()},,function(e,t,i){"use strict";(function(e,t){t.accordions={init:function(i){e(i=void 0===i?".accordion-group":i).off("click").on("click",(function(e){t.accordions.clickToggleButton(e,!1,t.accordions.toggleParentClass)})),window.JHM={accordions:t.accordions}},toggleParentClass:function(e,t){e.closest(".accordion-item").toggleClass("open")},clickToggleButton:function(i,s,a){(s=void 0!==s&&s)&&i.stopPropagation();var n=e(i.target).closest("button");n.length&&t.accordions.changeAccordionState(n,a)},changeAccordionState:function(e,t,i){i=void 0===i?"":i;var s="true"==e.attr("aria-expanded"),a=(!s).toString();""!=i&&i!=a||(e.attr("aria-expanded",a),"function"==typeof t&&t(e,s))}}}).call(this,i(0),i(1))},function(e,t,i){"use strict";(function(e){e(".backToTop").length&&e(document).on("scroll",(function(){2.25*e(window).height()<e(this).scrollTop()?e(".backToTop").fadeIn():e(".backToTop").fadeOut(200)})),e('a[href="#body-inner"]').on("click",(function(t){t.preventDefault();var i=this.hash,s=e(i);e("html, body").stop().animate({scrollTop:s.offset().top},500,"swing",(function(){window.location.hash.replace("#","")}))}))}).call(this,i(0))},,,function(e,t,i){"use strict";var s;(s=document.querySelector('a[target="_blank"]'))&&s.setAttribute("rel","noopener noreferrer")},function(e,t,i){"use strict";!function(){for(var e=document.querySelectorAll('[data-select="link"]'),t=function(t){e[t].addEventListener("change",(function(){0!==e[t].selectedIndex&&(window.location.href=e[t].value)}))},i=0;i<e.length;i++)t(i)}()},function(e,t,i){"use strict";(function(e){e('a[href^="#target-"]').on("click",(function(t){t.preventDefault();var i=this.hash,s=e(i);e("html, body").stop().animate({scrollTop:s.offset().top},900,"swing",(function(){window.location.hash.replace("#","")}))}))}).call(this,i(0))},function(e,t,i){"use strict";var s,a,n;a=[i(0)],void 0===(n="function"==typeof(s=function(e){e.ui=e.ui||{},e.ui.version="1.12.1";var t,i,s=0,a=Array.prototype.slice;e.cleanData=(t=e.cleanData,function(i){var s,a,n;for(n=0;null!=(a=i[n]);n++)try{(s=e._data(a,"events"))&&s.remove&&e(a).triggerHandler("remove")}catch(i){}t(i)}),e.widget=function(t,i,s){var a,n,r,o={},l=t.split(".")[0],d=l+"-"+(t=t.split(".")[1]);return s||(s=i,i=e.Widget),e.isArray(s)&&(s=e.extend.apply(null,[{}].concat(s))),e.expr[":"][d.toLowerCase()]=function(t){return!!e.data(t,d)},e[l]=e[l]||{},a=e[l][t],n=e[l][t]=function(e,t){if(!this._createWidget)return new n(e,t);arguments.length&&this._createWidget(e,t)},e.extend(n,a,{version:s.version,_proto:e.extend({},s),_childConstructors:[]}),(r=new i).options=e.widget.extend({},r.options),e.each(s,(function(t,s){e.isFunction(s)?o[t]=function(){function e(){return i.prototype[t].apply(this,arguments)}function a(e){return i.prototype[t].apply(this,e)}return function(){var t,i=this._super,n=this._superApply;return this._super=e,this._superApply=a,t=s.apply(this,arguments),this._super=i,this._superApply=n,t}}():o[t]=s})),n.prototype=e.widget.extend(r,{widgetEventPrefix:a&&r.widgetEventPrefix||t},o,{constructor:n,namespace:l,widgetName:t,widgetFullName:d}),a?(e.each(a._childConstructors,(function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,n,i._proto)})),delete a._childConstructors):i._childConstructors.push(n),e.widget.bridge(t,n),n},e.widget.extend=function(t){for(var i,s,n=a.call(arguments,1),r=0,o=n.length;r<o;r++)for(i in n[r])s=n[r][i],n[r].hasOwnProperty(i)&&void 0!==s&&(e.isPlainObject(s)?t[i]=e.isPlainObject(t[i])?e.widget.extend({},t[i],s):e.widget.extend({},s):t[i]=s);return t},e.widget.bridge=function(t,i){var s=i.prototype.widgetFullName||t;e.fn[t]=function(n){var r="string"==typeof n,o=a.call(arguments,1),l=this;return r?this.length||"instance"!==n?this.each((function(){var i,a=e.data(this,s);return"instance"===n?(l=a,!1):a?e.isFunction(a[n])&&"_"!==n.charAt(0)?(i=a[n].apply(a,o))!==a&&void 0!==i?(l=i&&i.jquery?l.pushStack(i.get()):i,!1):void 0:e.error("no such method '"+n+"' for "+t+" widget instance"):e.error("cannot call methods on "+t+" prior to initialization; attempted to call method '"+n+"'")})):l=void 0:(o.length&&(n=e.widget.extend.apply(null,[n].concat(o))),this.each((function(){var t=e.data(this,s);t?(t.option(n||{}),t._init&&t._init()):e.data(this,s,new i(n,this))}))),l}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,i){i=e(i||this.defaultElement||this)[0],this.element=e(i),this.uuid=s++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=e(),this.hoverable=e(),this.focusable=e(),this.classesElementLookup={},i!==this&&(e.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===i&&this.destroy()}}),this.document=e(i.style?i.ownerDocument:i.document||i),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){var t=this;this._destroy(),e.each(this.classesElementLookup,(function(e,i){t._removeClass(i,e)})),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:e.noop,widget:function(){return this.element},option:function(t,i){var s,a,n,r=t;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof t)if(r={},t=(s=t.split(".")).shift(),s.length){for(a=r[t]=e.widget.extend({},this.options[t]),n=0;n<s.length-1;n++)a[s[n]]=a[s[n]]||{},a=a[s[n]];if(t=s.pop(),1===arguments.length)return void 0===a[t]?null:a[t];a[t]=i}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];r[t]=i}return this._setOptions(r),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return"classes"===e&&this._setOptionClasses(t),this.options[e]=t,"disabled"===e&&this._setOptionDisabled(t),this},_setOptionClasses:function(t){var i,s,a;for(i in t)a=this.classesElementLookup[i],t[i]!==this.options.classes[i]&&a&&a.length&&(s=e(a.get()),this._removeClass(a,i),s.addClass(this._classes({element:s,keys:i,classes:t,add:!0})))},_setOptionDisabled:function(e){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!e),e&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(t){var i=[],s=this;function a(a,n){var r,o;for(o=0;o<a.length;o++)r=s.classesElementLookup[a[o]]||e(),r=t.add?e(e.unique(r.get().concat(t.element.get()))):e(r.not(t.element).get()),s.classesElementLookup[a[o]]=r,i.push(a[o]),n&&t.classes[a[o]]&&i.push(t.classes[a[o]])}return t=e.extend({element:this.element,classes:this.options.classes||{}},t),this._on(t.element,{remove:"_untrackClassesElement"}),t.keys&&a(t.keys.match(/\S+/g)||[],!0),t.extra&&a(t.extra.match(/\S+/g)||[]),i.join(" ")},_untrackClassesElement:function(t){var i=this;e.each(i.classesElementLookup,(function(s,a){-1!==e.inArray(t.target,a)&&(i.classesElementLookup[s]=e(a.not(t.target).get()))}))},_removeClass:function(e,t,i){return this._toggleClass(e,t,i,!1)},_addClass:function(e,t,i){return this._toggleClass(e,t,i,!0)},_toggleClass:function(e,t,i,s){s="boolean"==typeof s?s:i;var a="string"==typeof e||null===e,n={extra:a?t:i,keys:a?e:t,element:a?this.element:e,add:s};return n.element.toggleClass(this._classes(n),s),this},_on:function(t,i,s){var a,n=this;"boolean"!=typeof t&&(s=i,i=t,t=!1),s?(i=a=e(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,a=this.widget()),e.each(s,(function(s,r){function o(){if(t||!0!==n.options.disabled&&!e(this).hasClass("ui-state-disabled"))return("string"==typeof r?n[r]:r).apply(n,arguments)}"string"!=typeof r&&(o.guid=r.guid=r.guid||o.guid||e.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),d=l[1]+n.eventNamespace,c=l[2];c?a.on(d,c,o):i.on(d,o)}))},_off:function(t,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.off(i).off(i),this.bindings=e(this.bindings.not(t).get()),this.focusable=e(this.focusable.not(t).get()),this.hoverable=e(this.hoverable.not(t).get())},_delay:function(e,t){var i=this;return setTimeout((function(){return("string"==typeof e?i[e]:e).apply(i,arguments)}),t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(e(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(e(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(e(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(e(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,i,s){var a,n,r=this.options[t];if(s=s||{},(i=e.Event(i)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],n=i.originalEvent)for(a in n)a in i||(i[a]=n[a]);return this.element.trigger(i,s),!(e.isFunction(r)&&!1===r.apply(this.element[0],[i].concat(s))||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},(function(t,i){e.Widget.prototype["_"+t]=function(s,a,n){var r;"string"==typeof a&&(a={effect:a});var o=a?!0===a||"number"==typeof a?i:a.effect||i:t;"number"==typeof(a=a||{})&&(a={duration:a}),r=!e.isEmptyObject(a),a.complete=n,a.delay&&s.delay(a.delay),r&&e.effects&&e.effects.effect[o]?s[t](a):o!==t&&s[o]?s[o](a.duration,a.easing,n):s.queue((function(i){e(this)[t](),n&&n.call(s[0]),i()}))}})),e.widget,function(){var t,i=Math.max,s=Math.abs,a=/left|center|right/,n=/top|center|bottom/,r=/[\+\-]\d+(\.[\d]+)?%?/,o=/^\w+/,l=/%$/,d=e.fn.position;function c(e,t,i){return[parseFloat(e[0])*(l.test(e[0])?t/100:1),parseFloat(e[1])*(l.test(e[1])?i/100:1)]}function u(t,i){return parseInt(e.css(t,i),10)||0}e.position={scrollbarWidth:function(){if(void 0!==t)return t;var i,s,a=e("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),n=a.children()[0];return e("body").append(a),i=n.offsetWidth,a.css("overflow","scroll"),i===(s=n.offsetWidth)&&(s=a[0].clientWidth),a.remove(),t=i-s},getScrollInfo:function(t){var i=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),s=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),a="scroll"===i||"auto"===i&&t.width<t.element[0].scrollWidth;return{width:"scroll"===s||"auto"===s&&t.height<t.element[0].scrollHeight?e.position.scrollbarWidth():0,height:a?e.position.scrollbarWidth():0}},getWithinInfo:function(t){var i=e(t||window),s=e.isWindow(i[0]),a=!!i[0]&&9===i[0].nodeType;return{element:i,isWindow:s,isDocument:a,offset:!s&&!a?e(t).offset():{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:i.outerWidth(),height:i.outerHeight()}}},e.fn.position=function(t){if(!t||!t.of)return d.apply(this,arguments);t=e.extend({},t);var l,p,h,f,v,m,g,b,w=e(t.of),y=e.position.getWithinInfo(t.within),x=e.position.getScrollInfo(y),T=(t.collision||"flip").split(" "),C={};return m=9===(b=(g=w)[0]).nodeType?{width:g.width(),height:g.height(),offset:{top:0,left:0}}:e.isWindow(b)?{width:g.width(),height:g.height(),offset:{top:g.scrollTop(),left:g.scrollLeft()}}:b.preventDefault?{width:0,height:0,offset:{top:b.pageY,left:b.pageX}}:{width:g.outerWidth(),height:g.outerHeight(),offset:g.offset()},w[0].preventDefault&&(t.at="left top"),p=m.width,h=m.height,f=m.offset,v=e.extend({},f),e.each(["my","at"],(function(){var e,i,s=(t[this]||"").split(" ");1===s.length&&(s=a.test(s[0])?s.concat(["center"]):n.test(s[0])?["center"].concat(s):["center","center"]),s[0]=a.test(s[0])?s[0]:"center",s[1]=n.test(s[1])?s[1]:"center",e=r.exec(s[0]),i=r.exec(s[1]),C[this]=[e?e[0]:0,i?i[0]:0],t[this]=[o.exec(s[0])[0],o.exec(s[1])[0]]})),1===T.length&&(T[1]=T[0]),"right"===t.at[0]?v.left+=p:"center"===t.at[0]&&(v.left+=p/2),"bottom"===t.at[1]?v.top+=h:"center"===t.at[1]&&(v.top+=h/2),l=c(C.at,p,h),v.left+=l[0],v.top+=l[1],this.each((function(){var a,n,r=e(this),o=r.outerWidth(),d=r.outerHeight(),m=u(this,"marginLeft"),g=u(this,"marginTop"),b=o+m+u(this,"marginRight")+x.width,E=d+g+u(this,"marginBottom")+x.height,S=e.extend({},v),M=c(C.my,r.outerWidth(),r.outerHeight());"right"===t.my[0]?S.left-=o:"center"===t.my[0]&&(S.left-=o/2),"bottom"===t.my[1]?S.top-=d:"center"===t.my[1]&&(S.top-=d/2),S.left+=M[0],S.top+=M[1],a={marginLeft:m,marginTop:g},e.each(["left","top"],(function(i,s){e.ui.position[T[i]]&&e.ui.position[T[i]][s](S,{targetWidth:p,targetHeight:h,elemWidth:o,elemHeight:d,collisionPosition:a,collisionWidth:b,collisionHeight:E,offset:[l[0]+M[0],l[1]+M[1]],my:t.my,at:t.at,within:y,elem:r})})),t.using&&(n=function(e){var a=f.left-S.left,n=a+p-o,l=f.top-S.top,c=l+h-d,u={target:{element:w,left:f.left,top:f.top,width:p,height:h},element:{element:r,left:S.left,top:S.top,width:o,height:d},horizontal:n<0?"left":0<a?"right":"center",vertical:c<0?"top":0<l?"bottom":"middle"};p<o&&s(a+n)<p&&(u.horizontal="center"),h<d&&s(l+c)<h&&(u.vertical="middle"),i(s(a),s(n))>i(s(l),s(c))?u.important="horizontal":u.important="vertical",t.using.call(this,e,u)}),r.offset(e.extend(S,{using:n}))}))},e.ui.position={fit:{left:function(e,t){var s,a=t.within,n=a.isWindow?a.scrollLeft:a.offset.left,r=a.width,o=e.left-t.collisionPosition.marginLeft,l=n-o,d=o+t.collisionWidth-r-n;t.collisionWidth>r?0<l&&d<=0?(s=e.left+l+t.collisionWidth-r-n,e.left+=l-s):e.left=0<d&&l<=0?n:d<l?n+r-t.collisionWidth:n:0<l?e.left+=l:0<d?e.left-=d:e.left=i(e.left-o,e.left)},top:function(e,t){var s,a=t.within,n=a.isWindow?a.scrollTop:a.offset.top,r=t.within.height,o=e.top-t.collisionPosition.marginTop,l=n-o,d=o+t.collisionHeight-r-n;t.collisionHeight>r?0<l&&d<=0?(s=e.top+l+t.collisionHeight-r-n,e.top+=l-s):e.top=0<d&&l<=0?n:d<l?n+r-t.collisionHeight:n:0<l?e.top+=l:0<d?e.top-=d:e.top=i(e.top-o,e.top)}},flip:{left:function(e,t){var i,a,n=t.within,r=n.offset.left+n.scrollLeft,o=n.width,l=n.isWindow?n.scrollLeft:n.offset.left,d=e.left-t.collisionPosition.marginLeft,c=d-l,u=d+t.collisionWidth-o-l,p="left"===t.my[0]?-t.elemWidth:"right"===t.my[0]?t.elemWidth:0,h="left"===t.at[0]?t.targetWidth:"right"===t.at[0]?-t.targetWidth:0,f=-2*t.offset[0];c<0?((i=e.left+p+h+f+t.collisionWidth-o-r)<0||i<s(c))&&(e.left+=p+h+f):0<u&&(0<(a=e.left-t.collisionPosition.marginLeft+p+h+f-l)||s(a)<u)&&(e.left+=p+h+f)},top:function(e,t){var i,a,n=t.within,r=n.offset.top+n.scrollTop,o=n.height,l=n.isWindow?n.scrollTop:n.offset.top,d=e.top-t.collisionPosition.marginTop,c=d-l,u=d+t.collisionHeight-o-l,p="top"===t.my[1]?-t.elemHeight:"bottom"===t.my[1]?t.elemHeight:0,h="top"===t.at[1]?t.targetHeight:"bottom"===t.at[1]?-t.targetHeight:0,f=-2*t.offset[1];c<0?((a=e.top+p+h+f+t.collisionHeight-o-r)<0||a<s(c))&&(e.top+=p+h+f):0<u&&(0<(i=e.top-t.collisionPosition.marginTop+p+h+f-l)||s(i)<u)&&(e.top+=p+h+f)}},flipfit:{left:function(){e.ui.position.flip.left.apply(this,arguments),e.ui.position.fit.left.apply(this,arguments)},top:function(){e.ui.position.flip.top.apply(this,arguments),e.ui.position.fit.top.apply(this,arguments)}}}}(),e.ui.position,e.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},e.fn.extend({uniqueId:(i=0,function(){return this.each((function(){this.id||(this.id="ui-id-"+ ++i)}))}),removeUniqueId:function(){return this.each((function(){/^ui-id-\d+$/.test(this.id)&&e(this).removeAttr("id")}))}}),e.ui.safeActiveElement=function(e){var t;try{t=e.activeElement}catch(i){t=e.body}return t||(t=e.body),t.nodeName||(t=e.body),t},e.widget("ui.menu",{version:"1.12.1",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(e){e.preventDefault()},"click .ui-menu-item":function(t){var i=e(t.target),s=e(e.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(t){if(!this.previousFilter){var i=e(t.target).closest(".ui-menu-item"),s=e(t.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(e,t){var i=this.active||this.element.find(this.options.items).eq(0);t||this.focus(e,i)},blur:function(t){this._delay((function(){!e.contains(this.element[0],e.ui.safeActiveElement(this.document[0]))&&this.collapseAll(t)}))},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){this._closeOnDocumentClick(e)&&this.collapseAll(e),this.mouseHandled=!1}})},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),t.children().each((function(){var t=e(this);t.data("ui-menu-submenu-caret")&&t.remove()}))},_keydown:function(t){var i,s,a,n,r=!0;switch(t.keyCode){case e.ui.keyCode.PAGE_UP:this.previousPage(t);break;case e.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case e.ui.keyCode.HOME:this._move("first","first",t);break;case e.ui.keyCode.END:this._move("last","last",t);break;case e.ui.keyCode.UP:this.previous(t);break;case e.ui.keyCode.DOWN:this.next(t);break;case e.ui.keyCode.LEFT:this.collapse(t);break;case e.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case e.ui.keyCode.ENTER:case e.ui.keyCode.SPACE:this._activate(t);break;case e.ui.keyCode.ESCAPE:this.collapse(t);break;default:r=!1,s=this.previousFilter||"",n=!1,a=96<=t.keyCode&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),a===s?n=!0:a=s+a,i=this._filterMenuItems(a),(i=n&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i).length||(a=String.fromCharCode(t.keyCode),i=this._filterMenuItems(a)),i.length?(this.focus(t,i),this.previousFilter=a,this.filterTimer=this._delay((function(){delete this.previousFilter}),1e3)):delete this.previousFilter}r&&t.preventDefault()},_activate:function(e){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(e):this.select(e))},refresh:function(){var t,i,s,a,n=this,r=this.options.icons.submenu,o=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),i=o.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each((function(){var t=e(this),i=t.prev(),s=e("<span>").data("ui-menu-submenu-caret",!0);n._addClass(s,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(s),t.attr("aria-labelledby",i.attr("id"))})),this._addClass(i,"ui-menu","ui-widget ui-widget-content ui-front"),(t=o.add(this.element).find(this.options.items)).not(".ui-menu-item").each((function(){var t=e(this);n._isDivider(t)&&n._addClass(t,"ui-menu-divider","ui-widget-content")})),a=(s=t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(s,"ui-menu-item")._addClass(a,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!e.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(e,t){if("icons"===e){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,t.submenu)}this._super(e,t)},_setOptionDisabled:function(e){this._super(e),this.element.attr("aria-disabled",String(e)),this._toggleClass(null,"ui-state-disabled",!!e)},focus:function(e,t){var i,s,a;this.blur(e,e&&"focus"===e.type),this._scrollIntoView(t),this.active=t.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),a=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(a,null,"ui-state-active"),e&&"keydown"===e.type?this._close():this.timer=this._delay((function(){this._close()}),this.delay),(i=t.children(".ui-menu")).length&&e&&/^mouse/.test(e.type)&&this._startOpening(i),this.activeMenu=t.parent(),this._trigger("focus",e,{item:t})},_scrollIntoView:function(t){var i,s,a,n,r,o;this._hasScroll()&&(i=parseFloat(e.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(e.css(this.activeMenu[0],"paddingTop"))||0,a=t.offset().top-this.activeMenu.offset().top-i-s,n=this.activeMenu.scrollTop(),r=this.activeMenu.height(),o=t.outerHeight(),a<0?this.activeMenu.scrollTop(n+a):r<a+o&&this.activeMenu.scrollTop(n+a-r+o))},blur:function(e,t){t||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",e,{item:this.active}),this.active=null)},_startOpening:function(e){clearTimeout(this.timer),"true"===e.attr("aria-hidden")&&(this.timer=this._delay((function(){this._close(),this._open(e)}),this.delay))},_open:function(t){var i=e.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true"),t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(t,i){clearTimeout(this.timer),this.timer=this._delay((function(){var s=i?this.element:e(t&&t.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(t),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s}),this.delay)},_close:function(e){e||(e=this.active?this.active.parent():this.element),e.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(t){return!e(t.target).closest(".ui-menu").length},_isDivider:function(e){return!/[^\-\u2014\u2013\s]/.test(e.text())},collapse:function(e){var t=this.active&&this.active.parent().closest(".ui-menu-item",this.element);t&&t.length&&(this._close(),this.focus(e,t))},expand:function(e){var t=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();t&&t.length&&(this._open(t.parent()),this._delay((function(){this.focus(e,t)})))},next:function(e){this._move("next","first",e)},previous:function(e){this._move("prev","last",e)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(e,t,i){var s;this.active&&(s="first"===e||"last"===e?this.active["first"===e?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[e+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[t]()),this.focus(i,s)},nextPage:function(t){var i,s,a;this.active?this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,a=this.element.height(),this.active.nextAll(".ui-menu-item").each((function(){return(i=e(this)).offset().top-s-a<0})),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())):this.next(t)},previousPage:function(t){var i,s,a;this.active?this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,a=this.element.height(),this.active.prevAll(".ui-menu-item").each((function(){return 0<(i=e(this)).offset().top-s+a})),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items).first())):this.next(t)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(t){this.active=this.active||e(t.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(t,!0),this._trigger("select",t,i)},_filterMenuItems:function(t){var i=t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),s=new RegExp("^"+i,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter((function(){return s.test(e.trim(e(this).children(".ui-menu-item-wrapper").text()))}))}}),e.widget("ui.autocomplete",{version:"1.12.1",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var t,i,s,a=this.element[0].nodeName.toLowerCase(),n="textarea"===a,r="input"===a;this.isMultiLine=n||!r&&this._isContentEditable(this.element),this.valueMethod=this.element[n||r?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(a){if(this.element.prop("readOnly"))i=s=t=!0;else{i=s=t=!1;var n=e.ui.keyCode;switch(a.keyCode){case n.PAGE_UP:t=!0,this._move("previousPage",a);break;case n.PAGE_DOWN:t=!0,this._move("nextPage",a);break;case n.UP:t=!0,this._keyEvent("previous",a);break;case n.DOWN:t=!0,this._keyEvent("next",a);break;case n.ENTER:this.menu.active&&(t=!0,a.preventDefault(),this.menu.select(a));break;case n.TAB:this.menu.active&&this.menu.select(a);break;case n.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(a),a.preventDefault());break;default:i=!0,this._searchTimeout(a)}}},keypress:function(s){if(t)return t=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||s.preventDefault());if(!i){var a=e.ui.keyCode;switch(s.keyCode){case a.PAGE_UP:this._move("previousPage",s);break;case a.PAGE_DOWN:this._move("nextPage",s);break;case a.UP:this._keyEvent("previous",s);break;case a.DOWN:this._keyEvent("next",s)}}},input:function(e){if(s)return s=!1,void e.preventDefault();this._searchTimeout(e)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){this.cancelBlur?delete this.cancelBlur:(clearTimeout(this.searching),this.close(e),this._change(e))}}),this._initSource(),this.menu=e("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault(),this.cancelBlur=!0,this._delay((function(){delete this.cancelBlur,this.element[0]!==e.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")}))},menufocus:function(t,i){var s;if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",(function(){e(t.target).trigger(t.originalEvent)}));s=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:s})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value)},menuselect:function(t,i){var s=i.item.data("ui-autocomplete-item"),a=this.previous;this.element[0]!==e.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=a,this._delay((function(){this.previous=a,this.selectedItem=s}))),!1!==this._trigger("select",t,{item:s})&&this._value(s.value),this.term=this._value(),this.close(t),this.selectedItem=s}}),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove()},_setOption:function(e,t){this._super(e,t),"source"===e&&this._initSource(),"appendTo"===e&&this.menu.element.appendTo(this._appendTo()),"disabled"===e&&t&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(t){var i=this.menu.element[0];return t.target===this.element[0]||t.target===i||e.contains(i,t.target)},_closeOnClickOutside:function(e){this._isEventTargetInWidget(e)||this.close()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t&&t[0]||(t=this.element.closest(".ui-front, dialog")),t.length||(t=this.document[0].body),t},_initSource:function(){var t,i,s=this;e.isArray(this.options.source)?(t=this.options.source,this.source=function(i,s){s(e.ui.autocomplete.filter(t,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(t,a){s.xhr&&s.xhr.abort(),s.xhr=e.ajax({url:i,data:t,dataType:"json",success:function(e){a(e)},error:function(){a([])}})}):this.source=this.options.source},_searchTimeout:function(e){clearTimeout(this.searching),this.searching=this._delay((function(){var t=this.term===this._value(),i=this.menu.element.is(":visible"),s=e.altKey||e.ctrlKey||e.metaKey||e.shiftKey;t&&(!t||i||s)||(this.selectedItem=null,this.search(null,e))}),this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length<this.options.minLength?this.close(t):!1!==this._trigger("search",t)?this._search(e):void 0},_search:function(e){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:e},this._response())},_response:function(){var t=++this.requestIndex;return e.proxy((function(e){t===this.requestIndex&&this.__response(e),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")}),this)},__response:function(e){e&&(e=this._normalize(e)),this._trigger("response",null,{content:e}),!this.options.disabled&&e&&e.length&&!this.cancelSearch?(this._suggest(e),this._trigger("open")):this._close()},close:function(e){this.cancelSearch=!0,this._close(e)},_close:function(e){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",e))},_change:function(e){this.previous!==this._value()&&this._trigger("change",e,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:e.map(t,(function(t){return"string"==typeof t?{label:t,value:t}:e.extend({},t,{label:t.label||t.value,value:t.value||t.label})}))},_suggest:function(t){var i=this.menu.element.empty();this._renderMenu(i,t),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(e.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var e=this.menu.element;e.outerWidth(Math.max(e.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(t,i){var s=this;e.each(i,(function(e,i){s._renderItemData(t,i)}))},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-autocomplete-item",t)},_renderItem:function(t,i){return e("<li>").append(e("<div>").text(i.label)).appendTo(t)},_move:function(e,t){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[e](t);this.search(null,t)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(e,t),t.preventDefault())},_isContentEditable:function(e){if(!e.length)return!1;var t=e.prop("contentEditable");return"inherit"===t?this._isContentEditable(e.parent()):"true"===t}}),e.extend(e.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,i){var s=new RegExp(e.ui.autocomplete.escapeRegex(i),"i");return e.grep(t,(function(e){return s.test(e.label||e.value||e)}))}}),e.ui.autocomplete})?s.apply(t,a):s)||(e.exports=n)},,function(e,t,i){"use strict";var s="./jquery/components/";i(14)(s+"heroBkgdImg.js"),i(16)(s+"researchLabViewlets.js"),i(18)(s+"cta-drawer.js"),i(20)(s+"social-shares.js"),i(22)("./es6/vendor/sliders-swiper/_sliders.js"),i(27)(s+"youtube-api.js")},function(e,t,i){var s={"./jquery/components/heroBkgdImg.js":15};function a(e){var t=n(e);return i(t)}function n(e){if(i.o(s,e))return s[e];var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}a.keys=function(){return Object.keys(s)},a.resolve=n,(e.exports=a).id=14},function(e,t,i){"use strict";(function(e){var t=e('[class^="hero-"] img[data-type="hero-bkgd-img"]'),i=e('[class^="hero-"] img[data-type="hero-bkgd-img--parallax"]'),s=e('.hero-bkgd--full img[data-type="hero-bkgd-img--full"]');t.each((function(t,i){var s=e(i),a=e(this).closest(".hero-bkgd");e(a).css({background:"url("+s.attr("src")+") no-repeat center center","background-size":"cover",width:"100%",height:"auto"}),a.attr("data-type","hero-bkgd-img"),s.replaceWith()})),i.each((function(t,i){var s=e(i),a=e(this).closest(".hero-bkgd");e(a).css({background:"url("+s.attr("src")+") scroll no-repeat center center","background-size":"cover","background-attachment":"fixed",width:"100%",height:"auto"}),a.attr("data-type","hero-bkgd-img--parallax"),s.replaceWith()})),721<=e(window).width()?s.each((function(t,i){var s=e(i),a=(Math.floor(s.height()),e(this).closest(".hero-bkgd--full"));e(a).css({background:"url("+s.attr("src")+") no-repeat center center","background-size":"cover",width:"100%"}),a.attr("data-type","hero-bkgd-img--full"),s.replaceWith()})):s.each((function(t,i){var s=e(i),a=e(this).closest(".hero-bkgd--full");e(a).css({background:"url("+s.attr("src")+") no-repeat center center","background-size":"cover"}),a.attr("data-type","hero-bkgd-img--full"),s.replaceWith()}))}).call(this,i(0))},function(e,t,i){var s={"./jquery/components/researchLabViewlets.js":17};function a(e){var t=n(e);return i(t)}function n(e){if(i.o(s,e))return s[e];var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}a.keys=function(){return Object.keys(s)},a.resolve=n,(e.exports=a).id=16},function(e,t,i){"use strict";(function(e){e(".char-limit-toggle").on("click",(function(t){t.preventDefault(),e(".char-limit-toggle").hasClass("viewMoreIsOpen")?e(this).text("view more"):e(this).text("view less"),e(this).toggleClass("viewMoreIsOpen"),e(".char-limit-overflow-text").toggle(),e(".char-limit-ellipsis").toggle()}))}).call(this,i(0))},function(e,t,i){var s={"./jquery/components/cta-drawer.js":19};function a(e){var t=n(e);return i(t)}function n(e){if(i.o(s,e))return s[e];var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}a.keys=function(){return Object.keys(s)},a.resolve=n,(e.exports=a).id=18},function(e,t,i){"use strict";(function(e){if(e(".cta-drawer").length){var t=function(){"none"==e(".cta-body").css("display")?(e('div[class^="cta-tab"]').attr("aria-expanded",!0),e(".cta-body").show(0),e(".cta-body").animate({right:"2.875rem"},400),e(".cta-drawer").addClass("open"),e(".cta-drawer").css("opacity",1)):"block"==e(".cta-body").css("display")&&(e('div[class^="cta-tab"]').attr("aria-expanded",!1),e(".cta-body").animate({right:"-47.875rem"},400),e(".cta-drawer").removeClass("open"),e(".cta-body").hide(0))};e('div[class^="cta-tab"]').on("keypress",(function(i){13!==i.which&&32!==i.which||(i.preventDefault(),e(".cta-drawer, .cta-body").stop(),t())})),e('div[class^="cta-tab"]').on("click",(function(i){1==e(".cta-drawer").css("opacity")&&(e(".cta-drawer, .cta-body").stop(),t())})),e(".cta-drawer").on("click touchstart",(function(e){e.stopPropagation()})),e(document).on("click touchstart",(function(){"block"==e(".cta-body").css("display")&&(e(".cta-drawer").attr("aria-expanded",!1),e(".cta-body").animate({right:"-47.875rem"},400),e(".cta-drawer").removeClass("open"),e(".cta-body").hide(0))}));var i=e(".cta-drawer").offset().top;e(window).on("scroll",(function(){e(window).scrollTop()>=i?(e(".cta-drawer").addClass("fixed-scroll"),e(".cta-drawer").css("opacity",1)):e(".cta-drawer").removeClass("fixed-scroll")})),e(window).on("scroll",(function(){clearTimeout(e.data(this,"scrollTimer")),e.data(this,"scrollTimer",setTimeout((function(){e(window).scrollTop()>=i&&!e(".cta-drawer").hasClass("open")&&!e('div[class^="cta-tab"]').is(":focus")&&e(".cta-drawer").animate({opacity:0},400)}),3500))}))}e('div[class^="cta-tab"]').on("focus",(function(){e(".cta-drawer").css("opacity",1)}))}).call(this,i(0))},function(e,t,i){var s={"./jquery/components/social-shares.js":21};function a(e){var t=n(e);return i(t)}function n(e){if(i.o(s,e))return s[e];var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}a.keys=function(){return Object.keys(s)},a.resolve=n,(e.exports=a).id=20},function(e,t,i){"use strict";(function(e){e("a.share-window").length&&e("a.share-window").on("click",(function(){return window.open(this.href,"newwindow","width=600,height=600"),!1}))}).call(this,i(0))},function(e,t,i){var s={"./es6/vendor/sliders-swiper/_sliders.js":23};function a(e){var t=n(e);return i(t)}function n(e){if(i.o(s,e))return s[e];var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}a.keys=function(){return Object.keys(s)},a.resolve=n,(e.exports=a).id=22},function(e,t,i){"use strict";function s(e){return e&&e.__esModule?e:{default:e}}s(i(24)),s(i(25)),s(i(26))},function(e,t,i){"use strict";var s;new(((s=i(2))&&s.__esModule?s:{default:s}).default)('[data-slider-type="stats"]',{direction:"horizontal",loop:!0,a11y:!0,keyboard:{enabled:!0},pagination:{el:".stats-pagination",bulletClass:"stats-pagination-bullet",bulletActiveClass:"stats-pagination-bullet-active",modifierClass:"stats-pagination-",currentClass:"stats-pagination-current",totalClass:"stats-pagination-total",hiddenClass:"stats-pagination-hidden",progressbarFillClass:"stats-pagination-progressbar-fill",clickableClass:"stats-pagination-clickable"},navigation:{nextEl:".stats-button-next",prevEl:".stats-button-prev"},containerModifierClass:"slider-stats-",slideClass:"stats-slide",slideActiveClass:"stats-slide-active",slideDuplicatedActiveClass:"stats-slide-duplicate-active",slideVisibleClass:"stats-slide-visible",slideDuplicateClass:"stats-slide-duplicate",slideNextClass:"stats-slide-next",slideDuplicatedNextClass:"stats-slide-duplicate-next",slidePrevClass:"stats-slide-prev",slideDuplicatedPrevClass:"stats-slide-duplicate-prev",wrapperClass:"stats-wrapper"})},function(e,t,i){"use strict";(function(e){var t;new(((t=i(2))&&t.__esModule?t:{default:t}).default)('[data-slider-type="feature"]',{on:{init:function(){e(this.$el).find(".stats-slide:not(.stats-slide-active)").attr("aria-hidden","true"),e(".feature-slider").each((function(t){var i=e(this),s="feature-slider-"+t;i.attr("id",s),i.find(".stats-button-prev").attr("aria-controls",s),i.find(".stats-button-next").attr("aria-controls",s)}))},paginationRender:function(){var t;e(this.$el).find(".stats-slide").attr("tabindex","-1"),e((t=this).pagination.$el).addClass(t.params.pagination.clickableClass),e(t.$el).find("."+t.params.pagination.bulletClass).off("click").on("click",(function(i){var s=e(i.target).closest("li").index()*t.params.slidesPerGroup;t.params.loop&&(s+=t.loopedSlides),t.slideTo(s)}))},slideChange:function(){var t=e(this.$el);"undefined"!=typeof featureSliderPlayers&&e(featureSliderPlayers).each((function(e,t){null!==t&&"function"==typeof t.pauseVideo&&t.pauseVideo()})),t.find(".stats-slide").attr("aria-hidden","true")},slideChangeTransitionStart:function(){e(this.$el)},slideChangeTransitionEnd:function(){var t=e(this.$el),i=t.find(".stats-slide").length,s=t.find(".stats-slide.stats-slide-active"),a=t.find(".stats-slide").index(e(".stats-slide-active"))+1,n=t.find(".swiper-notification");s.removeAttr("aria-hidden"),n.html("Slide "+a+" of "+i),t.find("button .current-text").remove();var r=t.find(".stats-pagination-bullet-active");(r.is(":focus")||s.is(":last-child")&&t.find(".stats-button-next").is(":focus")||s.is(":first-child")&&t.find(".stats-button-prev").is(":focus"))&&s.trigger("focus"),r.append('<span class="sr-only current-text">  (Current Slide)</span>')}},direction:"horizontal",loop:!1,a11y:!1,keyboard:{enabled:!0},pagination:{el:".stats-pagination",clickable:!1,bulletElement:"button",bulletClass:"stats-pagination-bullet",bulletActiveClass:"stats-pagination-bullet-active",modifierClass:"stats-pagination-",currentClass:"stats-pagination-current",totalClass:"stats-pagination-total",hiddenClass:"stats-pagination-hidden",progressbarFillClass:"stats-pagination-progressbar-fill",clickableClass:"stats-pagination-clickable",renderBullet:function(e,t){var i='<li><button class="'+t+'"><span class="sr-only">Slide '+(e+1)+"</span>";return(i+=0==e?'<span class="sr-only current-text">  (Current Slide)</span>':"")+" </button></li>"}},navigation:{nextEl:".stats-button-next",prevEl:".stats-button-prev"},containerModifierClass:"slider-stats-",slideClass:"stats-slide",slideActiveClass:"stats-slide-active",slideDuplicatedActiveClass:"stats-slide-duplicate-active",slideVisibleClass:"stats-slide-visible",slideDuplicateClass:"stats-slide-duplicate",slideNextClass:"stats-slide-next",slideDuplicatedNextClass:"stats-slide-duplicate-next",slidePrevClass:"stats-slide-prev",slideDuplicatedPrevClass:"stats-slide-duplicate-prev",wrapperClass:"stats-wrapper"})}).call(this,i(0))},function(e,t,i){"use strict";(function(e){var t;new(((t=i(2))&&t.__esModule?t:{default:t}).default)('[data-slider-type="image-caption"]',{on:{init:function(){e(".image-caption-slide .caption a").attr("tabindex","-1"),e(".image-caption-slide-active .caption a").attr("tabindex","0").trigger("focus")},slideChangeTransitionEnd:function(){e(".image-caption-slide .caption a").attr("tabindex","-1"),e(".image-caption-slide-active .caption a").attr("tabindex","0").first().trigger("focus")}},direction:"horizontal",loop:!0,a11y:!0,keyboard:{enabled:!0},navigation:{nextEl:".image-caption-button-next",prevEl:".image-caption-button-prev"},containerModifierClass:"slider-image-caption-",slideClass:"image-caption-slide",slideActiveClass:"image-caption-slide-active",slideDuplicatedActiveClass:"image-caption-slide-duplicate-active",slideVisibleClass:"image-caption-slide-visible",slideDuplicateClass:"image-caption-slide-duplicate",slideNextClass:"image-caption-slide-next",slideDuplicatedNextClass:"image-caption-slide-duplicate-next",slidePrevClass:"image-caption-slide-prev",slideDuplicatedPrevClass:"image-caption-slide-duplicate-prev",wrapperClass:"image-caption-wrapper"}),e(".swiper-notification").addClass("sr-only")}).call(this,i(0))},function(e,t,i){var s={"./jquery/components/youtube-api.js":28};function a(e){var t=n(e);return i(t)}function n(e){if(i.o(s,e))return s[e];var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}a.keys=function(){return Object.keys(s)},a.resolve=n,(e.exports=a).id=27},function(e,t,i){"use strict";(function(e,t){t.youTubeAPI={init:function(){e("iframe.load-title-from-api").length&&(window.onYouTubeIframeAPIReady=t.youTubeAPI.onYouTubeIframeAPIReady)},onYouTubeIframeAPIReady:function(){e(".load-title-from-api").each((function(e,i){var s=i.getAttribute("data-youtube-video-id");new YT.Player(i.id,{videoId:s,events:{onReady:t.youTubeAPI.onPlayerReady}})}))},onPlayerReady:function(e){var t=e.target,i=t.getVideoData().title;t.f.setAttribute("title",i)}}}).call(this,i(0),i(1))},,,,,,,,,,,,,,function(e,t,i){"use strict";(function(e,t){i(4),i(8),i(9),i(10),i(5),i(11),i(13),e(document).ready((function(){t.accordions.init(".accordion-group:not(.emergency-banner)"),t.isAlertActive=!!e("#ems").length,t.hasOwnProperty("youTubeAPI")&&t.youTubeAPI.init()}))}).call(this,i(0),i(1))}]);
//# sourceMappingURL=profiles-main.js.map;
(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
  /*
  *   This content is licensed according to the W3C Software License at
  *   https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document
  *
  *   Simple accordion pattern example
  */
  
  'use strict';
  
  module.exports.init = function (accordionGroupSelector) {
    // Allow an alternate selector for the JS used by the Profiles app, where we only want the JS for the EMS banner
    accordionGroupSelector = accordionGroupSelector === undefined ? '.accordion-group' : accordionGroupSelector;
    Array.prototype.slice.call(document.querySelectorAll(accordionGroupSelector)).forEach(function (accordion) {
      // Allow for multiple accordion sections to be expanded at the same time
      var allowMultiple = accordion.hasAttribute('data-allow-multiple');
      // Allow for each toggle to both open and close individually
      var allowToggle = allowMultiple ? allowMultiple : accordion.hasAttribute('data-allow-toggle');
  
      // Create the array of toggle elements for the accordion group
      var triggers = Array.prototype.slice.call(accordion.querySelectorAll('.accordion-button'));
      var panels = Array.prototype.slice.call(accordion.querySelectorAll('.accordion-content'));
      accordion.addEventListener('click', function (event) {
        var target = event.target;
        if (target.classList.contains('accordion-button')) {
          // Check if the current toggle is expanded.
          var isExpanded = target.getAttribute('aria-expanded') == 'true';
          var active = accordion.querySelector('[aria-expanded="true"]');
  
          // without allowMultiple, close the open accordion
  
          if (!allowMultiple && active && active !== target) {
            // Set the expanded state on the triggering element
            active.setAttribute('aria-expanded', 'false');
            // Hide the accordion sections, using aria-controls to specify the desired section
            document.getElementById(active.getAttribute('aria-controls')).setAttribute('hidden', '');
  
            // When toggling is not allowed, clean up disabled state
            if (!allowToggle) {
              active.removeAttribute('aria-disabled');
            }
          }
          if (!isExpanded) {
            // Set the expanded state on the triggering element
            target.setAttribute('aria-expanded', 'true');
            // Hide the accordion sections, using aria-controls to specify the desired section
            document.getElementById(target.getAttribute('aria-controls')).removeAttribute('hidden');
  
            // If toggling is not allowed, set disabled state on trigger
            if (!allowToggle) {
              target.setAttribute('aria-disabled', 'true');
            }
          } else if (allowToggle && isExpanded) {
            // Set the expanded state on the triggering element
            target.setAttribute('aria-expanded', 'false');
            // Hide the accordion sections, using aria-controls to specify the desired section
            document.getElementById(target.getAttribute('aria-controls')).setAttribute('hidden', '');
          }
          event.preventDefault();
        }
      });
  
      // Bind keyboard behaviors on the main accordion container
      accordion.addEventListener('keydown', function (event) {
        var target = event.target;
        var key = event.which.toString();
        var isExpanded = target.getAttribute('aria-expanded') == 'true';
        var allowToggle = allowMultiple ? allowMultiple : accordion.hasAttribute('data-allow-toggle');
  
        // 33 = Page Up, 34 = Page Down
        var ctrlModifier = event.ctrlKey && key.match(/33|34/);
  
        // Is this coming from an accordion header?
        if (target.classList.contains('accordion-button')) {
          // Up/ Down arrow and Control + Page Up/ Page Down keyboard operations
          // 38 = Up, 40 = Down
          if (key.match(/38|40/) || ctrlModifier) {
            var index = triggers.indexOf(target);
            var direction = key.match(/34|40/) ? 1 : -1;
            var length = triggers.length;
            var newIndex = (index + length + direction) % length;
            triggers[newIndex].focus();
            event.preventDefault();
          } else if (key.match(/35|36/)) {
            // 35 = End, 36 = Home keyboard operations
            switch (key) {
              // Go to first accordion
              case '36':
                triggers[0].focus();
                break;
              // Go to last accordion
              case '35':
                triggers[triggers.length - 1].focus();
                break;
            }
            event.preventDefault();
          }
        }
      });
  
      // These are used to style the accordion when one of the buttons has focus
      accordion.querySelectorAll('.accordion-button').forEach(function (trigger) {
        trigger.addEventListener('focus', function (event) {
          accordion.classList.add('focus');
        });
        trigger.addEventListener('blur', function (event) {
          accordion.classList.remove('focus');
        });
      });
  
      // Minor setup: will set disabled state, via aria-disabled, to an
      // expanded/ active accordion which is not allowed to be toggled close
      if (!allowToggle) {
        // Get the first expanded/ active accordion
        var expanded = accordion.querySelector('[aria-expanded="true"]');
  
        // If an expanded/ active accordion is found, disable
        if (expanded) {
          expanded.setAttribute('aria-disabled', 'true');
        }
      }
    });
  };
  
  },{}],2:[function(require,module,exports){
  "use strict";
  
  //
  //   jQuery-Autocomplete (v1.12.1; custom, last updated 11/4/2020)
  //   https://github.com/devbridge/jQuery-Autocomplete
  //  _______________________________________________________
  
  (function (factory) {
    if (typeof define === "function" && define.amd) {
      // AMD. Register as an anonymous module.
      define(["jquery"], factory);
    } else {
      // Browser globals
      factory(jQuery);
    }
  })(function ($) {
    $.ui = $.ui || {};
    var version = $.ui.version = "1.12.1";
  
    /*!
     * jQuery UI Widget 1.12.1
     * http://jqueryui.com
     *
     * Copyright jQuery Foundation and other contributors
     * Released under the MIT license.
     * http://jquery.org/license
     */
  
    //>>label: Widget
    //>>group: Core
    //>>description: Provides a factory for creating stateful widgets with a common API.
    //>>docs: http://api.jqueryui.com/jQuery.widget/
    //>>demos: http://jqueryui.com/widget/
  
    var widgetUuid = 0;
    var widgetSlice = Array.prototype.slice;
    $.cleanData = function (orig) {
      return function (elems) {
        var events, elem, i;
        for (i = 0; (elem = elems[i]) != null; i++) {
          try {
            // Only trigger remove when necessary to save time
            events = $._data(elem, "events");
            if (events && events.remove) {
              $(elem).triggerHandler("remove");
            }
  
            // Http://bugs.jquery.com/ticket/8235
          } catch (e) {}
        }
        orig(elems);
      };
    }($.cleanData);
    $.widget = function (name, base, prototype) {
      var existingConstructor, constructor, basePrototype;
  
      // ProxiedPrototype allows the provided prototype to remain unmodified
      // so that it can be used as a mixin for multiple widgets (#8876)
      var proxiedPrototype = {};
      var namespace = name.split(".")[0];
      name = name.split(".")[1];
      var fullName = namespace + "-" + name;
      if (!prototype) {
        prototype = base;
        base = $.Widget;
      }
      if ($.isArray(prototype)) {
        prototype = $.extend.apply(null, [{}].concat(prototype));
      }
  
      // Create selector for plugin
      $.expr[":"][fullName.toLowerCase()] = function (elem) {
        return !!$.data(elem, fullName);
      };
      $[namespace] = $[namespace] || {};
      existingConstructor = $[namespace][name];
      constructor = $[namespace][name] = function (options, element) {
        // Allow instantiation without "new" keyword
        if (!this._createWidget) {
          return new constructor(options, element);
        }
  
        // Allow instantiation without initializing for simple inheritance
        // must use "new" keyword (the code above always passes args)
        if (arguments.length) {
          this._createWidget(options, element);
        }
      };
  
      // Extend with the existing constructor to carry over any static properties
      $.extend(constructor, existingConstructor, {
        version: prototype.version,
        // Copy the object used to create the prototype in case we need to
        // redefine the widget later
        _proto: $.extend({}, prototype),
        // Track widgets that inherit from this widget in case this widget is
        // redefined after a widget inherits from it
        _childConstructors: []
      });
      basePrototype = new base();
  
      // We need to make the options hash a property directly on the new instance
      // otherwise we'll modify the options hash on the prototype that we're
      // inheriting from
      basePrototype.options = $.widget.extend({}, basePrototype.options);
      $.each(prototype, function (prop, value) {
        if (!$.isFunction(value)) {
          proxiedPrototype[prop] = value;
          return;
        }
        proxiedPrototype[prop] = function () {
          function _super() {
            return base.prototype[prop].apply(this, arguments);
          }
          function _superApply(args) {
            return base.prototype[prop].apply(this, args);
          }
          return function () {
            var __super = this._super;
            var __superApply = this._superApply;
            var returnValue;
            this._super = _super;
            this._superApply = _superApply;
            returnValue = value.apply(this, arguments);
            this._super = __super;
            this._superApply = __superApply;
            return returnValue;
          };
        }();
      });
      constructor.prototype = $.widget.extend(basePrototype, {
        // TODO: remove support for widgetEventPrefix
        // always use the name + a colon as the prefix, e.g., draggable:start
        // don't prefix for widgets that aren't DOM-based
        widgetEventPrefix: existingConstructor ? basePrototype.widgetEventPrefix || name : name
      }, proxiedPrototype, {
        constructor: constructor,
        namespace: namespace,
        widgetName: name,
        widgetFullName: fullName
      });
  
      // If this widget is being redefined then we need to find all widgets that
      // are inheriting from it and redefine all of them so that they inherit from
      // the new version of this widget. We're essentially trying to replace one
      // level in the prototype chain.
      if (existingConstructor) {
        $.each(existingConstructor._childConstructors, function (i, child) {
          var childPrototype = child.prototype;
  
          // Redefine the child widget using the same prototype that was
          // originally used, but inherit from the new version of the base
          $.widget(childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto);
        });
  
        // Remove the list of existing child constructors from the old constructor
        // so the old child constructors can be garbage collected
        delete existingConstructor._childConstructors;
      } else {
        base._childConstructors.push(constructor);
      }
      $.widget.bridge(name, constructor);
      return constructor;
    };
    $.widget.extend = function (target) {
      var input = widgetSlice.call(arguments, 1);
      var inputIndex = 0;
      var inputLength = input.length;
      var key;
      var value;
      for (; inputIndex < inputLength; inputIndex++) {
        for (key in input[inputIndex]) {
          value = input[inputIndex][key];
          if (input[inputIndex].hasOwnProperty(key) && value !== undefined) {
            // Clone objects
            if ($.isPlainObject(value)) {
              target[key] = $.isPlainObject(target[key]) ? $.widget.extend({}, target[key], value) :
              // Don't extend strings, arrays, etc. with objects
              $.widget.extend({}, value);
  
              // Copy everything else by reference
            } else {
              target[key] = value;
            }
          }
        }
      }
      return target;
    };
    $.widget.bridge = function (name, object) {
      var fullName = object.prototype.widgetFullName || name;
      $.fn[name] = function (options) {
        var isMethodCall = typeof options === "string";
        var args = widgetSlice.call(arguments, 1);
        var returnValue = this;
        if (isMethodCall) {
          // If this is an empty collection, we need to have the instance method
          // return undefined instead of the jQuery instance
          if (!this.length && options === "instance") {
            returnValue = undefined;
          } else {
            this.each(function () {
              var methodValue;
              var instance = $.data(this, fullName);
              if (options === "instance") {
                returnValue = instance;
                return false;
              }
              if (!instance) {
                return $.error("cannot call methods on " + name + " prior to initialization; " + "attempted to call method '" + options + "'");
              }
              if (!$.isFunction(instance[options]) || options.charAt(0) === "_") {
                return $.error("no such method '" + options + "' for " + name + " widget instance");
              }
              methodValue = instance[options].apply(instance, args);
              if (methodValue !== instance && methodValue !== undefined) {
                returnValue = methodValue && methodValue.jquery ? returnValue.pushStack(methodValue.get()) : methodValue;
                return false;
              }
            });
          }
        } else {
          // Allow multiple hashes to be passed on init
          if (args.length) {
            options = $.widget.extend.apply(null, [options].concat(args));
          }
          this.each(function () {
            var instance = $.data(this, fullName);
            if (instance) {
              instance.option(options || {});
              if (instance._init) {
                instance._init();
              }
            } else {
              $.data(this, fullName, new object(options, this));
            }
          });
        }
        return returnValue;
      };
    };
    $.Widget = function /* options, element */ () {};
    $.Widget._childConstructors = [];
    $.Widget.prototype = {
      widgetName: "widget",
      widgetEventPrefix: "",
      defaultElement: "<div>",
      options: {
        classes: {},
        disabled: false,
        // Callbacks
        create: null
      },
      _createWidget: function _createWidget(options, element) {
        element = $(element || this.defaultElement || this)[0];
        this.element = $(element);
        this.uuid = widgetUuid++;
        this.eventNamespace = "." + this.widgetName + this.uuid;
        this.bindings = $();
        this.hoverable = $();
        this.focusable = $();
        this.classesElementLookup = {};
        if (element !== this) {
          $.data(element, this.widgetFullName, this);
          this._on(true, this.element, {
            remove: function remove(event) {
              if (event.target === element) {
                this.destroy();
              }
            }
          });
          this.document = $(element.style ?
          // Element within the document
          element.ownerDocument :
          // Element is window or document
          element.document || element);
          this.window = $(this.document[0].defaultView || this.document[0].parentWindow);
        }
        this.options = $.widget.extend({}, this.options, this._getCreateOptions(), options);
        this._create();
        if (this.options.disabled) {
          this._setOptionDisabled(this.options.disabled);
        }
        this._trigger("create", null, this._getCreateEventData());
        this._init();
      },
      _getCreateOptions: function _getCreateOptions() {
        return {};
      },
      _getCreateEventData: $.noop,
      _create: $.noop,
      _init: $.noop,
      destroy: function destroy() {
        var that = this;
        this._destroy();
        $.each(this.classesElementLookup, function (key, value) {
          that._removeClass(value, key);
        });
  
        // We can probably remove the unbind calls in 2.0
        // all event bindings should go through this._on()
        this.element.off(this.eventNamespace).removeData(this.widgetFullName);
        this.widget().off(this.eventNamespace).removeAttr("aria-disabled");
  
        // Clean up events and states
        this.bindings.off(this.eventNamespace);
      },
      _destroy: $.noop,
      widget: function widget() {
        return this.element;
      },
      option: function option(key, value) {
        var options = key;
        var parts;
        var curOption;
        var i;
        if (arguments.length === 0) {
          // Don't return a reference to the internal hash
          return $.widget.extend({}, this.options);
        }
        if (typeof key === "string") {
          // Handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } }
          options = {};
          parts = key.split(".");
          key = parts.shift();
          if (parts.length) {
            curOption = options[key] = $.widget.extend({}, this.options[key]);
            for (i = 0; i < parts.length - 1; i++) {
              curOption[parts[i]] = curOption[parts[i]] || {};
              curOption = curOption[parts[i]];
            }
            key = parts.pop();
            if (arguments.length === 1) {
              return curOption[key] === undefined ? null : curOption[key];
            }
            curOption[key] = value;
          } else {
            if (arguments.length === 1) {
              return this.options[key] === undefined ? null : this.options[key];
            }
            options[key] = value;
          }
        }
        this._setOptions(options);
        return this;
      },
      _setOptions: function _setOptions(options) {
        var key;
        for (key in options) {
          this._setOption(key, options[key]);
        }
        return this;
      },
      _setOption: function _setOption(key, value) {
        if (key === "classes") {
          this._setOptionClasses(value);
        }
        this.options[key] = value;
        if (key === "disabled") {
          this._setOptionDisabled(value);
        }
        return this;
      },
      _setOptionClasses: function _setOptionClasses(value) {
        var classKey, elements, currentElements;
        for (classKey in value) {
          currentElements = this.classesElementLookup[classKey];
          if (value[classKey] === this.options.classes[classKey] || !currentElements || !currentElements.length) {
            continue;
          }
  
          // We are doing this to create a new jQuery object because the _removeClass() call
          // on the next line is going to destroy the reference to the current elements being
          // tracked. We need to save a copy of this collection so that we can add the new classes
          // below.
          elements = $(currentElements.get());
          this._removeClass(currentElements, classKey);
  
          // We don't use _addClass() here, because that uses this.options.classes
          // for generating the string of classes. We want to use the value passed in from
          // _setOption(), this is the new value of the classes option which was passed to
          // _setOption(). We pass this value directly to _classes().
          elements.addClass(this._classes({
            element: elements,
            keys: classKey,
            classes: value,
            add: true
          }));
        }
      },
      _setOptionDisabled: function _setOptionDisabled(value) {
        this._toggleClass(this.widget(), this.widgetFullName + "-disabled", null, !!value);
  
        // If the widget is becoming disabled, then nothing is interactive
        if (value) {
          this._removeClass(this.hoverable, null, "ui-state-hover");
          this._removeClass(this.focusable, null, "ui-state-focus");
        }
      },
      enable: function enable() {
        return this._setOptions({
          disabled: false
        });
      },
      disable: function disable() {
        return this._setOptions({
          disabled: true
        });
      },
      _classes: function _classes(options) {
        var full = [];
        var that = this;
        options = $.extend({
          element: this.element,
          classes: this.options.classes || {}
        }, options);
        function processClassString(classes, checkOption) {
          var current, i;
          for (i = 0; i < classes.length; i++) {
            current = that.classesElementLookup[classes[i]] || $();
            if (options.add) {
              current = $($.unique(current.get().concat(options.element.get())));
            } else {
              current = $(current.not(options.element).get());
            }
            that.classesElementLookup[classes[i]] = current;
            full.push(classes[i]);
            if (checkOption && options.classes[classes[i]]) {
              full.push(options.classes[classes[i]]);
            }
          }
        }
        this._on(options.element, {
          remove: "_untrackClassesElement"
        });
        if (options.keys) {
          processClassString(options.keys.match(/\S+/g) || [], true);
        }
        if (options.extra) {
          processClassString(options.extra.match(/\S+/g) || []);
        }
        return full.join(" ");
      },
      _untrackClassesElement: function _untrackClassesElement(event) {
        var that = this;
        $.each(that.classesElementLookup, function (key, value) {
          if ($.inArray(event.target, value) !== -1) {
            that.classesElementLookup[key] = $(value.not(event.target).get());
          }
        });
      },
      _removeClass: function _removeClass(element, keys, extra) {
        return this._toggleClass(element, keys, extra, false);
      },
      _addClass: function _addClass(element, keys, extra) {
        return this._toggleClass(element, keys, extra, true);
      },
      _toggleClass: function _toggleClass(element, keys, extra, add) {
        add = typeof add === "boolean" ? add : extra;
        var shift = typeof element === "string" || element === null,
          options = {
            extra: shift ? keys : extra,
            keys: shift ? element : keys,
            element: shift ? this.element : element,
            add: add
          };
        options.element.toggleClass(this._classes(options), add);
        return this;
      },
      _on: function _on(suppressDisabledCheck, element, handlers) {
        var delegateElement;
        var instance = this;
  
        // No suppressDisabledCheck flag, shuffle arguments
        if (typeof suppressDisabledCheck !== "boolean") {
          handlers = element;
          element = suppressDisabledCheck;
          suppressDisabledCheck = false;
        }
  
        // No element argument, shuffle and use this.element
        if (!handlers) {
          handlers = element;
          element = this.element;
          delegateElement = this.widget();
        } else {
          element = delegateElement = $(element);
          this.bindings = this.bindings.add(element);
        }
        $.each(handlers, function (event, handler) {
          function handlerProxy() {
            // Allow widgets to customize the disabled handling
            // - disabled as an array instead of boolean
            // - disabled class as method for disabling individual parts
            if (!suppressDisabledCheck && (instance.options.disabled === true || $(this).hasClass("ui-state-disabled"))) {
              return;
            }
            return (typeof handler === "string" ? instance[handler] : handler).apply(instance, arguments);
          }
  
          // Copy the guid so direct unbinding works
          if (typeof handler !== "string") {
            handlerProxy.guid = handler.guid = handler.guid || handlerProxy.guid || $.guid++;
          }
          var match = event.match(/^([\w:-]*)\s*(.*)$/);
          var eventName = match[1] + instance.eventNamespace;
          var selector = match[2];
          if (selector) {
            delegateElement.on(eventName, selector, handlerProxy);
          } else {
            element.on(eventName, handlerProxy);
          }
        });
      },
      _off: function _off(element, eventName) {
        eventName = (eventName || "").split(" ").join(this.eventNamespace + " ") + this.eventNamespace;
        element.off(eventName).off(eventName);
  
        // Clear the stack to avoid memory leaks (#10056)
        this.bindings = $(this.bindings.not(element).get());
        this.focusable = $(this.focusable.not(element).get());
        this.hoverable = $(this.hoverable.not(element).get());
      },
      _delay: function _delay(handler, delay) {
        function handlerProxy() {
          return (typeof handler === "string" ? instance[handler] : handler).apply(instance, arguments);
        }
        var instance = this;
        return setTimeout(handlerProxy, delay || 0);
      },
      _hoverable: function _hoverable(element) {
        this.hoverable = this.hoverable.add(element);
        this._on(element, {
          mouseenter: function mouseenter(event) {
            this._addClass($(event.currentTarget), null, "ui-state-hover");
          },
          mouseleave: function mouseleave(event) {
            this._removeClass($(event.currentTarget), null, "ui-state-hover");
          }
        });
      },
      _focusable: function _focusable(element) {
        this.focusable = this.focusable.add(element);
        this._on(element, {
          focusin: function focusin(event) {
            this._addClass($(event.currentTarget), null, "ui-state-focus");
          },
          focusout: function focusout(event) {
            this._removeClass($(event.currentTarget), null, "ui-state-focus");
          }
        });
      },
      _trigger: function _trigger(type, event, data) {
        var prop, orig;
        var callback = this.options[type];
        data = data || {};
        event = $.Event(event);
        event.type = (type === this.widgetEventPrefix ? type : this.widgetEventPrefix + type).toLowerCase();
  
        // The original event may come from any element
        // so we need to reset the target on the new event
        event.target = this.element[0];
  
        // Copy original event properties over to the new event
        orig = event.originalEvent;
        if (orig) {
          for (prop in orig) {
            if (!(prop in event)) {
              event[prop] = orig[prop];
            }
          }
        }
        this.element.trigger(event, data);
        return !($.isFunction(callback) && callback.apply(this.element[0], [event].concat(data)) === false || event.isDefaultPrevented());
      }
    };
    $.each({
      show: "fadeIn",
      hide: "fadeOut"
    }, function (method, defaultEffect) {
      $.Widget.prototype["_" + method] = function (element, options, callback) {
        if (typeof options === "string") {
          options = {
            effect: options
          };
        }
        var hasOptions;
        var effectName = !options ? method : options === true || typeof options === "number" ? defaultEffect : options.effect || defaultEffect;
        options = options || {};
        if (typeof options === "number") {
          options = {
            duration: options
          };
        }
        hasOptions = !$.isEmptyObject(options);
        options.complete = callback;
        if (options.delay) {
          element.delay(options.delay);
        }
        if (hasOptions && $.effects && $.effects.effect[effectName]) {
          element[method](options);
        } else if (effectName !== method && element[effectName]) {
          element[effectName](options.duration, options.easing, callback);
        } else {
          element.queue(function (next) {
            $(this)[method]();
            if (callback) {
              callback.call(element[0]);
            }
            next();
          });
        }
      };
    });
    var widget = $.widget;
  
    /*!
     * jQuery UI Position 1.12.1
     * http://jqueryui.com
     *
     * Copyright jQuery Foundation and other contributors
     * Released under the MIT license.
     * http://jquery.org/license
     *
     * http://api.jqueryui.com/position/
     */
  
    //>>label: Position
    //>>group: Core
    //>>description: Positions elements relative to other elements.
    //>>docs: http://api.jqueryui.com/position/
    //>>demos: http://jqueryui.com/position/
  
    (function () {
      var cachedScrollbarWidth,
        max = Math.max,
        abs = Math.abs,
        rhorizontal = /left|center|right/,
        rvertical = /top|center|bottom/,
        roffset = /[\+\-]\d+(\.[\d]+)?%?/,
        rposition = /^\w+/,
        rpercent = /%$/,
        _position = $.fn.position;
      function getOffsets(offsets, width, height) {
        return [parseFloat(offsets[0]) * (rpercent.test(offsets[0]) ? width / 100 : 1), parseFloat(offsets[1]) * (rpercent.test(offsets[1]) ? height / 100 : 1)];
      }
      function parseCss(element, property) {
        return parseInt($.css(element, property), 10) || 0;
      }
      function getDimensions(elem) {
        var raw = elem[0];
        if (raw.nodeType === 9) {
          return {
            width: elem.width(),
            height: elem.height(),
            offset: {
              top: 0,
              left: 0
            }
          };
        }
        if ($.isWindow(raw)) {
          return {
            width: elem.width(),
            height: elem.height(),
            offset: {
              top: elem.scrollTop(),
              left: elem.scrollLeft()
            }
          };
        }
        if (raw.preventDefault) {
          return {
            width: 0,
            height: 0,
            offset: {
              top: raw.pageY,
              left: raw.pageX
            }
          };
        }
        return {
          width: elem.outerWidth(),
          height: elem.outerHeight(),
          offset: elem.offset()
        };
      }
      $.position = {
        scrollbarWidth: function scrollbarWidth() {
          if (cachedScrollbarWidth !== undefined) {
            return cachedScrollbarWidth;
          }
          var w1,
            w2,
            div = $("<div " + "style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'>" + "<div style='height:100px;width:auto;'></div></div>"),
            innerDiv = div.children()[0];
          $("body").append(div);
          w1 = innerDiv.offsetWidth;
          div.css("overflow", "scroll");
          w2 = innerDiv.offsetWidth;
          if (w1 === w2) {
            w2 = div[0].clientWidth;
          }
          div.remove();
          return cachedScrollbarWidth = w1 - w2;
        },
        getScrollInfo: function getScrollInfo(within) {
          var overflowX = within.isWindow || within.isDocument ? "" : within.element.css("overflow-x"),
            overflowY = within.isWindow || within.isDocument ? "" : within.element.css("overflow-y"),
            hasOverflowX = overflowX === "scroll" || overflowX === "auto" && within.width < within.element[0].scrollWidth,
            hasOverflowY = overflowY === "scroll" || overflowY === "auto" && within.height < within.element[0].scrollHeight;
          return {
            width: hasOverflowY ? $.position.scrollbarWidth() : 0,
            height: hasOverflowX ? $.position.scrollbarWidth() : 0
          };
        },
        getWithinInfo: function getWithinInfo(element) {
          var withinElement = $(element || window),
            isWindow = $.isWindow(withinElement[0]),
            isDocument = !!withinElement[0] && withinElement[0].nodeType === 9,
            hasOffset = !isWindow && !isDocument;
          return {
            element: withinElement,
            isWindow: isWindow,
            isDocument: isDocument,
            offset: hasOffset ? $(element).offset() : {
              left: 0,
              top: 0
            },
            scrollLeft: withinElement.scrollLeft(),
            scrollTop: withinElement.scrollTop(),
            width: withinElement.outerWidth(),
            height: withinElement.outerHeight()
          };
        }
      };
      $.fn.position = function (options) {
        if (!options || !options.of) {
          return _position.apply(this, arguments);
        }
  
        // Make a copy, we don't want to modify arguments
        options = $.extend({}, options);
        var atOffset,
          targetWidth,
          targetHeight,
          targetOffset,
          basePosition,
          dimensions,
          target = $(options.of),
          within = $.position.getWithinInfo(options.within),
          scrollInfo = $.position.getScrollInfo(within),
          collision = (options.collision || "flip").split(" "),
          offsets = {};
        dimensions = getDimensions(target);
        if (target[0].preventDefault) {
          // Force left top to allow flipping
          options.at = "left top";
        }
        targetWidth = dimensions.width;
        targetHeight = dimensions.height;
        targetOffset = dimensions.offset;
  
        // Clone to reuse original targetOffset later
        basePosition = $.extend({}, targetOffset);
  
        // Force my and at to have valid horizontal and vertical positions
        // if a value is missing or invalid, it will be converted to center
        $.each(["my", "at"], function () {
          var pos = (options[this] || "").split(" "),
            horizontalOffset,
            verticalOffset;
          if (pos.length === 1) {
            pos = rhorizontal.test(pos[0]) ? pos.concat(["center"]) : rvertical.test(pos[0]) ? ["center"].concat(pos) : ["center", "center"];
          }
          pos[0] = rhorizontal.test(pos[0]) ? pos[0] : "center";
          pos[1] = rvertical.test(pos[1]) ? pos[1] : "center";
  
          // Calculate offsets
          horizontalOffset = roffset.exec(pos[0]);
          verticalOffset = roffset.exec(pos[1]);
          offsets[this] = [horizontalOffset ? horizontalOffset[0] : 0, verticalOffset ? verticalOffset[0] : 0];
  
          // Reduce to just the positions without the offsets
          options[this] = [rposition.exec(pos[0])[0], rposition.exec(pos[1])[0]];
        });
  
        // Normalize collision option
        if (collision.length === 1) {
          collision[1] = collision[0];
        }
        if (options.at[0] === "right") {
          basePosition.left += targetWidth;
        } else if (options.at[0] === "center") {
          basePosition.left += targetWidth / 2;
        }
        if (options.at[1] === "bottom") {
          basePosition.top += targetHeight;
        } else if (options.at[1] === "center") {
          basePosition.top += targetHeight / 2;
        }
        atOffset = getOffsets(offsets.at, targetWidth, targetHeight);
        basePosition.left += atOffset[0];
        basePosition.top += atOffset[1];
        return this.each(function () {
          var collisionPosition,
            using,
            elem = $(this),
            elemWidth = elem.outerWidth(),
            elemHeight = elem.outerHeight(),
            marginLeft = parseCss(this, "marginLeft"),
            marginTop = parseCss(this, "marginTop"),
            collisionWidth = elemWidth + marginLeft + parseCss(this, "marginRight") + scrollInfo.width,
            collisionHeight = elemHeight + marginTop + parseCss(this, "marginBottom") + scrollInfo.height,
            position = $.extend({}, basePosition),
            myOffset = getOffsets(offsets.my, elem.outerWidth(), elem.outerHeight());
          if (options.my[0] === "right") {
            position.left -= elemWidth;
          } else if (options.my[0] === "center") {
            position.left -= elemWidth / 2;
          }
          if (options.my[1] === "bottom") {
            position.top -= elemHeight;
          } else if (options.my[1] === "center") {
            position.top -= elemHeight / 2;
          }
          position.left += myOffset[0];
          position.top += myOffset[1];
          collisionPosition = {
            marginLeft: marginLeft,
            marginTop: marginTop
          };
          $.each(["left", "top"], function (i, dir) {
            if ($.ui.position[collision[i]]) {
              $.ui.position[collision[i]][dir](position, {
                targetWidth: targetWidth,
                targetHeight: targetHeight,
                elemWidth: elemWidth,
                elemHeight: elemHeight,
                collisionPosition: collisionPosition,
                collisionWidth: collisionWidth,
                collisionHeight: collisionHeight,
                offset: [atOffset[0] + myOffset[0], atOffset[1] + myOffset[1]],
                my: options.my,
                at: options.at,
                within: within,
                elem: elem
              });
            }
          });
          if (options.using) {
            // Adds feedback as second argument to using callback, if present
            using = function using(props) {
              var left = targetOffset.left - position.left,
                right = left + targetWidth - elemWidth,
                top = targetOffset.top - position.top,
                bottom = top + targetHeight - elemHeight,
                feedback = {
                  target: {
                    element: target,
                    left: targetOffset.left,
                    top: targetOffset.top,
                    width: targetWidth,
                    height: targetHeight
                  },
                  element: {
                    element: elem,
                    left: position.left,
                    top: position.top,
                    width: elemWidth,
                    height: elemHeight
                  },
                  horizontal: right < 0 ? "left" : left > 0 ? "right" : "center",
                  vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle"
                };
              if (targetWidth < elemWidth && abs(left + right) < targetWidth) {
                feedback.horizontal = "center";
              }
              if (targetHeight < elemHeight && abs(top + bottom) < targetHeight) {
                feedback.vertical = "middle";
              }
              if (max(abs(left), abs(right)) > max(abs(top), abs(bottom))) {
                feedback.important = "horizontal";
              } else {
                feedback.important = "vertical";
              }
              options.using.call(this, props, feedback);
            };
          }
          elem.offset($.extend(position, {
            using: using
          }));
        });
      };
      $.ui.position = {
        fit: {
          left: function left(position, data) {
            var within = data.within,
              withinOffset = within.isWindow ? within.scrollLeft : within.offset.left,
              outerWidth = within.width,
              collisionPosLeft = position.left - data.collisionPosition.marginLeft,
              overLeft = withinOffset - collisionPosLeft,
              overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,
              newOverRight;
  
            // Element is wider than within
            if (data.collisionWidth > outerWidth) {
              // Element is initially over the left side of within
              if (overLeft > 0 && overRight <= 0) {
                newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset;
                position.left += overLeft - newOverRight;
  
                // Element is initially over right side of within
              } else if (overRight > 0 && overLeft <= 0) {
                position.left = withinOffset;
  
                // Element is initially over both left and right sides of within
              } else {
                if (overLeft > overRight) {
                  position.left = withinOffset + outerWidth - data.collisionWidth;
                } else {
                  position.left = withinOffset;
                }
              }
  
              // Too far left -> align with left edge
            } else if (overLeft > 0) {
              position.left += overLeft;
  
              // Too far right -> align with right edge
            } else if (overRight > 0) {
              position.left -= overRight;
  
              // Adjust based on position and margin
            } else {
              position.left = max(position.left - collisionPosLeft, position.left);
            }
          },
          top: function top(position, data) {
            var within = data.within,
              withinOffset = within.isWindow ? within.scrollTop : within.offset.top,
              outerHeight = data.within.height,
              collisionPosTop = position.top - data.collisionPosition.marginTop,
              overTop = withinOffset - collisionPosTop,
              overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,
              newOverBottom;
  
            // Element is taller than within
            if (data.collisionHeight > outerHeight) {
              // Element is initially over the top of within
              if (overTop > 0 && overBottom <= 0) {
                newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset;
                position.top += overTop - newOverBottom;
  
                // Element is initially over bottom of within
              } else if (overBottom > 0 && overTop <= 0) {
                position.top = withinOffset;
  
                // Element is initially over both top and bottom of within
              } else {
                if (overTop > overBottom) {
                  position.top = withinOffset + outerHeight - data.collisionHeight;
                } else {
                  position.top = withinOffset;
                }
              }
  
              // Too far up -> align with top
            } else if (overTop > 0) {
              position.top += overTop;
  
              // Too far down -> align with bottom edge
            } else if (overBottom > 0) {
              position.top -= overBottom;
  
              // Adjust based on position and margin
            } else {
              position.top = max(position.top - collisionPosTop, position.top);
            }
          }
        },
        flip: {
          left: function left(position, data) {
            var within = data.within,
              withinOffset = within.offset.left + within.scrollLeft,
              outerWidth = within.width,
              offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,
              collisionPosLeft = position.left - data.collisionPosition.marginLeft,
              overLeft = collisionPosLeft - offsetLeft,
              overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,
              myOffset = data.my[0] === "left" ? -data.elemWidth : data.my[0] === "right" ? data.elemWidth : 0,
              atOffset = data.at[0] === "left" ? data.targetWidth : data.at[0] === "right" ? -data.targetWidth : 0,
              offset = -2 * data.offset[0],
              newOverRight,
              newOverLeft;
            if (overLeft < 0) {
              newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset;
              if (newOverRight < 0 || newOverRight < abs(overLeft)) {
                position.left += myOffset + atOffset + offset;
              }
            } else if (overRight > 0) {
              newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft;
              if (newOverLeft > 0 || abs(newOverLeft) < overRight) {
                position.left += myOffset + atOffset + offset;
              }
            }
          },
          top: function top(position, data) {
            var within = data.within,
              withinOffset = within.offset.top + within.scrollTop,
              outerHeight = within.height,
              offsetTop = within.isWindow ? within.scrollTop : within.offset.top,
              collisionPosTop = position.top - data.collisionPosition.marginTop,
              overTop = collisionPosTop - offsetTop,
              overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,
              top = data.my[1] === "top",
              myOffset = top ? -data.elemHeight : data.my[1] === "bottom" ? data.elemHeight : 0,
              atOffset = data.at[1] === "top" ? data.targetHeight : data.at[1] === "bottom" ? -data.targetHeight : 0,
              offset = -2 * data.offset[1],
              newOverTop,
              newOverBottom;
            if (overTop < 0) {
              newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset;
              if (newOverBottom < 0 || newOverBottom < abs(overTop)) {
                position.top += myOffset + atOffset + offset;
              }
            } else if (overBottom > 0) {
              newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop;
              if (newOverTop > 0 || abs(newOverTop) < overBottom) {
                position.top += myOffset + atOffset + offset;
              }
            }
          }
        },
        flipfit: {
          left: function left() {
            $.ui.position.flip.left.apply(this, arguments);
            $.ui.position.fit.left.apply(this, arguments);
          },
          top: function top() {
            $.ui.position.flip.top.apply(this, arguments);
            $.ui.position.fit.top.apply(this, arguments);
          }
        }
      };
    })();
    var position = $.ui.position;
  
    /*!
     * jQuery UI Keycode 1.12.1
     * http://jqueryui.com
     *
     * Copyright jQuery Foundation and other contributors
     * Released under the MIT license.
     * http://jquery.org/license
     */
  
    //>>label: Keycode
    //>>group: Core
    //>>description: Provide keycodes as keynames
    //>>docs: http://api.jqueryui.com/jQuery.ui.keyCode/
  
    var keycode = $.ui.keyCode = {
      BACKSPACE: 8,
      COMMA: 188,
      DELETE: 46,
      DOWN: 40,
      END: 35,
      ENTER: 13,
      ESCAPE: 27,
      HOME: 36,
      LEFT: 37,
      PAGE_DOWN: 34,
      PAGE_UP: 33,
      PERIOD: 190,
      RIGHT: 39,
      SPACE: 32,
      TAB: 9,
      UP: 38
    };
  
    /*!
     * jQuery UI Unique ID 1.12.1
     * http://jqueryui.com
     *
     * Copyright jQuery Foundation and other contributors
     * Released under the MIT license.
     * http://jquery.org/license
     */
  
    //>>label: uniqueId
    //>>group: Core
    //>>description: Functions to generate and remove uniqueId's
    //>>docs: http://api.jqueryui.com/uniqueId/
  
    var uniqueId = $.fn.extend({
      uniqueId: function () {
        var uuid = 0;
        return function () {
          return this.each(function () {
            if (!this.id) {
              this.id = "ui-id-" + ++uuid;
            }
          });
        };
      }(),
      removeUniqueId: function removeUniqueId() {
        return this.each(function () {
          if (/^ui-id-\d+$/.test(this.id)) {
            $(this).removeAttr("id");
          }
        });
      }
    });
    var safeActiveElement = $.ui.safeActiveElement = function (document) {
      var activeElement;
  
      // Support: IE 9 only
      // IE9 throws an "Unspecified error" accessing document.activeElement from an <iframe>
      try {
        activeElement = document.activeElement;
      } catch (error) {
        activeElement = document.body;
      }
  
      // Support: IE 9 - 11 only
      // IE may return null instead of an element
      // Interestingly, this only seems to occur when NOT in an iframe
      if (!activeElement) {
        activeElement = document.body;
      }
  
      // Support: IE 11 only
      // IE11 returns a seemingly empty object in some cases when accessing
      // document.activeElement from an <iframe>
      if (!activeElement.nodeName) {
        activeElement = document.body;
      }
      return activeElement;
    };
  
    /*!
     * jQuery UI Menu 1.12.1
     * http://jqueryui.com
     *
     * Copyright jQuery Foundation and other contributors
     * Released under the MIT license.
     * http://jquery.org/license
     */
  
    //>>label: Menu
    //>>group: Widgets
    //>>description: Creates nestable menus.
    //>>docs: http://api.jqueryui.com/menu/
    //>>demos: http://jqueryui.com/menu/
    //>>css.structure: ../../themes/base/core.css
    //>>css.structure: ../../themes/base/menu.css
    //>>css.theme: ../../themes/base/theme.css
  
    var widgetsMenu = $.widget("ui.menu", {
      version: "1.12.1",
      defaultElement: "<ul>",
      delay: 300,
      options: {
        icons: {
          submenu: "ui-icon-caret-1-e"
        },
        items: "> *",
        menus: "ul",
        position: {
          my: "left top",
          at: "right top"
        },
        role: "menu",
        // Callbacks
        blur: null,
        focus: null,
        select: null
      },
      _create: function _create() {
        this.activeMenu = this.element;
  
        // Flag used to prevent firing of the click handler
        // as the event bubbles up through nested menus
        this.mouseHandled = false;
        this.element.uniqueId().attr({
          role: this.options.role,
          tabIndex: 0
        });
        this._addClass("ui-menu", "ui-widget ui-widget-content");
        this._on({
          // Prevent focus from sticking to links inside menu after clicking
          // them (focus should always stay on UL during navigation).
          "mousedown .ui-menu-item": function mousedownUiMenuItem(event) {
            event.preventDefault();
          },
          "click .ui-menu-item": function clickUiMenuItem(event) {
            var target = $(event.target);
            var active = $($.ui.safeActiveElement(this.document[0]));
            if (!this.mouseHandled && target.not(".ui-state-disabled").length) {
              this.select(event);
  
              // Only set the mouseHandled flag if the event will bubble, see #9469.
              if (!event.isPropagationStopped()) {
                this.mouseHandled = true;
              }
  
              // Open submenu on click
              if (target.has(".ui-menu").length) {
                this.expand(event);
              } else if (!this.element.is(":focus") && active.closest(".ui-menu").length) {
                // Redirect focus to the menu
                this.element.trigger("focus", [true]);
  
                // If the active item is on the top level, let it stay active.
                // Otherwise, blur the active item since it is no longer visible.
                if (this.active && this.active.parents(".ui-menu").length === 1) {
                  clearTimeout(this.timer);
                }
              }
            }
          },
          "mouseenter .ui-menu-item": function mouseenterUiMenuItem(event) {
            // Ignore mouse events while typeahead is active, see #10458.
            // Prevents focusing the wrong item when typeahead causes a scroll while the mouse
            // is over an item in the menu
            if (this.previousFilter) {
              return;
            }
            var actualTarget = $(event.target).closest(".ui-menu-item"),
              target = $(event.currentTarget);
  
            // Ignore bubbled events on parent items, see #11641
            if (actualTarget[0] !== target[0]) {
              return;
            }
  
            // Remove ui-state-active class from siblings of the newly focused menu item
            // to avoid a jump caused by adjacent elements both having a class with a border
            this._removeClass(target.siblings().children(".ui-state-active"), null, "ui-state-active");
            this.focus(event, target);
          },
          mouseleave: "collapseAll",
          "mouseleave .ui-menu": "collapseAll",
          focus: function focus(event, keepActiveItem) {
            // If there's already an active item, keep it active
            // If not, activate the first item
            var item = this.active || this.element.find(this.options.items).eq(0);
            if (!keepActiveItem) {
              this.focus(event, item);
            }
          },
          blur: function blur(event) {
            this._delay(function () {
              var notContained = !$.contains(this.element[0], $.ui.safeActiveElement(this.document[0]));
              if (notContained) {
                this.collapseAll(event);
              }
            });
          },
          keydown: "_keydown"
        });
        this.refresh();
  
        // Clicks outside of a menu collapse any open menus
        this._on(this.document, {
          click: function click(event) {
            if (this._closeOnDocumentClick(event)) {
              this.collapseAll(event);
            }
  
            // Reset the mouseHandled flag
            this.mouseHandled = false;
          }
        });
      },
      _destroy: function _destroy() {
        var items = this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),
          submenus = items.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");
  
        // Destroy (sub)menus
        this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled " + "tabIndex").removeUniqueId().show();
        submenus.children().each(function () {
          var elem = $(this);
          if (elem.data("ui-menu-submenu-caret")) {
            elem.remove();
          }
        });
      },
      _keydown: function _keydown(event) {
        var match,
          prev,
          character,
          skip,
          preventDefault = true;
        switch (event.keyCode) {
          case $.ui.keyCode.PAGE_UP:
            this.previousPage(event);
            break;
          case $.ui.keyCode.PAGE_DOWN:
            this.nextPage(event);
            break;
          case $.ui.keyCode.HOME:
            this._move("first", "first", event);
            break;
          case $.ui.keyCode.END:
            this._move("last", "last", event);
            break;
          case $.ui.keyCode.UP:
            this.previous(event);
            break;
          case $.ui.keyCode.DOWN:
            this.next(event);
            break;
          case $.ui.keyCode.LEFT:
            this.collapse(event);
            break;
          case $.ui.keyCode.RIGHT:
            if (this.active && !this.active.is(".ui-state-disabled")) {
              this.expand(event);
            }
            break;
          case $.ui.keyCode.ENTER:
          case $.ui.keyCode.SPACE:
            this._activate(event);
            break;
          case $.ui.keyCode.ESCAPE:
            this.collapse(event);
            break;
          default:
            preventDefault = false;
            prev = this.previousFilter || "";
            skip = false;
  
            // Support number pad values
            character = event.keyCode >= 96 && event.keyCode <= 105 ? (event.keyCode - 96).toString() : String.fromCharCode(event.keyCode);
            clearTimeout(this.filterTimer);
            if (character === prev) {
              skip = true;
            } else {
              character = prev + character;
            }
            match = this._filterMenuItems(character);
            match = skip && match.index(this.active.next()) !== -1 ? this.active.nextAll(".ui-menu-item") : match;
  
            // If no matches on the current filter, reset to the last character pressed
            // to move down the menu to the first item that starts with that character
            if (!match.length) {
              character = String.fromCharCode(event.keyCode);
              match = this._filterMenuItems(character);
            }
            if (match.length) {
              this.focus(event, match);
              this.previousFilter = character;
              this.filterTimer = this._delay(function () {
                delete this.previousFilter;
              }, 1000);
            } else {
              delete this.previousFilter;
            }
        }
        if (preventDefault) {
          event.preventDefault();
        }
      },
      _activate: function _activate(event) {
        if (this.active && !this.active.is(".ui-state-disabled")) {
          if (this.active.children("[aria-haspopup='true']").length) {
            this.expand(event);
          } else {
            this.select(event);
          }
        }
      },
      refresh: function refresh() {
        var menus,
          items,
          newSubmenus,
          newItems,
          newWrappers,
          that = this,
          icon = this.options.icons.submenu,
          submenus = this.element.find(this.options.menus);
        this._toggleClass("ui-menu-icons", null, !!this.element.find(".ui-icon").length);
  
        // Initialize nested menus
        newSubmenus = submenus.filter(":not(.ui-menu)").hide().attr({
          role: this.options.role,
          "aria-hidden": "true",
          "aria-expanded": "false"
        }).each(function () {
          var menu = $(this),
            item = menu.prev(),
            submenuCaret = $("<span>").data("ui-menu-submenu-caret", true);
          that._addClass(submenuCaret, "ui-menu-icon", "ui-icon " + icon);
          item.attr("aria-haspopup", "true").prepend(submenuCaret);
          menu.attr("aria-labelledby", item.attr("id"));
        });
        this._addClass(newSubmenus, "ui-menu", "ui-widget ui-widget-content ui-front");
        menus = submenus.add(this.element);
        items = menus.find(this.options.items);
  
        // Initialize menu-items containing spaces and/or dashes only as dividers
        items.not(".ui-menu-item").each(function () {
          var item = $(this);
          if (that._isDivider(item)) {
            that._addClass(item, "ui-menu-divider", "ui-widget-content");
          }
        });
  
        // Don't refresh list items that are already adapted
        newItems = items.not(".ui-menu-item, .ui-menu-divider");
        newWrappers = newItems.children().not(".ui-menu").uniqueId().attr({
          tabIndex: -1,
          role: this._itemRole()
        });
        this._addClass(newItems, "ui-menu-item")._addClass(newWrappers, "ui-menu-item-wrapper");
  
        // Add aria-disabled attribute to any disabled menu item
        items.filter(".ui-state-disabled").attr("aria-disabled", "true");
  
        // If the active item has been removed, blur the menu
        if (this.active && !$.contains(this.element[0], this.active[0])) {
          this.blur();
        }
      },
      _itemRole: function _itemRole() {
        return {
          menu: "menuitem",
          listbox: "option"
        }[this.options.role];
      },
      _setOption: function _setOption(key, value) {
        if (key === "icons") {
          var icons = this.element.find(".ui-menu-icon");
          this._removeClass(icons, null, this.options.icons.submenu)._addClass(icons, null, value.submenu);
        }
        this._super(key, value);
      },
      _setOptionDisabled: function _setOptionDisabled(value) {
        this._super(value);
        this.element.attr("aria-disabled", String(value));
        this._toggleClass(null, "ui-state-disabled", !!value);
      },
      focus: function focus(event, item) {
        var nested, focused, activeParent;
        this.blur(event, event && event.type === "focus");
        this._scrollIntoView(item);
        this.active = item.first();
        focused = this.active.children(".ui-menu-item-wrapper");
        this._addClass(focused, null, "ui-state-active");
  
        // Only update aria-activedescendant if there's a role
        // otherwise we assume focus is managed elsewhere
        if (this.options.role) {
          this.element.attr("aria-activedescendant", focused.attr("id"));
        }
  
        // Highlight active parent menu item, if any
        activeParent = this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper");
        this._addClass(activeParent, null, "ui-state-active");
        if (event && event.type === "keydown") {
          this._close();
        } else {
          this.timer = this._delay(function () {
            this._close();
          }, this.delay);
        }
        nested = item.children(".ui-menu");
        if (nested.length && event && /^mouse/.test(event.type)) {
          this._startOpening(nested);
        }
        this.activeMenu = item.parent();
        this._trigger("focus", event, {
          item: item
        });
      },
      _scrollIntoView: function _scrollIntoView(item) {
        var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight;
        if (this._hasScroll()) {
          borderTop = parseFloat($.css(this.activeMenu[0], "borderTopWidth")) || 0;
          paddingTop = parseFloat($.css(this.activeMenu[0], "paddingTop")) || 0;
          offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop;
          scroll = this.activeMenu.scrollTop();
          elementHeight = this.activeMenu.height();
          itemHeight = item.outerHeight();
          if (offset < 0) {
            this.activeMenu.scrollTop(scroll + offset);
          } else if (offset + itemHeight > elementHeight) {
            this.activeMenu.scrollTop(scroll + offset - elementHeight + itemHeight);
          }
        }
      },
      blur: function blur(event, fromFocus) {
        if (!fromFocus) {
          clearTimeout(this.timer);
        }
        if (!this.active) {
          return;
        }
        this._removeClass(this.active.children(".ui-menu-item-wrapper"), null, "ui-state-active");
        this._trigger("blur", event, {
          item: this.active
        });
        this.active = null;
      },
      _startOpening: function _startOpening(submenu) {
        clearTimeout(this.timer);
  
        // Don't open if already open fixes a Firefox bug that caused a .5 pixel
        // shift in the submenu position when mousing over the caret icon
        if (submenu.attr("aria-hidden") !== "true") {
          return;
        }
        this.timer = this._delay(function () {
          this._close();
          this._open(submenu);
        }, this.delay);
      },
      _open: function _open(submenu) {
        var position = $.extend({
          of: this.active
        }, this.options.position);
        clearTimeout(this.timer);
        this.element.find(".ui-menu").not(submenu.parents(".ui-menu")).hide().attr("aria-hidden", "true");
        submenu.show().removeAttr("aria-hidden").attr("aria-expanded", "true").position(position);
      },
      collapseAll: function collapseAll(event, all) {
        clearTimeout(this.timer);
        this.timer = this._delay(function () {
          // If we were passed an event, look for the submenu that contains the event
          var currentMenu = all ? this.element : $(event && event.target).closest(this.element.find(".ui-menu"));
  
          // If we found no valid submenu ancestor, use the main menu to close all
          // sub menus anyway
          if (!currentMenu.length) {
            currentMenu = this.element;
          }
          this._close(currentMenu);
          this.blur(event);
  
          // Work around active item staying active after menu is blurred
          this._removeClass(currentMenu.find(".ui-state-active"), null, "ui-state-active");
          this.activeMenu = currentMenu;
        }, this.delay);
      },
      // With no arguments, closes the currently active menu - if nothing is active
      // it closes all menus.  If passed an argument, it will search for menus BELOW
      _close: function _close(startMenu) {
        if (!startMenu) {
          startMenu = this.active ? this.active.parent() : this.element;
        }
        startMenu.find(".ui-menu").hide().attr("aria-hidden", "true").attr("aria-expanded", "false");
      },
      _closeOnDocumentClick: function _closeOnDocumentClick(event) {
        return !$(event.target).closest(".ui-menu").length;
      },
      _isDivider: function _isDivider(item) {
        // Match hyphen, em dash, en dash
        return !/[^\-\u2014\u2013\s]/.test(item.text());
      },
      collapse: function collapse(event) {
        var newItem = this.active && this.active.parent().closest(".ui-menu-item", this.element);
        if (newItem && newItem.length) {
          this._close();
          this.focus(event, newItem);
        }
      },
      expand: function expand(event) {
        var newItem = this.active && this.active.children(".ui-menu ").find(this.options.items).first();
        if (newItem && newItem.length) {
          this._open(newItem.parent());
  
          // Delay so Firefox will not hide activedescendant change in expanding submenu from AT
          this._delay(function () {
            this.focus(event, newItem);
          });
        }
      },
      next: function next(event) {
        this._move("next", "first", event);
      },
      previous: function previous(event) {
        this._move("prev", "last", event);
      },
      isFirstItem: function isFirstItem() {
        return this.active && !this.active.prevAll(".ui-menu-item").length;
      },
      isLastItem: function isLastItem() {
        return this.active && !this.active.nextAll(".ui-menu-item").length;
      },
      _move: function _move(direction, filter, event) {
        var next;
        if (this.active) {
          if (direction === "first" || direction === "last") {
            next = this.active[direction === "first" ? "prevAll" : "nextAll"](".ui-menu-item").eq(-1);
          } else {
            next = this.active[direction + "All"](".ui-menu-item").eq(0);
          }
        }
        if (!next || !next.length || !this.active) {
          next = this.activeMenu.find(this.options.items)[filter]();
        }
        this.focus(event, next);
      },
      nextPage: function nextPage(event) {
        var item, base, height;
        if (!this.active) {
          this.next(event);
          return;
        }
        if (this.isLastItem()) {
          return;
        }
        if (this._hasScroll()) {
          base = this.active.offset().top;
          height = this.element.height();
          this.active.nextAll(".ui-menu-item").each(function () {
            item = $(this);
            return item.offset().top - base - height < 0;
          });
          this.focus(event, item);
        } else {
          this.focus(event, this.activeMenu.find(this.options.items)[!this.active ? "first" : "last"]());
        }
      },
      previousPage: function previousPage(event) {
        var item, base, height;
        if (!this.active) {
          this.next(event);
          return;
        }
        if (this.isFirstItem()) {
          return;
        }
        if (this._hasScroll()) {
          base = this.active.offset().top;
          height = this.element.height();
          this.active.prevAll(".ui-menu-item").each(function () {
            item = $(this);
            return item.offset().top - base + height > 0;
          });
          this.focus(event, item);
        } else {
          this.focus(event, this.activeMenu.find(this.options.items).first());
        }
      },
      _hasScroll: function _hasScroll() {
        return this.element.outerHeight() < this.element.prop("scrollHeight");
      },
      select: function select(event) {
        // TODO: It should never be possible to not have an active item at this
        // point, but the tests don't trigger mouseenter before click.
        this.active = this.active || $(event.target).closest(".ui-menu-item");
        var ui = {
          item: this.active
        };
        if (!this.active.has(".ui-menu").length) {
          this.collapseAll(event, true);
        }
        this._trigger("select", event, ui);
      },
      _filterMenuItems: function _filterMenuItems(character) {
        var escapedCharacter = character.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&"),
          regex = new RegExp("^" + escapedCharacter, "i");
        return this.activeMenu.find(this.options.items)
  
        // Only match on items, not dividers or other content (#10571)
        .filter(".ui-menu-item").filter(function () {
          return regex.test($.trim($(this).children(".ui-menu-item-wrapper").text()));
        });
      }
    });
  
    /*!
     * jQuery UI Autocomplete 1.12.1
     * http://jqueryui.com
     *
     * Copyright jQuery Foundation and other contributors
     * Released under the MIT license.
     * http://jquery.org/license
     */
  
    //>>label: Autocomplete
    //>>group: Widgets
    //>>description: Lists suggested words as the user is typing.
    //>>docs: http://api.jqueryui.com/autocomplete/
    //>>demos: http://jqueryui.com/autocomplete/
    //>>css.structure: ../../themes/base/core.css
    //>>css.structure: ../../themes/base/autocomplete.css
    //>>css.theme: ../../themes/base/theme.css
  
    $.widget("ui.autocomplete", {
      version: "1.12.1",
      defaultElement: "<input>",
      options: {
        appendTo: null,
        autoFocus: false,
        delay: 300,
        minLength: 1,
        position: {
          my: "left top",
          at: "left bottom",
          collision: "none"
        },
        source: null,
        // Callbacks
        change: null,
        close: null,
        focus: null,
        open: null,
        response: null,
        search: null,
        select: null
      },
      requestIndex: 0,
      pending: 0,
      _create: function _create() {
        // Some browsers only repeat keydown events, not keypress events,
        // so we use the suppressKeyPress flag to determine if we've already
        // handled the keydown event. #7269
        // Unfortunately the code for & in keypress is the same as the up arrow,
        // so we use the suppressKeyPressRepeat flag to avoid handling keypress
        // events when we know the keydown event was used to modify the
        // search term. #7799
        var suppressKeyPress,
          suppressKeyPressRepeat,
          suppressInput,
          nodeName = this.element[0].nodeName.toLowerCase(),
          isTextarea = nodeName === "textarea",
          isInput = nodeName === "input";
  
        // Textareas are always multi-line
        // Inputs are always single-line, even if inside a contentEditable element
        // IE also treats inputs as contentEditable
        // All other element types are determined by whether or not they're contentEditable
        this.isMultiLine = isTextarea || !isInput && this._isContentEditable(this.element);
        this.valueMethod = this.element[isTextarea || isInput ? "val" : "text"];
        this.isNewMenu = true;
        this._addClass("ui-autocomplete-input");
        this.element.attr("autocomplete", "off");
        this._on(this.element, {
          keydown: function keydown(event) {
            if (this.element.prop("readOnly")) {
              suppressKeyPress = true;
              suppressInput = true;
              suppressKeyPressRepeat = true;
              return;
            }
            suppressKeyPress = false;
            suppressInput = false;
            suppressKeyPressRepeat = false;
            var keyCode = $.ui.keyCode;
            switch (event.keyCode) {
              case keyCode.PAGE_UP:
                suppressKeyPress = true;
                this._move("previousPage", event);
                break;
              case keyCode.PAGE_DOWN:
                suppressKeyPress = true;
                this._move("nextPage", event);
                break;
              case keyCode.UP:
                suppressKeyPress = true;
                this._keyEvent("previous", event);
                break;
              case keyCode.DOWN:
                suppressKeyPress = true;
                this._keyEvent("next", event);
                break;
              case keyCode.ENTER:
                // when menu is open and has focus
                if (this.menu.active) {
                  // #6055 - Opera still allows the keypress to occur
                  // which causes forms to submit
                  suppressKeyPress = true;
                  event.preventDefault();
                  this.menu.select(event);
                }
                break;
              case keyCode.TAB:
                if (this.menu.active) {
                  this.menu.select(event);
                }
                break;
              case keyCode.ESCAPE:
                if (this.menu.element.is(":visible")) {
                  if (!this.isMultiLine) {
                    this._value(this.term);
                  }
                  this.close(event);
  
                  // Different browsers have different default behavior for escape
                  // Single press can mean undo or clear
                  // Double press in IE means clear the whole form
                  event.preventDefault();
                }
                break;
              default:
                suppressKeyPressRepeat = true;
  
                // search timeout should be triggered before the input value is changed
                this._searchTimeout(event);
                break;
            }
          },
          keypress: function keypress(event) {
            if (suppressKeyPress) {
              suppressKeyPress = false;
              if (!this.isMultiLine || this.menu.element.is(":visible")) {
                event.preventDefault();
              }
              return;
            }
            if (suppressKeyPressRepeat) {
              return;
            }
  
            // Replicate some key handlers to allow them to repeat in Firefox and Opera
            var keyCode = $.ui.keyCode;
            switch (event.keyCode) {
              case keyCode.PAGE_UP:
                this._move("previousPage", event);
                break;
              case keyCode.PAGE_DOWN:
                this._move("nextPage", event);
                break;
              case keyCode.UP:
                this._keyEvent("previous", event);
                break;
              case keyCode.DOWN:
                this._keyEvent("next", event);
                break;
            }
          },
          input: function input(event) {
            if (suppressInput) {
              suppressInput = false;
              event.preventDefault();
              return;
            }
            this._searchTimeout(event);
          },
          focus: function focus() {
            this.selectedItem = null;
            this.previous = this._value();
          },
          blur: function blur(event) {
            if (this.cancelBlur) {
              delete this.cancelBlur;
              return;
            }
            clearTimeout(this.searching);
            this.close(event);
            this._change(event);
          }
        });
        this._initSource();
        this.menu = $("<ul>").appendTo(this._appendTo()).menu({
          // disable ARIA support, the live region takes care of that
          role: null
        }).hide().menu("instance");
        this._addClass(this.menu.element, "ui-autocomplete", "ui-front");
        this._on(this.menu.element, {
          mousedown: function mousedown(event) {
            // prevent moving focus out of the text field
            event.preventDefault();
  
            // IE doesn't prevent moving focus even with event.preventDefault()
            // so we set a flag to know when we should ignore the blur event
            this.cancelBlur = true;
            this._delay(function () {
              delete this.cancelBlur;
  
              // Support: IE 8 only
              // Right clicking a menu item or selecting text from the menu items will
              // result in focus moving out of the input. However, we've already received
              // and ignored the blur event because of the cancelBlur flag set above. So
              // we restore focus to ensure that the menu closes properly based on the user's
              // next actions.
              if (this.element[0] !== $.ui.safeActiveElement(this.document[0])) {
                this.element.trigger("focus");
              }
            });
          },
          menufocus: function menufocus(event, ui) {
            var label, item;
  
            // support: Firefox
            // Prevent accidental activation of menu items in Firefox (#7024 #9118)
            if (this.isNewMenu) {
              this.isNewMenu = false;
              if (event.originalEvent && /^mouse/.test(event.originalEvent.type)) {
                this.menu.blur();
                this.document.one("mousemove", function () {
                  $(event.target).trigger(event.originalEvent);
                });
                return;
              }
            }
            item = ui.item.data("ui-autocomplete-item");
            if (false !== this._trigger("focus", event, {
              item: item
            })) {
              // use value to match what will end up in the input, if it was a key event
              if (event.originalEvent && /^key/.test(event.originalEvent.type)) {
                this._value(item.value);
              }
            }
          },
          menuselect: function menuselect(event, ui) {
            var item = ui.item.data("ui-autocomplete-item"),
              previous = this.previous;
  
            // Only trigger when focus was lost (click on menu)
            if (this.element[0] !== $.ui.safeActiveElement(this.document[0])) {
              this.element.trigger("focus");
              this.previous = previous;
  
              // #6109 - IE triggers two focus events and the second
              // is asynchronous, so we need to reset the previous
              // term synchronously and asynchronously :-(
              this._delay(function () {
                this.previous = previous;
                this.selectedItem = item;
              });
            }
            if (false !== this._trigger("select", event, {
              item: item
            })) {
              this._value(item.value);
            }
  
            // reset the term after the select event
            // this allows custom select handling to work properly
            this.term = this._value();
            this.close(event);
            this.selectedItem = item;
          }
        });
  
        // Turning off autocomplete prevents the browser from remembering the
        // value when navigating through history, so we re-enable autocomplete
        // if the page is unloaded before the widget is destroyed. #7790
        this._on(this.window, {
          beforeunload: function beforeunload() {
            this.element.removeAttr("autocomplete");
          }
        });
      },
      _destroy: function _destroy() {
        clearTimeout(this.searching);
        this.element.removeAttr("autocomplete");
        this.menu.element.remove();
      },
      _setOption: function _setOption(key, value) {
        this._super(key, value);
        if (key === "source") {
          this._initSource();
        }
        if (key === "appendTo") {
          this.menu.element.appendTo(this._appendTo());
        }
        if (key === "disabled" && value && this.xhr) {
          this.xhr.abort();
        }
      },
      _isEventTargetInWidget: function _isEventTargetInWidget(event) {
        var menuElement = this.menu.element[0];
        return event.target === this.element[0] || event.target === menuElement || $.contains(menuElement, event.target);
      },
      _closeOnClickOutside: function _closeOnClickOutside(event) {
        if (!this._isEventTargetInWidget(event)) {
          this.close();
        }
      },
      _appendTo: function _appendTo() {
        var element = this.options.appendTo;
        if (element) {
          element = element.jquery || element.nodeType ? $(element) : this.document.find(element).eq(0);
        }
        if (!element || !element[0]) {
          element = this.element.closest(".ui-front, dialog");
        }
        if (!element.length) {
          element = this.document[0].body;
        }
        return element;
      },
      _initSource: function _initSource() {
        var array,
          url,
          that = this;
        if ($.isArray(this.options.source)) {
          array = this.options.source;
          this.source = function (request, response) {
            response($.ui.autocomplete.filter(array, request.term));
          };
        } else if (typeof this.options.source === "string") {
          url = this.options.source;
          this.source = function (request, response) {
            if (that.xhr) {
              that.xhr.abort();
            }
            that.xhr = $.ajax({
              url: url,
              data: request,
              dataType: "json",
              success: function success(data) {
                response(data);
              },
              error: function error() {
                response([]);
              }
            });
          };
        } else {
          this.source = this.options.source;
        }
      },
      _searchTimeout: function _searchTimeout(event) {
        clearTimeout(this.searching);
        this.searching = this._delay(function () {
          // Search if the value has changed, or if the user retypes the same value (see #7434)
          var equalValues = this.term === this._value(),
            menuVisible = this.menu.element.is(":visible"),
            modifierKey = event.altKey || event.ctrlKey || event.metaKey || event.shiftKey;
          if (!equalValues || equalValues && !menuVisible && !modifierKey) {
            this.selectedItem = null;
            this.search(null, event);
          }
        }, this.options.delay);
      },
      search: function search(value, event) {
        value = value != null ? value : this._value();
  
        // Always save the actual value, not the one passed as an argument
        this.term = this._value();
        if (value.length < this.options.minLength) {
          return this.close(event);
        }
        if (this._trigger("search", event) === false) {
          return;
        }
        return this._search(value);
      },
      _search: function _search(value) {
        this.pending++;
        this._addClass("ui-autocomplete-loading");
        this.cancelSearch = false;
        this.source({
          term: value
        }, this._response());
      },
      _response: function _response() {
        var index = ++this.requestIndex;
        return $.proxy(function (content) {
          if (index === this.requestIndex) {
            this.__response(content);
          }
          this.pending--;
          if (!this.pending) {
            this._removeClass("ui-autocomplete-loading");
          }
        }, this);
      },
      __response: function __response(content) {
        if (content) {
          content = this._normalize(content);
        }
        this._trigger("response", null, {
          content: content
        });
        if (!this.options.disabled && content && content.length && !this.cancelSearch) {
          this._suggest(content);
          this._trigger("open");
        } else {
          // use ._close() instead of .close() so we don't cancel future searches
          this._close();
        }
      },
      close: function close(event) {
        this.cancelSearch = true;
        this._close(event);
      },
      _close: function _close(event) {
        // Remove the handler that closes the menu on outside clicks
        this._off(this.document, "mousedown");
        if (this.menu.element.is(":visible")) {
          this.menu.element.hide();
          this.menu.blur();
          this.isNewMenu = true;
          this._trigger("close", event);
        }
      },
      _change: function _change(event) {
        if (this.previous !== this._value()) {
          this._trigger("change", event, {
            item: this.selectedItem
          });
        }
      },
      _normalize: function _normalize(items) {
        // assume all items have the right format when the first item is complete
        if (items.length && items[0].label && items[0].value) {
          return items;
        }
        return $.map(items, function (item) {
          if (typeof item === "string") {
            return {
              label: item,
              value: item
            };
          }
          return $.extend({}, item, {
            label: item.label || item.value,
            value: item.value || item.label
          });
        });
      },
      _suggest: function _suggest(items) {
        var ul = this.menu.element.empty();
        this._renderMenu(ul, items);
        this.isNewMenu = true;
        this.menu.refresh();
  
        // Size and position menu
        ul.show();
        this._resizeMenu();
        ul.position($.extend({
          of: this.element
        }, this.options.position));
        if (this.options.autoFocus) {
          this.menu.next();
        }
  
        // Listen for interactions outside of the widget (#6642)
        this._on(this.document, {
          mousedown: "_closeOnClickOutside"
        });
      },
      _resizeMenu: function _resizeMenu() {
        var ul = this.menu.element;
        ul.outerWidth(Math.max(
        // Firefox wraps long text (possibly a rounding bug)
        // so we add 1px to avoid the wrapping (#7513)
        ul.width("").outerWidth() + 1, this.element.outerWidth()));
      },
      _renderMenu: function _renderMenu(ul, items) {
        var that = this;
        $.each(items, function (index, item) {
          that._renderItemData(ul, item);
        });
      },
      _renderItemData: function _renderItemData(ul, item) {
        return this._renderItem(ul, item).data("ui-autocomplete-item", item);
      },
      _renderItem: function _renderItem(ul, item) {
        return $("<li>").append($("<div>").text(item.label)).appendTo(ul);
      },
      _move: function _move(direction, event) {
        if (!this.menu.element.is(":visible")) {
          this.search(null, event);
          return;
        }
        if (this.menu.isFirstItem() && /^previous/.test(direction) || this.menu.isLastItem() && /^next/.test(direction)) {
          if (!this.isMultiLine) {
            this._value(this.term);
          }
          this.menu.blur();
          return;
        }
        this.menu[direction](event);
      },
      widget: function widget() {
        return this.menu.element;
      },
      _value: function _value() {
        return this.valueMethod.apply(this.element, arguments);
      },
      _keyEvent: function _keyEvent(keyEvent, event) {
        if (!this.isMultiLine || this.menu.element.is(":visible")) {
          this._move(keyEvent, event);
  
          // Prevents moving cursor to beginning/end of the text field in some browsers
          event.preventDefault();
        }
      },
      // Support: Chrome <=50
      // We should be able to just use this.element.prop( "isContentEditable" )
      // but hidden elements always report false in Chrome.
      // https://code.google.com/p/chromium/issues/detail?id=313082
      _isContentEditable: function _isContentEditable(element) {
        if (!element.length) {
          return false;
        }
        var editable = element.prop("contentEditable");
        if (editable === "inherit") {
          return this._isContentEditable(element.parent());
        }
        return editable === "true";
      }
    });
    $.extend($.ui.autocomplete, {
      escapeRegex: function escapeRegex(value) {
        return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&");
      },
      filter: function filter(array, term) {
        var matcher = new RegExp($.ui.autocomplete.escapeRegex(term), "i");
        return $.grep(array, function (value) {
          return matcher.test(value.label || value.value || value);
        });
      }
    });
    var widgetsAutocomplete = $.ui.autocomplete;
  });
  
  // call the function
  $("#header-search").autocomplete({
    source: function source(request, response) {
      $.ajax({
        url: "https://api.cognitive.microsoft.com/bingcustomsearch/v7.0/suggestions/search",
        data: {
          customconfig: "a02414b2-e710-4d05-b62f-9bb0b200268a",
          q: request.term
        },
        dataType: "json",
        contentType: "application/json",
        headers: {
          "Ocp-Apim-Subscription-Key": "928b1a7214bb4d05adb797fdf36970eb"
        },
        success: function success(data) {
          if (data.suggestionGroups) {
            response($.map(data.suggestionGroups[0].searchSuggestions, function (item) {
              var object = new Object();
              object.value = item.displayText;
              return object;
            }));
          }
        },
        error: function error() {
          $("#header-search").autocomplete("close");
        }
      });
    },
    deferRequestBy: 300,
    appendTo: $(".masthead-ent-search .autocomplete-container")
  }).focus(function () {
    $(this).autocomplete("search");
  }).bind("autocompleteopen", function (event, ui) {
    $(this).addClass("auto");
  }).bind("autocompleteclose", function (event, ui) {
    $(this).removeClass("auto");
  });
  
  },{}],3:[function(require,module,exports){
  "use strict";
  
  var focusTrap = require('focus-trap');
  module.exports.init = function () {
    var JHM = {
      /*
        JHM.init
          Called on document.ready
          Anything that needs to run on page load
      */
  
      isAlertActive: false,
      init: function init() {
        JHM.isAlertActive = jQuery('.emergency-banner').length ? true : false;
        JHM.entMenu.init();
        JHM.mobileMenu.init();
        JHM.search.init();
        // lazyload YouTube videos
        // removed to test script conflict
        //JHM.lazyYouTube.init();
      },
  
      // Timeouts for debounced event listeners
      // Keys are the names of debounced functions, values are IDs returned by setTimeout
      debounceTimeouts: {},
      /*
        JHM.debounce()
          Call an event callback only once the event has stopped firing
          - callback (function): Function to call (should be one per document/page-level event, see resize functions for how that's done)
        - delay (number): How long to wait between each event before allowing callback to fire
        - callbackArgs (array): Any arguments to pass to the callback
      */
      debounce: function debounce(callback, delay, callbackArgs) {
        // Clear existing timeout for this function/event
        if (JHM.debounceTimeouts.hasOwnProperty(callback.name)) {
          clearTimeout(JHM.debounceTimeouts[callback.name]);
        }
        // Set a timeout then call the callback
        JHM.debounceTimeouts[callback.name] = setTimeout(function () {
          callback.apply(null, callbackArgs);
        }, delay);
      },
      // Focusable elements
      focusableElementsSelector: 'a[href],[tabindex="0"], input:not([type="hidden"]),button,select,textarea'
    };
    JHM.search = {
      init: function init() {
        jQuery("#jhmSiteSearch").submit(JHM.search.submitSearch);
        jQuery("input[name=site]").change(JHM.search.changeSearchText);
        jQuery("input[name=site]:checked").trigger('change');
      },
      changeSearchText: function changeSearchText(event) {
        var subsiteName = jQuery("label[for=subsiteSearchOptSub]").text().trim(),
          newSearchName = jQuery("#subsiteSearchOptSub").is(':checked') ? subsiteName : "Johns Hopkins Medicine";
        jQuery("#header-search").attr("placeholder", "Search " + newSearchName);
        jQuery("label[for=header-search] .sr-only").text(newSearchName);
      },
      submitSearch: function submitSearch(event) {
        if (jQuery("#jhmSiteSearch").find(".search-options").length && jQuery("input[name=site]:checked").val() == "sitesearch") {
          jQuery("#subsite-search-field").val(jQuery("#header-search").val());
          jQuery("#jhmSubsiteSearch").submit();
          return false;
        }
      }
    };
    /*
      src/js/es6/entMenu.js
        webpacked into main.js via base.js
      @version: November 2019
        - Now using aria-expanded on a button! (yay) and the button is inside the nav! (yay)
      -Toggle and focus management for enterprise nav and search (consolidated code for both)
      -Toggle and focus management for local nav can probably be consolidated into
        JHM.entMenu.toggleMenu eventually but that's still separate for now
      */
    JHM.entMenu = {
      // Will be set to <html> element, but wait until init so we know the page is loaded
      html: {},
      hasAlert: false,
      windowWidth: 0,
      devicePixelRatio: 0,
      topHeight: 0,
      /*
        JHM.entMenu.init
          Called from global.js on document.ready
        Currently sets HTML object and runs click event listeners for toggle buttons
      */
      init: function init() {
        JHM.entMenu.html = document.querySelector('html');
        // Toggle enterprise menu/search on click (it's a button, so click covers keyboard activation too)
        jQuery('.toggle-ent-menu, .toggle-ent-search, .toggle-covid-message').off('click').click(JHM.entMenu.toggleEntMenu);
        window.addEventListener('resize', function () {
          jQuery('.toggle-ent-menu, .toggle-ent-search, .toggle-covid-message').each(function () {
            var $button = jQuery(this);
            if ($button.is('[aria-expanded="true"]')) {
              jQuery(".menu-background").css('minHeight', $button.parent().find('.menu-panel').outerHeight() + (window.innerWidth > 640 ? 220 : 140));
            }
          });
        });
        // if (JHM.isAlertActive) {
        // 	JHM.entMenu.setTopPosition(true);
        // 	//JHM.resizeFunctions.push(JHM.entMenu.resizeSetPosition);
        // 	JHM.entMenu.windowWidth = jQuery(window).outerWidth();
        // 	JHM.entMenu.devicePixelRatio = window.devicePixelRatio;
        // }
      },
  
      /*
        JHM.entMenu.toggleMenu
          @version: November 2019
        @param:
          - e (event object from event handler, optional) if undefined will close
          whichever of the two (search and enterprise nav) is open
          Toggles enterprise menu and search. Notes:
          - Now uses a button with aria-expanded instead of a checkbox (yay!) and the buttons are
            inside the landmarks
          - Allows user to open search when menu is open and vice versa
          (instead of just closing whatever was open, forcing users to click again to open the other one)
          - Toggles focus-trapping event handlers so they're on only when nav or search is open
          Callback for search/enterprise menu toggle button click
        Eventually (ideally) local nav open toggle can be handled here too, but it isn't yet
      */
  
      toggleEntMenu: function toggleEntMenu(e) {
        // No event passed: Close whatever is open
        var button = e === undefined ? {} : jQuery(e.target).closest('button');
        // No event passed or close button clicked: close whatever is open
        if (!button.length || button.hasClass("close")) {
          // Default: Whatever button is expanded
          button = jQuery('.masthead button[class*="toggle"][aria-expanded="true"]');
        }
  
        // Whether the menu is currently expanded
        var isExpanded = button.attr('aria-expanded') == 'true',
          // Value to change aria-expanded to
          expandNewValue = (!isExpanded).toString(),
          // Parent container for this nav/search
          parentContainer = button.closest('.masthead-ent, .masthead-loc'),
          // Other containers that should be hidden from screen readers (other than this one)
          // (Focus is trapped but this prevents other commands leaving the nav/search)
          otherContainers = jQuery('body').children('footer').add('main#skip').add(jQuery('.masthead > div').not(parentContainer).add(jQuery('a[href="#skip"]').closest('nav'))),
          // Any other expanded buttons that should be closed if this one is opening
          otherExpandedButtons = jQuery('.masthead button[class*="toggle"][aria-expanded="true"]').not(button);
  
        // if local nav not open (this shouldn't ever happen)
        if (JHM.entMenu.html.classList.contains('navIsOpen')) {
          e.preventDefault();
        } else {
          window.scrollTo(0, 0);
          var closeButton = button.closest(".masthead-ent-nav, .covid-section, .masthead-ent-search").find("button.close");
  
          // Collapsing: Need to manage focus before it gets lost
          if (isExpanded) {
            // Current focused element
            var currentFocused = jQuery(document.activeElement),
              // All toggle buttons that are accessible with and without the menu/search open (currently enterprise navand search toggle)
              toggleButtons = jQuery('.masthead button[class*="toggle"]');
            // Current focused item will not be focusable when the accordion closes
            if (!toggleButtons.is(currentFocused)) {
              // Set focus to the button for the accordion that's closing
              button.focus();
            }
          }
          button.attr('aria-expanded', expandNewValue);
          jQuery(".menu-overlay").add(closeButton).off('click');
  
          // Menu is/was expanded when button clicked
          if (isExpanded) {
            // Remove class for overlay style
            JHM.entMenu.html.classList.remove('menuIsOpen');
            // Unhide other content
            otherContainers.removeAttr('aria-hidden');
            // Turn off keydown event listener
            jQuery(document).off('keydown');
            jQuery(document).add(parentContainer).off('focusin');
          } else {
            // Close anything else that's open
            otherExpandedButtons.attr('aria-expanded', 'false');
            jQuery(".menu-overlay").add(closeButton).off("click").click(JHM.entMenu.toggleEntMenu);
            jQuery(".menu-background").css('minHeight', button.parent().find('.menu-panel').outerHeight() + (window.innerWidth > 640 ? 220 : 140));
            // Listen for keys (use escape to close and trap focus)
            // Need to remove listener in case there's already one from switching between nav and search
            jQuery(document).off('keydown').keydown(JHM.entMenu.trapTabsMenuOpen);
            // Stop menu/search elements bubbling up so we're only getting a keydown event for those
            parentContainer.off('focusin').focusin(function (event) {
              event.stopImmediatePropagation();
            });
            // Catch focus if entering from elsewhere in browser
            jQuery(document).off('focusin').focusin(JHM.entMenu.trapTabsMenuOpen);
            // add menu open classes
            JHM.entMenu.html.classList.add('menuIsOpen');
            // Hide containers for other things from screen readers
            otherContainers.attr('aria-hidden', 'true');
          }
        }
      },
      /*
        JHM.entMenu.trapTabsMenuOpen
          @version: November 2019
        @param: event (event object from event handler)
          Keep focus in the nav/search when open, close on esc.
        Will let focus move to menu toggle and search toggle buttons
        Callback for keydown and focusin event handlers.
      */
      trapTabsMenuOpen: function trapTabsMenuOpen(event) {
        // Current focused element
        var activeElement = jQuery(document.activeElement),
          // If this is a focusin event treat it as a tab (because effectively it is)
          keyCode = event.type == "keydown" ? event.which : 9,
          isShift = event.type == "keydown" ? event.shiftKey : false,
          // Button for whichever menu (or search) is currently open
          toggleButton = jQuery('.masthead button[class*="toggle"][aria-expanded="true"]'),
          // Container for whatever is currently open
          container = toggleButton.closest('nav, .masthead-ent-search'),
          focusedContainer = activeElement.closest(container);
  
        // Anything focusable in the container
        var focusableElements = container.find(JHM.focusableElementsSelector),
          // First focusable element
          firstLI = jQuery('.masthead-ent .logo'),
          // Last focusable element
          lastLI = focusableElements.last(),
          // Element to focus
          focusElement = {};
  
        // Search: allow  focus to go to enterprise nav
        //firstLI = (toggleButton.hasClass('toggle-ent-search') || toggleButton.hasClass("toggle-covid-message")) ? jQuery('.masthead-ent .logo') : firstLI;
        // Nav: allow focus to go to search button
        lastLI = toggleButton.hasClass('toggle-ent-menu') || toggleButton.hasClass("toggle-covid-message") ? jQuery('.masthead-ent-search > button') : lastLI;
  
        // Add condition: Outside the container. If before container, focus first, if after focus last
        // Tab pressed
        if (keyCode == 9) {
          // Default assume keyboard event: focus last element if shift+tabbing from first
          var focusLastElement = isShift && firstLI.is(activeElement),
            // focus first element if tabbing from last
            focusFirstElement = !isShift && lastLI.is(activeElement);
          // Focused element is not in the open accordion
          // Event for menu content won't bubble up so focusin should only be triggered if the user is entering the page content
          if (event.type == "focusin") {
            // check if it's before or after the first focusable element
            // jQuery will sort items in DOM order so we can tell
            var domOrder = firstLI.add(activeElement);
            // Default (only elements outside the open container will bubble up): Focus the last element
            focusFirstElement = false;
            focusLastElement = true;
  
            // Focused element is before first menu element: focus the first element
            //FF has the HTML document and <body> as  the active element for tabbing in and shift+tabbing in, respetively. Not a good way of distinguishing for this browser but we're preventing focus from getting lost at least
            // Chrome seems better at distinguishing
  
            // User is tabbing from address bar (or some other reason the browser considers the focused element first)
            if (domOrder.first().is(activeElement)) {
              focusFirstElement = true;
              focusLastElement = false;
            }
          }
  
          // Eventually allow shift+tab to go back to address bar instead
          if (focusLastElement) {
            focusElement = lastLI;
          } else if (focusFirstElement) {
            focusElement = firstLI;
          }
  
          // Escape: Close whatever's open
        } else if (keyCode == 27) {
          JHM.entMenu.toggleEntMenu();
        }
        // Element to shift focus to: Do that
        if (focusElement.length) {
          event.preventDefault();
          focusElement.focus();
        } else {
          return true;
        }
      }
    };
    JHM.mobileMenu = {
      body: {},
      windowWidth: 0,
      devicePixelRatio: 0,
      focusTraps: [],
      clickDirection: false,
      lastParent: false,
      init: function init() {
        var id = $('.masthead-loc .menu-all').attr('id');
        var panel_id = 0;
        $('.mm-panel').each(function (i) {
          var $panel = $(this);
          $panel.attr('id', "mm-panel--".concat(panel_id));
          $panel.prev('.mm-listitem-wrap').find('.menu-panel-title').attr('data-target', "mm-panel--".concat(panel_id));
          if (panel_id > 0) {
            $panel.find('> .menu-panel-list > .mm-listitem > .mm-listitem-wrap > .menu-panel-back').attr('data-target', $panel.closest('.mm-listitem').closest('.mm-panel').attr('id'));
          }
          panel_id++;
        });
        $('.mm-panel .mm-panel').each(function (i) {
          $('.mm-panels').append($(this).clone());
        });
        $('.mm-panel .mm-panel').each(function () {
          $(this).remove();
        });
        JHM.mobileMenu.body = document.querySelector('html');
        jQuery('.masthead-loc').find('.menu-btn').off('click').click(JHM.mobileMenu.toggleMobileMenu);
        jQuery('.masthead-loc').find('.menu-panel-list').each(function (index) {
          var $list = jQuery(this);
          $list.attr('data-panel-order', index);
          var links = [];
          $list.find('> .mm-listitem > .mm-listitem-wrap').each(function () {
            links.push(this);
          });
          links.unshift(jQuery('.masthead-loc .menu-btn-wrap').get(0));
          var trap = focusTrap.createFocusTrap(links, {
            allowOutsideClick: true,
            escapeDeactivates: false,
            clickOutsideDeactivates: false,
            preventScroll: true,
            initialFocus: function initialFocus() {
              var returnVal;
              if (JHM.mobileMenu.clickDirection === '=>') {
                returnVal = $list.find('> .mm-listitem:first-child > .mm-listitem-wrap > .menu-panel-title').get(0);
              } else if (JHM.mobileMenu.clickDirection === '<=' && JHM.mobileMenu.lastParent) {
                returnVal = JHM.mobileMenu.lastParent;
              } else {
                returnVal = false;
              }
              return returnVal;
            }
          });
          JHM.mobileMenu.focusTraps.push(trap);
        });
        jQuery('.masthead-loc').find('button.menu-panel-title').each(function () {
          JHM.mobileMenu.toggleSubmenu($(this));
        });
        $('.masthead-loc .local-nav-dept').attr('id', id + '__title');
        $('.masthead-loc header').attr('aria-labelledby', id + '__title');
  
        // Enhance L1 title
        jQuery('.masthead-loc').find('.mm-panel:first-child .mm-navbar__title').prepend("<span class=\"sr-only\">".concat($('.local-nav-dept').text(), "</span>"));
  
        // Enhance back buttons
        jQuery('.masthead-loc').find('.menu-panel-back').each(function () {
          var $button = $(this),
            $parent = $("#".concat($button.data('target')));
  
          // $button.append(`<span class="sr-only">to ${$parent.find('> .mm-navbar > .mm-navbar__title').text()}</span>`);
        });
  
        // Add aria label
        jQuery('.masthead-loc .mm-panel').each(function (i) {
          var $panel = $(this),
            $title = $panel.find('> .mm-navbar > .mm-navbar__title'),
            $list = $panel.find('> .menu-panel-list'),
            id = $panel.attr('id');
          $title.attr('id', id + '__title');
          $list.attr('aria-labelledby', id + '__title');
        });
      },
      toggleMobileMenu: function toggleMobileMenu(e) {
        var button = e === undefined ? {} : jQuery(e.target).closest('button');
        if (!button.length) {
          button = jQuery('.masthead-loc .menu-btn');
        }
        var isExpanded = button.attr('aria-expanded') == 'true',
          background = button.closest('.loc-nav-menu').find('.menu-overlay'),
          expandNewValue = (!isExpanded).toString(),
          parentContainer = button.closest('.masthead-loc'),
          // Other containers that should be hidden from screen readers (other than this one)
          // (Focus is trapped but this prevents other commands leaving the nav/search)
          otherContainers = jQuery('body').children('footer').add('main#skip').add(jQuery('.masthead > div').not(parentContainer).add(jQuery('a[href="#skip"]').closest('nav'))),
          otherExpandedButtons = jQuery('.masthead button[class*="toggle"][aria-expanded="true"]').not(button),
          $wrap = $('.mm-menu'),
          activeLevel = $('.menu-panel-title[aria-current="page"]').length ? $('.menu-panel-title[aria-current="page"]') : $('.menu-panel-title').first();
        button.attr('aria-expanded', expandNewValue);
        parentContainer.find(".menu-overlay").off('click');
        if ($('.mm-menu').find('.isActive').length < 1) {
          $('.mm-panel').addClass('stopTransition isInactive');
          activeLevel.closest('.mm-panel').addClass('isActive').removeClass('isInactive');
          $wrap.height(activeLevel.closest('.mm-panel').height());
  
          // Trap focus
          var panel = jQuery('.masthead-loc .mm-panel.isActive > .menu-panel-list').data('panel-order') || 0;
          setTimeout(function () {
            $('.mm-panel').removeClass('stopTransition');
            $('.mm-panel.isInactive').css('visibility', 'hidden');
          }, 50);
          setTimeout(function () {
            JHM.mobileMenu.focusTraps[panel].activate();
          }, 100);
        }
  
        // Menu is/was expanded when button clicked
        if (isExpanded) {
          otherContainers.removeAttr('aria-hidden');
          JHM.mobileMenu.body.classList.remove('navIsOpen');
          JHM.mobileMenu.clickDirection = false;
          jQuery(document).off('keydown');
          background.off('click');
          setTimeout(function () {
            JHM.mobileMenu.focusTraps.forEach(function (trap) {
              trap.deactivate();
            });
            button.focus();
          }, 10);
        } else {
          // Open menu
          JHM.mobileMenu.body.classList.add('navIsOpen');
  
          // Close anything else that's open
          otherExpandedButtons.attr('aria-expanded', 'false');
          otherContainers.attr('aria-hidden', 'true');
          background.off('click').off('click').click(JHM.mobileMenu.toggleMobileMenu);
          jQuery(document).off('keydown').keydown(function (e) {
            if (e.keyCode == 27) {
              JHM.mobileMenu.toggleMobileMenu();
            }
          });
  
          // Trap focus
          var panel = jQuery('.masthead-loc .mm-panel.isActive > .menu-panel-list').data('panel-order') || 0;
          setTimeout(function () {
            JHM.mobileMenu.focusTraps[panel].activate();
          }, 100);
        }
      },
      trapTabsMenuOpen: function trapTabsMenuOpen(event) {
        var activeElement = jQuery(document.activeElement),
          // If this is a focusin event treat it as a tab (because effectively it is)
          keyCode = event.type == "keydown" ? event.which : 9,
          isShift = event.type == "keydown" ? event.shiftKey : false,
          // Button for whichever menu (or search) is currently open
          toggleButton = jQuery('.main-header__menu-button[aria-expanded="true"]'),
          // Container for whatever is currently open
          container = toggleButton.closest('.main-header__wrap'),
          focusedContainer = activeElement.closest(container);
  
        // Anything focusable in the container
        var focusableElements = container.find(JHM.focusableElementsSelector),
          // First focusable element
          firstLI = focusableElements.first(),
          // Last focusable element
          lastLI = focusableElements.last(),
          // Element to focus
          focusElement = {};
  
        // Tab pressed
        if (keyCode == 9) {
          // Default assume keyboard event: focus last element if shift+tabbing from first
          var focusLastElement = isShift && firstLI.is(activeElement),
            // focus first element if tabbing from last
            focusFirstElement = !isShift && lastLI.is(activeElement);
          // Focused element is not in the open accordion
          // Event for menu content won't bubble up so focusin should only be triggered if the user is entering the page content
          if (event.type == "focusin") {
            // check if it's before or after the first focusable element
            // jQuery will sort items in DOM order so we can tell
            var domOrder = firstLI.add(activeElement);
            // Default (only elements outside the open container will bubble up): Focus the last element
            focusFirstElement = false;
            focusLastElement = true;
  
            // Focused element is before first menu element: focus the first element
            //FF has the HTML document and <body> as  the active element for tabbing in and shift+tabbing in, respetively. Not a good way of distinguishing for this browser but we're preventing focus from getting lost at least
            // Chrome seems better at distinguishing
  
            // User is tabbing from address bar (or some other reason the browser considers the focused element first)
            if (domOrder.first().is(activeElement)) {
              focusFirstElement = true;
              focusLastElement = false;
            }
          }
  
          // Eventually allow shift+tab to go back to address bar instead
          if (focusLastElement) {
            focusElement = lastLI;
          } else if (focusFirstElement) {
            focusElement = firstLI;
          }
  
          // Escape: Close whatever's open
        } else if (keyCode == 27) {
          JHM.mobileMenu.toggleMobileMenu();
        }
        // Element to shift focus to: Do that
        if (focusElement.length) {
          event.preventDefault();
          focusElement.focus();
        } else {
          return true;
        }
      },
      toggleSubmenu: function toggleSubmenu(el) {
        var $button = $(el),
          $wrap = $button.closest('.mm-menu'),
          isBack = $button.is('.menu-panel-back');
        var $parent = $button.closest('.mm-panel'),
          $child = $("#".concat($button.data('target')));
        $button.on('click', function () {
          $wrap.height($parent.height());
          $parent.addClass('hasAnimation').removeClass('isActive').addClass('isInactive');
          $child.css('visibility', '').addClass('hasAnimation').removeClass('isInactive').addClass('isActive');
          JHM.mobileMenu.clickDirection = !isBack ? '=>' : '<=';
          JHM.mobileMenu.lastParent = isBack ? $wrap.find("[data-target=\"".concat($button.closest('.mm-panel').attr('id'), "\"]")).get(0) : false;
          setTimeout(function () {
            $wrap.height($child.height());
          }, 150);
          setTimeout(function () {
            JHM.mobileMenu.focusTraps[$parent.find('> .menu-panel-list').data('panel-order')].deactivate();
            JHM.mobileMenu.focusTraps[$child.find('> .menu-panel-list').data('panel-order')].activate();
          }, 300);
          setTimeout(function () {
            $child.removeClass('hasAnimation');
            $parent.removeClass('hasAnimation');
            $parent.removeClass('hasAnimation').css('visibility', 'hidden');
          }, 400);
        });
      }
    };
    JHM.init();
    module.exports.JHM = JHM;
    module.exports.mobileMenu = JHM.mobileMenu;
  };
  
  },{"focus-trap":8}],4:[function(require,module,exports){
  "use strict";
  
  //
  //   jsSocials share config
  //  _______________________________________________________
  
  // register print icon and functionality
  jsSocials.shares.print = {
    label: "print",
    logo: "fa fa-print",
    shareUrl: "window.print()",
    countUrl: "",
    getCount: function getCount(data) {}
  };
  
  // register follow icons and functionality
  jsSocials.shares.followFacebook = {
    label: "Follow on Facebook",
    logo: "fa fa-facebook",
    shareUrl: "https://www.facebook.com/Johns.Hopkins.Medicine",
    countUrl: "",
    getCount: function getCount(data) {}
  };
  jsSocials.shares.followTwitter = {
    label: "Follow on Twitter",
    logo: "fa fa-twitter",
    shareUrl: "https://twitter.com/HopkinsMedicine",
    countUrl: "",
    getCount: function getCount(data) {}
  };
  jsSocials.shares.followGoogle = {
    label: "Follow on Google+",
    logo: "fa fa-google-plus",
    shareUrl: "https://plus.google.com/+HopkinsmedicineOrg",
    countUrl: "",
    getCount: function getCount(data) {}
  };
  jsSocials.shares.followLinkedin = {
    label: "Follow on Linkedin",
    logo: "fa fa-linkedin",
    shareUrl: "https://www.linkedin.com/company/johns-hopkins-medicine",
    countUrl: "",
    getCount: function getCount(data) {}
  };
  jsSocials.shares.followYouTube = {
    label: "Follow on YouTube",
    logo: "fa fa-youtube-play",
    shareUrl: "https://www.youtube.com/user/JohnsHopkinsMedicine?sub_confirmation=1",
    countUrl: "",
    getCount: function getCount(data) {}
  };
  jsSocials.shares.followInstagram = {
    label: "Follow on Instagram",
    logo: "fa fa-instagram",
    shareUrl: "https://www.instagram.com/HopkinsMedicine/",
    countUrl: "",
    getCount: function getCount(data) {}
  };
  jsSocials.shares.followWeibo = {
    label: "Follow on Weibo",
    logo: "fa fa-weibo",
    shareUrl: "https://www.weibo.com/hopkinsmedicine",
    countUrl: "",
    getCount: function getCount(data) {}
  };
  module.exports.init = function () {
    // build share object
    $("#share").jsSocials({
      shares: [{
        share: 'facebook'
      }, {
        share: 'twitter'
      }, {
        share: 'googleplus'
      }, {
        share: 'linkedin'
      }, {
        share: 'pinterest',
        logo: 'fa fa-pinterest'
      }, {
        share: 'email',
        logo: 'fa fa-envelope-o'
      }, {
        share: 'print'
      }],
      showLabel: false
    });
  
    // build follow object
    $("#follow").jsSocials({
      shares: [{
        share: 'followFacebook',
        css: "jssocials-share-facebook"
      }, {
        share: 'followTwitter',
        css: "jssocials-share-twitter"
      }, {
        share: 'followLinkedin',
        css: "jssocials-share-linkedin"
      }, {
        share: 'followGoogle',
        css: "jssocials-share-googleplus"
      }, {
        share: 'followYouTube',
        css: "jssocials-share-youtube"
      }, {
        share: 'followInstagram',
        css: "jssocials-share-instagram"
      }, {
        share: 'followWeibo',
        css: "jssocials-share-weibo"
      }],
      showLabel: false
    });
  
    // build follow object
    $("#follow-footer").jsSocials({
      shares: [{
        share: 'followFacebook',
        css: "jssocials-share-facebook"
      }, {
        share: 'followTwitter',
        css: "jssocials-share-twitter"
      }, {
        share: 'followLinkedin',
        css: "jssocials-share-linkedin"
      }, {
        share: 'followInstagram',
        css: "jssocials-share-instagram"
      }, {
        share: 'followYouTube',
        css: "jssocials-share-youtube"
      }, {
        share: 'followWeibo',
        css: "jssocials-share-weibo"
      }],
      showLabel: true
    });
  
    //JSSOCIAL ACCESSIBILITY
    setTimeout(function () {
      // accessibility for share
      $('[id^="share"] .jssocials-share-link').attr('rel', 'noopener noreferrer');
      $('[id^="share"] .jssocials-share-logo').attr('aria-hidden', 'true');
      $('[id^="share"] .jssocials-share-facebook a').attr('aria-label', 'Share on Facebook');
      $('[id^="share"] .jssocials-share-twitter a').attr('aria-label', 'Share on Twitter');
      $('[id^="share"] .jssocials-share-googleplus a').attr('aria-label', 'Share on Google+');
      $('[id^="share"] .jssocials-share-linkedin a').attr('aria-label', 'Share on LinkedIn');
      $('[id^="share"] .jssocials-share-pinterest a').attr('aria-label', 'Share on Pinterest');
      $('[id^="share"] .jssocials-share-youtube a').attr('aria-label', 'Share on YouTube');
      $('[id^="share"] .jssocials-share-instagram a').attr('aria-label', 'Share on Instagram');
      $('[id^="share"] .jssocials-share-email a').attr('aria-label', 'Share via Email');
      $('[id^="share"] .jssocials-share-print a').attr('aria-label', 'Print this Article');
      $('[id^="share"] .jssocials-share-weibo a').attr('aria-label', 'Follow on Weibo');
  
      // accessibility for follow
      $('[id^="follow"] .jssocials-share-link').attr('rel', 'noopener noreferrer');
      $('[id^="follow"] .jssocials-share-logo').attr('aria-hidden', 'true');
      $('[id^="follow"] .jssocials-share-facebook a').attr('aria-label', 'Follow on Facebook');
      $('[id^="follow"] .jssocials-share-twitter a').attr('aria-label', 'Follow on Twitter');
      $('[id^="follow"] .jssocials-share-googleplus a').attr('aria-label', 'Follow on Google+');
      $('[id^="follow"] .jssocials-share-linkedin a').attr('aria-label', 'Follow on LinkedIn');
      $('[id^="follow"] .jssocials-share-pinterest a').attr('aria-label', 'Follow on Pinterest');
      $('[id^="follow"] .jssocials-share-youtube a').attr('aria-label', 'Follow on YouTube');
      $('[id^="follow"] .jssocials-share-instagram a').attr('aria-label', 'Follow on Instagram');
      $('[id^="follow"] .jssocials-share-weibo a').attr('aria-label', 'Follow on Weibo');
    }, 500);
  };
  
  },{}],5:[function(require,module,exports){
  "use strict";
  
  module.exports.init = function () {
    window.addEventListener('load', function (event) {
      var currentFocus;
      var searchWrapper = $('.site-search-bar'),
        searchForm = searchWrapper.find('.search'),
        autoComplete = searchForm.find('.autocomplete-container'),
        searchInput = searchWrapper.find('.search-input');
      var searchParams = new URLSearchParams(window.location.search);
      var param = searchParams.get('q');
      if (param !== null && param !== void 0 && param.length) {
        $(searchInput).val(param);
      }
      function addActive(x) {
        if (!x) return false;
        removeActive(x);
        if (currentFocus >= x.length) currentFocus = 0;
        if (currentFocus < 0) currentFocus = x.length - 1;
        x[currentFocus].classList.add("typeahead-active");
      }
      function removeActive(x) {
        for (var i = 0; i < x.length; i++) {
          x[i].classList.remove("typeahead-active");
        }
      }
      $(document).on('click', function (event) {
        if (!searchForm.is(event.target) && searchForm.has(event.target).length === 0) {
          $('.typeahead-items').remove();
        }
      });
      document.getElementById("site-search-input").addEventListener("keydown", function (e) {
        var x = $("#typeahead-list");
        if (x) x = x.find("li");
        if (e.keyCode == 40) {
          currentFocus++;
          addActive(x);
        } else if (e.keyCode == 38) {
          currentFocus--;
          addActive(x);
        } else if (e.keyCode == 13) {
          if (currentFocus > -1) {
            e.preventDefault();
            if (x) x[currentFocus].click();
            currentFocus = -1;
          }
        }
      });
      $(searchInput).on('input focus', function () {
        var query = $(this).val();
        $('.typeahead-items').remove();
        if (!query || !$(this).is(':focus')) {
          return false;
        }
        currentFocus = -1;
        $.ajaxSetup({
          headers: {
            'ocp-apim-subscription-key': '928b1a7214bb4d05adb797fdf36970eb'
          }
        });
        $.get("https://api.cognitive.microsoft.com/bingcustomsearch/v7.0/suggestions/search?customconfig=a02414b2-e710-4d05-b62f-9bb0b200268a&q=".concat(query), function (response) {
          if (!$(searchForm).has("ul").length) {
            $(autoComplete).append("<ul tabindex='0' id='typeahead-list' class='typeahead-items'></ul>");
          } else {
            $("#typeahead-list").empty();
          }
          var data = JSON.parse(response),
            suggestions = [];
          data.suggestionGroups.map(function (item) {
            item.searchSuggestions.slice(0, 8).map(function (suggestion) {
              if (!suggestions.includes(suggestion.displayText)) {
                suggestions.push(suggestion.displayText);
                var found = false;
                $(".typeahead-items li").each(function (id, elem) {
                  if (elem.innerText == suggestion.displayText) {
                    found = true;
                  }
                });
                if (!found) {
                  $('.typeahead-items').append("<li class=\"typeahead-suggestion\">".concat(suggestion.displayText, "</li>"));
                }
              }
            });
          });
          $('.typeahead-suggestion').on("click", function (e) {
            $(searchInput).val($(this).text());
            $('.typeahead-items').remove();
          });
        });
      });
    });
  };
  
  },{}],6:[function(require,module,exports){
  "use strict";
  
  /*! jssocials - v1.5.0 - 2017-04-30
  * http://js-socials.com
  * Copyright (c) 2017 Artem Tabalin; Licensed MIT */
  !function (a, b, c) {
    function d(a, c) {
      var d = b(a);
      d.data(f, this), this._$element = d, this.shares = [], this._init(c), this._render();
    }
    var e = "JSSocials",
      f = e,
      g = function g(a, c) {
        return b.isFunction(a) ? a.apply(c, b.makeArray(arguments).slice(2)) : a;
      },
      h = /(\.(jpeg|png|gif|bmp|svg)$|^data:image\/(jpeg|png|gif|bmp|svg\+xml);base64)/i,
      i = /(&?[a-zA-Z0-9]+=)?\{([a-zA-Z0-9]+)\}/g,
      j = {
        G: 1e9,
        M: 1e6,
        K: 1e3
      },
      k = {};
    d.prototype = {
      url: "",
      text: "",
      shareIn: "blank",
      showLabel: function showLabel(a) {
        return this.showCount === !1 ? a > this.smallScreenWidth : a >= this.largeScreenWidth;
      },
      showCount: function showCount(a) {
        return a <= this.smallScreenWidth ? "inside" : !0;
      },
      smallScreenWidth: 640,
      largeScreenWidth: 1024,
      resizeTimeout: 200,
      elementClass: "jssocials",
      sharesClass: "jssocials-shares",
      shareClass: "jssocials-share",
      shareButtonClass: "jssocials-share-button",
      shareLinkClass: "jssocials-share-link",
      shareLogoClass: "jssocials-share-logo",
      shareLabelClass: "jssocials-share-label",
      shareLinkCountClass: "jssocials-share-link-count",
      shareCountBoxClass: "jssocials-share-count-box",
      shareCountClass: "jssocials-share-count",
      shareZeroCountClass: "jssocials-share-no-count",
      _init: function _init(a) {
        this._initDefaults(), b.extend(this, a), this._initShares(), this._attachWindowResizeCallback();
      },
      _initDefaults: function _initDefaults() {
        this.url = a.location.href, this.text = b.trim(b("meta[name=description]").attr("content") || b("title").text());
      },
      _initShares: function _initShares() {
        this.shares = b.map(this.shares, b.proxy(function (a) {
          "string" == typeof a && (a = {
            share: a
          });
          var c = a.share && k[a.share];
          if (!c && !a.renderer) throw Error("Share '" + a.share + "' is not found");
          return b.extend({
            url: this.url,
            text: this.text
          }, c, a);
        }, this));
      },
      _attachWindowResizeCallback: function _attachWindowResizeCallback() {
        b(a).on("resize", b.proxy(this._windowResizeHandler, this));
      },
      _detachWindowResizeCallback: function _detachWindowResizeCallback() {
        b(a).off("resize", this._windowResizeHandler);
      },
      _windowResizeHandler: function _windowResizeHandler() {
        (b.isFunction(this.showLabel) || b.isFunction(this.showCount)) && (a.clearTimeout(this._resizeTimer), this._resizeTimer = setTimeout(b.proxy(this.refresh, this), this.resizeTimeout));
      },
      _render: function _render() {
        this._clear(), this._defineOptionsByScreen(), this._$element.addClass(this.elementClass), this._$shares = b("<div>").addClass(this.sharesClass).appendTo(this._$element), this._renderShares();
      },
      _defineOptionsByScreen: function _defineOptionsByScreen() {
        this._screenWidth = b(a).width(), this._showLabel = g(this.showLabel, this, this._screenWidth), this._showCount = g(this.showCount, this, this._screenWidth);
      },
      _renderShares: function _renderShares() {
        b.each(this.shares, b.proxy(function (a, b) {
          this._renderShare(b);
        }, this));
      },
      _renderShare: function _renderShare(a) {
        var c;
        c = b.isFunction(a.renderer) ? b(a.renderer()) : this._createShare(a), c.addClass(this.shareClass).addClass(a.share ? "jssocials-share-" + a.share : "").addClass(a.css).appendTo(this._$shares);
      },
      _createShare: function _createShare(a) {
        var c = b("<div>"),
          d = this._createShareLink(a).appendTo(c);
        if (this._showCount) {
          var e = "inside" === this._showCount,
            f = e ? d : b("<div>").addClass(this.shareCountBoxClass).appendTo(c);
          f.addClass(e ? this.shareLinkCountClass : this.shareCountBoxClass), this._renderShareCount(a, f);
        }
        return c;
      },
      _createShareLink: function _createShareLink(a) {
        var c = this._getShareStrategy(a),
          d = c.call(a, {
            shareUrl: this._getShareUrl(a)
          });
        return d.addClass(this.shareLinkClass).append(this._createShareLogo(a)), this._showLabel && d.append(this._createShareLabel(a)), b.each(this.on || {}, function (c, e) {
          b.isFunction(e) && d.on(c, b.proxy(e, a));
        }), d;
      },
      _getShareStrategy: function _getShareStrategy(a) {
        var b = m[a.shareIn || this.shareIn];
        if (!b) throw Error("Share strategy '" + this.shareIn + "' not found");
        return b;
      },
      _getShareUrl: function _getShareUrl(a) {
        var b = g(a.shareUrl, a);
        return this._formatShareUrl(b, a);
      },
      _createShareLogo: function _createShareLogo(a) {
        var c = a.logo,
          d = h.test(c) ? b("<img>").attr("src", a.logo) : b("<i>").addClass(c);
        return d.addClass(this.shareLogoClass), d;
      },
      _createShareLabel: function _createShareLabel(a) {
        return b("<span>").addClass(this.shareLabelClass).text(a.label);
      },
      _renderShareCount: function _renderShareCount(a, c) {
        var d = b("<span>").addClass(this.shareCountClass);
        c.addClass(this.shareZeroCountClass).append(d), this._loadCount(a).done(b.proxy(function (a) {
          a && (c.removeClass(this.shareZeroCountClass), d.text(a));
        }, this));
      },
      _loadCount: function _loadCount(a) {
        var c = b.Deferred(),
          d = this._getCountUrl(a);
        if (!d) return c.resolve(0).promise();
        var e = b.proxy(function (b) {
          c.resolve(this._getCountValue(b, a));
        }, this);
        return b.getJSON(d).done(e).fail(function () {
          b.get(d).done(e).fail(function () {
            c.resolve(0);
          });
        }), c.promise();
      },
      _getCountUrl: function _getCountUrl(a) {
        var b = g(a.countUrl, a);
        return this._formatShareUrl(b, a);
      },
      _getCountValue: function _getCountValue(a, c) {
        var d = (b.isFunction(c.getCount) ? c.getCount(a) : a) || 0;
        return "string" == typeof d ? d : this._formatNumber(d);
      },
      _formatNumber: function _formatNumber(a) {
        return b.each(j, function (b, c) {
          return a >= c ? (a = parseFloat((a / c).toFixed(2)) + b, !1) : void 0;
        }), a;
      },
      _formatShareUrl: function _formatShareUrl(b, c) {
        return b.replace(i, function (b, d, e) {
          var f = c[e] || "";
          return f ? (d || "") + a.encodeURIComponent(f) : "";
        });
      },
      _clear: function _clear() {
        a.clearTimeout(this._resizeTimer), this._$element.empty();
      },
      _passOptionToShares: function _passOptionToShares(a, c) {
        var d = this.shares;
        b.each(["url", "text"], function (e, f) {
          f === a && b.each(d, function (b, d) {
            d[a] = c;
          });
        });
      },
      _normalizeShare: function _normalizeShare(a) {
        return b.isNumeric(a) ? this.shares[a] : "string" == typeof a ? b.grep(this.shares, function (b) {
          return b.share === a;
        })[0] : a;
      },
      refresh: function refresh() {
        this._render();
      },
      destroy: function destroy() {
        this._clear(), this._detachWindowResizeCallback(), this._$element.removeClass(this.elementClass).removeData(f);
      },
      option: function option(a, b) {
        return 1 === arguments.length ? this[a] : (this[a] = b, this._passOptionToShares(a, b), void this.refresh());
      },
      shareOption: function shareOption(a, b, c) {
        return a = this._normalizeShare(a), 2 === arguments.length ? a[b] : (a[b] = c, void this.refresh());
      }
    }, b.fn.jsSocials = function (a) {
      var e = b.makeArray(arguments),
        g = e.slice(1),
        h = this;
      return this.each(function () {
        var e,
          i = b(this),
          j = i.data(f);
        if (j) {
          if ("string" == typeof a) {
            if (e = j[a].apply(j, g), e !== c && e !== j) return h = e, !1;
          } else j._detachWindowResizeCallback(), j._init(a), j._render();
        } else new d(i, a);
      }), h;
    };
    var l = function l(a) {
        var c;
        b.isPlainObject(a) ? c = d.prototype : (c = k[a], a = arguments[1] || {}), b.extend(c, a);
      },
      m = {
        popup: function popup(c) {
          return b("<a>").attr("href", "#").on("click", function () {
            return a.open(c.shareUrl, null, "width=600, height=400, location=0, menubar=0, resizeable=0, scrollbars=0, status=0, titlebar=0, toolbar=0"), !1;
          });
        },
        blank: function blank(a) {
          return b("<a>").attr({
            target: "_blank",
            href: a.shareUrl
          });
        },
        self: function self(a) {
          return b("<a>").attr({
            target: "_self",
            href: a.shareUrl
          });
        }
      };
    a.jsSocials = {
      Socials: d,
      shares: k,
      shareStrategies: m,
      setDefaults: l
    };
  }(window, jQuery), function (a, b, c) {
    b.extend(c.shares, {
      email: {
        label: "E-mail",
        logo: "fa fa-at",
        shareUrl: "mailto:{to}?subject={text}&body={url}",
        countUrl: "",
        shareIn: "self"
      },
      twitter: {
        label: "Tweet",
        logo: "fa fa-twitter",
        shareUrl: "https://twitter.com/intent/tweet?url={url}&text={text}&via={via}&hashtags={hashtags}",
        countUrl: ""
      },
      facebook: {
        label: "Like",
        logo: "fa fa-facebook",
        shareUrl: "https://facebook.com/sharer/sharer.php?u={url}",
        countUrl: "https://graph.facebook.com/?id={url}",
        getCount: function getCount(a) {
          return a.share && a.share.share_count || 0;
        }
      },
      vkontakte: {
        label: "Like",
        logo: "fa fa-vk",
        shareUrl: "https://vk.com/share.php?url={url}&title={title}&description={text}",
        countUrl: "https://vk.com/share.php?act=count&index=1&url={url}",
        getCount: function getCount(a) {
          return parseInt(a.slice(15, -2).split(", ")[1]);
        }
      },
      googleplus: {
        label: "+1",
        logo: "fa fa-google",
        shareUrl: "https://plus.google.com/share?url={url}",
        countUrl: ""
      },
      linkedin: {
        label: "Share",
        logo: "fa fa-linkedin",
        shareUrl: "https://www.linkedin.com/shareArticle?mini=true&url={url}",
        countUrl: "https://www.linkedin.com/countserv/count/share?format=jsonp&url={url}&callback=?",
        getCount: function getCount(a) {
          return a.count;
        }
      },
      pinterest: {
        label: "Pin it",
        logo: "fa fa-pinterest",
        shareUrl: "https://pinterest.com/pin/create/bookmarklet/?media={media}&url={url}&description={text}",
        countUrl: "https://api.pinterest.com/v1/urls/count.json?&url={url}&callback=?",
        getCount: function getCount(a) {
          return a.count;
        }
      },
      stumbleupon: {
        label: "Share",
        logo: "fa fa-stumbleupon",
        shareUrl: "http://www.stumbleupon.com/submit?url={url}&title={title}",
        countUrl: "https://cors-anywhere.herokuapp.com/https://www.stumbleupon.com/services/1.01/badge.getinfo?url={url}",
        getCount: function getCount(a) {
          return a.result && a.result.views;
        }
      },
      telegram: {
        label: "Telegram",
        logo: "fa fa-telegram",
        shareUrl: "tg://msg?text={url} {text}",
        countUrl: "",
        shareIn: "self"
      },
      whatsapp: {
        label: "WhatsApp",
        logo: "fa fa-whatsapp",
        shareUrl: "whatsapp://send?text={url} {text}",
        countUrl: "",
        shareIn: "self"
      },
      line: {
        label: "LINE",
        logo: "fa fa-comment",
        shareUrl: "http://line.me/R/msg/text/?{text} {url}",
        countUrl: ""
      },
      viber: {
        label: "Viber",
        logo: "fa fa-volume-control-phone",
        shareUrl: "viber://forward?text={url} {text}",
        countUrl: "",
        shareIn: "self"
      },
      pocket: {
        label: "Pocket",
        logo: "fa fa-get-pocket",
        shareUrl: "https://getpocket.com/save?url={url}&title={title}",
        countUrl: ""
      },
      messenger: {
        label: "Share",
        logo: "fa fa-commenting",
        shareUrl: "fb-messenger://share?link={url}",
        countUrl: "",
        shareIn: "self"
      },
      rss: {
        label: "RSS",
        logo: "fa fa-rss",
        shareUrl: "/feeds/",
        countUrl: "",
        shareIn: "blank"
      }
    });
  }(window, jQuery, window.jsSocials);
  
  },{}],7:[function(require,module,exports){
  "use strict";
  
  /*
    FrontEndSrc/_js/profiles-header.js
  
    A subset of the Sitecore JS (only what's needed for the header and footer) to be used by the standalone Profiles app, which will soon be pulling its header and footer HTML from Sitecore.
  */
  
  require('./_custom/_autocomplete');
  require('./_lib/jssocials.min.js');
  var _jhm = require('./_custom/_jhm');
  var _siteSearchBar = require('./_custom/_site-search-bar');
  var _jsSocials = require('./_custom/_jsSocials');
  var _accordion = require('./_custom/_accordion');
  (function () {
    _jhm.init();
    _jsSocials.init();
    _accordion.init('.accordion-group.emergency-banner');
    if ($('.site-search-bar').length > 0) {
      _siteSearchBar.init();
    }
  })();
  
  },{"./_custom/_accordion":1,"./_custom/_autocomplete":2,"./_custom/_jhm":3,"./_custom/_jsSocials":4,"./_custom/_site-search-bar":5,"./_lib/jssocials.min.js":6}],8:[function(require,module,exports){
  /*!
  * focus-trap 6.9.4
  * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
  */
  'use strict';
  
  Object.defineProperty(exports, '__esModule', {
    value: true
  });
  var tabbable = require('tabbable');
  function ownKeys(object, enumerableOnly) {
    var keys = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function (sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys.push.apply(keys, symbols);
    }
    return keys;
  }
  function _objectSpread2(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
        _defineProperty(target, key, source[key]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
        Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
      });
    }
    return target;
  }
  function _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;
  }
  var activeFocusTraps = function () {
    var trapQueue = [];
    return {
      activateTrap: function activateTrap(trap) {
        if (trapQueue.length > 0) {
          var activeTrap = trapQueue[trapQueue.length - 1];
          if (activeTrap !== trap) {
            activeTrap.pause();
          }
        }
        var trapIndex = trapQueue.indexOf(trap);
        if (trapIndex === -1) {
          trapQueue.push(trap);
        } else {
          // move this existing trap to the front of the queue
          trapQueue.splice(trapIndex, 1);
          trapQueue.push(trap);
        }
      },
      deactivateTrap: function deactivateTrap(trap) {
        var trapIndex = trapQueue.indexOf(trap);
        if (trapIndex !== -1) {
          trapQueue.splice(trapIndex, 1);
        }
        if (trapQueue.length > 0) {
          trapQueue[trapQueue.length - 1].unpause();
        }
      }
    };
  }();
  var isSelectableInput = function isSelectableInput(node) {
    return node.tagName && node.tagName.toLowerCase() === 'input' && typeof node.select === 'function';
  };
  var isEscapeEvent = function isEscapeEvent(e) {
    return e.key === 'Escape' || e.key === 'Esc' || e.keyCode === 27;
  };
  var isTabEvent = function isTabEvent(e) {
    return e.key === 'Tab' || e.keyCode === 9;
  };
  var delay = function delay(fn) {
    return setTimeout(fn, 0);
  }; // Array.find/findIndex() are not supported on IE; this replicates enough
  //  of Array.findIndex() for our needs
  
  var findIndex = function findIndex(arr, fn) {
    var idx = -1;
    arr.every(function (value, i) {
      if (fn(value)) {
        idx = i;
        return false; // break
      }
  
      return true; // next
    });
  
    return idx;
  };
  /**
   * Get an option's value when it could be a plain value, or a handler that provides
   *  the value.
   * @param {*} value Option's value to check.
   * @param {...*} [params] Any parameters to pass to the handler, if `value` is a function.
   * @returns {*} The `value`, or the handler's returned value.
   */
  
  var valueOrHandler = function valueOrHandler(value) {
    for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
      params[_key - 1] = arguments[_key];
    }
    return typeof value === 'function' ? value.apply(void 0, params) : value;
  };
  var getActualTarget = function getActualTarget(event) {
    // NOTE: If the trap is _inside_ a shadow DOM, event.target will always be the
    //  shadow host. However, event.target.composedPath() will be an array of
    //  nodes "clicked" from inner-most (the actual element inside the shadow) to
    //  outer-most (the host HTML document). If we have access to composedPath(),
    //  then use its first element; otherwise, fall back to event.target (and
    //  this only works for an _open_ shadow DOM; otherwise,
    //  composedPath()[0] === event.target always).
    return event.target.shadowRoot && typeof event.composedPath === 'function' ? event.composedPath()[0] : event.target;
  };
  var createFocusTrap = function createFocusTrap(elements, userOptions) {
    // SSR: a live trap shouldn't be created in this type of environment so this
    //  should be safe code to execute if the `document` option isn't specified
    var doc = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.document) || document;
    var config = _objectSpread2({
      returnFocusOnDeactivate: true,
      escapeDeactivates: true,
      delayInitialFocus: true
    }, userOptions);
    var state = {
      // containers given to createFocusTrap()
      // @type {Array<HTMLElement>}
      containers: [],
      // list of objects identifying tabbable nodes in `containers` in the trap
      // NOTE: it's possible that a group has no tabbable nodes if nodes get removed while the trap
      //  is active, but the trap should never get to a state where there isn't at least one group
      //  with at least one tabbable node in it (that would lead to an error condition that would
      //  result in an error being thrown)
      // @type {Array<{
      //   container: HTMLElement,
      //   tabbableNodes: Array<HTMLElement>, // empty if none
      //   focusableNodes: Array<HTMLElement>, // empty if none
      //   firstTabbableNode: HTMLElement|null,
      //   lastTabbableNode: HTMLElement|null,
      //   nextTabbableNode: (node: HTMLElement, forward: boolean) => HTMLElement|undefined
      // }>}
      containerGroups: [],
      // same order/length as `containers` list
      // references to objects in `containerGroups`, but only those that actually have
      //  tabbable nodes in them
      // NOTE: same order as `containers` and `containerGroups`, but __not necessarily__
      //  the same length
      tabbableGroups: [],
      nodeFocusedBeforeActivation: null,
      mostRecentlyFocusedNode: null,
      active: false,
      paused: false,
      // timer ID for when delayInitialFocus is true and initial focus in this trap
      //  has been delayed during activation
      delayInitialFocusTimer: undefined
    };
    var trap; // eslint-disable-line prefer-const -- some private functions reference it, and its methods reference private functions, so we must declare here and define later
  
    /**
     * Gets a configuration option value.
     * @param {Object|undefined} configOverrideOptions If true, and option is defined in this set,
     *  value will be taken from this object. Otherwise, value will be taken from base configuration.
     * @param {string} optionName Name of the option whose value is sought.
     * @param {string|undefined} [configOptionName] Name of option to use __instead of__ `optionName`
     *  IIF `configOverrideOptions` is not defined. Otherwise, `optionName` is used.
     */
  
    var getOption = function getOption(configOverrideOptions, optionName, configOptionName) {
      return configOverrideOptions && configOverrideOptions[optionName] !== undefined ? configOverrideOptions[optionName] : config[configOptionName || optionName];
    };
    /**
     * Finds the index of the container that contains the element.
     * @param {HTMLElement} element
     * @returns {number} Index of the container in either `state.containers` or
     *  `state.containerGroups` (the order/length of these lists are the same); -1
     *  if the element isn't found.
     */
  
    var findContainerIndex = function findContainerIndex(element) {
      // NOTE: search `containerGroups` because it's possible a group contains no tabbable
      //  nodes, but still contains focusable nodes (e.g. if they all have `tabindex=-1`)
      //  and we still need to find the element in there
      return state.containerGroups.findIndex(function (_ref) {
        var container = _ref.container,
          tabbableNodes = _ref.tabbableNodes;
        return container.contains(element) ||
        // fall back to explicit tabbable search which will take into consideration any
        //  web components if the `tabbableOptions.getShadowRoot` option was used for
        //  the trap, enabling shadow DOM support in tabbable (`Node.contains()` doesn't
        //  look inside web components even if open)
        tabbableNodes.find(function (node) {
          return node === element;
        });
      });
    };
    /**
     * Gets the node for the given option, which is expected to be an option that
     *  can be either a DOM node, a string that is a selector to get a node, `false`
     *  (if a node is explicitly NOT given), or a function that returns any of these
     *  values.
     * @param {string} optionName
     * @returns {undefined | false | HTMLElement | SVGElement} Returns
     *  `undefined` if the option is not specified; `false` if the option
     *  resolved to `false` (node explicitly not given); otherwise, the resolved
     *  DOM node.
     * @throws {Error} If the option is set, not `false`, and is not, or does not
     *  resolve to a node.
     */
  
    var getNodeForOption = function getNodeForOption(optionName) {
      var optionValue = config[optionName];
      if (typeof optionValue === 'function') {
        for (var _len2 = arguments.length, params = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
          params[_key2 - 1] = arguments[_key2];
        }
        optionValue = optionValue.apply(void 0, params);
      }
      if (optionValue === true) {
        optionValue = undefined; // use default value
      }
  
      if (!optionValue) {
        if (optionValue === undefined || optionValue === false) {
          return optionValue;
        } // else, empty string (invalid), null (invalid), 0 (invalid)
  
        throw new Error("`".concat(optionName, "` was specified but was not a node, or did not return a node"));
      }
      var node = optionValue; // could be HTMLElement, SVGElement, or non-empty string at this point
  
      if (typeof optionValue === 'string') {
        node = doc.querySelector(optionValue); // resolve to node, or null if fails
  
        if (!node) {
          throw new Error("`".concat(optionName, "` as selector refers to no known node"));
        }
      }
      return node;
    };
    var getInitialFocusNode = function getInitialFocusNode() {
      var node = getNodeForOption('initialFocus'); // false explicitly indicates we want no initialFocus at all
  
      if (node === false) {
        return false;
      }
      if (node === undefined) {
        // option not specified: use fallback options
        if (findContainerIndex(doc.activeElement) >= 0) {
          node = doc.activeElement;
        } else {
          var firstTabbableGroup = state.tabbableGroups[0];
          var firstTabbableNode = firstTabbableGroup && firstTabbableGroup.firstTabbableNode; // NOTE: `fallbackFocus` option function cannot return `false` (not supported)
  
          node = firstTabbableNode || getNodeForOption('fallbackFocus');
        }
      }
      if (!node) {
        throw new Error('Your focus-trap needs to have at least one focusable element');
      }
      return node;
    };
    var updateTabbableNodes = function updateTabbableNodes() {
      state.containerGroups = state.containers.map(function (container) {
        var tabbableNodes = tabbable.tabbable(container, config.tabbableOptions); // NOTE: if we have tabbable nodes, we must have focusable nodes; focusable nodes
        //  are a superset of tabbable nodes
  
        var focusableNodes = tabbable.focusable(container, config.tabbableOptions);
        return {
          container: container,
          tabbableNodes: tabbableNodes,
          focusableNodes: focusableNodes,
          firstTabbableNode: tabbableNodes.length > 0 ? tabbableNodes[0] : null,
          lastTabbableNode: tabbableNodes.length > 0 ? tabbableNodes[tabbableNodes.length - 1] : null,
          /**
           * Finds the __tabbable__ node that follows the given node in the specified direction,
           *  in this container, if any.
           * @param {HTMLElement} node
           * @param {boolean} [forward] True if going in forward tab order; false if going
           *  in reverse.
           * @returns {HTMLElement|undefined} The next tabbable node, if any.
           */
          nextTabbableNode: function nextTabbableNode(node) {
            var forward = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
            // NOTE: If tabindex is positive (in order to manipulate the tab order separate
            //  from the DOM order), this __will not work__ because the list of focusableNodes,
            //  while it contains tabbable nodes, does not sort its nodes in any order other
            //  than DOM order, because it can't: Where would you place focusable (but not
            //  tabbable) nodes in that order? They have no order, because they aren't tabbale...
            // Support for positive tabindex is already broken and hard to manage (possibly
            //  not supportable, TBD), so this isn't going to make things worse than they
            //  already are, and at least makes things better for the majority of cases where
            //  tabindex is either 0/unset or negative.
            // FYI, positive tabindex issue: https://github.com/focus-trap/focus-trap/issues/375
            var nodeIdx = focusableNodes.findIndex(function (n) {
              return n === node;
            });
            if (nodeIdx < 0) {
              return undefined;
            }
            if (forward) {
              return focusableNodes.slice(nodeIdx + 1).find(function (n) {
                return tabbable.isTabbable(n, config.tabbableOptions);
              });
            }
            return focusableNodes.slice(0, nodeIdx).reverse().find(function (n) {
              return tabbable.isTabbable(n, config.tabbableOptions);
            });
          }
        };
      });
      state.tabbableGroups = state.containerGroups.filter(function (group) {
        return group.tabbableNodes.length > 0;
      }); // throw if no groups have tabbable nodes and we don't have a fallback focus node either
  
      if (state.tabbableGroups.length <= 0 && !getNodeForOption('fallbackFocus') // returning false not supported for this option
      ) {
        throw new Error('Your focus-trap must have at least one container with at least one tabbable node in it at all times');
      }
    };
    var tryFocus = function tryFocus(node) {
      if (node === false) {
        return;
      }
      if (node === doc.activeElement) {
        return;
      }
      if (!node || !node.focus) {
        tryFocus(getInitialFocusNode());
        return;
      }
      node.focus({
        preventScroll: !!config.preventScroll
      });
      state.mostRecentlyFocusedNode = node;
      if (isSelectableInput(node)) {
        node.select();
      }
    };
    var getReturnFocusNode = function getReturnFocusNode(previousActiveElement) {
      var node = getNodeForOption('setReturnFocus', previousActiveElement);
      return node ? node : node === false ? false : previousActiveElement;
    }; // This needs to be done on mousedown and touchstart instead of click
    // so that it precedes the focus event.
  
    var checkPointerDown = function checkPointerDown(e) {
      var target = getActualTarget(e);
      if (findContainerIndex(target) >= 0) {
        // allow the click since it ocurred inside the trap
        return;
      }
      if (valueOrHandler(config.clickOutsideDeactivates, e)) {
        // immediately deactivate the trap
        trap.deactivate({
          // if, on deactivation, we should return focus to the node originally-focused
          //  when the trap was activated (or the configured `setReturnFocus` node),
          //  then assume it's also OK to return focus to the outside node that was
          //  just clicked, causing deactivation, as long as that node is focusable;
          //  if it isn't focusable, then return focus to the original node focused
          //  on activation (or the configured `setReturnFocus` node)
          // NOTE: by setting `returnFocus: false`, deactivate() will do nothing,
          //  which will result in the outside click setting focus to the node
          //  that was clicked, whether it's focusable or not; by setting
          //  `returnFocus: true`, we'll attempt to re-focus the node originally-focused
          //  on activation (or the configured `setReturnFocus` node)
          returnFocus: config.returnFocusOnDeactivate && !tabbable.isFocusable(target, config.tabbableOptions)
        });
        return;
      } // This is needed for mobile devices.
      // (If we'll only let `click` events through,
      // then on mobile they will be blocked anyways if `touchstart` is blocked.)
  
      if (valueOrHandler(config.allowOutsideClick, e)) {
        // allow the click outside the trap to take place
        return;
      } // otherwise, prevent the click
  
      e.preventDefault();
    }; // In case focus escapes the trap for some strange reason, pull it back in.
  
    var checkFocusIn = function checkFocusIn(e) {
      var target = getActualTarget(e);
      var targetContained = findContainerIndex(target) >= 0; // In Firefox when you Tab out of an iframe the Document is briefly focused.
  
      if (targetContained || target instanceof Document) {
        if (targetContained) {
          state.mostRecentlyFocusedNode = target;
        }
      } else {
        // escaped! pull it back in to where it just left
        e.stopImmediatePropagation();
        tryFocus(state.mostRecentlyFocusedNode || getInitialFocusNode());
      }
    }; // Hijack Tab events on the first and last focusable nodes of the trap,
    // in order to prevent focus from escaping. If it escapes for even a
    // moment it can end up scrolling the page and causing confusion so we
    // kind of need to capture the action at the keydown phase.
  
    var checkTab = function checkTab(e) {
      var target = getActualTarget(e);
      updateTabbableNodes();
      var destinationNode = null;
      if (state.tabbableGroups.length > 0) {
        // make sure the target is actually contained in a group
        // NOTE: the target may also be the container itself if it's focusable
        //  with tabIndex='-1' and was given initial focus
        var containerIndex = findContainerIndex(target);
        var containerGroup = containerIndex >= 0 ? state.containerGroups[containerIndex] : undefined;
        if (containerIndex < 0) {
          // target not found in any group: quite possible focus has escaped the trap,
          //  so bring it back in to...
          if (e.shiftKey) {
            // ...the last node in the last group
            destinationNode = state.tabbableGroups[state.tabbableGroups.length - 1].lastTabbableNode;
          } else {
            // ...the first node in the first group
            destinationNode = state.tabbableGroups[0].firstTabbableNode;
          }
        } else if (e.shiftKey) {
          // REVERSE
          // is the target the first tabbable node in a group?
          var startOfGroupIndex = findIndex(state.tabbableGroups, function (_ref2) {
            var firstTabbableNode = _ref2.firstTabbableNode;
            return target === firstTabbableNode;
          });
          if (startOfGroupIndex < 0 && (containerGroup.container === target || tabbable.isFocusable(target, config.tabbableOptions) && !tabbable.isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target, false))) {
            // an exception case where the target is either the container itself, or
            //  a non-tabbable node that was given focus (i.e. tabindex is negative
            //  and user clicked on it or node was programmatically given focus)
            //  and is not followed by any other tabbable node, in which
            //  case, we should handle shift+tab as if focus were on the container's
            //  first tabbable node, and go to the last tabbable node of the LAST group
            startOfGroupIndex = containerIndex;
          }
          if (startOfGroupIndex >= 0) {
            // YES: then shift+tab should go to the last tabbable node in the
            //  previous group (and wrap around to the last tabbable node of
            //  the LAST group if it's the first tabbable node of the FIRST group)
            var destinationGroupIndex = startOfGroupIndex === 0 ? state.tabbableGroups.length - 1 : startOfGroupIndex - 1;
            var destinationGroup = state.tabbableGroups[destinationGroupIndex];
            destinationNode = destinationGroup.lastTabbableNode;
          }
        } else {
          // FORWARD
          // is the target the last tabbable node in a group?
          var lastOfGroupIndex = findIndex(state.tabbableGroups, function (_ref3) {
            var lastTabbableNode = _ref3.lastTabbableNode;
            return target === lastTabbableNode;
          });
          if (lastOfGroupIndex < 0 && (containerGroup.container === target || tabbable.isFocusable(target, config.tabbableOptions) && !tabbable.isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target))) {
            // an exception case where the target is the container itself, or
            //  a non-tabbable node that was given focus (i.e. tabindex is negative
            //  and user clicked on it or node was programmatically given focus)
            //  and is not followed by any other tabbable node, in which
            //  case, we should handle tab as if focus were on the container's
            //  last tabbable node, and go to the first tabbable node of the FIRST group
            lastOfGroupIndex = containerIndex;
          }
          if (lastOfGroupIndex >= 0) {
            // YES: then tab should go to the first tabbable node in the next
            //  group (and wrap around to the first tabbable node of the FIRST
            //  group if it's the last tabbable node of the LAST group)
            var _destinationGroupIndex = lastOfGroupIndex === state.tabbableGroups.length - 1 ? 0 : lastOfGroupIndex + 1;
            var _destinationGroup = state.tabbableGroups[_destinationGroupIndex];
            destinationNode = _destinationGroup.firstTabbableNode;
          }
        }
      } else {
        // NOTE: the fallbackFocus option does not support returning false to opt-out
        destinationNode = getNodeForOption('fallbackFocus');
      }
      if (destinationNode) {
        e.preventDefault();
        tryFocus(destinationNode);
      } // else, let the browser take care of [shift+]tab and move the focus
    };
  
    var checkKey = function checkKey(e) {
      if (isEscapeEvent(e) && valueOrHandler(config.escapeDeactivates, e) !== false) {
        e.preventDefault();
        trap.deactivate();
        return;
      }
      if (isTabEvent(e)) {
        checkTab(e);
        return;
      }
    };
    var checkClick = function checkClick(e) {
      var target = getActualTarget(e);
      if (findContainerIndex(target) >= 0) {
        return;
      }
      if (valueOrHandler(config.clickOutsideDeactivates, e)) {
        return;
      }
      if (valueOrHandler(config.allowOutsideClick, e)) {
        return;
      }
      e.preventDefault();
      e.stopImmediatePropagation();
    }; //
    // EVENT LISTENERS
    //
  
    var addListeners = function addListeners() {
      if (!state.active) {
        return;
      } // There can be only one listening focus trap at a time
  
      activeFocusTraps.activateTrap(trap); // Delay ensures that the focused element doesn't capture the event
      // that caused the focus trap activation.
  
      state.delayInitialFocusTimer = config.delayInitialFocus ? delay(function () {
        tryFocus(getInitialFocusNode());
      }) : tryFocus(getInitialFocusNode());
      doc.addEventListener('focusin', checkFocusIn, true);
      doc.addEventListener('mousedown', checkPointerDown, {
        capture: true,
        passive: false
      });
      doc.addEventListener('touchstart', checkPointerDown, {
        capture: true,
        passive: false
      });
      doc.addEventListener('click', checkClick, {
        capture: true,
        passive: false
      });
      doc.addEventListener('keydown', checkKey, {
        capture: true,
        passive: false
      });
      return trap;
    };
    var removeListeners = function removeListeners() {
      if (!state.active) {
        return;
      }
      doc.removeEventListener('focusin', checkFocusIn, true);
      doc.removeEventListener('mousedown', checkPointerDown, true);
      doc.removeEventListener('touchstart', checkPointerDown, true);
      doc.removeEventListener('click', checkClick, true);
      doc.removeEventListener('keydown', checkKey, true);
      return trap;
    }; //
    // TRAP DEFINITION
    //
  
    trap = {
      get active() {
        return state.active;
      },
      get paused() {
        return state.paused;
      },
      activate: function activate(activateOptions) {
        if (state.active) {
          return this;
        }
        var onActivate = getOption(activateOptions, 'onActivate');
        var onPostActivate = getOption(activateOptions, 'onPostActivate');
        var checkCanFocusTrap = getOption(activateOptions, 'checkCanFocusTrap');
        if (!checkCanFocusTrap) {
          updateTabbableNodes();
        }
        state.active = true;
        state.paused = false;
        state.nodeFocusedBeforeActivation = doc.activeElement;
        if (onActivate) {
          onActivate();
        }
        var finishActivation = function finishActivation() {
          if (checkCanFocusTrap) {
            updateTabbableNodes();
          }
          addListeners();
          if (onPostActivate) {
            onPostActivate();
          }
        };
        if (checkCanFocusTrap) {
          checkCanFocusTrap(state.containers.concat()).then(finishActivation, finishActivation);
          return this;
        }
        finishActivation();
        return this;
      },
      deactivate: function deactivate(deactivateOptions) {
        if (!state.active) {
          return this;
        }
        var options = _objectSpread2({
          onDeactivate: config.onDeactivate,
          onPostDeactivate: config.onPostDeactivate,
          checkCanReturnFocus: config.checkCanReturnFocus
        }, deactivateOptions);
        clearTimeout(state.delayInitialFocusTimer); // noop if undefined
  
        state.delayInitialFocusTimer = undefined;
        removeListeners();
        state.active = false;
        state.paused = false;
        activeFocusTraps.deactivateTrap(trap);
        var onDeactivate = getOption(options, 'onDeactivate');
        var onPostDeactivate = getOption(options, 'onPostDeactivate');
        var checkCanReturnFocus = getOption(options, 'checkCanReturnFocus');
        var returnFocus = getOption(options, 'returnFocus', 'returnFocusOnDeactivate');
        if (onDeactivate) {
          onDeactivate();
        }
        var finishDeactivation = function finishDeactivation() {
          delay(function () {
            if (returnFocus) {
              tryFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation));
            }
            if (onPostDeactivate) {
              onPostDeactivate();
            }
          });
        };
        if (returnFocus && checkCanReturnFocus) {
          checkCanReturnFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation)).then(finishDeactivation, finishDeactivation);
          return this;
        }
        finishDeactivation();
        return this;
      },
      pause: function pause() {
        if (state.paused || !state.active) {
          return this;
        }
        state.paused = true;
        removeListeners();
        return this;
      },
      unpause: function unpause() {
        if (!state.paused || !state.active) {
          return this;
        }
        state.paused = false;
        updateTabbableNodes();
        addListeners();
        return this;
      },
      updateContainerElements: function updateContainerElements(containerElements) {
        var elementsAsArray = [].concat(containerElements).filter(Boolean);
        state.containers = elementsAsArray.map(function (element) {
          return typeof element === 'string' ? doc.querySelector(element) : element;
        });
        if (state.active) {
          updateTabbableNodes();
        }
        return this;
      }
    }; // initialize container elements
  
    trap.updateContainerElements(elements);
    return trap;
  };
  exports.createFocusTrap = createFocusTrap;
  
  },{"tabbable":9}],9:[function(require,module,exports){
  /*!
  * tabbable 5.3.3
  * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
  */
  'use strict';
  
  Object.defineProperty(exports, '__esModule', {
    value: true
  });
  var candidateSelectors = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]:not(slot)', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable="false"])', 'details>summary:first-of-type', 'details'];
  var candidateSelector = /* #__PURE__ */candidateSelectors.join(',');
  var NoElement = typeof Element === 'undefined';
  var matches = NoElement ? function () {} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
  var getRootNode = !NoElement && Element.prototype.getRootNode ? function (element) {
    return element.getRootNode();
  } : function (element) {
    return element.ownerDocument;
  };
  /**
   * @param {Element} el container to check in
   * @param {boolean} includeContainer add container to check
   * @param {(node: Element) => boolean} filter filter candidates
   * @returns {Element[]}
   */
  
  var getCandidates = function getCandidates(el, includeContainer, filter) {
    var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));
    if (includeContainer && matches.call(el, candidateSelector)) {
      candidates.unshift(el);
    }
    candidates = candidates.filter(filter);
    return candidates;
  };
  /**
   * @callback GetShadowRoot
   * @param {Element} element to check for shadow root
   * @returns {ShadowRoot|boolean} ShadowRoot if available or boolean indicating if a shadowRoot is attached but not available.
   */
  
  /**
   * @callback ShadowRootFilter
   * @param {Element} shadowHostNode the element which contains shadow content
   * @returns {boolean} true if a shadow root could potentially contain valid candidates.
   */
  
  /**
   * @typedef {Object} CandidatesScope
   * @property {Element} scope contains inner candidates
   * @property {Element[]} candidates
   */
  
  /**
   * @typedef {Object} IterativeOptions
   * @property {GetShadowRoot|boolean} getShadowRoot true if shadow support is enabled; falsy if not;
   *  if a function, implies shadow support is enabled and either returns the shadow root of an element
   *  or a boolean stating if it has an undisclosed shadow root
   * @property {(node: Element) => boolean} filter filter candidates
   * @property {boolean} flatten if true then result will flatten any CandidatesScope into the returned list
   * @property {ShadowRootFilter} shadowRootFilter filter shadow roots;
   */
  
  /**
   * @param {Element[]} elements list of element containers to match candidates from
   * @param {boolean} includeContainer add container list to check
   * @param {IterativeOptions} options
   * @returns {Array.<Element|CandidatesScope>}
   */
  
  var getCandidatesIteratively = function getCandidatesIteratively(elements, includeContainer, options) {
    var candidates = [];
    var elementsToCheck = Array.from(elements);
    while (elementsToCheck.length) {
      var element = elementsToCheck.shift();
      if (element.tagName === 'SLOT') {
        // add shadow dom slot scope (slot itself cannot be focusable)
        var assigned = element.assignedElements();
        var content = assigned.length ? assigned : element.children;
        var nestedCandidates = getCandidatesIteratively(content, true, options);
        if (options.flatten) {
          candidates.push.apply(candidates, nestedCandidates);
        } else {
          candidates.push({
            scope: element,
            candidates: nestedCandidates
          });
        }
      } else {
        // check candidate element
        var validCandidate = matches.call(element, candidateSelector);
        if (validCandidate && options.filter(element) && (includeContainer || !elements.includes(element))) {
          candidates.push(element);
        } // iterate over shadow content if possible
  
        var shadowRoot = element.shadowRoot ||
        // check for an undisclosed shadow
        typeof options.getShadowRoot === 'function' && options.getShadowRoot(element);
        var validShadowRoot = !options.shadowRootFilter || options.shadowRootFilter(element);
        if (shadowRoot && validShadowRoot) {
          // add shadow dom scope IIF a shadow root node was given; otherwise, an undisclosed
          //  shadow exists, so look at light dom children as fallback BUT create a scope for any
          //  child candidates found because they're likely slotted elements (elements that are
          //  children of the web component element (which has the shadow), in the light dom, but
          //  slotted somewhere _inside_ the undisclosed shadow) -- the scope is created below,
          //  _after_ we return from this recursive call
          var _nestedCandidates = getCandidatesIteratively(shadowRoot === true ? element.children : shadowRoot.children, true, options);
          if (options.flatten) {
            candidates.push.apply(candidates, _nestedCandidates);
          } else {
            candidates.push({
              scope: element,
              candidates: _nestedCandidates
            });
          }
        } else {
          // there's not shadow so just dig into the element's (light dom) children
          //  __without__ giving the element special scope treatment
          elementsToCheck.unshift.apply(elementsToCheck, element.children);
        }
      }
    }
    return candidates;
  };
  var getTabindex = function getTabindex(node, isScope) {
    if (node.tabIndex < 0) {
      // in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default
      // `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,
      // yet they are still part of the regular tab order; in FF, they get a default
      // `tabIndex` of 0; since Chrome still puts those elements in the regular tab
      // order, consider their tab index to be 0.
      // Also browsers do not return `tabIndex` correctly for contentEditable nodes;
      // so if they don't have a tabindex attribute specifically set, assume it's 0.
      //
      // isScope is positive for custom element with shadow root or slot that by default
      // have tabIndex -1, but need to be sorted by document order in order for their
      // content to be inserted in the correct position
      if ((isScope || /^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName) || node.isContentEditable) && isNaN(parseInt(node.getAttribute('tabindex'), 10))) {
        return 0;
      }
    }
    return node.tabIndex;
  };
  var sortOrderedTabbables = function sortOrderedTabbables(a, b) {
    return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex;
  };
  var isInput = function isInput(node) {
    return node.tagName === 'INPUT';
  };
  var isHiddenInput = function isHiddenInput(node) {
    return isInput(node) && node.type === 'hidden';
  };
  var isDetailsWithSummary = function isDetailsWithSummary(node) {
    var r = node.tagName === 'DETAILS' && Array.prototype.slice.apply(node.children).some(function (child) {
      return child.tagName === 'SUMMARY';
    });
    return r;
  };
  var getCheckedRadio = function getCheckedRadio(nodes, form) {
    for (var i = 0; i < nodes.length; i++) {
      if (nodes[i].checked && nodes[i].form === form) {
        return nodes[i];
      }
    }
  };
  var isTabbableRadio = function isTabbableRadio(node) {
    if (!node.name) {
      return true;
    }
    var radioScope = node.form || getRootNode(node);
    var queryRadios = function queryRadios(name) {
      return radioScope.querySelectorAll('input[type="radio"][name="' + name + '"]');
    };
    var radioSet;
    if (typeof window !== 'undefined' && typeof window.CSS !== 'undefined' && typeof window.CSS.escape === 'function') {
      radioSet = queryRadios(window.CSS.escape(node.name));
    } else {
      try {
        radioSet = queryRadios(node.name);
      } catch (err) {
        // eslint-disable-next-line no-console
        console.error('Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s', err.message);
        return false;
      }
    }
    var checked = getCheckedRadio(radioSet, node.form);
    return !checked || checked === node;
  };
  var isRadio = function isRadio(node) {
    return isInput(node) && node.type === 'radio';
  };
  var isNonTabbableRadio = function isNonTabbableRadio(node) {
    return isRadio(node) && !isTabbableRadio(node);
  };
  var isZeroArea = function isZeroArea(node) {
    var _node$getBoundingClie = node.getBoundingClientRect(),
      width = _node$getBoundingClie.width,
      height = _node$getBoundingClie.height;
    return width === 0 && height === 0;
  };
  var isHidden = function isHidden(node, _ref) {
    var displayCheck = _ref.displayCheck,
      getShadowRoot = _ref.getShadowRoot;
  
    // NOTE: visibility will be `undefined` if node is detached from the document
    //  (see notes about this further down), which means we will consider it visible
    //  (this is legacy behavior from a very long way back)
    // NOTE: we check this regardless of `displayCheck="none"` because this is a
    //  _visibility_ check, not a _display_ check
    if (getComputedStyle(node).visibility === 'hidden') {
      return true;
    }
    var isDirectSummary = matches.call(node, 'details>summary:first-of-type');
    var nodeUnderDetails = isDirectSummary ? node.parentElement : node;
    if (matches.call(nodeUnderDetails, 'details:not([open]) *')) {
      return true;
    } // The root node is the shadow root if the node is in a shadow DOM; some document otherwise
    //  (but NOT _the_ document; see second 'If' comment below for more).
    // If rootNode is shadow root, it'll have a host, which is the element to which the shadow
    //  is attached, and the one we need to check if it's in the document or not (because the
    //  shadow, and all nodes it contains, is never considered in the document since shadows
    //  behave like self-contained DOMs; but if the shadow's HOST, which is part of the document,
    //  is hidden, or is not in the document itself but is detached, it will affect the shadow's
    //  visibility, including all the nodes it contains). The host could be any normal node,
    //  or a custom element (i.e. web component). Either way, that's the one that is considered
    //  part of the document, not the shadow root, nor any of its children (i.e. the node being
    //  tested).
    // If rootNode is not a shadow root, it won't have a host, and so rootNode should be the
    //  document (per the docs) and while it's a Document-type object, that document does not
    //  appear to be the same as the node's `ownerDocument` for some reason, so it's safer
    //  to ignore the rootNode at this point, and use `node.ownerDocument`. Otherwise,
    //  using `rootNode.contains(node)` will _always_ be true we'll get false-positives when
    //  node is actually detached.
  
    var nodeRootHost = getRootNode(node).host;
    var nodeIsAttached = (nodeRootHost === null || nodeRootHost === void 0 ? void 0 : nodeRootHost.ownerDocument.contains(nodeRootHost)) || node.ownerDocument.contains(node);
    if (!displayCheck || displayCheck === 'full') {
      if (typeof getShadowRoot === 'function') {
        // figure out if we should consider the node to be in an undisclosed shadow and use the
        //  'non-zero-area' fallback
        var originalNode = node;
        while (node) {
          var parentElement = node.parentElement;
          var rootNode = getRootNode(node);
          if (parentElement && !parentElement.shadowRoot && getShadowRoot(parentElement) === true // check if there's an undisclosed shadow
          ) {
            // node has an undisclosed shadow which means we can only treat it as a black box, so we
            //  fall back to a non-zero-area test
            return isZeroArea(node);
          } else if (node.assignedSlot) {
            // iterate up slot
            node = node.assignedSlot;
          } else if (!parentElement && rootNode !== node.ownerDocument) {
            // cross shadow boundary
            node = rootNode.host;
          } else {
            // iterate up normal dom
            node = parentElement;
          }
        }
        node = originalNode;
      } // else, `getShadowRoot` might be true, but all that does is enable shadow DOM support
      //  (i.e. it does not also presume that all nodes might have undisclosed shadows); or
      //  it might be a falsy value, which means shadow DOM support is disabled
      // Since we didn't find it sitting in an undisclosed shadow (or shadows are disabled)
      //  now we can just test to see if it would normally be visible or not, provided it's
      //  attached to the main document.
      // NOTE: We must consider case where node is inside a shadow DOM and given directly to
      //  `isTabbable()` or `isFocusable()` -- regardless of `getShadowRoot` option setting.
  
      if (nodeIsAttached) {
        // this works wherever the node is: if there's at least one client rect, it's
        //  somehow displayed; it also covers the CSS 'display: contents' case where the
        //  node itself is hidden in place of its contents; and there's no need to search
        //  up the hierarchy either
        return !node.getClientRects().length;
      } // Else, the node isn't attached to the document, which means the `getClientRects()`
      //  API will __always__ return zero rects (this can happen, for example, if React
      //  is used to render nodes onto a detached tree, as confirmed in this thread:
      //  https://github.com/facebook/react/issues/9117#issuecomment-284228870)
      //
      // It also means that even window.getComputedStyle(node).display will return `undefined`
      //  because styles are only computed for nodes that are in the document.
      //
      // NOTE: THIS HAS BEEN THE CASE FOR YEARS. It is not new, nor is it caused by tabbable
      //  somehow. Though it was never stated officially, anyone who has ever used tabbable
      //  APIs on nodes in detached containers has actually implicitly used tabbable in what
      //  was later (as of v5.2.0 on Apr 9, 2021) called `displayCheck="none"` mode -- essentially
      //  considering __everything__ to be visible because of the innability to determine styles.
    } else if (displayCheck === 'non-zero-area') {
      // NOTE: Even though this tests that the node's client rect is non-zero to determine
      //  whether it's displayed, and that a detached node will __always__ have a zero-area
      //  client rect, we don't special-case for whether the node is attached or not. In
      //  this mode, we do want to consider nodes that have a zero area to be hidden at all
      //  times, and that includes attached or not.
      return isZeroArea(node);
    } // visible, as far as we can tell, or per current `displayCheck` mode
  
    return false;
  }; // form fields (nested) inside a disabled fieldset are not focusable/tabbable
  //  unless they are in the _first_ <legend> element of the top-most disabled
  //  fieldset
  
  var isDisabledFromFieldset = function isDisabledFromFieldset(node) {
    if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(node.tagName)) {
      var parentNode = node.parentElement; // check if `node` is contained in a disabled <fieldset>
  
      while (parentNode) {
        if (parentNode.tagName === 'FIELDSET' && parentNode.disabled) {
          // look for the first <legend> among the children of the disabled <fieldset>
          for (var i = 0; i < parentNode.children.length; i++) {
            var child = parentNode.children.item(i); // when the first <legend> (in document order) is found
  
            if (child.tagName === 'LEGEND') {
              // if its parent <fieldset> is not nested in another disabled <fieldset>,
              // return whether `node` is a descendant of its first <legend>
              return matches.call(parentNode, 'fieldset[disabled] *') ? true : !child.contains(node);
            }
          } // the disabled <fieldset> containing `node` has no <legend>
  
          return true;
        }
        parentNode = parentNode.parentElement;
      }
    } // else, node's tabbable/focusable state should not be affected by a fieldset's
    //  enabled/disabled state
  
    return false;
  };
  var isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable(options, node) {
    if (node.disabled || isHiddenInput(node) || isHidden(node, options) ||
    // For a details element with a summary, the summary element gets the focus
    isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {
      return false;
    }
    return true;
  };
  var isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable(options, node) {
    if (isNonTabbableRadio(node) || getTabindex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) {
      return false;
    }
    return true;
  };
  var isValidShadowRootTabbable = function isValidShadowRootTabbable(shadowHostNode) {
    var tabIndex = parseInt(shadowHostNode.getAttribute('tabindex'), 10);
    if (isNaN(tabIndex) || tabIndex >= 0) {
      return true;
    } // If a custom element has an explicit negative tabindex,
    // browsers will not allow tab targeting said element's children.
  
    return false;
  };
  /**
   * @param {Array.<Element|CandidatesScope>} candidates
   * @returns Element[]
   */
  
  var sortByOrder = function sortByOrder(candidates) {
    var regularTabbables = [];
    var orderedTabbables = [];
    candidates.forEach(function (item, i) {
      var isScope = !!item.scope;
      var element = isScope ? item.scope : item;
      var candidateTabindex = getTabindex(element, isScope);
      var elements = isScope ? sortByOrder(item.candidates) : element;
      if (candidateTabindex === 0) {
        isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element);
      } else {
        orderedTabbables.push({
          documentOrder: i,
          tabIndex: candidateTabindex,
          item: item,
          isScope: isScope,
          content: elements
        });
      }
    });
    return orderedTabbables.sort(sortOrderedTabbables).reduce(function (acc, sortable) {
      sortable.isScope ? acc.push.apply(acc, sortable.content) : acc.push(sortable.content);
      return acc;
    }, []).concat(regularTabbables);
  };
  var tabbable = function tabbable(el, options) {
    options = options || {};
    var candidates;
    if (options.getShadowRoot) {
      candidates = getCandidatesIteratively([el], options.includeContainer, {
        filter: isNodeMatchingSelectorTabbable.bind(null, options),
        flatten: false,
        getShadowRoot: options.getShadowRoot,
        shadowRootFilter: isValidShadowRootTabbable
      });
    } else {
      candidates = getCandidates(el, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));
    }
    return sortByOrder(candidates);
  };
  var focusable = function focusable(el, options) {
    options = options || {};
    var candidates;
    if (options.getShadowRoot) {
      candidates = getCandidatesIteratively([el], options.includeContainer, {
        filter: isNodeMatchingSelectorFocusable.bind(null, options),
        flatten: true,
        getShadowRoot: options.getShadowRoot
      });
    } else {
      candidates = getCandidates(el, options.includeContainer, isNodeMatchingSelectorFocusable.bind(null, options));
    }
    return candidates;
  };
  var isTabbable = function isTabbable(node, options) {
    options = options || {};
    if (!node) {
      throw new Error('No node provided');
    }
    if (matches.call(node, candidateSelector) === false) {
      return false;
    }
    return isNodeMatchingSelectorTabbable(options, node);
  };
  var focusableCandidateSelector = /* #__PURE__ */candidateSelectors.concat('iframe').join(',');
  var isFocusable = function isFocusable(node, options) {
    options = options || {};
    if (!node) {
      throw new Error('No node provided');
    }
    if (matches.call(node, focusableCandidateSelector) === false) {
      return false;
    }
    return isNodeMatchingSelectorFocusable(options, node);
  };
  exports.focusable = focusable;
  exports.isFocusable = isFocusable;
  exports.isTabbable = isTabbable;
  exports.tabbable = tabbable;
  
  },{}]},{},[7])
  
  //# sourceMappingURL=profiles-header.js.map
  ;
var filterAccordion = {
    init: function () {
        jQuery('#more-search-opts').off('click').click(filterAccordion.toggle);
    },

    toggle: function (event) {

        event.preventDefault();
        var button = jQuery(event.target).closest('button, #more-search-opts'),
            expandedNewValue = (button.attr('aria-expanded') == 'false'),
            panel = button.next("#more-search-opts-content");

        button.toggleClass('active').attr('aria-expanded', expandedNewValue);



        panel.slideToggle('fast');
    }

};

(function ($) {
    $(function () {
        // more search options
        var moreSearchTrigger = $('#more-search-opts'),
            moreSearchItems = $('#more-search-opts-content');

        moreSearchItems.hide();
        moreSearchTrigger.attr('aria-expanded', false);

        // Filter accordion in profile
        filterAccordion.init();
    });
}($));


(function ($) {
        $.ui.menu.prototype._isDivider = function () { return false; }
        $('#query').autocomplete({
            delay: 300,
            minLength: 2,
            appendTo: $('#profilesSearchForm .main-wrap'),

            // Use Ajax to set up a "success" function.
            source: function (request, response) {
                var baseUrl = getBaseURL();
                var controllerUrl = baseUrl + "/AutoCompleteAndSuggestAsync?term=" + $("#query").val();
                $.ajax({
                    url: controllerUrl,
                    dataType: "json",
                    success: function (data) {
                        if (data && (data.length > 0) && (data[0] != "")) {
                            data.shift();
                            response($.map(data, function (item) {
                                var object = new Object();
                                object.value = item;
                                return object;
                            }));
                        }
                        /*
                        if (data && data.length > 0) {

                            // Show the autocomplete suggestion.
                            document.getElementById("profilesSearchTypeAhead").innerHTML = data[0];

                            // Remove the top suggestion as it is used for inline autocomplete.
                            var array = new Array();
                            for (var n = 1; n < data.length; n++) {
                                array[n - 1] = data[n];
                            }

                            // Show the drop-down list of suggestions.
                            response(array);
                        } else {

                            // Nothing is returned, so clear the autocomplete suggestion.
                            document.getElementById("profilesSearchTypeAhead").innerHTML = "";
                        }
                        */
                    }
                });
            }
        }).focus(function () {
            $(this).autocomplete('search');
        }).bind("autocompleteopen", function (event, ui) {
            $(this).addClass('auto');
        }).bind("autocompleteclose", function (event, ui) {
            $(this).removeClass('auto');
        });

        // Complete on TAB.
        // Clear on ESC.
        // Clear if backspace to less than 2 characters.
        // Clear if any arrow key hit as user is navigating the suggestions.
        /*
        $("#query").keydown(function (evt) {

            var suggestedText = document.getElementById("profilesSearchTypeAhead").innerHTML;
            if (evt.keyCode === 9 && suggestedText.length > 0) {
                $("#query").val(suggestedText);
                return false;
            } else if (evt.keyCode === 27) {
                document.getElementById("profilesSearchTypeAhead").innerHTML = "";
                $("#query").val("");
            } else if (evt.keyCode === 8) {
                if ($("#query").val().length < 2) {
                    document.getElementById("profilesSearchTypeAhead").innerHTML = "";
                }
            } else if (evt.keyCode >= 37 && evt.keyCode <= 40) {
                document.getElementById("profilesSearchTypeAhead").innerHTML = "";
            }
        });

        // Character replace function.
        function setCharAt(str, index, chr) {
            if (index > str.length - 1) return str;
            return str.substr(0, index) + chr + str.substr(index + 1);
        }

        // This function is needed to clear the "profilesSearchTypeAhead" text when the user clicks on a suggestion, and to
        // correct the case of the autocomplete option when it does not match the case of the user input.
        // The interval function is activated with the input, blur, change, or focus events.
        $("#query").on("input blur change focus",
            function (e) {

                // Set a 2 second interval duration.
                var intervalDuration = 6000,
                    interval = setInterval(function () {

                        // Compare the autocorrect suggestion with the actual typed string.
                        var inputText = document.getElementById("query").value;
                        var autoText = document.getElementById("profilesSearchTypeAhead").innerHTML;

                        // If the typed string is longer than the suggestion, then clear the suggestion.
                        if (inputText.length > autoText.length) {
                            document.getElementById("profilesSearchTypeAhead").innerHTML = "";
                        } else {

                            // If the strings match, change the case of the suggestion to match the case of the typed input.
                            if (autoText.toLowerCase().startsWith(inputText.toLowerCase())) {
                                for (var n = 0; n < inputText.length; n++) {
                                    autoText = setCharAt(autoText, n, inputText[n]);
                                }
                                document.getElementById("profilesSearchTypeAhead").innerHTML = autoText;

                            } else {
                                // The strings do not match, so clear the suggestion.
                                document.getElementById("profilesSearchTypeAhead").innerHTML = "";
                            }
                        }

                        // If the element loses focus, stop the interval checking.
                        //if (!$input.is(':focus')) clearInterval(interval);

                    },
                        intervalDuration);
            });
            */

        function getBaseURL() {
            var loc = window.location;
            var baseURL = loc.protocol + "//" + loc.hostname;
            if (typeof loc.port !== "undefined" && loc.port !== "") baseURL += ":" + loc.port;
            // strip leading /
            var pathname = loc.pathname;
            if (pathname.length > 0 && pathname.substr(0, 1) === "/") pathname = pathname.substr(1, pathname.length - 1);
            
            var pathParts = pathname.split("/");
            if (pathParts.length  >0) {
                for (var i = 0; i < pathParts.length; i++) {
                    if (pathParts[i] !== "" && pathParts[i].toLowerCase() !== 'search') {
                        baseURL += "/" + pathParts[i];
                    }
                }
            }
            return baseURL;
        }

})($);

;
(function ($) {
	
	/// To eventually be replaced by/consolidated with template-level JS
	document.addEventListener("DOMContentLoaded", function () {
		YouTubeVideos.init();
	});
	/// <summary>Load YouTube iframe on click, load iframe title. To eventually be replaced with template-level JS</summary>
	var YouTubeVideos = {
		iframeAPIReady: false,
		init: function () {
			var div;
			var n;
            var v = document.querySelectorAll(".youtube-player button.youtube-thumb");

            if (!window.playerList) {
                window.playerList = [];
            }

			for (n = 0; n < v.length; n++) {
				// Get the button
				var button = v[n];
				// As far as I know there's no particular reason we can't do this in the module code
				// I think the reason it was built that way in the original  Labnol version is to simplify the HTML that editors have to generate, but that's not a problem here

				button.addEventListener('click', YouTubeVideos.loadIframe, false);
				button.videoId = button.getAttribute("data-video-id");



			}
			if (v.length) {
				window.onYouTubeIframeAPIReady = function () {
					YouTubeVideos.iframeAPIReady = true;

				}
			}
		},
		playerReady: function(event, player) {
            player.getIframe().setAttribute('title', player.getVideoData().title + " (Video)");
            if (!window.playerList.includes(player)) {
                window.playerList.push(player);
            }
        },
        onPlayerStateChange: function (event, player) {
            if (event.data == YT.PlayerState.PLAYING) {
                for (var i = 0; i < window.playerList.length; i++) {
                    if (window.playerList[i].getVideoUrl() != event.target.getVideoUrl()) {
                        window.playerList[i].pauseVideo();
                    }
                }
            }
        },
		loadIframe:function(event) {
            var videoDiv = event.target.closest('.youtube-player'),
			focusContainer = event.target.closest('[tabindex="-1"]'),
			iframe = document.createElement("iframe"),
                embed = "https://www.youtube-nocookie.com/embed/" + this.videoId + "?enablejsapi=1&rel=0&autoplay=1";

			iframe.setAttribute("src", embed);
			iframe.setAttribute("frameborder", "0");
			iframe.setAttribute("allowfullscreen", "1");
			iframe.setAttribute("autoplay", "1");
			iframe.setAttribute("allow", "autoplay");

			var button = event.target.closest(".youtube-thumb"),
				playerId = button.getAttribute('data-player-id');
			iframe.setAttribute('id', playerId);
			videoDiv.appendChild(iframe);

			if (YouTubeVideos.iframeAPIReady) {
                player = new YT.Player(playerId, {
                    videoId: this.videoId,
					events: {
						'onReady': function (event) {
							YouTubeVideos.playerReady(event, player);
                        },
                        'onStateChange': function (event) {
                            YouTubeVideos.onPlayerStateChange(event, player);
                        }
					}
				});
			}
			focusContainer.focus();
			button.remove();


		}

	}
	



    $('#locations-container .loc-map').eq(0).show();
}($));

(function ($) {
    // dat base namespaces
    if (typeof jhmJSMain == 'undefined' || typeof jhmJSMain != 'function') {
        function jhmJSMain() { }
    };
    if (typeof jhmJSMain.jhmPhotobooksInt == 'undefined' || typeof jhmJSMain.jhmPhotobooksInt != 'function') {
        jhmJSMain.jhmPhotobooksInt = function () { }
    };




     




    jhmJSMain.jhmPhotobooksInt.setProfileLayout = function () {

        $('.read-more-toggle').on('click', function (e) {
            var $el = $(e.target),
                $readMoreText = $el.closest('.read-more-wrapper').find('.read-more-text-hidden, .read-more-text-show');
            e.preventDefault();
            if ($readMoreText.hasClass('read-more-text-hidden')) {
                $readMoreText.removeClass('read-more-text-hidden').addClass('read-more-text-show');
                $el.text('...read less');
            } else {
                $readMoreText.removeClass('read-more-text-show').addClass('read-more-text-hidden');
                $el.text('...read more');
            }
        });

        var $bioCont = $('.biography-text');
        if ($bioCont.length > 0) {
            var $sidebar = $('.biography .side-column');
            var lineHeight = 31.5,
                bioHeight = 195,
                bioMaxHeight = 250,
                bioContHeight = $bioCont.height();
            if ($sidebar && $sidebar.height() > bioHeight) {
                bioHeight = $sidebar.height();
                bioHeight = Math.floor(bioHeight / lineHeight) * lineHeight;
                bioMaxHeight = bioHeight + (lineHeight * 2);
            }
            if (bioMaxHeight < bioContHeight) {
                $bioCont.height(bioHeight);
                $('.biography-button').show();
                $('.biography-button').on('click', function (e) {
                    if ($bioCont.hasClass('expanded')) {
                        $bioCont.animate({
                            'height': bioHeight
                        }).removeClass('expanded');
                        $('.biography-button').text('...read more');
                    } else {
                        $bioCont.animate({
                            'height': bioContHeight
                        }).addClass('expanded');
                        $('.biography-button').text('...read less');
                    }
                    e.preventDefault();
                });
            }
        } 1

        // This has a dependency on bootstrap's .affix & scrollSpy
        $(function () {
            var $learnMoreDiv = $("#affix");
            var $navContainerDiv = $('.nav-container'),
                scrollThreshold = 0;
            $('body').attr('data-spy', 'scroll').attr('data-target', '#affix').attr('data-offset', '64');
            $learnMoreDiv.attr('data-spy', 'affix');
            // Anchor links (including those in the detail nav and the docscores comments link at the top)
            $('a[href*="#"]').not('[href="#"]').on('click', function () {
                if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {
                    var targetSection = $(this.hash),
                        navButton = $('.profile-wrapper nav button'),
                        isDesktopNav = window.matchMedia('(min-width: 50.0625rem)').matches,
                        headerHeight = (isDesktopNav) ? $("#affix").outerHeight() : $("#profile-menu-heading").outerHeight();
                    targetSection = targetSection.length ? targetSection : $('[name=' + this.hash.slice(1) + ']');
                   
                    if (targetSection.length) {
                        window.JHM.accordions.changeAccordionState(navButton, window.JHM.accordions.toggleParentClass, 'false');
                        // Do this after closing the accordion so we don't need to account for the open menu when determining where to scroll
                        var top = targetSection.offset().top - headerHeight;

                        // Nav is not currently sticky, but will become sticky while scrolling to the new section
                        if ($learnMoreDiv.hasClass('static-top') && top > $learnMoreDiv.data("top")) {
                            var navParent = $learnMoreDiv.parent(),
                                // When the nav is in position: fixed, the top and bottom margins of the parent get collapsed (the smaller of the two is removed)
                                collapsedMargin = Math.min(parseInt(navParent.css('margin-top')), parseInt(navParent.css('margin-bottom')));
                            // Adjust the offset to account for the margin that was collapsed, and the header becoming sticky
                            top -= (headerHeight + collapsedMargin);
                        }
                        // Focus before closing nav, don't scroll immediately after focus (because we're smooth scrolling)
                        targetSection.find('h2, h3').first()[0].focus({ preventScroll: true });
                        
                        
                        
						
                        
                        $('html, body').animate({
                            scrollTop: top
                        }, 1000, 'swing');
                        return false;
                    }
                }
            });

            if ($('#affix').length) {
                $learnMoreDiv.data("top", $navContainerDiv.offset().top + $navContainerDiv.height());
                $(window).on('resize load', function () {
                    $learnMoreDiv.data("top", $navContainerDiv.offset().top + $navContainerDiv.height());
                });
                $(window).on('scroll load', (function () {

                    if ($(window).scrollTop() > $learnMoreDiv.data("top")) {
                        $learnMoreDiv.addClass('fixed-top');
                        $learnMoreDiv.removeClass('static-top');
                        //$learnMoreDiv.css({'position': 'fixed', 'top': '0', 'width': '100%'}); 
                    } else {
                        //$learnMoreDiv.css({'position': 'static', 'top': 'auto', 'width': '100%'});
                        $learnMoreDiv.removeClass('fixed-top');
                        $learnMoreDiv.addClass('static-top');
                    }
                }));
            }
        });
        if ($('#affix').length && $('#affix').affix) {
            $('#affix').affix({
                offset: {
                    top: function () {
                        return (this.top = $('.personal').outerHeight(true) + ('.appointment').outerHeight(true))
                    }
                }
            });
        }

    };




  






    $(function () {
     


      
        if (jQuery('.faculty-modal-wrapper').length > 0) {
            jhmJSMain.jhmPhotobooksInt.setProfileLayout();
        }

    });

})(jQuery);;
(function () { 
	window.docScoresLoader = {
		currentPage: 1,
		totalResults: 0,
		// How many results are currently showing; used to set focus to the first new comment when user clicks View More
		currentResultsShown: 0,
		resultsPerPage: 3,

		numberOfPages: 0,
		// Used for initial API call
		baseUrl: 'https://www.docscores.com/widget/api/org-profile/johns-hopkins/npi/',
		// URL to use next time a request is sent (API responses that include reviews also include the URL for requesting the subsequent page's data)
	
		commentsNextRequest: {},
		viewMoreButton: {},
		commentContainer: {},
		commentsSection: {},
		loadingIndicator: {},
		summarySelector: '.ds-summary',
		init: function () {
			docScoresLoader.commentsSection = $("#Comments");
			// If the doctor has comments/ratings, there will be a comments section
			if (docScoresLoader.commentsSection.length) {
				docScoresLoader.viewMoreButton = $('.ds-comments-more-link');
				docScoresLoader.loadingIndicator = $("#loading-text");
				docScoresLoader.commentContainer = $("#comments-list");
			
				docScoresLoader.commentsNextRequest = $("#next-docscores-request-url");
				docScoresLoader.commentsNextRequest.val('');
				docScoresLoader.viewMoreButton.off('click').click(docScoresLoader.loadMoreComments);
				docScoresLoader.getComments(false);

			} else  {
				docScoresLoader.loadSummaries();
			}
		
		},
	
		loadSummaries: function() {

			var summaries = $(docScoresLoader.summarySelector);
			for (var n = 0; n < summaries.length; n++) {
				var summary = $(summaries.get(n)),
					url = docScoresLoader.getRequestUrl(summary.attr('data-ds-id'));
				docScoresLoader.getData(docScoresLoader.handleSummariesData, url, summary);
			}
		},
		handleSummariesData: function (data, summary) {
			if (data.valid) {
				var content = docScoresLoader.template(docScoresLoader.summaryContent, data.profile, docScoresLoader.summaryHtml);
				summary.html(content);
			}
		
		},
		// Data that will be shown in individual comments
		commentContent: ['rating', 'formattedPublishDate', 'bodyForDisplay'],
		summaryContent: ['averageStarRatingStr','averageRatingStr', 'reviewCountStr', 'bodyCountStr', 'bodycount'],
		summaryHtml: [
			'<div> <span class="stars ds-stars ds-stars{{averageStarRatingStr}}"> </span> </div>',
			'<div class="xofy average-wrapper"> <span class="average">{{averageRatingStr}}</span> <span class="average-max"> out of 5</span> </div>',
			'<div class="ratings-comments"> <div class="ratings"> <span class="rating-count"> {{reviewCountStr}}</span> </div>',
			'<div class="comments commentamount-{{bodycount}}"> <span class="comment-divider">|</span>',
			'<span class="comment-count loaded"> <span class="nolink-comments">{{bodyCountStr}}</span></span> </div> </div>'
		].join(''),

		commentHtml:  [
			'<li class="ds-comment comment">',
			'<div class="ds-lcol">',
			'<span class="ds-stars ds-stars{{rating}}" aria-hidden="true"></span><span class="sr-only">{{rating}} stars</span>',
			'<span class="ds-date date">{{formattedPublishDate}}</span><span class="author">Johns Hopkins Medicine Patient</span>',
			'</div>',
			'<div class="ds-rcol">',
			'<p class="ds-body ds-body-full">{{bodyForDisplay}}</p>',
			'</div>',
			'</div>',
			'<div class="ds-clear"></li>',
			''
		].join(''),
		/* 
			template

			Enter data in template HTML
			Returns HTML containing the data for that item

			contentItems (array of strings): should correspond to the key of each data property that needs to be included in the HTML
			dataItem (object): data to use as content (must contain properties with keys corresponidng to contentItems)
			templateHtml (string): HTML with placeholders that match the content of contentItems/properties in dataItem.
				placeholders should be surrounded by {{double brackets}}

		 */
		template: function (contentItems, dataItem, templateHtml) {
		
			for (var n = 0; n < contentItems.length; n++) {
				var reg = new RegExp("{{" + contentItems[n] + "}}", 'ig');
				templateHtml = templateHtml.replace(reg, dataItem[contentItems[n]]);
			}
			return templateHtml;

		},
		loadMoreComments: function () {
			docScoresLoader.getComments(true);
		},
		/* 
			displayComments

			Show comments in the HTML, then manage focus (if applicable)
			reviews: array (from the response data)
			isUserInitiated: whether user clicked the view more button (as opposed to loading content on page load)
		 */
		displayComments: function (reviews, isUserInitiated) {
			var commentsHtml = '';
			for (var n = 0; n < reviews.length; n++) {
				commentsHtml += docScoresLoader.template(docScoresLoader.commentContent, reviews[n], docScoresLoader.commentHtml);
			
			}
			docScoresLoader.commentContainer.append(commentsHtml);
			if (docScoresLoader.currentPage < docScoresLoader.numberOfPages) {
				docScoresLoader.viewMoreButton.show();
		
			} 
			// If user clicked view more, manage focus (don't want to move focus after loading just the initial results)
			if (isUserInitiated) {
				// Set focus to the first new comment
				$(docScoresLoader.commentContainer.children().get(docScoresLoader.currentResultsShown)).attr('tabindex', -1).focus();

			}
			// Last page of results, and content loaded before the view more button could be hidden
			if (docScoresLoader.currentPage == docScoresLoader.numberOfPages && docScoresLoader.viewMoreButton.is(':visible')) {
				docScoresLoader.viewMoreButton.hide();
			}
		
		
		
		
			docScoresLoader.loadingIndicator.hide();

			docScoresLoader.currentResultsShown = docScoresLoader.commentContainer.children().length;


		},
		handleCommentsData: function (data, isUserInitiated, focusLoadingTimeout) {
			clearTimeout(focusLoadingTimeout);
			if (data.valid) {
				docScoresLoader.numberOfPages = data.reviewMeta.numberOfPages;
				docScoresLoader.currentPage = data.reviewMeta.pageNum;
			
			
				docScoresLoader.commentsNextRequest.val(data.reviewMeta.moreUrl);

				docScoresLoader.displayComments(data.reviews, isUserInitiated);

				if (!isUserInitiated) {
					docScoresLoader.commentsSection.show();
				} 
			} else if (isUserInitiated) {

			}
		},
	
		getComments: function (isUserInitiated) {
		
			var focusLoadingTimeout = 0;
			if (isUserInitiated) {
				// 5-year-old NVDA bug where it won't announce a change of focus if the relative position of the item focus is moved to is the same as the position of the item it was moved from
				// 
				focusLoadingTimeout = setTimeout(function () {
					docScoresLoader.loadingIndicator.show();
					docScoresLoader.loadingIndicator.focus();
					docScoresLoader.viewMoreButton.hide();
				
				}, 150);
			
			}
		
			var requestUrlFieldValue = docScoresLoader.commentsNextRequest.val(),
				requestUrl = (requestUrlFieldValue && requestUrlFieldValue != "") ? requestUrlFieldValue : this.getRequestUrl($('[data-ds-id]').attr("data-ds-id"), docScoresLoader.resultsPerPage);
			docScoresLoader.getData(docScoresLoader.handleCommentsData, requestUrl, isUserInitiated, focusLoadingTimeout);
		
		},

		getRequestUrl: function (providerNPI, numberOfComments) {
			numberOfComments = (numberOfComments === undefined) ? 0 : numberOfComments;
			return docScoresLoader.baseUrl + providerNPI + '/' + numberOfComments + '?jsonp=?';
		},

		getData: function (callback, requestUrl) {
			// Any additional arguments (after callback, requestUrl) will be sent to the callback along with data
			var callbackArgs = Array.prototype.slice.apply(arguments, [2]);
			$.ajax({
				url: requestUrl,
				method: 'GET',
				dataType: 'jsonp',
				success: function (data, textStatus, xhrJQ) {

				
					// Pass the data along with the rest of the callback arguments
					Array.prototype.unshift.apply(callbackArgs, [data]);
				
					callback.apply(docScoresLoader, callbackArgs);



				},
				error: function (xhrJQ, textStatus, errorThrown) {
					docScoresLoader.commentContainer.append('<li tabindex="-1">Sorry, comments are currently unavailable</li>');
					if (isUserInitiated) {
						docScoresLoader.commentContainer.children().last().focus();
					}

					docScoresLoader.loadingIndicator.hide();
				}
			});
		}
	};
})();;
/*
  This file contains the Ratings.MD widget override functions
  that construct the HTML markup for the widget's content
*/

window.JH_RMD = {

    /* ================================================================================= */
    /* Stars Markup Utility */
    /* -- Customizations --
          1.) The stars markup is using a div and span tags instead of a ul and li tags
          2.) The stars include aria-hidden set to true
          3.) The wrapping div includes an aria-label
     */
    buildStarsMarkup: function (rating, ctx) {
        let icon = 'rmdicon-';
        let classes = ctx.buildStarClasses(rating, icon + 'star-full', icon + 'star-empty', icon + 'star-half');
        let html = [];

        html.push('<div class="ratingsmd-star-list">');

        for (let i = 0; i < classes.length; i++) {
            html.push('<span aria-hidden="true">');
            html.push('<i class="' + classes[i] + '"></i>');
            html.push('</span>');
        }

        html.push('</div>');

        return html.join('');
    },


    /* ================================================================================= */
    /* Summary Widget */
    /* -- Customizations --
          1.) The stars markup is using the buildStarsMarkup utility above.
     */
    summaryBuildHtml: function (data, ctx) {

        var html = '';

        if (ctx.success) {
            var template = [];
            data.ratingsPlural = ctx.pluralize(data.rating_count, "Rating");
            data.commentsPlural = ctx.pluralize(data.comment_count, "Comment");
            template.push('<div class="reputation-summary ds-summary">');
            template.push('<div><span class="stars ds-stars ds-stars' + Math.round(data.rating) + '"></span></div>');
            template.push('<div class="xofy average-wrapper"><span class="average"><span class="average">{{rating}}');
            template.push('</span><span class="average-max">out of 5</span></span></div>');
            template.push('<div class="ratings-comments"><div class="ratings"><span class="rating-count">{{rating_count}} {{ratingsPlural}}');
            template.push('</span></div>');
            template.push('<div class="comments"><span class="comment-divider">|</span>');
            template.push('<span class="comment-count">');
            if (data.comment_count > 0) {
                template.push('<a href="#ratings-and-comments">{{comment_count}} {{commentsPlural}}</a>');
            } else {
                template.push(data.comment_count + " " + data.commentsPlural);
            }
            template.push('</span></div></div>');
            template.push('</div>');

            if (ctx.includeSnippet) {
                template.push(ctx.buildJsonLd(data, ctx.summaryModifySnippet));
            }

            html = ctx.renderTemplate(template.join(''), data);
        }

        return html;

    },

    summaryAfterRender: function (data, ctx) {
        // see if doctor has ratings and comments
        var ratingsAndCommentsSection = document.getElementById("ratings-and-comments");
        var ratingsAndCommentsSummary = document.querySelector(".reputation-summary");
        // see if ratingsAndCommentsSummary has children elements
        if (ratingsAndCommentsSummary) {
            ratingsAndCommentsSection.style.display = "block";
        }
    },

    /* ================================================================================= */
    /* Comment Header */
    commentsBuildHeaderHtml: function (data, ctx) {
        var html = '';
        if (ctx.success && data.comment_count > 0) {
            var template = [];
            template.push('<h3 class="ratingsmd-comments-start" id="comments-section" tabindex="-1">Comments</h3>');
            template.push('<div class="ratingsmd-comment-head clearfix"><span class="ratingsmd-rating">');
            template.push('<span class="ratingsmd-avg">{{rating}}</span> <span class="ratingsmd-outof">out of 5</span>');
            data.ratingsPlural = ctx.pluralize(data.rating_count, "rating");
            data.reviewsPlural = ctx.pluralize(data.comment_count, "comment");
            data.formattedRatingCount = ctx.formatNum(data.rating_count);
            data.formattedCommentCount = ctx.formatNum(data.comment_count);
            template.push('</span>');
            template.push(' <span class="ratingsmd-rating-cnt">({{formattedRatingCount}} {{ratingsPlural}}, {{formattedCommentCount}} {{reviewsPlural}})</span>');
            template.push(' <span class="about-survey"><a href="https://www.hopkinsmedicine.org/physician-comments-ratings">Learn about Our Survey</a></span>');
            template.push('</div>');
            html = ctx.renderTemplate(template.join(''), data);

        }
        return html;
    },

    /* ================================================================================= */
    /* Comment Widget */
    /* -- Customizations --
          1.) The comment entries are wrapped in a ul tag
          2.) The "ratingsmd-comments-more-location" placeholder was added inside the closing ul (so newly loaded comments will be inserted inside the ul tags)
     */
    commentsBuildHtml: function (data, ctx) {
        var html = '';

        if (ctx.success && data.comment_count > 0) {

            let headerFunc = ctx.getFunctionSetting('commentsBuildHeaderHtml', window.JH_RMD.commentsBuildHeaderHtml);
            let entryFunc = ctx.getFunctionSetting('commentsBuildEntryHtml', ctx.defaults.commentsBuildEntryHtml);
            let moreLinkFunc = ctx.getFunctionSetting('commentsBuildMoreLinkHtml', ctx.defaults.commentsBuildMoreLinkHtml);
            let footerFunc = ctx.getFunctionSetting('commentsBuildFooterHtml', ctx.defaults.commentsBuildFooterHtml);
            let template = [];

            template.push(headerFunc(data, ctx));

            if (data.comments && data.comments.data && data.comments.data.length > 0) {

                let commentData = data.comments.data;

                template.push('<ul class="ratingsmd-coment-list">');
                for (let i = 0; i < commentData.length; i++) {
                    template.push(entryFunc(commentData[i], ctx));
                }
                template.push('<span class="ratingsmd-comments-more-location"></span>');
                template.push('</ul>');
            }

            template.push(moreLinkFunc(data, ctx));
            template.push(footerFunc(data, ctx));

            html = template.join('');

        } else {

            if (ctx.showErrors && !ctx.success) {
                let errCls = CLASS_NAME_PREFIX + 'error';

                html = '<div class="' + errCls + '">' + ctx.error + '</div>';
            } else {
                html = '';
            }

        }

        return html;
    },

    /* ================================================================================= */
    /* Comment Widget Entry (each individual comment) */
    /* -- Customizations --
          1.) The stars markup is using the buildStarsMarkup utility above.
          2.) The comment entry is wrapped in a li tag
     */
    commentsBuildEntryHtml: function (data, ctx) {

        var html = '';

        if (ctx.success) {
            let template = [];
            let profile = data.profile;
            let commentCls;

            data.cls = 'ratingsmd-';
            data.reviewDateAlt = ctx.dateChangeFormat(data.review_date, 'MM/DD/YYYY', 'MMM D, YYYY');
            data.starsMarkup = window.JH_RMD.buildStarsMarkup(data.rating, ctx);

            if (ctx.showProfileName && profile && profile.name) {
                if (ctx.resourceType === 'account' || ctx.group) {
                    data.profileName = profile.name;
                    data.profileUrl = ctx.ensureUrlProtocol(profile.website);
                }
            }

            commentCls = data.cls + 'comment-entry';
            if (data.reviewed_by_name) {
                commentCls = commentCls + ' ' + data.cls + 'has-comment-by';
            }
            if (ctx.showReviewSource) {
                commentCls = commentCls + ' ' + data.cls + 'has-review-src';
            }
            data.commentCls = commentCls;

            template.push('<li class="{{commentCls}}" tabindex="-1"><div class="{{cls}}comment-entry-inner">');
            template.push('   <div class="{{cls}}leftside">');
            template.push('      <span class="{{cls}}stars {{cls}}stars{{rating}}">{{starsMarkup}}</span>');
            template.push('      <span class="ratingmd-a11y-hidden">{{rating}} out of 5 stars</span>');
            template.push('      <span class="{{cls}}date">{{reviewDateAlt}}</span>');
            template.push('   </div>');
            template.push('   <div class="{{cls}}rightside">');
            if (data.profileName) {
                if (data.profileUrl) {
                    template.push('      <div class="{{cls}}profile"><a href="{{profileUrl}}">{{profileName}}</a></div>');
                } else {
                    template.push('      <div class="{{cls}}profile">{{profileName}}</div>');
                }
            }
            template.push('      <p class="{{cls}}comment-text">{{comment}}</p>');
            template.push('   </div>');
            template.push('</div></li>');

            html = ctx.renderTemplate(template.join(''), data);
        }

        return html;

    },

    /* ================================================================================= */
    /* Comment Widget Load More Link */
    /* -- Customizations --
          1.) The load more link is a button instead of a link
          2.) Removed the "ratingsmd-comments-more-location" css class since it is being included in the "commentsBuildHtml" function
     */
    commentsBuildMoreLinkHtml: function (data, ctx) {
        var html = '';

        if (ctx.success) {
            if (data.comments && data.comments.links && data.comments.links.next) {

                data.nextLinkClass = 'ratingsmd-comments-more-link';;
                data.nextDataAttr = 'data-ratingsmd-comments-more-url';
                data.nextUrl = data.comments.links.next;
                data.loadMoreClass = 'ratingsmd-comments-more';
                data.loadingClass = 'ratingsmd-comments-loading';
                data.moreLabel = ctx.moreLinkLabel;

                let template = [];

                template.push('<div class="{{loadMoreClass}}">');
                template.push('<button type="button" class="{{nextLinkClass}}" {{nextDataAttr}}="{{nextUrl}}" href="#view-more">{{moreLabel}}</button>');
                template.push('<div style="display:none;" class="{{loadingClass}}">Loading...</div>');
                template.push('</div>');

                html = ctx.renderTemplate(template.join(''), data);
            }
        }

        return html;
    },

    /* ================================================================================= */
    /* Comment Widget After Render */
    /* -- Customizations --
          1.) Focus the first newly loaded comment entry element
     */
    commentsAfterRender: function (data, ctx) {
        // Call the default commentsAfterRender (so the load more button event listener is registered)
        ctx.defaults.commentsAfterRender(data, ctx);

        try {

            // Find the load button and more location elements
            const loadBtn = document.querySelector('button.ratingsmd-comments-more-link');
            const moreLoc = document.querySelector('span.ratingsmd-comments-more-location');

            // Add click event listener to the load button
            loadBtn.addEventListener("click", function () {
                // get the last comment entry element
                let lastComment = moreLoc?.previousSibling
                let max = 40; // infinite loop guard
                let cnt = 0;

                let doFocus = function () {
                    try {
                        if (cnt < max) {
                            // check to see if the next li is a comment and focus it otherwise try again in 50 ms
                            let firstNewComment = lastComment.nextSibling;
                            if (firstNewComment.matches('li.ratingsmd-comment-entry')) {
                                firstNewComment.focus();
                            } else {
                                setTimeout(doFocus, 50);
                            }
                        }
                        cnt++;
                    } catch (error) {
                        console.error('Error trying to focus the first newly loaded comment.', error);
                    }
                }
                doFocus();
            });

        } catch (error) {
            console.error('Error initializing the focus first comment load button click event listener', error);
        }

    },


    /* ================================================================================= */
    /* Question Ratings Widget Entry (each individual question) */
    /* -- Customizations --
          1.) The stars markup is using the buildStarsMarkup utility above.
     */
    questionRatingsBuildEntryHtml: function (data, ctx) {
        var html = '';

        if (ctx.success) {
            let template = [];
            let cls = ctx.classPrefix;
            let entryCls;

            data.cls = cls;
            data.starsMarkup = window.JH_RMD.buildStarsMarkup(data.rating_2, ctx);
            data.lab = ctx.shortLabel ? data.short_label : data.label;
            data.rat = ctx.preciseRating ? data.rating_2 : data.rating;
            data.answerText = ctx.pluralize(data.question_count, 'answer');
            data.formattedQuestionCount = ctx.formatNum(data.question_count);

            entryCls = cls + 'entry';
            if (data.metaFirst) {
                entryCls = entryCls + ' ' + cls + 'entry-first';
            }
            if (data.metaLast) {
                entryCls = entryCls + ' ' + cls + 'entry-last';
            }
            data.entryCls = entryCls;

            template.push('<div class="{{entryCls}}">');
            template.push('   <div class="{{cls}}label">{{lab}}</div>');
            template.push('   <div class="{{cls}}rating">');
            template.push('      <span class="{{cls}}avg">{{rat}}</span><span class="ratingmd-a11y-hidden">out of 5 stars</span>');
            template.push('      {{starsMarkup}}');
            template.push('   </div>');
            template.push('</div>');

            html = ctx.renderTemplate(template.join(''), data);
        }

        return html;

    }

    

};


;
