PageSourceSearch

https://sites.vmdpros.com/sites/default/files/advagg_js/js__V1LDQ9…4aej3rdvOwI7gu7Q7oLXx8596kqbVmChkkCU_VIU.js

js vmdpros.com collected 2026-09-26 15:41:34 UTC 224,965 bytes, 2,626 lines download raw bytes

vendor: 4,491 bytes, lines 1-2
1/*! jQuery v1.12.4 | (c) jQuery Foundation | jquery.org/license */
2!function(a,b){"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){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="1.12.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.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||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in a);return void 0===b||k.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;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(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(h)return h.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[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;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=e.call(arguments,2),d=function(){return a.apply(b||this,c.concat(e.call(arguments)))},d.guid=a.guid=a.guid||n.guid++,d):void 0},now:function(){return+new Date},support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=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*ne
vendor: 3,069 bytes, line 2
2w Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}
vendor: 9,959 bytes, line 2
2function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(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 oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.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),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(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(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),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){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(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("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.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?J(k,a)-J(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?J(k,a)-J(k,b):0;if(e===f)return ka(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?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$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 fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.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},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.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=fa.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=fa.selectors={cacheLength:50,createPseudo:ha,match:W,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(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===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]||fa.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]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.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(ba,ca).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("(^|"+L+")"+a+"("+L+"|$)"))&&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=fa.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(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},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()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(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:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).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:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!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 Y.test(a.nodeName)}
vendor: 79,644 bytes, lines 2-5
2,input:function(a){return X.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:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?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]=la(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=ma(b);function pa(){}pa.prototype=d.filters=d.pseudos,d.setFilters=new pa,g=fa.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=R.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=S.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(Q," ")}),h=h.slice(c.length));for(g in d.filter)!(e=W[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?fa.error(a):z(a,i).slice(0)};function qa(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(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 ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(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?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(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}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(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]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:B.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 n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}if(f=d.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||(e=n.uniqueSort(e)),D.test(a)&&(e=e.reverse())),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(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){n.each(b,function(b,c){n.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==n.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return n.each(arguments,function(a,b){var c;while((c=n.inArray(b,f,c))>-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.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=!0,c||j.disable(),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},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.addEventListener?(d.removeEventListener("DOMContentLoaded",K),a.removeEventListener("load",K)):(d.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll)a.setTimeout(n.ready);else if(d.addEventListener)d.addEventListener("DOMContentLoaded",K),a.addEventListener("load",K);else{d.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScroll&&!function f(){if(!n.isReady){try{c.doScroll("left")}catch(b){return a.setTimeout(f,50)}J(),n.ready()}}()}return I.promise(b)},n.ready.promise();var L;for(L in n(l))break;l.ownFirst="0"===L,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c,e;c=d.getElementsByTagName("body")[0],c&&c.style&&(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(e))}),function(){var a=d.createElement("div");l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}a=null}();var M=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b},N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0;
3}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(M(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),"object"!=typeof b&&"function"!=typeof b||(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}function S(a,b,c){if(M(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.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=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.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 n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.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=n._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}}),function(){var a;l.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,e;return c=d.getElementsByTagName("body")[0],c&&c.style?(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(d.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(e),a):void 0}}();var T=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,U=new RegExp("^(?:([+-])=|)("+T+")([a-z%]*)$","i"),V=["Top","Right","Bottom","Left"],W=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)};function X(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return n.css(a,b,"")},i=h(),j=c&&c[3]||(n.cssNumber[b]?"":"px"),k=(n.cssNumber[b]||"px"!==j&&+i)&&U.exec(n.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,n.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 Y=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)Y(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;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},Z=/^(?:checkbox|radio)$/i,$=/<([\w:-]+)/,_=/^$|\/(?:java|ecma)script/i,aa=/^\s+/,ba="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";function ca(a){var b=ba.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}!function(){var a=d.createElement("div"),b=d.createDocumentFragment(),c=d.createElement("input");a.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!a.getElementsByTagName("tbody").length,l.htmlSerialize=!!a.getElementsByTagName("link").length,l.html5Clone="<:nav></:nav>"!==d.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendChecked=c.checked,a.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.getAttribute(n.expando)}();var da={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:l.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]};da.optgroup=da.option,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function ea(a,b){var c,d,e=0,f="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,ea(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function fa(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}var ga=/<|&#?\w+;/,ha=/<tbody/i;function ia(a){Z.test(a.type)&&(a.defaultChecked=a.checked)}function ja(a,b,c,d,e){for(var f,g,h,i,j,k,m,o=a.length,p=ca(b),q=[],r=0;o>r;r++)if(g=a[r],g||0===g)if("object"===n.type(g))n.merge(q,g.nodeType?[g]:g);else if(ga.test(g)){i=i||p.appendChild(b.createElement("div")),j=($.exec(g)||["",""])[1].toLowerCase(),m=da[j]||da._default,i.innerHTML=m[1]+n.htmlPrefilter(g)+m[2],f=m[0];while(f--)i=i.lastChild;if(!l.leadingWhitespace&&aa.test(g)&&q.push(b.createTextNode(aa.exec(g)[0])),!l.tbody){g="table"!==j||ha.test(g)?"<table>"!==m[1]||ha.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.childNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastChild}else q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(ea(q,"input"),ia),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else if(h=n.contains(g.ownerDocument,g),i=ea(p.appendChild(g),"script"),h&&fa(i),c){f=0;while(g=i[f++])_.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var b,c,e=d.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in a)||(e.setAttribute(c,"t"),l[b]=e.attributes[c].expando===!1);e=null}();var ka=/^(?:input|select|textarea)$/i,la=/^key/,ma=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,na=/^(?:focusinfocus|focusoutblur)$/,oa=/^([^.]*)(?:\.(.+)|)/;function pa(){return!0}function qa(){return!1}function ra(){try{return d.activeElement}catch(a){}}function sa(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)sa(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=qa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return"undefined"==typeof n||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(G)||[""],h=b.length;while(h--)f=oa.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=oa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!na.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||!l.trigger||l.trigger.apply(e,c)!==!1)){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j=l.delegateType||q,na.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;while((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),g=h&&i[h],g&&g.apply&&M(i)&&(b.result=g.apply(i,c),b.result===!1&&b.preventDefault());if(b.type=q,!f&&!b.isDefaultPrevented()&&(!l._default||l._default.apply(p.pop(),c)===!1)&&M(e)&&h&&e[q]&&!n.isWindow(e)){m=e[h],m&&(e[h]=null),n.event.triggered=q;try{e[q]()}catch(s){}n.event.triggered=void 0,m&&(e[h]=m)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[n.expando])return a;var b,c,e,f=a.type,g=a,h=this.fixHooks[f];h||(this.fixHooks[f]=h=ma.test(f)?this.mouseHooks:la.test(f)?this.keyHooks:{}),e=h.props?this.props.concat(h.props):this.props,a=new n.Event(g),b=e.length;while(b--)c=e[b],a[c]=g[c];return a.target||(a.target=g.srcElement||d),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,h.filter?h.filter(a,g):a},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,e,f,g=b.button,h=b.fromElement;return null==a.pageX&&null!=b.clientX&&(e=a.target.ownerDocument||d,f=e.documentElement,c=e.body,a.pageX=b.clientX+(f&&f.scrollLeft||c&&c.scrollLeft||0)-(f&&f.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(f&&f.scrollTop||c&&c.scrollTop||0)-(f&&f.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&h&&(a.relatedTarget=h===a.target?b.toElement:h),a.which||void 0===g||(a.which=1&g?1:2&g?3:4&g?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ra()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===ra()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return n.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c){var d=n.extend(new n.Event,c,{type:a,isSimulated:!0});n.event.trigger(d,null,b),d.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=d.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)}:function(a,b,c){var d="on"+b;a.detachEvent&&("undefined"==typeof a[d]&&(a[d]=null),a.detachEvent(d,c))},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?pa:qa):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={constructor:n.Event,isDefaultPrevented:qa,isPropagationStopped:qa,isImmediatePropagationStopped:qa,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=pa,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=pa,a&&!this.isSimulated&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=pa,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||n.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),l.submit||(n.event.special.submit={setup:function(){return n.nodeName(this,"form")?!1:void n.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=n.nodeName(b,"input")||n.nodeName(b,"button")?n.prop(b,"form"):void 0;c&&!n._data(c,"submit")&&(n.event.add(c,"submit._submit",function(a){a._submitBubble=!0}),n._data(c,"submit",!0))})},postDispatch:function(a){a._submitBubble&&(delete a._submitBubble,this.parentNode&&!a.isTrigger&&n.event.simulate("submit",this.parentNode,a))},teardown:function(){return n.nodeName(this,"form")?!1:void n.event.remove(this,"._submit")}}),l.change||(n.event.special.change={setup:function(){return ka.test(this.nodeName)?("checkbox"!==this.type&&"radio"!==this.type||(n.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._justChanged=!0)}),n.event.add(this,"click._change",function(a){this._justChanged&&!a.isTrigger&&(this._justChanged=!1),n.event.simulate("change",this,a)})),!1):void n.event.add(this,"beforeactivate._change",function(a){var b=a.target;ka.test(b.nodeName)&&!n._data(b,"change")&&(n.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||n.event.simulate("change",this.parentNode,a)}),n._data(b,"change",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return n.event.remove(this,"._change"),!ka.test(this.nodeName)}}),l.focusin||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a))};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=n._data(d,b);e||d.addEventListener(a,c,!0),n._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=n._data(d,b)-1;e?n._data(d,b,e):(d.removeEventListener(a,c,!0),n._removeData(d,b))}}}),n.fn.extend({on:function(a,b,c,d){return sa(this,a,b,c,d)},one:function(a,b,c,d){return sa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(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=qa),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var ta=/ jQuery\d+="(?:null|\d+)"/g,ua=new RegExp("<(?:"+ba+")[\\s/>]","i"),va=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wa=/<script|<style|<link/i,xa=/checked\s*(?:[^=]|=\s*.checked.)/i,ya=/^true\/(.*)/,za=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Aa=ca(d),Ba=Aa.appendChild(d.createElement("div"));function Ca(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function Da(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function Ea(a){var b=ya.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Ga(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(Da(b).text=a.text,Ea(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Z.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}}function Ha(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&xa.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(o&&(k=ja(b,a[0].ownerDocument,!1,a,d),e=k.firstChild,1===k.childNodes.length&&(k=e),e||d)){for(i=n.map(ea(k,"script"),Da),h=i.length;o>m;m++)g=k,m!==p&&(g=n.clone(g,!0,!0),h&&n.merge(i,ea(g,"script"))),c.call(a[m],g,m);if(h)for(j=i[i.length-1].ownerDocument,n.map(i,Ea),m=0;h>m;m++)g=i[m],_.test(g.type||"")&&!n._data(g,"globalEval")&&n.contains(j,g)&&(g.src?n._evalUrl&&n._evalUrl(g.src):n.globalEval((g.text||g.textContent||g.innerHTML||"").replace(za,"")));k=e=null}return a}function Ia(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(ea(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&fa(ea(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(va,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!ua.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(Ba.innerHTML=a.outerHTML,Ba.removeChild(f=Ba.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=ea(f),h=ea(a),g=0;null!=(e=h[g]);++g)d[g]&&Ga(e,d[g]);if(b)if(c)for(h=h||ea(a),d=d||ea(f),g=0;null!=(e=h[g]);g++)Fa(e,d[g]);else Fa(a,f);return d=ea(f,"script"),d.length>0&&fa(d,!i&&ea(a,"script")),d=h=e=null,f},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.attributes,m=n.event.special;null!=(d=a[h]);h++)if((b||M(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k||"undefined"==typeof d.removeAttribute?d[i]=void 0:d.removeAttribute(i),c.push(f))}}}),n.fn.extend({domManip:Ha,detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return Y(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||d).createTextNode(a))},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(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&&n.cleanData(ea(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return Y(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(ta,""):void 0;if("string"==typeof a&&!wa.test(a)&&(l.htmlSerialize||!ua.test(a))&&(l.leadingWhitespace||!aa.test(a))&&!da[($.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ea(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(ea(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],f=n(a),h=f.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(f[d])[b](c),g.apply(e,c.get());return this.pushStack(e)}});var Ja,Ka={HTML:"block",BODY:"block"};function La(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function Ma(a){var b=d,c=Ka[a];return c||(c=La(a,b),"none"!==c&&c||(Ja=(Ja||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Ja[0].contentWindow||Ja[0].contentDocument).document,b.write(),b.close(),c=La(a,b),Ja.detach()),Ka[a]=c),c}var Na=/^margin/,Oa=new RegExp("^("+T+")(?!px)[a-z%]+$","i"),Pa=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},Qa=d.documentElement;!function(){var b,c,e,f,g,h,i=d.createElement("div"),j=d.createElement("div");if(j.style){j.style.cssText="float:left;opacity:.5",l.opacity="0.5"===j.style.opacity,l.cssFloat=!!j.style.cssFloat,j.style.backgroundClip="content-box",j.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===j.style.backgroundClip,i=d.createElement("div"),i.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",j.innerHTML="",i.appendChild(j),l.boxSizing=""===j.style.boxSizing||""===j.style.MozBoxSizing||""===j.style.WebkitBoxSizing,n.extend(l,{reliableHiddenOffsets:function(){return null==b&&k(),f},boxSizingReliable:function(){return null==b&&k(),e},pixelMarginRight:function(){return null==b&&k(),c},pixelPosition:function(){return null==b&&k(),b},reliableMarginRight:function(){return null==b&&k(),g},reliableMarginLeft:function(){return null==b&&k(),h}});function k(){var k,l,m=d.documentElement;m.appendChild(i),j.style.cssText="-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",b=e=h=!1,c=g=!0,a.getComputedStyle&&(l=a.getComputedStyle(j),b="1%"!==(l||{}).top,h="2px"===(l||{}).marginLeft,e="4px"===(l||{width:"4px"}).width,j.style.marginRight="50%",c="4px"===(l||{marginRight:"4px"}).marginRight,k=j.appendChild(d.createElement("div")),k.style.cssText=j.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",k.style.marginRight=k.style.width="0",j.style.width="1px",g=!parseFloat((a.getComputedStyle(k)||{}).marginRight),j.removeChild(k)),j.style.display="none",f=0===j.getClientRects().length,f&&(j.style.display="",j.innerHTML="<table><tr><td></td><td>t</td></tr></table>",j.childNodes[0].style.borderCollapse="separate",k=j.getElementsByTagName("td"),k[0].style.cssText="margin:0;border:0;padding:0;display:none",f=0===k[0].offsetHeight,f&&(k[0].style.display="",k[1].style.display="none",f=0===k[0].offsetHeight)),m.removeChild(i)}}}();var Ra,Sa,Ta=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ra=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)},Sa=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),g=c?c.getPropertyValue(b)||c[b]:void 0,""!==g&&void 0!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),c&&!l.pixelMarginRight()&&Oa.test(g)&&Na.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+""}):Qa.currentStyle&&(Ra=function(a){return a.currentStyle},Sa=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Oa.test(g)&&!Ta.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Ua(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Va=/alpha\([^)]*\)/i,Wa=/opacity\s*=\s*([^)]*)/i,Xa=/^(none|table(?!-c[ea]).+)/,Ya=new RegExp("^("+T+")(.*)$","i"),Za={position:"absolute",visibility:"hidden",display:"block"},$a={letterSpacing:"0",fontWeight:"400"},_a=["Webkit","O","Moz","ms"],ab=d.createElement("div").style;function bb(a){if(a in ab)return a;var b=a.charAt(0).toUpperCase()+a.slice(1),c=_a.length;while(c--)if(a=_a[c]+b,a in ab)return a}function cb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=n._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&W(d)&&(f[g]=n._data(d,"olddisplay",Ma(d.nodeName)))):(e=W(d),(c&&"none"!==c||!e)&&n._data(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function db(a,b,c){var d=Ya.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function eb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+V[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+V[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+V[f]+"Width",!0,e))):(g+=n.css(a,"padding"+V[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+V[f]+"Width",!0,e)));return g}function fb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ra(a),g=l.boxSizing&&"border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Sa(a,b,f),(0>e||null==e)&&(e=a.style[b]),Oa.test(e))return e;d=g&&(l.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+eb(a,b,c||(g?"border":"content"),d,f)+"px"}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Sa(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":l.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;if(b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.cssHooks[b]||n.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=U.exec(c))&&e[1]&&(c=X(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(n.cssNumber[h]?"":"px")),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Sa(a,b,d)),"normal"===f&&b in $a&&(f=$a[b]),""===c||c?(e=parseFloat(f),c===!0||isFinite(e)?e||0:f):f}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?Xa.test(n.css(a,"display"))&&0===a.offsetWidth?Pa(a,Za,function(){return fb(a,b,d)}):fb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ra(a);return db(a,c,d?eb(a,b,d,l.boxSizing&&"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),l.opacity||(n.cssHooks.opacity={get:function(a,b){return Wa.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=n.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===n.trim(f.replace(Va,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Va.test(f)?f.replace(Va,e):f+" "+e)}}),n.cssHooks.marginRight=Ua(l.reliableMarginRight,function(a,b){return b?Pa(a,{display:"inline-block"},Sa,[a,"marginRight"]):void 0}),n.cssHooks.marginLeft=Ua(l.reliableMarginLeft,function(a,b){return b?(parseFloat(Sa(a,"marginLeft"))||(n.contains(a.ownerDocument,a)?a.getBoundingClientRect().left-Pa(a,{
4marginLeft:0},function(){return a.getBoundingClientRect().left}):0))+"px":void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+V[d]+b]=f[d]||f[d-2]||f[0];return e}},Na.test(a)||(n.cssHooks[a+b].set=db)}),n.fn.extend({css:function(a,b){return Y(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Ra(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return cb(this,!0)},hide:function(){return cb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){W(this)?n(this).show():n(this).hide()})}});function gb(a,b,c,d,e){return new gb.prototype.init(a,b,c,d,e)}n.Tween=gb,gb.prototype={constructor:gb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||n.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=gb.propHooks[this.prop];return a&&a.get?a.get(this):gb.propHooks._default.get(this)},run:function(a){var b,c=gb.propHooks[this.prop];return this.options.duration?this.pos=b=n.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):gb.propHooks._default.set(this),this}},gb.prototype.init.prototype=gb.prototype,gb.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=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[n.cssProps[a.prop]]&&!n.cssHooks[a.prop]?a.elem[a.prop]=a.now:n.style(a.elem,a.prop,a.now+a.unit)}}},gb.propHooks.scrollTop=gb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},n.fx=gb.prototype.init,n.fx.step={};var hb,ib,jb=/^(?:toggle|show|hide)$/,kb=/queueHooks$/;function lb(){return a.setTimeout(function(){hb=void 0}),hb=n.now()}function mb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=V[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function nb(a,b,c){for(var d,e=(qb.tweeners[b]||[]).concat(qb.tweeners["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ob(a,b,c){var d,e,f,g,h,i,j,k,m=this,o={},p=a.style,q=a.nodeType&&W(a),r=n._data(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,m.always(function(){m.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=n.css(a,"display"),k="none"===j?n._data(a,"olddisplay")||Ma(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(l.inlineBlockNeedsLayout&&"inline"!==Ma(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",l.shrinkWrapBlocks()||m.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],jb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(o))"inline"===("none"===j?Ma(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=n._data(a,"fxshow",{}),f&&(r.hidden=!q),q?n(a).show():m.done(function(){n(a).hide()}),m.done(function(){var b;n._removeData(a,"fxshow");for(b in o)n.style(a,b,o[b])});for(d in o)g=nb(q?r[d]:0,d,m),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function pb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.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 qb(a,b,c){var d,e,f=0,g=qb.prefilters.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=hb||lb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{},easing:n.easing._default},c),originalProperties:b,originalOptions:c,startTime:hb||lb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.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;d>c;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(pb(k,j.opts.specialEasing);g>f;f++)if(d=qb.prefilters[f].call(j,a,k,j.opts))return n.isFunction(d.stop)&&(n._queueHooks(j.elem,j.opts.queue).stop=n.proxy(d.stop,d)),d;return n.map(k,nb,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(qb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return X(c.elem,a,U.exec(b),c),c}]},tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.match(G);for(var c,d=0,e=a.length;e>d;d++)c=a[d],qb.tweeners[c]=qb.tweeners[c]||[],qb.tweeners[c].unshift(b)},prefilters:[ob],prefilter:function(a,b){b?qb.prefilters.unshift(a):qb.prefilters.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(W).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=qb(this,n.extend({},a),f);(e||n._data(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=n.timers,g=n._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&kb.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||n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=n._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.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;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(mb(b,!0),a,d,e)}}),n.each({slideDown:mb("show"),slideUp:mb("hide"),slideToggle:mb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=n.timers,c=0;for(hb=n.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||n.fx.stop(),hb=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){ib||(ib=a.setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){a.clearInterval(ib),ib=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(b,c){return b=n.fx?n.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,b=d.createElement("input"),c=d.createElement("div"),e=d.createElement("select"),f=e.appendChild(d.createElement("option"));c=d.createElement("div"),c.setAttribute("className","t"),c.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=c.getElementsByTagName("a")[0],b.setAttribute("type","checkbox"),c.appendChild(b),a=c.getElementsByTagName("a")[0],a.style.cssText="top:1px",l.getSetAttribute="t"!==c.className,l.style=/top/.test(a.getAttribute("style")),l.hrefNormalized="/a"===a.getAttribute("href"),l.checkOn=!!b.value,l.optSelected=f.selected,l.enctype=!!d.createElement("form").enctype,e.disabled=!0,l.optDisabled=!f.disabled,b=d.createElement("input"),b.setAttribute("value",""),l.input=""===b.getAttribute("value"),b.value="t",b.setAttribute("type","radio"),l.radioValue="t"===b.value}();var rb=/\r/g,sb=/[\x20\t\r\n\f]+/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.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)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a)).replace(sb," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&(l.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)if(d=e[g],n.inArray(n.valHooks.option.get(d),f)>-1)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>-1:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var tb,ub,vb=n.expr.attrHandle,wb=/^(?:checked|selected)$/i,xb=l.getSetAttribute,yb=l.input;n.fn.extend({attr:function(a,b){return Y(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),e=n.attrHooks[b]||(n.expr.match.bool.test(b)?ub:tb)),void 0!==c?null===c?void n.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=n.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(G);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)?yb&&xb||!wb.test(c)?a[d]=!1:a[n.camelCase("default-"+c)]=a[d]=!1:n.attr(a,c,""),a.removeAttribute(xb?c:d)}}),ub={set:function(a,b,c){return b===!1?n.removeAttr(a,c):yb&&xb||!wb.test(c)?a.setAttribute(!xb&&n.propFix[c]||c,c):a[n.camelCase("default-"+c)]=a[c]=!0,c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=vb[b]||n.find.attr;yb&&xb||!wb.test(b)?vb[b]=function(a,b,d){var e,f;return d||(f=vb[b],vb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,vb[b]=f),e}:vb[b]=function(a,b,c){return c?void 0:a[n.camelCase("default-"+b)]?b.toLowerCase():null}}),yb&&xb||(n.attrHooks.value={set:function(a,b,c){return n.nodeName(a,"input")?void(a.defaultValue=b):tb&&tb.set(a,b,c)}}),xb||(tb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},vb.id=vb.name=vb.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},n.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:tb.set},n.attrHooks.contenteditable={set:function(a,b,c){tb.set(a,""===b?!1:b,c)}},n.each(["width","height"],function(a,b){n.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),l.style||(n.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var zb=/^(?:input|select|textarea|button|object)$/i,Ab=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return Y(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return a=n.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),n.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&n.isXMLDoc(a)||(b=n.propFix[b]||b,e=n.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=n.find.attr(a,"tabindex");return b?parseInt(b,10):zb.test(a.nodeName)||Ab.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),l.hrefNormalized||n.each(["href","src"],function(a,b){n.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this}),l.enctype||(n.propFix.enctype="encoding");var Bb=/[\t\r\n\f]/g;function Cb(a){return n.attr(a,"class")||""}n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,Cb(this)))});if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Cb(c),d=1===c.nodeType&&(" "+e+" ").replace(Bb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,Cb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Cb(c),d=1===c.nodeType&&(" "+e+" ").replace(Bb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=n.trim(d),e!==h&&n.attr(c,"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):n.isFunction(a)?this.each(function(c){n(this).toggleClass(a.call(this,c,Cb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=n(this),f=a.match(G)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=Cb(this),b&&n._data(this,"__className__",b),n.attr(this,"class",b||a===!1?"":n._data(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+Cb(c)+" ").replace(Bb," ").indexOf(b)>-1)return!0;return!1}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Db=a.location,Eb=n.now(),Fb=/\?/,Gb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;n.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=n.trim(b+"");return e&&!n.trim(e.replace(Gb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():n.error("Invalid JSON: "+b)},n.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new a.DOMParser,c=d.parseFromString(b,"text/xml")):(c=new a.ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var Hb=/#.*$/,Ib=/([?&])_=[^&]*/,Jb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Kb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Lb=/^(?:GET|HEAD)$/,Mb=/^\/\//,Nb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Ob={},Pb={},Qb="*/".concat("*"),Rb=Db.href,Sb=Nb.exec(Rb.toLowerCase())||[];function Tb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(G)||[];if(n.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Ub(a,b,c,d){var e={},f=a===Pb;function g(h){var i;return e[h]=!0,n.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 Vb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&n.extend(!0,a,c),a}function Wb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Xb(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}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Rb,type:"GET",isLocal:Kb.test(Sb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Qb,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":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Vb(Vb(a,n.ajaxSettings),b):Vb(n.ajaxSettings,a)},ajaxPrefilter:Tb(Ob),ajaxTransport:Tb(Pb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var d,e,f,g,h,i,j,k,l=n.ajaxSetup({},c),m=l.context||l,o=l.context&&(m.nodeType||m.jquery)?n(m):n.event,p=n.Deferred(),q=n.Callbacks("once memory"),r=l.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getResponseHeader:function(a){var b;if(2===u){if(!k){k={};while(b=Jb.exec(g))k[b[1].toLowerCase()]=b[2]}b=k[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===u?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||(l.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>u)for(b in a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||v;return j&&j.abort(b),y(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.error=w.fail,l.url=((b||l.url||Rb)+"").replace(Hb,"").replace(Mb,Sb[1]+"//"),l.type=c.method||c.type||l.method||l.type,l.dataTypes=n.trim(l.dataType||"*").toLowerCase().match(G)||[""],null==l.crossDomain&&(d=Nb.exec(l.url.toLowerCase()),l.crossDomain=!(!d||d[1]===Sb[1]&&d[2]===Sb[2]&&(d[3]||("http:"===d[1]?"80":"443"))===(Sb[3]||("http:"===Sb[1]?"80":"443")))),l.data&&l.processData&&"string"!=typeof l.data&&(l.data=n.param(l.data,l.traditional)),Ub(Ob,l,c,w),2===u)return w;i=n.event&&l.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),l.type=l.type.toUpperCase(),l.hasContent=!Lb.test(l.type),f=l.url,l.hasContent||(l.data&&(f=l.url+=(Fb.test(f)?"&":"?")+l.data,delete l.data),l.cache===!1&&(l.url=Ib.test(f)?f.replace(Ib,"$1_="+Eb++):f+(Fb.test(f)?"&":"?")+"_="+Eb++)),l.ifModified&&(n.lastModified[f]&&w.setRequestHeader("If-Modified-Since",n.lastModified[f]),n.etag[f]&&w.setRequestHeader("If-None-Match",n.etag[f])),(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",l.contentType),w.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+("*"!==l.dataTypes[0]?", "+Qb+"; q=0.01":""):l.accepts["*"]);for(e in l.headers)w.setRequestHeader(e,l.headers[e]);if(l.beforeSend&&(l.beforeSend.call(m,w,l)===!1||2===u))return w.abort();v="abort";for(e in{success:1,error:1,complete:1})w[e](l[e]);if(j=Ub(Pb,l,c,w)){if(w.readyState=1,i&&o.trigger("ajaxSend",[w,l]),2===u)return w;l.async&&l.timeout>0&&(h=a.setTimeout(function(){w.abort("timeout")},l.timeout));try{u=1,j.send(s,y)}catch(x){if(!(2>u))throw x;y(-1,x)}}else y(-1,"No Transport");function y(b,c,d,e){var k,s,t,v,x,y=c;2!==u&&(u=2,h&&a.clearTimeout(h),j=void 0,g=e||"",w.readyState=b>0?4:0,k=b>=200&&300>b||304===b,d&&(v=Wb(l,w,d)),v=Xb(l,v,w,k),k?(l.ifModified&&(x=w.getResponseHeader("Last-Modified"),x&&(n.lastModified[f]=x),x=w.getResponseHeader("etag"),x&&(n.etag[f]=x)),204===b||"HEAD"===l.type?y="nocontent":304===b?y="notmodified":(y=v.state,s=v.data,t=v.error,k=!t)):(t=y,!b&&y||(y="error",0>b&&(b=0))),w.status=b,w.statusText=(c||y)+"",k?p.resolveWith(m,[s,y,w]):p.rejectWith(m,[w,y,t]),w.statusCode(r),r=void 0,i&&o.trigger(k?"ajaxSuccess":"ajaxError",[w,l,k?s:t]),q.fireWith(m,[w,y]),i&&(o.trigger("ajaxComplete",[w,l]),--n.active||n.event.trigger("ajaxStop")))}return w},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax(n.extend({url:a,type:b,dataType:e,data:c,success:d},n.isPlainObject(a)&&a))}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){if(n.isFunction(a))return this.each(function(b){n(this).wrapAll(a.call(this,b))});if(this[0]){var b=n(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return n.isFunction(a)?this.each(function(b){n(this).wrapInner(a.call(this,b))}):this.each(function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}});function Yb(a){return a.style&&a.style.display||n.css(a,"display")}function Zb(a){if(!n.contains(a.ownerDocument||d,a))return!0;while(a&&1===a.nodeType){if("none"===Yb(a)||"hidden"===a.type)return!0;a=a.parentNode}return!1}n.expr.filters.hidden=function(a){return l.reliableHiddenOffsets()?a.offsetWidth<=0&&a.offsetHeight<=0&&!a.getClientRects().length:Zb(a)},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var $b=/%20/g,_b=/\[\]$/,ac=/\r?\n/g,bc=/^(?:submit|button|image|reset|file)$/i,cc=/^(?:input|select|textarea|keygen)/i;function dc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||_b.test(a)?d(a,e):dc(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)dc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)dc(c,a[c],b,e);return d.join("&").replace($b,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&cc.test(this.nodeName)&&!bc.test(a)&&(this.checked||!Z.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(ac,"\r\n")}}):{name:b.name,value:c.replace(ac,"\r\n")}}).get()}}),n.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return this.isLocal?ic():d.documentMode>8?hc():/^(get|post|head|put|delete|options)$/i.test(this.type)&&hc()||ic()}:hc;var ec=0,fc={},gc=n.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in fc)fc[a](void 0,!0)}),l.cors=!!gc&&"withCredentials"in gc,gc=l.ajax=!!gc,gc&&n.ajaxTransport(function(b){if(!b.crossDomain||l.cors){var c;return{send:function(d,e){var f,g=b.xhr(),h=++ec;if(g.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(f in b.xhrFields)g[f]=b.xhrFields[f];b.mimeType&&g.overrideMimeType&&g.overrideMimeType(b.mimeType),b.crossDomain||d["X-Requested-With"]||(d["X-Requested-With"]="XMLHttpRequest");for(f in d)void 0!==d[f]&&g.setRequestHeader(f,d[f]+"");g.send(b.hasContent&&b.data||null),c=function(a,d){var f,i,j;if(c&&(d||4===g.readyState))if(delete fc[h],c=void 0,g.onreadystatechange=n.noop,d)4!==g.readyState&&g.abort();else{j={},f=g.status,"string"==typeof g.responseText&&(j.text=g.responseText);try{i=g.statusText}catch(k){i=""}f||!b.isLocal||b.crossDomain?1223===f&&(f=204):f=j.text?200:404}j&&e(f,i,j,g.getAllResponseHeaders())},b.async?4===g.readyState?a.setTimeout(c):g.onreadystatechange=fc[h]=c:c()},abort:function(){c&&c(void 0,!0)}}}});function hc(){try{return new a.XMLHttpRequest}catch(b){}}function ic(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}n.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 n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=d.head||n("head")[0]||d.documentElement;return{send:function(e,f){b=d.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||f(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var jc=[],kc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=jc.pop()||n.expando+"_"+Eb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(kc.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&kc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(kc,"$1"+e):b.jsonp!==!1&&(b.url+=(Fb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.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?n(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,jc.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||d;var e=x.exec(a),f=!c&&[];return e?[b.createElement(e[1])]:(e=ja([a],b,f),f&&f.length&&n(f).remove(),n.merge([],e.childNodes))};var lc=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&lc)return lc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=n.trim(a.slice(h,a.length)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};function mc(a){return n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,n.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)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,n.contains(b,e)?("undefined"!=typeof e.getBoundingClientRect&&(d=e.getBoundingClientRect()),c=mc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===n.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.offset()),c.top+=n.css(a[0],"borderTopWidth",!0),c.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-n.css(d,"marginTop",!0),left:b.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Qa})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);n.fn[a]=function(d){return Y(this,function(a,d,e){var f=mc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?n(f).scrollLeft():e,c?e:n(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Ua(l.pixelPosition,function(a,c){return c?(c=Sa(a,b),Oa.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({
5padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return Y(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.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)}}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var nc=a.jQuery,oc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=oc),b&&a.jQuery===n&&(a.jQuery=nc),n},b||(a.jQuery=a.$=n),n});
6;/*})'"*/;/*})'"*/
7/**
8 * For jQuery versions less than 3.4.0, this replaces the jQuery.extend
9 * function with the one from jQuery 3.4.0, slightly modified (documented
10 * below) to be compatible with older jQuery versions and browsers.
11 *
12 * This provides the Object.prototype pollution vulnerability fix to Drupal
13 * installations running older jQuery versions, including the versions shipped
14 * with Drupal core and https://www.drupal.org/project/jquery_update.
15 *
16 * @see https://github.com/jquery/jquery/pull/4333
17 */
18
19(function (jQuery) {
20
21// Do not override jQuery.extend() if the jQuery version is already >=3.4.0.
22var versionParts = jQuery.fn.jquery.split('.');
23var majorVersion = parseInt(versionParts[0]);
24var minorVersion = parseInt(versionParts[1]);
25var patchVersion = parseInt(versionParts[2]);
26var isPreReleaseVersion = (patchVersion.toString() !== versionParts[2]);
27if (
28  (majorVersion > 3) ||
29  (majorVersion === 3 && minorVersion > 4) ||
30  (majorVersion === 3 && minorVersion === 4 && patchVersion > 0) ||
31  (majorVersion === 3 && minorVersion === 4 && patchVersion === 0 && !isPreReleaseVersion)
32) {
33  return;
34}
35
36/**
37 * This is almost verbatim copied from jQuery 3.4.0.
38 *
39 * Only two minor changes have been made:
40 * - The call to isFunction() is changed to jQuery.isFunction().
41 * - The two calls to Array.isArray() is changed to jQuery.isArray().
42 *
43 * The above two changes ensure compatibility with all older jQuery versions
44 * (1.4.4 - 3.3.1) and older browser versions (e.g., IE8).
45 */
46jQuery.extend = jQuery.fn.extend = function() {
47  var options, name, src, copy, copyIsArray, clone,
48    target = arguments[ 0 ] || {},
49    i = 1,
50    length = arguments.length,
51    deep = false;
52
53  // Handle a deep copy situation
54  if ( typeof target === "boolean" ) {
55    deep = target;
56
57    // Skip the boolean and the target
58    target = arguments[ i ] || {};
59    i++;
60  }
61
62  // Handle case when target is a string or something (possible in deep copy)
63  if ( typeof target !== "object" && !jQuery.isFunction( target ) ) {
64    target = {};
65  }
66
67  // Extend jQuery itself if only one argument is passed
68  if ( i === length ) {
69    target = this;
70    i--;
71  }
72
73  for ( ; i < length; i++ ) {
74
75    // Only deal with non-null/undefined values
76    if ( ( options = arguments[ i ] ) != null ) {
77
78      // Extend the base object
79      for ( name in options ) {
80        copy = options[ name ];
81
82        // Prevent Object.prototype pollution
83        // Prevent never-ending loop
84        if ( name === "__proto__" || target === copy ) {
85          continue;
86        }
87
88        // Recurse if we're merging plain objects or arrays
89        if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
90          ( copyIsArray = jQuery.isArray( copy ) ) ) ) {
91          src = target[ name ];
92
93          // Ensure proper type for the source value
94          if ( copyIsArray && !jQuery.isArray( src ) ) {
95            clone = [];
96          } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {
97            clone = {};
98          } else {
99            clone = src;
100          }
101          copyIsArray = false;
102
103          // Never move original objects, clone them
104          target[ name ] = jQuery.extend( deep, clone, copy );
105
106          // Don't bring in undefined values
107        } else if ( copy !== undefined ) {
108          target[ name ] = copy;
109        }
110      }
111    }
112  }
113
114  // Return the modified object
115  return target;
116};
117
118})(jQuery);
119;/*})'"*/;/*})'"*/
120/**
121 * For jQuery versions less than 3.5.0, this replaces the jQuery.htmlPrefilter()
122 * function with one that fixes these security vulnerabilities while also
123 * retaining the pre-3.5.0 behavior where it's safe to do so.
124 * - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11022
125 * - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11023
126 *
127 * Additionally, for jQuery versions that do not have a jQuery.htmlPrefilter()
128 * function (1.x prior to 1.12 and 2.x prior to 2.2), this adds it, and
129 * extends the functions that need to call it to do so.
130 *
131 * Drupal core's jQuery version is 1.4.4, but jQuery Update can provide a
132 * different version, so this covers all versions between 1.4.4 and 3.4.1.
133 * The GitHub links in the code comments below link to jQuery 1.5 code, be
133cause
134 * 1.4.4 isn't on GitHub, but the referenced code didn't change from 1.4.4 to
135 * 1.5.
136 */
137
138(function (jQuery) {
139
140  // Parts of this backport differ by jQuery version.
141  var versionParts = jQuery.fn.jquery.split('.');
142  var majorVersion = parseInt(versionParts[0]);
143  var minorVersion = parseInt(versionParts[1]);
144
145  // No backport is needed if we're already on jQuery 3.5 or higher.
146  if ( (majorVersion > 3) || (majorVersion === 3 && minorVersion >= 5) ) {
147    return;
148  }
149
150  // Prior to jQuery 3.5, jQuery converted XHTML-style self-closing tags to
151  // their XML equivalent: e.g., "<div />" to "<div></div>". This is
152  // problematic for several reasons, including that it's vulnerable to XSS
153  // attacks. However, since this was jQuery's behavior for many years, many
154  // Drupal modules and jQuery plugins may be relying on it. Therefore, we
155  // preserve that behavior, but for a limited set of tags only, that we believe
156  // to not be vulnerable. This is the set of HTML tags that satisfy all of the
157  // following conditions:
158  // - In DOMPurify's list of HTML tags. If an HTML tag isn't safe enough to
159  //   appear in that list, then we don't want to mess with it here either.
160  //   @see https://github.com/cure53/DOMPurify/blob/2.0.11/dist/purify.js#L128
161  // - A normal element (not a void, template, text, or foreign element).
162  //   @see https://html.spec.whatwg.org/multipage/syntax.html#elements-2
163  // - An element that is still defined by the current HTML specification
164  //   (not a deprecated element), because we do not want to rely on how
165  //   browsers parse deprecated elements.
166  //   @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element
167  // - Not 'html', 'head', or 'body', because this pseudo-XHTML expansion is
168  //   designed for fragments, not entire documents.
169  // - Not 'colgroup', because due to an idiosyncrasy of jQuery's original
170  //   regular expression, it didn't match on colgroup, and we don't want to
171  //   introduce a behavior change for that.
172  var selfClosingTagsToReplace = [
173    'a', 'abbr', 'address', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo',
174    'blockquote', 'button', 'canvas', 'caption', 'cite', 'code', 'data',
175    'datalist', 'dd', 'del', 'details', 'dfn', 'div', 'dl', 'dt', 'em',
176    'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3',
177    'h4', 'h5', 'h6', 'header', 'hgroup', 'i', 'ins', 'kbd', 'label', 'legend',
178    'li', 'main', 'map', 'mark', 'menu', 'meter', 'nav', 'ol', 'optgroup',
179    'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt',
180    'ruby', 's', 'samp', 'section', 'select', 'small', 'source', 'span',
181    'strong', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'tfoot', 'th',
182    'thead', 'time', 'tr', 'u', 'ul', 'var', 'video'
183  ];
184
185  // Define regular expressions for <TAG/> and <TAG ATTRIBUTES/>. Doing this as
186  // two expressions makes it easier to target <a/> without also targeting
187  // every tag that starts with "a".
188  var xhtmlRegExpGroup = '(' + selfClosingTagsToReplace.join('|') + ')';
189  var whitespace = '[\\x20\\t\\r\\n\\f]';
190  var rxhtmlTagWithoutSpaceOrAttributes = new RegExp('<' + xhtmlRegExpGroup + '\\/>', 'gi');
191  var rxhtmlTagWithSpaceAndMaybeAttributes = new RegExp('<' + xhtmlRegExpGroup + '(' + whitespace + '[^>]*)\\/>', 'gi');
192
193  // jQuery 3.5 also fixed a vulnerability for when </select> appears within
194  // an <option> or <optgroup>, but it did that in local code that we can't
195  // backport directly. Instead, we filter such cases out. To do so, we need to
196  // determine when jQuery would otherwise invoke the vulnerable code, which it
197  // uses this regular expression to determine. The regular expression changed
198  // for version 3.0.0 and changed again for 3.4.0.
199  // @see https://github.com/jquery/jquery/blob/1.5/jquery.js#L4958
200  // @see https://github.com/jquery/jquery/blob/3.0.0/dist/jquery.js#L4584
201  // @see https://github.com/jquery/jquery/blob/3.4.0/dist/jquery.js#L4712
202  var rtagName;
203  if (majorVersion < 3) {
204    rtagName = /<([\w:]+)/;
205  }
206  else if (minorVersion < 4) {
207    rtagName = /<([a-z][^\/\0>\x20\t\r\n\f]+)/i;
208  }
209  else {
210    rtagName = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i;
211  }
212
213  // The regular expression that jQuery uses to determine which self-closing
214  // tags to expand to open and close tags. This is vulnerable, because it
215  // matches all tag names except the few excluded ones. We only use this
216  // expression for determining vulnerability. The expression changed for
217  // version 3, but we only need to check for vulnerability in versions 1 and 2,
218  // so we use the expression from those versions.
219  // @see https://github.com/jquery/jquery/blob/1.5/jquery.js#L4957
220  var rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi;
221
222  jQuery.extend({
223    htmlPrefilter: function (html) {
224      // This is how jQuery determines the first tag in the HTML.
225      // @see https://github.com/jquery/jquery/blob/1.5/jquery.js#L5521
226      var tag = ( rtagName.exec( html ) || [ "", "" ] )[ 1 ].toLowerCase();
227
228      // It is not valid HTML for <option> or <optgroup> to have <select> as
229      // either a descendant or sibling, and attempts to inject one can cause
230      // XSS on jQuery versions before 3.5. Since this is invalid HTML and a
231      // possible XSS attack, reject the entire string.
232      // @see https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11023
233      if ((tag === 'option' || tag === 'optgroup') && html.match(/<\/?select/i)) {
234        html = '';
235      }
236
237      // Retain jQuery's prior to 3.5 conversion of pseudo-XHTML, but for only
238      // the tags in the `selfClosingTagsToReplace` list defined above.
239      // @see https://github.com/jquery/jquery/blob/1.5/jquery.js#L5518
240      // @see https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11022
241      html = html.replace(rxhtmlTagWithoutSpaceOrAttributes, "<$1></$1>");
242      html = html.replace(rxhtmlTagWithSpaceAndMaybeAttributes, "<$1$2></$1>");
243
244      // Prior to jQuery 1.12 and 2.2, this function gets called (via code later
245      // in this file) in addition to, rather than instead of, the unsafe
246      // expansion of self-closing tags (including ones not in the list above).
247      // We can't prevent that unsafe expansion from running, so instead we
248      // check to make sure that it doesn't affect the DOM returned by the
249      // browser's parsing logic. If it does affect it, then it's vulnerable to
250      // XSS, so we reject the entire string.
251      if ( (majorVersion === 1 && minorVersion < 12) || (majorVersion === 2 && minorVersion < 2) ) {
252        var htmlRisky = html.replace(rxhtmlTag, "<$1></$2>");
253        if (htmlRisky !== html) {
254          // Even though htmlRisky and html are different strings, they might
255          // represent the same HTML structure once parsed, in which case,
256          // htmlRisky is actually safe. We can ask the browser to parse both
257          // to find out, but the browser can't parse table fragments (e.g., a
258          // root-level "<td>"), so we need to wrap them. We just need this
259          // technique to work on all supported browsers; we don't need to
260          // copy from the specific jQuery version we're using.
261          // @see https://github.com/jquery/jquery/blob/3.5.1/dist/jquery.js#L4939
262          var wrapMap = {
263            thead: [ 1, "<table>", "</table>" ],
264            col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
265            tr: [ 2, "<table><tbody>", "</tbody></table>" ],
266            td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
267          };
268          wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
269          wrapMap.th = wrapMap.td;
270
271          // Function to wrap HTML into something that a browser can parse.
272          // @see https://github.com/jquery/jquery/blob/3.5.1/dist/jquery.js#L5032
273          var getWrappedHtml = function (html) {
274            var wrap = wrapMap[tag];
275            if (wrap) {
276              html = wrap[1] + html + wrap[2];
277            }
278            return html;
279          };
280
281          // Function to return canonical HTML after parsing it. This parses
282          // only; it doesn't execute scripts.
283          // @see https://github.com/jquery/jquery-migrate/blob/3.3.0/src/jquery/manipulation.js#L5
284          var getParsedHtml = function (html) {
285            var doc = window.document.implementation.createHTMLDocument( "" );
286            doc.body.innerHTML = html;
287            return doc.body ? doc.body.innerHTML : '';
288          };
289
290          // If the browser couldn't parse either one successfully, or if
291          // htmlRisky parses differently than html, then html is vulnerable,
292          // so reject it.
293          var htmlParsed = getParsedHtml(getWrappedHtml(html));
294          var htmlRiskyParsed = getParsedHtml(getWrappedHtml(htmlRisky));
295          if (htmlRiskyParsed === '' || htmlParsed === '' || (htmlRiskyParsed !== htmlParsed)) {
296            html = '';
297          }
298        }
299      }
300
301      return html;
302    }
303  });
304
305  // Prior to jQuery 1.12 and 2.2, jQuery.clean(), jQuery.buildFragment(), and
306  // jQuery.fn.html() did not call jQuery.htmlPrefilter(), so we add that.
307  if ( (majorVersion === 1 && minorVersion < 12) || (majorVersion === 2 && minorVersion < 2) ) {
308    // Filter the HTML coming into jQuery.fn.html().
309    var fnOriginalHtml = jQuery.fn.html;
310    jQuery.fn.extend({
311      // @see https://github.com/jquery/jquery/blob/1.5/jquery.js#L5147
312      html: function (value) {
313        if (typeof value === "string") {
314          value = jQuery.htmlPrefilter(value);
315        }
316        // .html() can be called as a setter (with an argument) or as a getter
317        // (without an argument), so invoke fnOriginalHtml() the same way that
318        // we were invoked.
319        return fnOriginalHtml.apply(this, arguments.length ? [value] : []);
320      }
321    });
322
323    // The regular expression that jQuery uses to determine if a string is HTML.
324    // Used by both clean() and buildFragment().
325    // @see https://github.com/jquery/jquery/blob/1.5/jquery.js#L4960
326    var rhtml = /<|&#?\w+;/;
327
328    // Filter HTML coming into:
329    // - jQuery.clean() for versions prior to 1.9.
330    // - jQuery.buildFragment() for 1.9 and above.
331    //
332    // The looping constructs in the two functions might be essentially
333    // identical, but they're each expressed here in the way that most closely
334    // matches their original expression in jQuery, so that we filter all of
335    // the items and only the items that jQuery will treat as HTML strings.
336    if (majorVersion === 1 && minorVersion < 9) {
337      var originalClean = jQuery.clean;
338      jQuery.extend({
339        // @see https://github.com/jquery/jquery/blob/1.5/jquery.js#L5493
340        'clean': function (elems, context, fragment, scripts) {
341          for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
342            if ( typeof elem === "string" && rhtml.test( elem ) ) {
343              elems[i] = elem = jQuery.htmlPrefilter(elem);
344            }
345          }
346          return originalClean.call(this, elems, context, fragment, scripts);
347        }
348      });
349    }
350    else {
351      var originalBuildFragment = jQuery.buildFragment;
352      jQuery.extend({
353        // @see https://github.com/jquery/jquery/blob/1.9.0/jquery.js#L6419
354        'buildFragment': function (elems, context, scripts, selection) {
355          var l = elems.length;
356          for ( var i = 0; i < l; i++ ) {
357            var elem = elems[i];
358            if (elem || elem === 0) {
359              if ( jQuery.type( elem ) !== "object" && rhtml.test( elem ) ) {
360                elems[i] = elem = jQuery.htmlPrefilter(elem);
361              }
362            }
363          }
364          return originalBuildFragment.call(this, elems, context, scripts, selection);
365        }
366      });
367    }
368  }
369
370})(jQuery);
371;/*})'"*/;/*})'"*/
372/**
373 * jQuery Once Plugin v1.2
374 * http://plugins.jquery.com/project/once
375 *
376 * Dual licensed under the MIT and GPL licenses:
377 *   http://www.opensource.org/licenses/mit-license.php
378 *   http://www.gnu.org/licenses/gpl.html
379 */
380
381(function ($) {
382  var cache = {}, uuid = 0;
383
384  /**
385   * Filters elements by whether they have not yet been processed.
386   *
387   * @param id
388   *   (Optional) If this is a string, then it will be used as the CSS class
389   *   name that is applied to the elements for determining whether it has
390   *   already been processed. The elements will get a class in the form of
391   *   "id-processed".
392   *
393   *   If the id parameter is a function, it will be passed off to the fn
394   *   parameter and the id will become a unique identifier, represented as a
395   *   number.
396   *
397   *   When the id is neither a string or a function, it becomes a unique
398   *   identifier, depicted as a number. The element's class will then be
399   *   represented in the form of "jquery-once-#-processed".
400   *
401   *   Take note that the id must be valid for usage as an element's class name.
402   * @param fn
403   *   (Optional) If given, this function will be called for each element that
404   *   has not yet been processed. The function's return value follows the same
405   *   logic as $.each(). Returning true will continue to the next matched
406   *   element in the set, while returning false will entirely break the
407   *   iteration.
408   */
409  $.fn.once = function (id, fn) {
410    if (typeof id != 'string') {
411      // Generate a numeric ID if the id passed can't be used as a CSS class.
412      if (!(id in cache)) {
413        cache[id] = ++uuid;
414      }
415      // When the fn parameter is not passed, we interpret it from the id.
416      if (!fn) {
417        fn = id;
418      }
419      id = 'jquery-once-' + cache[id];
420    }
421    // Remove elements from the set that have already been processed.
422    var name = id + '-processed';
423    var elements = this.not('.' + name).addClass(name);
424
425    return $.isFunction(fn) ? elements.each(fn) : elements;
426  };
427
428  /**
429   * Filters elements that have been processed once already.
430   *
431   * @param id
432   *   A required string representing the name of the class which should be used
433   *   when filtering the elements. This only filters elements that have already
434   *   been processed by the once function. The id should be the same id that
435   *   was originally passed to the once() function.
436   * @param fn
437   *   (Optional) If given, this function will be called for each element that
438   *   has not yet been processed. The function's return value follows the same
439   *   logic as $.each(). Returning true will continue to the next matched
440   *   element in the set, while returning false will entirely break the
441   *   iteration.
442   */
443  $.fn.removeOnce = function (id, fn) {
444    var name = id + '-processed';
445    var elements = this.filter('.' + name).removeClass(name);
446
447    return $.isFunction(fn) ? elements.each(fn) : elements;
448  };
449})(jQuery);
450;/*})'"*/;/*})'"*/
451var Drupal = Drupal || { 'settings': {}, 'behaviors': {}, 'locale': {} };
452
453// Allow other JavaScript libraries to use $.
454jQuery.noConflict();
455
456(function ($) {
457
458/**
459 * Override jQuery.fn.init to guard against XSS attacks.
460 *
461 * See http://bugs.jquery.com/ticket/9521
462 */
463var jquery_init = $.fn.init;
464$.fn.init = function (selector, context, rootjQuery) {
465  // If the string contains a "#" before a "<", treat it as invali
465d HTML.
466  if (selector && typeof selector === 'string') {
467    var hash_position = selector.indexOf('#');
468    if (hash_position >= 0) {
469      var bracket_position = selector.indexOf('<');
470      if (bracket_position > hash_position) {
471        throw 'Syntax error, unrecognized expression: ' + selector;
472      }
473    }
474  }
475  return jquery_init.call(this, selector, context, rootjQuery);
476};
477$.fn.init.prototype = jquery_init.prototype;
478
479/**
480 * Pre-filter Ajax requests to guard against XSS attacks.
481 *
482 * See https://github.com/jquery/jquery/issues/2432
483 */
484if ($.ajaxPrefilter) {
485  // For newer versions of jQuery, use an Ajax prefilter to prevent
486  // auto-executing script tags from untrusted domains. This is similar to the
487  // fix that is built in to jQuery 3.0 and higher.
488  $.ajaxPrefilter(function (s) {
489    if (s.crossDomain) {
490      s.contents.script = false;
491    }
492  });
493}
494else if ($.httpData) {
495  // For the version of jQuery that ships with Drupal core, override
496  // jQuery.httpData to prevent auto-detecting "script" data types from
497  // untrusted domains.
498  var jquery_httpData = $.httpData;
499  $.httpData = function (xhr, type, s) {
500    // @todo Consider backporting code from newer jQuery versions to check for
501    //   a cross-domain request here, rather than using Drupal.urlIsLocal() to
502    //   block scripts from all URLs that are not on the same site.
503    if (!type && !Drupal.urlIsLocal(s.url)) {
504      var content_type = xhr.getResponseHeader('content-type') || '';
505      if (content_type.indexOf('javascript') >= 0) {
506        // Default to a safe data type.
507        type = 'text';
508      }
509    }
510    return jquery_httpData.call(this, xhr, type, s);
511  };
512  $.httpData.prototype = jquery_httpData.prototype;
513}
514
515/**
516 * Attach all registered behaviors to a page element.
517 *
518 * Behaviors are event-triggered actions that attach to page elements, enhancing
519 * default non-JavaScript UIs. Behaviors are registered in the Drupal.behaviors
520 * object using the method 'attach' and optionally also 'detach' as follows:
521 * @code
522 *    Drupal.behaviors.behaviorName = {
523 *      attach: function (context, settings) {
524 *        ...
525 *      },
526 *      detach: function (context, settings, trigger) {
527 *        ...
528 *      }
529 *    };
530 * @endcode
531 *
532 * Drupal.attachBehaviors is added below to the jQuery ready event and so
533 * runs on initial page load. Developers implementing AHAH/Ajax in their
534 * solutions should also call this function after new page content has been
535 * loaded, feeding in an element to be processed, in order to attach all
536 * behaviors to the new content.
537 *
538 * Behaviors should use
539 * @code
540 *   $(selector).once('behavior-name', function () {
541 *     ...
542 *   });
543 * @endcode
544 * to ensure the behavior is attached only once to a given element. (Doing so
545 * enables the reprocessing of given elements, which may be needed on occasion
546 * despite the ability to limit behavior attachment to a particular element.)
547 *
548 * @param context
549 *   An element to attach behaviors to. If none is given, the document element
550 *   is used.
551 * @param settings
552 *   An object containing settings for the current context. If none given, the
553 *   global Drupal.settings object is used.
554 */
555Drupal.attachBehaviors = function (context, settings) {
556  context = context || document;
557  settings = settings || Drupal.settings;
558  // Execute all of them.
559  $.each(Drupal.behaviors, function () {
560    if ($.isFunction(this.attach)) {
561      this.attach(context, settings);
562    }
563  });
564};
565
566/**
567 * Detach registered behaviors from a page element.
568 *
569 * Developers implementing AHAH/Ajax in their solutions should call this
570 * function before page content is about to be removed, feeding in an element
571 * to be processed, in order to allow special behaviors to detach from the
572 * content.
573 *
574 * Such implementations should look for the class name that was added in their
575 * corresponding Drupal.behaviors.behaviorName.attach implementation, i.e.
576 * behaviorName-processed, to ensure the behavior is detached only from
577 * previously processed elements.
578 *
579 * @param context
580 *   An element to detach behaviors from. If none is given, the document element
581 *   is used.
582 * @param settings
583 *   An object containing settings for the current context. If none given, the
584 *   global Drupal.settings object is used.
585 * @param trigger
586 *   A string containing what's causing the behaviors to be detached. The
587 *   possible triggers are:
588 *   - unload: (default) The context element is being removed from the DOM.
589 *   - move: The element is about to be moved within the DOM (for example,
590 *     during a tabledrag row swap). After the move is completed,
591 *     Drupal.attachBehaviors() is called, so that the behavior can undo
592 *     whatever it did in response to the move. Many behaviors won't need to
593 *     do anything simply in response to the element being moved, but because
594 *     IFRAME elements reload their "src" when being moved within the DOM,
595 *     behaviors bound to IFRAME elements (like WYSIWYG editors) may need to
596 *     take some action.
597 *   - serialize: When an Ajax form is submitted, this is called with the
598 *     form as the context. This provides every behavior within the form an
599 *     opportunity to ensure that the field elements have correct content
600 *     in them before the form is serialized. The canonical use-case is so
601 *     that WYSIWYG editors can update the hidden textarea to which they are
602 *     bound.
603 *
604 * @see Drupal.attachBehaviors
605 */
606Drupal.detachBehaviors = function (context, settings, trigger) {
607  context = context || document;
608  settings = settings || Drupal.settings;
609  trigger = trigger || 'unload';
610  // Execute all of them.
611  $.each(Drupal.behaviors, function () {
612    if ($.isFunction(this.detach)) {
613      this.detach(context, settings, trigger);
614    }
615  });
616};
617
618/**
619 * Encode special characters in a plain-text string for display as HTML.
620 *
621 * @ingroup sanitization
622 */
623Drupal.checkPlain = function (str) {
624  var character, regex,
625      replace = { '&': '&amp;', "'": '&#39;', '"': '&quot;', '<': '&lt;', '>': '&gt;' };
626  str = String(str);
627  for (character in replace) {
628    if (replace.hasOwnProperty(character)) {
629      regex = new RegExp(character, 'g');
630      str = str.replace(regex, replace[character]);
631    }
632  }
633  return str;
634};
635
636/**
637 * Replace placeholders with sanitized values in a string.
638 *
639 * @param str
640 *   A string with placeholders.
641 * @param args
642 *   An object of replacements pairs to make. Incidences of any key in this
643 *   array are replaced with the corresponding value. Based on the first
644 *   character of the key, the value is escaped and/or themed:
645 *    - !variable: inserted as is
646 *    - @variable: escape plain text to HTML (Drupal.checkPlain)
647 *    - %variable: escape text and theme as a placeholder for user-submitted
648 *      content (checkPlain + Drupal.theme('placeholder'))
649 *
650 * @see Drupal.t()
651 * @ingroup sanitization
652 */
653Drupal.formatString = function(str, args) {
654  // Transform arguments before inserting them.
655  for (var key in args) {
656    if (args.hasOwnProperty(key)) {
657      switch (key.charAt(0)) {
658        // Escaped only.
659        case '@':
660          args[key] = Drupal.checkPlain(args[key]);
661          break;
662        // Pass-through.
663        case '!':
664          break;
665        // Escaped and placeholder.
666        default:
667          args[key] = Drupal.theme('placeholder', args[key]);
668          break;
669      }
670    }
671  }
672
673  return Drupal.stringReplace(str, args, null);
674};
675
676/**
677 * Replace substring.
678 *
679 * The longest keys will be tried first. Once a substring has been replaced,
680 * its new value will not be searched again.
681 *
682 * @param {String} str
683 *   A string with placeholders.
684 * @param {Object} args
685 *   Key-value pairs.
686 * @param {Array|null} keys
687 *   Array of keys from the "args".  Internal use only.
688 *
689 * @return {String}
690 *   Returns the replaced string.
691 */
692Drupal.stringReplace = function (str, args, keys) {
693  if (str.length === 0) {
694    return str;
695  }
696
697  // If the array of keys is not passed then collect the keys from the args.
698  if (!$.isArray(keys)) {
699    keys = [];
700    for (var k in args) {
701      if (args.hasOwnProperty(k)) {
702        keys.push(k);
703      }
704    }
705
706    // Order the keys by the character length. The shortest one is the first.
707    keys.sort(function (a, b) { return a.length - b.length; });
708  }
709
710  if (keys.length === 0) {
711    return str;
712  }
713
714  // Take next longest one from the end.
715  var key = keys.pop();
716  var fragments = str.split(key);
717
718  if (keys.length) {
719    for (var i = 0; i < fragments.length; i++) {
720      // Process each fragment with a copy of remaining keys.
721      fragments[i] = Drupal.stringReplace(fragments[i], args, keys.slice(0));
722    }
723  }
724
725  return fragments.join(args[key]);
726};
727
728/**
729 * Translate strings to the page language or a given language.
730 *
731 * See the documentation of the server-side t() function for further details.
732 *
733 * @param str
734 *   A string containing the English string to translate.
735 * @param args
736 *   An object of replacements pairs to make after translation. Incidences
737 *   of any key in this array are replaced with the corresponding value.
738 *   See Drupal.formatString().
739 *
740 * @param options
741 *   - 'context' (defaults to the empty context): The context the source string
742 *     belongs to.
743 *
744 * @return
745 *   The translated string.
746 */
747Drupal.t = function (str, args, options) {
748  options = options || {};
749  options.context = options.context || '';
750
751  // Fetch the localized version of the string.
752  if (Drupal.locale.strings && Drupal.locale.strings[options.context] && Drupal.locale.strings[options.context][str]) {
753    str = Drupal.locale.strings[options.context][str];
754  }
755
756  if (args) {
757    str = Drupal.formatString(str, args);
758  }
759  return str;
760};
761
762/**
763 * Format a string containing a count of items.
764 *
765 * This function ensures that the string is pluralized correctly. Since Drupal.t() is
766 * called by this function, make sure not to pass already-localized strings to it.
767 *
768 * See the documentation of the server-side format_plural() function for further details.
769 *
770 * @param count
771 *   The item count to display.
772 * @param singular
773 *   The string for the singular case. Please make sure it is clear this is
774 *   singular, to ease translation (e.g. use "1 new comment" instead of "1 new").
775 *   Do not use @count in the singular string.
776 * @param plural
777 *   The string for the plural case. Please make sure it is clear this is plural,
778 *   to ease translation. Use @count in place of the item count, as in "@count
779 *   new comments".
780 * @param args
781 *   An object of replacements pairs to make after translation. Incidences
782 *   of any key in this array are replaced with the corresponding value.
783 *   See Drupal.formatString().
784 *   Note that you do not need to include @count in this array.
785 *   This replacement is done automatically for the plural case.
786 * @param options
787 *   The options to pass to the Drupal.t() function.
788 * @return
789 *   A translated string.
790 */
791Drupal.formatPlural = function (count, singular, plural, args, options) {
792  args = args || {};
793  args['@count'] = count;
794  // Determine the index of the plural form.
795  var index = Drupal.locale.pluralFormula ? Drupal.locale.pluralFormula(args['@count']) : ((args['@count'] == 1) ? 0 : 1);
796
797  if (index == 0) {
798    return Drupal.t(singular, args, options);
799  }
800  else if (index == 1) {
801    return Drupal.t(plural, args, options);
802  }
803  else {
804    args['@count[' + index + ']'] = args['@count'];
805    delete args['@count'];
806    return Drupal.t(plural.replace('@count', '@count[' + index + ']'), args, options);
807  }
808};
809
810/**
811 * Returns the passed in URL as an absolute URL.
812 *
813 * @param url
814 *   The URL string to be normalized to an absolute URL.
815 *
816 * @return
817 *   The normalized, absolute URL.
818 *
819 * @see https://github.com/angular/angular.js/blob/v1.4.4/src/ng/urlUtils.js
820 * @see https://grack.com/blog/2009/11/17/absolutizing-url-in-javascript
821 * @see https://github.com/jquery/jquery-ui/blob/1.11.4/ui/tabs.js#L53
822 */
823Drupal.absoluteUrl = function (url) {
824  var urlParsingNode = document.createElement('a');
825
826  // Decode the URL first; this is required by IE <= 6. Decoding non-UTF-8
827  // strings may throw an exception.
828  try {
829    url = decodeURIComponent(url);
830  } catch (e) {}
831
832  urlParsingNode.setAttribute('href', url);
833
834  // IE <= 7 normalizes the URL when assigned to the anchor node similar to
835  // the other browsers.
836  return urlParsingNode.cloneNode(false).href;
837};
838
839/**
840 * Returns true if the URL is within Drupal's base path.
841 *
842 * @param url
843 *   The URL string to be tested.
844 *
845 * @return
846 *   Boolean true if local.
847 *
848 * @see https://github.com/jquery/jquery-ui/blob/1.11.4/ui/tabs.js#L58
849 */
850Drupal.urlIsLocal = function (url) {
851  // Always use browser-derived absolute URLs in the comparison, to avoid
852  // attempts to break out of the base path using directory traversal.
853  var absoluteUrl = Drupal.absoluteUrl(url);
854  var protocol = location.protocol;
855
856  // Consider URLs that match this site's base URL but use HTTPS instead of HTTP
857  // as local as well.
858  if (protocol === 'http:' && absoluteUrl.indexOf('https:') === 0) {
859    protocol = 'https:';
860  }
861  var baseUrl = protocol + '//' + location.host + Drupal.settings.basePath.slice(0, -1);
862
863  // Decoding non-UTF-8 strings may throw an exception.
864  try {
865    absoluteUrl = decodeURIComponent(absoluteUrl);
866  } catch (e) {}
867  try {
868    baseUrl = decodeURIComponent(baseUrl);
869  } catch (e) {}
870
871  // The given URL matches the site's base URL, or has a path under the site's
872  // base URL.
873  return absoluteUrl === baseUrl || absoluteUrl.indexOf(baseUrl + '/') === 0;
874};
875
876/**
877 * Sanitizes a URL for use with jQuery.ajax().
878 *
879 * @param url
880 *   The URL string to be sanitized.
881 *
882 * @return
883 *   The sanitized URL.
884 */
885Drupal.sanitizeAjaxUrl = function (url) {
886  var regex = /\=\?(&|$)/;
887  while (url.match(regex)) {
888    url = url.replace(regex, '');
889  }
890  return url;
891}
892
893/**
894 * Generate the themed representation of a Drupal object.
895 *
896 * All requests for themed output must go through this function. It examines
897 * the request and routes it to the appropriate theme function. If the current
898 * theme does not provide an override function, the generic theme function is
899 * called.
900 *
901 * For example, to retrieve the HTML for text that should be emphasized and
902 * displayed as a placeholder inside a sentence, call
903 * Drupal.theme('placeholder', text).
904 *
905 * @param func
906 *   The name of the theme function to call.
907 * @param ...
908 *   Additional arguments to pass along to the theme function.
909 * @return
910 *   Any data the theme function returns. This could be a plain HTML string,
911 *   but also a complex object.
912 */
913Drupal.theme = function (func) {
914  var args = Array.prototype.slice.apply(arguments, [1]);
915
916  return (Drupal.theme[func] || Drupal.theme.prototype[func]).apply(this, args);
917};
918
919/**
920 * Freeze the current body height (as minimum height). Used to prevent
921 * unnecessary upwards scrolling when doing DOM manipulations.
922 */
923Drupal.freezeHeight = function () {
924  Drupal.unfreezeHeight();
925  $('<div id="freeze-height"></div>').css({
926    position: 'absolute',
927    top: '0px',
928    left: '0px',
929    width: '1px',
930    height: $('body').css('height')
931  }).appendTo('body');
932};
933
934/**
935 * Unfreeze the body height.
936 */
937Drupal.unfreezeHeight = function () {
938  $('#freeze-height').remove();
939};
940
941/**
942 * Encodes a Drupal path for use in a URL.
943 *
944 * For aesthetic reasons slashes are not escaped.
945 */
946Drupal.encodePath = function (item, uri) {
947  uri = uri || location.href;
948  return encodeURIComponent(item).replace(/%2F/g, '/');
949};
950
951/**
952 * Get the text selection in a textarea.
953 */
954Drupal.getSelection = function (element) {
955  if (typeof element.selectionStart != 'number' && document.selection) {
956    // The current selection.
957    var range1 = document.selection.createRange();
958    var range2 = range1.duplicate();
959    // Select all text.
960    range2.moveToElementText(element);
961    // Now move 'dummy' end point to end point of original range.
962    range2.setEndPoint('EndToEnd', range1);
963    // Now we can calculate start and end points.
964    var start = range2.text.length - range1.text.length;
965    var end = start + range1.text.length;
966    return { 'start': start, 'end': end };
967  }
968  return { 'start': element.selectionStart, 'end': element.selectionEnd };
969};
970
971/**
972 * Add a global variable which determines if the window is being unloaded.
973 *
974 * This is primarily used by Drupal.displayAjaxError().
975 */
976Drupal.beforeUnloadCalled = false;
977$(window).bind('beforeunload pagehide', function () {
978    Drupal.beforeUnloadCalled = true;
979});
980
981/**
982 * Displays a JavaScript error from an Ajax response when appropriate to do so.
983 */
984Drupal.displayAjaxError = function (message) {
985  // Skip displaying the message if the user deliberately aborted (for example,
986  // by reloading the page or navigating to a different page) while the Ajax
987  // request was still ongoing. See, for example, the discussion at
988  // http://stackoverflow.com/questions/699941/handle-ajax-error-when-a-user-clicks-refresh.
989  if (!Drupal.beforeUnloadCalled) {
990    alert(message);
991  }
992};
993
994/**
995 * Build an error message from an Ajax response.
996 */
997Drupal.ajaxError = function (xmlhttp, uri, customMessage) {
998  var statusCode, statusText, pathText, responseText, readyStateText, message;
999  if (xmlhttp.status) {
1000    statusCode = "\n" + Drupal.t("An AJAX HTTP error occurred.") +  "\n" + Drupal.t("HTTP Result Code: !status", {'!status': xmlhttp.status});
1001  }
1002  else {
1003    statusCode = "\n" + Drupal.t("An AJAX HTTP request terminated abnormally.");
1004  }
1005  statusCode += "\n" + Drupal.t("Debugging information follows.");
1006  pathText = "\n" + Drupal.t("Path: !uri", {'!uri': uri} );
1007  statusText = '';
1008  // In some cases, when statusCode == 0, xmlhttp.statusText may not be defined.
1009  // Unfortunately, testing for it with typeof, etc, doesn't seem to catch that
1010  // and the test causes an exception. So we need to catch the exception here.
1011  try {
1012    statusText = "\n" + Drupal.t("StatusText: !statusText", {'!statusText': $.trim(xmlhttp.statusText)});
1013  }
1014  catch (e) {}
1015
1016  responseText = '';
1017  // Again, we don't have a way to know for sure whether accessing
1018  // xmlhttp.responseText is going to throw an exception. So we'll catch it.
1019  try {
1020    responseText = "\n" + Drupal.t("ResponseText: !responseText", {'!responseText': $.trim(xmlhttp.responseText) } );
1021  } catch (e) {}
1022
1023  // Make the responseText more readable by stripping HTML tags and newlines.
1024  responseText = responseText.replace(/<("[^"]*"|'[^']*'|[^'">])*>/gi,"");
1025  responseText = responseText.replace(/[\n]+\s+/g,"\n");
1026
1027  // We don't need readyState except for status == 0.
1028  readyStateText = xmlhttp.status == 0 ? ("\n" + Drupal.t("ReadyState: !readyState", {'!readyState': xmlhttp.readyState})) : "";
1029
1030  // Additional message beyond what the xmlhttp object provides.
1031  customMessage = customMessage ? ("\n" + Drupal.t("CustomMessage: !customMessage", {'!customMessage': customMessage})) : "";
1032
1033  message = statusCode + pathText + statusText + customMessage + responseText + readyStateText;
1034  return message;
1035};
1036
1037// Class indicating that JS is enabled; used for styling purpose.
1038$('html').addClass('js');
1039
1040$(function () {
1041  if (Drupal.settings.setHasJsCookie === 1) {
1042    // 'js enabled' cookie.
1043    document.cookie = 'has_js=1; path=/; SameSite=Lax';
1044  }
1045});
1046
1047/**
1048 * Additions to jQuery.support.
1049 */
1050$(function () {
1051  /**
1052   * Boolean indicating whether or not position:fixed is supported.
1053   */
1054  if (jQuery.support.positionFixed === undefined) {
1055    var el = $('<div style="position:fixed; top:10px" />').appendTo(document.body);
1056    jQuery.support.positionFixed = el[0].offsetTop === 10;
1057    el.remove();
1058  }
1059});
1060
1061//Attach all behaviors.
1062$(function () {
1063  Drupal.attachBehaviors(document, Drupal.settings);
1064});
1065
1066/**
1067 * The default themes.
1068 */
1069Drupal.theme.prototype = {
1070
1071  /**
1072   * Formats text for emphasized display in a placeholder inside a sentence.
1073   *
1074   * @param str
1075   *   The text to format (plain-text).
1076   * @return
1077   *   The formatted text (html).
1078   */
1079  placeholder: function (str) {
1080    return '<em class="placeholder">' + Drupal.checkPlain(str) + '</em>';
1081  }
1082};
1083
1084})(jQuery);
1085;/*})'"*/;/*})'"*/
1086/**
1087 * Workaround for deprecated $.browser which was removed in jQuery 1.9
1088 * @see https://api.jquery.com/jquery.browser/
1089 */
1090(function ($) {
1091  if ($.browser===undefined) {
1092    $.browser={};
1093    $.browser.msie=false;
1094    $.browser.version=0;
1095    if (navigator.userAgent.match(/MSIE ([0-9]+)\./)) {
1096      $.browser.msie=true;
1097      $.browser.version=RegExp.$1;
1098    }
1099  }
1100})(jQuery);
1101;/*})'"*/;/*})'"*/
1102/*! jQuery UI - v1.10.2 - 2013-03-14
1103* http://jqueryui.com
1104* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
1105(function(e,t){function i(t,i){var a,n,r,o=t.nodeName.toLowerCase();return"area"===o?(a=t.parentNode,n=a.name,t.href&&n&&"map"===a.nodeName.toLowerCase()?(r=e("img[usemap=#"+n+"]")[0],!!r&&s(r)):!1):(/input|select|textarea|button|object/.test(o)?!t.disabled:"a"===o?t.href||i:i)&&s(t)}function s(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}var a=0,n=/^ui-id-\d+$/;e.ui=e.ui||{},e.extend(e.ui,{version:"1.10.2",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({focus:function(t){return function(i,s){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),s&&s.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),scrollParent:function(){var t;return t=e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(i){if(i!==t)return this.css("zIndex",i);if(this.length)for(var s,a,n=e(this[0]);n.length&&n[0]!==document;){if(s=n.css("position"),("absolute"===s||"relative"===s||"fixed"===s)&&(a=parseInt(n.css("zIndex"),10),!isNaN(a)&&0!==a))return a;n=n.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++a)})},removeUniqueId:function(){return this.each(function(){n.test(this.id
vendor: 4,128 bytes, lines 1105-1110
1105)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,s){return!!e.data(t,s[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var s=e.attr(t,"tabindex"),a=isNaN(s);return(a||s>=0)&&i(t,!a)}}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(i,s){function a(t,i,s,a){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,s&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),a&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===s?["Left","Right"]:["Top","Bottom"],r=s.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+s]=function(i){return i===t?o["inner"+s].call(this):this.each(function(){e(this).css(r,a(this,i)+"px")})},e.fn["outer"+s]=function(t,i){return"number"!=typeof t?o["outer"+s].call(this,t):this.each(function(){e(this).css(r,a(this,t,!0,i)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,i,s){var a,n=e.ui[t].prototype;for(a in s)n.plugins[a]=n.plugins[a]||[],n.plugins[a].push([i,s[a]])},call:function(e,t,i){var s,a=e.plugins[t];if(a&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(s=0;a.length>s;s++)e.options[a[s][0]]&&a[s][1].apply(e.element,i)}},hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",a=!1;return t[s]>0?!0:(t[s]=1,a=t[s]>0,t[s]=0,a)}})})(jQuery);
1106;/*})'"*/;/*})'"*/
1107/*! jQuery UI - v1.10.2 - 2013-03-14
1108* http://jqueryui.com
1109* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
1110(function(t,e){var i="ui-effects-";t.effects={effect:{}},function(t,e){function i(t,e,i){var s=u[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:t>s.max?s.max:t)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(t,a){var o,r=a.re.exec(i),h=r&&a.parse(r),l=a.space||"rgba";return h?(o=s[l](h),s[c[l].cache]=o[c[l].cache],n=s._rgba=o._rgba,!1):e}),n.length?("0,0,0,0"===n.join()&&t.extend(n,a.transparent),s):a[i]}function n(t,e,i){return i=(i+1)%1,1>6*i?t+6*(e-t)*i:1>2*i?e:2>3*i?t+6*(e-t)*(2/3-i):t}var a,o="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],l=t.Color=function(e,i,s,n){return new t.Color.fn.parse(e,i,s,n)},c={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"}
vendor: 4,446 bytes, line 1110
1110,saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},u={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},d=l.support={},p=t("<p>")[0],f=t.each;p.style.cssText="background-color:rgba(1,1,1,.5)",d.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(c,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),l.fn=t.extend(l.prototype,{parse:function(n,o,r,h){if(n===e)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(o),o=e);var u=this,d=t.type(n),p=this._rgba=[];return o!==e&&(n=[n,o,r,h],d="array"),"string"===d?this.parse(s(n)||a._default):"array"===d?(f(c.rgba.props,function(t,e){p[e.idx]=i(n[e.idx],e)}),this):"object"===d?(n instanceof l?f(c,function(t,e){n[e.cache]&&(u[e.cache]=n[e.cache].slice())}):f(c,function(e,s){var a=s.cache;f(s.props,function(t,e){if(!u[a]&&s.to){if("alpha"===t||null==n[t])return;u[a]=s.to(u._rgba)}u[a][e.idx]=i(n[t],e,!0)}),u[a]&&0>t.inArray(null,u[a].slice(0,3))&&(u[a][3]=1,s.from&&(u._rgba=s.from(u[a])))}),this):e},is:function(t){var i=l(t),s=!0,n=this;return f(c,function(t,a){var o,r=i[a.cache];return r&&(o=n[a.cache]||a.to&&a.to(n._rgba)||[],f(a.props,function(t,i){return null!=r[i.idx]?s=r[i.idx]===o[i.idx]:e})),s}),s},_space:function(){var t=[],e=this;return f(c,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var s=l(t),n=s._space(),a=c[n],o=0===this.alpha()?l("transparent"):this,r=o[a.cache]||a.to(o._rgba),h=r.slice();return s=s[a.cache],f(a.props,function(t,n){var a=n.idx,o=r[a],l=s[a],c=u[n.type]||{};null!==l&&(null===o?h[a]=l:(c.mod&&(l-o>c.mod/2?o+=c.mod:o-l>c.mod/2&&(o-=c.mod)),h[a]=i((l-o)*e+o,n)))}),this[n](h)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(e)._rgba;return l(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&3>e&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return t=(t||0).toString(16),1===t.length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,c.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,a=t[2]/255,o=t[3],r=Math.max(s,n,a),h=Math.min(s,n,a),l=r-h,c=r+h,u=.5*c;return e=h===r?0:s===r?60*(n-a)/l+360:n===r?60*(a-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=u?l/c:l/(2-c),[Math.round(e)%360,i,u,null==o?1:o]},c.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],a=t[3],o=.5>=s?s*(1+i):s+i-s*i,r=2*s-o;return[Math.round(255*n(r,o,e+1/3)),Math.round(255*n(r,o,e)),Math.round(255*n(r,o,e-1/3)),a]},f(c,function(s,n){var a=n.props,o=n.cache,h=n.to,c=n.from;l.fn[s]=function(s){if(h&&!this[o]&&(this[o]=h(this._rgba)),s===e)return this[o].slice();var n,r=t.type(s),u="array"===r||"object"===r?s:arguments,d=this[o].slice();return f(a,function(t,e){var s=u["object"===r?t:e.idx];null==s&&(s=d[e.idx]),d[e.idx]=i(s,e)}),c?(n=l(c(d)),n[o]=d,n):l(d)},f(a,function(e,i){l.fn[e]||(l.fn[e]=function(n){var a,o=t.type(n),h="alpha"===e?this._hsla?"hsla":"rgba":s,l=this[h](),c=l[i.idx];return"undefined"===o?c:("function"===o&&(n=n.call(this,c),o=t.type(n)),null==n&&i.empty?this:("string"===o&&(a=r.exec(n),a&&(n=c+parseFloat(a[2])*("+"===a[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(e){var i=e.split(" ");f(i,function(e,i){t.cssHooks[i]={set:function(e,n){var a,o,r="";if("transparent"!==n&&("string"!==t.type(n)||(a=s(n)))){if(n=l(a||n),!d.rgba&&1!==n._rgba[3]){for(o="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&o&&o.style;)try{r=t.css(o,"backgroundColor"),o=o.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{e.style[i]=n}catch(h){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=l(e.elem,i),e.end=l(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},l.hook(o),t.cssHooks.borderColor={expand:function(t){var e={};return f(["Top","Right","Bottom","Left"],function(i,s){e["border"+s+"Color"]=t}),e}}
vendor: 5,814 bytes, line 1110
1110,a=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(jQuery),function(){function i(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,a={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(a[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(a[i]=n[i]);return a}function s(e,i){var s,n,o={};for(s in i)n=i[s],e[s]!==n&&(a[s]||(t.fx.step[s]||!isNaN(parseFloat(n)))&&(o[s]=n));return o}var n=["add","remove","toggle"],a={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(jQuery.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(e,a,o,r){var h=t.speed(a,o,r);return this.queue(function(){var a,o=t(this),r=o.attr("class")||"",l=h.children?o.find("*").addBack():o;l=l.map(function(){var e=t(this);return{el:e,start:i(this)}}),a=function(){t.each(n,function(t,i){e[i]&&o[i+"Class"](e[i])})},a(),l=l.map(function(){return this.end=i(this.el[0]),this.diff=s(this.start,this.end),this}),o.attr("class",r),l=l.map(function(){var e=this,i=t.Deferred(),s=t.extend({},h,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,l.get()).done(function(){a(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),h.complete.call(o[0])})})},t.fn.extend({addClass:function(e){return function(i,s,n,a){return s?t.effects.animateClass.call(this,{add:i},s,n,a):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,s,n,a){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,a):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(i){return function(s,n,a,o,r){return"boolean"==typeof n||n===e?a?t.effects.animateClass.call(this,n?{add:s}:{remove:s},a,o,r):i.apply(this,arguments):t.effects.animateClass.call(this,{toggle:s},n,a,o)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,a){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,a)}})}(),function(){function s(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function n(e){return!e||"number"==typeof e||t.fx.speeds[e]?!0:"string"!=typeof e||t.effects.effect[e]?t.isFunction(e)?!0:"object"!=typeof e||e.effect?!1:!0:!0}t.extend(t.effects,{version:"1.10.2",save:function(t,e){for(var s=0;e.length>s;s++)null!==e[s]&&t.data(i+e[s],t[0].style[e[s]])},restore:function(t,s){var n,a;for(a=0;s.length>a;a++)null!==s[a]&&(n=t.data(i+s[a]),n===e&&(n=""),t.css(s[a],n))},setMode:function(t,e){return"toggle"===e&&(e=t.is(":hidden")?"show":"hide"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createWrapper:function(e){if(e.parent().is(".ui-effects-wrapper"))return e.parent();var i={width:e.outerWidth(!0),height:e.outerHeight(!0),"float":e.css("float")},s=t("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},a=document.activeElement;try{a.id}catch(o){a=document.body}return e.wrap(s),(e[0]===a||t.contains(e[0],a))&&t(a).focus(),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).focus()),e},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var a=e.cssUnit(i);a[0]>0&&(n[i]=a[0]*s+a[1])}),n}}),t.fn.extend({effect:function(){function e(e){function s(){t.isFunction(a)&&a.call(n[0]),t.isFunction(e)&&e()}var n=t(this),a=i.complete,r=i.mode;(n.is(":hidden")?"hide"===r:"show"===r)?(n[r](),s()):o.call(n[0],i,s)}var i=s.apply(this,arguments),n=i.mode,a=i.queue,o=t.effects.effect[i.effect];return t.fx.off||!o?n?this[n](i.duration,i.complete):this.each(function(){i.complete&&i.complete.call(this)}):a===!1?this.each(e):this.queue(a||"fx",e)},show:function(t){return function(e){if(n(e))return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="show",this.effect.call(this,i)}}(t.fn.show),hide:function(t){return function(e){if(n(e))return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="hide",this.effect.call(this,i)}}(t.fn.hide),toggle:function(t){return function(e){if(n(e)||"boolean"==typeof e)return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="toggle",this.effect.call(this,i)}}
1110(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s}})}(),function(){var e={};t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,i){e[i]=function(e){return Math.pow(e,t+2)}}),t.extend(e,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;((e=Math.pow(2,--i))-1)/11>t;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(e,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return.5>t?i(2*t)/2:1-i(-2*t+2)/2}})}()})(jQuery);
1111;/*})'"*/;/*})'"*/
1112/*jslint browser: true */ /*global jQuery: true */
1113
1114/**
1115 * jQuery Cookie plugin
1116 *
1117 * Copyright (c) 2010 Klaus Hartl (stilbuero.de)
1118 * Dual licensed under the MIT and GPL licenses:
1119 * http://www.opensource.org/licenses/mit-license.php
1120 * http://www.gnu.org/licenses/gpl.html
1121 *
1122 */
1123
1124// TODO JsDoc
1125
1126/**
1127 * Create a cookie with the given key and value and other optional parameters.
1128 *
1129 * @example $.cookie('the_cookie', 'the_value');
1130 * @desc Set the value of a cookie.
1131 * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
1132 * @desc Create a cookie with all available options.
1133 * @example $.cookie('the_cookie', 'the_value');
1134 * @desc Create a session cookie.
1135 * @example $.cookie('the_cookie', null);
1136 * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
1137 *       used when the cookie was set.
1138 *
1139 * @param String key The key of the cookie.
1140 * @param String value The value of the cookie.
1141 * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
1142 * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
1143 *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
1144 *                             If set to null or omitted, the cookie will be a session cookie and will not be retained
1145 *                             when the the browser exits.
1146 * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
1147 * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
1148 * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
1149 *                        require a secure protocol (like HTTPS).
1150 * @type undefined
1151 *
1152 * @name $.cookie
1153 * @cat Plugins/Cookie
1154 * @author Klaus Hartl/[email protected]
1155 */
1156
1157/**
1158 * Get the value of a cookie with the given key.
1159 *
1160 * @example $.cookie('the_cookie');
1161 * @desc Get the value of a cookie.
1162 *
1163 * @param String key The key of the cookie.
1164 * @return The value of the cookie.
1165 * @type String
1166 *
1167 * @name $.cookie
1168 * @cat Plugins/Cookie
1169 * @author Klaus Hartl/[email protected]
1170 */
1171jQuery.cookie = function (key, value, options) {
1172
1173    // key and value given, set cookie...
1174    if (arguments.length > 1 && (value === null || typeof value !== "object")) {
1175        options = jQuery.extend({}, options);
1176
1177        if (value === null) {
1178            options.expires = -1;
1179        }
1180
1181        if (typeof options.expires === 'number') {
1182            var days = options.expires, t = options.expires = new Date();
1183            t.setDate(t.getDate() + days);
1184        }
1185
1186        return (document.cookie = [
1187            encodeURIComponent(key), '=',
1188            options.raw ? String(value) : encodeURIComponent(String(value)),
1189            options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
1190            options.path ? '; path=' + options.path : '',
1191            options.domain ? '; domain=' + options.domain : '',
1192            options.secure ? '; secure' : ''
1193        ].join(''));
1194    }
1195
1196    // key and possibly options given, get cookie...
1197    options = value || {};
1198    var result, decode = options.raw ? function (s) { return s; }
1198 : decodeURIComponent;
1199    return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
1200};
1201;/*})'"*/;/*})'"*/
1202/*!
1203 * jQuery Form Plugin
1204 * version: 4.2.1
1205 * Requires jQuery v1.7 or later
1206 * Copyright 2017 Kevin Morris
1207 * Copyright 2006 M. Alsup
1208 * Project repository: https://github.com/jquery-form/form
1209 * Dual licensed under the MIT and LGPLv3 licenses.
1210 * https://github.com/jquery-form/form#license
1211 */
1212!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(b,c){return void 0===c&&(c="undefined"!=typeof window?require("jquery"):require("jquery")(b)),a(c),c}:a(jQuery)}(function(a){"use strict";function b(b){var c=b.data;b.isDefaultPrevented()||(b.preventDefault(),a(b.target).closest("form").ajaxSubmit(c))}function c(b){var c=b.target,d=a(c);if(!d.is("[type=submit],[type=image]")){var e=d.closest("[type=submit]");if(0===e.length)return;c=e[0]}var f=c.form;if(f.clk=c,"image"===c.type)if(void 0!==b.offsetX)f.clk_x=b.offsetX,f.clk_y=b.offsetY;else if("function"==typeof a.fn.offset){var g=d.offset();f.clk_x=b.pageX-g.left,f.clk_y=b.pageY-g.top}else f.clk_x=b.pageX-c.offsetLeft,f.clk_y=b.pageY-c.offsetTop;setTimeout(function(){f.clk=f.clk_x=f.clk_y=null},100)}function d(){if(a.fn.ajaxSubmit.debug){var b="[jquery.form] "+Array.prototype.join.call(arguments,"");window.console&&window.console.log?window.console.log(b):window.opera&&window.opera.postError&&window.opera.postError(b)}}var e={};e.fileapi=void 0!==a('<input type="file">').get(0).files,e.formdata=void 0!==window.FormData;var f=!!a.fn.prop;a.fn.attr2=function(){if(!f)return this.attr.apply(this,arguments);var a=this.prop.apply(this,arguments);return a&&a.jquery||"string"==typeof a?a:this.attr.apply(this,arguments)},a.fn.ajaxSubmit=function(b,c,g,h){function i(c){var d,e,f=a.param(c,b.traditional).split("&"),g=f.length,h=[];for(d=0;d<g;d++)f[d]=f[d].replace(/\+/g," "),e=f[d].split("="),h.push([decodeURIComponent(e[0]),decodeURIComponent(e[1])]);return h}function j(c){for(var d=new FormData,e=0;e<c.length;e++)d.append(c[e].name,c[e].value);if(b.extraData){var f=i(b.extraData);for(e=0;e<f.length;e++)f[e]&&d.append(f[e][0],f[e][1])}b.data=null;var g=a.extend(!0,{},a.ajaxSettings,b,{contentType:!1,processData:!1,cache:!1,type:l||"POST"});b.uploadProgress&&(g.xhr=function(){var c=a.ajaxSettings.xhr();return c.upload&&c.upload.addEventListener("progress",function(a){var c=0,d=a.loaded||a.position,e=a.total;a.lengthComputable&&(c=Math.ceil(d/e*100)),b.uploadProgress(a,d,e,c)},!1),c}),g.data=null;var h=g.beforeSend;return g.beforeSend=function(a,c){b.formData?c.data=b.formData:c.data=d,h&&h.call(this,a,c)},a.ajax(g)}function k(c){function e(a){var b=null;try{a.contentWindow&&(b=a.contentWindow.document)}catch(a){d("cannot get iframe.contentWindow document: "+a)}if(b)return b;try{b=a.contentDocument?a.contentDocument:a.document}catch(c){d("cannot get iframe.contentDocument: "+c),b=a.document}return b}function g(){function b(){try{var a=e(q).readyState;d("state = "+a),a&&"uninitialized"===a.toLowerCase()&&setTimeout(b,50)}catch(a){d("Server abort: ",a," (",a.name,")"),h(2),w&&clearTimeout(w),w=void 0}}var c=o.attr2("target"),f=o.attr2("action"),g=o.attr("enctype")||o.attr("encoding")||"multipart/form-data";x.setAttribute("target",n),l&&!/post/i.test(l)||x.setAttribute("method","POST"),f!==k.url&&x.setAttribute("action",k.url),k.skipEncodingOverride||l&&!/post/i.test(l)||o.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"}),k.timeout&&(w=setTimeout(function(){v=!0,h(1)},k.timeout));var i=[];try{if(k.extraData)for(var j in k.extraData)k.extraData.hasOwnProperty(j)&&(a.isPlainObject(k.extraData[j])&&k.extraData[j].hasOwnProperty("name")&&k.extraData[j].hasOwnProperty("value")?i.push(a('<input type="hidden" name="'+k.extraData[j].name+'">',z).val(k.extraData[j].value).appendTo(x)[0]):i.push(a('<input type="hidden" name="'+j+'">',z).val(k.extraData[j]).appendTo(x)[0]));k.iframeTarget||p.appendTo(A),q.attachEvent?q.attachEvent("onload",h):q.addEventListener("load",h,!1),setTimeout(b,15);try{x.submit()}catch(a){var m=document.createElement("form").submit;m.apply(x)}}finally{x.setAttribute("action",f),x.setAttribute("enctype",g),c?x.setAttribute("target",c):o.removeAttr("target"),a(i).remove()}}function h(b){if(!r.aborted&&!F){if(E=e(q),E||(d("cannot access response document"),b=2),1===b&&r)return r.abort("timeout"),void y.reject(r,"timeout");if(2===b&&r)return r.abort("server abort"),void y.reject(r,"error","server abort");if(E&&E.location.href!==k.iframeSrc||v){q.detachEvent?q.detachEvent("onload",h):q.removeEventListener("load",h,!1);var c,f="success";try{if(v)throw"timeout";var g="xml"===k.dataType||E.XMLDocument||a.isXMLDoc(E);if(d("isXml="+g),!g&&window.opera&&(null===E.body||!E.body.innerHTML)&&--G)return d("requeing onLoad callback, DOM not available"),void setTimeout(h,250);var i=E.body?E.body:E.documentElement;r.responseText=i?i.innerHTML:null,r.responseXML=E.XMLDocument?E.XMLDocument:E,g&&(k.dataType="xml"),r.getResponseHeader=function(a){return{"content-type":k.dataType}[a.toLowerCase()]},i&&(r.status=Number(i.getAttribute("status"))||r.status,r.statusText=i.getAttribute("statusText")||r.statusText);var j=(k.dataType||"").toLowerCase(),l=/(json|script|text)/.test(j);if(l||k.textarea){var n=E.getElementsByTagName("textarea")[0];if(n)r.responseText=n.value,r.status=Number(n.getAttribute("status"))||r.status,r.statusText=n.getAttribute("statusText")||r.statusText;else if(l){var o=E.getElementsByTagName("pre")[0],s=E.getElementsByTagName("body")[0];o?r.responseText=o.textContent?o.textContent:o.innerText:s&&(r.responseText=s.textContent?s.textContent:s.innerText)}}else"xml"===j&&!r.responseXML&&r.responseText&&(r.responseXML=H(r.responseText));try{D=J(r,j,k)}catch(a){f="parsererror",r.error=c=a||f}}catch(a){d("error caught: ",a),f="error",r.error=c=a||f}r.aborted&&(d("upload aborted"),f=null),r.status&&(f=r.status>=200&&r.status<300||304===r.status?"success":"error"),"success"===f?(k.success&&k.success.call(k.
1212context,D,"success",r),y.resolve(r.responseText,"success",r),m&&a.event.trigger("ajaxSuccess",[r,k])):f&&(void 0===c&&(c=r.statusText),k.error&&k.error.call(k.context,r,f,c),y.reject(r,"error",c),m&&a.event.trigger("ajaxError",[r,k,c])),m&&a.event.trigger("ajaxComplete",[r,k]),m&&!--a.active&&a.event.trigger("ajaxStop"),k.complete&&k.complete.call(k.context,r,f),F=!0,k.timeout&&clearTimeout(w),setTimeout(function(){k.iframeTarget?p.attr("src",k.iframeSrc):p.remove(),r.responseXML=null},100)}}}var i,j,k,m,n,p,q,r,t,u,v,w,x=o[0],y=a.Deferred();if(y.abort=function(a){r.abort(a)},c)for(j=0;j<s.length;j++)i=a(s[j]),f?i.prop("disabled",!1):i.removeAttr("disabled");k=a.extend(!0,{},a.ajaxSettings,b),k.context=k.context||k,n="jqFormIO"+(new Date).getTime();var z=x.ownerDocument,A=o.closest("body");if(k.iframeTarget?(p=a(k.iframeTarget,z),u=p.attr2("name"),u?n=u:p.attr2("name",n)):(p=a('<iframe name="'+n+'" src="'+k.iframeSrc+'" />',z),p.css({position:"absolute",top:"-1000px",left:"-1000px"})),q=p[0],r={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(b){var c="timeout"===b?"timeout":"aborted";d("aborting upload... "+c),this.aborted=1;try{q.contentWindow.document.execCommand&&q.contentWindow.document.execCommand("Stop")}catch(a){}p.attr("src",k.iframeSrc),r.error=c,k.error&&k.error.call(k.context,r,c,b),m&&a.event.trigger("ajaxError",[r,k,c]),k.complete&&k.complete.call(k.context,r,c)}},m=k.global,m&&0==a.active++&&a.event.trigger("ajaxStart"),m&&a.event.trigger("ajaxSend",[r,k]),k.beforeSend&&k.beforeSend.call(k.context,r,k)===!1)return k.global&&a.active--,y.reject(),y;if(r.aborted)return y.reject(),y;(t=x.clk)&&(u=t.name)&&!t.disabled&&(k.extraData=k.extraData||{},k.extraData[u]=t.value,"image"===t.type&&(k.extraData[u+".x"]=x.clk_x,k.extraData[u+".y"]=x.clk_y));var B=a("meta[name=csrf-token]").attr("content"),C=a("meta[name=csrf-param]").attr("content");C&&B&&(k.extraData=k.extraData||{},k.extraData[C]=B),k.forceSync?g():setTimeout(g,10);var D,E,F,G=50,H=a.parseXML||function(a,b){return window.ActiveXObject?(b=new ActiveXObject("Microsoft.XMLDOM"),b.async="false",b.loadXML(a)):b=(new DOMParser).parseFromString(a,"text/xml"),b&&b.documentElement&&"parsererror"!==b.documentElement.nodeName?b:null},I=a.parseJSON||function(a){return window.eval("("+a+")")},J=function(b,c,d){var e=b.getResponseHeader("content-type")||"",f=("xml"===c||!c)&&e.indexOf("xml")>=0,g=f?b.responseXML:b.responseText;return f&&"parsererror"===g.documentElement.nodeName&&a.error&&a.error("parsererror"),d&&d.dataFilter&&(g=d.dataFilter(g,c)),"string"==typeof g&&(("json"===c||!c)&&e.indexOf("json")>=0?g=I(g):("script"===c||!c)&&e.indexOf("javascript")>=0&&a.globalEval(g)),g};return y}if(!this.length)return d("ajaxSubmit: skipping submit process - no element selected"),this;var l,m,n,o=this;"function"==typeof b?b={success:b}:"string"==typeof b||b===!1&&arguments.length>0?(b={url:b,data:c,dataType:g},"function"==typeof h&&(b.success=h)):void 0===b&&(b={}),l=b.method||b.type||this.attr2("method"),m=b.url||this.attr2("action"),n="string"==typeof m?a.trim(m):"",n=n||window.location.href||"",n&&(n=(n.match(/^([^#]+)/)||[])[1]),b=a.extend(!0,{url:n,success:a.ajaxSettings.success,type:l||a.ajaxSettings.type,iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},b);var p={};if(this.trigger("form-pre-serialize",[this,b,p]),p.veto)return d("ajaxSubmit: submit vetoed via form-pre-serialize trigger"),this;if(b.beforeSerialize&&b.beforeSerialize(this,b)===!1)return d("ajaxSubmit: submit aborted via beforeSerialize callback"),this;var q=b.traditional;void 0===q&&(q=a.ajaxSettings.traditional);var r,s=[],t=this.formToArray(b.semantic,s,b.filtering);if(b.data){var u=a.isFunction(b.data)?b.data(t):b.data;b.extraData=u,r=a.param(u,q)}if(b.beforeSubmit&&b.beforeSubmit(t,this,b)===!1)return d("ajaxSubmit: submit aborted via beforeSubmit callback"),this;if(this.trigger("form-submit-validate",[t,this,b,p]),p.veto)return d("ajaxSubmit: submit vetoed via form-submit-validate trigger"),this;var v=a.param(t,q);r&&(v=v?v+"&"+r:r),"GET"===b.type.toUpperCase()?(b.url+=(b.url.indexOf("?")>=0?"&":"?")+v,b.data=null):b.data=v;var w=[];if(b.resetForm&&w.push(function(){o.resetForm()}),b.clearForm&&w.push(function(){o.clearForm(b.includeHidden)}),!b.dataType&&b.target){var x=b.success||function(){};w.push(function(c,d,e){var f=arguments,g=b.replaceTarget?"replaceWith":"html";a(b.target)[g](c).each(function(){x.apply(this,f)})})}
1212else b.success&&(a.isArray(b.success)?a.merge(w,b.success):w.push(b.success));if(b.success=function(a,c,d){for(var e=b.context||this,f=0,g=w.length;f<g;f++)w[f].apply(e,[a,c,d||o,o])},b.error){var y=b.error;b.error=function(a,c,d){var e=b.context||this;y.apply(e,[a,c,d,o])}}if(b.complete){var z=b.complete;b.complete=function(a,c){var d=b.context||this;z.apply(d,[a,c,o])}}var A=a("input[type=file]:enabled",this).filter(function(){return""!==a(this).val()}),B=A.length>0,C="multipart/form-data",D=o.attr("enctype")===C||o.attr("encoding")===C,E=e.fileapi&&e.formdata;d("fileAPI :"+E);var F,G=(B||D)&&!E;b.iframe!==!1&&(b.iframe||G)?b.closeKeepAlive?a.get(b.closeKeepAlive,function(){F=k(t)}):F=k(t):F=(B||D)&&E?j(t):a.ajax(b),o.removeData("jqxhr").data("jqxhr",F);for(var H=0;H<s.length;H++)s[H]=null;return this.trigger("form-submit-notify",[this,b]),this},a.fn.ajaxForm=function(e,f,g,h){if(("string"==typeof e||e===!1&&arguments.length>0)&&(e={url:e,data:f,dataType:g},"function"==typeof h&&(e.success=h)),e=e||{},e.delegation=e.delegation&&a.isFunction(a.fn.on),!e.delegation&&0===this.length){var i={s:this.selector,c:this.context};return!a.isReady&&i.s?(d("DOM not ready, queuing ajaxForm"),a(function(){a(i.s,i.c).ajaxForm(e)}),this):(d("terminating; zero elements found by selector"+(a.isReady?"":" (DOM not ready)")),this)}return e.delegation?(a(document).off("submit.form-plugin",this.selector,b).off("click.form-plugin",this.selector,c).on("submit.form-plugin",this.selector,e,b).on("click.form-plugin",this.selector,e,c),this):this.ajaxFormUnbind().on("submit.form-plugin",e,b).on("click.form-plugin",e,c)},a.fn.ajaxFormUnbind=function(){return this.off("submit.form-plugin click.form-plugin")},a.fn.formToArray=function(b,c,d){var f=[];if(0===this.length)return f;var g,h=this[0],i=this.attr("id"),j=b||void 0===h.elements?h.getElementsByTagName("*"):h.elements;if(j&&(j=a.makeArray(j)),i&&(b||/(Edge|Trident)\//.test(navigator.userAgent))&&(g=a(':input[form="'+i+'"]').get(),g.length&&(j=(j||[]).concat(g))),!j||!j.length)return f;a.isFunction(d)&&(j=a.map(j,d));var k,l,m,n,o,p,q;for(k=0,p=j.length;k<p;k++)if(o=j[k],(m=o.name)&&!o.disabled)if(b&&h.clk&&"image"===o.type)h.clk===o&&(f.push({name:m,value:a(o).val(),type:o.type}),f.push({name:m+".x",value:h.clk_x},{name:m+".y",value:h.clk_y}));else if((n=a.fieldValue(o,!0))&&n.constructor===Array)for(c&&c.push(o),l=0,q=n.length;l<q;l++)f.push({name:m,value:n[l]});else if(e.fileapi&&"file"===o.type){c&&c.push(o);var r=o.files;if(r.length)for(l=0;l<r.length;l++)f.push({name:m,value:r[l],type:o.type});else f.push({name:m,value:"",type:o.type})}else null!==n&&void 0!==n&&(c&&c.push(o),f.push({name:m,value:n,type:o.type,required:o.required}));if(!b&&h.clk){var s=a(h.clk),t=s[0];m=t.name,m&&!t.disabled&&"image"===t.type&&(f.push({name:m,value:s.val()}),f.push({name:m+".x",value:h.clk_x},{name:m+".y",value:h.clk_y}))}return f},a.fn.formSerialize=function(b){return a.param(this.formToArray(b))},a.fn.fieldSerialize=function(b){var c=[];return this.each(function(){var d=this.name;if(d){var e=a.fieldValue(this,b);if(e&&e.constructor===Array)for(var f=0,g=e.length;f<g;f++)c.push({name:d,value:e[f]});else null!==e&&void 0!==e&&c.push({name:this.name,value:e})}}),a.param(c)},a.fn.fieldValue=function(b){for(var c=[],d=0,e=this.length;d<e;d++){var f=this[d],g=a.fieldValue(f,b);null===g||void 0===g||g.constructor===Array&&!g.length||(g.constructor===Array?a.merge
1212(c,g):c.push(g))}return c},a.fieldValue=function(b,c){var d=b.name,e=b.type,f=b.tagName.toLowerCase();if(void 0===c&&(c=!0),c&&(!d||b.disabled||"reset"===e||"button"===e||("checkbox"===e||"radio"===e)&&!b.checked||("submit"===e||"image"===e)&&b.form&&b.form.clk!==b||"select"===f&&b.selectedIndex===-1))return null;if("select"===f){var g=b.selectedIndex;if(g<0)return null;for(var h=[],i=b.options,j="select-one"===e,k=j?g+1:i.length,l=j?g:0;l<k;l++){var m=i[l];if(m.selected&&!m.disabled){var n=m.value;if(n||(n=m.attributes&&m.attributes.value&&!m.attributes.value.specified?m.text:m.value),j)return n;h.push(n)}}return h}return a(b).val().replace(/\r?\n/g,"\r\n")},a.fn.clearForm=function(b){return this.each(function(){a("input,select,textarea",this).clearFields(b)})},a.fn.clearFields=a.fn.clearInputs=function(b){var c=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i;return this.each(function(){var d=this.type,e=this.tagName.toLowerCase();c.test(d)||"textarea"===e?this.value="":"checkbox"===d||"radio"===d?this.checked=!1:"select"===e?this.selectedIndex=-1:"file"===d?/MSIE/.test(navigator.userAgent)?a(this).replaceWith(a(this).clone(!0)):a(this).val(""):b&&(b===!0&&/hidden/.test(d)||"string"==typeof b&&a(this).is(b))&&(this.value="")})},a.fn.resetForm=function(){return this.each(function(){var b=a(this),c=this.tagName.toLowerCase();switch(c){case"input":this.checked=this.defaultChecked;case"textarea":return this.value=this.defaultValue,!0;case"option":case"optgroup":var d=b.parents("select");return d.length&&d[0].multiple?"option"===c?this.selected=this.defaultSelected:b.find("option").resetForm():d.resetForm(),!0;case"select":return b.find("option").each(function(a){if(this.selected=this.defaultSelected,this.defaultSelected&&!b[0].multiple)return b[0].selectedIndex=a,!1}),!0;case"label":var e=a(b.attr("for")),f=b.find("input,select,textarea");return e[0]&&f.unshift(e[0]),f.resetForm(),!0;case"form":return("function"==typeof this.reset||"object"==typeof this.reset&&!this.reset.nodeType)&&this.reset(),!0;default:return b.find("form,input,label,select,textarea").resetForm(),!0}})},a.fn.enable=function(a){return void 0===a&&(a=!0),this.each(function(){this.disabled=!a})},a.fn.selected=function(b){return void 0===b&&(b=!0),this.each(function(){var c=this.type;if("checkbox"===c||"radio"===c)this.checked=b;else if("option"===this.tagName.toLowerCase()){var d=a(this).parent("select");b&&d[0]&&"select-one"===d[0].type&&d.find("option").selected(!1),this.selected=b}})},a.fn.ajaxSubmit.debug=!1});
1213;/*})'"*/;/*})'"*/
1214/**
1215 * Override jquery.form's behavior of setting iframeSrc to javascript:false for
1216 * https requests, because that no longer works with new versions of Chrome.
1217 * - https://www.drupal.org/project/drupal/issues/3138421
1218 */
1219
1220(function (jQuery) {
1221
1222  var fnOriginalAjaxSubmit = jQuery.fn.ajaxSubmit;
1223  jQuery.fn.extend({
1224    ajaxSubmit: function (options) {
1225      if (typeof options == 'function') {
1226        options = { success: options };
1227      }
1228      options = jQuery.extend(true, {
1229        iframeSrc: 'about:blank'
1230      }, options);
1231      return fnOriginalAjaxSubmit.call(this, options);
1232    }
1233  });
1234
1235})(jQuery);
1236;/*})'"*/;/*})'"*/
1237(function ($) {
1238
1239/**
1240 * Prevents consecutive form submissions of identical form values.
1241 *
1242 * Repetitive form submissions that would submit the identical form values are
1243 * prevented, unless the form values are different from the previously
1244 * submitted values.
1245 *
1246 * This is a simplified re-implementation of a user-agent behavior that should
1247 * be natively supported by major web browsers, but at this time, only Firefox
1248 * has a built-in protection.
1249 *
1250 * A form value-based approach ensures that the constraint is triggered for
1251 * consecutive, identical form submissions only. Compared to that, a form
1252 * button-based approach would (1) rely on [visible] buttons to exist where
1253 * technically not required and (2) require more complex state management if
1254 * there are multiple buttons in a form.
1255 *
1256 * This implementation is based on form-level submit events only and relies on
1257 * jQuery's serialize() method to determine submitted form values. As such, the
1258 * following limitations exist:
1259 *
1260 * - Event handlers on form buttons that preventDefault() do not receive a
1261 *   double-submit protection. That is deemed to be fine, since such button
1262 *   events typically trigger reversible client-side or server-side operations
1263 *   that are local to the context of a form only.
1264 * - Changed values in advanced form controls, such as file inputs, are not part
1265 *   of the form values being compared between consecutive form submits (due to
1266 *   limitations of jQuery.serialize()). That is deemed to be acceptable,
1267 *   because if the user forgot to attach a file, then the size of HTTP payload
1268 *   will most likely be small enough to be fully passed to the server endpoint
1269 *   within (milli)seconds. If a user mistakenly attached a wrong file and is
1270 *   technically versed enough to cancel the form submission (and HTTP payload)
1271 *   in order to attach a different file, then that edge-case is not supported
1272 *   here.
1273 *
1274 * Lastly, all forms submitted via HTTP GET are idempotent by definition of HTTP
1275 * standards, so excluded in this implementation.
1276 */
1277Drupal.behaviors.formSingleSubmit = {
1278  attach: function () {
1279    function onFormSubmit (e) {
1280      var $form = $(e.currentTarget);
1281      var formValues = $form.serialize();
1282      var previousValues = $form.attr('data-drupal-form-submit-last');
1283      if (previousValues === formValues) {
1284        e.preventDefault();
1285      }
1286      else {
1287        $form.attr('data-drupal-form-submit-last', formValues);
1288      }
1289    }
1290
1291    $('body').once('form-single-submit')
1292      .delegate('form:not([method~="GET"])', 'submit.singleSubmit', onFormSubmit);
1293  }
1294};
1295
1296})(jQuery);
1297;/*})'"*/;/*})'"*/
1298(function ($) {
1299
1300/**
1301 * Provides Ajax page updating via jQuery $.ajax (Asynchronous JavaScript and XML).
1302 *
1303 * Ajax is a method of making a request via JavaScript while viewing an HTML
1304 * page. The request returns an array of commands encoded in JSON, which is
1305 * then executed to make any changes that are necessary to the page.
1306 *
1307 * Drupal uses this file to enhance form elements with #ajax['path'] and
1308 * #ajax['wrapper'] properties. If set, this file will automatically be included
1309 * to provide Ajax capabilities.
1310 */
1311
1312Drupal.ajax = Drupal.ajax || {};
1313
1314Drupal.settings.urlIsAjaxTrusted = Drupal.settings.urlIsAjaxTrusted || {};
1315
1316/**
1317 * Attaches the Ajax behavior to each Ajax form element.
1318 */
1319Drupal.behaviors.AJAX = {
1320  attach: function (context, settings) {
1321    // Load all Ajax behaviors specified in the settings.
1322    for (var base in settings.ajax) {
1323      if (!$('#' + base + '.ajax-processed').length) {
1324        var element_settings = settings.ajax[base];
1325
1326        if (typeof element_settings.selector == 'undefined') {
1327          element_settings.selector = '#' + base;
1328        }
1329        $(element_settings.selector).each(function () {
1330          element_settings.element = this;
1331          Drupal.ajax[base] = new Drupal.ajax(base, this, element_settings);
1332        });
1333
1334        $('#' + base).addClass('ajax-processed');
1335      }
1336    }
1337
1338    // Bind Ajax behaviors to all items showing the class.
1339    $('.use-ajax:not(.ajax-processed)').addClass('ajax-processed').each(function () {
1340      var element_settings = {};
1341      // Clicked links look better with the throbber than the progress bar.
1342      element_settings.progress = { 'type': 'throbber' };
1343
1344      // For anchor tags, these will go to the target of the anchor rather
1345      // than the usual location.
1346      if ($(this).attr('href')) {
1347        element_settings.url = $(this).attr('href');
1348        element_settings.event = 'click';
1349      }
1350      var base = $(this).attr('id');
1351      Drupal.ajax[base] = new Drupal.ajax(base, this, element_settings);
1352    });
1353
1354    // This class means to submit the form to the action using Ajax.
1355    $('.use-ajax-submit:not(.ajax-processed)').addClass('ajax-processed').each(function () {
1356      var element_settings = {};
1357
1358      // Ajax submits specified in this manner automatically submit to the
1359      // normal form action.
1360      element_settings.url = $(this.form).attr('action');
1361      // Form submit button clicks need to tell the form what was clicked so
1362      // it gets passed in the POST request.
1363      element_settings.setClick = true;
1364      // Form buttons use the 'click' event rather than mousedown.
1365      element_settings.event = 'click';
1366      // Clicked form buttons look better with the throbber than the progress bar.
1367      element_settings.progress = { 'type': 'throbber' };
1368
1369      var base = $(this).attr('id');
1370      Drupal.ajax[base] = new Drupal.ajax(base, this, element_settings);
1371    });
1372  }
1373};
1374
1375/**
1376 * Ajax object.
1377 *
1378 * All Ajax objects on a page are accessible through the global Drupal.ajax
1379 * object and are keyed by the submit button's ID. You can access them from
1380 * your module's JavaScript file to override properties or functions.
1381 *
1382 * For example, if your Ajax enabled button has the ID 'edit-submit', you can
1383 * redefine the function that is called to insert the new content like this
1384 * (inside a Drupal.behaviors attach block):
1385 * @code
1386 *    Drupal.behaviors.myCustomAJAXStuff = {
1387 *      attach: function (context, settings) {
1388 *        Drupal.ajax['edit-submit'].commands.insert = function (ajax, response, status) {
1389 *          new_content = $(response.data);
1390 *          $('#my-wrapper').append(new_content);
1391 *          alert('New content was appended to #my-wrapper');
1392 *        }
1393 *      }
1394 *    };
1395 * @endcode
1396 */
1397Drupal.ajax = function (base, element, element_settings) {
1398  var defaults = {
1399    url: 'system/ajax',
1400    event: 'mousedown',
1401    keypress: true,
1402    selector: '#' + base,
1403    effect: 'none',
1404    speed: 'none',
1405    method: 'replaceWith',
1406    progress: {
1407      type: 'throbber',
1408      message: Drupal.t('Please wait...')
1409    },
1410    submit: {
1411      'js': true
1412    }
1413  };
1414
1415  $.extend(this, defaults, element_settings);
1416
1417  this.element = element;
1418  this.element_settings = element_settings;
1419
1420  // Replacing 'nojs' with 'ajax' in the URL allows for an easy method to let
1421  // the server detect when it needs to degrade gracefully.
1422  // There are five scenarios to check for:
1423  // 1. /nojs/
1424  // 2. /nojs$ - The end of a URL string.
1425  // 3. /nojs? - Followed by a query (with clean URLs enabled).
1426  //      E.g.: path/nojs?destination=foobar
1427  // 4. /nojs& - Followed by a query (without clean URLs enabled).
1428  //      E.g.: ?q=path/nojs&destination=foobar
1429  // 5. /nojs# - Followed by a fragment.
1430  //      E.g.: path/nojs#myfragment
1431  this.url = element_settings.url.replace(/\/nojs(\/|$|\?|&|#)/g, '/ajax$1');
1432  // If the 'nojs' version of the URL is trusted, also trust the 'ajax' version.
1433  if (Drupal.settings.urlIsAjaxTrusted[element_settings.url]) {
1434    Drupal.settings.urlIsAjaxTrusted[this.url] = true;
1435  }
1436
1437  this.wrapper = '#' + element_settings.wrapper;
1438
1439  // If there isn't a form, jQuery.ajax() will be used instead, allowing us to
1440  // bind Ajax to links as well.
1441  if (this.element.form) {
1442    this.form = $(this.element.form);
1443  }
1444
1445  // Set the options for the ajaxSubmit function.
1446  // The 'this' variable will not persist inside of the options object.
1447  var ajax = this;
1448  ajax.options = {
1449    url: Drupal.sanitizeAjaxUrl(ajax.url),
1450    data: ajax.submit,
1451    beforeSerialize: function (element_settings, options) {
1452      return ajax.beforeSerialize(element_settings, options);
1453    },
1454    beforeSubmit: function (form_values, element_settings, options) {
1455      ajax.ajaxing = true;
1456      return ajax.beforeSubmit(form_values, element_settings, options);
1457    },
1458    beforeSend: function (xmlhttprequest, options) {
1459      ajax.ajaxing = true;
1460      return ajax.beforeSend(xmlhttprequest, options);
1461    },
1462    success: function (response, status, xmlhttprequest) {
1463      // Sanity check for browser support (object expected).
1464      // When using iFrame uploads, responses must be returned as a string.
1465      if (typeof response == 'string') {
1466        response = $.parseJSON(response);
1467      }
1468
1469      // Prior to invoking the response's commands, verify that they can be
1470      // trusted by checking for a response header. See
1471      // ajax_set_verification_header() for details.
1472      // - Empty responses are harmless so can bypass verification. This avoids
1473      //   an alert message for server-generated no-op responses that skip Ajax
1474      //   rendering.
1475      // - Ajax objects with trusted URLs (e.g., ones defined server-side via
1476      //   #ajax) can bypass header verification. This is especially useful for
1477      //   Ajax with multipart forms. Because IFRAME transport is used, the
1478      //   response headers cannot be accessed for verification.
1479      if (response !== null && !Drupal.settings.urlIsAjaxTrusted[ajax.url]) {
1480        if (xmlhttprequest.getResponseHeader('X-Drupal-Ajax-Token') !== '1') {
1481          var customMessage = Drupal.t("The response failed verification so will not be processed.");
1482          return ajax.error(xmlhttprequest, ajax.url, customMessage);
1483        }
1484      }
1485
1486      return ajax.success(response, status);
1487    },
1488    complete: function (xmlhttprequest, status) {
1489      ajax.ajaxing = false;
1490      if (status == 'error' || status == 'parsererror') {
1491        return ajax.error(xmlhttprequest, ajax.url);
1492      }
1493    },
1494    dataType: 'json',
1495    jsonp: false,
1496    type: 'POST'
1497  };
1498
1499  // For multipart forms (e.g., file uploads), jQuery Form targets the form
1500  // submission to an iframe instead of using an XHR object. The initial "src"
1501  // of the iframe, prior to the form submission, is set to options.iframeSrc.
1502  // "about:blank" is the semantically correct, standards-compliant, way to
1503  // initialize a blank iframe; however, some old IE versions (possibly only 6)
1504  // incorrectly report a mixed content warning when iframes with an
1505  // "about:blank" src are added to a parent document with an https:// origin.
1506  // jQuery Form works around this by defaulting to "javascript:false" instead,
1507  // but that breaks on Chrome 83, so here we force the semantically correct
1508  // behavior for all browsers except old IE.
1509  // @see https://www.drupal.org/project/drupal/issues/3143016
1510  // @see https://github.com/jquery-form/form/blob/df9cb101b9c9c085c8d75ad980c7ff1cf62063a1/jquery.form.js#L68
1511  // @see https://bugs.chromium.org/p/chromium/issues/detail?id=1084874
1512  // @see https://html.spec.whatwg.org/multipage/browsers.html#creating-browsing-contexts
1513  // @see https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy
1514  if (navigator.userAgent.indexOf("MSIE") === -1) {
1515    ajax.options.iframeSrc = 'about:blank';
1516  }
1517
1518  // Bind the ajaxSubmit function to the element event.
1519  $(ajax.element).bind(element_settings.event, function (event) {
1520    if (!Drupal.settings.urlIsAjaxTrusted[ajax.url] && !Drupal.urlIsLocal(ajax.url)) {
1521      throw new Error(Drupal.t('The callback URL is not local and not trusted: !url', {'!url': ajax.url}));
1522    }
1523    return ajax.eventResponse(this, event);
1524  });
1525
1526  // If necessary, enable keyboard submission so that Ajax behaviors
1527  // can be triggered through keyboard input as well as e.g. a mousedown
1528  // action.
1529  if (element_settings.keypress) {
1530    $(ajax.element).keypress(function (event) {
1531      return ajax.keypressResponse(this, event);
1532    });
1533  }
1534
1535  // If necessary, prevent the browser default action of an additional event.
1536  // For example, prevent the browser default action of a click, even if the
1537  // AJAX behavior binds to mousedown.
1538  if (element_settings.prevent) {
1539    $(ajax.element).bind(element_settings.prevent, false);
1540  }
1541};
1542
1543/**
1544 * Handle a key press.
1545 *
1546 * The Ajax object will, if instructed, bind to a key press response. This
1547 * will test to see if the key press is valid to trigger this event and
1548 * if it is, trigger it for us and prevent other keypresses from triggering.
1549 * In this case we're handling RETURN and SPACEBAR keypresses (event codes 13
1550 * and 32. RETURN is often used to submit a form when in a textfield, and 
1551 * SPACE is often used to activate an element without submitting. 
1552 */
1553Drupal.ajax.prototype.keypressResponse = function (element, event) {
1554  // Create a synonym for this to reduce code confusion.
1555  var ajax = this;
1556
1557  // Detect enter key and space bar and allow the standard response for them,
1558  // except for form elements of type 'text' and 'textarea', where the 
1559  // spacebar activation causes inappropriate activation if #ajax['keypress'] is 
1560  // TRUE. On a text-type widget a space should always be a space.
1561  if (event.which == 13 || (event.which == 32 && element.type != 'text' && element.type != 'textarea')) {
1562    $(ajax.element_settings.element).trigger(ajax.element_settings.event);
1563    return false;
1564  }
1565};
1566
1567/**
1568 * Handle an event that triggers an Ajax response.
1569 *
1570 * When an event that triggers an Ajax response happens, this method will
1571 * perform the actual Ajax call. It is bound to the event using
1572 * bind() in the constructor, and it uses the options specified on the
1573 * ajax object.
1574 */
1575Drupal.ajax.prototype.eventResponse = function (element, event) {
1576  // Create a synonym for this to reduce code confusion.
1577  var ajax = this;
1578
1579  // Do not perform another ajax command if one is already in progress.
1580  if (ajax.ajaxing) {
1581    return false;
1582  }
1583
1584  try {
1585    if (ajax.form) {
1586      // If setClick is set, we must set this to ensure that the button's
1587      // value is passed.
1588      if (ajax.setClick) {
1589        // Mark the clicked button. 'form.clk' is a special variable for
1590        // ajaxSubmit that tells the system which element got clicked to
1591        // trigger the submit. Without it there would be no 'op' or
1592        // equivalent.
1593        element.form.clk = element;
1594      }
1595
1596      ajax.form.ajaxSubmit(ajax.options);
1597    }
1598    else {
1599      ajax.beforeSerialize(ajax.element, ajax.options);
1600      $.ajax(ajax.options);
1601    }
1602  }
1603  catch (e) {
1604    // Unset the ajax.ajaxing flag here because it won't be unset during
1605    // the complete response.
1606    ajax.ajaxing = false;
1607    alert("An error occurred while attempting to process " + ajax.options.url + ": " + e.message);
1608  }
1609
1610  // For radio/checkbox, allow the default event. On IE, this means letting
1611  // it actually check the box.
1612  if (typeof element.type != 'undefined' && (element.type == 'checkbox' || element.type == 'radio')) {
1613    return true;
1614  }
1615  else {
1616    return false;
1617  }
1618
1619};
1620
1621/**
1622 * Handler for the form serialization.
1623 *
1624 * Runs before the beforeSend() handler (see below), and unlike that one, runs
1625 * before field data is collected.
1626 */
1627Drupal.ajax.prototype.beforeSerialize = function (element, options) {
1628  // Allow detaching behaviors to update field values before collecting them.
1629  // This is only needed when field values are added to the POST data, so only
1630  // when there is a form such that this.form.ajaxSubmit() is used instead of
1631  // $.ajax(). When there is no form and $.ajax() is used, beforeSerialize()
1632  // isn't called, but don't rely on that: explicitly check this.form.
1633  if (this.form) {
1634    var settings = this.settings || Drupal.settings;
1635    Drupal.detachBehaviors(this.form, settings, 'serialize');
1636  }
1637
1638  // Prevent duplicate HTML ids in the returned markup.
1639  // @see drupal_html_id()
1640  options.data['ajax_html_ids[]'] = [];
1641  $('[id]').each(function () {
1642    options.data['ajax_html_ids[]'].push(this.id);
1643  });
1644
1645  // Allow Drupal to return new JavaScript and CSS files to load without
1646  // returning the ones already loaded.
1647  // @see ajax_base_page_theme()
1648  // @see drupal_get_css()
1649  // @see drupal_get_js()
1650  options.data['ajax_page_state[theme]'] = Drupal.settings.ajaxPageState.theme;
1651  options.data['ajax_page_state[theme_token]'] = Drupal.settings.ajaxPageState.theme_token;
1652  for (var key in Drupal.settings.ajaxPageState.css) {
1653    options.data['ajax_page_state[css][' + key + ']'] = 1;
1654  }
1655  for (var key in Drupal.settings.ajaxPageState.js) {
1656    options.data['ajax_page_state[js][' + key + ']'] = 1;
1657  }
1658};
1659
1660/**
1661 * Modify form values prior to form submission.
1662 */
1663Drupal.ajax.prototype.beforeSubmit = function (form_values, element, options) {
1664  // This function is left empty to make it simple to override for modules
1665  // that wish to add functionality here.
1666};
1667
1668/**
1669 * Prepare the Ajax request before it is sent.
1670 */
1671Drupal.ajax.prototype.beforeSend = function (xmlhttprequest, options) {
1672  // For forms without file inputs, the jQuery Form plugin serializes the form
1673  // values, and then calls jQuery's $.ajax() function, which invokes this
1674  // handler. In this circumstance, options.extraData is never used. For forms
1675  // with file inputs, the jQuery Form plugin uses the browser's normal form
1676  // submission mechanism, but captures the response in a hidden IFRAME. In this
1677  // circumstance, it calls this handler first, and then appends hidden fields
1678  // to the form to submit the values in options.extraData. There is no simple
1679  // way to know which submission mechanism will be used, so we add to extraData
1680  // regardless, and allow it to be ignored in the former case.
1681  if (this.form) {
1682    options.extraData = options.extraData || {};
1683
1684    // Let the server know when the IFRAME submission mechanism is used. The
1685    // server can use this information to wrap the JSON response in a TEXTAREA,
1686    // as per http://jquery.malsup.com/form/#file-upload.
1687    options.extraData.ajax_iframe_upload = '1';
1688
1689    // The triggering element is about to be disabled (see below), but if it
1690    // contains a value (e.g., a checkbox, textfield, select, etc.), ensure that
1691    // value is included in the submission. As per above, submissions that use
1692    // $.ajax() are already serialized prior to the element being disabled, so
1693    // this is only needed for IFRAME submissions.
1694    var v = $.fieldValue(this.element);
1695    if (v !== null) {
1696      options.extraData[this.element.name] = Drupal.checkPlain(v);
1697    }
1698  }
1699
1700  // Disable the element that received the change to prevent user interface
1701  // interaction while the Ajax request is in progress. ajax.ajaxing prevents
1702  // the element from triggering a new request, but does not prevent the user
1703  // from changing its value.
1704  $(this.element).addClass('progress-disabled').attr('disabled', true);
1705
1706  // Insert progressbar or throbber.
1707  if (this.progress.type == 'bar') {
1708    var progressBar = new Drupal.progressBar('ajax-progress-' + this.element.i
1708d, $.noop, this.progress.method, $.noop);
1709    if (this.progress.message) {
1710      progressBar.setProgress(-1, this.progress.message);
1711    }
1712    if (this.progress.url) {
1713      progressBar.startMonitoring(this.progress.url, this.progress.interval || 1500);
1714    }
1715    this.progress.element = $(progressBar.element).addClass('ajax-progress ajax-progress-bar');
1716    this.progress.object = progressBar;
1717    $(this.element).after(this.progress.element);
1718  }
1719  else if (this.progress.type == 'throbber') {
1720    this.progress.element = $('<div class="ajax-progress ajax-progress-throbber"><div class="throbber">&nbsp;</div></div>');
1721    if (this.progress.message) {
1722      $('.throbber', this.progress.element).after('<div class="message">' + this.progress.message + '</div>');
1723    }
1724    $(this.element).after(this.progress.element);
1725  }
1726};
1727
1728/**
1729 * Handler for the form redirection completion.
1730 */
1731Drupal.ajax.prototype.success = function (response, status) {
1732  // Remove the progress element.
1733  if (this.progress.element) {
1734    $(this.progress.element).remove();
1735  }
1736  if (this.progress.object) {
1737    this.progress.object.stopMonitoring();
1738  }
1739  $(this.element).removeClass('progress-disabled').removeAttr('disabled');
1740
1741  Drupal.freezeHeight();
1742
1743  for (var i in response) {
1744    if (response.hasOwnProperty(i) && response[i]['command'] && this.commands[response[i]['command']]) {
1745      this.commands[response[i]['command']](this, response[i], status);
1746    }
1747  }
1748
1749  // Reattach behaviors, if they were detached in beforeSerialize(). The
1750  // attachBehaviors() called on the new content from processing the response
1751  // commands is not sufficient, because behaviors from the entire form need
1752  // to be reattached.
1753  if (this.form) {
1754    var settings = this.settings || Drupal.settings;
1755    Drupal.attachBehaviors(this.form, settings);
1756  }
1757
1758  Drupal.unfreezeHeight();
1759
1760  // Remove any response-specific settings so they don't get used on the next
1761  // call by mistake.
1762  this.settings = null;
1763};
1764
1765/**
1766 * Build an effect object which tells us how to apply the effect when adding new HTML.
1767 */
1768Drupal.ajax.prototype.getEffect = function (response) {
1769  var type = response.effect || this.effect;
1770  var speed = response.speed || this.speed;
1771
1772  var effect = {};
1773  if (type == 'none') {
1774    effect.showEffect = 'show';
1775    effect.hideEffect = 'hide';
1776    effect.showSpeed = '';
1777  }
1778  else if (type == 'fade') {
1779    effect.showEffect = 'fadeIn';
1780    effect.hideEffect = 'fadeOut';
1781    effect.showSpeed = speed;
1782  }
1783  else {
1784    effect.showEffect = type + 'Toggle';
1785    effect.hideEffect = type + 'Toggle';
1786    effect.showSpeed = speed;
1787  }
1788
1789  return effect;
1790};
1791
1792/**
1793 * Handler for the form redirection error.
1794 */
1795Drupal.ajax.prototype.error = function (xmlhttprequest, uri, customMessage) {
1796  Drupal.displayAjaxError(Drupal.ajaxError(xmlhttprequest, uri, customMessage));
1797  // Remove the progress element.
1798  if (this.progress.element) {
1799    $(this.progress.element).remove();
1800  }
1801  if (this.progress.object) {
1802    this.progress.object.stopMonitoring();
1803  }
1804  // Undo hide.
1805  $(this.wrapper).show();
1806  // Re-enable the element.
1807  $(this.element).removeClass('progress-disabled').removeAttr('disabled');
1808  // Reattach behaviors, if they were detached in beforeSerialize().
1809  if (this.form) {
1810    var settings = this.settings || Drupal.settings;
1811    Drupal.attachBehaviors(this.form, settings);
1812  }
1813};
1814
1815/**
1816 * Provide a series of commands that the server can request the client perform.
1817 */
1818Drupal.ajax.prototype.commands = {
1819  /**
1820   * Command to insert new content into the DOM.
1821   */
1822  insert: function (ajax, response, status) {
1823    // Get information from the response. If it is not there, default to
1824    // our presets.
1825    var wrapper = response.selector ? $(response.selector) : $(ajax.wrapper);
1826    var method = response.method || ajax.method;
1827    var effect = ajax.getEffect(response);
1828
1829    // We don't know what response.data contains: it might be a string of text
1830    // without HTML, so don't rely on jQuery correctly iterpreting
1831    // $(response.data) as new HTML rather than a CSS selector. Also, if
1832    // response.data contains top-level text nodes, they get lost with either
1833    // $(response.data) or $('<div></div>').replaceWith(response.data).
1834    var new_content_wrapped = $('<div></div>').html(response.data);
1835    var new_content = new_content_wrapped.contents();
1836
1837    // For legacy reasons, the effects processing code assumes that new_content
1838    // consists of a single top-level element. Also, it has not been
1839    // sufficiently tested whether attachBehaviors() can be successfully called
1840    // with a context object that includes top-level text nodes. However, to
1841    // give developers full control of the HTML appearing in the page, and to
1842    // enable Ajax content to be inserted in places where DIV elements are not
1843    // allowed (e.g., within TABLE, TR, and SPAN parents), we check if the new
1844    // content satisfies the requirement of a single top-level element, and
1845    // only use the container DIV created above when it doesn't. For more
1846    // information, please see http://drupal.org/node/736066.
1847    if (new_content.length != 1 || new_content.get(0).nodeType != 1) {
1848      new_content = new_content_wrapped;
1849    }
1850
1851    // If removing content from the wrapper, detach behaviors first.
1852    switch (method) {
1853      case 'html':
1854      case 'replaceWith':
1855      case 'replaceAll':
1856      case 'empty':
1857      case 'remove':
1858        var settings = response.settings || ajax.settings || Drupal.settings;
1859        Drupal.detachBehaviors(wrapper, settings);
1860    }
1861
1862    // Add the new content to the page.
1863    wrapper[method](new_content);
1864
1865    // Immediately hide the new content if we're using any effects.
1866    if (effect.showEffect != 'show') {
1867      new_content.hide();
1868    }
1869
1870    // Determine which effect to use and what content will receive the
1871    // effect, then show the new content.
1872    if ($('.ajax-new-content', new_content).length > 0) {
1873      $('.ajax-new-content', new_content).hide();
1874      new_content.show();
1875      $('.ajax-new-content', new_content)[effect.showEffect](effect.showSpeed);
1876    }
1877    else if (effect.showEffect != 'show') {
1878      new_content[effect.showEffect](effect.showSpeed);
1879    }
1880
1881    // Attach all JavaScript behaviors to the new content, if it was successfully
1882    // added to the page, this if statement allows #ajax['wrapper'] to be
1883    // optional.
1884    if (new_content.parents('html').length > 0) {
1885      // Apply any settings from the returned JSON if available.
1886      var settings = response.settings || ajax.settings || Drupal.settings;
1887      Drupal.attachBehaviors(new_content, settings);
1888    }
1889  },
1890
1891  /**
1892   * Command to remove a chunk from the page.
1893   */
1894  remove: function (ajax, response, status) {
1895    var settings = response.settings || ajax.settings || Drupal.settings;
1896    Drupal.detachBehaviors($(response.selector), settings);
1897    $(response.selector).remove();
1898  },
1899
1900  /**
1901   * Command to mark a chunk changed.
1902   */
1903  changed: function (ajax, response, status) {
1904    if (!$(response.selector).hasClass('ajax-changed')) {
1905      $(response.selector).addClass('ajax-changed');
1906      if (response.asterisk) {
1907        $(response.selector).find(response.asterisk).append(' <span class="ajax-changed">*</span> ');
1908      }
1909    }
1910  },
1911
1912  /**
1913   * Command to provide an alert.
1914   */
1915  alert: function (ajax, response, status) {
1916    alert(response.text, response.title);
1917  },
1918
1919  /**
1920   * Command to provide the jQuery css() function.
1921   */
1922  css: function (ajax, response, status) {
1923    $(response.selector).css(response.argument);
1924  },
1925
1926  /**
1927   * Command to set the settings that will be used for other commands in this response.
1928   */
1929  settings: function (ajax, response, status) {
1930    if (response.merge) {
1931      $.extend(true, Drupal.settings, response.settings);
1932    }
1933    else {
1934      ajax.settings = response.settings;
1935    }
1936  },
1937
1938  /**
1939   * Command to attach data using jQuery's data API.
1940   */
1941  data: function (ajax, response, status) {
1942    $(response.selector).data(response.name, response.value);
1943  },
1944
1945  /**
1946   * Command to apply a jQuery method.
1947   */
1948  invoke: function (ajax, response, status) {
1949    var $element = $(response.selector);
1950    $element[response.method].apply($element, response.arguments);
1951  },
1952
1953  /**
1954   * Command to restripe a table.
1955   */
1956  restripe: function (ajax, response, status) {
1957    // :even and :odd are reversed because jQuery counts from 0 and
1958    // we count from 1, so we're out of sync.
1959    // Match immediate children of the parent element to allow nesting.
1960    $('> tbody > tr:visible, > tr:visible', $(response.selector))
1961      .removeClass('odd even')
1962      .filter(':even').addClass('odd').end()
1963      .filter(':odd').addClass('even');
1964  },
1965
1966  /**
1967   * Command to add css.
1968   *
1969   * Uses the proprietary addImport method if available as browsers which
1970   * support that method ignore @import statements in dynamically added
1971   * stylesheets.
1972   */
1973  add_css: function (ajax, response, status) {
1974    // Add the styles in the normal way.
1975    $('head').prepend(response.data);
1976    // Add imports in the styles using the addImport method if available.
1977    var match, importMatch = /^@import url\("(.*)"\);$/igm;
1978    if (document.styleSheets[0].addImport && importMatch.test(response.data)) {
1979      importMatch.lastIndex = 0;
1980      while (match = importMatch.exec(response.data)) {
1981        document.styleSheets[0].addImport(match[1]);
1982      }
1983    }
1984  },
1985
1986  /**
1987   * Command to update a form's build ID.
1988   */
1989  updateBuildId: function(ajax, response, status) {
1990    $('input[name="form_build_id"][value="' + response['old'] + '"]').val(response['new']);
1991  }
1992};
1993
1994})(jQuery);
1995;/*})'"*/;/*})'"*/
1996(function (D) {
1997  var beforeSerialize = D.ajax.prototype.beforeSerialize;
1998  D.ajax.prototype.beforeSerialize = function (element, options) {
1999    beforeSerialize.call(this, element, options);
2000    options.data['ajax_page_state[jquery_version]'] = D.settings.ajaxPageState.jquery_version;
2001    options.data['ajax_page_state[jquery_version_token]'] = D.settings.ajaxPageState.jquery_version_token;
2002  }
2003})(Drupal);
2004;/*})'"*/;/*})'"*/
2005/**
2006 * @file
2007 * Ajax Command Invoke Chain js.
2008 *
2009 * Processing code for the new command, used like 'invoke' but with the chance
2010 * to chain calls to several methods.
2011 */
2012
2013(function ($) {
2014  'use strict';
2015
2016  /**
2017   * Provides processing for the new ajax command.
2018   *
2019   * @param {Object} ajax - Drupal Ajax object.
2020   * @param {Object} response - Response from server with data retrieved.
2021   * @param {string} status - Value returned by response processed.
2022   */
2023  Drupal.ajax.prototype.commands.invoke_chain = function (ajax, response, status) {
2024    // Get selector information from the response. If it's not there, default to presets.
2025    var wrapper = response.selector ? $(response.selector) : $(ajax.wrapper);
2026
2027    // Get the element.
2028    var $element = $(wrapper);
2029
2030    // Loop through all chain to work with data.
2031    for (var i = 0; i < response.chain.length; i++) {
2032      // Get the method and arguments.
2033      var method = response.chain[i].shift();
2034
2035      // Call the function, and store the obtained object to perform the
2036      // chainning.
2037      $element = $element[method].apply($element, response.chain[i]);
2038    }
2039  };
2040
2041})(jQuery);
2042;/*})'"*/;/*})'"*/
2043(function ($) {
2044    'use strict';
2045    Drupal.behaviors.ACChangeEnterBehavior = {
2046        attach: function (context, settings) {
2047            $('input.form-autocomplete', context).once('ac-change-enter-behavior', function() {
2048                $(this).keypress(function(e) {
2049                    var ac = $('#autocomplete');
2050                    if (e.keyCode == 13 && typeof ac[0] != 'undefined') {
2051                        e.preventDefault();
2052                        ac.each(function () {
2053                            if(this.owner.selected == false){
2054                                this.owner.selectDown();
2055                            }
2056                            this.owner.hidePopup();
2057                        });
2058                        $(this).trigger('change');
2059                    }
2060                });
2061            });
2062        }
2063    };
2064}(jQuery));
2065;/*})'"*/;/*})'"*/
2066/**
2067 * @file
2068 * Lazyloader JQuery plugin
2069 *
2070 * @author: Daniel Honrade http://drupal.org/user/351112
2071 *
2072 * Settings:
2073 * - distance = distance of the image to the viewable browser screen before it gets loaded
2074 * - icon     = animating image that appears before the actual image is loaded
2075 *
2076 */
2077
2078(function($){
2079
2080  // Window jQuery object global reference.
2081  var $window;
2082
2083  // Process lazyloader
2084  $.fn.lazyloader = function(options){
2085    var settings = $.extend($.fn.lazyloader.defaults, options);
2086    var images = this;
2087
2088    if (typeof($window) == 'undefined') {
2089      $window = $(window);
2090    }
2091
2092    // add the loader icon
2093    if(settings['icon'] != '') $('img[data-src]').parent().css({ position: 'relative', display: 'block'}).prepend('<img class="lazyloader-icon" src="' + settings['icon'] + '" />');
2094
2095    // Load on refresh
2096    loadActualImages(images, settings);
2097
2098    // Load on scroll
2099    $window.bind('scroll', function(e) {
2100      loadActualImages(images, settings);
2101    });
2102
2103    // Load on resize
2104    $window.resize(function(e) {
2105      loadActualImages(images, settings);
2106    });
2107
2108    return this;
2109  };
2110
2111  // Defaults
2112  $.fn.lazyloader.defaults = {
2113    distance: 0, // the distance (in pixels) of image when loading of the actual image will happen
2114    icon: ''    // display animating icon
2115  };
2116
2117
2118  // Loading actual images
2119  function loadActualImages(images, settings){
2120    clearTimeout($.fn.lazyloader.timeout);
2121
2122    $.fn.lazyloader.timeout = setTimeout(function(){
2123      images.each(function(){
2124        var $image = $(this);
2125        var imageHeight = $image.height(), imageWidth = $image.width();
2126        var iconTop = Math.round(imageHeight/2), iconLeft = Math.round(imageWidth/2), iconFactor = Math.round($image.siblings('img.lazyloader-icon').height()/2);
2127        $image.siblings('img.lazyloader-icon').css({ top: iconTop - iconFactor, left: iconLeft - iconFactor });
2128
2129        if (windowView(this, settings) && ($image.attr('data-src'))) {
2130          loadImage(this);
2131          $image.fadeIn('slow');
2132        }
2133      });
2134    }, 50);
2135  };
2136
2137
2138  // Check if the images are within the window view (top, bottom, left and right)
2139  function windowView(image, settings){
2140    var $image = $(image);
2141    // window variables
2142    var windowHeight = $window.height(),
2143        windowWidth  = $window.width(),
2144
2145        windowBottom = windowHeight + $window.scrollTop(),
2146        windowTop    = windowBottom - windowHeight,
2147        windowRight  = windowWidth + $window.scrollLeft(),
2148        windowLeft   = windowRight - windowWidth,
2149
2150        // image variables
2151        imageHeight  = $image.height(),
2152        imageWidth   = $image.width(),
2153
2154        imageTop     = $image.offset().top - settings['distance'],
2155        imageBottom  = imageTop + imageHeight + settings['distance'],
2156        imageLeft    = $image.offset().left - settings['distance'],
2157        imageRight   = imageLeft + imageWidth + settings['distance'];
2158
2159           // This will return true if any corner of the image is within the screen
2160    return (((windowBottom >= imageTop) && (windowTop <= imageTop)) || ((windowBottom >= imageBottom) && (windowTop <= imageBottom))) &&
2161           (((windowRight >= imageLeft) && (windowLeft <= imageLeft)) || ((windowRight >= imageRight) && (windowLeft <= imageRight)));
2162  };
2163
2164
2165  // Load the image
2166  function loadImage(image){
2167    var $image = $(image);
2168    $image.hide().attr('src', $image.data('src')).removeAttr('data-src');
2169    $image.load(function() {
2170      $image.siblings('img.lazyloader-icon').remove();
2171    });
2172  };
2173
2174  Drupal.behaviors.lazyloader = {
2175    attach: function (context, settings) {
2176      if (Drupal.settings.lazyloaderSettings) {
2177        var distance = Drupal.settings.lazyloaderSettings.distance
2178        var icon = Drupal.settings.lazyloaderSettings.icon
2179        $("img[data-src]").lazyloader({distance: distance, icon: icon});
2180      }
2181    }
2182  };
2183
2184})(jQuery);
2185;/*})'"*/;/*})'"*/
2186(function($) {
2187  /**
2188   * Initialization
2189   */
2190  Drupal.behaviors.prevent_js_alerts = {
2191    /**
2192     * Run Drupal module JS initialization.
2193     *
2194     * @param context
2195     * @param settings
2196     */
2197    attach: function(context, settings) {
2198      // Override the alert() function.
2199      window.alert = function(text) {
2200        // Check if the console exists (required e.g. for older IE versions).
2201        if (typeof console != "undefined") {
2202          // Log error to console instead.
2203          console.error("Module 'prevent_js_alerts' prevented the following alert: " + text);
2204        }
2205        return true;
2206      };
2207    }
2208  };
2209})(jQuery);
2210;/*})'"*/;/*})'"*/
2211(function ($) {
2212
2213/**
2214 * A progressbar object. Initialized with the given id. Must be inserted into
2215 * the DOM afterwards through progressBar.element.
2216 *
2217 * method is the function which will perform the HTTP request to get the
2218 * progress bar state. Either "GET" or "POST".
2219 *
2220 * e.g. pb = new progressBar('myProgressBar');
2221 *      some_element.appendChild(pb.element);
2222 */
2223Drupal.progressBar = function (id, updateCallback, method, errorCallback) {
2224  var pb = this;
2225  this.id = id;
2226  this.method = method || 'GET';
2227  this.updateCallback = updateCallback;
2228  this.errorCallback = errorCallback;
2229
2230  // The WAI-ARIA setting aria-live="polite" will announce changes after users
2231  // have completed their current activity and not interrupt the screen reader.
2232  this.element = $('<div class="progress-wrapper" aria-live="polite"></div>');
2233  this.element.html('<div id ="' + id + '" class="progress progress-striped active">' +
2234                    '<div class="progress-bar" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0">' +
2235                    '<div class="percentage sr-only"></div>' +
2236                    '</div></div>' +
2237                    '</div><div class="percentage pull-right"></div>' +
2238                    '<div class="message">&nbsp;</div>');
2239};
2240
2241/**
2242 * Set the percentage and status message for the progressbar.
2243 */
2244Drupal.progressBar.prototype.setProgress = function (percentage, message) {
2245  if (percentage >= 0 && percentage <= 100) {
2246    $('div.progress-bar', this.element).css('width', percentage + '%');
2247    $('div.progress-bar', this.element).attr('aria-valuenow', percentage);
2248    $('div.percentage', this.element).html(percentage + '%');
2249  }
2250  $('div.message', this.element).html(message);
2251  if (this.updateCallback) {
2252    this.updateCallback(percentage, message, this);
2253  }
2254};
2255
2256/**
2257 * Start monitoring progress via Ajax.
2258 */
2259Drupal.progressBar.prototype.startMonitoring = function (uri, delay) {
2260  this.delay = delay;
2261  this.uri = uri;
2262  this.sendPing();
2263};
2264
2265/**
2266 * Stop monitoring progress via Ajax.
2267 */
2268Drupal.progressBar.prototype.stopMonitoring = function () {
2269  clearTimeout(this.timer);
2270  // This allows monitoring to be stopped from within the callback.
2271  this.uri = null;
2272};
2273
2274/**
2275 * Request progress data from server.
2276 */
2277Drupal.progressBar.prototype.sendPing = function () {
2278  if (this.timer) {
2279    clearTimeout(this.timer);
2280  }
2281  if (this.uri) {
2282    var pb = this;
2283    // When doing a post request, you need non-null data. Otherwise a
2284    // HTTP 411 or HTTP 406 (with Apache mod_security) error may result.
2285    $.ajax({
2286      type: this.method,
2287      url: this.uri,
2288      data: '',
2289      dataType: 'json',
2290      success: function (progress) {
2291        // Display errors.
2292        if (progress.status == 0) {
2293          pb.displayError(progress.data);
2294          return;
2295        }
2296        // Update display.
2297        pb.setProgress(progress.percentage, progress.message);
2298        // Schedule next timer.
2299        pb.timer = setTimeout(function () { pb.sendPing(); }, pb.delay);
2300      },
2301      error: function (xmlhttp) {
2302        pb.displayError(Drupal.ajaxError(xmlhttp, pb.uri));
2303      }
2304    });
2305  }
2306};
2307
2308/**
2309 * Display errors on the page.
2310 */
2311Drupal.progressBar.prototype.displayError = function (string) {
2312  var error = $('<div class="alert alert-block alert-error"><a class="close" data-dismiss="alert" href="#">&times;</a><h4>Error message</h4></div>').append(string);
2313  $(this.element).before(error).hide();
2314
2315  if (this.errorCallback) {
2316    this.errorCallback(this);
2317  }
2318};
2319
2320})(jQuery);
2321;/*})'"*/;/*})'"*/
2322/**
2323 * @file
2324 * JavaScript for Rela custom dropdowns.
2325 */
2326(function ($, Drupal) {
2327  'use strict';
2328
2329  /**
2330   * Rela Dropdown behavior.
2331   */
2332  Drupal.behaviors.relaDropdown = {
2333    attach: function (context, settings) {
2334      // Handle main dropdown toggle.
2335      $(context).find('[data-toggle="rela-dropdown"]').once('rela-dropdown', function () {
2336        var $toggle = $(this);
2337
2338        // Skip AJAX links - they should not be handled by dropdown toggle.
2339        // Only skip if it's actually a link element with href and use-ajax class.
2340        if ($toggle.is('a') && $toggle.attr('href') && $toggle.hasClass('use-ajax')) {
2341          return;
2342        }
2343
2344        var $dropdown = $toggle.closest('.rela-dropdown');
2345
2346        $toggle.on('click.rela-dropdown', function (e) {
2347          // Double-check: don't interfere with AJAX links.
2348          if ($(this).is('a') && $(this).attr('href') && $(this).hasClass('use-ajax')) {
2349            return;
2350          }
2351
2352          e.preventDefault();
2353          e.stopPropagation();
2354
2355          var isActive = $dropdown.hasClass('open');
2356
2357          // Close all other dropdowns.
2358          $('.rela-dropdown.open').not($dropdown).removeClass('open');
2359
2360          // Toggle this dropdown.
2361          if (isActive) {
2362            $dropdown.removeClass('open');
2363          }
2364          else {
2365            $dropdown.addClass('open');
2366          }
2367        });
2368      });
2369
2370      // Handle nested submenu toggles.
2371      $(context).find('.rela-dropdown-item-has-submenu > .rela-dropdown-toggle').once('rela-dropdown-submenu', function () {
2372        var $toggle = $(this);
2373
2374        // Skip AJAX links - they should not be handled by dropdown toggle.
2375        // Only skip if it's actually a link element with href and use-ajax class.
2376        if ($toggle.is('a') && $toggle.attr('href') && $toggle.hasClass('use-ajax')) {
2377          return;
2378        }
2379
2380        var $item = $toggle.closest('.rela-dropdown-item-has-submenu');
2381
2382        $toggle.on('click.rela-dropdown-submenu', function (e) {
2383          // Double-check: don't interfere with AJAX links.
2384          if ($(this).is('a') && $(this).attr('href') && $(this).hasClass('use-ajax')) {
2385            return;
2386          }
2387
2388          e.preventDefault();
2389          e.stopPropagation();
2390
2391          var isActive = $item.hasClass('open');
2392
2393          // Close all other submenus in the same menu.
2394          $item.siblings('.rela-dropdown-item-has-submenu.open').removeClass('open');
2395
2396          // Toggle this submenu.
2397          if (isActive) {
2398            $item.removeClass('open');
2399          }
2400          else {
2401            $item.addClass('open');
2402          }
2403        });
2404      });
2405
2406      // Close dropdowns when clicking outside.
2407      // Use a small delay to allow AJAX handlers to process first.
2408      $(document).on('click.rela-dropdown', function (e) {
2409        var $target = $(e.target);
2410        var $link = $target.closest('a');
2411        var $clickedElement = $target.closest('[data-keep-dropdown-open]');
2412
2413        // Don't close if clicking inside dropdown.
2414        if ($target.closest('.rela-dropdown').length) {
2415          // If clicking on an AJAX link, don't interfere - let AJAX handle it.
2416          // Verify it's actually a link with an href attribute.
2417          if ($link.length && $link.attr('href') && ($link.hasClass('use-ajax') || $link.closest('.use-ajax').length)) {
2418            return;
2419          }
2420          // Don't close if element has data-keep-dropdown-open attribute
2421          if ($clickedElement.length && $clickedElement.attr('data-keep-dropdown-open') !== 'false') {
2422            return;
2423          }
2424          // For other clicks inside dropdown, don't close.
2425          return;
2426        }
2427
2428        // Clicking outside - close all dropdowns with a small delay.
2429        // This allows AJAX handlers to process if they're attached to elements outside.
2430        setTimeout(function() {
2431          $('.rela-dropdown.open').removeClass('open');
2432          $('.rela-dropdown-item-has-submenu.open').removeClass('open');
2433        }, 10);
2434      });
2435
2436      // Handle keyboard navigation (Escape key).
2437      $(document).on('keydown.rela-dropdown', function (e) {
2438        if (e.keyCode === 27) { // Escape key
2439          $('.rela-dropdown.open').removeClass('open');
2440          $('.rela-dropdown-item-has-submenu.open').removeClass('open');
2441        }
2442      });
2443    }
2444  };
2445
2446})(jQuery, Drupal);
2447;/*})'"*/;/*})'"*/
2448/**
2449 * @file
2450 *
2451 * CTools flexible AJAX responder object.
2452 */
2453
2454(function ($) {
2455  Drupal.CTools = Drupal.CTools || {};
2456  Drupal.CTools.AJAX = Drupal.CTools.AJAX || {};
2457  /**
2458   * Grab the response from the server and store it.
2459   *
2460   * @todo restore the warm cache functionality
2461   */
2462  Drupal.CTools.AJAX.warmCache = function () {
2463    // Store this expression for a minor speed improvement.
2464    $this = $(this);
2465    var old_url = $this.attr('href');
2466    // If we are currently fetching, or if we have fetched this already which is
2467    // ideal for things like pagers, where the previous page might already have
2468    // been seen in the cache.
2469    if ($this.hasClass('ctools-fetching') || Drupal.CTools.AJAX.commandCache[old_url]) {
2470      return false;
2471    }
2472
2473    // Grab all the links that match this url and add the fetching class.
2474    // This allows the caching system to grab each url once and only once
2475    // instead of grabbing the url once per <a>.
2476    var $objects = $('a[href="' + old_url + '"]');
2477    $objects.addClass('ctools-fetching');
2478    try {
2479      url = old_url.replace(/\/nojs(\/|$)/g, '/ajax$1');
2480      $.ajax({
2481        type: "POST",
2482        url: url,
2483        data: { 'js': 1, 'ctools_ajax': 1},
2484        global: true,
2485        success: function (data) {
2486          Drupal.CTools.AJAX.commandCache[old_url] = data;
2487          $objects.addClass('ctools-cache-warmed').trigger('ctools-cache-warm', [data]);
2488        },
2489        complete: function() {
2490          $objects.removeClass('ctools-fetching');
2491        },
2492        dataType: 'json'
2493      });
2494    }
2495    catch (err) {
2496      $objects.removeClass('ctools-fetching');
2497      return false;
2498    }
2499
2500    return false;
2501  };
2502
2503  /**
2504   * Cachable click handler to fetch the commands out of the cache or from url.
2505   */
2506  Drupal.CTools.AJAX.clickAJAXCacheLink = function () {
2507    $this = $(this);
2508    if ($this.hasClass('ctools-fetching')) {
2509      $this.bind('ctools-cache-warm', function (event, data) {
2510        Drupal.CTools.AJAX.respond(data);
2511      });
2512      return false;
2513    }
2514    else {
2515      if ($this.hasClass('ctools-cache-warmed') && Drupal.CTools.AJAX.commandCache[$this.attr('href')]) {
2516        Drupal.CTools.AJAX.respond(Drupal.CTools.AJAX.commandCache[$this.attr('href')]);
2517        return false;
2518      }
2519      else {
2520        return Drupal.CTools.AJAX.clickAJAXLink.apply(this);
2521      }
2522    }
2523  };
2524
2525  /**
2526   * Find a URL for an AJAX button.
2527   *
2528   * The URL for this gadget will be composed of the values of items by
2529   * taking the ID of this item and adding -url and looking for that
2530   * class. They need to be in the form in order since we will
2531   * concat them all together using '/'.
2532   */
2533  Drupal.CTools.AJAX.findURL = function(item) {
2534    var url = '';
2535    var url_class = '.' + $(item).attr('id') + '-url';
2536    $(url_class).each(
2537      function() {
2538        var $this = $(this);
2539        if (url && $this.val()) {
2540          url += '/';
2541        }
2542        url += $this.val();
2543      });
2544    return url;
2545  };
2546
2547  // Hide these in a ready to ensure that Drupal.ajax is set up first.
2548  Drupal.behaviors.ctools_add_ajax_responder_commands = {
2549    attach: function () {
2550      Drupal.ajax.prototype.commands.attr = function (ajax, data, status) {
2551        $(data.selector).attr(data.name, data.value);
2552      };
2553
2554      Drupal.ajax.prototype.commands.redirect = function (ajax, data, status) {
2555        if (data.delay > 0) {
2556          setTimeout(function () {
2557            if (data.new_window) {
2558              window.open(data.url, '_blank');
2559            }
2560            else {
2561              location.href = data.url;
2562            }
2563          }, data.delay);
2564        }
2565        else {
2566          if (data.new_window) {
2567            window.open(data.url, '_blank');
2568          }
2569          else {
2570            location.href = data.url;
2571          }
2572        }
2573      };
2574
2575      Drupal.ajax.prototype.commands.reload = function (ajax, data, status) {
2576        location.reload();
2577      };
2578
2579      Drupal.ajax.prototype.commands.submit = function (ajax, data, status) {
2580        $(data.selector).submit();
2581      }
2582    }
2583  };
2584})(jQuery);
2585;/*})'"*/;/*})'"*/
2586(function ($) {
2587
2588  Drupal.behaviors.captcha = {
2589    attach: function (context) {
2590
2591      // Turn off autocompletion for the CAPTCHA response field.
2592      // We do it here with JavaScript (instead of directly in the markup)
2593      // because this autocomplete attribute is not standard and
2594      // it would break (X)HTML compliance.
2595      $("#edit-captcha-response").attr("autocomplete", "off");
2596
2597    }
2598  };
2599
2600  Drupal.behaviors.captchaAdmin = {
2601    attach: function (context) {
2602      // Add onclick handler to checkbox for adding a CAPTCHA description
2603      // so that the textfields for the CAPTCHA description are hidden
2604      // when no description should be added.
2605      // @todo: div.form-item-captcha-description depends on theming, maybe
2606      // it's better to add our own wrapper with id (instead of a class).
2607      $("#edit-captcha-add-captcha-description").click(function() {
2608        if ($("#edit-captcha-add-captcha-description").is(":checked")) {
2609          // Show the CAPTCHA description textfield(s).
2610          $("div.form-item-captcha-description").show('slow');
2611        }
2612        else {
2613          // Hide the CAPTCHA description textfield(s).
2614          $("div.form-item-captcha-description").hide('slow');
2615        }
2616      });
2617      // Hide the CAPTCHA description textfields if option is disabled on page load.
2618      if (!$("#edit-captcha-add-captcha-description").is(":checked")) {
2619        $("div.form-item-captcha-description").hide();
2620      }
2621    }
2622
2623  };
2624
2625})(jQuery);
2626;/*})'"*/;/*})'"*/

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.