{
  "version": 3,
  "sources": ["../../javascripts/jquery-3.3.1.slim.min.js", "../../node_modules/jquery/dist/jquery.js", "../../node_modules/bootstrap/js/src/util.js", "../../node_modules/bootstrap/js/src/alert.js", "../../node_modules/bootstrap/js/src/button.js", "../../node_modules/bootstrap/js/src/carousel.js", "../../node_modules/bootstrap/js/src/collapse.js", "../../node_modules/bootstrap/node_modules/popper.js/dist/esm/popper.js", "../../node_modules/bootstrap/js/src/dropdown.js", "../../node_modules/bootstrap/js/src/modal.js", "../../node_modules/bootstrap/js/src/tools/sanitizer.js", "../../node_modules/bootstrap/js/src/tooltip.js", "../../node_modules/bootstrap/js/src/popover.js", "../../node_modules/bootstrap/js/src/scrollspy.js", "../../node_modules/bootstrap/js/src/tab.js", "../../node_modules/bootstrap/js/src/toast.js", "../../node_modules/bootstrap/js/src/index.js", "../../javascripts/ga-lite.min.js", "../../javascripts/social-buttons.js", "../../javascripts/custom.js", "../../javascripts/main.js"],
  "sourcesContent": ["/*! jQuery v3.3.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector | (c) JS Foundation and other contributors | jquery.org/license */\n!function(e,t){\"use strict\";\"object\"==typeof module&&\"object\"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error(\"jQuery requires a window with a document\");return t(e)}:t(e)}(\"undefined\"!=typeof window?window:this,function(e,t){\"use strict\";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,u=n.push,s=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,d=f.toString,p=d.call(Object),h={},g=function e(t){return\"function\"==typeof t&&\"number\"!=typeof t.nodeType},v=function e(t){return null!=t&&t===t.window},y={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement(\"script\");if(o.text=e,n)for(i in y)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function b(e){return null==e?e+\"\":\"object\"==typeof e||\"function\"==typeof e?l[c.call(e)]||\"object\":typeof e}var x=\"3.3.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector\",w=function(e,t){return new w.fn.init(e,t)},C=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g;w.fn=w.prototype={jquery:x,constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:n.sort,splice:n.splice},w.extend=w.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},u=1,s=arguments.length,l=!1;for(\"boolean\"==typeof a&&(l=a,a=arguments[u]||{},u++),\"object\"==typeof a||g(a)||(a={}),u===s&&(a=this,u--);u<s;u++)if(null!=(e=arguments[u]))for(t in e)n=a[t],a!==(r=e[t])&&(l&&r&&(w.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&w.isPlainObject(n)?n:{},a[t]=w.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},w.extend({expando:\"jQuery\"+(x+Math.random()).replace(/\\D/g,\"\"),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||\"[object Object]\"!==c.call(e))&&(!(t=i(e))||\"function\"==typeof(n=f.call(t,\"constructor\")&&t.constructor)&&d.call(n)===p)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e){m(e)},each:function(e,t){var n,r=0;if(T(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?\"\":(e+\"\").replace(C,\"\")},makeArray:function(e,t){var n=t||[];return null!=e&&(T(Object(e))?w.merge(n,\"string\"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:s.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],o=0,a=e.length,u=!n;o<a;o++)(r=!t(e[o],o))!==u&&i.push(e[o]);return i},map:function(e,t,n){var r,i,o=0,u=[];if(T(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&u.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&u.push(i);return a.apply([],u)},guid:1,support:h}),\"function\"==typeof Symbol&&(w.fn[Symbol.iterator]=n[Symbol.iterator]),w.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"),function(e,t){l[\"[object \"+t+\"]\"]=t.toLowerCase()});function T(e){var t=!!e&&\"length\"in e&&e.length,n=b(e);return!g(e)&&!v(e)&&(\"array\"===n||0===t||\"number\"==typeof t&&t>0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,u,s,l,c,f,d,p,h,g,v,y,m,b,x=\"sizzle\"+1*new Date,w=e.document,C=0,T=0,E=ae(),N=ae(),k=ae(),A=function(e,t){return e===t&&(f=!0),0},D={}.hasOwnProperty,S=[],L=S.pop,j=S.push,q=S.push,O=S.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},H=\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",I=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",R=\"(?:\\\\\\\\.|[\\\\w-]|[^\\0-\\\\xa0])+\",B=\"\\\\[\"+I+\"*(\"+R+\")(?:\"+I+\"*([*^$|!~]?=)\"+I+\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+R+\"))|)\"+I+\"*\\\\]\",M=\":(\"+R+\")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\"+B+\")*)|.*)\\\\)|)\",W=new RegExp(I+\"+\",\"g\"),$=new RegExp(\"^\"+I+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+I+\"+$\",\"g\"),F=new RegExp(\"^\"+I+\"*,\"+I+\"*\"),z=new RegExp(\"^\"+I+\"*([>+~]|\"+I+\")\"+I+\"*\"),_=new RegExp(\"=\"+I+\"*([^\\\\]'\\\"]*?)\"+I+\"*\\\\]\",\"g\"),U=new RegExp(M),V=new RegExp(\"^\"+R+\"$\"),X={ID:new RegExp(\"^#(\"+R+\")\"),CLASS:new RegExp(\"^\\\\.(\"+R+\")\"),TAG:new RegExp(\"^(\"+R+\"|[*])\"),ATTR:new RegExp(\"^\"+B),PSEUDO:new RegExp(\"^\"+M),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+I+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+I+\"*(?:([+-]|)\"+I+\"*(\\\\d+)|))\"+I+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+H+\")$\",\"i\"),needsContext:new RegExp(\"^\"+I+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+I+\"*((?:-\\\\d)?\\\\d*)\"+I+\"*\\\\)|)(?=[^-]|$)\",\"i\")},Q=/^(?:input|select|textarea|button)$/i,Y=/^h\\d$/i,G=/^[^{]+\\{\\s*\\[native \\w/,K=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,J=/[+~]/,Z=new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\"+I+\"?|(\"+I+\")|.)\",\"ig\"),ee=function(e,t,n){var r=\"0x\"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,ne=function(e,t){return t?\"\\0\"===e?\"\\ufffd\":e.slice(0,-1)+\"\\\\\"+e.charCodeAt(e.length-1).toString(16)+\" \":\"\\\\\"+e},re=function(){d()},ie=me(function(e){return!0===e.disabled&&(\"form\"in e||\"label\"in e)},{dir:\"parentNode\",next:\"legend\"});try{q.apply(S=O.call(w.childNodes),w.childNodes),S[w.childNodes.length].nodeType}catch(e){q={apply:S.length?function(e,t){j.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,u,l,c,f,h,y,m=t&&t.ownerDocument,C=t?t.nodeType:9;if(r=r||[],\"string\"!=typeof e||!e||1!==C&&9!==C&&11!==C)return r;if(!i&&((t?t.ownerDocument||t:w)!==p&&d(t),t=t||p,g)){if(11!==C&&(f=K.exec(e)))if(o=f[1]){if(9===C){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&b(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return q.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return q.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!k[e+\" \"]&&(!v||!v.test(e))){if(1!==C)m=t,y=e;else if(\"object\"!==t.nodeName.toLowerCase()){(c=t.getAttribute(\"id\"))?c=c.replace(te,ne):t.setAttribute(\"id\",c=x),u=(h=a(e)).length;while(u--)h[u]=\"#\"+c+\" \"+ye(h[u]);y=h.join(\",\"),m=J.test(e)&&ge(t.parentNode)||t}if(y)try{return q.apply(r,m.querySelectorAll(y)),r}catch(e){}finally{c===x&&t.removeAttribute(\"id\")}}}return s(e.replace($,\"$1\"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+\" \")>r.cacheLength&&delete t[e.shift()],t[n+\" \"]=i}return t}function ue(e){return e[x]=!0,e}function se(e){var t=p.createElement(\"fieldset\");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split(\"|\"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return\"input\"===t.nodeName.toLowerCase()&&t.type===e}}function de(e){return function(t){var n=t.nodeName.toLowerCase();return(\"input\"===n||\"button\"===n)&&t.type===e}}function pe(e){return function(t){return\"form\"in t?t.parentNode&&!1===t.disabled?\"label\"in t?\"label\"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:\"label\"in t&&t.disabled===e}}function he(e){return ue(function(t){return t=+t,ue(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&\"undefined\"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&\"HTML\"!==t.nodeName},d=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==p&&9===a.nodeType&&a.documentElement?(p=a,h=p.documentElement,g=!o(p),w!==p&&(i=p.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener(\"unload\",re,!1):i.attachEvent&&i.attachEvent(\"onunload\",re)),n.attributes=se(function(e){return e.className=\"i\",!e.getAttribute(\"className\")}),n.getElementsByTagName=se(function(e){return e.appendChild(p.createComment(\"\")),!e.getElementsByTagName(\"*\").length}),n.getElementsByClassName=G.test(p.getElementsByClassName),n.getById=se(function(e){return h.appendChild(e).id=x,!p.getElementsByName||!p.getElementsByName(x).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute(\"id\")===t}},r.find.ID=function(e,t){if(\"undefined\"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n=\"undefined\"!=typeof e.getAttributeNode&&e.getAttributeNode(\"id\");return n&&n.value===t}},r.find.ID=function(e,t){if(\"undefined\"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return\"undefined\"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if(\"*\"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(\"undefined\"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},y=[],v=[],(n.qsa=G.test(p.querySelectorAll))&&(se(function(e){h.appendChild(e).innerHTML=\"<a id='\"+x+\"'></a><select id='\"+x+\"-\\r\\\\' msallowcapture=''><option selected=''></option></select>\",e.querySelectorAll(\"[msallowcapture^='']\").length&&v.push(\"[*^$]=\"+I+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\"[selected]\").length||v.push(\"\\\\[\"+I+\"*(?:value|\"+H+\")\"),e.querySelectorAll(\"[id~=\"+x+\"-]\").length||v.push(\"~=\"),e.querySelectorAll(\":checked\").length||v.push(\":checked\"),e.querySelectorAll(\"a#\"+x+\"+*\").length||v.push(\".#.+[+~]\")}),se(function(e){e.innerHTML=\"<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>\";var t=p.createElement(\"input\");t.setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),e.querySelectorAll(\"[name=d]\").length&&v.push(\"name\"+I+\"*[*^$|!~]?=\"),2!==e.querySelectorAll(\":enabled\").length&&v.push(\":enabled\",\":disabled\"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(\":disabled\").length&&v.push(\":enabled\",\":disabled\"),e.querySelectorAll(\"*,:x\"),v.push(\",.*:\")})),(n.matchesSelector=G.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&se(function(e){n.disconnectedMatch=m.call(e,\"*\"),m.call(e,\"[s!='']:x\"),y.push(\"!=\",M)}),v=v.length&&new RegExp(v.join(\"|\")),y=y.length&&new RegExp(y.join(\"|\")),t=G.test(h.compareDocumentPosition),b=t||G.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},A=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===p||e.ownerDocument===w&&b(w,e)?-1:t===p||t.ownerDocument===w&&b(w,t)?1:c?P(c,e)-P(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],u=[t];if(!i||!o)return e===p?-1:t===p?1:i?-1:o?1:c?P(c,e)-P(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)u.unshift(n);while(a[r]===u[r])r++;return r?ce(a[r],u[r]):a[r]===w?-1:u[r]===w?1:0},p):p},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&d(e),t=t.replace(_,\"='$1']\"),n.matchesSelector&&g&&!k[t+\" \"]&&(!y||!y.test(t))&&(!v||!v.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,p,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==p&&d(e),b(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==p&&d(e);var i=r.attrHandle[t.toLowerCase()],o=i&&D.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+\"\").replace(te,ne)},oe.error=function(e){throw new Error(\"Syntax error, unrecognized expression: \"+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(A),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n=\"\",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if(\"string\"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:ue,match:X,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||\"\").replace(Z,ee),\"~=\"===e[2]&&(e[3]=\" \"+e[3]+\" \"),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),\"nth\"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*(\"even\"===e[3]||\"odd\"===e[3])),e[5]=+(e[7]+e[8]||\"odd\"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return X.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&U.test(n)&&(t=a(n,!0))&&(t=n.indexOf(\")\",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return\"*\"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+\" \"];return t||(t=new RegExp(\"(^|\"+I+\")\"+e+\"(\"+I+\"|$)\"))&&E(e,function(e){return t.test(\"string\"==typeof e.className&&e.className||\"undefined\"!=typeof e.getAttribute&&e.getAttribute(\"class\")||\"\")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?\"!=\"===t:!t||(i+=\"\",\"=\"===t?i===n:\"!=\"===t?i!==n:\"^=\"===t?n&&0===i.indexOf(n):\"*=\"===t?n&&i.indexOf(n)>-1:\"$=\"===t?n&&i.slice(-n.length)===n:\"~=\"===t?(\" \"+i.replace(W,\" \")+\" \").indexOf(n)>-1:\"|=\"===t&&(i===n||i.slice(0,n.length+1)===n+\"-\"))}},CHILD:function(e,t,n,r,i){var o=\"nth\"!==e.slice(0,3),a=\"last\"!==e.slice(-4),u=\"of-type\"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,s){var l,c,f,d,p,h,g=o!==a?\"nextSibling\":\"previousSibling\",v=t.parentNode,y=u&&t.nodeName.toLowerCase(),m=!s&&!u,b=!1;if(v){if(o){while(g){d=t;while(d=d[g])if(u?d.nodeName.toLowerCase()===y:1===d.nodeType)return!1;h=g=\"only\"===e&&!h&&\"nextSibling\"}return!0}if(h=[a?v.firstChild:v.lastChild],a&&m){b=(p=(l=(c=(f=(d=v)[x]||(d[x]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]||[])[0]===C&&l[1])&&l[2],d=p&&v.childNodes[p];while(d=++p&&d&&d[g]||(b=p=0)||h.pop())if(1===d.nodeType&&++b&&d===t){c[e]=[C,p,b];break}}else if(m&&(b=p=(l=(c=(f=(d=t)[x]||(d[x]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]||[])[0]===C&&l[1]),!1===b)while(d=++p&&d&&d[g]||(b=p=0)||h.pop())if((u?d.nodeName.toLowerCase()===y:1===d.nodeType)&&++b&&(m&&((c=(f=d[x]||(d[x]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]=[C,b]),d===t))break;return(b-=i)===r||b%r==0&&b/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error(\"unsupported pseudo: \"+e);return i[x]?i(t):i.length>1?(n=[e,e,\"\",t],r.setFilters.hasOwnProperty(e.toLowerCase())?ue(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=P(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:ue(function(e){var t=[],n=[],r=u(e.replace($,\"$1\"));return r[x]?ue(function(e,t,n,i){var o,a=r(e,null,i,[]),u=e.length;while(u--)(o=a[u])&&(e[u]=!(t[u]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:ue(function(e){return function(t){return oe(e,t).length>0}}),contains:ue(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:ue(function(e){return V.test(e||\"\")||oe.error(\"unsupported lang: \"+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute(\"xml:lang\")||t.getAttribute(\"lang\"))return(n=n.toLowerCase())===e||0===n.indexOf(e+\"-\")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:pe(!1),disabled:pe(!0),checked:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&!!e.checked||\"option\"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&\"button\"===e.type||\"button\"===t},text:function(e){var t;return\"input\"===e.nodeName.toLowerCase()&&\"text\"===e.type&&(null==(t=e.getAttribute(\"type\"))||\"text\"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:he(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:he(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=r.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=fe(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=de(t);function ve(){}ve.prototype=r.filters=r.pseudos,r.setFilters=new ve,a=oe.tokenize=function(e,t){var n,i,o,a,u,s,l,c=N[e+\" \"];if(c)return t?0:c.slice(0);u=e,s=[],l=r.preFilter;while(u){n&&!(i=F.exec(u))||(i&&(u=u.slice(i[0].length)||u),s.push(o=[])),n=!1,(i=z.exec(u))&&(n=i.shift(),o.push({value:n,type:i[0].replace($,\" \")}),u=u.slice(n.length));for(a in r.filter)!(i=X[a].exec(u))||l[a]&&!(i=l[a](i))||(n=i.shift(),o.push({value:n,type:a,matches:i}),u=u.slice(n.length));if(!n)break}return t?u.length:u?oe.error(e):N(e,s).slice(0)};function ye(e){for(var t=0,n=e.length,r=\"\";t<n;t++)r+=e[t].value;return r}function me(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&\"parentNode\"===o,u=T++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,s){var l,c,f,d=[C,u];if(s){while(t=t[r])if((1===t.nodeType||a)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||a)if(f=t[x]||(t[x]={}),c=f[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===C&&l[1]===u)return d[2]=l[2];if(c[o]=d,d[2]=e(t,n,s))return!0}return!1}}function be(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xe(e,t,n){for(var r=0,i=t.length;r<i;r++)oe(e,t[r],n);return n}function we(e,t,n,r,i){for(var o,a=[],u=0,s=e.length,l=null!=t;u<s;u++)(o=e[u])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(u)));return a}function Ce(e,t,n,r,i,o){return r&&!r[x]&&(r=Ce(r)),i&&!i[x]&&(i=Ce(i,o)),ue(function(o,a,u,s){var l,c,f,d=[],p=[],h=a.length,g=o||xe(t||\"*\",u.nodeType?[u]:u,[]),v=!e||!o&&t?g:we(g,d,e,u,s),y=n?i||(o?e:h||r)?[]:a:v;if(n&&n(v,y,u,s),r){l=we(y,p),r(l,[],u,s),c=l.length;while(c--)(f=l[c])&&(y[p[c]]=!(v[p[c]]=f))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(f=y[c])&&l.push(v[c]=f);i(null,y=[],l,s)}c=y.length;while(c--)(f=y[c])&&(l=i?P(o,f):d[c])>-1&&(o[l]=!(a[l]=f))}}else y=we(y===a?y.splice(h,y.length):y),i?i(null,a,y,s):q.apply(a,y)})}function Te(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],u=a||r.relative[\" \"],s=a?1:0,c=me(function(e){return e===t},u,!0),f=me(function(e){return P(t,e)>-1},u,!0),d=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];s<o;s++)if(n=r.relative[e[s].type])d=[me(be(d),n)];else{if((n=r.filter[e[s].type].apply(null,e[s].matches))[x]){for(i=++s;i<o;i++)if(r.relative[e[i].type])break;return Ce(s>1&&be(d),s>1&&ye(e.slice(0,s-1).concat({value:\" \"===e[s-2].type?\"*\":\"\"})).replace($,\"$1\"),n,s<i&&Te(e.slice(s,i)),i<o&&Te(e=e.slice(i)),i<o&&ye(e))}d.push(n)}return be(d)}function Ee(e,t){var n=t.length>0,i=e.length>0,o=function(o,a,u,s,c){var f,h,v,y=0,m=\"0\",b=o&&[],x=[],w=l,T=o||i&&r.find.TAG(\"*\",c),E=C+=null==w?1:Math.random()||.1,N=T.length;for(c&&(l=a===p||a||c);m!==N&&null!=(f=T[m]);m++){if(i&&f){h=0,a||f.ownerDocument===p||(d(f),u=!g);while(v=e[h++])if(v(f,a||p,u)){s.push(f);break}c&&(C=E)}n&&((f=!v&&f)&&y--,o&&b.push(f))}if(y+=m,n&&m!==y){h=0;while(v=t[h++])v(b,x,a,u);if(o){if(y>0)while(m--)b[m]||x[m]||(x[m]=L.call(s));x=we(x)}q.apply(s,x),c&&!o&&x.length>0&&y+t.length>1&&oe.uniqueSort(s)}return c&&(C=E,l=w),b};return n?ue(o):o}return u=oe.compile=function(e,t){var n,r=[],i=[],o=k[e+\" \"];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Te(t[n]))[x]?r.push(o):i.push(o);(o=k(e,Ee(i,r))).selector=e}return o},s=oe.select=function(e,t,n,i){var o,s,l,c,f,d=\"function\"==typeof e&&e,p=!i&&a(e=d.selector||e);if(n=n||[],1===p.length){if((s=p[0]=p[0].slice(0)).length>2&&\"ID\"===(l=s[0]).type&&9===t.nodeType&&g&&r.relative[s[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;d&&(t=t.parentNode),e=e.slice(s.shift().value.length)}o=X.needsContext.test(e)?0:s.length;while(o--){if(l=s[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),J.test(s[0].type)&&ge(t.parentNode)||t))){if(s.splice(o,1),!(e=i.length&&ye(s)))return q.apply(n,i),n;break}}}return(d||u(e,p))(i,t,!g,n,!t||J.test(e)&&ge(t.parentNode)||t),n},n.sortStable=x.split(\"\").sort(A).join(\"\")===x,n.detectDuplicates=!!f,d(),n.sortDetached=se(function(e){return 1&e.compareDocumentPosition(p.createElement(\"fieldset\"))}),se(function(e){return e.innerHTML=\"<a href='#'></a>\",\"#\"===e.firstChild.getAttribute(\"href\")})||le(\"type|href|height|width\",function(e,t,n){if(!n)return e.getAttribute(t,\"type\"===t.toLowerCase()?1:2)}),n.attributes&&se(function(e){return e.innerHTML=\"<input/>\",e.firstChild.setAttribute(\"value\",\"\"),\"\"===e.firstChild.getAttribute(\"value\")})||le(\"value\",function(e,t,n){if(!n&&\"input\"===e.nodeName.toLowerCase())return e.defaultValue}),se(function(e){return null==e.getAttribute(\"disabled\")})||le(H,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[\":\"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var N=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},k=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},A=w.expr.match.needsContext;function D(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var S=/^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i;function L(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):\"string\"!=typeof t?w.grep(e,function(e){return s.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=\":not(\"+e+\")\"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if(\"string\"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t<r;t++)if(w.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)w.find(e,i[t],n);return r>1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(L(this,e||[],!1))},not:function(e){return this.pushStack(L(this,e||[],!0))},is:function(e){return!!L(this,\"string\"==typeof e&&A.test(e)?w(e):e||[],!1).length}});var j,q=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||j,\"string\"==typeof e){if(!(i=\"<\"===e[0]&&\">\"===e[e.length-1]&&e.length>=3?[null,e,null]:q.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),S.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,j=w(r);var O=/^(?:parents|prev(?:Until|All))/,P={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(w.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a=\"string\"!=typeof e&&w(e);if(!A.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?\"string\"==typeof e?s.call(w(e),this[0]):s.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function H(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return N(e,\"parentNode\")},parentsUntil:function(e,t,n){return N(e,\"parentNode\",n)},next:function(e){return H(e,\"nextSibling\")},prev:function(e){return H(e,\"previousSibling\")},nextAll:function(e){return N(e,\"nextSibling\")},prevAll:function(e){return N(e,\"previousSibling\")},nextUntil:function(e,t,n){return N(e,\"nextSibling\",n)},prevUntil:function(e,t,n){return N(e,\"previousSibling\",n)},siblings:function(e){return k((e.parentNode||{}).firstChild,e)},children:function(e){return k(e.firstChild)},contents:function(e){return D(e,\"iframe\")?e.contentDocument:(D(e,\"template\")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return\"Until\"!==e.slice(-5)&&(r=n),r&&\"string\"==typeof r&&(i=w.filter(r,i)),this.length>1&&(P[e]||w.uniqueSort(i),O.test(e)&&i.reverse()),this.pushStack(i)}});var I=/[^\\x20\\t\\r\\n\\f]+/g;function R(e){var t={};return w.each(e.match(I)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e=\"string\"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],u=-1,s=function(){for(i=i||e.once,r=t=!0;a.length;u=-1){n=a.shift();while(++u<o.length)!1===o[u].apply(n[0],n[1])&&e.stopOnFalse&&(u=o.length,n=!1)}e.memory||(n=!1),t=!1,i&&(o=n?[]:\"\")},l={add:function(){return o&&(n&&!t&&(u=o.length-1,a.push(n)),function t(n){w.each(n,function(n,r){g(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&\"string\"!==b(r)&&t(r)})}(arguments),n&&!t&&s()),this},remove:function(){return w.each(arguments,function(e,t){var n;while((n=w.inArray(t,o,n))>-1)o.splice(n,1),n<=u&&u--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n=\"\",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=\"\"),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||s()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function B(e){return e}function M(e){throw e}function W(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[[\"notify\",\"progress\",w.Callbacks(\"memory\"),w.Callbacks(\"memory\"),2],[\"resolve\",\"done\",w.Callbacks(\"once memory\"),w.Callbacks(\"once memory\"),0,\"resolved\"],[\"reject\",\"fail\",w.Callbacks(\"once memory\"),w.Callbacks(\"once memory\"),1,\"rejected\"]],r=\"pending\",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},\"catch\":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+\"With\"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var u=this,s=arguments,l=function(){var e,l;if(!(t<o)){if((e=r.apply(u,s))===n.promise())throw new TypeError(\"Thenable self-resolution\");l=e&&(\"object\"==typeof e||\"function\"==typeof e)&&e.then,g(l)?i?l.call(e,a(o,n,B,i),a(o,n,M,i)):(o++,l.call(e,a(o,n,B,i),a(o,n,M,i),a(o,n,B,n.notifyWith))):(r!==B&&(u=void 0,s=[e]),(i||n.resolveWith)(u,s))}},c=i?l:function(){try{l()}catch(e){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(e,c.stackTrace),t+1>=o&&(r!==M&&(u=void 0,s=[e]),n.rejectWith(u,s))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:B,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:B)),n[2][3].add(a(0,e,g(r)?r:M))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],u=t[5];i[t[1]]=a.add,u&&a.add(function(){r=u},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+\"With\"](this===o?void 0:this,arguments),this},o[t[0]+\"With\"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),u=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&(W(e,a.done(u(n)).resolve,a.reject,!t),\"pending\"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)W(i[n],u(n),a.reject);return a.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&$.test(t.name)&&e.console.warn(\"jQuery.Deferred exception: \"+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)[\"catch\"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function z(){r.removeEventListener(\"DOMContentLoaded\",z),e.removeEventListener(\"load\",z),w.ready()}\"complete\"===r.readyState||\"loading\"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener(\"DOMContentLoaded\",z),e.addEventListener(\"load\",z));var _=function(e,t,n,r,i,o,a){var u=0,s=e.length,l=null==n;if(\"object\"===b(n)){i=!0;for(u in n)_(e,t,u,n[u],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;u<s;u++)t(e[u],n,a?r:r.call(e[u],u,t(e[u],n)));return i?e:l?t.call(e):s?t(e[0],n):o},U=/^-ms-/,V=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function Q(e){return e.replace(U,\"ms-\").replace(V,X)}var Y=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=w.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Y(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if(\"string\"==typeof t)i[Q(t)]=n;else for(r in t)i[Q(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][Q(t)]},access:function(e,t,n){return void 0===t||t&&\"string\"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(Q):(t=Q(t))in r?[t]:t.match(I)||[]).length;while(n--)delete r[t[n]]}(void 0===t||w.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!w.isEmptyObject(t)}};var K=new G,J=new G,Z=/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,ee=/[A-Z]/g;function te(e){return\"true\"===e||\"false\"!==e&&(\"null\"===e?null:e===+e+\"\"?+e:Z.test(e)?JSON.parse(e):e)}function ne(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r=\"data-\"+t.replace(ee,\"-$&\").toLowerCase(),\"string\"==typeof(n=e.getAttribute(r))){try{n=te(n)}catch(e){}J.set(e,t,n)}else n=void 0;return n}w.extend({hasData:function(e){return J.hasData(e)||K.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return K.access(e,t,n)},_removeData:function(e,t){K.remove(e,t)}}),w.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=J.get(o),1===o.nodeType&&!K.get(o,\"hasDataAttrs\"))){n=a.length;while(n--)a[n]&&0===(r=a[n].name).indexOf(\"data-\")&&(r=Q(r.slice(5)),ne(o,r,i[r]));K.set(o,\"hasDataAttrs\",!0)}return i}return\"object\"==typeof e?this.each(function(){J.set(this,e)}):_(this,function(t){var n;if(o&&void 0===t){if(void 0!==(n=J.get(o,e)))return n;if(void 0!==(n=ne(o,e)))return n}else this.each(function(){J.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||\"fx\")+\"queue\",r=K.get(e,t),n&&(!r||Array.isArray(n)?r=K.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||\"fx\";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};\"inprogress\"===i&&(i=n.shift(),r--),i&&(\"fx\"===t&&n.unshift(\"inprogress\"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+\"queueHooks\";return K.get(e,n)||K.access(e,n,{empty:w.Callbacks(\"once memory\").add(function(){K.remove(e,[t+\"queue\",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return\"string\"!=typeof e&&(t=e,e=\"fx\",n--),arguments.length<n?w.queue(this[0],e):void 0===t?this:this.each(function(){var n=w.queue(this,e,t);w._queueHooks(this,e),\"fx\"===e&&\"inprogress\"!==n[0]&&w.dequeue(this,e)})},dequeue:function(e){return this.each(function(){w.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||\"fx\",[])},promise:function(e,t){var n,r=1,i=w.Deferred(),o=this,a=this.length,u=function(){--r||i.resolveWith(o,[o])};\"string\"!=typeof e&&(t=e,e=void 0),e=e||\"fx\";while(a--)(n=K.get(o[a],e+\"queueHooks\"))&&n.empty&&(r++,n.empty.add(u));return u(),i.promise(t)}});var re=/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source,ie=new RegExp(\"^(?:([+-])=|)(\"+re+\")([a-z%]*)$\",\"i\"),oe=[\"Top\",\"Right\",\"Bottom\",\"Left\"],ae=function(e,t){return\"none\"===(e=t||e).style.display||\"\"===e.style.display&&w.contains(e.ownerDocument,e)&&\"none\"===w.css(e,\"display\")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i};function se(e,t,n,r){var i,o,a=20,u=r?function(){return r.cur()}:function(){return w.css(e,t,\"\")},s=u(),l=n&&n[3]||(w.cssNumber[t]?\"\":\"px\"),c=(w.cssNumber[t]||\"px\"!==l&&+s)&&ie.exec(w.css(e,t));if(c&&c[3]!==l){s/=2,l=l||c[3],c=+s||1;while(a--)w.style(e,t,c+l),(1-o)*(1-(o=u()/s||.5))<=0&&(a=0),c/=o;c*=2,w.style(e,t,c+l),n=n||[]}return n&&(c=+c||+s||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var le={};function ce(e){var t,n=e.ownerDocument,r=e.nodeName,i=le[r];return i||(t=n.body.appendChild(n.createElement(r)),i=w.css(t,\"display\"),t.parentNode.removeChild(t),\"none\"===i&&(i=\"block\"),le[r]=i,i)}function fe(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&&(n=r.style.display,t?(\"none\"===n&&(i[o]=K.get(r,\"display\")||null,i[o]||(r.style.display=\"\")),\"\"===r.style.display&&ae(r)&&(i[o]=ce(r))):\"none\"!==n&&(i[o]=\"none\",K.set(r,\"display\",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}w.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return\"boolean\"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?w(this).show():w(this).hide()})}});var de=/^(?:checkbox|radio)$/i,pe=/<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]+)/i,he=/^$|^module$|\\/(?:java|ecma)script/i,ge={option:[1,\"<select multiple='multiple'>\",\"</select>\"],thead:[1,\"<table>\",\"</table>\"],col:[2,\"<table><colgroup>\",\"</colgroup></table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],_default:[0,\"\",\"\"]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ve(e,t){var n;return n=\"undefined\"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||\"*\"):\"undefined\"!=typeof e.querySelectorAll?e.querySelectorAll(t||\"*\"):[],void 0===t||t&&D(e,t)?w.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)K.set(e[n],\"globalEval\",!t||K.get(t[n],\"globalEval\"))}var me=/<|&#?\\w+;/;function be(e,t,n,r,i){for(var o,a,u,s,l,c,f=t.createDocumentFragment(),d=[],p=0,h=e.length;p<h;p++)if((o=e[p])||0===o)if(\"object\"===b(o))w.merge(d,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement(\"div\")),u=(pe.exec(o)||[\"\",\"\"])[1].toLowerCase(),s=ge[u]||ge._default,a.innerHTML=s[1]+w.htmlPrefilter(o)+s[2],c=s[0];while(c--)a=a.lastChild;w.merge(d,a.childNodes),(a=f.firstChild).textContent=\"\"}else d.push(t.createTextNode(o));f.textContent=\"\",p=0;while(o=d[p++])if(r&&w.inArray(o,r)>-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ve(f.appendChild(o),\"script\"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||\"\")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement(\"div\")),t=r.createElement(\"input\");t.setAttribute(\"type\",\"radio\"),t.setAttribute(\"checked\",\"checked\"),t.setAttribute(\"name\",\"t\"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML=\"<textarea>x</textarea>\",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var xe=r.documentElement,we=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\\.(.+)|)/;function Ee(){return!0}function Ne(){return!1}function ke(){try{return r.activeElement}catch(e){}}function Ae(e,t,n,r,i,o){var a,u;if(\"object\"==typeof t){\"string\"!=typeof n&&(r=r||n,n=void 0);for(u in t)Ae(e,u,n,r,t[u],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&(\"string\"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ne;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,u,s,l,c,f,d,p,h,g,v=K.get(e);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(xe,i),n.guid||(n.guid=w.guid++),(s=v.events)||(s=v.events={}),(a=v.handle)||(a=v.handle=function(t){return\"undefined\"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||\"\").match(I)||[\"\"]).length;while(l--)p=g=(u=Te.exec(t[l])||[])[1],h=(u[2]||\"\").split(\".\").sort(),p&&(f=w.event.special[p]||{},p=(i?f.delegateType:f.bindType)||p,f=w.event.special[p]||{},c=w.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(\".\")},o),(d=s[p])||((d=s[p]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(p,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,c):d.push(c),w.event.global[p]=!0)}},remove:function(e,t,n,r,i){var o,a,u,s,l,c,f,d,p,h,g,v=K.hasData(e)&&K.get(e);if(v&&(s=v.events)){l=(t=(t||\"\").match(I)||[\"\"]).length;while(l--)if(u=Te.exec(t[l])||[],p=g=u[1],h=(u[2]||\"\").split(\".\").sort(),p){f=w.event.special[p]||{},d=s[p=(r?f.delegateType:f.bindType)||p]||[],u=u[2]&&new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),a=o=d.length;while(o--)c=d[o],!i&&g!==c.origType||n&&n.guid!==c.guid||u&&!u.test(c.namespace)||r&&r!==c.selector&&(\"**\"!==r||!c.selector)||(d.splice(o,1),c.selector&&d.delegateCount--,f.remove&&f.remove.call(e,c));a&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||w.removeEvent(e,p,v.handle),delete s[p])}else for(p in s)w.event.remove(e,p+t[l],n,r,!0);w.isEmptyObject(s)&&K.remove(e,\"handle events\")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,u,s=new Array(arguments.length),l=(K.get(this,\"events\")||{})[t.type]||[],c=w.event.special[t.type]||{};for(s[0]=t,n=1;n<arguments.length;n++)s[n]=arguments[n];if(t.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,t)){u=w.event.handlers.call(this,t,l),n=0;while((o=u[n++])&&!t.isPropagationStopped()){t.currentTarget=o.elem,r=0;while((a=o.handlers[r++])&&!t.isImmediatePropagationStopped())t.rnamespace&&!t.rnamespace.test(a.namespace)||(t.handleObj=a,t.data=a.data,void 0!==(i=((w.event.special[a.origType]||{}).handle||a.handler).apply(o.elem,s))&&!1===(t.result=i)&&(t.preventDefault(),t.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,t),t.result}},handlers:function(e,t){var n,r,i,o,a,u=[],s=t.delegateCount,l=e.target;if(s&&l.nodeType&&!(\"click\"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&(\"click\"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<s;n++)void 0===a[i=(r=t[n]).selector+\" \"]&&(a[i]=r.needsContext?w(i,this).index(l)>-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&u.push({elem:l,handlers:o})}return l=this,s<t.length&&u.push({elem:l,handlers:t.slice(s)}),u},addProp:function(e,t){Object.defineProperty(w.Event.prototype,e,{enumerable:!0,configurable:!0,get:g(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[w.expando]?e:new w.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ke()&&this.focus)return this.focus(),!1},delegateType:\"focusin\"},blur:{trigger:function(){if(this===ke()&&this.blur)return this.blur(),!1},delegateType:\"focusout\"},click:{trigger:function(){if(\"checkbox\"===this.type&&this.click&&D(this,\"input\"))return this.click(),!1},_default:function(e){return D(e.target,\"a\")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},w.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},w.Event=function(e,t){if(!(this instanceof w.Event))return new w.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ee:Ne,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&w.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:Ne,isPropagationStopped:Ne,isImmediatePropagationStopped:Ne,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ee,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ee,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ee,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},w.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,\"char\":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&we.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},w.event.addProp),w.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\",pointerenter:\"pointerover\",pointerleave:\"pointerout\"},function(e,t){w.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||w.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),w.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,w(e.delegateTarget).off(r.namespace?r.origType+\".\"+r.namespace:r.origType,r.selector,r.handler),this;if(\"object\"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&\"function\"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ne),this.each(function(){w.event.remove(this,e,n,t)})}});var De=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)[^>]*)\\/>/gi,Se=/<script|<style|<link/i,Le=/checked\\s*(?:[^=]|=\\s*.checked.)/i,je=/^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g;function qe(e,t){return D(e,\"table\")&&D(11!==t.nodeType?t:t.firstChild,\"tr\")?w(e).children(\"tbody\")[0]||e:e}function Oe(e){return e.type=(null!==e.getAttribute(\"type\"))+\"/\"+e.type,e}function Pe(e){return\"true/\"===(e.type||\"\").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute(\"type\"),e}function He(e,t){var n,r,i,o,a,u,s,l;if(1===t.nodeType){if(K.hasData(e)&&(o=K.access(e),a=K.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n<r;n++)w.event.add(t,i,l[i][n])}J.hasData(e)&&(u=J.access(e),s=w.extend({},u),J.set(t,s))}}function Ie(e,t){var n=t.nodeName.toLowerCase();\"input\"===n&&de.test(e.type)?t.checked=e.checked:\"input\"!==n&&\"textarea\"!==n||(t.defaultValue=e.defaultValue)}function Re(e,t,n,r){t=a.apply([],t);var i,o,u,s,l,c,f=0,d=e.length,p=d-1,v=t[0],y=g(v);if(y||d>1&&\"string\"==typeof v&&!h.checkClone&&Le.test(v))return e.each(function(i){var o=e.eq(i);y&&(t[0]=v.call(this,i,o.html())),Re(o,t,n,r)});if(d&&(i=be(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(s=(u=w.map(ve(i,\"script\"),Oe)).length;f<d;f++)l=i,f!==p&&(l=w.clone(l,!0,!0),s&&w.merge(u,ve(l,\"script\"))),n.call(e[f],l,f);if(s)for(c=u[u.length-1].ownerDocument,w.map(u,Pe),f=0;f<s;f++)l=u[f],he.test(l.type||\"\")&&!K.access(l,\"globalEval\")&&w.contains(c,l)&&(l.src&&\"module\"!==(l.type||\"\").toLowerCase()?w._evalUrl&&w._evalUrl(l.src):m(l.textContent.replace(je,\"\"),c,l))}return e}function Be(e,t,n){for(var r,i=t?w.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||w.cleanData(ve(r)),r.parentNode&&(n&&w.contains(r.ownerDocument,r)&&ye(ve(r,\"script\")),r.parentNode.removeChild(r));return e}w.extend({htmlPrefilter:function(e){return e.replace(De,\"<$1></$2>\")},clone:function(e,t,n){var r,i,o,a,u=e.cloneNode(!0),s=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ve(u),r=0,i=(o=ve(e)).length;r<i;r++)Ie(o[r],a[r]);if(t)if(n)for(o=o||ve(e),a=a||ve(u),r=0,i=o.length;r<i;r++)He(o[r],a[r]);else He(e,u);return(a=ve(u,\"script\")).length>0&&ye(a,!s&&ve(e,\"script\")),u},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[K.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[K.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Be(this,e,!0)},remove:function(e){return Be(this,e)},text:function(e){return _(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ve(e,!1)),e.textContent=\"\");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if(\"string\"==typeof e&&!Se.test(e)&&!ge[(pe.exec(e)||[\"\",\"\"])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(w.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return Re(this,arguments,function(t){var n=this.parentNode;w.inArray(this,e)<0&&(w.cleanData(ve(this)),n&&n.replaceChild(t,this))},e)}}),w.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(e,t){w.fn[e]=function(e){for(var n,r=[],i=w(e),o=i.length-1,a=0;a<=o;a++)n=a===o?this:this.clone(!0),w(i[a])[t](n),u.apply(r,n.get());return this.pushStack(r)}});var Me=new RegExp(\"^(\"+re+\")(?!px)[a-z%]+$\",\"i\"),We=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},$e=new RegExp(oe.join(\"|\"),\"i\");!function(){function t(){if(c){l.style.cssText=\"position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0\",c.style.cssText=\"position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%\",xe.appendChild(l).appendChild(c);var t=e.getComputedStyle(c);i=\"1%\"!==t.top,s=12===n(t.marginLeft),c.style.right=\"60%\",u=36===n(t.right),o=36===n(t.width),c.style.position=\"absolute\",a=36===c.offsetWidth||\"absolute\",xe.removeChild(l),c=null}}function n(e){return Math.round(parseFloat(e))}var i,o,a,u,s,l=r.createElement(\"div\"),c=r.createElement(\"div\");c.style&&(c.style.backgroundClip=\"content-box\",c.cloneNode(!0).style.backgroundClip=\"\",h.clearCloneStyle=\"content-box\"===c.style.backgroundClip,w.extend(h,{boxSizingReliable:function(){return t(),o},pixelBoxStyles:function(){return t(),u},pixelPosition:function(){return t(),i},reliableMarginLeft:function(){return t(),s},scrollboxSize:function(){return t(),a}}))}();function Fe(e,t,n){var r,i,o,a,u=e.style;return(n=n||We(e))&&(\"\"!==(a=n.getPropertyValue(t)||n[t])||w.contains(e.ownerDocument,e)||(a=w.style(e,t)),!h.pixelBoxStyles()&&Me.test(a)&&$e.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=n.width,u.width=r,u.minWidth=i,u.maxWidth=o)),void 0!==a?a+\"\":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}var _e=/^(none|table(?!-c[ea]).+)/,Ue=/^--/,Ve={position:\"absolute\",visibility:\"hidden\",display:\"block\"},Xe={letterSpacing:\"0\",fontWeight:\"400\"},Qe=[\"Webkit\",\"Moz\",\"ms\"],Ye=r.createElement(\"div\").style;function Ge(e){if(e in Ye)return e;var t=e[0].toUpperCase()+e.slice(1),n=Qe.length;while(n--)if((e=Qe[n]+t)in Ye)return e}function Ke(e){var t=w.cssProps[e];return t||(t=w.cssProps[e]=Ge(e)||e),t}function Je(e,t,n){var r=ie.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||\"px\"):t}function Ze(e,t,n,r,i,o){var a=\"width\"===t?1:0,u=0,s=0;if(n===(r?\"border\":\"content\"))return 0;for(;a<4;a+=2)\"margin\"===n&&(s+=w.css(e,n+oe[a],!0,i)),r?(\"content\"===n&&(s-=w.css(e,\"padding\"+oe[a],!0,i)),\"margin\"!==n&&(s-=w.css(e,\"border\"+oe[a]+\"Width\",!0,i))):(s+=w.css(e,\"padding\"+oe[a],!0,i),\"padding\"!==n?s+=w.css(e,\"border\"+oe[a]+\"Width\",!0,i):u+=w.css(e,\"border\"+oe[a]+\"Width\",!0,i));return!r&&o>=0&&(s+=Math.max(0,Math.ceil(e[\"offset\"+t[0].toUpperCase()+t.slice(1)]-o-s-u-.5))),s}function et(e,t,n){var r=We(e),i=Fe(e,t,r),o=\"border-box\"===w.css(e,\"boxSizing\",!1,r),a=o;if(Me.test(i)){if(!n)return i;i=\"auto\"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),(\"auto\"===i||!parseFloat(i)&&\"inline\"===w.css(e,\"display\",!1,r))&&(i=e[\"offset\"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?\"border\":\"content\"),a,r,i)+\"px\"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,\"opacity\");return\"\"===n?\"1\":n}}}},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:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,u=Q(t),s=Ue.test(t),l=e.style;if(s||(t=Ke(u)),a=w.cssHooks[t]||w.cssHooks[u],void 0===n)return a&&\"get\"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];\"string\"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=se(e,t,i),o=\"number\"),null!=n&&n===n&&(\"number\"===o&&(n+=i&&i[3]||(w.cssNumber[u]?\"\":\"px\")),h.clearCloneStyle||\"\"!==n||0!==t.indexOf(\"background\")||(l[t]=\"inherit\"),a&&\"set\"in a&&void 0===(n=a.set(e,n,r))||(s?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,u=Q(t);return Ue.test(t)||(t=Ke(u)),(a=w.cssHooks[t]||w.cssHooks[u])&&\"get\"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),\"normal\"===i&&t in Xe&&(i=Xe[t]),\"\"===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each([\"height\",\"width\"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!_e.test(w.css(e,\"display\"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):ue(e,Ve,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=We(e),a=\"border-box\"===w.css(e,\"boxSizing\",!1,o),u=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(u-=Math.ceil(e[\"offset\"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,\"border\",!1,o)-.5)),u&&(i=ie.exec(n))&&\"px\"!==(i[3]||\"px\")&&(e.style[t]=n,n=w.css(e,t)),Je(e,n,u)}}}),w.cssHooks.marginLeft=ze(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,\"marginLeft\"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+\"px\"}),w.each({margin:\"\",padding:\"\",border:\"Width\"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o=\"string\"==typeof n?n.split(\" \"):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},\"margin\"!==e&&(w.cssHooks[e+t].set=Je)}),w.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=We(e),i=t.length;a<i;a++)o[t[a]]=w.css(e,t[a],!1,r);return o}return void 0!==n?w.style(e,t,n):w.css(e,t)},e,t,arguments.length>1)}}),w.fn.delay=function(t,n){return t=w.fx?w.fx.speeds[t]||t:t,n=n||\"fx\",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=r.createElement(\"input\"),t=r.createElement(\"select\").appendChild(r.createElement(\"option\"));e.type=\"checkbox\",h.checkOn=\"\"!==e.value,h.optSelected=t.selected,(e=r.createElement(\"input\")).value=\"t\",e.type=\"radio\",h.radioValue=\"t\"===e.value}();var tt,nt=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return _(this,w.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return\"undefined\"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?tt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+\"\"),n):i&&\"get\"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&\"radio\"===t&&D(e,\"input\")){var n=e.value;return e.setAttribute(\"type\",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(I);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),tt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\\w+/g),function(e,t){var n=nt[t]||w.find.attr;nt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=nt[a],nt[a]=i,i=null!=n(e,t,r)?a:null,nt[a]=o),i}});var rt=/^(?:input|select|textarea|button)$/i,it=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return _(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&\"get\"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,\"tabindex\");return t?parseInt(t,10):rt.test(e.nodeName)||it.test(e.nodeName)&&e.href?0:-1}}},propFix:{\"for\":\"htmlFor\",\"class\":\"className\"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],function(){w.propFix[this.toLowerCase()]=this});function ot(e){return(e.match(I)||[]).join(\" \")}function at(e){return e.getAttribute&&e.getAttribute(\"class\")||\"\"}function ut(e){return Array.isArray(e)?e:\"string\"==typeof e?e.match(I)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,u,s=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,at(this)))});if((t=ut(e)).length)while(n=this[s++])if(i=at(n),r=1===n.nodeType&&\" \"+ot(i)+\" \"){a=0;while(o=t[a++])r.indexOf(\" \"+o+\" \")<0&&(r+=o+\" \");i!==(u=ot(r))&&n.setAttribute(\"class\",u)}return this},removeClass:function(e){var t,n,r,i,o,a,u,s=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,at(this)))});if(!arguments.length)return this.attr(\"class\",\"\");if((t=ut(e)).length)while(n=this[s++])if(i=at(n),r=1===n.nodeType&&\" \"+ot(i)+\" \"){a=0;while(o=t[a++])while(r.indexOf(\" \"+o+\" \")>-1)r=r.replace(\" \"+o+\" \",\" \");i!==(u=ot(r))&&n.setAttribute(\"class\",u)}return this},toggleClass:function(e,t){var n=typeof e,r=\"string\"===n||Array.isArray(e);return\"boolean\"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,at(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=ut(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&\"boolean\"!==n||((t=at(this))&&K.set(this,\"__className__\",t),this.setAttribute&&this.setAttribute(\"class\",t||!1===e?\"\":K.get(this,\"__className__\")||\"\"))})},hasClass:function(e){var t,n,r=0;t=\" \"+e+\" \";while(n=this[r++])if(1===n.nodeType&&(\" \"+ot(at(n))+\" \").indexOf(t)>-1)return!0;return!1}});var st=/\\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i=\"\":\"number\"==typeof i?i+=\"\":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?\"\":e+\"\"})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&\"set\"in t&&void 0!==t.set(this,i,\"value\")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&\"get\"in t&&void 0!==(n=t.get(i,\"value\"))?n:\"string\"==typeof(n=i.value)?n.replace(st,\"\"):null==n?\"\":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,\"value\");return null!=t?t:ot(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a=\"select-one\"===e.type,u=a?null:[],s=a?o+1:i.length;for(r=o<0?s:a?o:0;r<s;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!D(n.parentNode,\"optgroup\"))){if(t=w(n).val(),a)return t;u.push(t)}return u},set:function(e,t){var n,r,i=e.options,o=w.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=w.inArray(w.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each([\"radio\",\"checkbox\"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute(\"value\")?\"on\":e.value})}),h.focusin=\"onfocusin\"in e;var lt=/^(?:focusinfocus|focusoutblur)$/,ct=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,u,s,l,c,d,p,h,y=[i||r],m=f.call(t,\"type\")?t.type:t,b=f.call(t,\"namespace\")?t.namespace.split(\".\"):[];if(u=h=s=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!lt.test(m+w.event.triggered)&&(m.indexOf(\".\")>-1&&(m=(b=m.split(\".\")).shift(),b.sort()),c=m.indexOf(\":\")<0&&\"on\"+m,t=t[w.expando]?t:new w.Event(m,\"object\"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=b.join(\".\"),t.rnamespace=t.namespace?new RegExp(\"(^|\\\\.)\"+b.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),p=w.event.special[m]||{},o||!p.trigger||!1!==p.trigger.apply(i,n))){if(!o&&!p.noBubble&&!v(i)){for(l=p.delegateType||m,lt.test(l+m)||(u=u.parentNode);u;u=u.parentNode)y.push(u),s=u;s===(i.ownerDocument||r)&&y.push(s.defaultView||s.parentWindow||e)}a=0;while((u=y[a++])&&!t.isPropagationStopped())h=u,t.type=a>1?l:p.bindType||m,(d=(K.get(u,\"events\")||{})[t.type]&&K.get(u,\"handle\"))&&d.apply(u,n),(d=c&&u[c])&&d.apply&&Y(u)&&(t.result=d.apply(u,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||p._default&&!1!==p._default.apply(y.pop(),n)||!Y(i)||c&&g(i[m])&&!v(i)&&((s=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,ct),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,ct),w.event.triggered=void 0,s&&(i[c]=s)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:\"focusin\",blur:\"focusout\"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=K.access(r,t);i||r.addEventListener(e,n,!0),K.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=K.access(r,t)-1;i?K.access(r,t,i):(r.removeEventListener(e,n,!0),K.remove(r,t))}}});var ft=/\\[\\]$/,dt=/\\r?\\n/g,pt=/^(?:submit|button|image|reset|file)$/i,ht=/^(?:input|select|textarea|keygen)/i;function gt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||ft.test(e)?r(e,i):gt(e+\"[\"+(\"object\"==typeof i&&null!=i?t:\"\")+\"]\",i,n,r)});else if(n||\"object\"!==b(t))r(e,t);else for(i in t)gt(e+\"[\"+i+\"]\",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+\"=\"+encodeURIComponent(null==n?\"\":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)gt(n,e[n],t,i);return r.join(\"&\")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,\"elements\");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(\":disabled\")&&ht.test(this.nodeName)&&!pt.test(e)&&(this.checked||!de.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(dt,\"\\r\\n\")}}):{name:t.name,value:n.replace(dt,\"\\r\\n\")}}).get()}}),w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not(\"body\").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},h.createHTMLDocument=function(){var e=r.implementation.createHTMLDocument(\"\").body;return e.innerHTML=\"<form></form><form></form>\",2===e.childNodes.length}(),w.parseHTML=function(e,t,n){if(\"string\"!=typeof e)return[];\"boolean\"==typeof t&&(n=t,t=!1);var i,o,a;return t||(h.createHTMLDocument?((i=(t=r.implementation.createHTMLDocument(\"\")).createElement(\"base\")).href=r.location.href,t.head.appendChild(i)):t=r),o=S.exec(e),a=!n&&[],o?[t.createElement(o[1])]:(o=be([e],t,a),a&&a.length&&w(a).remove(),w.merge([],o.childNodes))},w.offset={setOffset:function(e,t,n){var r,i,o,a,u,s,l,c=w.css(e,\"position\"),f=w(e),d={};\"static\"===c&&(e.style.position=\"relative\"),u=f.offset(),o=w.css(e,\"top\"),s=w.css(e,\"left\"),(l=(\"absolute\"===c||\"fixed\"===c)&&(o+s).indexOf(\"auto\")>-1)?(a=(r=f.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(s)||0),g(t)&&(t=t.call(e,n,w.extend({},u))),null!=t.top&&(d.top=t.top-u.top+a),null!=t.left&&(d.left=t.left-u.left+i),\"using\"in t?t.using.call(e,d):f.css(d)}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){w.offset.setOffset(this,e,t)});var t,n,r=this[0];if(r)return r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if(\"fixed\"===w.css(r,\"position\"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&\"static\"===w.css(e,\"position\"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=w(e).offset()).top+=w.css(e,\"borderTopWidth\",!0),i.left+=w.css(e,\"borderLeftWidth\",!0))}return{top:t.top-i.top-w.css(r,\"marginTop\",!0),left:t.left-i.left-w.css(r,\"marginLeft\",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&\"static\"===w.css(e,\"position\"))e=e.offsetParent;return e||xe})}}),w.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(e,t){var n=\"pageYOffset\"===t;w.fn[e]=function(r){return _(this,function(e,r,i){var o;if(v(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),w.each([\"top\",\"left\"],function(e,t){w.cssHooks[t]=ze(h.pixelPosition,function(e,n){if(n)return n=Fe(e,t),Me.test(n)?w(e).position()[t]+\"px\":n})}),w.each({Height:\"height\",Width:\"width\"},function(e,t){w.each({padding:\"inner\"+e,content:t,\"\":\"outer\"+e},function(n,r){w.fn[r]=function(i,o){var a=arguments.length&&(n||\"boolean\"!=typeof i),u=n||(!0===i||!0===o?\"margin\":\"border\");return _(this,function(t,n,i){var o;return v(t)?0===r.indexOf(\"outer\")?t[\"inner\"+e]:t.document.documentElement[\"client\"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body[\"scroll\"+e],o[\"scroll\"+e],t.body[\"offset\"+e],o[\"offset\"+e],o[\"client\"+e])):void 0===i?w.css(t,n,u):w.style(t,n,i,u)},t,a?i:void 0,a)}})}),w.each(\"blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu\".split(\" \"),function(e,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),w.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,\"**\"):this.off(t,e||\"**\",n)}}),w.proxy=function(e,t){var n,r,i;if(\"string\"==typeof t&&(n=e[t],t=e,e=n),g(e))return r=o.call(arguments,2),i=function(){return e.apply(t||this,r.concat(o.call(arguments)))},i.guid=e.guid=e.guid||w.guid++,i},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=D,w.isFunction=g,w.isWindow=v,w.camelCase=Q,w.type=b,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return(\"number\"===t||\"string\"===t)&&!isNaN(e-parseFloat(e))},\"function\"==typeof define&&define.amd&&define(\"jquery\",[],function(){return w});var vt=e.jQuery,yt=e.$;return w.noConflict=function(t){return e.$===w&&(e.$=yt),t&&e.jQuery===w&&(e.jQuery=vt),w},t||(e.jQuery=e.$=w),w});\n", "/*!\n * jQuery JavaScript Library v3.7.1\n * https://jquery.com/\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2023-08-28T13:37Z\n */\n( function( global, factory ) {\n\n\t\"use strict\";\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket trac-14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n} )( typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\n// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\n// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\n// enough that all such attempts are guarded in a try block.\n\"use strict\";\n\nvar arr = [];\n\nvar getProto = Object.getPrototypeOf;\n\nvar slice = arr.slice;\n\nvar flat = arr.flat ? function( array ) {\n\treturn arr.flat.call( array );\n} : function( array ) {\n\treturn arr.concat.apply( [], array );\n};\n\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar fnToString = hasOwn.toString;\n\nvar ObjectFunctionString = fnToString.call( Object );\n\nvar support = {};\n\nvar isFunction = function isFunction( obj ) {\n\n\t\t// Support: Chrome <=57, Firefox <=52\n\t\t// In some browsers, typeof returns \"function\" for HTML <object> elements\n\t\t// (i.e., `typeof document.createElement( \"object\" ) === \"function\"`).\n\t\t// We don't want to classify *any* DOM node as a function.\n\t\t// Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5\n\t\t// Plus for old WebKit, typeof returns \"function\" for HTML collections\n\t\t// (e.g., `typeof document.getElementsByTagName(\"div\") === \"function\"`). (gh-4756)\n\t\treturn typeof obj === \"function\" && typeof obj.nodeType !== \"number\" &&\n\t\t\ttypeof obj.item !== \"function\";\n\t};\n\n\nvar isWindow = function isWindow( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t};\n\n\nvar document = window.document;\n\n\n\n\tvar preservedScriptAttributes = {\n\t\ttype: true,\n\t\tsrc: true,\n\t\tnonce: true,\n\t\tnoModule: true\n\t};\n\n\tfunction DOMEval( code, node, doc ) {\n\t\tdoc = doc || document;\n\n\t\tvar i, val,\n\t\t\tscript = doc.createElement( \"script\" );\n\n\t\tscript.text = code;\n\t\tif ( node ) {\n\t\t\tfor ( i in preservedScriptAttributes ) {\n\n\t\t\t\t// Support: Firefox 64+, Edge 18+\n\t\t\t\t// Some browsers don't support the \"nonce\" property on scripts.\n\t\t\t\t// On the other hand, just using `getAttribute` is not enough as\n\t\t\t\t// the `nonce` attribute is reset to an empty string whenever it\n\t\t\t\t// becomes browsing-context connected.\n\t\t\t\t// See https://github.com/whatwg/html/issues/2369\n\t\t\t\t// See https://html.spec.whatwg.org/#nonce-attributes\n\t\t\t\t// The `node.getAttribute` check was added for the sake of\n\t\t\t\t// `jQuery.globalEval` so that it can fake a nonce-containing node\n\t\t\t\t// via an object.\n\t\t\t\tval = node[ i ] || node.getAttribute && node.getAttribute( i );\n\t\t\t\tif ( val ) {\n\t\t\t\t\tscript.setAttribute( i, val );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdoc.head.appendChild( script ).parentNode.removeChild( script );\n\t}\n\n\nfunction toType( obj ) {\n\tif ( obj == null ) {\n\t\treturn obj + \"\";\n\t}\n\n\t// Support: Android <=2.3 only (functionish RegExp)\n\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\ttypeof obj;\n}\n/* global Symbol */\n// Defining this global in .eslintrc.json would create a danger of using the global\n// unguarded in another place, it seems safer to define global only for this module\n\n\n\nvar version = \"3.7.1\",\n\n\trhtmlSuffix = /HTML$/i,\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t};\n\njQuery.fn = jQuery.prototype = {\n\n\t// The current version of jQuery being used\n\tjquery: version,\n\n\tconstructor: jQuery,\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\ttoArray: function() {\n\t\treturn slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\n\t\t// Return all the elements in a clean array\n\t\tif ( num == null ) {\n\t\t\treturn slice.call( this );\n\t\t}\n\n\t\t// Return just the one element from the set\n\t\treturn num < 0 ? this[ num + this.length ] : this[ num ];\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\teach: function( callback ) {\n\t\treturn jQuery.each( this, callback );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t} ) );\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\teven: function() {\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\n\t\t\treturn ( i + 1 ) % 2;\n\t\t} ) );\n\t},\n\n\todd: function() {\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\n\t\t\treturn i % 2;\n\t\t} ) );\n\t},\n\n\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\treturn this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor();\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: push,\n\tsort: arr.sort,\n\tsplice: arr.splice\n};\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t\ttarget = arguments[ 0 ] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\n\t\t// Skip the boolean and the target\n\t\ttarget = arguments[ i ] || {};\n\t\ti++;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !isFunction( target ) ) {\n\t\ttarget = {};\n\t}\n\n\t// Extend jQuery itself if only one argument is passed\n\tif ( i === length ) {\n\t\ttarget = this;\n\t\ti--;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\n\t\t// Only deal with non-null/undefined values\n\t\tif ( ( options = arguments[ i ] ) != null ) {\n\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent Object.prototype pollution\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( name === \"__proto__\" || target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject( copy ) ||\n\t\t\t\t\t( copyIsArray = Array.isArray( copy ) ) ) ) {\n\t\t\t\t\tsrc = target[ name ];\n\n\t\t\t\t\t// Ensure proper type for the source value\n\t\t\t\t\tif ( copyIsArray && !Array.isArray( src ) ) {\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {\n\t\t\t\t\t\tclone = {};\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src;\n\t\t\t\t\t}\n\t\t\t\t\tcopyIsArray = false;\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend( {\n\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\tisPlainObject: function( obj ) {\n\t\tvar proto, Ctor;\n\n\t\t// Detect obvious negatives\n\t\t// Use toString instead of jQuery.type to catch host objects\n\t\tif ( !obj || toString.call( obj ) !== \"[object Object]\" ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tproto = getProto( obj );\n\n\t\t// Objects with no prototype (e.g., `Object.create( null )`) are plain\n\t\tif ( !proto ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Objects with prototype are plain iff they were constructed by a global Object function\n\t\tCtor = hasOwn.call( proto, \"constructor\" ) && proto.constructor;\n\t\treturn typeof Ctor === \"function\" && fnToString.call( Ctor ) === ObjectFunctionString;\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tvar name;\n\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\t// Evaluates a script in a provided context; falls back to the global one\n\t// if not specified.\n\tglobalEval: function( code, options, doc ) {\n\t\tDOMEval( code, { nonce: options && options.nonce }, doc );\n\t},\n\n\teach: function( obj, callback ) {\n\t\tvar length, i = 0;\n\n\t\tif ( isArrayLike( obj ) ) {\n\t\t\tlength = obj.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor ( i in obj ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\n\t// Retrieve the text value of an array of DOM nodes\n\ttext: function( elem ) {\n\t\tvar node,\n\t\t\tret = \"\",\n\t\t\ti = 0,\n\t\t\tnodeType = elem.nodeType;\n\n\t\tif ( !nodeType ) {\n\n\t\t\t// If no nodeType, this is expected to be an array\n\t\t\twhile ( ( node = elem[ i++ ] ) ) {\n\n\t\t\t\t// Do not traverse comment nodes\n\t\t\t\tret += jQuery.text( node );\n\t\t\t}\n\t\t}\n\t\tif ( nodeType === 1 || nodeType === 11 ) {\n\t\t\treturn elem.textContent;\n\t\t}\n\t\tif ( nodeType === 9 ) {\n\t\t\treturn elem.documentElement.textContent;\n\t\t}\n\t\tif ( nodeType === 3 || nodeType === 4 ) {\n\t\t\treturn elem.nodeValue;\n\t\t}\n\n\t\t// Do not include comment or processing instruction nodes\n\n\t\treturn ret;\n\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\tif ( isArrayLike( Object( arr ) ) ) {\n\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t\t[ arr ] : arr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpush.call( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\n\t},\n\n\tisXMLDoc: function( elem ) {\n\t\tvar namespace = elem && elem.namespaceURI,\n\t\t\tdocElem = elem && ( elem.ownerDocument || elem ).documentElement;\n\n\t\t// Assume HTML when documentElement doesn't yet exist, such as inside\n\t\t// document fragments.\n\t\treturn !rhtmlSuffix.test( namespace || docElem && docElem.nodeName || \"HTML\" );\n\t},\n\n\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t// push.apply(_, arraylike) throws on ancient WebKit\n\tmerge: function( first, second ) {\n\t\tvar len = +second.length,\n\t\t\tj = 0,\n\t\t\ti = first.length;\n\n\t\tfor ( ; j < len; j++ ) {\n\t\t\tfirst[ i++ ] = second[ j ];\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, invert ) {\n\t\tvar callbackInverse,\n\t\t\tmatches = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tcallbackExpect = !invert;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i < length; i++ ) {\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn matches;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar length, value,\n\t\t\ti = 0,\n\t\t\tret = [];\n\n\t\t// Go through the array, translating each of the items to their new values\n\t\tif ( isArrayLike( elems ) ) {\n\t\t\tlength = elems.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( i in elems ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn flat( ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// jQuery.support is not used in Core but other projects attach their\n\t// properties to it so it needs to exist.\n\tsupport: support\n} );\n\nif ( typeof Symbol === \"function\" ) {\n\tjQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];\n}\n\n// Populate the class2type map\njQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\n\tfunction( _i, name ) {\n\t\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n\t} );\n\nfunction isArrayLike( obj ) {\n\n\t// Support: real iOS 8.2 only (not reproducible in simulator)\n\t// `in` check used to prevent JIT error (gh-2145)\n\t// hasOwn isn't used here due to false negatives\n\t// regarding Nodelist length in IE\n\tvar length = !!obj && \"length\" in obj && obj.length,\n\t\ttype = toType( obj );\n\n\tif ( isFunction( obj ) || isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n}\n\n\nfunction nodeName( elem, name ) {\n\n\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\n}\nvar pop = arr.pop;\n\n\nvar sort = arr.sort;\n\n\nvar splice = arr.splice;\n\n\nvar whitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\";\n\n\nvar rtrimCSS = new RegExp(\n\t\"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\",\n\t\"g\"\n);\n\n\n\n\n// Note: an element does not contain itself\njQuery.contains = function( a, b ) {\n\tvar bup = b && b.parentNode;\n\n\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\n\t\t// Support: IE 9 - 11+\n\t\t// IE doesn't have `contains` on SVG.\n\t\ta.contains ?\n\t\t\ta.contains( bup ) :\n\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t) );\n};\n\n\n\n\n// CSS string/identifier serialization\n// https://drafts.csswg.org/cssom/#common-serializing-idioms\nvar rcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g;\n\nfunction fcssescape( ch, asCodePoint ) {\n\tif ( asCodePoint ) {\n\n\t\t// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n\t\tif ( ch === \"\\0\" ) {\n\t\t\treturn \"\\uFFFD\";\n\t\t}\n\n\t\t// Control characters and (dependent upon position) numbers get escaped as code points\n\t\treturn ch.slice( 0, -1 ) + \"\\\\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + \" \";\n\t}\n\n\t// Other potentially-special ASCII characters get backslash-escaped\n\treturn \"\\\\\" + ch;\n}\n\njQuery.escapeSelector = function( sel ) {\n\treturn ( sel + \"\" ).replace( rcssescape, fcssescape );\n};\n\n\n\n\nvar preferredDoc = document,\n\tpushNative = push;\n\n( function() {\n\nvar i,\n\tExpr,\n\toutermostContext,\n\tsortInput,\n\thasDuplicate,\n\tpush = pushNative,\n\n\t// Local document vars\n\tdocument,\n\tdocumentElement,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\tmatches,\n\n\t// Instance-specific data\n\texpando = jQuery.expando,\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\tnonnativeSelectorCache = createCache(),\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn 0;\n\t},\n\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|\" +\n\t\t\"loop|multiple|open|readonly|required|scoped\",\n\n\t// Regular expressions\n\n\t// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram\n\tidentifier = \"(?:\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace +\n\t\t\"?|\\\\\\\\[^\\\\r\\\\n\\\\f]|[\\\\w-]|[^\\0-\\\\x7f])+\",\n\n\t// Attribute selectors: https://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\n\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\n\t\t// \"Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" +\n\t\twhitespace + \"*\\\\]\",\n\n\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\n\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\n\t\t// 3. anything else (capture 2)\n\t\t\".*\" +\n\t\t\")\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trleadingCombinator = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" +\n\t\twhitespace + \"*\" ),\n\trdescend = new RegExp( whitespace + \"|>\" ),\n\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\tID: new RegExp( \"^#(\" + identifier + \")\" ),\n\t\tCLASS: new RegExp( \"^\\\\.(\" + identifier + \")\" ),\n\t\tTAG: new RegExp( \"^(\" + identifier + \"|[*])\" ),\n\t\tATTR: new RegExp( \"^\" + attributes ),\n\t\tPSEUDO: new RegExp( \"^\" + pseudos ),\n\t\tCHILD: new RegExp(\n\t\t\t\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" +\n\t\t\t\twhitespace + \"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" +\n\t\t\t\twhitespace + \"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\tbool: new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\tneedsContext: new RegExp( \"^\" + whitespace +\n\t\t\t\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" + whitespace +\n\t\t\t\"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trsibling = /[+~]/,\n\n\t// CSS escapes\n\t// https://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = new RegExp( \"\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace +\n\t\t\"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\", \"g\" ),\n\tfunescape = function( escape, nonHex ) {\n\t\tvar high = \"0x\" + escape.slice( 1 ) - 0x10000;\n\n\t\tif ( nonHex ) {\n\n\t\t\t// Strip the backslash prefix from a non-hex escape sequence\n\t\t\treturn nonHex;\n\t\t}\n\n\t\t// Replace a hexadecimal escape sequence with the encoded Unicode code point\n\t\t// Support: IE <=11+\n\t\t// For values outside the Basic Multilingual Plane (BMP), manually construct a\n\t\t// surrogate pair\n\t\treturn high < 0 ?\n\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t},\n\n\t// Used for iframes; see `setDocument`.\n\t// Support: IE 9 - 11+, Edge 12 - 18+\n\t// Removing the function wrapper causes a \"Permission Denied\"\n\t// error in IE/Edge.\n\tunloadHandler = function() {\n\t\tsetDocument();\n\t},\n\n\tinDisabledFieldset = addCombinator(\n\t\tfunction( elem ) {\n\t\t\treturn elem.disabled === true && nodeName( elem, \"fieldset\" );\n\t\t},\n\t\t{ dir: \"parentNode\", next: \"legend\" }\n\t);\n\n// Support: IE <=9 only\n// Accessing document.activeElement can throw unexpectedly\n// https://bugs.jquery.com/ticket/13393\nfunction safeActiveElement() {\n\ttry {\n\t\treturn document.activeElement;\n\t} catch ( err ) { }\n}\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t( arr = slice.call( preferredDoc.childNodes ) ),\n\t\tpreferredDoc.childNodes\n\t);\n\n\t// Support: Android <=4.0\n\t// Detect silently failing push.apply\n\t// eslint-disable-next-line no-unused-expressions\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = {\n\t\tapply: function( target, els ) {\n\t\t\tpushNative.apply( target, slice.call( els ) );\n\t\t},\n\t\tcall: function( target ) {\n\t\t\tpushNative.apply( target, slice.call( arguments, 1 ) );\n\t\t}\n\t};\n}\n\nfunction find( selector, context, results, seed ) {\n\tvar m, i, elem, nid, match, groups, newSelector,\n\t\tnewContext = context && context.ownerDocument,\n\n\t\t// nodeType defaults to 9, since context defaults to document\n\t\tnodeType = context ? context.nodeType : 9;\n\n\tresults = results || [];\n\n\t// Return early from calls with invalid selector or context\n\tif ( typeof selector !== \"string\" || !selector ||\n\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\n\t\treturn results;\n\t}\n\n\t// Try to shortcut find operations (as opposed to filters) in HTML documents\n\tif ( !seed ) {\n\t\tsetDocument( context );\n\t\tcontext = context || document;\n\n\t\tif ( documentIsHTML ) {\n\n\t\t\t// If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n\t\t\t// (excepting DocumentFragment context, where the methods don't exist)\n\t\t\tif ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {\n\n\t\t\t\t// ID selector\n\t\t\t\tif ( ( m = match[ 1 ] ) ) {\n\n\t\t\t\t\t// Document context\n\t\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\t\tif ( ( elem = context.getElementById( m ) ) ) {\n\n\t\t\t\t\t\t\t// Support: IE 9 only\n\t\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\t\tpush.call( results, elem );\n\t\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t// Element context\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// Support: IE 9 only\n\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\tif ( newContext && ( elem = newContext.getElementById( m ) ) &&\n\t\t\t\t\t\t\tfind.contains( context, elem ) &&\n\t\t\t\t\t\t\telem.id === m ) {\n\n\t\t\t\t\t\t\tpush.call( results, elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t// Type selector\n\t\t\t\t} else if ( match[ 2 ] ) {\n\t\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\t\treturn results;\n\n\t\t\t\t// Class selector\n\t\t\t\t} else if ( ( m = match[ 3 ] ) && context.getElementsByClassName ) {\n\t\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\t\treturn results;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Take advantage of querySelectorAll\n\t\t\tif ( !nonnativeSelectorCache[ selector + \" \" ] &&\n\t\t\t\t( !rbuggyQSA || !rbuggyQSA.test( selector ) ) ) {\n\n\t\t\t\tnewSelector = selector;\n\t\t\t\tnewContext = context;\n\n\t\t\t\t// qSA considers elements outside a scoping root when evaluating child or\n\t\t\t\t// descendant combinators, which is not what we want.\n\t\t\t\t// In such cases, we work around the behavior by prefixing every selector in the\n\t\t\t\t// list with an ID selector referencing the scope context.\n\t\t\t\t// The technique has to be used as well when a leading combinator is used\n\t\t\t\t// as such selectors are not recognized by querySelectorAll.\n\t\t\t\t// Thanks to Andrew Dupont for this technique.\n\t\t\t\tif ( nodeType === 1 &&\n\t\t\t\t\t( rdescend.test( selector ) || rleadingCombinator.test( selector ) ) ) {\n\n\t\t\t\t\t// Expand context for sibling selectors\n\t\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext;\n\n\t\t\t\t\t// We can use :scope instead of the ID hack if the browser\n\t\t\t\t\t// supports it & if we're not changing the context.\n\t\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when\n\t\t\t\t\t// strict-comparing two documents; shallow comparisons work.\n\t\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\t\tif ( newContext != context || !support.scope ) {\n\n\t\t\t\t\t\t// Capture the context ID, setting it first if necessary\n\t\t\t\t\t\tif ( ( nid = context.getAttribute( \"id\" ) ) ) {\n\t\t\t\t\t\t\tnid = jQuery.escapeSelector( nid );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontext.setAttribute( \"id\", ( nid = expando ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prefix every selector in the list\n\t\t\t\t\tgroups = tokenize( selector );\n\t\t\t\t\ti = groups.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tgroups[ i ] = ( nid ? \"#\" + nid : \":scope\" ) + \" \" +\n\t\t\t\t\t\t\ttoSelector( groups[ i ] );\n\t\t\t\t\t}\n\t\t\t\t\tnewSelector = groups.join( \",\" );\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t);\n\t\t\t\t\treturn results;\n\t\t\t\t} catch ( qsaError ) {\n\t\t\t\t\tnonnativeSelectorCache( selector, true );\n\t\t\t\t} finally {\n\t\t\t\t\tif ( nid === expando ) {\n\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrimCSS, \"$1\" ), context, results, seed );\n}\n\n/**\n * Create key-value caches of limited size\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar keys = [];\n\n\tfunction cache( key, value ) {\n\n\t\t// Use (key + \" \") to avoid collision with native prototype properties\n\t\t// (see https://github.com/jquery/sizzle/issues/157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn ( cache[ key + \" \" ] = value );\n\t}\n\treturn cache;\n}\n\n/**\n * Mark a function for special use by jQuery selector module\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/**\n * Support testing using an element\n * @param {Function} fn Passed the created element and returns a boolean result\n */\nfunction assert( fn ) {\n\tvar el = document.createElement( \"fieldset\" );\n\n\ttry {\n\t\treturn !!fn( el );\n\t} catch ( e ) {\n\t\treturn false;\n\t} finally {\n\n\t\t// Remove from its parent by default\n\t\tif ( el.parentNode ) {\n\t\t\tel.parentNode.removeChild( el );\n\t\t}\n\n\t\t// release memory in IE\n\t\tel = null;\n\t}\n}\n\n/**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\treturn nodeName( elem, \"input\" ) && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\treturn ( nodeName( elem, \"input\" ) || nodeName( elem, \"button\" ) ) &&\n\t\t\telem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for :enabled/:disabled\n * @param {Boolean} disabled true for :disabled; false for :enabled\n */\nfunction createDisabledPseudo( disabled ) {\n\n\t// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable\n\treturn function( elem ) {\n\n\t\t// Only certain elements can match :enabled or :disabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled\n\t\tif ( \"form\" in elem ) {\n\n\t\t\t// Check for inherited disabledness on relevant non-disabled elements:\n\t\t\t// * listed form-associated elements in a disabled fieldset\n\t\t\t//   https://html.spec.whatwg.org/multipage/forms.html#category-listed\n\t\t\t//   https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled\n\t\t\t// * option elements in a disabled optgroup\n\t\t\t//   https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled\n\t\t\t// All such elements have a \"form\" property.\n\t\t\tif ( elem.parentNode && elem.disabled === false ) {\n\n\t\t\t\t// Option elements defer to a parent optgroup if present\n\t\t\t\tif ( \"label\" in elem ) {\n\t\t\t\t\tif ( \"label\" in elem.parentNode ) {\n\t\t\t\t\t\treturn elem.parentNode.disabled === disabled;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn elem.disabled === disabled;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Support: IE 6 - 11+\n\t\t\t\t// Use the isDisabled shortcut property to check for disabled fieldset ancestors\n\t\t\t\treturn elem.isDisabled === disabled ||\n\n\t\t\t\t\t// Where there is no isDisabled, check manually\n\t\t\t\t\telem.isDisabled !== !disabled &&\n\t\t\t\t\t\tinDisabledFieldset( elem ) === disabled;\n\t\t\t}\n\n\t\t\treturn elem.disabled === disabled;\n\n\t\t// Try to winnow out elements that can't be disabled before trusting the disabled property.\n\t\t// Some victims get caught in our net (label, legend, menu, track), but it shouldn't\n\t\t// even exist on them, let alone have a boolean value.\n\t\t} else if ( \"label\" in elem ) {\n\t\t\treturn elem.disabled === disabled;\n\t\t}\n\n\t\t// Remaining elements are neither :enabled nor :disabled\n\t\treturn false;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction( function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction( function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ ( j = matchIndexes[ i ] ) ] ) {\n\t\t\t\t\tseed[ j ] = !( matches[ j ] = seed[ j ] );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t} );\n}\n\n/**\n * Checks a node for validity as a jQuery selector context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\nfunction testContext( context ) {\n\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\n}\n\n/**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [node] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nfunction setDocument( node ) {\n\tvar subWindow,\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// Return early if doc is invalid or already selected\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Update global variables\n\tdocument = doc;\n\tdocumentElement = document.documentElement;\n\tdocumentIsHTML = !jQuery.isXMLDoc( document );\n\n\t// Support: iOS 7 only, IE 9 - 11+\n\t// Older browsers didn't support unprefixed `matches`.\n\tmatches = documentElement.matches ||\n\t\tdocumentElement.webkitMatchesSelector ||\n\t\tdocumentElement.msMatchesSelector;\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+\n\t// Accessing iframe documents after unload throws \"permission denied\" errors\n\t// (see trac-13936).\n\t// Limit the fix to IE & Edge Legacy; despite Edge 15+ implementing `matches`,\n\t// all IE 9+ and Edge Legacy versions implement `msMatchesSelector` as well.\n\tif ( documentElement.msMatchesSelector &&\n\n\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t// two documents; shallow comparisons work.\n\t\t// eslint-disable-next-line eqeqeq\n\t\tpreferredDoc != document &&\n\t\t( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {\n\n\t\t// Support: IE 9 - 11+, Edge 12 - 18+\n\t\tsubWindow.addEventListener( \"unload\", unloadHandler );\n\t}\n\n\t// Support: IE <10\n\t// Check if getElementById returns elements by name\n\t// The broken getElementById methods don't pick up programmatically-set names,\n\t// so use a roundabout getElementsByName test\n\tsupport.getById = assert( function( el ) {\n\t\tdocumentElement.appendChild( el ).id = jQuery.expando;\n\t\treturn !document.getElementsByName ||\n\t\t\t!document.getElementsByName( jQuery.expando ).length;\n\t} );\n\n\t// Support: IE 9 only\n\t// Check to see if it's possible to do matchesSelector\n\t// on a disconnected node.\n\tsupport.disconnectedMatch = assert( function( el ) {\n\t\treturn matches.call( el, \"*\" );\n\t} );\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+\n\t// IE/Edge don't support the :scope pseudo-class.\n\tsupport.scope = assert( function() {\n\t\treturn document.querySelectorAll( \":scope\" );\n\t} );\n\n\t// Support: Chrome 105 - 111 only, Safari 15.4 - 16.3 only\n\t// Make sure the `:has()` argument is parsed unforgivingly.\n\t// We include `*` in the test to detect buggy implementations that are\n\t// _selectively_ forgiving (specifically when the list includes at least\n\t// one valid selector).\n\t// Note that we treat complete lack of support for `:has()` as if it were\n\t// spec-compliant support, which is fine because use of `:has()` in such\n\t// environments will fail in the qSA path and fall back to jQuery traversal\n\t// anyway.\n\tsupport.cssHas = assert( function() {\n\t\ttry {\n\t\t\tdocument.querySelector( \":has(*,:jqfake)\" );\n\t\t\treturn false;\n\t\t} catch ( e ) {\n\t\t\treturn true;\n\t\t}\n\t} );\n\n\t// ID filter and find\n\tif ( support.getById ) {\n\t\tExpr.filter.ID = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute( \"id\" ) === attrId;\n\t\t\t};\n\t\t};\n\t\tExpr.find.ID = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar elem = context.getElementById( id );\n\t\t\t\treturn elem ? [ elem ] : [];\n\t\t\t}\n\t\t};\n\t} else {\n\t\tExpr.filter.ID =  function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" &&\n\t\t\t\t\telem.getAttributeNode( \"id\" );\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\n\t\t// Support: IE 6 - 7 only\n\t\t// getElementById is not reliable as a find shortcut\n\t\tExpr.find.ID = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar node, i, elems,\n\t\t\t\t\telem = context.getElementById( id );\n\n\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t// Verify the id attribute\n\t\t\t\t\tnode = elem.getAttributeNode( \"id\" );\n\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t}\n\n\t\t\t\t\t// Fall back on getElementsByName\n\t\t\t\t\telems = context.getElementsByName( id );\n\t\t\t\t\ti = 0;\n\t\t\t\t\twhile ( ( elem = elems[ i++ ] ) ) {\n\t\t\t\t\t\tnode = elem.getAttributeNode( \"id\" );\n\t\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn [];\n\t\t\t}\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find.TAG = function( tag, context ) {\n\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\treturn context.getElementsByTagName( tag );\n\n\t\t// DocumentFragment nodes don't have gEBTN\n\t\t} else {\n\t\t\treturn context.querySelectorAll( tag );\n\t\t}\n\t};\n\n\t// Class\n\tExpr.find.CLASS = function( className, context ) {\n\t\tif ( typeof context.getElementsByClassName !== \"undefined\" && documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t/* QSA/matchesSelector\n\t---------------------------------------------------------------------- */\n\n\t// QSA and matchesSelector support\n\n\trbuggyQSA = [];\n\n\t// Build QSA regex\n\t// Regex strategy adopted from Diego Perini\n\tassert( function( el ) {\n\n\t\tvar input;\n\n\t\tdocumentElement.appendChild( el ).innerHTML =\n\t\t\t\"<a id='\" + expando + \"' href='' disabled='disabled'></a>\" +\n\t\t\t\"<select id='\" + expando + \"-\\r\\\\' disabled='disabled'>\" +\n\t\t\t\"<option selected=''></option></select>\";\n\n\t\t// Support: iOS <=7 - 8 only\n\t\t// Boolean attributes and \"value\" are not treated correctly in some XML documents\n\t\tif ( !el.querySelectorAll( \"[selected]\" ).length ) {\n\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t}\n\n\t\t// Support: iOS <=7 - 8 only\n\t\tif ( !el.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\trbuggyQSA.push( \"~=\" );\n\t\t}\n\n\t\t// Support: iOS 8 only\n\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t// In-page `selector#id sibling-combinator selector` fails\n\t\tif ( !el.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\trbuggyQSA.push( \".#.+[+~]\" );\n\t\t}\n\n\t\t// Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+\n\t\t// In some of the document kinds, these selectors wouldn't work natively.\n\t\t// This is probably OK but for backwards compatibility we want to maintain\n\t\t// handling them through jQuery traversal in jQuery 3.x.\n\t\tif ( !el.querySelectorAll( \":checked\" ).length ) {\n\t\t\trbuggyQSA.push( \":checked\" );\n\t\t}\n\n\t\t// Support: Windows 8 Native Apps\n\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\tinput = document.createElement( \"input\" );\n\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\tel.appendChild( input ).setAttribute( \"name\", \"D\" );\n\n\t\t// Support: IE 9 - 11+\n\t\t// IE's :disabled selector does not pick up the children of disabled fieldsets\n\t\t// Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+\n\t\t// In some of the document kinds, these selectors wouldn't work natively.\n\t\t// This is probably OK but for backwards compatibility we want to maintain\n\t\t// handling them through jQuery traversal in jQuery 3.x.\n\t\tdocumentElement.appendChild( el ).disabled = true;\n\t\tif ( el.querySelectorAll( \":disabled\" ).length !== 2 ) {\n\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t}\n\n\t\t// Support: IE 11+, Edge 15 - 18+\n\t\t// IE 11/Edge don't find elements on a `[name='']` query in some cases.\n\t\t// Adding a temporary attribute to the document before the selection works\n\t\t// around the issue.\n\t\t// Interestingly, IE 10 & older don't seem to have the issue.\n\t\tinput = document.createElement( \"input\" );\n\t\tinput.setAttribute( \"name\", \"\" );\n\t\tel.appendChild( input );\n\t\tif ( !el.querySelectorAll( \"[name='']\" ).length ) {\n\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*name\" + whitespace + \"*=\" +\n\t\t\t\twhitespace + \"*(?:''|\\\"\\\")\" );\n\t\t}\n\t} );\n\n\tif ( !support.cssHas ) {\n\n\t\t// Support: Chrome 105 - 110+, Safari 15.4 - 16.3+\n\t\t// Our regular `try-catch` mechanism fails to detect natively-unsupported\n\t\t// pseudo-classes inside `:has()` (such as `:has(:contains(\"Foo\"))`)\n\t\t// in browsers that parse the `:has()` argument as a forgiving selector list.\n\t\t// https://drafts.csswg.org/selectors/#relational now requires the argument\n\t\t// to be parsed unforgivingly, but browsers have not yet fully adjusted.\n\t\trbuggyQSA.push( \":has\" );\n\t}\n\n\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( \"|\" ) );\n\n\t/* Sorting\n\t---------------------------------------------------------------------- */\n\n\t// Document order sorting\n\tsortOrder = function( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\tif ( compare ) {\n\t\t\treturn compare;\n\t\t}\n\n\t\t// Calculate position if both inputs belong to the same document\n\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t// two documents; shallow comparisons work.\n\t\t// eslint-disable-next-line eqeqeq\n\t\tcompare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?\n\t\t\ta.compareDocumentPosition( b ) :\n\n\t\t\t// Otherwise we know they are disconnected\n\t\t\t1;\n\n\t\t// Disconnected nodes\n\t\tif ( compare & 1 ||\n\t\t\t( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tif ( a === document || a.ownerDocument == preferredDoc &&\n\t\t\t\tfind.contains( preferredDoc, a ) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tif ( b === document || b.ownerDocument == preferredDoc &&\n\t\t\t\tfind.contains( preferredDoc, b ) ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\t// Maintain original order\n\t\t\treturn sortInput ?\n\t\t\t\t( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) :\n\t\t\t\t0;\n\t\t}\n\n\t\treturn compare & 4 ? -1 : 1;\n\t};\n\n\treturn document;\n}\n\nfind.matches = function( expr, elements ) {\n\treturn find( expr, null, null, elements );\n};\n\nfind.matchesSelector = function( elem, expr ) {\n\tsetDocument( elem );\n\n\tif ( documentIsHTML &&\n\t\t!nonnativeSelectorCache[ expr + \" \" ] &&\n\t\t( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {\n\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\n\t\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t\t// fragment in IE 9\n\t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch ( e ) {\n\t\t\tnonnativeSelectorCache( expr, true );\n\t\t}\n\t}\n\n\treturn find( expr, document, null, [ elem ] ).length > 0;\n};\n\nfind.contains = function( context, elem ) {\n\n\t// Set document vars if needed\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( ( context.ownerDocument || context ) != document ) {\n\t\tsetDocument( context );\n\t}\n\treturn jQuery.contains( context, elem );\n};\n\n\nfind.attr = function( elem, name ) {\n\n\t// Set document vars if needed\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( ( elem.ownerDocument || elem ) != document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\n\t\t// Don't get fooled by Object.prototype properties (see trac-13807)\n\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\tundefined;\n\n\tif ( val !== undefined ) {\n\t\treturn val;\n\t}\n\n\treturn elem.getAttribute( name );\n};\n\nfind.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n/**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\njQuery.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\t//\n\t// Support: Android <=4.0+\n\t// Testing for detecting duplicates is unpredictable so instead assume we can't\n\t// depend on duplicate detection in all browsers without a stable sort.\n\thasDuplicate = !support.sortStable;\n\tsortInput = !support.sortStable && slice.call( results, 0 );\n\tsort.call( results, sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( ( elem = results[ i++ ] ) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tsplice.call( results, duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n};\n\njQuery.fn.uniqueSort = function() {\n\treturn this.pushStack( jQuery.uniqueSort( slice.apply( this ) ) );\n};\n\nExpr = jQuery.expr = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tattrHandle: {},\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\tATTR: function( match ) {\n\t\t\tmatch[ 1 ] = match[ 1 ].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[ 3 ] = ( match[ 3 ] || match[ 4 ] || match[ 5 ] || \"\" )\n\t\t\t\t.replace( runescape, funescape );\n\n\t\t\tif ( match[ 2 ] === \"~=\" ) {\n\t\t\t\tmatch[ 3 ] = \" \" + match[ 3 ] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\tCHILD: function( match ) {\n\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[ 1 ] = match[ 1 ].toLowerCase();\n\n\t\t\tif ( match[ 1 ].slice( 0, 3 ) === \"nth\" ) {\n\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[ 3 ] ) {\n\t\t\t\t\tfind.error( match[ 0 ] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[ 4 ] = +( match[ 4 ] ?\n\t\t\t\t\tmatch[ 5 ] + ( match[ 6 ] || 1 ) :\n\t\t\t\t\t2 * ( match[ 3 ] === \"even\" || match[ 3 ] === \"odd\" )\n\t\t\t\t);\n\t\t\t\tmatch[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === \"odd\" );\n\n\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[ 3 ] ) {\n\t\t\t\tfind.error( match[ 0 ] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\tPSEUDO: function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[ 6 ] && match[ 2 ];\n\n\t\t\tif ( matchExpr.CHILD.test( match[ 0 ] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[ 3 ] ) {\n\t\t\t\tmatch[ 2 ] = match[ 4 ] || match[ 5 ] || \"\";\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t( excess = tokenize( unquoted, true ) ) &&\n\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t( excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length ) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[ 0 ] = match[ 0 ].slice( 0, excess );\n\t\t\t\tmatch[ 2 ] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\tTAG: function( nodeNameSelector ) {\n\t\t\tvar expectedNodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\tfunction() {\n\t\t\t\t\treturn true;\n\t\t\t\t} :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn nodeName( elem, expectedNodeName );\n\t\t\t\t};\n\t\t},\n\n\t\tCLASS: function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t( pattern = new RegExp( \"(^|\" + whitespace + \")\" + className +\n\t\t\t\t\t\"(\" + whitespace + \"|$)\" ) ) &&\n\t\t\t\tclassCache( className, function( elem ) {\n\t\t\t\t\treturn pattern.test(\n\t\t\t\t\t\ttypeof elem.className === \"string\" && elem.className ||\n\t\t\t\t\t\t\ttypeof elem.getAttribute !== \"undefined\" &&\n\t\t\t\t\t\t\t\telem.getAttribute( \"class\" ) ||\n\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t},\n\n\t\tATTR: function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = find.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\tif ( operator === \"=\" ) {\n\t\t\t\t\treturn result === check;\n\t\t\t\t}\n\t\t\t\tif ( operator === \"!=\" ) {\n\t\t\t\t\treturn result !== check;\n\t\t\t\t}\n\t\t\t\tif ( operator === \"^=\" ) {\n\t\t\t\t\treturn check && result.indexOf( check ) === 0;\n\t\t\t\t}\n\t\t\t\tif ( operator === \"*=\" ) {\n\t\t\t\t\treturn check && result.indexOf( check ) > -1;\n\t\t\t\t}\n\t\t\t\tif ( operator === \"$=\" ) {\n\t\t\t\t\treturn check && result.slice( -check.length ) === check;\n\t\t\t\t}\n\t\t\t\tif ( operator === \"~=\" ) {\n\t\t\t\t\treturn ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" )\n\t\t\t\t\t\t.indexOf( check ) > -1;\n\t\t\t\t}\n\t\t\t\tif ( operator === \"|=\" ) {\n\t\t\t\t\treturn result === check || result.slice( 0, check.length + 1 ) === check + \"-\";\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t};\n\t\t},\n\n\t\tCHILD: function( type, what, _argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, _context, xml ) {\n\t\t\t\t\tvar cache, outerCache, node, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType,\n\t\t\t\t\t\tdiff = false;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( ( node = node[ dir ] ) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnodeName( node, name ) :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) {\n\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\t\t\t\t\t\t\touterCache = parent[ expando ] || ( parent[ expando ] = {} );\n\t\t\t\t\t\t\tcache = outerCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\tdiff = nodeIndex && cache[ 2 ];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( ( node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\touterCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\touterCache = elem[ expando ] || ( elem[ expando ] = {} );\n\t\t\t\t\t\t\t\tcache = outerCache[ type ] || [];\n\t\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\t\tdiff = nodeIndex;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// xml :nth-child(...)\n\t\t\t\t\t\t\t// or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t\tif ( diff === false ) {\n\n\t\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\t\twhile ( ( node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\n\n\t\t\t\t\t\t\t\t\tif ( ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnodeName( node, name ) :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) &&\n\t\t\t\t\t\t\t\t\t\t++diff ) {\n\n\t\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t\touterCache = node[ expando ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t( node[ expando ] = {} );\n\t\t\t\t\t\t\t\t\t\t\touterCache[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\tPSEUDO: function( pseudo, argument ) {\n\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// https://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tfind.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as jQuery does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction( function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf.call( seed, matched[ i ] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[ i ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t} ) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\n\t\t// Potentially complex pseudos\n\t\tnot: markFunction( function( selector ) {\n\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrimCSS, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction( function( seed, matches, _context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( ( elem = unmatched[ i ] ) ) {\n\t\t\t\t\t\t\tseed[ i ] = !( matches[ i ] = elem );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} ) :\n\t\t\t\tfunction( elem, _context, xml ) {\n\t\t\t\t\tinput[ 0 ] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\n\t\t\t\t\t// Don't keep the element\n\t\t\t\t\t// (see https://github.com/jquery/sizzle/issues/299)\n\t\t\t\t\tinput[ 0 ] = null;\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t} ),\n\n\t\thas: markFunction( function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn find( selector, elem ).length > 0;\n\t\t\t};\n\t\t} ),\n\n\t\tcontains: markFunction( function( text ) {\n\t\t\ttext = text.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || jQuery.text( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t} ),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// https://www.w3.org/TR/selectors/#lang-pseudo\n\t\tlang: markFunction( function( lang ) {\n\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test( lang || \"\" ) ) {\n\t\t\t\tfind.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( ( elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute( \"xml:lang\" ) || elem.getAttribute( \"lang\" ) ) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t} ),\n\n\t\t// Miscellaneous\n\t\ttarget: function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\troot: function( elem ) {\n\t\t\treturn elem === documentElement;\n\t\t},\n\n\t\tfocus: function( elem ) {\n\t\t\treturn elem === safeActiveElement() &&\n\t\t\t\tdocument.hasFocus() &&\n\t\t\t\t!!( elem.type || elem.href || ~elem.tabIndex );\n\t\t},\n\n\t\t// Boolean properties\n\t\tenabled: createDisabledPseudo( false ),\n\t\tdisabled: createDisabledPseudo( true ),\n\n\t\tchecked: function( elem ) {\n\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\treturn ( nodeName( elem, \"input\" ) && !!elem.checked ) ||\n\t\t\t\t( nodeName( elem, \"option\" ) && !!elem.selected );\n\t\t},\n\n\t\tselected: function( elem ) {\n\n\t\t\t// Support: IE <=11+\n\t\t\t// Accessing the selectedIndex property\n\t\t\t// forces the browser to treat the default option as\n\t\t\t// selected when in an optgroup.\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\tempty: function( elem ) {\n\n\t\t\t// https://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t//   but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeType < 6 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\tparent: function( elem ) {\n\t\t\treturn !Expr.pseudos.empty( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\theader: function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\tinput: function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\tbutton: function( elem ) {\n\t\t\treturn nodeName( elem, \"input\" ) && elem.type === \"button\" ||\n\t\t\t\tnodeName( elem, \"button\" );\n\t\t},\n\n\t\ttext: function( elem ) {\n\t\t\tvar attr;\n\t\t\treturn nodeName( elem, \"input\" ) && elem.type === \"text\" &&\n\n\t\t\t\t// Support: IE <10 only\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear\n\t\t\t\t// with elem.type === \"text\"\n\t\t\t\t( ( attr = elem.getAttribute( \"type\" ) ) == null ||\n\t\t\t\t\tattr.toLowerCase() === \"text\" );\n\t\t},\n\n\t\t// Position-in-collection\n\t\tfirst: createPositionalPseudo( function() {\n\t\t\treturn [ 0 ];\n\t\t} ),\n\n\t\tlast: createPositionalPseudo( function( _matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t} ),\n\n\t\teq: createPositionalPseudo( function( _matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t} ),\n\n\t\teven: createPositionalPseudo( function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\todd: createPositionalPseudo( function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\tlt: createPositionalPseudo( function( matchIndexes, length, argument ) {\n\t\t\tvar i;\n\n\t\t\tif ( argument < 0 ) {\n\t\t\t\ti = argument + length;\n\t\t\t} else if ( argument > length ) {\n\t\t\t\ti = length;\n\t\t\t} else {\n\t\t\t\ti = argument;\n\t\t\t}\n\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\tgt: createPositionalPseudo( function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} )\n\t}\n};\n\nExpr.pseudos.nth = Expr.pseudos.eq;\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\nfunction tokenize( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || ( match = rcomma.exec( soFar ) ) ) {\n\t\t\tif ( match ) {\n\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[ 0 ].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( ( tokens = [] ) );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( ( match = rleadingCombinator.exec( soFar ) ) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push( {\n\t\t\t\tvalue: matched,\n\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[ 0 ].replace( rtrimCSS, \" \" )\n\t\t\t} );\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||\n\t\t\t\t( match = preFilters[ type ]( match ) ) ) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push( {\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t} );\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\tif ( parseOnly ) {\n\t\treturn soFar.length;\n\t}\n\n\treturn soFar ?\n\t\tfind.error( selector ) :\n\n\t\t// Cache the tokens\n\t\ttokenCache( selector, groups ).slice( 0 );\n}\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[ i ].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tskip = combinator.next,\n\t\tkey = skip || dir,\n\t\tcheckNonElements = base && key === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar oldCache, outerCache,\n\t\t\t\tnewCache = [ dirruns, doneName ];\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || ( elem[ expando ] = {} );\n\n\t\t\t\t\t\tif ( skip && nodeName( elem, skip ) ) {\n\t\t\t\t\t\t\telem = elem[ dir ] || elem;\n\t\t\t\t\t\t} else if ( ( oldCache = outerCache[ key ] ) &&\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\n\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\treturn ( newCache[ 2 ] = oldCache[ 2 ] );\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\touterCache[ key ] = newCache;\n\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\n\t\t\t\t\t\t\tif ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[ i ]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[ 0 ];\n}\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tfind( selector, contexts[ i ], results );\n\t}\n\treturn results;\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( ( elem = unmatched[ i ] ) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction( function( seed, results, context, xml ) {\n\t\tvar temp, i, elem, matcherOut,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed ||\n\t\t\t\tmultipleContexts( selector || \"*\",\n\t\t\t\t\tcontext.nodeType ? [ context ] : context, [] ),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems;\n\n\t\tif ( matcher ) {\n\n\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter\n\t\t\t// or preexisting results,\n\t\t\tmatcherOut = postFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t[] :\n\n\t\t\t\t// ...otherwise use results directly\n\t\t\t\tresults;\n\n\t\t\t// Find primary matches\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t} else {\n\t\t\tmatcherOut = matcherIn;\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( ( elem = temp[ i ] ) ) {\n\t\t\t\t\tmatcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( ( elem = matcherOut[ i ] ) ) {\n\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( ( matcherIn[ i ] = elem ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, ( matcherOut = [] ), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( ( elem = matcherOut[ i ] ) &&\n\t\t\t\t\t\t( temp = postFinder ? indexOf.call( seed, elem ) : preMap[ i ] ) > -1 ) {\n\n\t\t\t\t\t\tseed[ temp ] = !( results[ temp ] = elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t} );\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[ 0 ].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[ \" \" ],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf.call( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tvar ret = ( !leadingRelative && ( xml || context != outermostContext ) ) || (\n\t\t\t\t( checkContext = context ).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\n\t\t\t// Avoid hanging onto element\n\t\t\t// (see https://github.com/jquery/sizzle/issues/299)\n\t\t\tcheckContext = null;\n\t\t\treturn ret;\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {\n\t\t\tmatchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[ j ].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector(\n\n\t\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\t\ttokens.slice( 0, i - 1 )\n\t\t\t\t\t\t\t.concat( { value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" } )\n\t\t\t\t\t).replace( rtrimCSS, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\tvar bySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement && Expr.find.TAG( \"*\", outermost ),\n\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),\n\t\t\t\tlen = elems.length;\n\n\t\t\tif ( outermost ) {\n\n\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t\t// two documents; shallow comparisons work.\n\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\toutermostContext = context == document || context || outermost;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Support: iOS <=7 - 9 only\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: <number>) matching\n\t\t\t// elements by id. (see trac-14142)\n\t\t\tfor ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\n\t\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t\t\t// two documents; shallow comparisons work.\n\t\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\t\tif ( !context && elem.ownerDocument != document ) {\n\t\t\t\t\t\tsetDocument( elem );\n\t\t\t\t\t\txml = !documentIsHTML;\n\t\t\t\t\t}\n\t\t\t\t\twhile ( ( matcher = elementMatchers[ j++ ] ) ) {\n\t\t\t\t\t\tif ( matcher( elem, context || document, xml ) ) {\n\t\t\t\t\t\t\tpush.call( results, elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( ( elem = !matcher && elem ) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// `i` is now the count of elements visited above, and adding it to `matchedCount`\n\t\t\t// makes the latter nonnegative.\n\t\t\tmatchedCount += i;\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\t// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n\t\t\t// equals `i`), unless we didn't visit _any_ elements in the above loop because we have\n\t\t\t// no element matchers and no seed.\n\t\t\t// Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\n\t\t\t// case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\n\t\t\t// numerically zero.\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( ( matcher = setMatchers[ j++ ] ) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !( unmatched[ i ] || setMatched[ i ] ) ) {\n\t\t\t\t\t\t\t\tsetMatched[ i ] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tjQuery.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\nfunction compile( selector, match /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !match ) {\n\t\t\tmatch = tokenize( selector );\n\t\t}\n\t\ti = match.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( match[ i ] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache( selector,\n\t\t\tmatcherFromGroupMatchers( elementMatchers, setMatchers ) );\n\n\t\t// Save selector and tokenization\n\t\tcached.selector = selector;\n\t}\n\treturn cached;\n}\n\n/**\n * A low-level selection function that works with jQuery's compiled\n *  selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n *  selector function built with jQuery selector compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\nfunction select( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tcompiled = typeof selector === \"function\" && selector,\n\t\tmatch = !seed && tokenize( ( selector = compiled.selector || selector ) );\n\n\tresults = results || [];\n\n\t// Try to minimize operations if there is only one selector in the list and no seed\n\t// (the latter of which guarantees us context)\n\tif ( match.length === 1 ) {\n\n\t\t// Reduce context if the leading compound selector is an ID\n\t\ttokens = match[ 0 ] = match[ 0 ].slice( 0 );\n\t\tif ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === \"ID\" &&\n\t\t\t\tcontext.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {\n\n\t\t\tcontext = ( Expr.find.ID(\n\t\t\t\ttoken.matches[ 0 ].replace( runescape, funescape ),\n\t\t\t\tcontext\n\t\t\t) || [] )[ 0 ];\n\t\t\tif ( !context ) {\n\t\t\t\treturn results;\n\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t} else if ( compiled ) {\n\t\t\t\tcontext = context.parentNode;\n\t\t\t}\n\n\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t}\n\n\t\t// Fetch a seed set for right-to-left matching\n\t\ti = matchExpr.needsContext.test( selector ) ? 0 : tokens.length;\n\t\twhile ( i-- ) {\n\t\t\ttoken = tokens[ i ];\n\n\t\t\t// Abort if we hit a combinator\n\t\t\tif ( Expr.relative[ ( type = token.type ) ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( ( find = Expr.find[ type ] ) ) {\n\n\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\tif ( ( seed = find(\n\t\t\t\t\ttoken.matches[ 0 ].replace( runescape, funescape ),\n\t\t\t\t\trsibling.test( tokens[ 0 ].type ) &&\n\t\t\t\t\t\ttestContext( context.parentNode ) || context\n\t\t\t\t) ) ) {\n\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function if one is not provided\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\t( compiled || compile( selector, match ) )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\t!context || rsibling.test( selector ) && testContext( context.parentNode ) || context\n\t);\n\treturn results;\n}\n\n// One-time assignments\n\n// Support: Android <=4.0 - 4.1+\n// Sort stability\nsupport.sortStable = expando.split( \"\" ).sort( sortOrder ).join( \"\" ) === expando;\n\n// Initialize against the default document\nsetDocument();\n\n// Support: Android <=4.0 - 4.1+\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert( function( el ) {\n\n\t// Should return 1, but returns 4 (following)\n\treturn el.compareDocumentPosition( document.createElement( \"fieldset\" ) ) & 1;\n} );\n\njQuery.find = find;\n\n// Deprecated\njQuery.expr[ \":\" ] = jQuery.expr.pseudos;\njQuery.unique = jQuery.uniqueSort;\n\n// These have always been private, but they used to be documented as part of\n// Sizzle so let's maintain them for now for backwards compatibility purposes.\nfind.compile = compile;\nfind.select = select;\nfind.setDocument = setDocument;\nfind.tokenize = tokenize;\n\nfind.escape = jQuery.escapeSelector;\nfind.getText = jQuery.text;\nfind.isXML = jQuery.isXMLDoc;\nfind.selectors = jQuery.expr;\nfind.support = jQuery.support;\nfind.uniqueSort = jQuery.uniqueSort;\n\n\t/* eslint-enable */\n\n} )();\n\n\nvar dir = function( elem, dir, until ) {\n\tvar matched = [],\n\t\ttruncate = until !== undefined;\n\n\twhile ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {\n\t\tif ( elem.nodeType === 1 ) {\n\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tmatched.push( elem );\n\t\t}\n\t}\n\treturn matched;\n};\n\n\nvar siblings = function( n, elem ) {\n\tvar matched = [];\n\n\tfor ( ; n; n = n.nextSibling ) {\n\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\tmatched.push( n );\n\t\t}\n\t}\n\n\treturn matched;\n};\n\n\nvar rneedsContext = jQuery.expr.match.needsContext;\n\nvar rsingleTag = ( /^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i );\n\n\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( isFunction( qualifier ) ) {\n\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t} );\n\t}\n\n\t// Single element\n\tif ( qualifier.nodeType ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( elem === qualifier ) !== not;\n\t\t} );\n\t}\n\n\t// Arraylike of elements (jQuery, arguments, Array)\n\tif ( typeof qualifier !== \"string\" ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( indexOf.call( qualifier, elem ) > -1 ) !== not;\n\t\t} );\n\t}\n\n\t// Filtered directly for both simple and complex selectors\n\treturn jQuery.filter( qualifier, elements, not );\n}\n\njQuery.filter = function( expr, elems, not ) {\n\tvar elem = elems[ 0 ];\n\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\tif ( elems.length === 1 && elem.nodeType === 1 ) {\n\t\treturn jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];\n\t}\n\n\treturn jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\treturn elem.nodeType === 1;\n\t} ) );\n};\n\njQuery.fn.extend( {\n\tfind: function( selector ) {\n\t\tvar i, ret,\n\t\t\tlen = this.length,\n\t\t\tself = this;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn this.pushStack( jQuery( selector ).filter( function() {\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ) );\n\t\t}\n\n\t\tret = this.pushStack( [] );\n\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\treturn len > 1 ? jQuery.uniqueSort( ret ) : ret;\n\t},\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], false ) );\n\t},\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], true ) );\n\t},\n\tis: function( selector ) {\n\t\treturn !!winnow(\n\t\t\tthis,\n\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tselector || [],\n\t\t\tfalse\n\t\t).length;\n\t}\n} );\n\n\n// Initialize a jQuery object\n\n\n// A central reference to the root jQuery(document)\nvar rootjQuery,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over <tag> to avoid XSS via location.hash (trac-9521)\n\t// Strict HTML recognition (trac-11290: must start with <)\n\t// Shortcut simple #id case for speed\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/,\n\n\tinit = jQuery.fn.init = function( selector, context, root ) {\n\t\tvar match, elem;\n\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// Method init() accepts an alternate rootjQuery\n\t\t// so migrate can support jQuery.sub (gh-2101)\n\t\troot = root || rootjQuery;\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector[ 0 ] === \"<\" &&\n\t\t\t\tselector[ selector.length - 1 ] === \">\" &&\n\t\t\t\tselector.length >= 3 ) {\n\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match && ( match[ 1 ] || !context ) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[ 1 ] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[ 0 ] : context;\n\n\t\t\t\t\t// Option to run scripts is true for back-compat\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\tmatch[ 1 ],\n\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) );\n\n\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\tif ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tfor ( match in context ) {\n\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\tif ( isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this;\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[ 2 ] );\n\n\t\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t\t// Inject the element directly into the jQuery object\n\t\t\t\t\t\tthis[ 0 ] = elem;\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || root ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(DOMElement)\n\t\t} else if ( selector.nodeType ) {\n\t\t\tthis[ 0 ] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( isFunction( selector ) ) {\n\t\t\treturn root.ready !== undefined ?\n\t\t\t\troot.ready( selector ) :\n\n\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\tselector( jQuery );\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t};\n\n// Give the init function the jQuery prototype for later instantiation\ninit.prototype = jQuery.fn;\n\n// Initialize central reference\nrootjQuery = jQuery( document );\n\n\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\n\t// Methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.fn.extend( {\n\thas: function( target ) {\n\t\tvar targets = jQuery( target, this ),\n\t\t\tl = targets.length;\n\n\t\treturn this.filter( function() {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[ i ] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tmatched = [],\n\t\t\ttargets = typeof selectors !== \"string\" && jQuery( selectors );\n\n\t\t// Positional selectors never match, since there's no _selection_ context\n\t\tif ( !rneedsContext.test( selectors ) ) {\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tfor ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {\n\n\t\t\t\t\t// Always skip document fragments\n\t\t\t\t\tif ( cur.nodeType < 11 && ( targets ?\n\t\t\t\t\t\ttargets.index( cur ) > -1 :\n\n\t\t\t\t\t\t// Don't pass non-elements to jQuery#find\n\t\t\t\t\t\tcur.nodeType === 1 &&\n\t\t\t\t\t\t\tjQuery.find.matchesSelector( cur, selectors ) ) ) {\n\n\t\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );\n\t},\n\n\t// Determine the position of an element within the set\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t}\n\n\t\t// Index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn indexOf.call( this,\n\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[ 0 ] : elem\n\t\t);\n\t},\n\n\tadd: function( selector, context ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.uniqueSort(\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t)\n\t\t);\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t}\n} );\n\nfunction sibling( cur, dir ) {\n\twhile ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}\n\treturn cur;\n}\n\njQuery.each( {\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn siblings( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn siblings( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\tif ( elem.contentDocument != null &&\n\n\t\t\t// Support: IE 11+\n\t\t\t// <object> elements with no `data` attribute has an object\n\t\t\t// `contentDocument` with a `null` prototype.\n\t\t\tgetProto( elem.contentDocument ) ) {\n\n\t\t\treturn elem.contentDocument;\n\t\t}\n\n\t\t// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only\n\t\t// Treat the template element as a regular one in browsers that\n\t\t// don't support it.\n\t\tif ( nodeName( elem, \"template\" ) ) {\n\t\t\telem = elem.content || elem;\n\t\t}\n\n\t\treturn jQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar matched = jQuery.map( this, fn, until );\n\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\tmatched = jQuery.filter( selector, matched );\n\t\t}\n\n\t\tif ( this.length > 1 ) {\n\n\t\t\t// Remove duplicates\n\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\tjQuery.uniqueSort( matched );\n\t\t\t}\n\n\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\tmatched.reverse();\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched );\n\t};\n} );\nvar rnothtmlwhite = ( /[^\\x20\\t\\r\\n\\f]+/g );\n\n\n\n// Convert String-formatted options into Object-formatted ones\nfunction createOptions( options ) {\n\tvar object = {};\n\tjQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t} );\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\tcreateOptions( options ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Flag to know if list is currently firing\n\t\tfiring,\n\n\t\t// Last fire value for non-forgettable lists\n\t\tmemory,\n\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\n\t\t// Flag to prevent firing\n\t\tlocked,\n\n\t\t// Actual callback list\n\t\tlist = [],\n\n\t\t// Queue of execution data for repeatable lists\n\t\tqueue = [],\n\n\t\t// Index of currently firing callback (modified by add/remove as needed)\n\t\tfiringIndex = -1,\n\n\t\t// Fire callbacks\n\t\tfire = function() {\n\n\t\t\t// Enforce single-firing\n\t\t\tlocked = locked || options.once;\n\n\t\t\t// Execute callbacks for all pending executions,\n\t\t\t// respecting firingIndex overrides and runtime changes\n\t\t\tfired = firing = true;\n\t\t\tfor ( ; queue.length; firingIndex = -1 ) {\n\t\t\t\tmemory = queue.shift();\n\t\t\t\twhile ( ++firingIndex < list.length ) {\n\n\t\t\t\t\t// Run callback and check for early termination\n\t\t\t\t\tif ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&\n\t\t\t\t\t\toptions.stopOnFalse ) {\n\n\t\t\t\t\t\t// Jump to end and forget the data so .add doesn't re-fire\n\t\t\t\t\t\tfiringIndex = list.length;\n\t\t\t\t\t\tmemory = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Forget the data if we're done with it\n\t\t\tif ( !options.memory ) {\n\t\t\t\tmemory = false;\n\t\t\t}\n\n\t\t\tfiring = false;\n\n\t\t\t// Clean up if we're done firing for good\n\t\t\tif ( locked ) {\n\n\t\t\t\t// Keep an empty list if we have data for future add calls\n\t\t\t\tif ( memory ) {\n\t\t\t\t\tlist = [];\n\n\t\t\t\t// Otherwise, this object is spent\n\t\t\t\t} else {\n\t\t\t\t\tlist = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Actual Callbacks object\n\t\tself = {\n\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\n\t\t\t\t\t// If we have memory from a past run, we should fire after adding\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfiringIndex = list.length - 1;\n\t\t\t\t\t\tqueue.push( memory );\n\t\t\t\t\t}\n\n\t\t\t\t\t( function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tif ( isFunction( arg ) ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg && arg.length && toType( arg ) !== \"string\" ) {\n\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )( arguments );\n\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\tvar index;\n\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\tlist.splice( index, 1 );\n\n\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Check if a given callback is in the list.\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\thas: function( fn ) {\n\t\t\t\treturn fn ?\n\t\t\t\t\tjQuery.inArray( fn, list ) > -1 :\n\t\t\t\t\tlist.length > 0;\n\t\t\t},\n\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Disable .fire and .add\n\t\t\t// Abort any current/pending executions\n\t\t\t// Clear all callbacks and values\n\t\t\tdisable: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tlist = memory = \"\";\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\n\t\t\t// Disable .fire\n\t\t\t// Also disable .add unless we have memory (since it would have no effect)\n\t\t\t// Abort any pending executions\n\t\t\tlock: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tif ( !memory && !firing ) {\n\t\t\t\t\tlist = memory = \"\";\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tlocked: function() {\n\t\t\t\treturn !!locked;\n\t\t\t},\n\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( !locked ) {\n\t\t\t\t\targs = args || [];\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\tqueue.push( args );\n\t\t\t\t\tif ( !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\n\nfunction Identity( v ) {\n\treturn v;\n}\nfunction Thrower( ex ) {\n\tthrow ex;\n}\n\nfunction adoptValue( value, resolve, reject, noValue ) {\n\tvar method;\n\n\ttry {\n\n\t\t// Check for promise aspect first to privilege synchronous behavior\n\t\tif ( value && isFunction( ( method = value.promise ) ) ) {\n\t\t\tmethod.call( value ).done( resolve ).fail( reject );\n\n\t\t// Other thenables\n\t\t} else if ( value && isFunction( ( method = value.then ) ) ) {\n\t\t\tmethod.call( value, resolve, reject );\n\n\t\t// Other non-thenables\n\t\t} else {\n\n\t\t\t// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:\n\t\t\t// * false: [ value ].slice( 0 ) => resolve( value )\n\t\t\t// * true: [ value ].slice( 1 ) => resolve()\n\t\t\tresolve.apply( undefined, [ value ].slice( noValue ) );\n\t\t}\n\n\t// For Promises/A+, convert exceptions into rejections\n\t// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in\n\t// Deferred#then to conditionally suppress rejection.\n\t} catch ( value ) {\n\n\t\t// Support: Android 4.0 only\n\t\t// Strict mode functions invoked without .call/.apply get global-object context\n\t\treject.apply( undefined, [ value ] );\n\t}\n}\n\njQuery.extend( {\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\n\t\t\t\t// action, add listener, callbacks,\n\t\t\t\t// ... .then handlers, argument index, [final state]\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks( \"memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"memory\" ), 2 ],\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 0, \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 1, \"rejected\" ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\t\"catch\": function( fn ) {\n\t\t\t\t\treturn promise.then( null, fn );\n\t\t\t\t},\n\n\t\t\t\t// Keep pipe for back-compat\n\t\t\t\tpipe: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( _i, tuple ) {\n\n\t\t\t\t\t\t\t// Map tuples (progress, done, fail) to arguments (done, fail, progress)\n\t\t\t\t\t\t\tvar fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];\n\n\t\t\t\t\t\t\t// deferred.progress(function() { bind to newDefer or newDefer.notify })\n\t\t\t\t\t\t\t// deferred.done(function() { bind to newDefer or newDefer.resolve })\n\t\t\t\t\t\t\t// deferred.fail(function() { bind to newDefer or newDefer.reject })\n\t\t\t\t\t\t\tdeferred[ tuple[ 1 ] ]( function() {\n\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned && isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify )\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ](\n\t\t\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t\t\tfn ? [ returned ] : arguments\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\t\t\t\tthen: function( onFulfilled, onRejected, onProgress ) {\n\t\t\t\t\tvar maxDepth = 0;\n\t\t\t\t\tfunction resolve( depth, deferred, handler, special ) {\n\t\t\t\t\t\treturn function() {\n\t\t\t\t\t\t\tvar that = this,\n\t\t\t\t\t\t\t\targs = arguments,\n\t\t\t\t\t\t\t\tmightThrow = function() {\n\t\t\t\t\t\t\t\t\tvar returned, then;\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.3\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-59\n\t\t\t\t\t\t\t\t\t// Ignore double-resolution attempts\n\t\t\t\t\t\t\t\t\tif ( depth < maxDepth ) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\treturned = handler.apply( that, args );\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.1\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-48\n\t\t\t\t\t\t\t\t\tif ( returned === deferred.promise() ) {\n\t\t\t\t\t\t\t\t\t\tthrow new TypeError( \"Thenable self-resolution\" );\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ sections 2.3.3.1, 3.5\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-54\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-75\n\t\t\t\t\t\t\t\t\t// Retrieve `then` only once\n\t\t\t\t\t\t\t\t\tthen = returned &&\n\n\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.4\n\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-64\n\t\t\t\t\t\t\t\t\t\t// Only check objects and functions for thenability\n\t\t\t\t\t\t\t\t\t\t( typeof returned === \"object\" ||\n\t\t\t\t\t\t\t\t\t\t\ttypeof returned === \"function\" ) &&\n\t\t\t\t\t\t\t\t\t\treturned.then;\n\n\t\t\t\t\t\t\t\t\t// Handle a returned thenable\n\t\t\t\t\t\t\t\t\tif ( isFunction( then ) ) {\n\n\t\t\t\t\t\t\t\t\t\t// Special processors (notify) just wait for resolution\n\t\t\t\t\t\t\t\t\t\tif ( special ) {\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special )\n\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\t// Normal processors (resolve) also hook into progress\n\t\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t\t// ...and disregard older resolution values\n\t\t\t\t\t\t\t\t\t\t\tmaxDepth++;\n\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdeferred.notifyWith )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Handle all other returned values\n\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\tif ( handler !== Identity ) {\n\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\targs = [ returned ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t// Process the value(s)\n\t\t\t\t\t\t\t\t\t\t// Default process is resolve\n\t\t\t\t\t\t\t\t\t\t( special || deferred.resolveWith )( that, args );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\t\t// Only normal processors (resolve) catch and reject exceptions\n\t\t\t\t\t\t\t\tprocess = special ?\n\t\t\t\t\t\t\t\t\tmightThrow :\n\t\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\tmightThrow();\n\t\t\t\t\t\t\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t\t\t\t\t\t\tif ( jQuery.Deferred.exceptionHook ) {\n\t\t\t\t\t\t\t\t\t\t\t\tjQuery.Deferred.exceptionHook( e,\n\t\t\t\t\t\t\t\t\t\t\t\t\tprocess.error );\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.4.1\n\t\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-61\n\t\t\t\t\t\t\t\t\t\t\t// Ignore post-resolution exceptions\n\t\t\t\t\t\t\t\t\t\t\tif ( depth + 1 >= maxDepth ) {\n\n\t\t\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\t\t\tif ( handler !== Thrower ) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\t\t\targs = [ e ];\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\tdeferred.rejectWith( that, args );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.1\n\t\t\t\t\t\t\t// https://promisesaplus.com/#point-57\n\t\t\t\t\t\t\t// Re-resolve promises immediately to dodge false rejection from\n\t\t\t\t\t\t\t// subsequent errors\n\t\t\t\t\t\t\tif ( depth ) {\n\t\t\t\t\t\t\t\tprocess();\n\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t// Call an optional hook to record the error, in case of exception\n\t\t\t\t\t\t\t\t// since it's otherwise lost when execution goes async\n\t\t\t\t\t\t\t\tif ( jQuery.Deferred.getErrorHook ) {\n\t\t\t\t\t\t\t\t\tprocess.error = jQuery.Deferred.getErrorHook();\n\n\t\t\t\t\t\t\t\t// The deprecated alias of the above. While the name suggests\n\t\t\t\t\t\t\t\t// returning the stack, not an error instance, jQuery just passes\n\t\t\t\t\t\t\t\t// it directly to `console.warn` so both will work; an instance\n\t\t\t\t\t\t\t\t// just better cooperates with source maps.\n\t\t\t\t\t\t\t\t} else if ( jQuery.Deferred.getStackHook ) {\n\t\t\t\t\t\t\t\t\tprocess.error = jQuery.Deferred.getStackHook();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\twindow.setTimeout( process );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\n\t\t\t\t\t\t// progress_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 0 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onProgress ) ?\n\t\t\t\t\t\t\t\t\tonProgress :\n\t\t\t\t\t\t\t\t\tIdentity,\n\t\t\t\t\t\t\t\tnewDefer.notifyWith\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// fulfilled_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 1 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onFulfilled ) ?\n\t\t\t\t\t\t\t\t\tonFulfilled :\n\t\t\t\t\t\t\t\t\tIdentity\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// rejected_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 2 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onRejected ) ?\n\t\t\t\t\t\t\t\t\tonRejected :\n\t\t\t\t\t\t\t\t\tThrower\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 5 ];\n\n\t\t\t// promise.progress = list.add\n\t\t\t// promise.done = list.add\n\t\t\t// promise.fail = list.add\n\t\t\tpromise[ tuple[ 1 ] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add(\n\t\t\t\t\tfunction() {\n\n\t\t\t\t\t\t// state = \"resolved\" (i.e., fulfilled)\n\t\t\t\t\t\t// state = \"rejected\"\n\t\t\t\t\t\tstate = stateString;\n\t\t\t\t\t},\n\n\t\t\t\t\t// rejected_callbacks.disable\n\t\t\t\t\t// fulfilled_callbacks.disable\n\t\t\t\t\ttuples[ 3 - i ][ 2 ].disable,\n\n\t\t\t\t\t// rejected_handlers.disable\n\t\t\t\t\t// fulfilled_handlers.disable\n\t\t\t\t\ttuples[ 3 - i ][ 3 ].disable,\n\n\t\t\t\t\t// progress_callbacks.lock\n\t\t\t\t\ttuples[ 0 ][ 2 ].lock,\n\n\t\t\t\t\t// progress_handlers.lock\n\t\t\t\t\ttuples[ 0 ][ 3 ].lock\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// progress_handlers.fire\n\t\t\t// fulfilled_handlers.fire\n\t\t\t// rejected_handlers.fire\n\t\t\tlist.add( tuple[ 3 ].fire );\n\n\t\t\t// deferred.notify = function() { deferred.notifyWith(...) }\n\t\t\t// deferred.resolve = function() { deferred.resolveWith(...) }\n\t\t\t// deferred.reject = function() { deferred.rejectWith(...) }\n\t\t\tdeferred[ tuple[ 0 ] ] = function() {\n\t\t\t\tdeferred[ tuple[ 0 ] + \"With\" ]( this === deferred ? undefined : this, arguments );\n\t\t\t\treturn this;\n\t\t\t};\n\n\t\t\t// deferred.notifyWith = list.fireWith\n\t\t\t// deferred.resolveWith = list.fireWith\n\t\t\t// deferred.rejectWith = list.fireWith\n\t\t\tdeferred[ tuple[ 0 ] + \"With\" ] = list.fireWith;\n\t\t} );\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( singleValue ) {\n\t\tvar\n\n\t\t\t// count of uncompleted subordinates\n\t\t\tremaining = arguments.length,\n\n\t\t\t// count of unprocessed arguments\n\t\t\ti = remaining,\n\n\t\t\t// subordinate fulfillment data\n\t\t\tresolveContexts = Array( i ),\n\t\t\tresolveValues = slice.call( arguments ),\n\n\t\t\t// the primary Deferred\n\t\t\tprimary = jQuery.Deferred(),\n\n\t\t\t// subordinate callback factory\n\t\t\tupdateFunc = function( i ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tresolveContexts[ i ] = this;\n\t\t\t\t\tresolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\n\t\t\t\t\tif ( !( --remaining ) ) {\n\t\t\t\t\t\tprimary.resolveWith( resolveContexts, resolveValues );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t};\n\n\t\t// Single- and empty arguments are adopted like Promise.resolve\n\t\tif ( remaining <= 1 ) {\n\t\t\tadoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject,\n\t\t\t\t!remaining );\n\n\t\t\t// Use .then() to unwrap secondary thenables (cf. gh-3000)\n\t\t\tif ( primary.state() === \"pending\" ||\n\t\t\t\tisFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {\n\n\t\t\t\treturn primary.then();\n\t\t\t}\n\t\t}\n\n\t\t// Multiple arguments are aggregated like Promise.all array elements\n\t\twhile ( i-- ) {\n\t\t\tadoptValue( resolveValues[ i ], updateFunc( i ), primary.reject );\n\t\t}\n\n\t\treturn primary.promise();\n\t}\n} );\n\n\n// These usually indicate a programmer mistake during development,\n// warn about them ASAP rather than swallowing them by default.\nvar rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;\n\n// If `jQuery.Deferred.getErrorHook` is defined, `asyncError` is an error\n// captured before the async barrier to get the original error cause\n// which may otherwise be hidden.\njQuery.Deferred.exceptionHook = function( error, asyncError ) {\n\n\t// Support: IE 8 - 9 only\n\t// Console exists when dev tools are open, which can happen at any time\n\tif ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {\n\t\twindow.console.warn( \"jQuery.Deferred exception: \" + error.message,\n\t\t\terror.stack, asyncError );\n\t}\n};\n\n\n\n\njQuery.readyException = function( error ) {\n\twindow.setTimeout( function() {\n\t\tthrow error;\n\t} );\n};\n\n\n\n\n// The deferred used on DOM ready\nvar readyList = jQuery.Deferred();\n\njQuery.fn.ready = function( fn ) {\n\n\treadyList\n\t\t.then( fn )\n\n\t\t// Wrap jQuery.readyException in a function so that the lookup\n\t\t// happens at the time of error handling instead of callback\n\t\t// registration.\n\t\t.catch( function( error ) {\n\t\t\tjQuery.readyException( error );\n\t\t} );\n\n\treturn this;\n};\n\njQuery.extend( {\n\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See trac-6781\n\treadyWait: 1,\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\t}\n} );\n\njQuery.ready.then = readyList.then;\n\n// The ready event handler and self cleanup method\nfunction completed() {\n\tdocument.removeEventListener( \"DOMContentLoaded\", completed );\n\twindow.removeEventListener( \"load\", completed );\n\tjQuery.ready();\n}\n\n// Catch cases where $(document).ready() is called\n// after the browser event has already occurred.\n// Support: IE <=9 - 10 only\n// Older IE sometimes signals \"interactive\" too soon\nif ( document.readyState === \"complete\" ||\n\t( document.readyState !== \"loading\" && !document.documentElement.doScroll ) ) {\n\n\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\twindow.setTimeout( jQuery.ready );\n\n} else {\n\n\t// Use the handy event callback\n\tdocument.addEventListener( \"DOMContentLoaded\", completed );\n\n\t// A fallback to window.onload, that will always work\n\twindow.addEventListener( \"load\", completed );\n}\n\n\n\n\n// Multifunctional method to get and set values of a collection\n// The value/s can optionally be executed if it's a function\nvar access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\tvar i = 0,\n\t\tlen = elems.length,\n\t\tbulk = key == null;\n\n\t// Sets many values\n\tif ( toType( key ) === \"object\" ) {\n\t\tchainable = true;\n\t\tfor ( i in key ) {\n\t\t\taccess( elems, fn, i, key[ i ], true, emptyGet, raw );\n\t\t}\n\n\t// Sets one value\n\t} else if ( value !== undefined ) {\n\t\tchainable = true;\n\n\t\tif ( !isFunction( value ) ) {\n\t\t\traw = true;\n\t\t}\n\n\t\tif ( bulk ) {\n\n\t\t\t// Bulk operations run against the entire set\n\t\t\tif ( raw ) {\n\t\t\t\tfn.call( elems, value );\n\t\t\t\tfn = null;\n\n\t\t\t// ...except when executing function values\n\t\t\t} else {\n\t\t\t\tbulk = fn;\n\t\t\t\tfn = function( elem, _key, value ) {\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\tfn(\n\t\t\t\t\telems[ i ], key, raw ?\n\t\t\t\t\t\tvalue :\n\t\t\t\t\t\tvalue.call( elems[ i ], i, fn( elems[ i ], key ) )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( chainable ) {\n\t\treturn elems;\n\t}\n\n\t// Gets\n\tif ( bulk ) {\n\t\treturn fn.call( elems );\n\t}\n\n\treturn len ? fn( elems[ 0 ], key ) : emptyGet;\n};\n\n\n// Matches dashed string for camelizing\nvar rmsPrefix = /^-ms-/,\n\trdashAlpha = /-([a-z])/g;\n\n// Used by camelCase as callback to replace()\nfunction fcamelCase( _all, letter ) {\n\treturn letter.toUpperCase();\n}\n\n// Convert dashed to camelCase; used by the css and data modules\n// Support: IE <=9 - 11, Edge 12 - 15\n// Microsoft forgot to hump their vendor prefix (trac-9572)\nfunction camelCase( string ) {\n\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n}\nvar acceptData = function( owner ) {\n\n\t// Accepts only:\n\t//  - Node\n\t//    - Node.ELEMENT_NODE\n\t//    - Node.DOCUMENT_NODE\n\t//  - Object\n\t//    - Any\n\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\n};\n\n\n\n\nfunction Data() {\n\tthis.expando = jQuery.expando + Data.uid++;\n}\n\nData.uid = 1;\n\nData.prototype = {\n\n\tcache: function( owner ) {\n\n\t\t// Check if the owner object already has a cache\n\t\tvar value = owner[ this.expando ];\n\n\t\t// If not, create one\n\t\tif ( !value ) {\n\t\t\tvalue = {};\n\n\t\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t\t// but we should not, see trac-8335.\n\t\t\t// Always return an empty object.\n\t\t\tif ( acceptData( owner ) ) {\n\n\t\t\t\t// If it is a node unlikely to be stringify-ed or looped over\n\t\t\t\t// use plain assignment\n\t\t\t\tif ( owner.nodeType ) {\n\t\t\t\t\towner[ this.expando ] = value;\n\n\t\t\t\t// Otherwise secure it in a non-enumerable property\n\t\t\t\t// configurable must be true to allow the property to be\n\t\t\t\t// deleted when data is removed\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty( owner, this.expando, {\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\tconfigurable: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn value;\n\t},\n\tset: function( owner, data, value ) {\n\t\tvar prop,\n\t\t\tcache = this.cache( owner );\n\n\t\t// Handle: [ owner, key, value ] args\n\t\t// Always use camelCase key (gh-2257)\n\t\tif ( typeof data === \"string\" ) {\n\t\t\tcache[ camelCase( data ) ] = value;\n\n\t\t// Handle: [ owner, { properties } ] args\n\t\t} else {\n\n\t\t\t// Copy the properties one-by-one to the cache object\n\t\t\tfor ( prop in data ) {\n\t\t\t\tcache[ camelCase( prop ) ] = data[ prop ];\n\t\t\t}\n\t\t}\n\t\treturn cache;\n\t},\n\tget: function( owner, key ) {\n\t\treturn key === undefined ?\n\t\t\tthis.cache( owner ) :\n\n\t\t\t// Always use camelCase key (gh-2257)\n\t\t\towner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];\n\t},\n\taccess: function( owner, key, value ) {\n\n\t\t// In cases where either:\n\t\t//\n\t\t//   1. No key was specified\n\t\t//   2. A string key was specified, but no value provided\n\t\t//\n\t\t// Take the \"read\" path and allow the get method to determine\n\t\t// which value to return, respectively either:\n\t\t//\n\t\t//   1. The entire cache object\n\t\t//   2. The data stored at the key\n\t\t//\n\t\tif ( key === undefined ||\n\t\t\t\t( ( key && typeof key === \"string\" ) && value === undefined ) ) {\n\n\t\t\treturn this.get( owner, key );\n\t\t}\n\n\t\t// When the key is not a string, or both a key and value\n\t\t// are specified, set or extend (existing objects) with either:\n\t\t//\n\t\t//   1. An object of properties\n\t\t//   2. A key and value\n\t\t//\n\t\tthis.set( owner, key, value );\n\n\t\t// Since the \"set\" path can have two possible entry points\n\t\t// return the expected data based on which path was taken[*]\n\t\treturn value !== undefined ? value : key;\n\t},\n\tremove: function( owner, key ) {\n\t\tvar i,\n\t\t\tcache = owner[ this.expando ];\n\n\t\tif ( cache === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key !== undefined ) {\n\n\t\t\t// Support array or space separated string of keys\n\t\t\tif ( Array.isArray( key ) ) {\n\n\t\t\t\t// If key is an array of keys...\n\t\t\t\t// We always set camelCase keys, so remove that.\n\t\t\t\tkey = key.map( camelCase );\n\t\t\t} else {\n\t\t\t\tkey = camelCase( key );\n\n\t\t\t\t// If a key with the spaces exists, use it.\n\t\t\t\t// Otherwise, create an array by matching non-whitespace\n\t\t\t\tkey = key in cache ?\n\t\t\t\t\t[ key ] :\n\t\t\t\t\t( key.match( rnothtmlwhite ) || [] );\n\t\t\t}\n\n\t\t\ti = key.length;\n\n\t\t\twhile ( i-- ) {\n\t\t\t\tdelete cache[ key[ i ] ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if there's no more data\n\t\tif ( key === undefined || jQuery.isEmptyObject( cache ) ) {\n\n\t\t\t// Support: Chrome <=35 - 45\n\t\t\t// Webkit & Blink performance suffers when deleting properties\n\t\t\t// from DOM nodes, so set to undefined instead\n\t\t\t// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)\n\t\t\tif ( owner.nodeType ) {\n\t\t\t\towner[ this.expando ] = undefined;\n\t\t\t} else {\n\t\t\t\tdelete owner[ this.expando ];\n\t\t\t}\n\t\t}\n\t},\n\thasData: function( owner ) {\n\t\tvar cache = owner[ this.expando ];\n\t\treturn cache !== undefined && !jQuery.isEmptyObject( cache );\n\t}\n};\nvar dataPriv = new Data();\n\nvar dataUser = new Data();\n\n\n\n//\tImplementation Summary\n//\n//\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n//\t2. Improve the module's maintainability by reducing the storage\n//\t\tpaths to a single mechanism.\n//\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n//\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n//\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n//\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\trmultiDash = /[A-Z]/g;\n\nfunction getData( data ) {\n\tif ( data === \"true\" ) {\n\t\treturn true;\n\t}\n\n\tif ( data === \"false\" ) {\n\t\treturn false;\n\t}\n\n\tif ( data === \"null\" ) {\n\t\treturn null;\n\t}\n\n\t// Only convert to a number if it doesn't change the string\n\tif ( data === +data + \"\" ) {\n\t\treturn +data;\n\t}\n\n\tif ( rbrace.test( data ) ) {\n\t\treturn JSON.parse( data );\n\t}\n\n\treturn data;\n}\n\nfunction dataAttr( elem, key, data ) {\n\tvar name;\n\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\t\tname = \"data-\" + key.replace( rmultiDash, \"-$&\" ).toLowerCase();\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = getData( data );\n\t\t\t} catch ( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tdataUser.set( elem, key, data );\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\treturn data;\n}\n\njQuery.extend( {\n\thasData: function( elem ) {\n\t\treturn dataUser.hasData( elem ) || dataPriv.hasData( elem );\n\t},\n\n\tdata: function( elem, name, data ) {\n\t\treturn dataUser.access( elem, name, data );\n\t},\n\n\tremoveData: function( elem, name ) {\n\t\tdataUser.remove( elem, name );\n\t},\n\n\t// TODO: Now that all calls to _data and _removeData have been replaced\n\t// with direct calls to dataPriv methods, these can be deprecated.\n\t_data: function( elem, name, data ) {\n\t\treturn dataPriv.access( elem, name, data );\n\t},\n\n\t_removeData: function( elem, name ) {\n\t\tdataPriv.remove( elem, name );\n\t}\n} );\n\njQuery.fn.extend( {\n\tdata: function( key, value ) {\n\t\tvar i, name, data,\n\t\t\telem = this[ 0 ],\n\t\t\tattrs = elem && elem.attributes;\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = dataUser.get( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !dataPriv.get( elem, \"hasDataAttrs\" ) ) {\n\t\t\t\t\ti = attrs.length;\n\t\t\t\t\twhile ( i-- ) {\n\n\t\t\t\t\t\t// Support: IE 11 only\n\t\t\t\t\t\t// The attrs elements can be null (trac-14894)\n\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\tname = camelCase( name.slice( 5 ) );\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdataPriv.set( elem, \"hasDataAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tdataUser.set( this, key );\n\t\t\t} );\n\t\t}\n\n\t\treturn access( this, function( value ) {\n\t\t\tvar data;\n\n\t\t\t// The calling jQuery object (element matches) is not empty\n\t\t\t// (and therefore has an element appears at this[ 0 ]) and the\n\t\t\t// `value` parameter was not undefined. An empty jQuery object\n\t\t\t// will result in `undefined` for elem = this[ 0 ] which will\n\t\t\t// throw an exception if an attempt to read a data cache is made.\n\t\t\tif ( elem && value === undefined ) {\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// The key will always be camelCased in Data\n\t\t\t\tdata = dataUser.get( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to \"discover\" the data in\n\t\t\t\t// HTML5 custom data-* attrs\n\t\t\t\tdata = dataAttr( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// We tried really hard, but the data doesn't exist.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set the data...\n\t\t\tthis.each( function() {\n\n\t\t\t\t// We always store the camelCased key\n\t\t\t\tdataUser.set( this, key, value );\n\t\t\t} );\n\t\t}, null, value, arguments.length > 1, null, true );\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each( function() {\n\t\t\tdataUser.remove( this, key );\n\t\t} );\n\t}\n} );\n\n\njQuery.extend( {\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = dataPriv.get( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || Array.isArray( data ) ) {\n\t\t\t\t\tqueue = dataPriv.access( elem, type, jQuery.makeArray( data ) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// Clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength && hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// Not public - generate a queueHooks object, or return the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn dataPriv.get( elem, key ) || dataPriv.access( elem, key, {\n\t\t\tempty: jQuery.Callbacks( \"once memory\" ).add( function() {\n\t\t\t\tdataPriv.remove( elem, [ type + \"queue\", key ] );\n\t\t\t} )\n\t\t} );\n\t}\n} );\n\njQuery.fn.extend( {\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[ 0 ], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each( function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// Ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" && queue[ 0 ] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t} );\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t} );\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile ( i-- ) {\n\t\t\ttmp = dataPriv.get( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n} );\nvar pnum = ( /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/ ).source;\n\nvar rcssNum = new RegExp( \"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\" );\n\n\nvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n\nvar documentElement = document.documentElement;\n\n\n\n\tvar isAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem );\n\t\t},\n\t\tcomposed = { composed: true };\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only\n\t// Check attachment across shadow DOM boundaries when possible (gh-3504)\n\t// Support: iOS 10.0-10.2 only\n\t// Early iOS 10 versions support `attachShadow` but not `getRootNode`,\n\t// leading to errors. We need to check for `getRootNode`.\n\tif ( documentElement.getRootNode ) {\n\t\tisAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem ) ||\n\t\t\t\telem.getRootNode( composed ) === elem.ownerDocument;\n\t\t};\n\t}\nvar isHiddenWithinTree = function( elem, el ) {\n\n\t\t// isHiddenWithinTree might be called from jQuery#filter function;\n\t\t// in that case, element will be second argument\n\t\telem = el || elem;\n\n\t\t// Inline style trumps all\n\t\treturn elem.style.display === \"none\" ||\n\t\t\telem.style.display === \"\" &&\n\n\t\t\t// Otherwise, check computed style\n\t\t\t// Support: Firefox <=43 - 45\n\t\t\t// Disconnected elements can have computed display: none, so first confirm that elem is\n\t\t\t// in the document.\n\t\t\tisAttached( elem ) &&\n\n\t\t\tjQuery.css( elem, \"display\" ) === \"none\";\n\t};\n\n\n\nfunction adjustCSS( elem, prop, valueParts, tween ) {\n\tvar adjusted, scale,\n\t\tmaxIterations = 20,\n\t\tcurrentValue = tween ?\n\t\t\tfunction() {\n\t\t\t\treturn tween.cur();\n\t\t\t} :\n\t\t\tfunction() {\n\t\t\t\treturn jQuery.css( elem, prop, \"\" );\n\t\t\t},\n\t\tinitial = currentValue(),\n\t\tunit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\n\n\t\t// Starting value computation is required for potential unit mismatches\n\t\tinitialInUnit = elem.nodeType &&\n\t\t\t( jQuery.cssNumber[ prop ] || unit !== \"px\" && +initial ) &&\n\t\t\trcssNum.exec( jQuery.css( elem, prop ) );\n\n\tif ( initialInUnit && initialInUnit[ 3 ] !== unit ) {\n\n\t\t// Support: Firefox <=54\n\t\t// Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)\n\t\tinitial = initial / 2;\n\n\t\t// Trust units reported by jQuery.css\n\t\tunit = unit || initialInUnit[ 3 ];\n\n\t\t// Iteratively approximate from a nonzero starting point\n\t\tinitialInUnit = +initial || 1;\n\n\t\twhile ( maxIterations-- ) {\n\n\t\t\t// Evaluate and update our best guess (doubling guesses that zero out).\n\t\t\t// Finish if the scale equals or crosses 1 (making the old*new product non-positive).\n\t\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\t\t\tif ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {\n\t\t\t\tmaxIterations = 0;\n\t\t\t}\n\t\t\tinitialInUnit = initialInUnit / scale;\n\n\t\t}\n\n\t\tinitialInUnit = initialInUnit * 2;\n\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\n\t\t// Make sure we update the tween properties later on\n\t\tvalueParts = valueParts || [];\n\t}\n\n\tif ( valueParts ) {\n\t\tinitialInUnit = +initialInUnit || +initial || 0;\n\n\t\t// Apply relative offset (+=/-=) if specified\n\t\tadjusted = valueParts[ 1 ] ?\n\t\t\tinitialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :\n\t\t\t+valueParts[ 2 ];\n\t\tif ( tween ) {\n\t\t\ttween.unit = unit;\n\t\t\ttween.start = initialInUnit;\n\t\t\ttween.end = adjusted;\n\t\t}\n\t}\n\treturn adjusted;\n}\n\n\nvar defaultDisplayMap = {};\n\nfunction getDefaultDisplay( elem ) {\n\tvar temp,\n\t\tdoc = elem.ownerDocument,\n\t\tnodeName = elem.nodeName,\n\t\tdisplay = defaultDisplayMap[ nodeName ];\n\n\tif ( display ) {\n\t\treturn display;\n\t}\n\n\ttemp = doc.body.appendChild( doc.createElement( nodeName ) );\n\tdisplay = jQuery.css( temp, \"display\" );\n\n\ttemp.parentNode.removeChild( temp );\n\n\tif ( display === \"none\" ) {\n\t\tdisplay = \"block\";\n\t}\n\tdefaultDisplayMap[ nodeName ] = display;\n\n\treturn display;\n}\n\nfunction showHide( elements, show ) {\n\tvar display, elem,\n\t\tvalues = [],\n\t\tindex = 0,\n\t\tlength = elements.length;\n\n\t// Determine new display value for elements that need to change\n\tfor ( ; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tdisplay = elem.style.display;\n\t\tif ( show ) {\n\n\t\t\t// Since we force visibility upon cascade-hidden elements, an immediate (and slow)\n\t\t\t// check is required in this first loop unless we have a nonempty display value (either\n\t\t\t// inline or about-to-be-restored)\n\t\t\tif ( display === \"none\" ) {\n\t\t\t\tvalues[ index ] = dataPriv.get( elem, \"display\" ) || null;\n\t\t\t\tif ( !values[ index ] ) {\n\t\t\t\t\telem.style.display = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( elem.style.display === \"\" && isHiddenWithinTree( elem ) ) {\n\t\t\t\tvalues[ index ] = getDefaultDisplay( elem );\n\t\t\t}\n\t\t} else {\n\t\t\tif ( display !== \"none\" ) {\n\t\t\t\tvalues[ index ] = \"none\";\n\n\t\t\t\t// Remember what we're overwriting\n\t\t\t\tdataPriv.set( elem, \"display\", display );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Set the display of the elements in a second loop to avoid constant reflow\n\tfor ( index = 0; index < length; index++ ) {\n\t\tif ( values[ index ] != null ) {\n\t\t\telements[ index ].style.display = values[ index ];\n\t\t}\n\t}\n\n\treturn elements;\n}\n\njQuery.fn.extend( {\n\tshow: function() {\n\t\treturn showHide( this, true );\n\t},\n\thide: function() {\n\t\treturn showHide( this );\n\t},\n\ttoggle: function( state ) {\n\t\tif ( typeof state === \"boolean\" ) {\n\t\t\treturn state ? this.show() : this.hide();\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tif ( isHiddenWithinTree( this ) ) {\n\t\t\t\tjQuery( this ).show();\n\t\t\t} else {\n\t\t\t\tjQuery( this ).hide();\n\t\t\t}\n\t\t} );\n\t}\n} );\nvar rcheckableType = ( /^(?:checkbox|radio)$/i );\n\nvar rtagName = ( /<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)/i );\n\nvar rscriptType = ( /^$|^module$|\\/(?:java|ecma)script/i );\n\n\n\n( function() {\n\tvar fragment = document.createDocumentFragment(),\n\t\tdiv = fragment.appendChild( document.createElement( \"div\" ) ),\n\t\tinput = document.createElement( \"input\" );\n\n\t// Support: Android 4.0 - 4.3 only\n\t// Check state lost if the name is set (trac-11217)\n\t// Support: Windows Web Apps (WWA)\n\t// `name` and `type` must use .setAttribute for WWA (trac-14901)\n\tinput.setAttribute( \"type\", \"radio\" );\n\tinput.setAttribute( \"checked\", \"checked\" );\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\n\t// Support: Android <=4.1 only\n\t// Older WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Support: IE <=11 only\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\tdiv.innerHTML = \"<textarea>x</textarea>\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n\n\t// Support: IE <=9 only\n\t// IE <=9 replaces <option> tags with their contents when inserted outside of\n\t// the select element.\n\tdiv.innerHTML = \"<option></option>\";\n\tsupport.option = !!div.lastChild;\n} )();\n\n\n// We have to close these tags to support XHTML (trac-13200)\nvar wrapMap = {\n\n\t// XHTML parsers do not magically insert elements in the\n\t// same way that tag soup parsers do. So we cannot shorten\n\t// this by omitting <tbody> or other required elements.\n\tthead: [ 1, \"<table>\", \"</table>\" ],\n\tcol: [ 2, \"<table><colgroup>\", \"</colgroup></table>\" ],\n\ttr: [ 2, \"<table><tbody>\", \"</tbody></table>\" ],\n\ttd: [ 3, \"<table><tbody><tr>\", \"</tr></tbody></table>\" ],\n\n\t_default: [ 0, \"\", \"\" ]\n};\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n// Support: IE <=9 only\nif ( !support.option ) {\n\twrapMap.optgroup = wrapMap.option = [ 1, \"<select multiple='multiple'>\", \"</select>\" ];\n}\n\n\nfunction getAll( context, tag ) {\n\n\t// Support: IE <=9 - 11 only\n\t// Use typeof to avoid zero-argument method invocation on host objects (trac-15151)\n\tvar ret;\n\n\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\tret = context.getElementsByTagName( tag || \"*\" );\n\n\t} else if ( typeof context.querySelectorAll !== \"undefined\" ) {\n\t\tret = context.querySelectorAll( tag || \"*\" );\n\n\t} else {\n\t\tret = [];\n\t}\n\n\tif ( tag === undefined || tag && nodeName( context, tag ) ) {\n\t\treturn jQuery.merge( [ context ], ret );\n\t}\n\n\treturn ret;\n}\n\n\n// Mark scripts as having already been evaluated\nfunction setGlobalEval( elems, refElements ) {\n\tvar i = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\tdataPriv.set(\n\t\t\telems[ i ],\n\t\t\t\"globalEval\",\n\t\t\t!refElements || dataPriv.get( refElements[ i ], \"globalEval\" )\n\t\t);\n\t}\n}\n\n\nvar rhtml = /<|&#?\\w+;/;\n\nfunction buildFragment( elems, context, scripts, selection, ignored ) {\n\tvar elem, tmp, tag, wrap, attached, j,\n\t\tfragment = context.createDocumentFragment(),\n\t\tnodes = [],\n\t\ti = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\telem = elems[ i ];\n\n\t\tif ( elem || elem === 0 ) {\n\n\t\t\t// Add nodes directly\n\t\t\tif ( toType( elem ) === \"object\" ) {\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\n\n\t\t\t// Convert non-html into a text node\n\t\t\t} else if ( !rhtml.test( elem ) ) {\n\t\t\t\tnodes.push( context.createTextNode( elem ) );\n\n\t\t\t// Convert html into DOM nodes\n\t\t\t} else {\n\t\t\t\ttmp = tmp || fragment.appendChild( context.createElement( \"div\" ) );\n\n\t\t\t\t// Deserialize a standard representation\n\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\n\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\t\t\t\ttmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];\n\n\t\t\t\t// Descend through wrappers to the right content\n\t\t\t\tj = wrap[ 0 ];\n\t\t\t\twhile ( j-- ) {\n\t\t\t\t\ttmp = tmp.lastChild;\n\t\t\t\t}\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\n\t\t\t\t// Remember the top-level container\n\t\t\t\ttmp = fragment.firstChild;\n\n\t\t\t\t// Ensure the created nodes are orphaned (trac-12392)\n\t\t\t\ttmp.textContent = \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\t// Remove wrapper from fragment\n\tfragment.textContent = \"\";\n\n\ti = 0;\n\twhile ( ( elem = nodes[ i++ ] ) ) {\n\n\t\t// Skip elements already in the context collection (trac-4087)\n\t\tif ( selection && jQuery.inArray( elem, selection ) > -1 ) {\n\t\t\tif ( ignored ) {\n\t\t\t\tignored.push( elem );\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tattached = isAttached( elem );\n\n\t\t// Append to fragment\n\t\ttmp = getAll( fragment.appendChild( elem ), \"script\" );\n\n\t\t// Preserve script evaluation history\n\t\tif ( attached ) {\n\t\t\tsetGlobalEval( tmp );\n\t\t}\n\n\t\t// Capture executables\n\t\tif ( scripts ) {\n\t\t\tj = 0;\n\t\t\twhile ( ( elem = tmp[ j++ ] ) ) {\n\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\tscripts.push( elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn fragment;\n}\n\n\nvar rtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\nfunction on( elem, types, selector, data, fn, one ) {\n\tvar origFn, type;\n\n\t// Types can be a map of types/handlers\n\tif ( typeof types === \"object\" ) {\n\n\t\t// ( types-Object, selector, data )\n\t\tif ( typeof selector !== \"string\" ) {\n\n\t\t\t// ( types-Object, data )\n\t\t\tdata = data || selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tfor ( type in types ) {\n\t\t\ton( elem, type, selector, data, types[ type ], one );\n\t\t}\n\t\treturn elem;\n\t}\n\n\tif ( data == null && fn == null ) {\n\n\t\t// ( types, fn )\n\t\tfn = selector;\n\t\tdata = selector = undefined;\n\t} else if ( fn == null ) {\n\t\tif ( typeof selector === \"string\" ) {\n\n\t\t\t// ( types, selector, fn )\n\t\t\tfn = data;\n\t\t\tdata = undefined;\n\t\t} else {\n\n\t\t\t// ( types, data, fn )\n\t\t\tfn = data;\n\t\t\tdata = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t}\n\tif ( fn === false ) {\n\t\tfn = returnFalse;\n\t} else if ( !fn ) {\n\t\treturn elem;\n\t}\n\n\tif ( one === 1 ) {\n\t\torigFn = fn;\n\t\tfn = function( event ) {\n\n\t\t\t// Can use an empty set, since event contains the info\n\t\t\tjQuery().off( event );\n\t\t\treturn origFn.apply( this, arguments );\n\t\t};\n\n\t\t// Use same guid so caller can remove using origFn\n\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t}\n\treturn elem.each( function() {\n\t\tjQuery.event.add( this, types, fn, data, selector );\n\t} );\n}\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tglobal: {},\n\n\tadd: function( elem, types, handler, data, selector ) {\n\n\t\tvar handleObjIn, eventHandle, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.get( elem );\n\n\t\t// Only attach events to objects that accept data\n\t\tif ( !acceptData( elem ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Ensure that invalid selectors throw exceptions at attach time\n\t\t// Evaluate against documentElement in case elem is a non-element node (e.g., document)\n\t\tif ( selector ) {\n\t\t\tjQuery.find.matchesSelector( documentElement, selector );\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tif ( !( events = elemData.events ) ) {\n\t\t\tevents = elemData.events = Object.create( null );\n\t\t}\n\t\tif ( !( eventHandle = elemData.handle ) ) {\n\t\t\teventHandle = elemData.handle = function( e ) {\n\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== \"undefined\" && jQuery.event.triggered !== e.type ?\n\t\t\t\t\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\n\t\t\t};\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\tif ( !type ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend( {\n\t\t\t\ttype: type,\n\t\t\t\torigType: origType,\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join( \".\" )\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\tif ( !( handlers = events[ type ] ) ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener if the special events handler returns false\n\t\t\t\tif ( !special.setup ||\n\t\t\t\t\tspecial.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\n\t\tvar j, origCount, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.hasData( elem ) && dataPriv.get( elem );\n\n\t\tif ( !elemData || !( events = elemData.events ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\thandlers = events[ type ] || [];\n\t\t\ttmp = tmp[ 2 ] &&\n\t\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" );\n\n\t\t\t// Remove matching events\n\t\t\torigCount = j = handlers.length;\n\t\t\twhile ( j-- ) {\n\t\t\t\thandleObj = handlers[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t( !selector || selector === handleObj.selector ||\n\t\t\t\t\t\tselector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\thandlers.splice( j, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( origCount && !handlers.length ) {\n\t\t\t\tif ( !special.teardown ||\n\t\t\t\t\tspecial.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove data and the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdataPriv.remove( elem, \"handle events\" );\n\t\t}\n\t},\n\n\tdispatch: function( nativeEvent ) {\n\n\t\tvar i, j, ret, matched, handleObj, handlerQueue,\n\t\t\targs = new Array( arguments.length ),\n\n\t\t\t// Make a writable jQuery.Event from the native event object\n\t\t\tevent = jQuery.event.fix( nativeEvent ),\n\n\t\t\thandlers = (\n\t\t\t\tdataPriv.get( this, \"events\" ) || Object.create( null )\n\t\t\t)[ event.type ] || [],\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[ 0 ] = event;\n\n\t\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\ti = 0;\n\t\twhile ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( ( handleObj = matched.handlers[ j++ ] ) &&\n\t\t\t\t!event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// If the event is namespaced, then each handler is only invoked if it is\n\t\t\t\t// specially universal or its namespaces are a superset of the event's.\n\t\t\t\tif ( !event.rnamespace || handleObj.namespace === false ||\n\t\t\t\t\tevent.rnamespace.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\tevent.data = handleObj.data;\n\n\t\t\t\t\tret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||\n\t\t\t\t\t\thandleObj.handler ).apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tif ( ( event.result = ret ) === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\thandlers: function( event, handlers ) {\n\t\tvar i, handleObj, sel, matchedHandlers, matchedSelectors,\n\t\t\thandlerQueue = [],\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\tcur = event.target;\n\n\t\t// Find delegate handlers\n\t\tif ( delegateCount &&\n\n\t\t\t// Support: IE <=9\n\t\t\t// Black-hole SVG <use> instance trees (trac-13180)\n\t\t\tcur.nodeType &&\n\n\t\t\t// Support: Firefox <=42\n\t\t\t// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)\n\t\t\t// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click\n\t\t\t// Support: IE 11 only\n\t\t\t// ...but not arrow key \"clicks\" of radio inputs, which can have `button` -1 (gh-2343)\n\t\t\t!( event.type === \"click\" && event.button >= 1 ) ) {\n\n\t\t\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\n\n\t\t\t\t// Don't check non-elements (trac-13208)\n\t\t\t\t// Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764)\n\t\t\t\tif ( cur.nodeType === 1 && !( event.type === \"click\" && cur.disabled === true ) ) {\n\t\t\t\t\tmatchedHandlers = [];\n\t\t\t\t\tmatchedSelectors = {};\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (trac-13203)\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] === undefined ) {\n\t\t\t\t\t\t\tmatchedSelectors[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) > -1 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] ) {\n\t\t\t\t\t\t\tmatchedHandlers.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matchedHandlers.length ) {\n\t\t\t\t\t\thandlerQueue.push( { elem: cur, handlers: matchedHandlers } );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tcur = this;\n\t\tif ( delegateCount < handlers.length ) {\n\t\t\thandlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );\n\t\t}\n\n\t\treturn handlerQueue;\n\t},\n\n\taddProp: function( name, hook ) {\n\t\tObject.defineProperty( jQuery.Event.prototype, name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\n\t\t\tget: isFunction( hook ) ?\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\treturn hook( this.originalEvent );\n\t\t\t\t\t}\n\t\t\t\t} :\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\treturn this.originalEvent[ name ];\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\tset: function( value ) {\n\t\t\t\tObject.defineProperty( this, name, {\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tvalue: value\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t},\n\n\tfix: function( originalEvent ) {\n\t\treturn originalEvent[ jQuery.expando ] ?\n\t\t\toriginalEvent :\n\t\t\tnew jQuery.Event( originalEvent );\n\t},\n\n\tspecial: {\n\t\tload: {\n\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\t\tclick: {\n\n\t\t\t// Utilize native event to ensure correct state for checkable inputs\n\t\t\tsetup: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Claim the first handler\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\t// dataPriv.set( el, \"click\", ... )\n\t\t\t\t\tleverageNative( el, \"click\", true );\n\t\t\t\t}\n\n\t\t\t\t// Return false to allow normal processing in the caller\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\ttrigger: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Force setup before triggering a click\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\tleverageNative( el, \"click\" );\n\t\t\t\t}\n\n\t\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, suppress native .click() on links\n\t\t\t// Also prevent it if we're currently inside a leveraged native-event stack\n\t\t\t_default: function( event ) {\n\t\t\t\tvar target = event.target;\n\t\t\t\treturn rcheckableType.test( target.type ) &&\n\t\t\t\t\ttarget.click && nodeName( target, \"input\" ) &&\n\t\t\t\t\tdataPriv.get( target, \"click\" ) ||\n\t\t\t\t\tnodeName( target, \"a\" );\n\t\t\t}\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tpostDispatch: function( event ) {\n\n\t\t\t\t// Support: Firefox 20+\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Ensure the presence of an event listener that handles manually-triggered\n// synthetic events by interrupting progress until reinvoked in response to\n// *native* events that it fires directly, ensuring that state changes have\n// already occurred before other listeners are invoked.\nfunction leverageNative( el, type, isSetup ) {\n\n\t// Missing `isSetup` indicates a trigger call, which must force setup through jQuery.event.add\n\tif ( !isSetup ) {\n\t\tif ( dataPriv.get( el, type ) === undefined ) {\n\t\t\tjQuery.event.add( el, type, returnTrue );\n\t\t}\n\t\treturn;\n\t}\n\n\t// Register the controller as a special universal handler for all event namespaces\n\tdataPriv.set( el, type, false );\n\tjQuery.event.add( el, type, {\n\t\tnamespace: false,\n\t\thandler: function( event ) {\n\t\t\tvar result,\n\t\t\t\tsaved = dataPriv.get( this, type );\n\n\t\t\tif ( ( event.isTrigger & 1 ) && this[ type ] ) {\n\n\t\t\t\t// Interrupt processing of the outer synthetic .trigger()ed event\n\t\t\t\tif ( !saved ) {\n\n\t\t\t\t\t// Store arguments for use when handling the inner native event\n\t\t\t\t\t// There will always be at least one argument (an event object), so this array\n\t\t\t\t\t// will not be confused with a leftover capture object.\n\t\t\t\t\tsaved = slice.call( arguments );\n\t\t\t\t\tdataPriv.set( this, type, saved );\n\n\t\t\t\t\t// Trigger the native event and capture its result\n\t\t\t\t\tthis[ type ]();\n\t\t\t\t\tresult = dataPriv.get( this, type );\n\t\t\t\t\tdataPriv.set( this, type, false );\n\n\t\t\t\t\tif ( saved !== result ) {\n\n\t\t\t\t\t\t// Cancel the outer synthetic event\n\t\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\n\t\t\t\t// If this is an inner synthetic event for an event with a bubbling surrogate\n\t\t\t\t// (focus or blur), assume that the surrogate already propagated from triggering\n\t\t\t\t// the native event and prevent that from happening again here.\n\t\t\t\t// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the\n\t\t\t\t// bubbling surrogate propagates *after* the non-bubbling base), but that seems\n\t\t\t\t// less bad than duplication.\n\t\t\t\t} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t// If this is a native event triggered above, everything is now in order\n\t\t\t// Fire an inner synthetic event with the original arguments\n\t\t\t} else if ( saved ) {\n\n\t\t\t\t// ...and capture the result\n\t\t\t\tdataPriv.set( this, type, jQuery.event.trigger(\n\t\t\t\t\tsaved[ 0 ],\n\t\t\t\t\tsaved.slice( 1 ),\n\t\t\t\t\tthis\n\t\t\t\t) );\n\n\t\t\t\t// Abort handling of the native event by all jQuery handlers while allowing\n\t\t\t\t// native handlers on the same element to run. On target, this is achieved\n\t\t\t\t// by stopping immediate propagation just on the jQuery event. However,\n\t\t\t\t// the native event is re-wrapped by a jQuery one on each level of the\n\t\t\t\t// propagation so the only way to stop it for jQuery is to stop it for\n\t\t\t\t// everyone via native `stopPropagation()`. This is not a problem for\n\t\t\t\t// focus/blur which don't bubble, but it does also stop click on checkboxes\n\t\t\t\t// and radios. We accept this limitation.\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tevent.isImmediatePropagationStopped = returnTrue;\n\t\t\t}\n\t\t}\n\t} );\n}\n\njQuery.removeEvent = function( elem, type, handle ) {\n\n\t// This \"if\" is needed for plain objects\n\tif ( elem.removeEventListener ) {\n\t\telem.removeEventListener( type, handle );\n\t}\n};\n\njQuery.Event = function( src, props ) {\n\n\t// Allow instantiation without the 'new' keyword\n\tif ( !( this instanceof jQuery.Event ) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\tsrc.defaultPrevented === undefined &&\n\n\t\t\t\t// Support: Android <=2.3 only\n\t\t\t\tsrc.returnValue === false ?\n\t\t\treturnTrue :\n\t\t\treturnFalse;\n\n\t\t// Create target properties\n\t\t// Support: Safari <=6 - 7 only\n\t\t// Target should not be a text node (trac-504, trac-13143)\n\t\tthis.target = ( src.target && src.target.nodeType === 3 ) ?\n\t\t\tsrc.target.parentNode :\n\t\t\tsrc.target;\n\n\t\tthis.currentTarget = src.currentTarget;\n\t\tthis.relatedTarget = src.relatedTarget;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src && src.timeStamp || Date.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tconstructor: jQuery.Event,\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse,\n\tisSimulated: false,\n\n\tpreventDefault: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.preventDefault();\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopPropagation();\n\t\t}\n\t},\n\tstopImmediatePropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.stopPropagation();\n\t}\n};\n\n// Includes all common event props including KeyEvent and MouseEvent specific props\njQuery.each( {\n\taltKey: true,\n\tbubbles: true,\n\tcancelable: true,\n\tchangedTouches: true,\n\tctrlKey: true,\n\tdetail: true,\n\teventPhase: true,\n\tmetaKey: true,\n\tpageX: true,\n\tpageY: true,\n\tshiftKey: true,\n\tview: true,\n\t\"char\": true,\n\tcode: true,\n\tcharCode: true,\n\tkey: true,\n\tkeyCode: true,\n\tbutton: true,\n\tbuttons: true,\n\tclientX: true,\n\tclientY: true,\n\toffsetX: true,\n\toffsetY: true,\n\tpointerId: true,\n\tpointerType: true,\n\tscreenX: true,\n\tscreenY: true,\n\ttargetTouches: true,\n\ttoElement: true,\n\ttouches: true,\n\twhich: true\n}, jQuery.event.addProp );\n\njQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( type, delegateType ) {\n\n\tfunction focusMappedHandler( nativeEvent ) {\n\t\tif ( document.documentMode ) {\n\n\t\t\t// Support: IE 11+\n\t\t\t// Attach a single focusin/focusout handler on the document while someone wants\n\t\t\t// focus/blur. This is because the former are synchronous in IE while the latter\n\t\t\t// are async. In other browsers, all those handlers are invoked synchronously.\n\n\t\t\t// `handle` from private data would already wrap the event, but we need\n\t\t\t// to change the `type` here.\n\t\t\tvar handle = dataPriv.get( this, \"handle\" ),\n\t\t\t\tevent = jQuery.event.fix( nativeEvent );\n\t\t\tevent.type = nativeEvent.type === \"focusin\" ? \"focus\" : \"blur\";\n\t\t\tevent.isSimulated = true;\n\n\t\t\t// First, handle focusin/focusout\n\t\t\thandle( nativeEvent );\n\n\t\t\t// ...then, handle focus/blur\n\t\t\t//\n\t\t\t// focus/blur don't bubble while focusin/focusout do; simulate the former by only\n\t\t\t// invoking the handler at the lower level.\n\t\t\tif ( event.target === event.currentTarget ) {\n\n\t\t\t\t// The setup part calls `leverageNative`, which, in turn, calls\n\t\t\t\t// `jQuery.event.add`, so event handle will already have been set\n\t\t\t\t// by this point.\n\t\t\t\thandle( event );\n\t\t\t}\n\t\t} else {\n\n\t\t\t// For non-IE browsers, attach a single capturing handler on the document\n\t\t\t// while someone wants focusin/focusout.\n\t\t\tjQuery.event.simulate( delegateType, nativeEvent.target,\n\t\t\t\tjQuery.event.fix( nativeEvent ) );\n\t\t}\n\t}\n\n\tjQuery.event.special[ type ] = {\n\n\t\t// Utilize native event if possible so blur/focus sequence is correct\n\t\tsetup: function() {\n\n\t\t\tvar attaches;\n\n\t\t\t// Claim the first handler\n\t\t\t// dataPriv.set( this, \"focus\", ... )\n\t\t\t// dataPriv.set( this, \"blur\", ... )\n\t\t\tleverageNative( this, type, true );\n\n\t\t\tif ( document.documentMode ) {\n\n\t\t\t\t// Support: IE 9 - 11+\n\t\t\t\t// We use the same native handler for focusin & focus (and focusout & blur)\n\t\t\t\t// so we need to coordinate setup & teardown parts between those events.\n\t\t\t\t// Use `delegateType` as the key as `type` is already used by `leverageNative`.\n\t\t\t\tattaches = dataPriv.get( this, delegateType );\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tthis.addEventListener( delegateType, focusMappedHandler );\n\t\t\t\t}\n\t\t\t\tdataPriv.set( this, delegateType, ( attaches || 0 ) + 1 );\n\t\t\t} else {\n\n\t\t\t\t// Return false to allow normal processing in the caller\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\ttrigger: function() {\n\n\t\t\t// Force setup before trigger\n\t\t\tleverageNative( this, type );\n\n\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\treturn true;\n\t\t},\n\n\t\tteardown: function() {\n\t\t\tvar attaches;\n\n\t\t\tif ( document.documentMode ) {\n\t\t\t\tattaches = dataPriv.get( this, delegateType ) - 1;\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tthis.removeEventListener( delegateType, focusMappedHandler );\n\t\t\t\t\tdataPriv.remove( this, delegateType );\n\t\t\t\t} else {\n\t\t\t\t\tdataPriv.set( this, delegateType, attaches );\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// Return false to indicate standard teardown should be applied\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\n\t\t// Suppress native focus or blur if we're currently inside\n\t\t// a leveraged native-event stack\n\t\t_default: function( event ) {\n\t\t\treturn dataPriv.get( event.target, type );\n\t\t},\n\n\t\tdelegateType: delegateType\n\t};\n\n\t// Support: Firefox <=44\n\t// Firefox doesn't have focus(in | out) events\n\t// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787\n\t//\n\t// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1\n\t// focus(in | out) events fire after focus & blur events,\n\t// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order\n\t// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857\n\t//\n\t// Support: IE 9 - 11+\n\t// To preserve relative focusin/focus & focusout/blur event order guaranteed on the 3.x branch,\n\t// attach a single handler for both events in IE.\n\tjQuery.event.special[ delegateType ] = {\n\t\tsetup: function() {\n\n\t\t\t// Handle: regular nodes (via `this.ownerDocument`), window\n\t\t\t// (via `this.document`) & document (via `this`).\n\t\t\tvar doc = this.ownerDocument || this.document || this,\n\t\t\t\tdataHolder = document.documentMode ? this : doc,\n\t\t\t\tattaches = dataPriv.get( dataHolder, delegateType );\n\n\t\t\t// Support: IE 9 - 11+\n\t\t\t// We use the same native handler for focusin & focus (and focusout & blur)\n\t\t\t// so we need to coordinate setup & teardown parts between those events.\n\t\t\t// Use `delegateType` as the key as `type` is already used by `leverageNative`.\n\t\t\tif ( !attaches ) {\n\t\t\t\tif ( document.documentMode ) {\n\t\t\t\t\tthis.addEventListener( delegateType, focusMappedHandler );\n\t\t\t\t} else {\n\t\t\t\t\tdoc.addEventListener( type, focusMappedHandler, true );\n\t\t\t\t}\n\t\t\t}\n\t\t\tdataPriv.set( dataHolder, delegateType, ( attaches || 0 ) + 1 );\n\t\t},\n\t\tteardown: function() {\n\t\t\tvar doc = this.ownerDocument || this.document || this,\n\t\t\t\tdataHolder = document.documentMode ? this : doc,\n\t\t\t\tattaches = dataPriv.get( dataHolder, delegateType ) - 1;\n\n\t\t\tif ( !attaches ) {\n\t\t\t\tif ( document.documentMode ) {\n\t\t\t\t\tthis.removeEventListener( delegateType, focusMappedHandler );\n\t\t\t\t} else {\n\t\t\t\t\tdoc.removeEventListener( type, focusMappedHandler, true );\n\t\t\t\t}\n\t\t\t\tdataPriv.remove( dataHolder, delegateType );\n\t\t\t} else {\n\t\t\t\tdataPriv.set( dataHolder, delegateType, attaches );\n\t\t\t}\n\t\t}\n\t};\n} );\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\n// so that event delegation works in jQuery.\n// Do the same for pointerenter/pointerleave and pointerover/pointerout\n//\n// Support: Safari 7 only\n// Safari sends mouseenter too often; see:\n// https://bugs.chromium.org/p/chromium/issues/detail?id=470258\n// for the description of the bug (it existed in older Chrome versions as well).\njQuery.each( {\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\",\n\tpointerenter: \"pointerover\",\n\tpointerleave: \"pointerout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj;\n\n\t\t\t// For mouseenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n} );\n\njQuery.fn.extend( {\n\n\ton: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn );\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\n\t\t\t// ( event )  dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ?\n\t\t\t\t\thandleObj.origType + \".\" + handleObj.namespace :\n\t\t\t\t\thandleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t} );\n\t}\n} );\n\n\nvar\n\n\t// Support: IE <=10 - 11, Edge 12 - 13 only\n\t// In IE/Edge using regex groups here causes severe slowdowns.\n\t// See https://connect.microsoft.com/IE/feedback/details/1736512/\n\trnoInnerhtml = /<script|<style|<link/i,\n\n\t// checked=\"checked\" or checked\n\trchecked = /checked\\s*(?:[^=]|=\\s*.checked.)/i,\n\n\trcleanScript = /^\\s*<!\\[CDATA\\[|\\]\\]>\\s*$/g;\n\n// Prefer a tbody over its parent table for containing new rows\nfunction manipulationTarget( elem, content ) {\n\tif ( nodeName( elem, \"table\" ) &&\n\t\tnodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ) {\n\n\t\treturn jQuery( elem ).children( \"tbody\" )[ 0 ] || elem;\n\t}\n\n\treturn elem;\n}\n\n// Replace/restore the type attribute of script elements for safe DOM manipulation\nfunction disableScript( elem ) {\n\telem.type = ( elem.getAttribute( \"type\" ) !== null ) + \"/\" + elem.type;\n\treturn elem;\n}\nfunction restoreScript( elem ) {\n\tif ( ( elem.type || \"\" ).slice( 0, 5 ) === \"true/\" ) {\n\t\telem.type = elem.type.slice( 5 );\n\t} else {\n\t\telem.removeAttribute( \"type\" );\n\t}\n\n\treturn elem;\n}\n\nfunction cloneCopyEvent( src, dest ) {\n\tvar i, l, type, pdataOld, udataOld, udataCur, events;\n\n\tif ( dest.nodeType !== 1 ) {\n\t\treturn;\n\t}\n\n\t// 1. Copy private data: events, handlers, etc.\n\tif ( dataPriv.hasData( src ) ) {\n\t\tpdataOld = dataPriv.get( src );\n\t\tevents = pdataOld.events;\n\n\t\tif ( events ) {\n\t\t\tdataPriv.remove( dest, \"handle events\" );\n\n\t\t\tfor ( type in events ) {\n\t\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n\t\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// 2. Copy user data\n\tif ( dataUser.hasData( src ) ) {\n\t\tudataOld = dataUser.access( src );\n\t\tudataCur = jQuery.extend( {}, udataOld );\n\n\t\tdataUser.set( dest, udataCur );\n\t}\n}\n\n// Fix IE bugs, see support tests\nfunction fixInput( src, dest ) {\n\tvar nodeName = dest.nodeName.toLowerCase();\n\n\t// Fails to persist the checked state of a cloned checkbox or radio button.\n\tif ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\n\t\tdest.checked = src.checked;\n\n\t// Fails to return the selected option to the default selected state when cloning options\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\tdest.defaultValue = src.defaultValue;\n\t}\n}\n\nfunction domManip( collection, args, callback, ignored ) {\n\n\t// Flatten any nested arrays\n\targs = flat( args );\n\n\tvar fragment, first, scripts, hasScripts, node, doc,\n\t\ti = 0,\n\t\tl = collection.length,\n\t\tiNoClone = l - 1,\n\t\tvalue = args[ 0 ],\n\t\tvalueIsFunction = isFunction( value );\n\n\t// We can't cloneNode fragments that contain checked, in WebKit\n\tif ( valueIsFunction ||\n\t\t\t( l > 1 && typeof value === \"string\" &&\n\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\n\t\treturn collection.each( function( index ) {\n\t\t\tvar self = collection.eq( index );\n\t\t\tif ( valueIsFunction ) {\n\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n\t\t\t}\n\t\t\tdomManip( self, args, callback, ignored );\n\t\t} );\n\t}\n\n\tif ( l ) {\n\t\tfragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );\n\t\tfirst = fragment.firstChild;\n\n\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\tfragment = first;\n\t\t}\n\n\t\t// Require either new content or an interest in ignored elements to invoke the callback\n\t\tif ( first || ignored ) {\n\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\n\t\t\thasScripts = scripts.length;\n\n\t\t\t// Use the original fragment for the last item\n\t\t\t// instead of the first because it can end up\n\t\t\t// being emptied incorrectly in certain situations (trac-8070).\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tnode = fragment;\n\n\t\t\t\tif ( i !== iNoClone ) {\n\t\t\t\t\tnode = jQuery.clone( node, true, true );\n\n\t\t\t\t\t// Keep references to cloned scripts for later restoration\n\t\t\t\t\tif ( hasScripts ) {\n\n\t\t\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcallback.call( collection[ i ], node, i );\n\t\t\t}\n\n\t\t\tif ( hasScripts ) {\n\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n\n\t\t\t\t// Re-enable scripts\n\t\t\t\tjQuery.map( scripts, restoreScript );\n\n\t\t\t\t// Evaluate executable scripts on first document insertion\n\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\n\t\t\t\t\tnode = scripts[ i ];\n\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) &&\n\t\t\t\t\t\t!dataPriv.access( node, \"globalEval\" ) &&\n\t\t\t\t\t\tjQuery.contains( doc, node ) ) {\n\n\t\t\t\t\t\tif ( node.src && ( node.type || \"\" ).toLowerCase()  !== \"module\" ) {\n\n\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts if not present\n\t\t\t\t\t\t\tif ( jQuery._evalUrl && !node.noModule ) {\n\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src, {\n\t\t\t\t\t\t\t\t\tnonce: node.nonce || node.getAttribute( \"nonce\" )\n\t\t\t\t\t\t\t\t}, doc );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Unwrap a CDATA section containing script contents. This shouldn't be\n\t\t\t\t\t\t\t// needed as in XML documents they're already not visible when\n\t\t\t\t\t\t\t// inspecting element contents and in HTML documents they have no\n\t\t\t\t\t\t\t// meaning but we're preserving that logic for backwards compatibility.\n\t\t\t\t\t\t\t// This will be removed completely in 4.0. See gh-4904.\n\t\t\t\t\t\t\tDOMEval( node.textContent.replace( rcleanScript, \"\" ), node, doc );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn collection;\n}\n\nfunction remove( elem, selector, keepData ) {\n\tvar node,\n\t\tnodes = selector ? jQuery.filter( selector, elem ) : elem,\n\t\ti = 0;\n\n\tfor ( ; ( node = nodes[ i ] ) != null; i++ ) {\n\t\tif ( !keepData && node.nodeType === 1 ) {\n\t\t\tjQuery.cleanData( getAll( node ) );\n\t\t}\n\n\t\tif ( node.parentNode ) {\n\t\t\tif ( keepData && isAttached( node ) ) {\n\t\t\t\tsetGlobalEval( getAll( node, \"script\" ) );\n\t\t\t}\n\t\t\tnode.parentNode.removeChild( node );\n\t\t}\n\t}\n\n\treturn elem;\n}\n\njQuery.extend( {\n\thtmlPrefilter: function( html ) {\n\t\treturn html;\n\t},\n\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\tvar i, l, srcElements, destElements,\n\t\t\tclone = elem.cloneNode( true ),\n\t\t\tinPage = isAttached( elem );\n\n\t\t// Fix IE cloning issues\n\t\tif ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&\n\t\t\t\t!jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// We eschew jQuery#find here for performance reasons:\n\t\t\t// https://jsperf.com/getall-vs-sizzle/2\n\t\t\tdestElements = getAll( clone );\n\t\t\tsrcElements = getAll( elem );\n\n\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\tfixInput( srcElements[ i ], destElements[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( dataAndEvents ) {\n\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\tsrcElements = srcElements || getAll( elem );\n\t\t\t\tdestElements = destElements || getAll( clone );\n\n\t\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\t\tcloneCopyEvent( srcElements[ i ], destElements[ i ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcloneCopyEvent( elem, clone );\n\t\t\t}\n\t\t}\n\n\t\t// Preserve script evaluation history\n\t\tdestElements = getAll( clone, \"script\" );\n\t\tif ( destElements.length > 0 ) {\n\t\t\tsetGlobalEval( destElements, !inPage && getAll( elem, \"script\" ) );\n\t\t}\n\n\t\t// Return the cloned set\n\t\treturn clone;\n\t},\n\n\tcleanData: function( elems ) {\n\t\tvar data, elem, type,\n\t\t\tspecial = jQuery.event.special,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {\n\t\t\tif ( acceptData( elem ) ) {\n\t\t\t\tif ( ( data = elem[ dataPriv.expando ] ) ) {\n\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Support: Chrome <=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataPriv.expando ] = undefined;\n\t\t\t\t}\n\t\t\t\tif ( elem[ dataUser.expando ] ) {\n\n\t\t\t\t\t// Support: Chrome <=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataUser.expando ] = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n} );\n\njQuery.fn.extend( {\n\tdetach: function( selector ) {\n\t\treturn remove( this, selector, true );\n\t},\n\n\tremove: function( selector ) {\n\t\treturn remove( this, selector );\n\t},\n\n\ttext: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\treturn value === undefined ?\n\t\t\t\tjQuery.text( this ) :\n\t\t\t\tthis.empty().each( function() {\n\t\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\t\t\tthis.textContent = value;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t}, null, value, arguments.length );\n\t},\n\n\tappend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.appendChild( elem );\n\t\t\t}\n\t\t} );\n\t},\n\n\tprepend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.insertBefore( elem, target.firstChild );\n\t\t\t}\n\t\t} );\n\t},\n\n\tbefore: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t}\n\t\t} );\n\t},\n\n\tafter: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t}\n\t\t} );\n\t},\n\n\tempty: function() {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = this[ i ] ) != null; i++ ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\n\t\t\t\t// Prevent memory leaks\n\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\n\t\t\t\t// Remove any remaining nodes\n\t\t\t\telem.textContent = \"\";\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\n\t\treturn this.map( function() {\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t} );\n\t},\n\n\thtml: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\tvar elem = this[ 0 ] || {},\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length;\n\n\t\t\tif ( value === undefined && elem.nodeType === 1 ) {\n\t\t\t\treturn elem.innerHTML;\n\t\t\t}\n\n\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\n\n\t\t\t\tvalue = jQuery.htmlPrefilter( value );\n\n\t\t\t\ttry {\n\t\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\t\telem = this[ i ] || {};\n\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telem = 0;\n\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\tif ( elem ) {\n\t\t\t\tthis.empty().append( value );\n\t\t\t}\n\t\t}, null, value, arguments.length );\n\t},\n\n\treplaceWith: function() {\n\t\tvar ignored = [];\n\n\t\t// Make the changes, replacing each non-ignored context element with the new content\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tvar parent = this.parentNode;\n\n\t\t\tif ( jQuery.inArray( this, ignored ) < 0 ) {\n\t\t\t\tjQuery.cleanData( getAll( this ) );\n\t\t\t\tif ( parent ) {\n\t\t\t\t\tparent.replaceChild( elem, this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Force callback invocation\n\t\t}, ignored );\n\t}\n} );\n\njQuery.each( {\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function( name, original ) {\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar elems,\n\t\t\tret = [],\n\t\t\tinsert = jQuery( selector ),\n\t\t\tlast = insert.length - 1,\n\t\t\ti = 0;\n\n\t\tfor ( ; i <= last; i++ ) {\n\t\t\telems = i === last ? this : this.clone( true );\n\t\t\tjQuery( insert[ i ] )[ original ]( elems );\n\n\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t// .get() because push.apply(_, arraylike) throws on ancient WebKit\n\t\t\tpush.apply( ret, elems.get() );\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n} );\nvar rnumnonpx = new RegExp( \"^(\" + pnum + \")(?!px)[a-z%]+$\", \"i\" );\n\nvar rcustomProp = /^--/;\n\n\nvar getStyles = function( elem ) {\n\n\t\t// Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150)\n\t\t// IE throws on elements created in popups\n\t\t// FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n\t\tvar view = elem.ownerDocument.defaultView;\n\n\t\tif ( !view || !view.opener ) {\n\t\t\tview = window;\n\t\t}\n\n\t\treturn view.getComputedStyle( elem );\n\t};\n\nvar swap = function( elem, options, callback ) {\n\tvar ret, name,\n\t\told = {};\n\n\t// Remember the old values, and insert the new ones\n\tfor ( name in options ) {\n\t\told[ name ] = elem.style[ name ];\n\t\telem.style[ name ] = options[ name ];\n\t}\n\n\tret = callback.call( elem );\n\n\t// Revert the old values\n\tfor ( name in options ) {\n\t\telem.style[ name ] = old[ name ];\n\t}\n\n\treturn ret;\n};\n\n\nvar rboxStyle = new RegExp( cssExpand.join( \"|\" ), \"i\" );\n\n\n\n( function() {\n\n\t// Executing both pixelPosition & boxSizingReliable tests require only one layout\n\t// so they're executed at the same time to save the second computation.\n\tfunction computeStyleTests() {\n\n\t\t// This is a singleton, we need to execute it only once\n\t\tif ( !div ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer.style.cssText = \"position:absolute;left:-11111px;width:60px;\" +\n\t\t\t\"margin-top:1px;padding:0;border:0\";\n\t\tdiv.style.cssText =\n\t\t\t\"position:relative;display:block;box-sizing:border-box;overflow:scroll;\" +\n\t\t\t\"margin:auto;border:1px;padding:1px;\" +\n\t\t\t\"width:60%;top:1%\";\n\t\tdocumentElement.appendChild( container ).appendChild( div );\n\n\t\tvar divStyle = window.getComputedStyle( div );\n\t\tpixelPositionVal = divStyle.top !== \"1%\";\n\n\t\t// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44\n\t\treliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;\n\n\t\t// Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3\n\t\t// Some styles come back with percentage values, even though they shouldn't\n\t\tdiv.style.right = \"60%\";\n\t\tpixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;\n\n\t\t// Support: IE 9 - 11 only\n\t\t// Detect misreporting of content dimensions for box-sizing:border-box elements\n\t\tboxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;\n\n\t\t// Support: IE 9 only\n\t\t// Detect overflow:scroll screwiness (gh-3699)\n\t\t// Support: Chrome <=64\n\t\t// Don't get tricked when zoom affects offsetWidth (gh-4029)\n\t\tdiv.style.position = \"absolute\";\n\t\tscrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;\n\n\t\tdocumentElement.removeChild( container );\n\n\t\t// Nullify the div so it wouldn't be stored in the memory and\n\t\t// it will also be a sign that checks already performed\n\t\tdiv = null;\n\t}\n\n\tfunction roundPixelMeasures( measure ) {\n\t\treturn Math.round( parseFloat( measure ) );\n\t}\n\n\tvar pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,\n\t\treliableTrDimensionsVal, reliableMarginLeftVal,\n\t\tcontainer = document.createElement( \"div\" ),\n\t\tdiv = document.createElement( \"div\" );\n\n\t// Finish early in limited (non-browser) environments\n\tif ( !div.style ) {\n\t\treturn;\n\t}\n\n\t// Support: IE <=9 - 11 only\n\t// Style of cloned element affects source element cloned (trac-8908)\n\tdiv.style.backgroundClip = \"content-box\";\n\tdiv.cloneNode( true ).style.backgroundClip = \"\";\n\tsupport.clearCloneStyle = div.style.backgroundClip === \"content-box\";\n\n\tjQuery.extend( support, {\n\t\tboxSizingReliable: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn boxSizingReliableVal;\n\t\t},\n\t\tpixelBoxStyles: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelBoxStylesVal;\n\t\t},\n\t\tpixelPosition: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelPositionVal;\n\t\t},\n\t\treliableMarginLeft: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn reliableMarginLeftVal;\n\t\t},\n\t\tscrollboxSize: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn scrollboxSizeVal;\n\t\t},\n\n\t\t// Support: IE 9 - 11+, Edge 15 - 18+\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\n\t\t// set in CSS while `offset*` properties report correct values.\n\t\t// Behavior in IE 9 is more subtle than in newer versions & it passes\n\t\t// some versions of this test; make sure not to make it pass there!\n\t\t//\n\t\t// Support: Firefox 70+\n\t\t// Only Firefox includes border widths\n\t\t// in computed dimensions. (gh-4529)\n\t\treliableTrDimensions: function() {\n\t\t\tvar table, tr, trChild, trStyle;\n\t\t\tif ( reliableTrDimensionsVal == null ) {\n\t\t\t\ttable = document.createElement( \"table\" );\n\t\t\t\ttr = document.createElement( \"tr\" );\n\t\t\t\ttrChild = document.createElement( \"div\" );\n\n\t\t\t\ttable.style.cssText = \"position:absolute;left:-11111px;border-collapse:separate\";\n\t\t\t\ttr.style.cssText = \"box-sizing:content-box;border:1px solid\";\n\n\t\t\t\t// Support: Chrome 86+\n\t\t\t\t// Height set through cssText does not get applied.\n\t\t\t\t// Computed height then comes back as 0.\n\t\t\t\ttr.style.height = \"1px\";\n\t\t\t\ttrChild.style.height = \"9px\";\n\n\t\t\t\t// Support: Android 8 Chrome 86+\n\t\t\t\t// In our bodyBackground.html iframe,\n\t\t\t\t// display for all div elements is set to \"inline\",\n\t\t\t\t// which causes a problem only in Android 8 Chrome 86.\n\t\t\t\t// Ensuring the div is `display: block`\n\t\t\t\t// gets around this issue.\n\t\t\t\ttrChild.style.display = \"block\";\n\n\t\t\t\tdocumentElement\n\t\t\t\t\t.appendChild( table )\n\t\t\t\t\t.appendChild( tr )\n\t\t\t\t\t.appendChild( trChild );\n\n\t\t\t\ttrStyle = window.getComputedStyle( tr );\n\t\t\t\treliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) +\n\t\t\t\t\tparseInt( trStyle.borderTopWidth, 10 ) +\n\t\t\t\t\tparseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight;\n\n\t\t\t\tdocumentElement.removeChild( table );\n\t\t\t}\n\t\t\treturn reliableTrDimensionsVal;\n\t\t}\n\t} );\n} )();\n\n\nfunction curCSS( elem, name, computed ) {\n\tvar width, minWidth, maxWidth, ret,\n\t\tisCustomProp = rcustomProp.test( name ),\n\n\t\t// Support: Firefox 51+\n\t\t// Retrieving style before computed somehow\n\t\t// fixes an issue with getting wrong values\n\t\t// on detached elements\n\t\tstyle = elem.style;\n\n\tcomputed = computed || getStyles( elem );\n\n\t// getPropertyValue is needed for:\n\t//   .css('filter') (IE 9 only, trac-12537)\n\t//   .css('--customProperty) (gh-3144)\n\tif ( computed ) {\n\n\t\t// Support: IE <=9 - 11+\n\t\t// IE only supports `\"float\"` in `getPropertyValue`; in computed styles\n\t\t// it's only available as `\"cssFloat\"`. We no longer modify properties\n\t\t// sent to `.css()` apart from camelCasing, so we need to check both.\n\t\t// Normally, this would create difference in behavior: if\n\t\t// `getPropertyValue` returns an empty string, the value returned\n\t\t// by `.css()` would be `undefined`. This is usually the case for\n\t\t// disconnected elements. However, in IE even disconnected elements\n\t\t// with no styles return `\"none\"` for `getPropertyValue( \"float\" )`\n\t\tret = computed.getPropertyValue( name ) || computed[ name ];\n\n\t\tif ( isCustomProp && ret ) {\n\n\t\t\t// Support: Firefox 105+, Chrome <=105+\n\t\t\t// Spec requires trimming whitespace for custom properties (gh-4926).\n\t\t\t// Firefox only trims leading whitespace. Chrome just collapses\n\t\t\t// both leading & trailing whitespace to a single space.\n\t\t\t//\n\t\t\t// Fall back to `undefined` if empty string returned.\n\t\t\t// This collapses a missing definition with property defined\n\t\t\t// and set to an empty string but there's no standard API\n\t\t\t// allowing us to differentiate them without a performance penalty\n\t\t\t// and returning `undefined` aligns with older jQuery.\n\t\t\t//\n\t\t\t// rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED\n\t\t\t// as whitespace while CSS does not, but this is not a problem\n\t\t\t// because CSS preprocessing replaces them with U+000A LINE FEED\n\t\t\t// (which *is* CSS whitespace)\n\t\t\t// https://www.w3.org/TR/css-syntax-3/#input-preprocessing\n\t\t\tret = ret.replace( rtrimCSS, \"$1\" ) || undefined;\n\t\t}\n\n\t\tif ( ret === \"\" && !isAttached( elem ) ) {\n\t\t\tret = jQuery.style( elem, name );\n\t\t}\n\n\t\t// A tribute to the \"awesome hack by Dean Edwards\"\n\t\t// Android Browser returns percentage for some values,\n\t\t// but width seems to be reliably pixels.\n\t\t// This is against the CSSOM draft spec:\n\t\t// https://drafts.csswg.org/cssom/#resolved-values\n\t\tif ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {\n\n\t\t\t// Remember the original values\n\t\t\twidth = style.width;\n\t\t\tminWidth = style.minWidth;\n\t\t\tmaxWidth = style.maxWidth;\n\n\t\t\t// Put in the new values to get a computed value out\n\t\t\tstyle.minWidth = style.maxWidth = style.width = ret;\n\t\t\tret = computed.width;\n\n\t\t\t// Revert the changed values\n\t\t\tstyle.width = width;\n\t\t\tstyle.minWidth = minWidth;\n\t\t\tstyle.maxWidth = maxWidth;\n\t\t}\n\t}\n\n\treturn ret !== undefined ?\n\n\t\t// Support: IE <=9 - 11 only\n\t\t// IE returns zIndex value as an integer.\n\t\tret + \"\" :\n\t\tret;\n}\n\n\nfunction addGetHookIf( conditionFn, hookFn ) {\n\n\t// Define the hook, we'll check on the first run if it's really needed.\n\treturn {\n\t\tget: function() {\n\t\t\tif ( conditionFn() ) {\n\n\t\t\t\t// Hook not needed (or it's not possible to use it due\n\t\t\t\t// to missing dependency), remove it.\n\t\t\t\tdelete this.get;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Hook needed; redefine it so that the support test is not executed again.\n\t\t\treturn ( this.get = hookFn ).apply( this, arguments );\n\t\t}\n\t};\n}\n\n\nvar cssPrefixes = [ \"Webkit\", \"Moz\", \"ms\" ],\n\temptyStyle = document.createElement( \"div\" ).style,\n\tvendorProps = {};\n\n// Return a vendor-prefixed property or undefined\nfunction vendorPropName( name ) {\n\n\t// Check for vendor prefixed names\n\tvar capName = name[ 0 ].toUpperCase() + name.slice( 1 ),\n\t\ti = cssPrefixes.length;\n\n\twhile ( i-- ) {\n\t\tname = cssPrefixes[ i ] + capName;\n\t\tif ( name in emptyStyle ) {\n\t\t\treturn name;\n\t\t}\n\t}\n}\n\n// Return a potentially-mapped jQuery.cssProps or vendor prefixed property\nfunction finalPropName( name ) {\n\tvar final = jQuery.cssProps[ name ] || vendorProps[ name ];\n\n\tif ( final ) {\n\t\treturn final;\n\t}\n\tif ( name in emptyStyle ) {\n\t\treturn name;\n\t}\n\treturn vendorProps[ name ] = vendorPropName( name ) || name;\n}\n\n\nvar\n\n\t// Swappable if display is none or starts with table\n\t// except \"table\", \"table-cell\", or \"table-caption\"\n\t// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\n\trdisplayswap = /^(none|table(?!-c[ea]).+)/,\n\tcssShow = { position: \"absolute\", visibility: \"hidden\", display: \"block\" },\n\tcssNormalTransform = {\n\t\tletterSpacing: \"0\",\n\t\tfontWeight: \"400\"\n\t};\n\nfunction setPositiveNumber( _elem, value, subtract ) {\n\n\t// Any relative (+/-) values have already been\n\t// normalized at this point\n\tvar matches = rcssNum.exec( value );\n\treturn matches ?\n\n\t\t// Guard against undefined \"subtract\", e.g., when used as in cssHooks\n\t\tMath.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || \"px\" ) :\n\t\tvalue;\n}\n\nfunction boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {\n\tvar i = dimension === \"width\" ? 1 : 0,\n\t\textra = 0,\n\t\tdelta = 0,\n\t\tmarginDelta = 0;\n\n\t// Adjustment may not be necessary\n\tif ( box === ( isBorderBox ? \"border\" : \"content\" ) ) {\n\t\treturn 0;\n\t}\n\n\tfor ( ; i < 4; i += 2 ) {\n\n\t\t// Both box models exclude margin\n\t\t// Count margin delta separately to only add it after scroll gutter adjustment.\n\t\t// This is needed to make negative margins work with `outerHeight( true )` (gh-3982).\n\t\tif ( box === \"margin\" ) {\n\t\t\tmarginDelta += jQuery.css( elem, box + cssExpand[ i ], true, styles );\n\t\t}\n\n\t\t// If we get here with a content-box, we're seeking \"padding\" or \"border\" or \"margin\"\n\t\tif ( !isBorderBox ) {\n\n\t\t\t// Add padding\n\t\t\tdelta += jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\n\t\t\t// For \"border\" or \"margin\", add border\n\t\t\tif ( box !== \"padding\" ) {\n\t\t\t\tdelta += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\n\t\t\t// But still keep track of it otherwise\n\t\t\t} else {\n\t\t\t\textra += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\n\t\t// If we get here with a border-box (content + padding + border), we're seeking \"content\" or\n\t\t// \"padding\" or \"margin\"\n\t\t} else {\n\n\t\t\t// For \"content\", subtract padding\n\t\t\tif ( box === \"content\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\t\t\t}\n\n\t\t\t// For \"content\" or \"padding\", subtract border\n\t\t\tif ( box !== \"margin\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Account for positive content-box scroll gutter when requested by providing computedVal\n\tif ( !isBorderBox && computedVal >= 0 ) {\n\n\t\t// offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border\n\t\t// Assuming integer scroll gutter, subtract the rest and round down\n\t\tdelta += Math.max( 0, Math.ceil(\n\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\tcomputedVal -\n\t\t\tdelta -\n\t\t\textra -\n\t\t\t0.5\n\n\t\t// If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter\n\t\t// Use an explicit zero to avoid NaN (gh-3964)\n\t\t) ) || 0;\n\t}\n\n\treturn delta + marginDelta;\n}\n\nfunction getWidthOrHeight( elem, dimension, extra ) {\n\n\t// Start with computed style\n\tvar styles = getStyles( elem ),\n\n\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).\n\t\t// Fake content-box until we know it's needed to know the true value.\n\t\tboxSizingNeeded = !support.boxSizingReliable() || extra,\n\t\tisBorderBox = boxSizingNeeded &&\n\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\tvalueIsBorderBox = isBorderBox,\n\n\t\tval = curCSS( elem, dimension, styles ),\n\t\toffsetProp = \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );\n\n\t// Support: Firefox <=54\n\t// Return a confounding non-pixel value or feign ignorance, as appropriate.\n\tif ( rnumnonpx.test( val ) ) {\n\t\tif ( !extra ) {\n\t\t\treturn val;\n\t\t}\n\t\tval = \"auto\";\n\t}\n\n\n\t// Support: IE 9 - 11 only\n\t// Use offsetWidth/offsetHeight for when box sizing is unreliable.\n\t// In those cases, the computed value can be trusted to be border-box.\n\tif ( ( !support.boxSizingReliable() && isBorderBox ||\n\n\t\t// Support: IE 10 - 11+, Edge 15 - 18+\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\n\t\t// set in CSS while `offset*` properties report correct values.\n\t\t// Interestingly, in some cases IE 9 doesn't suffer from this issue.\n\t\t!support.reliableTrDimensions() && nodeName( elem, \"tr\" ) ||\n\n\t\t// Fall back to offsetWidth/offsetHeight when value is \"auto\"\n\t\t// This happens for inline elements with no explicit setting (gh-3571)\n\t\tval === \"auto\" ||\n\n\t\t// Support: Android <=4.1 - 4.3 only\n\t\t// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)\n\t\t!parseFloat( val ) && jQuery.css( elem, \"display\", false, styles ) === \"inline\" ) &&\n\n\t\t// Make sure the element is visible & connected\n\t\telem.getClientRects().length ) {\n\n\t\tisBorderBox = jQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\";\n\n\t\t// Where available, offsetWidth/offsetHeight approximate border box dimensions.\n\t\t// Where not available (e.g., SVG), assume unreliable box-sizing and interpret the\n\t\t// retrieved value as a content box dimension.\n\t\tvalueIsBorderBox = offsetProp in elem;\n\t\tif ( valueIsBorderBox ) {\n\t\t\tval = elem[ offsetProp ];\n\t\t}\n\t}\n\n\t// Normalize \"\" and auto\n\tval = parseFloat( val ) || 0;\n\n\t// Adjust for the element's box model\n\treturn ( val +\n\t\tboxModelAdjustment(\n\t\t\telem,\n\t\t\tdimension,\n\t\t\textra || ( isBorderBox ? \"border\" : \"content\" ),\n\t\t\tvalueIsBorderBox,\n\t\t\tstyles,\n\n\t\t\t// Provide the current computed size to request scroll gutter calculation (gh-3589)\n\t\t\tval\n\t\t)\n\t) + \"px\";\n}\n\njQuery.extend( {\n\n\t// Add in style property hooks for overriding the default\n\t// behavior of getting and setting a style property\n\tcssHooks: {\n\t\topacity: {\n\t\t\tget: function( elem, computed ) {\n\t\t\t\tif ( computed ) {\n\n\t\t\t\t\t// We should always get a number back from opacity\n\t\t\t\t\tvar ret = curCSS( elem, \"opacity\" );\n\t\t\t\t\treturn ret === \"\" ? \"1\" : ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t// Don't automatically add \"px\" to these possibly-unitless properties\n\tcssNumber: {\n\t\tanimationIterationCount: true,\n\t\taspectRatio: true,\n\t\tborderImageSlice: true,\n\t\tcolumnCount: true,\n\t\tflexGrow: true,\n\t\tflexShrink: true,\n\t\tfontWeight: true,\n\t\tgridArea: true,\n\t\tgridColumn: true,\n\t\tgridColumnEnd: true,\n\t\tgridColumnStart: true,\n\t\tgridRow: true,\n\t\tgridRowEnd: true,\n\t\tgridRowStart: true,\n\t\tlineHeight: true,\n\t\topacity: true,\n\t\torder: true,\n\t\torphans: true,\n\t\tscale: true,\n\t\twidows: true,\n\t\tzIndex: true,\n\t\tzoom: true,\n\n\t\t// SVG-related\n\t\tfillOpacity: true,\n\t\tfloodOpacity: true,\n\t\tstopOpacity: true,\n\t\tstrokeMiterlimit: true,\n\t\tstrokeOpacity: true\n\t},\n\n\t// Add in properties whose names you wish to fix before\n\t// setting or getting the value\n\tcssProps: {},\n\n\t// Get and set the style property on a DOM Node\n\tstyle: function( elem, name, value, extra ) {\n\n\t\t// Don't set styles on text and comment nodes\n\t\tif ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure that we're working with the right name\n\t\tvar ret, type, hooks,\n\t\t\torigName = camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name ),\n\t\t\tstyle = elem.style;\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to query the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Gets hook for the prefixed version, then unprefixed version\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// Check if we're setting a value\n\t\tif ( value !== undefined ) {\n\t\t\ttype = typeof value;\n\n\t\t\t// Convert \"+=\" or \"-=\" to relative numbers (trac-7345)\n\t\t\tif ( type === \"string\" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {\n\t\t\t\tvalue = adjustCSS( elem, name, ret );\n\n\t\t\t\t// Fixes bug trac-9237\n\t\t\t\ttype = \"number\";\n\t\t\t}\n\n\t\t\t// Make sure that null and NaN values aren't set (trac-7116)\n\t\t\tif ( value == null || value !== value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If a number was passed in, add the unit (except for certain CSS properties)\n\t\t\t// The isCustomProp check can be removed in jQuery 4.0 when we only auto-append\n\t\t\t// \"px\" to a few hardcoded values.\n\t\t\tif ( type === \"number\" && !isCustomProp ) {\n\t\t\t\tvalue += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? \"\" : \"px\" );\n\t\t\t}\n\n\t\t\t// background-* props affect original clone's values\n\t\t\tif ( !support.clearCloneStyle && value === \"\" && name.indexOf( \"background\" ) === 0 ) {\n\t\t\t\tstyle[ name ] = \"inherit\";\n\t\t\t}\n\n\t\t\t// If a hook was provided, use that value, otherwise just set the specified value\n\t\t\tif ( !hooks || !( \"set\" in hooks ) ||\n\t\t\t\t( value = hooks.set( elem, value, extra ) ) !== undefined ) {\n\n\t\t\t\tif ( isCustomProp ) {\n\t\t\t\t\tstyle.setProperty( name, value );\n\t\t\t\t} else {\n\t\t\t\t\tstyle[ name ] = value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t} else {\n\n\t\t\t// If a hook was provided get the non-computed value from there\n\t\t\tif ( hooks && \"get\" in hooks &&\n\t\t\t\t( ret = hooks.get( elem, false, extra ) ) !== undefined ) {\n\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Otherwise just get the value from the style object\n\t\t\treturn style[ name ];\n\t\t}\n\t},\n\n\tcss: function( elem, name, extra, styles ) {\n\t\tvar val, num, hooks,\n\t\t\torigName = camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name );\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to modify the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Try prefixed name followed by the unprefixed name\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// If a hook was provided get the computed value from there\n\t\tif ( hooks && \"get\" in hooks ) {\n\t\t\tval = hooks.get( elem, true, extra );\n\t\t}\n\n\t\t// Otherwise, if a way to get the computed value exists, use that\n\t\tif ( val === undefined ) {\n\t\t\tval = curCSS( elem, name, styles );\n\t\t}\n\n\t\t// Convert \"normal\" to computed value\n\t\tif ( val === \"normal\" && name in cssNormalTransform ) {\n\t\t\tval = cssNormalTransform[ name ];\n\t\t}\n\n\t\t// Make numeric if forced or a qualifier was provided and val looks numeric\n\t\tif ( extra === \"\" || extra ) {\n\t\t\tnum = parseFloat( val );\n\t\t\treturn extra === true || isFinite( num ) ? num || 0 : val;\n\t\t}\n\n\t\treturn val;\n\t}\n} );\n\njQuery.each( [ \"height\", \"width\" ], function( _i, dimension ) {\n\tjQuery.cssHooks[ dimension ] = {\n\t\tget: function( elem, computed, extra ) {\n\t\t\tif ( computed ) {\n\n\t\t\t\t// Certain elements can have dimension info if we invisibly show them\n\t\t\t\t// but it must have a current display style that would benefit\n\t\t\t\treturn rdisplayswap.test( jQuery.css( elem, \"display\" ) ) &&\n\n\t\t\t\t\t// Support: Safari 8+\n\t\t\t\t\t// Table columns in Safari have non-zero offsetWidth & zero\n\t\t\t\t\t// getBoundingClientRect().width unless display is changed.\n\t\t\t\t\t// Support: IE <=11 only\n\t\t\t\t\t// Running getBoundingClientRect on a disconnected node\n\t\t\t\t\t// in IE throws an error.\n\t\t\t\t\t( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?\n\t\t\t\t\tswap( elem, cssShow, function() {\n\t\t\t\t\t\treturn getWidthOrHeight( elem, dimension, extra );\n\t\t\t\t\t} ) :\n\t\t\t\t\tgetWidthOrHeight( elem, dimension, extra );\n\t\t\t}\n\t\t},\n\n\t\tset: function( elem, value, extra ) {\n\t\t\tvar matches,\n\t\t\t\tstyles = getStyles( elem ),\n\n\t\t\t\t// Only read styles.position if the test has a chance to fail\n\t\t\t\t// to avoid forcing a reflow.\n\t\t\t\tscrollboxSizeBuggy = !support.scrollboxSize() &&\n\t\t\t\t\tstyles.position === \"absolute\",\n\n\t\t\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)\n\t\t\t\tboxSizingNeeded = scrollboxSizeBuggy || extra,\n\t\t\t\tisBorderBox = boxSizingNeeded &&\n\t\t\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\t\t\tsubtract = extra ?\n\t\t\t\t\tboxModelAdjustment(\n\t\t\t\t\t\telem,\n\t\t\t\t\t\tdimension,\n\t\t\t\t\t\textra,\n\t\t\t\t\t\tisBorderBox,\n\t\t\t\t\t\tstyles\n\t\t\t\t\t) :\n\t\t\t\t\t0;\n\n\t\t\t// Account for unreliable border-box dimensions by comparing offset* to computed and\n\t\t\t// faking a content-box to get border and padding (gh-3699)\n\t\t\tif ( isBorderBox && scrollboxSizeBuggy ) {\n\t\t\t\tsubtract -= Math.ceil(\n\t\t\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\t\t\tparseFloat( styles[ dimension ] ) -\n\t\t\t\t\tboxModelAdjustment( elem, dimension, \"border\", false, styles ) -\n\t\t\t\t\t0.5\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Convert to pixels if value adjustment is needed\n\t\t\tif ( subtract && ( matches = rcssNum.exec( value ) ) &&\n\t\t\t\t( matches[ 3 ] || \"px\" ) !== \"px\" ) {\n\n\t\t\t\telem.style[ dimension ] = value;\n\t\t\t\tvalue = jQuery.css( elem, dimension );\n\t\t\t}\n\n\t\t\treturn setPositiveNumber( elem, value, subtract );\n\t\t}\n\t};\n} );\n\njQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,\n\tfunction( elem, computed ) {\n\t\tif ( computed ) {\n\t\t\treturn ( parseFloat( curCSS( elem, \"marginLeft\" ) ) ||\n\t\t\t\telem.getBoundingClientRect().left -\n\t\t\t\t\tswap( elem, { marginLeft: 0 }, function() {\n\t\t\t\t\t\treturn elem.getBoundingClientRect().left;\n\t\t\t\t\t} )\n\t\t\t) + \"px\";\n\t\t}\n\t}\n);\n\n// These hooks are used by animate to expand properties\njQuery.each( {\n\tmargin: \"\",\n\tpadding: \"\",\n\tborder: \"Width\"\n}, function( prefix, suffix ) {\n\tjQuery.cssHooks[ prefix + suffix ] = {\n\t\texpand: function( value ) {\n\t\t\tvar i = 0,\n\t\t\t\texpanded = {},\n\n\t\t\t\t// Assumes a single number if not a string\n\t\t\t\tparts = typeof value === \"string\" ? value.split( \" \" ) : [ value ];\n\n\t\t\tfor ( ; i < 4; i++ ) {\n\t\t\t\texpanded[ prefix + cssExpand[ i ] + suffix ] =\n\t\t\t\t\tparts[ i ] || parts[ i - 2 ] || parts[ 0 ];\n\t\t\t}\n\n\t\t\treturn expanded;\n\t\t}\n\t};\n\n\tif ( prefix !== \"margin\" ) {\n\t\tjQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;\n\t}\n} );\n\njQuery.fn.extend( {\n\tcss: function( name, value ) {\n\t\treturn access( this, function( elem, name, value ) {\n\t\t\tvar styles, len,\n\t\t\t\tmap = {},\n\t\t\t\ti = 0;\n\n\t\t\tif ( Array.isArray( name ) ) {\n\t\t\t\tstyles = getStyles( elem );\n\t\t\t\tlen = name.length;\n\n\t\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\t\tmap[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );\n\t\t\t\t}\n\n\t\t\t\treturn map;\n\t\t\t}\n\n\t\t\treturn value !== undefined ?\n\t\t\t\tjQuery.style( elem, name, value ) :\n\t\t\t\tjQuery.css( elem, name );\n\t\t}, name, value, arguments.length > 1 );\n\t}\n} );\n\n\nfunction Tween( elem, options, prop, end, easing ) {\n\treturn new Tween.prototype.init( elem, options, prop, end, easing );\n}\njQuery.Tween = Tween;\n\nTween.prototype = {\n\tconstructor: Tween,\n\tinit: function( elem, options, prop, end, easing, unit ) {\n\t\tthis.elem = elem;\n\t\tthis.prop = prop;\n\t\tthis.easing = easing || jQuery.easing._default;\n\t\tthis.options = options;\n\t\tthis.start = this.now = this.cur();\n\t\tthis.end = end;\n\t\tthis.unit = unit || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" );\n\t},\n\tcur: function() {\n\t\tvar hooks = Tween.propHooks[ this.prop ];\n\n\t\treturn hooks && hooks.get ?\n\t\t\thooks.get( this ) :\n\t\t\tTween.propHooks._default.get( this );\n\t},\n\trun: function( percent ) {\n\t\tvar eased,\n\t\t\thooks = Tween.propHooks[ this.prop ];\n\n\t\tif ( this.options.duration ) {\n\t\t\tthis.pos = eased = jQuery.easing[ this.easing ](\n\t\t\t\tpercent, this.options.duration * percent, 0, 1, this.options.duration\n\t\t\t);\n\t\t} else {\n\t\t\tthis.pos = eased = percent;\n\t\t}\n\t\tthis.now = ( this.end - this.start ) * eased + this.start;\n\n\t\tif ( this.options.step ) {\n\t\t\tthis.options.step.call( this.elem, this.now, this );\n\t\t}\n\n\t\tif ( hooks && hooks.set ) {\n\t\t\thooks.set( this );\n\t\t} else {\n\t\t\tTween.propHooks._default.set( this );\n\t\t}\n\t\treturn this;\n\t}\n};\n\nTween.prototype.init.prototype = Tween.prototype;\n\nTween.propHooks = {\n\t_default: {\n\t\tget: function( tween ) {\n\t\t\tvar result;\n\n\t\t\t// Use a property on the element directly when it is not a DOM element,\n\t\t\t// or when there is no matching style property that exists.\n\t\t\tif ( tween.elem.nodeType !== 1 ||\n\t\t\t\ttween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {\n\t\t\t\treturn tween.elem[ tween.prop ];\n\t\t\t}\n\n\t\t\t// Passing an empty string as a 3rd parameter to .css will automatically\n\t\t\t// attempt a parseFloat and fallback to a string if the parse fails.\n\t\t\t// Simple values such as \"10px\" are parsed to Float;\n\t\t\t// complex values such as \"rotate(1rad)\" are returned as-is.\n\t\t\tresult = jQuery.css( tween.elem, tween.prop, \"\" );\n\n\t\t\t// Empty strings, null, undefined and \"auto\" are converted to 0.\n\t\t\treturn !result || result === \"auto\" ? 0 : result;\n\t\t},\n\t\tset: function( tween ) {\n\n\t\t\t// Use step hook for back compat.\n\t\t\t// Use cssHook if its there.\n\t\t\t// Use .style if available and use plain properties where available.\n\t\t\tif ( jQuery.fx.step[ tween.prop ] ) {\n\t\t\t\tjQuery.fx.step[ tween.prop ]( tween );\n\t\t\t} else if ( tween.elem.nodeType === 1 && (\n\t\t\t\tjQuery.cssHooks[ tween.prop ] ||\n\t\t\t\t\ttween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {\n\t\t\t\tjQuery.style( tween.elem, tween.prop, tween.now + tween.unit );\n\t\t\t} else {\n\t\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Support: IE <=9 only\n// Panic based approach to setting things on disconnected nodes\nTween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\n\tset: function( tween ) {\n\t\tif ( tween.elem.nodeType && tween.elem.parentNode ) {\n\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t}\n\t}\n};\n\njQuery.easing = {\n\tlinear: function( p ) {\n\t\treturn p;\n\t},\n\tswing: function( p ) {\n\t\treturn 0.5 - Math.cos( p * Math.PI ) / 2;\n\t},\n\t_default: \"swing\"\n};\n\njQuery.fx = Tween.prototype.init;\n\n// Back compat <1.8 extension point\njQuery.fx.step = {};\n\n\n\n\nvar\n\tfxNow, inProgress,\n\trfxtypes = /^(?:toggle|show|hide)$/,\n\trrun = /queueHooks$/;\n\nfunction schedule() {\n\tif ( inProgress ) {\n\t\tif ( document.hidden === false && window.requestAnimationFrame ) {\n\t\t\twindow.requestAnimationFrame( schedule );\n\t\t} else {\n\t\t\twindow.setTimeout( schedule, jQuery.fx.interval );\n\t\t}\n\n\t\tjQuery.fx.tick();\n\t}\n}\n\n// Animations created synchronously will run synchronously\nfunction createFxNow() {\n\twindow.setTimeout( function() {\n\t\tfxNow = undefined;\n\t} );\n\treturn ( fxNow = Date.now() );\n}\n\n// Generate parameters to create a standard animation\nfunction genFx( type, includeWidth ) {\n\tvar which,\n\t\ti = 0,\n\t\tattrs = { height: type };\n\n\t// If we include width, step value is 1 to do all cssExpand values,\n\t// otherwise step value is 2 to skip over Left and Right\n\tincludeWidth = includeWidth ? 1 : 0;\n\tfor ( ; i < 4; i += 2 - includeWidth ) {\n\t\twhich = cssExpand[ i ];\n\t\tattrs[ \"margin\" + which ] = attrs[ \"padding\" + which ] = type;\n\t}\n\n\tif ( includeWidth ) {\n\t\tattrs.opacity = attrs.width = type;\n\t}\n\n\treturn attrs;\n}\n\nfunction createTween( value, prop, animation ) {\n\tvar tween,\n\t\tcollection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ \"*\" ] ),\n\t\tindex = 0,\n\t\tlength = collection.length;\n\tfor ( ; index < length; index++ ) {\n\t\tif ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {\n\n\t\t\t// We're done with this property\n\t\t\treturn tween;\n\t\t}\n\t}\n}\n\nfunction defaultPrefilter( elem, props, opts ) {\n\tvar prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,\n\t\tisBox = \"width\" in props || \"height\" in props,\n\t\tanim = this,\n\t\torig = {},\n\t\tstyle = elem.style,\n\t\thidden = elem.nodeType && isHiddenWithinTree( elem ),\n\t\tdataShow = dataPriv.get( elem, \"fxshow\" );\n\n\t// Queue-skipping animations hijack the fx hooks\n\tif ( !opts.queue ) {\n\t\thooks = jQuery._queueHooks( elem, \"fx\" );\n\t\tif ( hooks.unqueued == null ) {\n\t\t\thooks.unqueued = 0;\n\t\t\toldfire = hooks.empty.fire;\n\t\t\thooks.empty.fire = function() {\n\t\t\t\tif ( !hooks.unqueued ) {\n\t\t\t\t\toldfire();\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\thooks.unqueued++;\n\n\t\tanim.always( function() {\n\n\t\t\t// Ensure the complete handler is called before this completes\n\t\t\tanim.always( function() {\n\t\t\t\thooks.unqueued--;\n\t\t\t\tif ( !jQuery.queue( elem, \"fx\" ).length ) {\n\t\t\t\t\thooks.empty.fire();\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t// Detect show/hide animations\n\tfor ( prop in props ) {\n\t\tvalue = props[ prop ];\n\t\tif ( rfxtypes.test( value ) ) {\n\t\t\tdelete props[ prop ];\n\t\t\ttoggle = toggle || value === \"toggle\";\n\t\t\tif ( value === ( hidden ? \"hide\" : \"show\" ) ) {\n\n\t\t\t\t// Pretend to be hidden if this is a \"show\" and\n\t\t\t\t// there is still data from a stopped show/hide\n\t\t\t\tif ( value === \"show\" && dataShow && dataShow[ prop ] !== undefined ) {\n\t\t\t\t\thidden = true;\n\n\t\t\t\t// Ignore all other no-op show/hide data\n\t\t\t\t} else {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\torig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );\n\t\t}\n\t}\n\n\t// Bail out if this is a no-op like .hide().hide()\n\tpropTween = !jQuery.isEmptyObject( props );\n\tif ( !propTween && jQuery.isEmptyObject( orig ) ) {\n\t\treturn;\n\t}\n\n\t// Restrict \"overflow\" and \"display\" styles during box animations\n\tif ( isBox && elem.nodeType === 1 ) {\n\n\t\t// Support: IE <=9 - 11, Edge 12 - 15\n\t\t// Record all 3 overflow attributes because IE does not infer the shorthand\n\t\t// from identically-valued overflowX and overflowY and Edge just mirrors\n\t\t// the overflowX value there.\n\t\topts.overflow = [ style.overflow, style.overflowX, style.overflowY ];\n\n\t\t// Identify a display type, preferring old show/hide data over the CSS cascade\n\t\trestoreDisplay = dataShow && dataShow.display;\n\t\tif ( restoreDisplay == null ) {\n\t\t\trestoreDisplay = dataPriv.get( elem, \"display\" );\n\t\t}\n\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\tif ( display === \"none\" ) {\n\t\t\tif ( restoreDisplay ) {\n\t\t\t\tdisplay = restoreDisplay;\n\t\t\t} else {\n\n\t\t\t\t// Get nonempty value(s) by temporarily forcing visibility\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t\trestoreDisplay = elem.style.display || restoreDisplay;\n\t\t\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\t\t\tshowHide( [ elem ] );\n\t\t\t}\n\t\t}\n\n\t\t// Animate inline elements as inline-block\n\t\tif ( display === \"inline\" || display === \"inline-block\" && restoreDisplay != null ) {\n\t\t\tif ( jQuery.css( elem, \"float\" ) === \"none\" ) {\n\n\t\t\t\t// Restore the original display value at the end of pure show/hide animations\n\t\t\t\tif ( !propTween ) {\n\t\t\t\t\tanim.done( function() {\n\t\t\t\t\t\tstyle.display = restoreDisplay;\n\t\t\t\t\t} );\n\t\t\t\t\tif ( restoreDisplay == null ) {\n\t\t\t\t\t\tdisplay = style.display;\n\t\t\t\t\t\trestoreDisplay = display === \"none\" ? \"\" : display;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstyle.display = \"inline-block\";\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( opts.overflow ) {\n\t\tstyle.overflow = \"hidden\";\n\t\tanim.always( function() {\n\t\t\tstyle.overflow = opts.overflow[ 0 ];\n\t\t\tstyle.overflowX = opts.overflow[ 1 ];\n\t\t\tstyle.overflowY = opts.overflow[ 2 ];\n\t\t} );\n\t}\n\n\t// Implement show/hide animations\n\tpropTween = false;\n\tfor ( prop in orig ) {\n\n\t\t// General show/hide setup for this element animation\n\t\tif ( !propTween ) {\n\t\t\tif ( dataShow ) {\n\t\t\t\tif ( \"hidden\" in dataShow ) {\n\t\t\t\t\thidden = dataShow.hidden;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdataShow = dataPriv.access( elem, \"fxshow\", { display: restoreDisplay } );\n\t\t\t}\n\n\t\t\t// Store hidden/visible for toggle so `.stop().toggle()` \"reverses\"\n\t\t\tif ( toggle ) {\n\t\t\t\tdataShow.hidden = !hidden;\n\t\t\t}\n\n\t\t\t// Show elements before animating them\n\t\t\tif ( hidden ) {\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t}\n\n\t\t\t/* eslint-disable no-loop-func */\n\n\t\t\tanim.done( function() {\n\n\t\t\t\t/* eslint-enable no-loop-func */\n\n\t\t\t\t// The final step of a \"hide\" animation is actually hiding the element\n\t\t\t\tif ( !hidden ) {\n\t\t\t\t\tshowHide( [ elem ] );\n\t\t\t\t}\n\t\t\t\tdataPriv.remove( elem, \"fxshow\" );\n\t\t\t\tfor ( prop in orig ) {\n\t\t\t\t\tjQuery.style( elem, prop, orig[ prop ] );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Per-property setup\n\t\tpropTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );\n\t\tif ( !( prop in dataShow ) ) {\n\t\t\tdataShow[ prop ] = propTween.start;\n\t\t\tif ( hidden ) {\n\t\t\t\tpropTween.end = propTween.start;\n\t\t\t\tpropTween.start = 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction propFilter( props, specialEasing ) {\n\tvar index, name, easing, value, hooks;\n\n\t// camelCase, specialEasing and expand cssHook pass\n\tfor ( index in props ) {\n\t\tname = camelCase( index );\n\t\teasing = specialEasing[ name ];\n\t\tvalue = props[ index ];\n\t\tif ( Array.isArray( value ) ) {\n\t\t\teasing = value[ 1 ];\n\t\t\tvalue = props[ index ] = value[ 0 ];\n\t\t}\n\n\t\tif ( index !== name ) {\n\t\t\tprops[ name ] = value;\n\t\t\tdelete props[ index ];\n\t\t}\n\n\t\thooks = jQuery.cssHooks[ name ];\n\t\tif ( hooks && \"expand\" in hooks ) {\n\t\t\tvalue = hooks.expand( value );\n\t\t\tdelete props[ name ];\n\n\t\t\t// Not quite $.extend, this won't overwrite existing keys.\n\t\t\t// Reusing 'index' because we have the correct \"name\"\n\t\t\tfor ( index in value ) {\n\t\t\t\tif ( !( index in props ) ) {\n\t\t\t\t\tprops[ index ] = value[ index ];\n\t\t\t\t\tspecialEasing[ index ] = easing;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tspecialEasing[ name ] = easing;\n\t\t}\n\t}\n}\n\nfunction Animation( elem, properties, options ) {\n\tvar result,\n\t\tstopped,\n\t\tindex = 0,\n\t\tlength = Animation.prefilters.length,\n\t\tdeferred = jQuery.Deferred().always( function() {\n\n\t\t\t// Don't match elem in the :animated selector\n\t\t\tdelete tick.elem;\n\t\t} ),\n\t\ttick = function() {\n\t\t\tif ( stopped ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar currentTime = fxNow || createFxNow(),\n\t\t\t\tremaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),\n\n\t\t\t\t// Support: Android 2.3 only\n\t\t\t\t// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497)\n\t\t\t\ttemp = remaining / animation.duration || 0,\n\t\t\t\tpercent = 1 - temp,\n\t\t\t\tindex = 0,\n\t\t\t\tlength = animation.tweens.length;\n\n\t\t\tfor ( ; index < length; index++ ) {\n\t\t\t\tanimation.tweens[ index ].run( percent );\n\t\t\t}\n\n\t\t\tdeferred.notifyWith( elem, [ animation, percent, remaining ] );\n\n\t\t\t// If there's more to do, yield\n\t\t\tif ( percent < 1 && length ) {\n\t\t\t\treturn remaining;\n\t\t\t}\n\n\t\t\t// If this was an empty animation, synthesize a final progress notification\n\t\t\tif ( !length ) {\n\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t}\n\n\t\t\t// Resolve the animation and report its conclusion\n\t\t\tdeferred.resolveWith( elem, [ animation ] );\n\t\t\treturn false;\n\t\t},\n\t\tanimation = deferred.promise( {\n\t\t\telem: elem,\n\t\t\tprops: jQuery.extend( {}, properties ),\n\t\t\topts: jQuery.extend( true, {\n\t\t\t\tspecialEasing: {},\n\t\t\t\teasing: jQuery.easing._default\n\t\t\t}, options ),\n\t\t\toriginalProperties: properties,\n\t\t\toriginalOptions: options,\n\t\t\tstartTime: fxNow || createFxNow(),\n\t\t\tduration: options.duration,\n\t\t\ttweens: [],\n\t\t\tcreateTween: function( prop, end ) {\n\t\t\t\tvar tween = jQuery.Tween( elem, animation.opts, prop, end,\n\t\t\t\t\tanimation.opts.specialEasing[ prop ] || animation.opts.easing );\n\t\t\t\tanimation.tweens.push( tween );\n\t\t\t\treturn tween;\n\t\t\t},\n\t\t\tstop: function( gotoEnd ) {\n\t\t\t\tvar index = 0,\n\n\t\t\t\t\t// If we are going to the end, we want to run all the tweens\n\t\t\t\t\t// otherwise we skip this part\n\t\t\t\t\tlength = gotoEnd ? animation.tweens.length : 0;\n\t\t\t\tif ( stopped ) {\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t\tstopped = true;\n\t\t\t\tfor ( ; index < length; index++ ) {\n\t\t\t\t\tanimation.tweens[ index ].run( 1 );\n\t\t\t\t}\n\n\t\t\t\t// Resolve when we played the last frame; otherwise, reject\n\t\t\t\tif ( gotoEnd ) {\n\t\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t\t\tdeferred.resolveWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t} else {\n\t\t\t\t\tdeferred.rejectWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\t\t} ),\n\t\tprops = animation.props;\n\n\tpropFilter( props, animation.opts.specialEasing );\n\n\tfor ( ; index < length; index++ ) {\n\t\tresult = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );\n\t\tif ( result ) {\n\t\t\tif ( isFunction( result.stop ) ) {\n\t\t\t\tjQuery._queueHooks( animation.elem, animation.opts.queue ).stop =\n\t\t\t\t\tresult.stop.bind( result );\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tjQuery.map( props, createTween, animation );\n\n\tif ( isFunction( animation.opts.start ) ) {\n\t\tanimation.opts.start.call( elem, animation );\n\t}\n\n\t// Attach callbacks from options\n\tanimation\n\t\t.progress( animation.opts.progress )\n\t\t.done( animation.opts.done, animation.opts.complete )\n\t\t.fail( animation.opts.fail )\n\t\t.always( animation.opts.always );\n\n\tjQuery.fx.timer(\n\t\tjQuery.extend( tick, {\n\t\t\telem: elem,\n\t\t\tanim: animation,\n\t\t\tqueue: animation.opts.queue\n\t\t} )\n\t);\n\n\treturn animation;\n}\n\njQuery.Animation = jQuery.extend( Animation, {\n\n\ttweeners: {\n\t\t\"*\": [ function( prop, value ) {\n\t\t\tvar tween = this.createTween( prop, value );\n\t\t\tadjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );\n\t\t\treturn tween;\n\t\t} ]\n\t},\n\n\ttweener: function( props, callback ) {\n\t\tif ( isFunction( props ) ) {\n\t\t\tcallback = props;\n\t\t\tprops = [ \"*\" ];\n\t\t} else {\n\t\t\tprops = props.match( rnothtmlwhite );\n\t\t}\n\n\t\tvar prop,\n\t\t\tindex = 0,\n\t\t\tlength = props.length;\n\n\t\tfor ( ; index < length; index++ ) {\n\t\t\tprop = props[ index ];\n\t\t\tAnimation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];\n\t\t\tAnimation.tweeners[ prop ].unshift( callback );\n\t\t}\n\t},\n\n\tprefilters: [ defaultPrefilter ],\n\n\tprefilter: function( callback, prepend ) {\n\t\tif ( prepend ) {\n\t\t\tAnimation.prefilters.unshift( callback );\n\t\t} else {\n\t\t\tAnimation.prefilters.push( callback );\n\t\t}\n\t}\n} );\n\njQuery.speed = function( speed, easing, fn ) {\n\tvar opt = speed && typeof speed === \"object\" ? jQuery.extend( {}, speed ) : {\n\t\tcomplete: fn || !fn && easing ||\n\t\t\tisFunction( speed ) && speed,\n\t\tduration: speed,\n\t\teasing: fn && easing || easing && !isFunction( easing ) && easing\n\t};\n\n\t// Go to the end state if fx are off\n\tif ( jQuery.fx.off ) {\n\t\topt.duration = 0;\n\n\t} else {\n\t\tif ( typeof opt.duration !== \"number\" ) {\n\t\t\tif ( opt.duration in jQuery.fx.speeds ) {\n\t\t\t\topt.duration = jQuery.fx.speeds[ opt.duration ];\n\n\t\t\t} else {\n\t\t\t\topt.duration = jQuery.fx.speeds._default;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Normalize opt.queue - true/undefined/null -> \"fx\"\n\tif ( opt.queue == null || opt.queue === true ) {\n\t\topt.queue = \"fx\";\n\t}\n\n\t// Queueing\n\topt.old = opt.complete;\n\n\topt.complete = function() {\n\t\tif ( isFunction( opt.old ) ) {\n\t\t\topt.old.call( this );\n\t\t}\n\n\t\tif ( opt.queue ) {\n\t\t\tjQuery.dequeue( this, opt.queue );\n\t\t}\n\t};\n\n\treturn opt;\n};\n\njQuery.fn.extend( {\n\tfadeTo: function( speed, to, easing, callback ) {\n\n\t\t// Show any hidden elements after setting opacity to 0\n\t\treturn this.filter( isHiddenWithinTree ).css( \"opacity\", 0 ).show()\n\n\t\t\t// Animate to the value specified\n\t\t\t.end().animate( { opacity: to }, speed, easing, callback );\n\t},\n\tanimate: function( prop, speed, easing, callback ) {\n\t\tvar empty = jQuery.isEmptyObject( prop ),\n\t\t\toptall = jQuery.speed( speed, easing, callback ),\n\t\t\tdoAnimation = function() {\n\n\t\t\t\t// Operate on a copy of prop so per-property easing won't be lost\n\t\t\t\tvar anim = Animation( this, jQuery.extend( {}, prop ), optall );\n\n\t\t\t\t// Empty animations, or finishing resolves immediately\n\t\t\t\tif ( empty || dataPriv.get( this, \"finish\" ) ) {\n\t\t\t\t\tanim.stop( true );\n\t\t\t\t}\n\t\t\t};\n\n\t\tdoAnimation.finish = doAnimation;\n\n\t\treturn empty || optall.queue === false ?\n\t\t\tthis.each( doAnimation ) :\n\t\t\tthis.queue( optall.queue, doAnimation );\n\t},\n\tstop: function( type, clearQueue, gotoEnd ) {\n\t\tvar stopQueue = function( hooks ) {\n\t\t\tvar stop = hooks.stop;\n\t\t\tdelete hooks.stop;\n\t\t\tstop( gotoEnd );\n\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tgotoEnd = clearQueue;\n\t\t\tclearQueue = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\tif ( clearQueue ) {\n\t\t\tthis.queue( type || \"fx\", [] );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar dequeue = true,\n\t\t\t\tindex = type != null && type + \"queueHooks\",\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tdata = dataPriv.get( this );\n\n\t\t\tif ( index ) {\n\t\t\t\tif ( data[ index ] && data[ index ].stop ) {\n\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( index in data ) {\n\t\t\t\t\tif ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {\n\t\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this &&\n\t\t\t\t\t( type == null || timers[ index ].queue === type ) ) {\n\n\t\t\t\t\ttimers[ index ].anim.stop( gotoEnd );\n\t\t\t\t\tdequeue = false;\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Start the next in the queue if the last step wasn't forced.\n\t\t\t// Timers currently will call their complete callbacks, which\n\t\t\t// will dequeue but only if they were gotoEnd.\n\t\t\tif ( dequeue || !gotoEnd ) {\n\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t}\n\t\t} );\n\t},\n\tfinish: function( type ) {\n\t\tif ( type !== false ) {\n\t\t\ttype = type || \"fx\";\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tvar index,\n\t\t\t\tdata = dataPriv.get( this ),\n\t\t\t\tqueue = data[ type + \"queue\" ],\n\t\t\t\thooks = data[ type + \"queueHooks\" ],\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tlength = queue ? queue.length : 0;\n\n\t\t\t// Enable finishing flag on private data\n\t\t\tdata.finish = true;\n\n\t\t\t// Empty the queue first\n\t\t\tjQuery.queue( this, type, [] );\n\n\t\t\tif ( hooks && hooks.stop ) {\n\t\t\t\thooks.stop.call( this, true );\n\t\t\t}\n\n\t\t\t// Look for any active animations, and finish them\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this && timers[ index ].queue === type ) {\n\t\t\t\t\ttimers[ index ].anim.stop( true );\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Look for any animations in the old queue and finish them\n\t\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\t\tif ( queue[ index ] && queue[ index ].finish ) {\n\t\t\t\t\tqueue[ index ].finish.call( this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Turn off finishing flag\n\t\t\tdelete data.finish;\n\t\t} );\n\t}\n} );\n\njQuery.each( [ \"toggle\", \"show\", \"hide\" ], function( _i, name ) {\n\tvar cssFn = jQuery.fn[ name ];\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn speed == null || typeof speed === \"boolean\" ?\n\t\t\tcssFn.apply( this, arguments ) :\n\t\t\tthis.animate( genFx( name, true ), speed, easing, callback );\n\t};\n} );\n\n// Generate shortcuts for custom animations\njQuery.each( {\n\tslideDown: genFx( \"show\" ),\n\tslideUp: genFx( \"hide\" ),\n\tslideToggle: genFx( \"toggle\" ),\n\tfadeIn: { opacity: \"show\" },\n\tfadeOut: { opacity: \"hide\" },\n\tfadeToggle: { opacity: \"toggle\" }\n}, function( name, props ) {\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn this.animate( props, speed, easing, callback );\n\t};\n} );\n\njQuery.timers = [];\njQuery.fx.tick = function() {\n\tvar timer,\n\t\ti = 0,\n\t\ttimers = jQuery.timers;\n\n\tfxNow = Date.now();\n\n\tfor ( ; i < timers.length; i++ ) {\n\t\ttimer = timers[ i ];\n\n\t\t// Run the timer and safely remove it when done (allowing for external removal)\n\t\tif ( !timer() && timers[ i ] === timer ) {\n\t\t\ttimers.splice( i--, 1 );\n\t\t}\n\t}\n\n\tif ( !timers.length ) {\n\t\tjQuery.fx.stop();\n\t}\n\tfxNow = undefined;\n};\n\njQuery.fx.timer = function( timer ) {\n\tjQuery.timers.push( timer );\n\tjQuery.fx.start();\n};\n\njQuery.fx.interval = 13;\njQuery.fx.start = function() {\n\tif ( inProgress ) {\n\t\treturn;\n\t}\n\n\tinProgress = true;\n\tschedule();\n};\n\njQuery.fx.stop = function() {\n\tinProgress = null;\n};\n\njQuery.fx.speeds = {\n\tslow: 600,\n\tfast: 200,\n\n\t// Default speed\n\t_default: 400\n};\n\n\n// Based off of the plugin by Clint Helfers, with permission.\njQuery.fn.delay = function( time, type ) {\n\ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\n\ttype = type || \"fx\";\n\n\treturn this.queue( type, function( next, hooks ) {\n\t\tvar timeout = window.setTimeout( next, time );\n\t\thooks.stop = function() {\n\t\t\twindow.clearTimeout( timeout );\n\t\t};\n\t} );\n};\n\n\n( function() {\n\tvar input = document.createElement( \"input\" ),\n\t\tselect = document.createElement( \"select\" ),\n\t\topt = select.appendChild( document.createElement( \"option\" ) );\n\n\tinput.type = \"checkbox\";\n\n\t// Support: Android <=4.3 only\n\t// Default value for a checkbox should be \"on\"\n\tsupport.checkOn = input.value !== \"\";\n\n\t// Support: IE <=11 only\n\t// Must access selectedIndex to make default options select\n\tsupport.optSelected = opt.selected;\n\n\t// Support: IE <=11 only\n\t// An input loses its value after becoming a radio\n\tinput = document.createElement( \"input\" );\n\tinput.value = \"t\";\n\tinput.type = \"radio\";\n\tsupport.radioValue = input.value === \"t\";\n} )();\n\n\nvar boolHook,\n\tattrHandle = jQuery.expr.attrHandle;\n\njQuery.fn.extend( {\n\tattr: function( name, value ) {\n\t\treturn access( this, jQuery.attr, name, value, arguments.length > 1 );\n\t},\n\n\tremoveAttr: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.removeAttr( this, name );\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tattr: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set attributes on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Fallback to prop when attributes are not supported\n\t\tif ( typeof elem.getAttribute === \"undefined\" ) {\n\t\t\treturn jQuery.prop( elem, name, value );\n\t\t}\n\n\t\t// Attribute hooks are determined by the lowercase version\n\t\t// Grab necessary hook if one is defined\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\t\t\thooks = jQuery.attrHooks[ name.toLowerCase() ] ||\n\t\t\t\t( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( value === null ) {\n\t\t\t\tjQuery.removeAttr( elem, name );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\telem.setAttribute( name, value + \"\" );\n\t\t\treturn value;\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\tret = jQuery.find.attr( elem, name );\n\n\t\t// Non-existent attributes return null, we normalize to undefined\n\t\treturn ret == null ? undefined : ret;\n\t},\n\n\tattrHooks: {\n\t\ttype: {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tif ( !support.radioValue && value === \"radio\" &&\n\t\t\t\t\tnodeName( elem, \"input\" ) ) {\n\t\t\t\t\tvar val = elem.value;\n\t\t\t\t\telem.setAttribute( \"type\", value );\n\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\telem.value = val;\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tremoveAttr: function( elem, value ) {\n\t\tvar name,\n\t\t\ti = 0,\n\n\t\t\t// Attribute names can contain non-HTML whitespace characters\n\t\t\t// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n\t\t\tattrNames = value && value.match( rnothtmlwhite );\n\n\t\tif ( attrNames && elem.nodeType === 1 ) {\n\t\t\twhile ( ( name = attrNames[ i++ ] ) ) {\n\t\t\t\telem.removeAttribute( name );\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Hooks for boolean attributes\nboolHook = {\n\tset: function( elem, value, name ) {\n\t\tif ( value === false ) {\n\n\t\t\t// Remove boolean attributes when set to false\n\t\t\tjQuery.removeAttr( elem, name );\n\t\t} else {\n\t\t\telem.setAttribute( name, name );\n\t\t}\n\t\treturn name;\n\t}\n};\n\njQuery.each( jQuery.expr.match.bool.source.match( /\\w+/g ), function( _i, name ) {\n\tvar getter = attrHandle[ name ] || jQuery.find.attr;\n\n\tattrHandle[ name ] = function( elem, name, isXML ) {\n\t\tvar ret, handle,\n\t\t\tlowercaseName = name.toLowerCase();\n\n\t\tif ( !isXML ) {\n\n\t\t\t// Avoid an infinite loop by temporarily removing this function from the getter\n\t\t\thandle = attrHandle[ lowercaseName ];\n\t\t\tattrHandle[ lowercaseName ] = ret;\n\t\t\tret = getter( elem, name, isXML ) != null ?\n\t\t\t\tlowercaseName :\n\t\t\t\tnull;\n\t\t\tattrHandle[ lowercaseName ] = handle;\n\t\t}\n\t\treturn ret;\n\t};\n} );\n\n\n\n\nvar rfocusable = /^(?:input|select|textarea|button)$/i,\n\trclickable = /^(?:a|area)$/i;\n\njQuery.fn.extend( {\n\tprop: function( name, value ) {\n\t\treturn access( this, jQuery.prop, name, value, arguments.length > 1 );\n\t},\n\n\tremoveProp: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tdelete this[ jQuery.propFix[ name ] || name ];\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tprop: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set properties on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// Fix name and attach hooks\n\t\t\tname = jQuery.propFix[ name ] || name;\n\t\t\thooks = jQuery.propHooks[ name ];\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\treturn ( elem[ name ] = value );\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn elem[ name ];\n\t},\n\n\tpropHooks: {\n\t\ttabIndex: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\t// Support: IE <=9 - 11 only\n\t\t\t\t// elem.tabIndex doesn't always return the\n\t\t\t\t// correct value when it hasn't been explicitly set\n\t\t\t\t// Use proper attribute retrieval (trac-12072)\n\t\t\t\tvar tabindex = jQuery.find.attr( elem, \"tabindex\" );\n\n\t\t\t\tif ( tabindex ) {\n\t\t\t\t\treturn parseInt( tabindex, 10 );\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\trfocusable.test( elem.nodeName ) ||\n\t\t\t\t\trclickable.test( elem.nodeName ) &&\n\t\t\t\t\telem.href\n\t\t\t\t) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t},\n\n\tpropFix: {\n\t\t\"for\": \"htmlFor\",\n\t\t\"class\": \"className\"\n\t}\n} );\n\n// Support: IE <=11 only\n// Accessing the selectedIndex property\n// forces the browser to respect setting selected\n// on the option\n// The getter ensures a default option is selected\n// when in an optgroup\n// eslint rule \"no-unused-expressions\" is disabled for this code\n// since it considers such accessions noop\nif ( !support.optSelected ) {\n\tjQuery.propHooks.selected = {\n\t\tget: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent && parent.parentNode ) {\n\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tset: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent ) {\n\t\t\t\tparent.selectedIndex;\n\n\t\t\t\tif ( parent.parentNode ) {\n\t\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\njQuery.each( [\n\t\"tabIndex\",\n\t\"readOnly\",\n\t\"maxLength\",\n\t\"cellSpacing\",\n\t\"cellPadding\",\n\t\"rowSpan\",\n\t\"colSpan\",\n\t\"useMap\",\n\t\"frameBorder\",\n\t\"contentEditable\"\n], function() {\n\tjQuery.propFix[ this.toLowerCase() ] = this;\n} );\n\n\n\n\n\t// Strip and collapse whitespace according to HTML spec\n\t// https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace\n\tfunction stripAndCollapse( value ) {\n\t\tvar tokens = value.match( rnothtmlwhite ) || [];\n\t\treturn tokens.join( \" \" );\n\t}\n\n\nfunction getClass( elem ) {\n\treturn elem.getAttribute && elem.getAttribute( \"class\" ) || \"\";\n}\n\nfunction classesToArray( value ) {\n\tif ( Array.isArray( value ) ) {\n\t\treturn value;\n\t}\n\tif ( typeof value === \"string\" ) {\n\t\treturn value.match( rnothtmlwhite ) || [];\n\t}\n\treturn [];\n}\n\njQuery.fn.extend( {\n\taddClass: function( value ) {\n\t\tvar classNames, cur, curValue, className, i, finalValue;\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).addClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tclassNames = classesToArray( value );\n\n\t\tif ( classNames.length ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tcurValue = getClass( this );\n\t\t\t\tcur = this.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tfor ( i = 0; i < classNames.length; i++ ) {\n\t\t\t\t\t\tclassName = classNames[ i ];\n\t\t\t\t\t\tif ( cur.indexOf( \" \" + className + \" \" ) < 0 ) {\n\t\t\t\t\t\t\tcur += className + \" \";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\tthis.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tremoveClass: function( value ) {\n\t\tvar classNames, cur, curValue, className, i, finalValue;\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( !arguments.length ) {\n\t\t\treturn this.attr( \"class\", \"\" );\n\t\t}\n\n\t\tclassNames = classesToArray( value );\n\n\t\tif ( classNames.length ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tcurValue = getClass( this );\n\n\t\t\t\t// This expression is here for better compressibility (see addClass)\n\t\t\t\tcur = this.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tfor ( i = 0; i < classNames.length; i++ ) {\n\t\t\t\t\t\tclassName = classNames[ i ];\n\n\t\t\t\t\t\t// Remove *all* instances\n\t\t\t\t\t\twhile ( cur.indexOf( \" \" + className + \" \" ) > -1 ) {\n\t\t\t\t\t\t\tcur = cur.replace( \" \" + className + \" \", \" \" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\tthis.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\ttoggleClass: function( value, stateVal ) {\n\t\tvar classNames, className, i, self,\n\t\t\ttype = typeof value,\n\t\t\tisValidValue = type === \"string\" || Array.isArray( value );\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).toggleClass(\n\t\t\t\t\tvalue.call( this, i, getClass( this ), stateVal ),\n\t\t\t\t\tstateVal\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\tif ( typeof stateVal === \"boolean\" && isValidValue ) {\n\t\t\treturn stateVal ? this.addClass( value ) : this.removeClass( value );\n\t\t}\n\n\t\tclassNames = classesToArray( value );\n\n\t\treturn this.each( function() {\n\t\t\tif ( isValidValue ) {\n\n\t\t\t\t// Toggle individual class names\n\t\t\t\tself = jQuery( this );\n\n\t\t\t\tfor ( i = 0; i < classNames.length; i++ ) {\n\t\t\t\t\tclassName = classNames[ i ];\n\n\t\t\t\t\t// Check each className given, space separated list\n\t\t\t\t\tif ( self.hasClass( className ) ) {\n\t\t\t\t\t\tself.removeClass( className );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.addClass( className );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Toggle whole class name\n\t\t\t} else if ( value === undefined || type === \"boolean\" ) {\n\t\t\t\tclassName = getClass( this );\n\t\t\t\tif ( className ) {\n\n\t\t\t\t\t// Store className if set\n\t\t\t\t\tdataPriv.set( this, \"__className__\", className );\n\t\t\t\t}\n\n\t\t\t\t// If the element has a class name or if we're passed `false`,\n\t\t\t\t// then remove the whole classname (if there was one, the above saved it).\n\t\t\t\t// Otherwise bring back whatever was previously saved (if anything),\n\t\t\t\t// falling back to the empty string if nothing was stored.\n\t\t\t\tif ( this.setAttribute ) {\n\t\t\t\t\tthis.setAttribute( \"class\",\n\t\t\t\t\t\tclassName || value === false ?\n\t\t\t\t\t\t\t\"\" :\n\t\t\t\t\t\t\tdataPriv.get( this, \"__className__\" ) || \"\"\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\thasClass: function( selector ) {\n\t\tvar className, elem,\n\t\t\ti = 0;\n\n\t\tclassName = \" \" + selector + \" \";\n\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\tif ( elem.nodeType === 1 &&\n\t\t\t\t( \" \" + stripAndCollapse( getClass( elem ) ) + \" \" ).indexOf( className ) > -1 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n} );\n\n\n\n\nvar rreturn = /\\r/g;\n\njQuery.fn.extend( {\n\tval: function( value ) {\n\t\tvar hooks, ret, valueIsFunction,\n\t\t\telem = this[ 0 ];\n\n\t\tif ( !arguments.length ) {\n\t\t\tif ( elem ) {\n\t\t\t\thooks = jQuery.valHooks[ elem.type ] ||\n\t\t\t\t\tjQuery.valHooks[ elem.nodeName.toLowerCase() ];\n\n\t\t\t\tif ( hooks &&\n\t\t\t\t\t\"get\" in hooks &&\n\t\t\t\t\t( ret = hooks.get( elem, \"value\" ) ) !== undefined\n\t\t\t\t) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\n\t\t\t\tret = elem.value;\n\n\t\t\t\t// Handle most common string cases\n\t\t\t\tif ( typeof ret === \"string\" ) {\n\t\t\t\t\treturn ret.replace( rreturn, \"\" );\n\t\t\t\t}\n\n\t\t\t\t// Handle cases where value is null/undef or number\n\t\t\t\treturn ret == null ? \"\" : ret;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tvalueIsFunction = isFunction( value );\n\n\t\treturn this.each( function( i ) {\n\t\t\tvar val;\n\n\t\t\tif ( this.nodeType !== 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( valueIsFunction ) {\n\t\t\t\tval = value.call( this, i, jQuery( this ).val() );\n\t\t\t} else {\n\t\t\t\tval = value;\n\t\t\t}\n\n\t\t\t// Treat null/undefined as \"\"; convert numbers to string\n\t\t\tif ( val == null ) {\n\t\t\t\tval = \"\";\n\n\t\t\t} else if ( typeof val === \"number\" ) {\n\t\t\t\tval += \"\";\n\n\t\t\t} else if ( Array.isArray( val ) ) {\n\t\t\t\tval = jQuery.map( val, function( value ) {\n\t\t\t\t\treturn value == null ? \"\" : value + \"\";\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\thooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];\n\n\t\t\t// If set returns undefined, fall back to normal setting\n\t\t\tif ( !hooks || !( \"set\" in hooks ) || hooks.set( this, val, \"value\" ) === undefined ) {\n\t\t\t\tthis.value = val;\n\t\t\t}\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tvalHooks: {\n\t\toption: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\tvar val = jQuery.find.attr( elem, \"value\" );\n\t\t\t\treturn val != null ?\n\t\t\t\t\tval :\n\n\t\t\t\t\t// Support: IE <=10 - 11 only\n\t\t\t\t\t// option.text throws exceptions (trac-14686, trac-14858)\n\t\t\t\t\t// Strip and collapse whitespace\n\t\t\t\t\t// https://html.spec.whatwg.org/#strip-and-collapse-whitespace\n\t\t\t\t\tstripAndCollapse( jQuery.text( elem ) );\n\t\t\t}\n\t\t},\n\t\tselect: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar value, option, i,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tindex = elem.selectedIndex,\n\t\t\t\t\tone = elem.type === \"select-one\",\n\t\t\t\t\tvalues = one ? null : [],\n\t\t\t\t\tmax = one ? index + 1 : options.length;\n\n\t\t\t\tif ( index < 0 ) {\n\t\t\t\t\ti = max;\n\n\t\t\t\t} else {\n\t\t\t\t\ti = one ? index : 0;\n\t\t\t\t}\n\n\t\t\t\t// Loop through all the selected options\n\t\t\t\tfor ( ; i < max; i++ ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t// IE8-9 doesn't update selected after form reset (trac-2551)\n\t\t\t\t\tif ( ( option.selected || i === index ) &&\n\n\t\t\t\t\t\t\t// Don't return options that are disabled or in a disabled optgroup\n\t\t\t\t\t\t\t!option.disabled &&\n\t\t\t\t\t\t\t( !option.parentNode.disabled ||\n\t\t\t\t\t\t\t\t!nodeName( option.parentNode, \"optgroup\" ) ) ) {\n\n\t\t\t\t\t\t// Get the specific value for the option\n\t\t\t\t\t\tvalue = jQuery( option ).val();\n\n\t\t\t\t\t\t// We don't need an array for one selects\n\t\t\t\t\t\tif ( one ) {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Multi-Selects return an array\n\t\t\t\t\t\tvalues.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn values;\n\t\t\t},\n\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar optionSet, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tvalues = jQuery.makeArray( value ),\n\t\t\t\t\ti = options.length;\n\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t/* eslint-disable no-cond-assign */\n\n\t\t\t\t\tif ( option.selected =\n\t\t\t\t\t\tjQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1\n\t\t\t\t\t) {\n\t\t\t\t\t\toptionSet = true;\n\t\t\t\t\t}\n\n\t\t\t\t\t/* eslint-enable no-cond-assign */\n\t\t\t\t}\n\n\t\t\t\t// Force browsers to behave consistently when non-matching value is set\n\t\t\t\tif ( !optionSet ) {\n\t\t\t\t\telem.selectedIndex = -1;\n\t\t\t\t}\n\t\t\t\treturn values;\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Radios and checkboxes getter/setter\njQuery.each( [ \"radio\", \"checkbox\" ], function() {\n\tjQuery.valHooks[ this ] = {\n\t\tset: function( elem, value ) {\n\t\t\tif ( Array.isArray( value ) ) {\n\t\t\t\treturn ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );\n\t\t\t}\n\t\t}\n\t};\n\tif ( !support.checkOn ) {\n\t\tjQuery.valHooks[ this ].get = function( elem ) {\n\t\t\treturn elem.getAttribute( \"value\" ) === null ? \"on\" : elem.value;\n\t\t};\n\t}\n} );\n\n\n\n\n// Return jQuery for attributes-only inclusion\nvar location = window.location;\n\nvar nonce = { guid: Date.now() };\n\nvar rquery = ( /\\?/ );\n\n\n\n// Cross-browser xml parsing\njQuery.parseXML = function( data ) {\n\tvar xml, parserErrorElem;\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\n\t// Support: IE 9 - 11 only\n\t// IE throws on parseFromString with invalid input.\n\ttry {\n\t\txml = ( new window.DOMParser() ).parseFromString( data, \"text/xml\" );\n\t} catch ( e ) {}\n\n\tparserErrorElem = xml && xml.getElementsByTagName( \"parsererror\" )[ 0 ];\n\tif ( !xml || parserErrorElem ) {\n\t\tjQuery.error( \"Invalid XML: \" + (\n\t\t\tparserErrorElem ?\n\t\t\t\tjQuery.map( parserErrorElem.childNodes, function( el ) {\n\t\t\t\t\treturn el.textContent;\n\t\t\t\t} ).join( \"\\n\" ) :\n\t\t\t\tdata\n\t\t) );\n\t}\n\treturn xml;\n};\n\n\nvar rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n\tstopPropagationCallback = function( e ) {\n\t\te.stopPropagation();\n\t};\n\njQuery.extend( jQuery.event, {\n\n\ttrigger: function( event, data, elem, onlyHandlers ) {\n\n\t\tvar i, cur, tmp, bubbleType, ontype, handle, special, lastElement,\n\t\t\teventPath = [ elem || document ],\n\t\t\ttype = hasOwn.call( event, \"type\" ) ? event.type : event,\n\t\t\tnamespaces = hasOwn.call( event, \"namespace\" ) ? event.namespace.split( \".\" ) : [];\n\n\t\tcur = lastElement = tmp = elem = elem || document;\n\n\t\t// Don't do events on text and comment nodes\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( type.indexOf( \".\" ) > -1 ) {\n\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\n\t\t\tnamespaces = type.split( \".\" );\n\t\t\ttype = namespaces.shift();\n\t\t\tnamespaces.sort();\n\t\t}\n\t\tontype = type.indexOf( \":\" ) < 0 && \"on\" + type;\n\n\t\t// Caller can pass in a jQuery.Event object, Object, or just an event type string\n\t\tevent = event[ jQuery.expando ] ?\n\t\t\tevent :\n\t\t\tnew jQuery.Event( type, typeof event === \"object\" && event );\n\n\t\t// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n\t\tevent.isTrigger = onlyHandlers ? 2 : 3;\n\t\tevent.namespace = namespaces.join( \".\" );\n\t\tevent.rnamespace = event.namespace ?\n\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" ) :\n\t\t\tnull;\n\n\t\t// Clean up the event in case it is being reused\n\t\tevent.result = undefined;\n\t\tif ( !event.target ) {\n\t\t\tevent.target = elem;\n\t\t}\n\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\n\t\tdata = data == null ?\n\t\t\t[ event ] :\n\t\t\tjQuery.makeArray( data, [ event ] );\n\n\t\t// Allow special events to draw outside the lines\n\t\tspecial = jQuery.event.special[ type ] || {};\n\t\tif ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine event propagation path in advance, per W3C events spec (trac-9951)\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724)\n\t\tif ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {\n\n\t\t\tbubbleType = special.delegateType || type;\n\t\t\tif ( !rfocusMorph.test( bubbleType + type ) ) {\n\t\t\t\tcur = cur.parentNode;\n\t\t\t}\n\t\t\tfor ( ; cur; cur = cur.parentNode ) {\n\t\t\t\teventPath.push( cur );\n\t\t\t\ttmp = cur;\n\t\t\t}\n\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\n\t\t\tif ( tmp === ( elem.ownerDocument || document ) ) {\n\t\t\t\teventPath.push( tmp.defaultView || tmp.parentWindow || window );\n\t\t\t}\n\t\t}\n\n\t\t// Fire handlers on the event path\n\t\ti = 0;\n\t\twhile ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tlastElement = cur;\n\t\t\tevent.type = i > 1 ?\n\t\t\t\tbubbleType :\n\t\t\t\tspecial.bindType || type;\n\n\t\t\t// jQuery handler\n\t\t\thandle = ( dataPriv.get( cur, \"events\" ) || Object.create( null ) )[ event.type ] &&\n\t\t\t\tdataPriv.get( cur, \"handle\" );\n\t\t\tif ( handle ) {\n\t\t\t\thandle.apply( cur, data );\n\t\t\t}\n\n\t\t\t// Native handler\n\t\t\thandle = ontype && cur[ ontype ];\n\t\t\tif ( handle && handle.apply && acceptData( cur ) ) {\n\t\t\t\tevent.result = handle.apply( cur, data );\n\t\t\t\tif ( event.result === false ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tevent.type = type;\n\n\t\t// If nobody prevented the default action, do it now\n\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\n\n\t\t\tif ( ( !special._default ||\n\t\t\t\tspecial._default.apply( eventPath.pop(), data ) === false ) &&\n\t\t\t\tacceptData( elem ) ) {\n\n\t\t\t\t// Call a native DOM method on the target with the same name as the event.\n\t\t\t\t// Don't do default actions on window, that's where global variables be (trac-6170)\n\t\t\t\tif ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {\n\n\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\n\t\t\t\t\ttmp = elem[ ontype ];\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\n\t\t\t\t\tjQuery.event.triggered = type;\n\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.addEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\n\t\t\t\t\telem[ type ]();\n\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.removeEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\n\t\t\t\t\tjQuery.event.triggered = undefined;\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = tmp;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\t// Piggyback on a donor event to simulate a different one\n\t// Used only for `focus(in | out)` events\n\tsimulate: function( type, elem, event ) {\n\t\tvar e = jQuery.extend(\n\t\t\tnew jQuery.Event(),\n\t\t\tevent,\n\t\t\t{\n\t\t\t\ttype: type,\n\t\t\t\tisSimulated: true\n\t\t\t}\n\t\t);\n\n\t\tjQuery.event.trigger( e, null, elem );\n\t}\n\n} );\n\njQuery.fn.extend( {\n\n\ttrigger: function( type, data ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.trigger( type, data, this );\n\t\t} );\n\t},\n\ttriggerHandler: function( type, data ) {\n\t\tvar elem = this[ 0 ];\n\t\tif ( elem ) {\n\t\t\treturn jQuery.event.trigger( type, data, elem, true );\n\t\t}\n\t}\n} );\n\n\nvar\n\trbracket = /\\[\\]$/,\n\trCRLF = /\\r?\\n/g,\n\trsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\n\trsubmittable = /^(?:input|select|textarea|keygen)/i;\n\nfunction buildParams( prefix, obj, traditional, add ) {\n\tvar name;\n\n\tif ( Array.isArray( obj ) ) {\n\n\t\t// Serialize array item.\n\t\tjQuery.each( obj, function( i, v ) {\n\t\t\tif ( traditional || rbracket.test( prefix ) ) {\n\n\t\t\t\t// Treat each array item as a scalar.\n\t\t\t\tadd( prefix, v );\n\n\t\t\t} else {\n\n\t\t\t\t// Item is non-scalar (array or object), encode its numeric index.\n\t\t\t\tbuildParams(\n\t\t\t\t\tprefix + \"[\" + ( typeof v === \"object\" && v != null ? i : \"\" ) + \"]\",\n\t\t\t\t\tv,\n\t\t\t\t\ttraditional,\n\t\t\t\t\tadd\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t} else if ( !traditional && toType( obj ) === \"object\" ) {\n\n\t\t// Serialize object item.\n\t\tfor ( name in obj ) {\n\t\t\tbuildParams( prefix + \"[\" + name + \"]\", obj[ name ], traditional, add );\n\t\t}\n\n\t} else {\n\n\t\t// Serialize scalar item.\n\t\tadd( prefix, obj );\n\t}\n}\n\n// Serialize an array of form elements or a set of\n// key/values into a query string\njQuery.param = function( a, traditional ) {\n\tvar prefix,\n\t\ts = [],\n\t\tadd = function( key, valueOrFunction ) {\n\n\t\t\t// If value is a function, invoke it and use its return value\n\t\t\tvar value = isFunction( valueOrFunction ) ?\n\t\t\t\tvalueOrFunction() :\n\t\t\t\tvalueOrFunction;\n\n\t\t\ts[ s.length ] = encodeURIComponent( key ) + \"=\" +\n\t\t\t\tencodeURIComponent( value == null ? \"\" : value );\n\t\t};\n\n\tif ( a == null ) {\n\t\treturn \"\";\n\t}\n\n\t// If an array was passed in, assume that it is an array of form elements.\n\tif ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {\n\n\t\t// Serialize the form elements\n\t\tjQuery.each( a, function() {\n\t\t\tadd( this.name, this.value );\n\t\t} );\n\n\t} else {\n\n\t\t// If traditional, encode the \"old\" way (the way 1.3.2 or older\n\t\t// did it), otherwise encode params recursively.\n\t\tfor ( prefix in a ) {\n\t\t\tbuildParams( prefix, a[ prefix ], traditional, add );\n\t\t}\n\t}\n\n\t// Return the resulting serialization\n\treturn s.join( \"&\" );\n};\n\njQuery.fn.extend( {\n\tserialize: function() {\n\t\treturn jQuery.param( this.serializeArray() );\n\t},\n\tserializeArray: function() {\n\t\treturn this.map( function() {\n\n\t\t\t// Can add propHook for \"elements\" to filter or add form elements\n\t\t\tvar elements = jQuery.prop( this, \"elements\" );\n\t\t\treturn elements ? jQuery.makeArray( elements ) : this;\n\t\t} ).filter( function() {\n\t\t\tvar type = this.type;\n\n\t\t\t// Use .is( \":disabled\" ) so that fieldset[disabled] works\n\t\t\treturn this.name && !jQuery( this ).is( \":disabled\" ) &&\n\t\t\t\trsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&\n\t\t\t\t( this.checked || !rcheckableType.test( type ) );\n\t\t} ).map( function( _i, elem ) {\n\t\t\tvar val = jQuery( this ).val();\n\n\t\t\tif ( val == null ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tif ( Array.isArray( val ) ) {\n\t\t\t\treturn jQuery.map( val, function( val ) {\n\t\t\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t} ).get();\n\t}\n} );\n\n\nvar\n\tr20 = /%20/g,\n\trhash = /#.*$/,\n\trantiCache = /([?&])_=[^&]*/,\n\trheaders = /^(.*?):[ \\t]*([^\\r\\n]*)$/mg,\n\n\t// trac-7653, trac-8125, trac-8152: local protocol detection\n\trlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n\trnoContent = /^(?:GET|HEAD)$/,\n\trprotocol = /^\\/\\//,\n\n\t/* Prefilters\n\t * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n\t * 2) These are called:\n\t *    - BEFORE asking for a transport\n\t *    - AFTER param serialization (s.data is a string if s.processData is true)\n\t * 3) key is the dataType\n\t * 4) the catchall symbol \"*\" can be used\n\t * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\n\t */\n\tprefilters = {},\n\n\t/* Transports bindings\n\t * 1) key is the dataType\n\t * 2) the catchall symbol \"*\" can be used\n\t * 3) selection will start with transport dataType and THEN go to \"*\" if needed\n\t */\n\ttransports = {},\n\n\t// Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression\n\tallTypes = \"*/\".concat( \"*\" ),\n\n\t// Anchor tag for parsing the document origin\n\toriginAnchor = document.createElement( \"a\" );\n\noriginAnchor.href = location.href;\n\n// Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\nfunction addToPrefiltersOrTransports( structure ) {\n\n\t// dataTypeExpression is optional and defaults to \"*\"\n\treturn function( dataTypeExpression, func ) {\n\n\t\tif ( typeof dataTypeExpression !== \"string\" ) {\n\t\t\tfunc = dataTypeExpression;\n\t\t\tdataTypeExpression = \"*\";\n\t\t}\n\n\t\tvar dataType,\n\t\t\ti = 0,\n\t\t\tdataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];\n\n\t\tif ( isFunction( func ) ) {\n\n\t\t\t// For each dataType in the dataTypeExpression\n\t\t\twhile ( ( dataType = dataTypes[ i++ ] ) ) {\n\n\t\t\t\t// Prepend if requested\n\t\t\t\tif ( dataType[ 0 ] === \"+\" ) {\n\t\t\t\t\tdataType = dataType.slice( 1 ) || \"*\";\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );\n\n\t\t\t\t// Otherwise append\n\t\t\t\t} else {\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).push( func );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\n// Base inspection function for prefilters and transports\nfunction inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {\n\n\tvar inspected = {},\n\t\tseekingTransport = ( structure === transports );\n\n\tfunction inspect( dataType ) {\n\t\tvar selected;\n\t\tinspected[ dataType ] = true;\n\t\tjQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {\n\t\t\tvar dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );\n\t\t\tif ( typeof dataTypeOrTransport === \"string\" &&\n\t\t\t\t!seekingTransport && !inspected[ dataTypeOrTransport ] ) {\n\n\t\t\t\toptions.dataTypes.unshift( dataTypeOrTransport );\n\t\t\t\tinspect( dataTypeOrTransport );\n\t\t\t\treturn false;\n\t\t\t} else if ( seekingTransport ) {\n\t\t\t\treturn !( selected = dataTypeOrTransport );\n\t\t\t}\n\t\t} );\n\t\treturn selected;\n\t}\n\n\treturn inspect( options.dataTypes[ 0 ] ) || !inspected[ \"*\" ] && inspect( \"*\" );\n}\n\n// A special extend for ajax options\n// that takes \"flat\" options (not to be deep extended)\n// Fixes trac-9887\nfunction ajaxExtend( target, src ) {\n\tvar key, deep,\n\t\tflatOptions = jQuery.ajaxSettings.flatOptions || {};\n\n\tfor ( key in src ) {\n\t\tif ( src[ key ] !== undefined ) {\n\t\t\t( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];\n\t\t}\n\t}\n\tif ( deep ) {\n\t\tjQuery.extend( true, target, deep );\n\t}\n\n\treturn target;\n}\n\n/* Handles responses to an ajax request:\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */\nfunction ajaxHandleResponses( s, jqXHR, responses ) {\n\n\tvar ct, type, finalDataType, firstDataType,\n\t\tcontents = s.contents,\n\t\tdataTypes = s.dataTypes;\n\n\t// Remove auto dataType and get content-type in the process\n\twhile ( dataTypes[ 0 ] === \"*\" ) {\n\t\tdataTypes.shift();\n\t\tif ( ct === undefined ) {\n\t\t\tct = s.mimeType || jqXHR.getResponseHeader( \"Content-Type\" );\n\t\t}\n\t}\n\n\t// Check if we're dealing with a known content-type\n\tif ( ct ) {\n\t\tfor ( type in contents ) {\n\t\t\tif ( contents[ type ] && contents[ type ].test( ct ) ) {\n\t\t\t\tdataTypes.unshift( type );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check to see if we have a response for the expected dataType\n\tif ( dataTypes[ 0 ] in responses ) {\n\t\tfinalDataType = dataTypes[ 0 ];\n\t} else {\n\n\t\t// Try convertible dataTypes\n\t\tfor ( type in responses ) {\n\t\t\tif ( !dataTypes[ 0 ] || s.converters[ type + \" \" + dataTypes[ 0 ] ] ) {\n\t\t\t\tfinalDataType = type;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( !firstDataType ) {\n\t\t\t\tfirstDataType = type;\n\t\t\t}\n\t\t}\n\n\t\t// Or just use first one\n\t\tfinalDataType = finalDataType || firstDataType;\n\t}\n\n\t// If we found a dataType\n\t// We add the dataType to the list if needed\n\t// and return the corresponding response\n\tif ( finalDataType ) {\n\t\tif ( finalDataType !== dataTypes[ 0 ] ) {\n\t\t\tdataTypes.unshift( finalDataType );\n\t\t}\n\t\treturn responses[ finalDataType ];\n\t}\n}\n\n/* Chain conversions given the request and the original response\n * Also sets the responseXXX fields on the jqXHR instance\n */\nfunction ajaxConvert( s, response, jqXHR, isSuccess ) {\n\tvar conv2, current, conv, tmp, prev,\n\t\tconverters = {},\n\n\t\t// Work with a copy of dataTypes in case we need to modify it for conversion\n\t\tdataTypes = s.dataTypes.slice();\n\n\t// Create converters map with lowercased keys\n\tif ( dataTypes[ 1 ] ) {\n\t\tfor ( conv in s.converters ) {\n\t\t\tconverters[ conv.toLowerCase() ] = s.converters[ conv ];\n\t\t}\n\t}\n\n\tcurrent = dataTypes.shift();\n\n\t// Convert to each sequential dataType\n\twhile ( current ) {\n\n\t\tif ( s.responseFields[ current ] ) {\n\t\t\tjqXHR[ s.responseFields[ current ] ] = response;\n\t\t}\n\n\t\t// Apply the dataFilter if provided\n\t\tif ( !prev && isSuccess && s.dataFilter ) {\n\t\t\tresponse = s.dataFilter( response, s.dataType );\n\t\t}\n\n\t\tprev = current;\n\t\tcurrent = dataTypes.shift();\n\n\t\tif ( current ) {\n\n\t\t\t// There's only work to do if current dataType is non-auto\n\t\t\tif ( current === \"*\" ) {\n\n\t\t\t\tcurrent = prev;\n\n\t\t\t// Convert response if prev dataType is non-auto and differs from current\n\t\t\t} else if ( prev !== \"*\" && prev !== current ) {\n\n\t\t\t\t// Seek a direct converter\n\t\t\t\tconv = converters[ prev + \" \" + current ] || converters[ \"* \" + current ];\n\n\t\t\t\t// If none found, seek a pair\n\t\t\t\tif ( !conv ) {\n\t\t\t\t\tfor ( conv2 in converters ) {\n\n\t\t\t\t\t\t// If conv2 outputs current\n\t\t\t\t\t\ttmp = conv2.split( \" \" );\n\t\t\t\t\t\tif ( tmp[ 1 ] === current ) {\n\n\t\t\t\t\t\t\t// If prev can be converted to accepted input\n\t\t\t\t\t\t\tconv = converters[ prev + \" \" + tmp[ 0 ] ] ||\n\t\t\t\t\t\t\t\tconverters[ \"* \" + tmp[ 0 ] ];\n\t\t\t\t\t\t\tif ( conv ) {\n\n\t\t\t\t\t\t\t\t// Condense equivalence converters\n\t\t\t\t\t\t\t\tif ( conv === true ) {\n\t\t\t\t\t\t\t\t\tconv = converters[ conv2 ];\n\n\t\t\t\t\t\t\t\t// Otherwise, insert the intermediate dataType\n\t\t\t\t\t\t\t\t} else if ( converters[ conv2 ] !== true ) {\n\t\t\t\t\t\t\t\t\tcurrent = tmp[ 0 ];\n\t\t\t\t\t\t\t\t\tdataTypes.unshift( tmp[ 1 ] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Apply converter (if not an equivalence)\n\t\t\t\tif ( conv !== true ) {\n\n\t\t\t\t\t// Unless errors are allowed to bubble, catch and return them\n\t\t\t\t\tif ( conv && s.throws ) {\n\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tstate: \"parsererror\",\n\t\t\t\t\t\t\t\terror: conv ? e : \"No conversion from \" + prev + \" to \" + current\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { state: \"success\", data: response };\n}\n\njQuery.extend( {\n\n\t// Counter for holding the number of active queries\n\tactive: 0,\n\n\t// Last-Modified header cache for next request\n\tlastModified: {},\n\tetag: {},\n\n\tajaxSettings: {\n\t\turl: location.href,\n\t\ttype: \"GET\",\n\t\tisLocal: rlocalProtocol.test( location.protocol ),\n\t\tglobal: true,\n\t\tprocessData: true,\n\t\tasync: true,\n\t\tcontentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n\n\t\t/*\n\t\ttimeout: 0,\n\t\tdata: null,\n\t\tdataType: null,\n\t\tusername: null,\n\t\tpassword: null,\n\t\tcache: null,\n\t\tthrows: false,\n\t\ttraditional: false,\n\t\theaders: {},\n\t\t*/\n\n\t\taccepts: {\n\t\t\t\"*\": allTypes,\n\t\t\ttext: \"text/plain\",\n\t\t\thtml: \"text/html\",\n\t\t\txml: \"application/xml, text/xml\",\n\t\t\tjson: \"application/json, text/javascript\"\n\t\t},\n\n\t\tcontents: {\n\t\t\txml: /\\bxml\\b/,\n\t\t\thtml: /\\bhtml/,\n\t\t\tjson: /\\bjson\\b/\n\t\t},\n\n\t\tresponseFields: {\n\t\t\txml: \"responseXML\",\n\t\t\ttext: \"responseText\",\n\t\t\tjson: \"responseJSON\"\n\t\t},\n\n\t\t// Data converters\n\t\t// Keys separate source (or catchall \"*\") and destination types with a single space\n\t\tconverters: {\n\n\t\t\t// Convert anything to text\n\t\t\t\"* text\": String,\n\n\t\t\t// Text to html (true = no transformation)\n\t\t\t\"text html\": true,\n\n\t\t\t// Evaluate text as a json expression\n\t\t\t\"text json\": JSON.parse,\n\n\t\t\t// Parse text as xml\n\t\t\t\"text xml\": jQuery.parseXML\n\t\t},\n\n\t\t// For options that shouldn't be deep extended:\n\t\t// you can add your own custom options here if\n\t\t// and when you create one that shouldn't be\n\t\t// deep extended (see ajaxExtend)\n\t\tflatOptions: {\n\t\t\turl: true,\n\t\t\tcontext: true\n\t\t}\n\t},\n\n\t// Creates a full fledged settings object into target\n\t// with both ajaxSettings and settings fields.\n\t// If target is omitted, writes into ajaxSettings.\n\tajaxSetup: function( target, settings ) {\n\t\treturn settings ?\n\n\t\t\t// Building a settings object\n\t\t\tajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :\n\n\t\t\t// Extending ajaxSettings\n\t\t\tajaxExtend( jQuery.ajaxSettings, target );\n\t},\n\n\tajaxPrefilter: addToPrefiltersOrTransports( prefilters ),\n\tajaxTransport: addToPrefiltersOrTransports( transports ),\n\n\t// Main method\n\tajax: function( url, options ) {\n\n\t\t// If url is an object, simulate pre-1.5 signature\n\t\tif ( typeof url === \"object\" ) {\n\t\t\toptions = url;\n\t\t\turl = undefined;\n\t\t}\n\n\t\t// Force options to be an object\n\t\toptions = options || {};\n\n\t\tvar transport,\n\n\t\t\t// URL without anti-cache param\n\t\t\tcacheURL,\n\n\t\t\t// Response headers\n\t\t\tresponseHeadersString,\n\t\t\tresponseHeaders,\n\n\t\t\t// timeout handle\n\t\t\ttimeoutTimer,\n\n\t\t\t// Url cleanup var\n\t\t\turlAnchor,\n\n\t\t\t// Request state (becomes false upon send and true upon completion)\n\t\t\tcompleted,\n\n\t\t\t// To know if global events are to be dispatched\n\t\t\tfireGlobals,\n\n\t\t\t// Loop variable\n\t\t\ti,\n\n\t\t\t// uncached part of the url\n\t\t\tuncached,\n\n\t\t\t// Create the final options object\n\t\t\ts = jQuery.ajaxSetup( {}, options ),\n\n\t\t\t// Callbacks context\n\t\t\tcallbackContext = s.context || s,\n\n\t\t\t// Context for global events is callbackContext if it is a DOM node or jQuery collection\n\t\t\tglobalEventContext = s.context &&\n\t\t\t\t( callbackContext.nodeType || callbackContext.jquery ) ?\n\t\t\t\tjQuery( callbackContext ) :\n\t\t\t\tjQuery.event,\n\n\t\t\t// Deferreds\n\t\t\tdeferred = jQuery.Deferred(),\n\t\t\tcompleteDeferred = jQuery.Callbacks( \"once memory\" ),\n\n\t\t\t// Status-dependent callbacks\n\t\t\tstatusCode = s.statusCode || {},\n\n\t\t\t// Headers (they are sent all at once)\n\t\t\trequestHeaders = {},\n\t\t\trequestHeadersNames = {},\n\n\t\t\t// Default abort message\n\t\t\tstrAbort = \"canceled\",\n\n\t\t\t// Fake xhr\n\t\t\tjqXHR = {\n\t\t\t\treadyState: 0,\n\n\t\t\t\t// Builds headers hashtable if needed\n\t\t\t\tgetResponseHeader: function( key ) {\n\t\t\t\t\tvar match;\n\t\t\t\t\tif ( completed ) {\n\t\t\t\t\t\tif ( !responseHeaders ) {\n\t\t\t\t\t\t\tresponseHeaders = {};\n\t\t\t\t\t\t\twhile ( ( match = rheaders.exec( responseHeadersString ) ) ) {\n\t\t\t\t\t\t\t\tresponseHeaders[ match[ 1 ].toLowerCase() + \" \" ] =\n\t\t\t\t\t\t\t\t\t( responseHeaders[ match[ 1 ].toLowerCase() + \" \" ] || [] )\n\t\t\t\t\t\t\t\t\t\t.concat( match[ 2 ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmatch = responseHeaders[ key.toLowerCase() + \" \" ];\n\t\t\t\t\t}\n\t\t\t\t\treturn match == null ? null : match.join( \", \" );\n\t\t\t\t},\n\n\t\t\t\t// Raw string\n\t\t\t\tgetAllResponseHeaders: function() {\n\t\t\t\t\treturn completed ? responseHeadersString : null;\n\t\t\t\t},\n\n\t\t\t\t// Caches the header\n\t\t\t\tsetRequestHeader: function( name, value ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\tname = requestHeadersNames[ name.toLowerCase() ] =\n\t\t\t\t\t\t\trequestHeadersNames[ name.toLowerCase() ] || name;\n\t\t\t\t\t\trequestHeaders[ name ] = value;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Overrides response content-type header\n\t\t\t\toverrideMimeType: function( type ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\ts.mimeType = type;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Status-dependent callbacks\n\t\t\t\tstatusCode: function( map ) {\n\t\t\t\t\tvar code;\n\t\t\t\t\tif ( map ) {\n\t\t\t\t\t\tif ( completed ) {\n\n\t\t\t\t\t\t\t// Execute the appropriate callbacks\n\t\t\t\t\t\t\tjqXHR.always( map[ jqXHR.status ] );\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Lazy-add the new callbacks in a way that preserves old ones\n\t\t\t\t\t\t\tfor ( code in map ) {\n\t\t\t\t\t\t\t\tstatusCode[ code ] = [ statusCode[ code ], map[ code ] ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Cancel the request\n\t\t\t\tabort: function( statusText ) {\n\t\t\t\t\tvar finalText = statusText || strAbort;\n\t\t\t\t\tif ( transport ) {\n\t\t\t\t\t\ttransport.abort( finalText );\n\t\t\t\t\t}\n\t\t\t\t\tdone( 0, finalText );\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t};\n\n\t\t// Attach deferreds\n\t\tdeferred.promise( jqXHR );\n\n\t\t// Add protocol if not provided (prefilters might expect it)\n\t\t// Handle falsy url in the settings object (trac-10093: consistency with old signature)\n\t\t// We also use the url parameter if available\n\t\ts.url = ( ( url || s.url || location.href ) + \"\" )\n\t\t\t.replace( rprotocol, location.protocol + \"//\" );\n\n\t\t// Alias method option to type as per ticket trac-12004\n\t\ts.type = options.method || options.type || s.method || s.type;\n\n\t\t// Extract dataTypes list\n\t\ts.dataTypes = ( s.dataType || \"*\" ).toLowerCase().match( rnothtmlwhite ) || [ \"\" ];\n\n\t\t// A cross-domain request is in order when the origin doesn't match the current origin.\n\t\tif ( s.crossDomain == null ) {\n\t\t\turlAnchor = document.createElement( \"a\" );\n\n\t\t\t// Support: IE <=8 - 11, Edge 12 - 15\n\t\t\t// IE throws exception on accessing the href property if url is malformed,\n\t\t\t// e.g. http://example.com:80x/\n\t\t\ttry {\n\t\t\t\turlAnchor.href = s.url;\n\n\t\t\t\t// Support: IE <=8 - 11 only\n\t\t\t\t// Anchor's host property isn't correctly set when s.url is relative\n\t\t\t\turlAnchor.href = urlAnchor.href;\n\t\t\t\ts.crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !==\n\t\t\t\t\turlAnchor.protocol + \"//\" + urlAnchor.host;\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// If there is an error parsing the URL, assume it is crossDomain,\n\t\t\t\t// it can be rejected by the transport if it is invalid\n\t\t\t\ts.crossDomain = true;\n\t\t\t}\n\t\t}\n\n\t\t// Convert data if not already a string\n\t\tif ( s.data && s.processData && typeof s.data !== \"string\" ) {\n\t\t\ts.data = jQuery.param( s.data, s.traditional );\n\t\t}\n\n\t\t// Apply prefilters\n\t\tinspectPrefiltersOrTransports( prefilters, s, options, jqXHR );\n\n\t\t// If request was aborted inside a prefilter, stop there\n\t\tif ( completed ) {\n\t\t\treturn jqXHR;\n\t\t}\n\n\t\t// We can fire global events as of now if asked to\n\t\t// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118)\n\t\tfireGlobals = jQuery.event && s.global;\n\n\t\t// Watch for a new set of requests\n\t\tif ( fireGlobals && jQuery.active++ === 0 ) {\n\t\t\tjQuery.event.trigger( \"ajaxStart\" );\n\t\t}\n\n\t\t// Uppercase the type\n\t\ts.type = s.type.toUpperCase();\n\n\t\t// Determine if request has content\n\t\ts.hasContent = !rnoContent.test( s.type );\n\n\t\t// Save the URL in case we're toying with the If-Modified-Since\n\t\t// and/or If-None-Match header later on\n\t\t// Remove hash to simplify url manipulation\n\t\tcacheURL = s.url.replace( rhash, \"\" );\n\n\t\t// More options handling for requests with no content\n\t\tif ( !s.hasContent ) {\n\n\t\t\t// Remember the hash so we can put it back\n\t\t\tuncached = s.url.slice( cacheURL.length );\n\n\t\t\t// If data is available and should be processed, append data to url\n\t\t\tif ( s.data && ( s.processData || typeof s.data === \"string\" ) ) {\n\t\t\t\tcacheURL += ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + s.data;\n\n\t\t\t\t// trac-9682: remove data so that it's not used in an eventual retry\n\t\t\t\tdelete s.data;\n\t\t\t}\n\n\t\t\t// Add or update anti-cache param if needed\n\t\t\tif ( s.cache === false ) {\n\t\t\t\tcacheURL = cacheURL.replace( rantiCache, \"$1\" );\n\t\t\t\tuncached = ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + \"_=\" + ( nonce.guid++ ) +\n\t\t\t\t\tuncached;\n\t\t\t}\n\n\t\t\t// Put hash and anti-cache on the URL that will be requested (gh-1732)\n\t\t\ts.url = cacheURL + uncached;\n\n\t\t// Change '%20' to '+' if this is encoded form body content (gh-2658)\n\t\t} else if ( s.data && s.processData &&\n\t\t\t( s.contentType || \"\" ).indexOf( \"application/x-www-form-urlencoded\" ) === 0 ) {\n\t\t\ts.data = s.data.replace( r20, \"+\" );\n\t\t}\n\n\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\tif ( s.ifModified ) {\n\t\t\tif ( jQuery.lastModified[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-Modified-Since\", jQuery.lastModified[ cacheURL ] );\n\t\t\t}\n\t\t\tif ( jQuery.etag[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-None-Match\", jQuery.etag[ cacheURL ] );\n\t\t\t}\n\t\t}\n\n\t\t// Set the correct header, if data is being sent\n\t\tif ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {\n\t\t\tjqXHR.setRequestHeader( \"Content-Type\", s.contentType );\n\t\t}\n\n\t\t// Set the Accepts header for the server, depending on the dataType\n\t\tjqXHR.setRequestHeader(\n\t\t\t\"Accept\",\n\t\t\ts.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?\n\t\t\t\ts.accepts[ s.dataTypes[ 0 ] ] +\n\t\t\t\t\t( s.dataTypes[ 0 ] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\" ) :\n\t\t\t\ts.accepts[ \"*\" ]\n\t\t);\n\n\t\t// Check for headers option\n\t\tfor ( i in s.headers ) {\n\t\t\tjqXHR.setRequestHeader( i, s.headers[ i ] );\n\t\t}\n\n\t\t// Allow custom headers/mimetypes and early abort\n\t\tif ( s.beforeSend &&\n\t\t\t( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {\n\n\t\t\t// Abort if not done already and return\n\t\t\treturn jqXHR.abort();\n\t\t}\n\n\t\t// Aborting is no longer a cancellation\n\t\tstrAbort = \"abort\";\n\n\t\t// Install callbacks on deferreds\n\t\tcompleteDeferred.add( s.complete );\n\t\tjqXHR.done( s.success );\n\t\tjqXHR.fail( s.error );\n\n\t\t// Get transport\n\t\ttransport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );\n\n\t\t// If no transport, we auto-abort\n\t\tif ( !transport ) {\n\t\t\tdone( -1, \"No Transport\" );\n\t\t} else {\n\t\t\tjqXHR.readyState = 1;\n\n\t\t\t// Send global event\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxSend\", [ jqXHR, s ] );\n\t\t\t}\n\n\t\t\t// If request was aborted inside ajaxSend, stop there\n\t\t\tif ( completed ) {\n\t\t\t\treturn jqXHR;\n\t\t\t}\n\n\t\t\t// Timeout\n\t\t\tif ( s.async && s.timeout > 0 ) {\n\t\t\t\ttimeoutTimer = window.setTimeout( function() {\n\t\t\t\t\tjqXHR.abort( \"timeout\" );\n\t\t\t\t}, s.timeout );\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tcompleted = false;\n\t\t\t\ttransport.send( requestHeaders, done );\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// Rethrow post-completion exceptions\n\t\t\t\tif ( completed ) {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\n\t\t\t\t// Propagate others as results\n\t\t\t\tdone( -1, e );\n\t\t\t}\n\t\t}\n\n\t\t// Callback for when everything is done\n\t\tfunction done( status, nativeStatusText, responses, headers ) {\n\t\t\tvar isSuccess, success, error, response, modified,\n\t\t\t\tstatusText = nativeStatusText;\n\n\t\t\t// Ignore repeat invocations\n\t\t\tif ( completed ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcompleted = true;\n\n\t\t\t// Clear timeout if it exists\n\t\t\tif ( timeoutTimer ) {\n\t\t\t\twindow.clearTimeout( timeoutTimer );\n\t\t\t}\n\n\t\t\t// Dereference transport for early garbage collection\n\t\t\t// (no matter how long the jqXHR object will be used)\n\t\t\ttransport = undefined;\n\n\t\t\t// Cache response headers\n\t\t\tresponseHeadersString = headers || \"\";\n\n\t\t\t// Set readyState\n\t\t\tjqXHR.readyState = status > 0 ? 4 : 0;\n\n\t\t\t// Determine if successful\n\t\t\tisSuccess = status >= 200 && status < 300 || status === 304;\n\n\t\t\t// Get response data\n\t\t\tif ( responses ) {\n\t\t\t\tresponse = ajaxHandleResponses( s, jqXHR, responses );\n\t\t\t}\n\n\t\t\t// Use a noop converter for missing script but not if jsonp\n\t\t\tif ( !isSuccess &&\n\t\t\t\tjQuery.inArray( \"script\", s.dataTypes ) > -1 &&\n\t\t\t\tjQuery.inArray( \"json\", s.dataTypes ) < 0 ) {\n\t\t\t\ts.converters[ \"text script\" ] = function() {};\n\t\t\t}\n\n\t\t\t// Convert no matter what (that way responseXXX fields are always set)\n\t\t\tresponse = ajaxConvert( s, response, jqXHR, isSuccess );\n\n\t\t\t// If successful, handle type chaining\n\t\t\tif ( isSuccess ) {\n\n\t\t\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\t\t\tif ( s.ifModified ) {\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"Last-Modified\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.lastModified[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"etag\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.etag[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// if no content\n\t\t\t\tif ( status === 204 || s.type === \"HEAD\" ) {\n\t\t\t\t\tstatusText = \"nocontent\";\n\n\t\t\t\t// if not modified\n\t\t\t\t} else if ( status === 304 ) {\n\t\t\t\t\tstatusText = \"notmodified\";\n\n\t\t\t\t// If we have data, let's convert it\n\t\t\t\t} else {\n\t\t\t\t\tstatusText = response.state;\n\t\t\t\t\tsuccess = response.data;\n\t\t\t\t\terror = response.error;\n\t\t\t\t\tisSuccess = !error;\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// Extract error from statusText and normalize for non-aborts\n\t\t\t\terror = statusText;\n\t\t\t\tif ( status || !statusText ) {\n\t\t\t\t\tstatusText = \"error\";\n\t\t\t\t\tif ( status < 0 ) {\n\t\t\t\t\t\tstatus = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set data for the fake xhr object\n\t\t\tjqXHR.status = status;\n\t\t\tjqXHR.statusText = ( nativeStatusText || statusText ) + \"\";\n\n\t\t\t// Success/Error\n\t\t\tif ( isSuccess ) {\n\t\t\t\tdeferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );\n\t\t\t} else {\n\t\t\t\tdeferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );\n\t\t\t}\n\n\t\t\t// Status-dependent callbacks\n\t\t\tjqXHR.statusCode( statusCode );\n\t\t\tstatusCode = undefined;\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( isSuccess ? \"ajaxSuccess\" : \"ajaxError\",\n\t\t\t\t\t[ jqXHR, s, isSuccess ? success : error ] );\n\t\t\t}\n\n\t\t\t// Complete\n\t\t\tcompleteDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxComplete\", [ jqXHR, s ] );\n\n\t\t\t\t// Handle the global AJAX counter\n\t\t\t\tif ( !( --jQuery.active ) ) {\n\t\t\t\t\tjQuery.event.trigger( \"ajaxStop\" );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn jqXHR;\n\t},\n\n\tgetJSON: function( url, data, callback ) {\n\t\treturn jQuery.get( url, data, callback, \"json\" );\n\t},\n\n\tgetScript: function( url, callback ) {\n\t\treturn jQuery.get( url, undefined, callback, \"script\" );\n\t}\n} );\n\njQuery.each( [ \"get\", \"post\" ], function( _i, method ) {\n\tjQuery[ method ] = function( url, data, callback, type ) {\n\n\t\t// Shift arguments if data argument was omitted\n\t\tif ( isFunction( data ) ) {\n\t\t\ttype = type || callback;\n\t\t\tcallback = data;\n\t\t\tdata = undefined;\n\t\t}\n\n\t\t// The url can be an options object (which then must have .url)\n\t\treturn jQuery.ajax( jQuery.extend( {\n\t\t\turl: url,\n\t\t\ttype: method,\n\t\t\tdataType: type,\n\t\t\tdata: data,\n\t\t\tsuccess: callback\n\t\t}, jQuery.isPlainObject( url ) && url ) );\n\t};\n} );\n\njQuery.ajaxPrefilter( function( s ) {\n\tvar i;\n\tfor ( i in s.headers ) {\n\t\tif ( i.toLowerCase() === \"content-type\" ) {\n\t\t\ts.contentType = s.headers[ i ] || \"\";\n\t\t}\n\t}\n} );\n\n\njQuery._evalUrl = function( url, options, doc ) {\n\treturn jQuery.ajax( {\n\t\turl: url,\n\n\t\t// Make this explicit, since user can override this through ajaxSetup (trac-11264)\n\t\ttype: \"GET\",\n\t\tdataType: \"script\",\n\t\tcache: true,\n\t\tasync: false,\n\t\tglobal: false,\n\n\t\t// Only evaluate the response if it is successful (gh-4126)\n\t\t// dataFilter is not invoked for failure responses, so using it instead\n\t\t// of the default converter is kludgy but it works.\n\t\tconverters: {\n\t\t\t\"text script\": function() {}\n\t\t},\n\t\tdataFilter: function( response ) {\n\t\t\tjQuery.globalEval( response, options, doc );\n\t\t}\n\t} );\n};\n\n\njQuery.fn.extend( {\n\twrapAll: function( html ) {\n\t\tvar wrap;\n\n\t\tif ( this[ 0 ] ) {\n\t\t\tif ( isFunction( html ) ) {\n\t\t\t\thtml = html.call( this[ 0 ] );\n\t\t\t}\n\n\t\t\t// The elements to wrap the target around\n\t\t\twrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );\n\n\t\t\tif ( this[ 0 ].parentNode ) {\n\t\t\t\twrap.insertBefore( this[ 0 ] );\n\t\t\t}\n\n\t\t\twrap.map( function() {\n\t\t\t\tvar elem = this;\n\n\t\t\t\twhile ( elem.firstElementChild ) {\n\t\t\t\t\telem = elem.firstElementChild;\n\t\t\t\t}\n\n\t\t\t\treturn elem;\n\t\t\t} ).append( this );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\twrapInner: function( html ) {\n\t\tif ( isFunction( html ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).wrapInner( html.call( this, i ) );\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar self = jQuery( this ),\n\t\t\t\tcontents = self.contents();\n\n\t\t\tif ( contents.length ) {\n\t\t\t\tcontents.wrapAll( html );\n\n\t\t\t} else {\n\t\t\t\tself.append( html );\n\t\t\t}\n\t\t} );\n\t},\n\n\twrap: function( html ) {\n\t\tvar htmlIsFunction = isFunction( html );\n\n\t\treturn this.each( function( i ) {\n\t\t\tjQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );\n\t\t} );\n\t},\n\n\tunwrap: function( selector ) {\n\t\tthis.parent( selector ).not( \"body\" ).each( function() {\n\t\t\tjQuery( this ).replaceWith( this.childNodes );\n\t\t} );\n\t\treturn this;\n\t}\n} );\n\n\njQuery.expr.pseudos.hidden = function( elem ) {\n\treturn !jQuery.expr.pseudos.visible( elem );\n};\njQuery.expr.pseudos.visible = function( elem ) {\n\treturn !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );\n};\n\n\n\n\njQuery.ajaxSettings.xhr = function() {\n\ttry {\n\t\treturn new window.XMLHttpRequest();\n\t} catch ( e ) {}\n};\n\nvar xhrSuccessStatus = {\n\n\t\t// File protocol always yields status code 0, assume 200\n\t\t0: 200,\n\n\t\t// Support: IE <=9 only\n\t\t// trac-1450: sometimes IE returns 1223 when it should be 204\n\t\t1223: 204\n\t},\n\txhrSupported = jQuery.ajaxSettings.xhr();\n\nsupport.cors = !!xhrSupported && ( \"withCredentials\" in xhrSupported );\nsupport.ajax = xhrSupported = !!xhrSupported;\n\njQuery.ajaxTransport( function( options ) {\n\tvar callback, errorCallback;\n\n\t// Cross domain only allowed if supported through XMLHttpRequest\n\tif ( support.cors || xhrSupported && !options.crossDomain ) {\n\t\treturn {\n\t\t\tsend: function( headers, complete ) {\n\t\t\t\tvar i,\n\t\t\t\t\txhr = options.xhr();\n\n\t\t\t\txhr.open(\n\t\t\t\t\toptions.type,\n\t\t\t\t\toptions.url,\n\t\t\t\t\toptions.async,\n\t\t\t\t\toptions.username,\n\t\t\t\t\toptions.password\n\t\t\t\t);\n\n\t\t\t\t// Apply custom fields if provided\n\t\t\t\tif ( options.xhrFields ) {\n\t\t\t\t\tfor ( i in options.xhrFields ) {\n\t\t\t\t\t\txhr[ i ] = options.xhrFields[ i ];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Override mime type if needed\n\t\t\t\tif ( options.mimeType && xhr.overrideMimeType ) {\n\t\t\t\t\txhr.overrideMimeType( options.mimeType );\n\t\t\t\t}\n\n\t\t\t\t// X-Requested-With header\n\t\t\t\t// For cross-domain requests, seeing as conditions for a preflight are\n\t\t\t\t// akin to a jigsaw puzzle, we simply never set it to be sure.\n\t\t\t\t// (it can always be set on a per-request basis or even using ajaxSetup)\n\t\t\t\t// For same-domain requests, won't change header if already provided.\n\t\t\t\tif ( !options.crossDomain && !headers[ \"X-Requested-With\" ] ) {\n\t\t\t\t\theaders[ \"X-Requested-With\" ] = \"XMLHttpRequest\";\n\t\t\t\t}\n\n\t\t\t\t// Set headers\n\t\t\t\tfor ( i in headers ) {\n\t\t\t\t\txhr.setRequestHeader( i, headers[ i ] );\n\t\t\t\t}\n\n\t\t\t\t// Callback\n\t\t\t\tcallback = function( type ) {\n\t\t\t\t\treturn function() {\n\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\tcallback = errorCallback = xhr.onload =\n\t\t\t\t\t\t\t\txhr.onerror = xhr.onabort = xhr.ontimeout =\n\t\t\t\t\t\t\t\t\txhr.onreadystatechange = null;\n\n\t\t\t\t\t\t\tif ( type === \"abort\" ) {\n\t\t\t\t\t\t\t\txhr.abort();\n\t\t\t\t\t\t\t} else if ( type === \"error\" ) {\n\n\t\t\t\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t\t\t\t// On a manual native abort, IE9 throws\n\t\t\t\t\t\t\t\t// errors on any property access that is not readyState\n\t\t\t\t\t\t\t\tif ( typeof xhr.status !== \"number\" ) {\n\t\t\t\t\t\t\t\t\tcomplete( 0, \"error\" );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcomplete(\n\n\t\t\t\t\t\t\t\t\t\t// File: protocol always yields status 0; see trac-8605, trac-14207\n\t\t\t\t\t\t\t\t\t\txhr.status,\n\t\t\t\t\t\t\t\t\t\txhr.statusText\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcomplete(\n\t\t\t\t\t\t\t\t\txhrSuccessStatus[ xhr.status ] || xhr.status,\n\t\t\t\t\t\t\t\t\txhr.statusText,\n\n\t\t\t\t\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t\t\t\t\t// IE9 has no XHR2 but throws on binary (trac-11426)\n\t\t\t\t\t\t\t\t\t// For XHR2 non-text, let the caller handle it (gh-2498)\n\t\t\t\t\t\t\t\t\t( xhr.responseType || \"text\" ) !== \"text\"  ||\n\t\t\t\t\t\t\t\t\ttypeof xhr.responseText !== \"string\" ?\n\t\t\t\t\t\t\t\t\t\t{ binary: xhr.response } :\n\t\t\t\t\t\t\t\t\t\t{ text: xhr.responseText },\n\t\t\t\t\t\t\t\t\txhr.getAllResponseHeaders()\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t};\n\n\t\t\t\t// Listen to events\n\t\t\t\txhr.onload = callback();\n\t\t\t\terrorCallback = xhr.onerror = xhr.ontimeout = callback( \"error\" );\n\n\t\t\t\t// Support: IE 9 only\n\t\t\t\t// Use onreadystatechange to replace onabort\n\t\t\t\t// to handle uncaught aborts\n\t\t\t\tif ( xhr.onabort !== undefined ) {\n\t\t\t\t\txhr.onabort = errorCallback;\n\t\t\t\t} else {\n\t\t\t\t\txhr.onreadystatechange = function() {\n\n\t\t\t\t\t\t// Check readyState before timeout as it changes\n\t\t\t\t\t\tif ( xhr.readyState === 4 ) {\n\n\t\t\t\t\t\t\t// Allow onerror to be called first,\n\t\t\t\t\t\t\t// but that will not handle a native abort\n\t\t\t\t\t\t\t// Also, save errorCallback to a variable\n\t\t\t\t\t\t\t// as xhr.onerror cannot be accessed\n\t\t\t\t\t\t\twindow.setTimeout( function() {\n\t\t\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\t\t\terrorCallback();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// Create the abort callback\n\t\t\t\tcallback = callback( \"abort\" );\n\n\t\t\t\ttry {\n\n\t\t\t\t\t// Do send the request (this may raise an exception)\n\t\t\t\t\txhr.send( options.hasContent && options.data || null );\n\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t// trac-14683: Only rethrow if this hasn't been notified as an error yet\n\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n} );\n\n\n\n\n// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)\njQuery.ajaxPrefilter( function( s ) {\n\tif ( s.crossDomain ) {\n\t\ts.contents.script = false;\n\t}\n} );\n\n// Install script dataType\njQuery.ajaxSetup( {\n\taccepts: {\n\t\tscript: \"text/javascript, application/javascript, \" +\n\t\t\t\"application/ecmascript, application/x-ecmascript\"\n\t},\n\tcontents: {\n\t\tscript: /\\b(?:java|ecma)script\\b/\n\t},\n\tconverters: {\n\t\t\"text script\": function( text ) {\n\t\t\tjQuery.globalEval( text );\n\t\t\treturn text;\n\t\t}\n\t}\n} );\n\n// Handle cache's special case and crossDomain\njQuery.ajaxPrefilter( \"script\", function( s ) {\n\tif ( s.cache === undefined ) {\n\t\ts.cache = false;\n\t}\n\tif ( s.crossDomain ) {\n\t\ts.type = \"GET\";\n\t}\n} );\n\n// Bind script tag hack transport\njQuery.ajaxTransport( \"script\", function( s ) {\n\n\t// This transport only deals with cross domain or forced-by-attrs requests\n\tif ( s.crossDomain || s.scriptAttrs ) {\n\t\tvar script, callback;\n\t\treturn {\n\t\t\tsend: function( _, complete ) {\n\t\t\t\tscript = jQuery( \"<script>\" )\n\t\t\t\t\t.attr( s.scriptAttrs || {} )\n\t\t\t\t\t.prop( { charset: s.scriptCharset, src: s.url } )\n\t\t\t\t\t.on( \"load error\", callback = function( evt ) {\n\t\t\t\t\t\tscript.remove();\n\t\t\t\t\t\tcallback = null;\n\t\t\t\t\t\tif ( evt ) {\n\t\t\t\t\t\t\tcomplete( evt.type === \"error\" ? 404 : 200, evt.type );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t// Use native DOM manipulation to avoid our domManip AJAX trickery\n\t\t\t\tdocument.head.appendChild( script[ 0 ] );\n\t\t\t},\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n} );\n\n\n\n\nvar oldCallbacks = [],\n\trjsonp = /(=)\\?(?=&|$)|\\?\\?/;\n\n// Default jsonp settings\njQuery.ajaxSetup( {\n\tjsonp: \"callback\",\n\tjsonpCallback: function() {\n\t\tvar callback = oldCallbacks.pop() || ( jQuery.expando + \"_\" + ( nonce.guid++ ) );\n\t\tthis[ callback ] = true;\n\t\treturn callback;\n\t}\n} );\n\n// Detect, normalize options and install callbacks for jsonp requests\njQuery.ajaxPrefilter( \"json jsonp\", function( s, originalSettings, jqXHR ) {\n\n\tvar callbackName, overwritten, responseContainer,\n\t\tjsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?\n\t\t\t\"url\" :\n\t\t\ttypeof s.data === \"string\" &&\n\t\t\t\t( s.contentType || \"\" )\n\t\t\t\t\t.indexOf( \"application/x-www-form-urlencoded\" ) === 0 &&\n\t\t\t\trjsonp.test( s.data ) && \"data\"\n\t\t);\n\n\t// Handle iff the expected data type is \"jsonp\" or we have a parameter to set\n\tif ( jsonProp || s.dataTypes[ 0 ] === \"jsonp\" ) {\n\n\t\t// Get callback name, remembering preexisting value associated with it\n\t\tcallbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ?\n\t\t\ts.jsonpCallback() :\n\t\t\ts.jsonpCallback;\n\n\t\t// Insert callback into url or form data\n\t\tif ( jsonProp ) {\n\t\t\ts[ jsonProp ] = s[ jsonProp ].replace( rjsonp, \"$1\" + callbackName );\n\t\t} else if ( s.jsonp !== false ) {\n\t\t\ts.url += ( rquery.test( s.url ) ? \"&\" : \"?\" ) + s.jsonp + \"=\" + callbackName;\n\t\t}\n\n\t\t// Use data converter to retrieve json after script execution\n\t\ts.converters[ \"script json\" ] = function() {\n\t\t\tif ( !responseContainer ) {\n\t\t\t\tjQuery.error( callbackName + \" was not called\" );\n\t\t\t}\n\t\t\treturn responseContainer[ 0 ];\n\t\t};\n\n\t\t// Force json dataType\n\t\ts.dataTypes[ 0 ] = \"json\";\n\n\t\t// Install callback\n\t\toverwritten = window[ callbackName ];\n\t\twindow[ callbackName ] = function() {\n\t\t\tresponseContainer = arguments;\n\t\t};\n\n\t\t// Clean-up function (fires after converters)\n\t\tjqXHR.always( function() {\n\n\t\t\t// If previous value didn't exist - remove it\n\t\t\tif ( overwritten === undefined ) {\n\t\t\t\tjQuery( window ).removeProp( callbackName );\n\n\t\t\t// Otherwise restore preexisting value\n\t\t\t} else {\n\t\t\t\twindow[ callbackName ] = overwritten;\n\t\t\t}\n\n\t\t\t// Save back as free\n\t\t\tif ( s[ callbackName ] ) {\n\n\t\t\t\t// Make sure that re-using the options doesn't screw things around\n\t\t\t\ts.jsonpCallback = originalSettings.jsonpCallback;\n\n\t\t\t\t// Save the callback name for future use\n\t\t\t\toldCallbacks.push( callbackName );\n\t\t\t}\n\n\t\t\t// Call if it was a function and we have a response\n\t\t\tif ( responseContainer && isFunction( overwritten ) ) {\n\t\t\t\toverwritten( responseContainer[ 0 ] );\n\t\t\t}\n\n\t\t\tresponseContainer = overwritten = undefined;\n\t\t} );\n\n\t\t// Delegate to script\n\t\treturn \"script\";\n\t}\n} );\n\n\n\n\n// Support: Safari 8 only\n// In Safari 8 documents created via document.implementation.createHTMLDocument\n// collapse sibling forms: the second one becomes a child of the first one.\n// Because of that, this security measure has to be disabled in Safari 8.\n// https://bugs.webkit.org/show_bug.cgi?id=137337\nsupport.createHTMLDocument = ( function() {\n\tvar body = document.implementation.createHTMLDocument( \"\" ).body;\n\tbody.innerHTML = \"<form></form><form></form>\";\n\treturn body.childNodes.length === 2;\n} )();\n\n\n// Argument \"data\" should be string of html\n// context (optional): If specified, the fragment will be created in this context,\n// defaults to document\n// keepScripts (optional): If true, will include scripts passed in the html string\njQuery.parseHTML = function( data, context, keepScripts ) {\n\tif ( typeof data !== \"string\" ) {\n\t\treturn [];\n\t}\n\tif ( typeof context === \"boolean\" ) {\n\t\tkeepScripts = context;\n\t\tcontext = false;\n\t}\n\n\tvar base, parsed, scripts;\n\n\tif ( !context ) {\n\n\t\t// Stop scripts or inline event handlers from being executed immediately\n\t\t// by using document.implementation\n\t\tif ( support.createHTMLDocument ) {\n\t\t\tcontext = document.implementation.createHTMLDocument( \"\" );\n\n\t\t\t// Set the base href for the created document\n\t\t\t// so any parsed elements with URLs\n\t\t\t// are based on the document's URL (gh-2965)\n\t\t\tbase = context.createElement( \"base\" );\n\t\t\tbase.href = document.location.href;\n\t\t\tcontext.head.appendChild( base );\n\t\t} else {\n\t\t\tcontext = document;\n\t\t}\n\t}\n\n\tparsed = rsingleTag.exec( data );\n\tscripts = !keepScripts && [];\n\n\t// Single tag\n\tif ( parsed ) {\n\t\treturn [ context.createElement( parsed[ 1 ] ) ];\n\t}\n\n\tparsed = buildFragment( [ data ], context, scripts );\n\n\tif ( scripts && scripts.length ) {\n\t\tjQuery( scripts ).remove();\n\t}\n\n\treturn jQuery.merge( [], parsed.childNodes );\n};\n\n\n/**\n * Load a url into a page\n */\njQuery.fn.load = function( url, params, callback ) {\n\tvar selector, type, response,\n\t\tself = this,\n\t\toff = url.indexOf( \" \" );\n\n\tif ( off > -1 ) {\n\t\tselector = stripAndCollapse( url.slice( off ) );\n\t\turl = url.slice( 0, off );\n\t}\n\n\t// If it's a function\n\tif ( isFunction( params ) ) {\n\n\t\t// We assume that it's the callback\n\t\tcallback = params;\n\t\tparams = undefined;\n\n\t// Otherwise, build a param string\n\t} else if ( params && typeof params === \"object\" ) {\n\t\ttype = \"POST\";\n\t}\n\n\t// If we have elements to modify, make the request\n\tif ( self.length > 0 ) {\n\t\tjQuery.ajax( {\n\t\t\turl: url,\n\n\t\t\t// If \"type\" variable is undefined, then \"GET\" method will be used.\n\t\t\t// Make value of this field explicit since\n\t\t\t// user can override it through ajaxSetup method\n\t\t\ttype: type || \"GET\",\n\t\t\tdataType: \"html\",\n\t\t\tdata: params\n\t\t} ).done( function( responseText ) {\n\n\t\t\t// Save response for use in complete callback\n\t\t\tresponse = arguments;\n\n\t\t\tself.html( selector ?\n\n\t\t\t\t// If a selector was specified, locate the right elements in a dummy div\n\t\t\t\t// Exclude scripts to avoid IE 'Permission Denied' errors\n\t\t\t\tjQuery( \"<div>\" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :\n\n\t\t\t\t// Otherwise use the full result\n\t\t\t\tresponseText );\n\n\t\t// If the request succeeds, this function gets \"data\", \"status\", \"jqXHR\"\n\t\t// but they are ignored because response was set above.\n\t\t// If it fails, this function gets \"jqXHR\", \"status\", \"error\"\n\t\t} ).always( callback && function( jqXHR, status ) {\n\t\t\tself.each( function() {\n\t\t\t\tcallback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );\n\t\t\t} );\n\t\t} );\n\t}\n\n\treturn this;\n};\n\n\n\n\njQuery.expr.pseudos.animated = function( elem ) {\n\treturn jQuery.grep( jQuery.timers, function( fn ) {\n\t\treturn elem === fn.elem;\n\t} ).length;\n};\n\n\n\n\njQuery.offset = {\n\tsetOffset: function( elem, options, i ) {\n\t\tvar curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,\n\t\t\tposition = jQuery.css( elem, \"position\" ),\n\t\t\tcurElem = jQuery( elem ),\n\t\t\tprops = {};\n\n\t\t// Set position first, in-case top/left are set even on static elem\n\t\tif ( position === \"static\" ) {\n\t\t\telem.style.position = \"relative\";\n\t\t}\n\n\t\tcurOffset = curElem.offset();\n\t\tcurCSSTop = jQuery.css( elem, \"top\" );\n\t\tcurCSSLeft = jQuery.css( elem, \"left\" );\n\t\tcalculatePosition = ( position === \"absolute\" || position === \"fixed\" ) &&\n\t\t\t( curCSSTop + curCSSLeft ).indexOf( \"auto\" ) > -1;\n\n\t\t// Need to be able to calculate position if either\n\t\t// top or left is auto and position is either absolute or fixed\n\t\tif ( calculatePosition ) {\n\t\t\tcurPosition = curElem.position();\n\t\t\tcurTop = curPosition.top;\n\t\t\tcurLeft = curPosition.left;\n\n\t\t} else {\n\t\t\tcurTop = parseFloat( curCSSTop ) || 0;\n\t\t\tcurLeft = parseFloat( curCSSLeft ) || 0;\n\t\t}\n\n\t\tif ( isFunction( options ) ) {\n\n\t\t\t// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)\n\t\t\toptions = options.call( elem, i, jQuery.extend( {}, curOffset ) );\n\t\t}\n\n\t\tif ( options.top != null ) {\n\t\t\tprops.top = ( options.top - curOffset.top ) + curTop;\n\t\t}\n\t\tif ( options.left != null ) {\n\t\t\tprops.left = ( options.left - curOffset.left ) + curLeft;\n\t\t}\n\n\t\tif ( \"using\" in options ) {\n\t\t\toptions.using.call( elem, props );\n\n\t\t} else {\n\t\t\tcurElem.css( props );\n\t\t}\n\t}\n};\n\njQuery.fn.extend( {\n\n\t// offset() relates an element's border box to the document origin\n\toffset: function( options ) {\n\n\t\t// Preserve chaining for setter\n\t\tif ( arguments.length ) {\n\t\t\treturn options === undefined ?\n\t\t\t\tthis :\n\t\t\t\tthis.each( function( i ) {\n\t\t\t\t\tjQuery.offset.setOffset( this, options, i );\n\t\t\t\t} );\n\t\t}\n\n\t\tvar rect, win,\n\t\t\telem = this[ 0 ];\n\n\t\tif ( !elem ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Return zeros for disconnected and hidden (display: none) elements (gh-2310)\n\t\t// Support: IE <=11 only\n\t\t// Running getBoundingClientRect on a\n\t\t// disconnected node in IE throws an error\n\t\tif ( !elem.getClientRects().length ) {\n\t\t\treturn { top: 0, left: 0 };\n\t\t}\n\n\t\t// Get document-relative position by adding viewport scroll to viewport-relative gBCR\n\t\trect = elem.getBoundingClientRect();\n\t\twin = elem.ownerDocument.defaultView;\n\t\treturn {\n\t\t\ttop: rect.top + win.pageYOffset,\n\t\t\tleft: rect.left + win.pageXOffset\n\t\t};\n\t},\n\n\t// position() relates an element's margin box to its offset parent's padding box\n\t// This corresponds to the behavior of CSS absolute positioning\n\tposition: function() {\n\t\tif ( !this[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar offsetParent, offset, doc,\n\t\t\telem = this[ 0 ],\n\t\t\tparentOffset = { top: 0, left: 0 };\n\n\t\t// position:fixed elements are offset from the viewport, which itself always has zero offset\n\t\tif ( jQuery.css( elem, \"position\" ) === \"fixed\" ) {\n\n\t\t\t// Assume position:fixed implies availability of getBoundingClientRect\n\t\t\toffset = elem.getBoundingClientRect();\n\n\t\t} else {\n\t\t\toffset = this.offset();\n\n\t\t\t// Account for the *real* offset parent, which can be the document or its root element\n\t\t\t// when a statically positioned element is identified\n\t\t\tdoc = elem.ownerDocument;\n\t\t\toffsetParent = elem.offsetParent || doc.documentElement;\n\t\t\twhile ( offsetParent &&\n\t\t\t\t( offsetParent === doc.body || offsetParent === doc.documentElement ) &&\n\t\t\t\tjQuery.css( offsetParent, \"position\" ) === \"static\" ) {\n\n\t\t\t\toffsetParent = offsetParent.parentNode;\n\t\t\t}\n\t\t\tif ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) {\n\n\t\t\t\t// Incorporate borders into its offset, since they are outside its content origin\n\t\t\t\tparentOffset = jQuery( offsetParent ).offset();\n\t\t\t\tparentOffset.top += jQuery.css( offsetParent, \"borderTopWidth\", true );\n\t\t\t\tparentOffset.left += jQuery.css( offsetParent, \"borderLeftWidth\", true );\n\t\t\t}\n\t\t}\n\n\t\t// Subtract parent offsets and element margins\n\t\treturn {\n\t\t\ttop: offset.top - parentOffset.top - jQuery.css( elem, \"marginTop\", true ),\n\t\t\tleft: offset.left - parentOffset.left - jQuery.css( elem, \"marginLeft\", true )\n\t\t};\n\t},\n\n\t// This method will return documentElement in the following cases:\n\t// 1) For the element inside the iframe without offsetParent, this method will return\n\t//    documentElement of the parent window\n\t// 2) For the hidden or detached element\n\t// 3) For body or html element, i.e. in case of the html node - it will return itself\n\t//\n\t// but those exceptions were never presented as a real life use-cases\n\t// and might be considered as more preferable results.\n\t//\n\t// This logic, however, is not guaranteed and can change at any point in the future\n\toffsetParent: function() {\n\t\treturn this.map( function() {\n\t\t\tvar offsetParent = this.offsetParent;\n\n\t\t\twhile ( offsetParent && jQuery.css( offsetParent, \"position\" ) === \"static\" ) {\n\t\t\t\toffsetParent = offsetParent.offsetParent;\n\t\t\t}\n\n\t\t\treturn offsetParent || documentElement;\n\t\t} );\n\t}\n} );\n\n// Create scrollLeft and scrollTop methods\njQuery.each( { scrollLeft: \"pageXOffset\", scrollTop: \"pageYOffset\" }, function( method, prop ) {\n\tvar top = \"pageYOffset\" === prop;\n\n\tjQuery.fn[ method ] = function( val ) {\n\t\treturn access( this, function( elem, method, val ) {\n\n\t\t\t// Coalesce documents and windows\n\t\t\tvar win;\n\t\t\tif ( isWindow( elem ) ) {\n\t\t\t\twin = elem;\n\t\t\t} else if ( elem.nodeType === 9 ) {\n\t\t\t\twin = elem.defaultView;\n\t\t\t}\n\n\t\t\tif ( val === undefined ) {\n\t\t\t\treturn win ? win[ prop ] : elem[ method ];\n\t\t\t}\n\n\t\t\tif ( win ) {\n\t\t\t\twin.scrollTo(\n\t\t\t\t\t!top ? val : win.pageXOffset,\n\t\t\t\t\ttop ? val : win.pageYOffset\n\t\t\t\t);\n\n\t\t\t} else {\n\t\t\t\telem[ method ] = val;\n\t\t\t}\n\t\t}, method, val, arguments.length );\n\t};\n} );\n\n// Support: Safari <=7 - 9.1, Chrome <=37 - 49\n// Add the top/left cssHooks using jQuery.fn.position\n// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084\n// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347\n// getComputedStyle returns percent when specified for top/left/bottom/right;\n// rather than make the css module depend on the offset module, just check for it here\njQuery.each( [ \"top\", \"left\" ], function( _i, prop ) {\n\tjQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,\n\t\tfunction( elem, computed ) {\n\t\t\tif ( computed ) {\n\t\t\t\tcomputed = curCSS( elem, prop );\n\n\t\t\t\t// If curCSS returns percentage, fallback to offset\n\t\t\t\treturn rnumnonpx.test( computed ) ?\n\t\t\t\t\tjQuery( elem ).position()[ prop ] + \"px\" :\n\t\t\t\t\tcomputed;\n\t\t\t}\n\t\t}\n\t);\n} );\n\n\n// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods\njQuery.each( { Height: \"height\", Width: \"width\" }, function( name, type ) {\n\tjQuery.each( {\n\t\tpadding: \"inner\" + name,\n\t\tcontent: type,\n\t\t\"\": \"outer\" + name\n\t}, function( defaultExtra, funcName ) {\n\n\t\t// Margin is only for outerHeight, outerWidth\n\t\tjQuery.fn[ funcName ] = function( margin, value ) {\n\t\t\tvar chainable = arguments.length && ( defaultExtra || typeof margin !== \"boolean\" ),\n\t\t\t\textra = defaultExtra || ( margin === true || value === true ? \"margin\" : \"border\" );\n\n\t\t\treturn access( this, function( elem, type, value ) {\n\t\t\t\tvar doc;\n\n\t\t\t\tif ( isWindow( elem ) ) {\n\n\t\t\t\t\t// $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)\n\t\t\t\t\treturn funcName.indexOf( \"outer\" ) === 0 ?\n\t\t\t\t\t\telem[ \"inner\" + name ] :\n\t\t\t\t\t\telem.document.documentElement[ \"client\" + name ];\n\t\t\t\t}\n\n\t\t\t\t// Get document width or height\n\t\t\t\tif ( elem.nodeType === 9 ) {\n\t\t\t\t\tdoc = elem.documentElement;\n\n\t\t\t\t\t// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],\n\t\t\t\t\t// whichever is greatest\n\t\t\t\t\treturn Math.max(\n\t\t\t\t\t\telem.body[ \"scroll\" + name ], doc[ \"scroll\" + name ],\n\t\t\t\t\t\telem.body[ \"offset\" + name ], doc[ \"offset\" + name ],\n\t\t\t\t\t\tdoc[ \"client\" + name ]\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn value === undefined ?\n\n\t\t\t\t\t// Get width or height on the element, requesting but not forcing parseFloat\n\t\t\t\t\tjQuery.css( elem, type, extra ) :\n\n\t\t\t\t\t// Set width or height on the element\n\t\t\t\t\tjQuery.style( elem, type, value, extra );\n\t\t\t}, type, chainable ? margin : undefined, chainable );\n\t\t};\n\t} );\n} );\n\n\njQuery.each( [\n\t\"ajaxStart\",\n\t\"ajaxStop\",\n\t\"ajaxComplete\",\n\t\"ajaxError\",\n\t\"ajaxSuccess\",\n\t\"ajaxSend\"\n], function( _i, type ) {\n\tjQuery.fn[ type ] = function( fn ) {\n\t\treturn this.on( type, fn );\n\t};\n} );\n\n\n\n\njQuery.fn.extend( {\n\n\tbind: function( types, data, fn ) {\n\t\treturn this.on( types, null, data, fn );\n\t},\n\tunbind: function( types, fn ) {\n\t\treturn this.off( types, null, fn );\n\t},\n\n\tdelegate: function( selector, types, data, fn ) {\n\t\treturn this.on( types, selector, data, fn );\n\t},\n\tundelegate: function( selector, types, fn ) {\n\n\t\t// ( namespace ) or ( selector, types [, fn] )\n\t\treturn arguments.length === 1 ?\n\t\t\tthis.off( selector, \"**\" ) :\n\t\t\tthis.off( types, selector || \"**\", fn );\n\t},\n\n\thover: function( fnOver, fnOut ) {\n\t\treturn this\n\t\t\t.on( \"mouseenter\", fnOver )\n\t\t\t.on( \"mouseleave\", fnOut || fnOver );\n\t}\n} );\n\njQuery.each(\n\t( \"blur focus focusin focusout resize scroll click dblclick \" +\n\t\"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave \" +\n\t\"change select submit keydown keypress keyup contextmenu\" ).split( \" \" ),\n\tfunction( _i, name ) {\n\n\t\t// Handle event binding\n\t\tjQuery.fn[ name ] = function( data, fn ) {\n\t\t\treturn arguments.length > 0 ?\n\t\t\t\tthis.on( name, null, data, fn ) :\n\t\t\t\tthis.trigger( name );\n\t\t};\n\t}\n);\n\n\n\n\n// Support: Android <=4.0 only\n// Make sure we trim BOM and NBSP\n// Require that the \"whitespace run\" starts from a non-whitespace\n// to avoid O(N^2) behavior when the engine would try matching \"\\s+$\" at each space position.\nvar rtrim = /^[\\s\\uFEFF\\xA0]+|([^\\s\\uFEFF\\xA0])[\\s\\uFEFF\\xA0]+$/g;\n\n// Bind a function to a context, optionally partially applying any\n// arguments.\n// jQuery.proxy is deprecated to promote standards (specifically Function#bind)\n// However, it is not slated for removal any time soon\njQuery.proxy = function( fn, context ) {\n\tvar tmp, args, proxy;\n\n\tif ( typeof context === \"string\" ) {\n\t\ttmp = fn[ context ];\n\t\tcontext = fn;\n\t\tfn = tmp;\n\t}\n\n\t// Quick check to determine if target is callable, in the spec\n\t// this throws a TypeError, but we will just return undefined.\n\tif ( !isFunction( fn ) ) {\n\t\treturn undefined;\n\t}\n\n\t// Simulated bind\n\targs = slice.call( arguments, 2 );\n\tproxy = function() {\n\t\treturn fn.apply( context || this, args.concat( slice.call( arguments ) ) );\n\t};\n\n\t// Set the guid of unique handler to the same of original handler, so it can be removed\n\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\n\n\treturn proxy;\n};\n\njQuery.holdReady = function( hold ) {\n\tif ( hold ) {\n\t\tjQuery.readyWait++;\n\t} else {\n\t\tjQuery.ready( true );\n\t}\n};\njQuery.isArray = Array.isArray;\njQuery.parseJSON = JSON.parse;\njQuery.nodeName = nodeName;\njQuery.isFunction = isFunction;\njQuery.isWindow = isWindow;\njQuery.camelCase = camelCase;\njQuery.type = toType;\n\njQuery.now = Date.now;\n\njQuery.isNumeric = function( obj ) {\n\n\t// As of jQuery 3.0, isNumeric is limited to\n\t// strings and numbers (primitives or objects)\n\t// that can be coerced to finite numbers (gh-2662)\n\tvar type = jQuery.type( obj );\n\treturn ( type === \"number\" || type === \"string\" ) &&\n\n\t\t// parseFloat NaNs numeric-cast false positives (\"\")\n\t\t// ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n\t\t// subtraction forces infinities to NaN\n\t\t!isNaN( obj - parseFloat( obj ) );\n};\n\njQuery.trim = function( text ) {\n\treturn text == null ?\n\t\t\"\" :\n\t\t( text + \"\" ).replace( rtrim, \"$1\" );\n};\n\n\n\n// Register as a named AMD module, since jQuery can be concatenated with other\n// files that may use define, but not via a proper concatenation script that\n// understands anonymous AMD modules. A named AMD is safest and most robust\n// way to register. Lowercase jquery is used because AMD module names are\n// derived from file names, and jQuery is normally delivered in a lowercase\n// file name. Do this after creating the global so that if an AMD module wants\n// to call noConflict to hide this version of jQuery, it will work.\n\n// Note that for maximum portability, libraries that are not jQuery should\n// declare themselves as anonymous modules, and avoid setting a global if an\n// AMD loader is present. jQuery is a special case. For more information, see\n// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon\n\nif ( typeof define === \"function\" && define.amd ) {\n\tdefine( \"jquery\", [], function() {\n\t\treturn jQuery;\n\t} );\n}\n\n\n\n\nvar\n\n\t// Map over jQuery in case of overwrite\n\t_jQuery = window.jQuery,\n\n\t// Map over the $ in case of overwrite\n\t_$ = window.$;\n\njQuery.noConflict = function( deep ) {\n\tif ( window.$ === jQuery ) {\n\t\twindow.$ = _$;\n\t}\n\n\tif ( deep && window.jQuery === jQuery ) {\n\t\twindow.jQuery = _jQuery;\n\t}\n\n\treturn jQuery;\n};\n\n// Expose jQuery and $ identifiers, even in AMD\n// (trac-7102#comment:10, https://github.com/jquery/jquery/pull/557)\n// and CommonJS for browser emulators (trac-13566)\nif ( typeof noGlobal === \"undefined\" ) {\n\twindow.jQuery = window.$ = jQuery;\n}\n\n\n\n\nreturn jQuery;\n} );\n", "/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n  return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n  return {\n    bindType: TRANSITION_END,\n    delegateType: TRANSITION_END,\n    handle(event) {\n      if ($(event.target).is(this)) {\n        return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n      }\n      return undefined // eslint-disable-line no-undefined\n    }\n  }\n}\n\nfunction transitionEndEmulator(duration) {\n  let called = false\n\n  $(this).one(Util.TRANSITION_END, () => {\n    called = true\n  })\n\n  setTimeout(() => {\n    if (!called) {\n      Util.triggerTransitionEnd(this)\n    }\n  }, duration)\n\n  return this\n}\n\nfunction setTransitionEndSupport() {\n  $.fn.emulateTransitionEnd = transitionEndEmulator\n  $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n  TRANSITION_END: 'bsTransitionEnd',\n\n  getUID(prefix) {\n    do {\n      // eslint-disable-next-line no-bitwise\n      prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n    } while (document.getElementById(prefix))\n    return prefix\n  },\n\n  getSelectorFromElement(element) {\n    let selector = element.getAttribute('data-target')\n\n    if (!selector || selector === '#') {\n      const hrefAttr = element.getAttribute('href')\n      selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n    }\n\n    try {\n      return document.querySelector(selector) ? selector : null\n    } catch (err) {\n      return null\n    }\n  },\n\n  getTransitionDurationFromElement(element) {\n    if (!element) {\n      return 0\n    }\n\n    // Get transition-duration of the element\n    let transitionDuration = $(element).css('transition-duration')\n    let transitionDelay = $(element).css('transition-delay')\n\n    const floatTransitionDuration = parseFloat(transitionDuration)\n    const floatTransitionDelay = parseFloat(transitionDelay)\n\n    // Return 0 if element or transition duration is not found\n    if (!floatTransitionDuration && !floatTransitionDelay) {\n      return 0\n    }\n\n    // If multiple durations are defined, take the first\n    transitionDuration = transitionDuration.split(',')[0]\n    transitionDelay = transitionDelay.split(',')[0]\n\n    return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n  },\n\n  reflow(element) {\n    return element.offsetHeight\n  },\n\n  triggerTransitionEnd(element) {\n    $(element).trigger(TRANSITION_END)\n  },\n\n  // TODO: Remove in v5\n  supportsTransitionEnd() {\n    return Boolean(TRANSITION_END)\n  },\n\n  isElement(obj) {\n    return (obj[0] || obj).nodeType\n  },\n\n  typeCheckConfig(componentName, config, configTypes) {\n    for (const property in configTypes) {\n      if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n        const expectedTypes = configTypes[property]\n        const value         = config[property]\n        const valueType     = value && Util.isElement(value)\n          ? 'element' : toType(value)\n\n        if (!new RegExp(expectedTypes).test(valueType)) {\n          throw new Error(\n            `${componentName.toUpperCase()}: ` +\n            `Option \"${property}\" provided type \"${valueType}\" ` +\n            `but expected type \"${expectedTypes}\".`)\n        }\n      }\n    }\n  },\n\n  findShadowRoot(element) {\n    if (!document.documentElement.attachShadow) {\n      return null\n    }\n\n    // Can find the shadow root otherwise it'll return the document\n    if (typeof element.getRootNode === 'function') {\n      const root = element.getRootNode()\n      return root instanceof ShadowRoot ? root : null\n    }\n\n    if (element instanceof ShadowRoot) {\n      return element\n    }\n\n    // when we don't find a shadow root\n    if (!element.parentNode) {\n      return null\n    }\n\n    return Util.findShadowRoot(element.parentNode)\n  }\n}\n\nsetTransitionEndSupport()\n\nexport default Util\n", "/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME                = 'alert'\nconst VERSION             = '4.3.1'\nconst DATA_KEY            = 'bs.alert'\nconst EVENT_KEY           = `.${DATA_KEY}`\nconst DATA_API_KEY        = '.data-api'\nconst JQUERY_NO_CONFLICT  = $.fn[NAME]\n\nconst Selector = {\n  DISMISS : '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n  CLOSE          : `close${EVENT_KEY}`,\n  CLOSED         : `closed${EVENT_KEY}`,\n  CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n  ALERT : 'alert',\n  FADE  : 'fade',\n  SHOW  : 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n  constructor(element) {\n    this._element = element\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  // Public\n\n  close(element) {\n    let rootElement = this._element\n    if (element) {\n      rootElement = this._getRootElement(element)\n    }\n\n    const customEvent = this._triggerCloseEvent(rootElement)\n\n    if (customEvent.isDefaultPrevented()) {\n      return\n    }\n\n    this._removeElement(rootElement)\n  }\n\n  dispose() {\n    $.removeData(this._element, DATA_KEY)\n    this._element = null\n  }\n\n  // Private\n\n  _getRootElement(element) {\n    const selector = Util.getSelectorFromElement(element)\n    let parent     = false\n\n    if (selector) {\n      parent = document.querySelector(selector)\n    }\n\n    if (!parent) {\n      parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n    }\n\n    return parent\n  }\n\n  _triggerCloseEvent(element) {\n    const closeEvent = $.Event(Event.CLOSE)\n\n    $(element).trigger(closeEvent)\n    return closeEvent\n  }\n\n  _removeElement(element) {\n    $(element).removeClass(ClassName.SHOW)\n\n    if (!$(element).hasClass(ClassName.FADE)) {\n      this._destroyElement(element)\n      return\n    }\n\n    const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n    $(element)\n      .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n      .emulateTransitionEnd(transitionDuration)\n  }\n\n  _destroyElement(element) {\n    $(element)\n      .detach()\n      .trigger(Event.CLOSED)\n      .remove()\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      const $element = $(this)\n      let data       = $element.data(DATA_KEY)\n\n      if (!data) {\n        data = new Alert(this)\n        $element.data(DATA_KEY, data)\n      }\n\n      if (config === 'close') {\n        data[config](this)\n      }\n    })\n  }\n\n  static _handleDismiss(alertInstance) {\n    return function (event) {\n      if (event) {\n        event.preventDefault()\n      }\n\n      alertInstance.close(this)\n    }\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n  Event.CLICK_DATA_API,\n  Selector.DISMISS,\n  Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME]             = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict  = () => {\n  $.fn[NAME] = JQUERY_NO_CONFLICT\n  return Alert._jQueryInterface\n}\n\nexport default Alert\n", "/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME                = 'button'\nconst VERSION             = '4.3.1'\nconst DATA_KEY            = 'bs.button'\nconst EVENT_KEY           = `.${DATA_KEY}`\nconst DATA_API_KEY        = '.data-api'\nconst JQUERY_NO_CONFLICT  = $.fn[NAME]\n\nconst ClassName = {\n  ACTIVE : 'active',\n  BUTTON : 'btn',\n  FOCUS  : 'focus'\n}\n\nconst Selector = {\n  DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n  DATA_TOGGLE        : '[data-toggle=\"buttons\"]',\n  INPUT              : 'input:not([type=\"hidden\"])',\n  ACTIVE             : '.active',\n  BUTTON             : '.btn'\n}\n\nconst Event = {\n  CLICK_DATA_API      : `click${EVENT_KEY}${DATA_API_KEY}`,\n  FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n                          `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n  constructor(element) {\n    this._element = element\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  // Public\n\n  toggle() {\n    let triggerChangeEvent = true\n    let addAriaPressed = true\n    const rootElement = $(this._element).closest(\n      Selector.DATA_TOGGLE\n    )[0]\n\n    if (rootElement) {\n      const input = this._element.querySelector(Selector.INPUT)\n\n      if (input) {\n        if (input.type === 'radio') {\n          if (input.checked &&\n            this._element.classList.contains(ClassName.ACTIVE)) {\n            triggerChangeEvent = false\n          } else {\n            const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n            if (activeElement) {\n              $(activeElement).removeClass(ClassName.ACTIVE)\n            }\n          }\n        }\n\n        if (triggerChangeEvent) {\n          if (input.hasAttribute('disabled') ||\n            rootElement.hasAttribute('disabled') ||\n            input.classList.contains('disabled') ||\n            rootElement.classList.contains('disabled')) {\n            return\n          }\n          input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n          $(input).trigger('change')\n        }\n\n        input.focus()\n        addAriaPressed = false\n      }\n    }\n\n    if (addAriaPressed) {\n      this._element.setAttribute('aria-pressed',\n        !this._element.classList.contains(ClassName.ACTIVE))\n    }\n\n    if (triggerChangeEvent) {\n      $(this._element).toggleClass(ClassName.ACTIVE)\n    }\n  }\n\n  dispose() {\n    $.removeData(this._element, DATA_KEY)\n    this._element = null\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      let data = $(this).data(DATA_KEY)\n\n      if (!data) {\n        data = new Button(this)\n        $(this).data(DATA_KEY, data)\n      }\n\n      if (config === 'toggle') {\n        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n  .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n    event.preventDefault()\n\n    let button = event.target\n\n    if (!$(button).hasClass(ClassName.BUTTON)) {\n      button = $(button).closest(Selector.BUTTON)\n    }\n\n    Button._jQueryInterface.call($(button), 'toggle')\n  })\n  .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n    const button = $(event.target).closest(Selector.BUTTON)[0]\n    $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n  })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n  $.fn[NAME] = JQUERY_NO_CONFLICT\n  return Button._jQueryInterface\n}\n\nexport default Button\n", "/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME                   = 'carousel'\nconst VERSION                = '4.3.1'\nconst DATA_KEY               = 'bs.carousel'\nconst EVENT_KEY              = `.${DATA_KEY}`\nconst DATA_API_KEY           = '.data-api'\nconst JQUERY_NO_CONFLICT     = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE     = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE    = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD        = 40\n\nconst Default = {\n  interval : 5000,\n  keyboard : true,\n  slide    : false,\n  pause    : 'hover',\n  wrap     : true,\n  touch    : true\n}\n\nconst DefaultType = {\n  interval : '(number|boolean)',\n  keyboard : 'boolean',\n  slide    : '(boolean|string)',\n  pause    : '(string|boolean)',\n  wrap     : 'boolean',\n  touch    : 'boolean'\n}\n\nconst Direction = {\n  NEXT     : 'next',\n  PREV     : 'prev',\n  LEFT     : 'left',\n  RIGHT    : 'right'\n}\n\nconst Event = {\n  SLIDE          : `slide${EVENT_KEY}`,\n  SLID           : `slid${EVENT_KEY}`,\n  KEYDOWN        : `keydown${EVENT_KEY}`,\n  MOUSEENTER     : `mouseenter${EVENT_KEY}`,\n  MOUSELEAVE     : `mouseleave${EVENT_KEY}`,\n  TOUCHSTART     : `touchstart${EVENT_KEY}`,\n  TOUCHMOVE      : `touchmove${EVENT_KEY}`,\n  TOUCHEND       : `touchend${EVENT_KEY}`,\n  POINTERDOWN    : `pointerdown${EVENT_KEY}`,\n  POINTERUP      : `pointerup${EVENT_KEY}`,\n  DRAG_START     : `dragstart${EVENT_KEY}`,\n  LOAD_DATA_API  : `load${EVENT_KEY}${DATA_API_KEY}`,\n  CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n  CAROUSEL      : 'carousel',\n  ACTIVE        : 'active',\n  SLIDE         : 'slide',\n  RIGHT         : 'carousel-item-right',\n  LEFT          : 'carousel-item-left',\n  NEXT          : 'carousel-item-next',\n  PREV          : 'carousel-item-prev',\n  ITEM          : 'carousel-item',\n  POINTER_EVENT : 'pointer-event'\n}\n\nconst Selector = {\n  ACTIVE      : '.active',\n  ACTIVE_ITEM : '.active.carousel-item',\n  ITEM        : '.carousel-item',\n  ITEM_IMG    : '.carousel-item img',\n  NEXT_PREV   : '.carousel-item-next, .carousel-item-prev',\n  INDICATORS  : '.carousel-indicators',\n  DATA_SLIDE  : '[data-slide], [data-slide-to]',\n  DATA_RIDE   : '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n  TOUCH : 'touch',\n  PEN   : 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n  constructor(element, config) {\n    this._items         = null\n    this._interval      = null\n    this._activeElement = null\n    this._isPaused      = false\n    this._isSliding     = false\n    this.touchTimeout   = null\n    this.touchStartX    = 0\n    this.touchDeltaX    = 0\n\n    this._config            = this._getConfig(config)\n    this._element           = element\n    this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n    this._touchSupported    = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n    this._pointerEvent      = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n    this._addEventListeners()\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get Default() {\n    return Default\n  }\n\n  // Public\n\n  next() {\n    if (!this._isSliding) {\n      this._slide(Direction.NEXT)\n    }\n  }\n\n  nextWhenVisible() {\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (!document.hidden &&\n      ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n      this.next()\n    }\n  }\n\n  prev() {\n    if (!this._isSliding) {\n      this._slide(Direction.PREV)\n    }\n  }\n\n  pause(event) {\n    if (!event) {\n      this._isPaused = true\n    }\n\n    if (this._element.querySelector(Selector.NEXT_PREV)) {\n      Util.triggerTransitionEnd(this._element)\n      this.cycle(true)\n    }\n\n    clearInterval(this._interval)\n    this._interval = null\n  }\n\n  cycle(event) {\n    if (!event) {\n      this._isPaused = false\n    }\n\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n\n    if (this._config.interval && !this._isPaused) {\n      this._interval = setInterval(\n        (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n        this._config.interval\n      )\n    }\n  }\n\n  to(index) {\n    this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n    const activeIndex = this._getItemIndex(this._activeElement)\n\n    if (index > this._items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      $(this._element).one(Event.SLID, () => this.to(index))\n      return\n    }\n\n    if (activeIndex === index) {\n      this.pause()\n      this.cycle()\n      return\n    }\n\n    const direction = index > activeIndex\n      ? Direction.NEXT\n      : Direction.PREV\n\n    this._slide(direction, this._items[index])\n  }\n\n  dispose() {\n    $(this._element).off(EVENT_KEY)\n    $.removeData(this._element, DATA_KEY)\n\n    this._items             = null\n    this._config            = null\n    this._element           = null\n    this._interval          = null\n    this._isPaused          = null\n    this._isSliding         = null\n    this._activeElement     = null\n    this._indicatorsElement = null\n  }\n\n  // Private\n\n  _getConfig(config) {\n    config = {\n      ...Default,\n      ...config\n    }\n    Util.typeCheckConfig(NAME, config, DefaultType)\n    return config\n  }\n\n  _handleSwipe() {\n    const absDeltax = Math.abs(this.touchDeltaX)\n\n    if (absDeltax <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltax / this.touchDeltaX\n\n    // swipe left\n    if (direction > 0) {\n      this.prev()\n    }\n\n    // swipe right\n    if (direction < 0) {\n      this.next()\n    }\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      $(this._element)\n        .on(Event.KEYDOWN, (event) => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      $(this._element)\n        .on(Event.MOUSEENTER, (event) => this.pause(event))\n        .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n    }\n\n    if (this._config.touch) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    if (!this._touchSupported) {\n      return\n    }\n\n    const start = (event) => {\n      if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n        this.touchStartX = event.originalEvent.clientX\n      } else if (!this._pointerEvent) {\n        this.touchStartX = event.originalEvent.touches[0].clientX\n      }\n    }\n\n    const move = (event) => {\n      // ensure swiping with one touch and not pinching\n      if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n        this.touchDeltaX = 0\n      } else {\n        this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n      }\n    }\n\n    const end = (event) => {\n      if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n        this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n      }\n\n      this._handleSwipe()\n      if (this._config.pause === 'hover') {\n        // If it's a touch-enabled device, mouseenter/leave are fired as\n        // part of the mouse compatibility events on first tap - the carousel\n        // would stop cycling until user tapped out of it;\n        // here, we listen for touchend, explicitly pause the carousel\n        // (as if it's the second time we tap on it, mouseenter compat event\n        // is NOT fired) and after a timeout (to allow for mouse compatibility\n        // events to fire) we explicitly restart cycling\n\n        this.pause()\n        if (this.touchTimeout) {\n          clearTimeout(this.touchTimeout)\n        }\n        this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n      }\n    }\n\n    $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault())\n    if (this._pointerEvent) {\n      $(this._element).on(Event.POINTERDOWN, (event) => start(event))\n      $(this._element).on(Event.POINTERUP, (event) => end(event))\n\n      this._element.classList.add(ClassName.POINTER_EVENT)\n    } else {\n      $(this._element).on(Event.TOUCHSTART, (event) => start(event))\n      $(this._element).on(Event.TOUCHMOVE, (event) => move(event))\n      $(this._element).on(Event.TOUCHEND, (event) => end(event))\n    }\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    switch (event.which) {\n      case ARROW_LEFT_KEYCODE:\n        event.preventDefault()\n        this.prev()\n        break\n      case ARROW_RIGHT_KEYCODE:\n        event.preventDefault()\n        this.next()\n        break\n      default:\n    }\n  }\n\n  _getItemIndex(element) {\n    this._items = element && element.parentNode\n      ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n      : []\n    return this._items.indexOf(element)\n  }\n\n  _getItemByDirection(direction, activeElement) {\n    const isNextDirection = direction === Direction.NEXT\n    const isPrevDirection = direction === Direction.PREV\n    const activeIndex     = this._getItemIndex(activeElement)\n    const lastItemIndex   = this._items.length - 1\n    const isGoingToWrap   = isPrevDirection && activeIndex === 0 ||\n                            isNextDirection && activeIndex === lastItemIndex\n\n    if (isGoingToWrap && !this._config.wrap) {\n      return activeElement\n    }\n\n    const delta     = direction === Direction.PREV ? -1 : 1\n    const itemIndex = (activeIndex + delta) % this._items.length\n\n    return itemIndex === -1\n      ? this._items[this._items.length - 1] : this._items[itemIndex]\n  }\n\n  _triggerSlideEvent(relatedTarget, eventDirectionName) {\n    const targetIndex = this._getItemIndex(relatedTarget)\n    const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n    const slideEvent = $.Event(Event.SLIDE, {\n      relatedTarget,\n      direction: eventDirectionName,\n      from: fromIndex,\n      to: targetIndex\n    })\n\n    $(this._element).trigger(slideEvent)\n\n    return slideEvent\n  }\n\n  _setActiveIndicatorElement(element) {\n    if (this._indicatorsElement) {\n      const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n      $(indicators)\n        .removeClass(ClassName.ACTIVE)\n\n      const nextIndicator = this._indicatorsElement.children[\n        this._getItemIndex(element)\n      ]\n\n      if (nextIndicator) {\n        $(nextIndicator).addClass(ClassName.ACTIVE)\n      }\n    }\n  }\n\n  _slide(direction, element) {\n    const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n    const activeElementIndex = this._getItemIndex(activeElement)\n    const nextElement   = element || activeElement &&\n      this._getItemByDirection(direction, activeElement)\n    const nextElementIndex = this._getItemIndex(nextElement)\n    const isCycling = Boolean(this._interval)\n\n    let directionalClassName\n    let orderClassName\n    let eventDirectionName\n\n    if (direction === Direction.NEXT) {\n      directionalClassName = ClassName.LEFT\n      orderClassName = ClassName.NEXT\n      eventDirectionName = Direction.LEFT\n    } else {\n      directionalClassName = ClassName.RIGHT\n      orderClassName = ClassName.PREV\n      eventDirectionName = Direction.RIGHT\n    }\n\n    if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n      this._isSliding = false\n      return\n    }\n\n    const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n    if (slideEvent.isDefaultPrevented()) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      return\n    }\n\n    this._isSliding = true\n\n    if (isCycling) {\n      this.pause()\n    }\n\n    this._setActiveIndicatorElement(nextElement)\n\n    const slidEvent = $.Event(Event.SLID, {\n      relatedTarget: nextElement,\n      direction: eventDirectionName,\n      from: activeElementIndex,\n      to: nextElementIndex\n    })\n\n    if ($(this._element).hasClass(ClassName.SLIDE)) {\n      $(nextElement).addClass(orderClassName)\n\n      Util.reflow(nextElement)\n\n      $(activeElement).addClass(directionalClassName)\n      $(nextElement).addClass(directionalClassName)\n\n      const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n      if (nextElementInterval) {\n        this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n        this._config.interval = nextElementInterval\n      } else {\n        this._config.interval = this._config.defaultInterval || this._config.interval\n      }\n\n      const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n      $(activeElement)\n        .one(Util.TRANSITION_END, () => {\n          $(nextElement)\n            .removeClass(`${directionalClassName} ${orderClassName}`)\n            .addClass(ClassName.ACTIVE)\n\n          $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n          this._isSliding = false\n\n          setTimeout(() => $(this._element).trigger(slidEvent), 0)\n        })\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      $(activeElement).removeClass(ClassName.ACTIVE)\n      $(nextElement).addClass(ClassName.ACTIVE)\n\n      this._isSliding = false\n      $(this._element).trigger(slidEvent)\n    }\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      let data = $(this).data(DATA_KEY)\n      let _config = {\n        ...Default,\n        ...$(this).data()\n      }\n\n      if (typeof config === 'object') {\n        _config = {\n          ..._config,\n          ...config\n        }\n      }\n\n      const action = typeof config === 'string' ? config : _config.slide\n\n      if (!data) {\n        data = new Carousel(this, _config)\n        $(this).data(DATA_KEY, data)\n      }\n\n      if (typeof config === 'number') {\n        data.to(config)\n      } else if (typeof action === 'string') {\n        if (typeof data[action] === 'undefined') {\n          throw new TypeError(`No method named \"${action}\"`)\n        }\n        data[action]()\n      } else if (_config.interval && _config.ride) {\n        data.pause()\n        data.cycle()\n      }\n    })\n  }\n\n  static _dataApiClickHandler(event) {\n    const selector = Util.getSelectorFromElement(this)\n\n    if (!selector) {\n      return\n    }\n\n    const target = $(selector)[0]\n\n    if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n      return\n    }\n\n    const config = {\n      ...$(target).data(),\n      ...$(this).data()\n    }\n    const slideIndex = this.getAttribute('data-slide-to')\n\n    if (slideIndex) {\n      config.interval = false\n    }\n\n    Carousel._jQueryInterface.call($(target), config)\n\n    if (slideIndex) {\n      $(target).data(DATA_KEY).to(slideIndex)\n    }\n\n    event.preventDefault()\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n  .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(Event.LOAD_DATA_API, () => {\n  const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n  for (let i = 0, len = carousels.length; i < len; i++) {\n    const $carousel = $(carousels[i])\n    Carousel._jQueryInterface.call($carousel, $carousel.data())\n  }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n  $.fn[NAME] = JQUERY_NO_CONFLICT\n  return Carousel._jQueryInterface\n}\n\nexport default Carousel\n", "/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME                = 'collapse'\nconst VERSION             = '4.3.1'\nconst DATA_KEY            = 'bs.collapse'\nconst EVENT_KEY           = `.${DATA_KEY}`\nconst DATA_API_KEY        = '.data-api'\nconst JQUERY_NO_CONFLICT  = $.fn[NAME]\n\nconst Default = {\n  toggle : true,\n  parent : ''\n}\n\nconst DefaultType = {\n  toggle : 'boolean',\n  parent : '(string|element)'\n}\n\nconst Event = {\n  SHOW           : `show${EVENT_KEY}`,\n  SHOWN          : `shown${EVENT_KEY}`,\n  HIDE           : `hide${EVENT_KEY}`,\n  HIDDEN         : `hidden${EVENT_KEY}`,\n  CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n  SHOW       : 'show',\n  COLLAPSE   : 'collapse',\n  COLLAPSING : 'collapsing',\n  COLLAPSED  : 'collapsed'\n}\n\nconst Dimension = {\n  WIDTH  : 'width',\n  HEIGHT : 'height'\n}\n\nconst Selector = {\n  ACTIVES     : '.show, .collapsing',\n  DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n  constructor(element, config) {\n    this._isTransitioning = false\n    this._element         = element\n    this._config          = this._getConfig(config)\n    this._triggerArray    = [].slice.call(document.querySelectorAll(\n      `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n      `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n    ))\n\n    const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n    for (let i = 0, len = toggleList.length; i < len; i++) {\n      const elem = toggleList[i]\n      const selector = Util.getSelectorFromElement(elem)\n      const filterElement = [].slice.call(document.querySelectorAll(selector))\n        .filter((foundElem) => foundElem === element)\n\n      if (selector !== null && filterElement.length > 0) {\n        this._selector = selector\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._parent = this._config.parent ? this._getParent() : null\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get Default() {\n    return Default\n  }\n\n  // Public\n\n  toggle() {\n    if ($(this._element).hasClass(ClassName.SHOW)) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning ||\n      $(this._element).hasClass(ClassName.SHOW)) {\n      return\n    }\n\n    let actives\n    let activesData\n\n    if (this._parent) {\n      actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n        .filter((elem) => {\n          if (typeof this._config.parent === 'string') {\n            return elem.getAttribute('data-parent') === this._config.parent\n          }\n\n          return elem.classList.contains(ClassName.COLLAPSE)\n        })\n\n      if (actives.length === 0) {\n        actives = null\n      }\n    }\n\n    if (actives) {\n      activesData = $(actives).not(this._selector).data(DATA_KEY)\n      if (activesData && activesData._isTransitioning) {\n        return\n      }\n    }\n\n    const startEvent = $.Event(Event.SHOW)\n    $(this._element).trigger(startEvent)\n    if (startEvent.isDefaultPrevented()) {\n      return\n    }\n\n    if (actives) {\n      Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n      if (!activesData) {\n        $(actives).data(DATA_KEY, null)\n      }\n    }\n\n    const dimension = this._getDimension()\n\n    $(this._element)\n      .removeClass(ClassName.COLLAPSE)\n      .addClass(ClassName.COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    if (this._triggerArray.length) {\n      $(this._triggerArray)\n        .removeClass(ClassName.COLLAPSED)\n        .attr('aria-expanded', true)\n    }\n\n    this.setTransitioning(true)\n\n    const complete = () => {\n      $(this._element)\n        .removeClass(ClassName.COLLAPSING)\n        .addClass(ClassName.COLLAPSE)\n        .addClass(ClassName.SHOW)\n\n      this._element.style[dimension] = ''\n\n      this.setTransitioning(false)\n\n      $(this._element).trigger(Event.SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n    const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n    $(this._element)\n      .one(Util.TRANSITION_END, complete)\n      .emulateTransitionEnd(transitionDuration)\n\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning ||\n      !$(this._element).hasClass(ClassName.SHOW)) {\n      return\n    }\n\n    const startEvent = $.Event(Event.HIDE)\n    $(this._element).trigger(startEvent)\n    if (startEvent.isDefaultPrevented()) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    Util.reflow(this._element)\n\n    $(this._element)\n      .addClass(ClassName.COLLAPSING)\n      .removeClass(ClassName.COLLAPSE)\n      .removeClass(ClassName.SHOW)\n\n    const triggerArrayLength = this._triggerArray.length\n    if (triggerArrayLength > 0) {\n      for (let i = 0; i < triggerArrayLength; i++) {\n        const trigger = this._triggerArray[i]\n        const selector = Util.getSelectorFromElement(trigger)\n\n        if (selector !== null) {\n          const $elem = $([].slice.call(document.querySelectorAll(selector)))\n          if (!$elem.hasClass(ClassName.SHOW)) {\n            $(trigger).addClass(ClassName.COLLAPSED)\n              .attr('aria-expanded', false)\n          }\n        }\n      }\n    }\n\n    this.setTransitioning(true)\n\n    const complete = () => {\n      this.setTransitioning(false)\n      $(this._element)\n        .removeClass(ClassName.COLLAPSING)\n        .addClass(ClassName.COLLAPSE)\n        .trigger(Event.HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n    const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n    $(this._element)\n      .one(Util.TRANSITION_END, complete)\n      .emulateTransitionEnd(transitionDuration)\n  }\n\n  setTransitioning(isTransitioning) {\n    this._isTransitioning = isTransitioning\n  }\n\n  dispose() {\n    $.removeData(this._element, DATA_KEY)\n\n    this._config          = null\n    this._parent          = null\n    this._element         = null\n    this._triggerArray    = null\n    this._isTransitioning = null\n  }\n\n  // Private\n\n  _getConfig(config) {\n    config = {\n      ...Default,\n      ...config\n    }\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    Util.typeCheckConfig(NAME, config, DefaultType)\n    return config\n  }\n\n  _getDimension() {\n    const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n    return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n  }\n\n  _getParent() {\n    let parent\n\n    if (Util.isElement(this._config.parent)) {\n      parent = this._config.parent\n\n      // It's a jQuery object\n      if (typeof this._config.parent.jquery !== 'undefined') {\n        parent = this._config.parent[0]\n      }\n    } else {\n      parent = document.querySelector(this._config.parent)\n    }\n\n    const selector =\n      `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n    const children = [].slice.call(parent.querySelectorAll(selector))\n    $(children).each((i, element) => {\n      this._addAriaAndCollapsedClass(\n        Collapse._getTargetFromElement(element),\n        [element]\n      )\n    })\n\n    return parent\n  }\n\n  _addAriaAndCollapsedClass(element, triggerArray) {\n    const isOpen = $(element).hasClass(ClassName.SHOW)\n\n    if (triggerArray.length) {\n      $(triggerArray)\n        .toggleClass(ClassName.COLLAPSED, !isOpen)\n        .attr('aria-expanded', isOpen)\n    }\n  }\n\n  // Static\n\n  static _getTargetFromElement(element) {\n    const selector = Util.getSelectorFromElement(element)\n    return selector ? document.querySelector(selector) : null\n  }\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      const $this   = $(this)\n      let data      = $this.data(DATA_KEY)\n      const _config = {\n        ...Default,\n        ...$this.data(),\n        ...typeof config === 'object' && config ? config : {}\n      }\n\n      if (!data && _config.toggle && /show|hide/.test(config)) {\n        _config.toggle = false\n      }\n\n      if (!data) {\n        data = new Collapse(this, _config)\n        $this.data(DATA_KEY, data)\n      }\n\n      if (typeof config === 'string') {\n        if (typeof data[config] === 'undefined') {\n          throw new TypeError(`No method named \"${config}\"`)\n        }\n        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.currentTarget.tagName === 'A') {\n    event.preventDefault()\n  }\n\n  const $trigger = $(this)\n  const selector = Util.getSelectorFromElement(this)\n  const selectors = [].slice.call(document.querySelectorAll(selector))\n\n  $(selectors).each(function () {\n    const $target = $(this)\n    const data    = $target.data(DATA_KEY)\n    const config  = data ? 'toggle' : $trigger.data()\n    Collapse._jQueryInterface.call($target, config)\n  })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n  $.fn[NAME] = JQUERY_NO_CONFLICT\n  return Collapse._jQueryInterface\n}\n\nexport default Collapse\n", "/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.14.7\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n  if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n    timeoutDuration = 1;\n    break;\n  }\n}\n\nfunction microtaskDebounce(fn) {\n  var called = false;\n  return function () {\n    if (called) {\n      return;\n    }\n    called = true;\n    window.Promise.resolve().then(function () {\n      called = false;\n      fn();\n    });\n  };\n}\n\nfunction taskDebounce(fn) {\n  var scheduled = false;\n  return function () {\n    if (!scheduled) {\n      scheduled = true;\n      setTimeout(function () {\n        scheduled = false;\n        fn();\n      }, timeoutDuration);\n    }\n  };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n  var getType = {};\n  return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n  if (element.nodeType !== 1) {\n    return [];\n  }\n  // NOTE: 1 DOM access here\n  var window = element.ownerDocument.defaultView;\n  var css = window.getComputedStyle(element, null);\n  return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n  if (element.nodeName === 'HTML') {\n    return element;\n  }\n  return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n  // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n  if (!element) {\n    return document.body;\n  }\n\n  switch (element.nodeName) {\n    case 'HTML':\n    case 'BODY':\n      return element.ownerDocument.body;\n    case '#document':\n      return element.body;\n  }\n\n  // Firefox want us to check `-x` and `-y` variations as well\n\n  var _getStyleComputedProp = getStyleComputedProperty(element),\n      overflow = _getStyleComputedProp.overflow,\n      overflowX = _getStyleComputedProp.overflowX,\n      overflowY = _getStyleComputedProp.overflowY;\n\n  if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n    return element;\n  }\n\n  return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n  if (version === 11) {\n    return isIE11;\n  }\n  if (version === 10) {\n    return isIE10;\n  }\n  return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n  if (!element) {\n    return document.documentElement;\n  }\n\n  var noOffsetParent = isIE(10) ? document.body : null;\n\n  // NOTE: 1 DOM access here\n  var offsetParent = element.offsetParent || null;\n  // Skip hidden elements which don't have an offsetParent\n  while (offsetParent === noOffsetParent && element.nextElementSibling) {\n    offsetParent = (element = element.nextElementSibling).offsetParent;\n  }\n\n  var nodeName = offsetParent && offsetParent.nodeName;\n\n  if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n    return element ? element.ownerDocument.documentElement : document.documentElement;\n  }\n\n  // .offsetParent will return the closest TH, TD or TABLE in case\n  // no offsetParent is present, I hate this job...\n  if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n    return getOffsetParent(offsetParent);\n  }\n\n  return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n  var nodeName = element.nodeName;\n\n  if (nodeName === 'BODY') {\n    return false;\n  }\n  return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n  if (node.parentNode !== null) {\n    return getRoot(node.parentNode);\n  }\n\n  return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n  // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n  if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n    return document.documentElement;\n  }\n\n  // Here we make sure to give as \"start\" the element that comes first in the DOM\n  var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n  var start = order ? element1 : element2;\n  var end = order ? element2 : element1;\n\n  // Get common ancestor container\n  var range = document.createRange();\n  range.setStart(start, 0);\n  range.setEnd(end, 0);\n  var commonAncestorContainer = range.commonAncestorContainer;\n\n  // Both nodes are inside #document\n\n  if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n    if (isOffsetContainer(commonAncestorContainer)) {\n      return commonAncestorContainer;\n    }\n\n    return getOffsetParent(commonAncestorContainer);\n  }\n\n  // one of the nodes is inside shadowDOM, find which one\n  var element1root = getRoot(element1);\n  if (element1root.host) {\n    return findCommonOffsetParent(element1root.host, element2);\n  } else {\n    return findCommonOffsetParent(element1, getRoot(element2).host);\n  }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n  var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n  var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n  var nodeName = element.nodeName;\n\n  if (nodeName === 'BODY' || nodeName === 'HTML') {\n    var html = element.ownerDocument.documentElement;\n    var scrollingElement = element.ownerDocument.scrollingElement || html;\n    return scrollingElement[upperSide];\n  }\n\n  return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n  var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  var scrollTop = getScroll(element, 'top');\n  var scrollLeft = getScroll(element, 'left');\n  var modifier = subtract ? -1 : 1;\n  rect.top += scrollTop * modifier;\n  rect.bottom += scrollTop * modifier;\n  rect.left += scrollLeft * modifier;\n  rect.right += scrollLeft * modifier;\n  return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n  var sideA = axis === 'x' ? 'Left' : 'Top';\n  var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n  return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n  return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n  var body = document.body;\n  var html = document.documentElement;\n  var computedStyle = isIE(10) && getComputedStyle(html);\n\n  return {\n    height: getSize('Height', body, html, computedStyle),\n    width: getSize('Width', body, html, computedStyle)\n  };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n};\n\nvar createClass = function () {\n  function defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      Object.defineProperty(target, descriptor.key, descriptor);\n    }\n  }\n\n  return function (Constructor, protoProps, staticProps) {\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) defineProperties(Constructor, staticProps);\n    return Constructor;\n  };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n  return _extends({}, offsets, {\n    right: offsets.left + offsets.width,\n    bottom: offsets.top + offsets.height\n  });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n  var rect = {};\n\n  // IE10 10 FIX: Please, don't ask, the element isn't\n  // considered in DOM in some circumstances...\n  // This isn't reproducible in IE10 compatibility mode of IE11\n  try {\n    if (isIE(10)) {\n      rect = element.getBoundingClientRect();\n      var scrollTop = getScroll(element, 'top');\n      var scrollLeft = getScroll(element, 'left');\n      rect.top += scrollTop;\n      rect.left += scrollLeft;\n      rect.bottom += scrollTop;\n      rect.right += scrollLeft;\n    } else {\n      rect = element.getBoundingClientRect();\n    }\n  } catch (e) {}\n\n  var result = {\n    left: rect.left,\n    top: rect.top,\n    width: rect.right - rect.left,\n    height: rect.bottom - rect.top\n  };\n\n  // subtract scrollbar size from sizes\n  var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n  var width = sizes.width || element.clientWidth || result.right - result.left;\n  var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n  var horizScrollbar = element.offsetWidth - width;\n  var vertScrollbar = element.offsetHeight - height;\n\n  // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n  // we make this check conditional for performance reasons\n  if (horizScrollbar || vertScrollbar) {\n    var styles = getStyleComputedProperty(element);\n    horizScrollbar -= getBordersSize(styles, 'x');\n    vertScrollbar -= getBordersSize(styles, 'y');\n\n    result.width -= horizScrollbar;\n    result.height -= vertScrollbar;\n  }\n\n  return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n  var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  var isIE10 = isIE(10);\n  var isHTML = parent.nodeName === 'HTML';\n  var childrenRect = getBoundingClientRect(children);\n  var parentRect = getBoundingClientRect(parent);\n  var scrollParent = getScrollParent(children);\n\n  var styles = getStyleComputedProperty(parent);\n  var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n  var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n  // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n  if (fixedPosition && isHTML) {\n    parentRect.top = Math.max(parentRect.top, 0);\n    parentRect.left = Math.max(parentRect.left, 0);\n  }\n  var offsets = getClientRect({\n    top: childrenRect.top - parentRect.top - borderTopWidth,\n    left: childrenRect.left - parentRect.left - borderLeftWidth,\n    width: childrenRect.width,\n    height: childrenRect.height\n  });\n  offsets.marginTop = 0;\n  offsets.marginLeft = 0;\n\n  // Subtract margins of documentElement in case it's being used as parent\n  // we do this only on HTML because it's the only element that behaves\n  // differently when margins are applied to it. The margins are included in\n  // the box of the documentElement, in the other cases not.\n  if (!isIE10 && isHTML) {\n    var marginTop = parseFloat(styles.marginTop, 10);\n    var marginLeft = parseFloat(styles.marginLeft, 10);\n\n    offsets.top -= borderTopWidth - marginTop;\n    offsets.bottom -= borderTopWidth - marginTop;\n    offsets.left -= borderLeftWidth - marginLeft;\n    offsets.right -= borderLeftWidth - marginLeft;\n\n    // Attach marginTop and marginLeft because in some circumstances we may need them\n    offsets.marginTop = marginTop;\n    offsets.marginLeft = marginLeft;\n  }\n\n  if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n    offsets = includeScroll(offsets, parent);\n  }\n\n  return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n  var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n  var html = element.ownerDocument.documentElement;\n  var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n  var width = Math.max(html.clientWidth, window.innerWidth || 0);\n  var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n  var scrollTop = !excludeScroll ? getScroll(html) : 0;\n  var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n  var offset = {\n    top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n    left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n    width: width,\n    height: height\n  };\n\n  return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n  var nodeName = element.nodeName;\n  if (nodeName === 'BODY' || nodeName === 'HTML') {\n    return false;\n  }\n  if (getStyleComputedProperty(element, 'position') === 'fixed') {\n    return true;\n  }\n  var parentNode = getParentNode(element);\n  if (!parentNode) {\n    return false;\n  }\n  return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n  // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n  if (!element || !element.parentElement || isIE()) {\n    return document.documentElement;\n  }\n  var el = element.parentElement;\n  while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n    el = el.parentElement;\n  }\n  return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n  var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n  // NOTE: 1 DOM access here\n\n  var boundaries = { top: 0, left: 0 };\n  var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n  // Handle viewport case\n  if (boundariesElement === 'viewport') {\n    boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n  } else {\n    // Handle other cases based on DOM element used as boundaries\n    var boundariesNode = void 0;\n    if (boundariesElement === 'scrollParent') {\n      boundariesNode = getScrollParent(getParentNode(reference));\n      if (boundariesNode.nodeName === 'BODY') {\n        boundariesNode = popper.ownerDocument.documentElement;\n      }\n    } else if (boundariesElement === 'window') {\n      boundariesNode = popper.ownerDocument.documentElement;\n    } else {\n      boundariesNode = boundariesElement;\n    }\n\n    var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n    // In case of HTML, we need a different computation\n    if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n      var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n          height = _getWindowSizes.height,\n          width = _getWindowSizes.width;\n\n      boundaries.top += offsets.top - offsets.marginTop;\n      boundaries.bottom = height + offsets.top;\n      boundaries.left += offsets.left - offsets.marginLeft;\n      boundaries.right = width + offsets.left;\n    } else {\n      // for all the other DOM elements, this one is good\n      boundaries = offsets;\n    }\n  }\n\n  // Add paddings\n  padding = padding || 0;\n  var isPaddingNumber = typeof padding === 'number';\n  boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n  boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n  boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n  boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n  return boundaries;\n}\n\nfunction getArea(_ref) {\n  var width = _ref.width,\n      height = _ref.height;\n\n  return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n  var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n  if (placement.indexOf('auto') === -1) {\n    return placement;\n  }\n\n  var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n  var rects = {\n    top: {\n      width: boundaries.width,\n      height: refRect.top - boundaries.top\n    },\n    right: {\n      width: boundaries.right - refRect.right,\n      height: boundaries.height\n    },\n    bottom: {\n      width: boundaries.width,\n      height: boundaries.bottom - refRect.bottom\n    },\n    left: {\n      width: refRect.left - boundaries.left,\n      height: boundaries.height\n    }\n  };\n\n  var sortedAreas = Object.keys(rects).map(function (key) {\n    return _extends({\n      key: key\n    }, rects[key], {\n      area: getArea(rects[key])\n    });\n  }).sort(function (a, b) {\n    return b.area - a.area;\n  });\n\n  var filteredAreas = sortedAreas.filter(function (_ref2) {\n    var width = _ref2.width,\n        height = _ref2.height;\n    return width >= popper.clientWidth && height >= popper.clientHeight;\n  });\n\n  var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n  var variation = placement.split('-')[1];\n\n  return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n  var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n  var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n  return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n  var window = element.ownerDocument.defaultView;\n  var styles = window.getComputedStyle(element);\n  var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n  var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n  var result = {\n    width: element.offsetWidth + y,\n    height: element.offsetHeight + x\n  };\n  return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n  var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n  return placement.replace(/left|right|bottom|top/g, function (matched) {\n    return hash[matched];\n  });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n  placement = placement.split('-')[0];\n\n  // Get popper node sizes\n  var popperRect = getOuterSizes(popper);\n\n  // Add position, width and height to our offsets object\n  var popperOffsets = {\n    width: popperRect.width,\n    height: popperRect.height\n  };\n\n  // depending by the popper placement we have to compute its offsets slightly differently\n  var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n  var mainSide = isHoriz ? 'top' : 'left';\n  var secondarySide = isHoriz ? 'left' : 'top';\n  var measurement = isHoriz ? 'height' : 'width';\n  var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n  popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n  if (placement === secondarySide) {\n    popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n  } else {\n    popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n  }\n\n  return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n  // use native find if supported\n  if (Array.prototype.find) {\n    return arr.find(check);\n  }\n\n  // use `filter` to obtain the same behavior of `find`\n  return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n  // use native findIndex if supported\n  if (Array.prototype.findIndex) {\n    return arr.findIndex(function (cur) {\n      return cur[prop] === value;\n    });\n  }\n\n  // use `find` + `indexOf` if `findIndex` isn't supported\n  var match = find(arr, function (obj) {\n    return obj[prop] === value;\n  });\n  return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n  var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n  modifiersToRun.forEach(function (modifier) {\n    if (modifier['function']) {\n      // eslint-disable-line dot-notation\n      console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n    }\n    var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n    if (modifier.enabled && isFunction(fn)) {\n      // Add properties to offsets to make them a complete clientRect object\n      // we do this before each modifier to make sure the previous one doesn't\n      // mess with these values\n      data.offsets.popper = getClientRect(data.offsets.popper);\n      data.offsets.reference = getClientRect(data.offsets.reference);\n\n      data = fn(data, modifier);\n    }\n  });\n\n  return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n  // if popper is destroyed, don't perform any further update\n  if (this.state.isDestroyed) {\n    return;\n  }\n\n  var data = {\n    instance: this,\n    styles: {},\n    arrowStyles: {},\n    attributes: {},\n    flipped: false,\n    offsets: {}\n  };\n\n  // compute reference element offsets\n  data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n  // compute auto placement, store placement inside the data object,\n  // modifiers will be able to edit `placement` if needed\n  // and refer to originalPlacement to know the original value\n  data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n  // store the computed placement inside `originalPlacement`\n  data.originalPlacement = data.placement;\n\n  data.positionFixed = this.options.positionFixed;\n\n  // compute the popper offsets\n  data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n  data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n  // run the modifiers\n  data = runModifiers(this.modifiers, data);\n\n  // the first `update` will call `onCreate` callback\n  // the other ones will call `onUpdate` callback\n  if (!this.state.isCreated) {\n    this.state.isCreated = true;\n    this.options.onCreate(data);\n  } else {\n    this.options.onUpdate(data);\n  }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n  return modifiers.some(function (_ref) {\n    var name = _ref.name,\n        enabled = _ref.enabled;\n    return enabled && name === modifierName;\n  });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n  var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n  var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n  for (var i = 0; i < prefixes.length; i++) {\n    var prefix = prefixes[i];\n    var toCheck = prefix ? '' + prefix + upperProp : property;\n    if (typeof document.body.style[toCheck] !== 'undefined') {\n      return toCheck;\n    }\n  }\n  return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n  this.state.isDestroyed = true;\n\n  // touch DOM only if `applyStyle` modifier is enabled\n  if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n    this.popper.removeAttribute('x-placement');\n    this.popper.style.position = '';\n    this.popper.style.top = '';\n    this.popper.style.left = '';\n    this.popper.style.right = '';\n    this.popper.style.bottom = '';\n    this.popper.style.willChange = '';\n    this.popper.style[getSupportedPropertyName('transform')] = '';\n  }\n\n  this.disableEventListeners();\n\n  // remove the popper if user explicity asked for the deletion on destroy\n  // do not use `remove` because IE11 doesn't support it\n  if (this.options.removeOnDestroy) {\n    this.popper.parentNode.removeChild(this.popper);\n  }\n  return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n  var ownerDocument = element.ownerDocument;\n  return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n  var isBody = scrollParent.nodeName === 'BODY';\n  var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n  target.addEventListener(event, callback, { passive: true });\n\n  if (!isBody) {\n    attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n  }\n  scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n  // Resize event listener on window\n  state.updateBound = updateBound;\n  getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n  // Scroll event listener on scroll parents\n  var scrollElement = getScrollParent(reference);\n  attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n  state.scrollElement = scrollElement;\n  state.eventsEnabled = true;\n\n  return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n  if (!this.state.eventsEnabled) {\n    this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n  }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n  // Remove resize event listener on window\n  getWindow(reference).removeEventListener('resize', state.updateBound);\n\n  // Remove scroll event listener on scroll parents\n  state.scrollParents.forEach(function (target) {\n    target.removeEventListener('scroll', state.updateBound);\n  });\n\n  // Reset state\n  state.updateBound = null;\n  state.scrollParents = [];\n  state.scrollElement = null;\n  state.eventsEnabled = false;\n  return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n  if (this.state.eventsEnabled) {\n    cancelAnimationFrame(this.scheduleUpdate);\n    this.state = removeEventListeners(this.reference, this.state);\n  }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n  return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n  Object.keys(styles).forEach(function (prop) {\n    var unit = '';\n    // add unit if the value is numeric and is one of the following\n    if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n      unit = 'px';\n    }\n    element.style[prop] = styles[prop] + unit;\n  });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n  Object.keys(attributes).forEach(function (prop) {\n    var value = attributes[prop];\n    if (value !== false) {\n      element.setAttribute(prop, attributes[prop]);\n    } else {\n      element.removeAttribute(prop);\n    }\n  });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n  // any property present in `data.styles` will be applied to the popper,\n  // in this way we can make the 3rd party modifiers add custom styles to it\n  // Be aware, modifiers could override the properties defined in the previous\n  // lines of this modifier!\n  setStyles(data.instance.popper, data.styles);\n\n  // any property present in `data.attributes` will be applied to the popper,\n  // they will be set as HTML attributes of the element\n  setAttributes(data.instance.popper, data.attributes);\n\n  // if arrowElement is defined and arrowStyles has some properties\n  if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n    setStyles(data.arrowElement, data.arrowStyles);\n  }\n\n  return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n  // compute reference element offsets\n  var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n  // compute auto placement, store placement inside the data object,\n  // modifiers will be able to edit `placement` if needed\n  // and refer to originalPlacement to know the original value\n  var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n  popper.setAttribute('x-placement', placement);\n\n  // Apply `position` to popper before anything else because\n  // without the position applied we can't guarantee correct computations\n  setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n  return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n  var _data$offsets = data.offsets,\n      popper = _data$offsets.popper,\n      reference = _data$offsets.reference;\n  var round = Math.round,\n      floor = Math.floor;\n\n  var noRound = function noRound(v) {\n    return v;\n  };\n\n  var referenceWidth = round(reference.width);\n  var popperWidth = round(popper.width);\n\n  var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n  var isVariation = data.placement.indexOf('-') !== -1;\n  var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n  var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n  var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n  var verticalToInteger = !shouldRound ? noRound : round;\n\n  return {\n    left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n    top: verticalToInteger(popper.top),\n    bottom: verticalToInteger(popper.bottom),\n    right: horizontalToInteger(popper.right)\n  };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n  var x = options.x,\n      y = options.y;\n  var popper = data.offsets.popper;\n\n  // Remove this legacy support in Popper.js v2\n\n  var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n    return modifier.name === 'applyStyle';\n  }).gpuAcceleration;\n  if (legacyGpuAccelerationOption !== undefined) {\n    console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n  }\n  var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n  var offsetParent = getOffsetParent(data.instance.popper);\n  var offsetParentRect = getBoundingClientRect(offsetParent);\n\n  // Styles\n  var styles = {\n    position: popper.position\n  };\n\n  var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n  var sideA = x === 'bottom' ? 'top' : 'bottom';\n  var sideB = y === 'right' ? 'left' : 'right';\n\n  // if gpuAcceleration is set to `true` and transform is supported,\n  //  we use `translate3d` to apply the position to the popper we\n  // automatically use the supported prefixed version if needed\n  var prefixedProperty = getSupportedPropertyName('transform');\n\n  // now, let's make a step back and look at this code closely (wtf?)\n  // If the content of the popper grows once it's been positioned, it\n  // may happen that the popper gets misplaced because of the new content\n  // overflowing its reference element\n  // To avoid this problem, we provide two options (x and y), which allow\n  // the consumer to define the offset origin.\n  // If we position a popper on top of a reference element, we can set\n  // `x` to `top` to make the popper grow towards its top instead of\n  // its bottom.\n  var left = void 0,\n      top = void 0;\n  if (sideA === 'bottom') {\n    // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n    // and not the bottom of the html element\n    if (offsetParent.nodeName === 'HTML') {\n      top = -offsetParent.clientHeight + offsets.bottom;\n    } else {\n      top = -offsetParentRect.height + offsets.bottom;\n    }\n  } else {\n    top = offsets.top;\n  }\n  if (sideB === 'right') {\n    if (offsetParent.nodeName === 'HTML') {\n      left = -offsetParent.clientWidth + offsets.right;\n    } else {\n      left = -offsetParentRect.width + offsets.right;\n    }\n  } else {\n    left = offsets.left;\n  }\n  if (gpuAcceleration && prefixedProperty) {\n    styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n    styles[sideA] = 0;\n    styles[sideB] = 0;\n    styles.willChange = 'transform';\n  } else {\n    // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n    var invertTop = sideA === 'bottom' ? -1 : 1;\n    var invertLeft = sideB === 'right' ? -1 : 1;\n    styles[sideA] = top * invertTop;\n    styles[sideB] = left * invertLeft;\n    styles.willChange = sideA + ', ' + sideB;\n  }\n\n  // Attributes\n  var attributes = {\n    'x-placement': data.placement\n  };\n\n  // Update `data` attributes, styles and arrowStyles\n  data.attributes = _extends({}, attributes, data.attributes);\n  data.styles = _extends({}, styles, data.styles);\n  data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n  return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n  var requesting = find(modifiers, function (_ref) {\n    var name = _ref.name;\n    return name === requestingName;\n  });\n\n  var isRequired = !!requesting && modifiers.some(function (modifier) {\n    return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n  });\n\n  if (!isRequired) {\n    var _requesting = '`' + requestingName + '`';\n    var requested = '`' + requestedName + '`';\n    console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n  }\n  return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n  var _data$offsets$arrow;\n\n  // arrow depends on keepTogether in order to work\n  if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n    return data;\n  }\n\n  var arrowElement = options.element;\n\n  // if arrowElement is a string, suppose it's a CSS selector\n  if (typeof arrowElement === 'string') {\n    arrowElement = data.instance.popper.querySelector(arrowElement);\n\n    // if arrowElement is not found, don't run the modifier\n    if (!arrowElement) {\n      return data;\n    }\n  } else {\n    // if the arrowElement isn't a query selector we must check that the\n    // provided DOM node is child of its popper node\n    if (!data.instance.popper.contains(arrowElement)) {\n      console.warn('WARNING: `arrow.element` must be child of its popper element!');\n      return data;\n    }\n  }\n\n  var placement = data.placement.split('-')[0];\n  var _data$offsets = data.offsets,\n      popper = _data$offsets.popper,\n      reference = _data$offsets.reference;\n\n  var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n  var len = isVertical ? 'height' : 'width';\n  var sideCapitalized = isVertical ? 'Top' : 'Left';\n  var side = sideCapitalized.toLowerCase();\n  var altSide = isVertical ? 'left' : 'top';\n  var opSide = isVertical ? 'bottom' : 'right';\n  var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n  //\n  // extends keepTogether behavior making sure the popper and its\n  // reference have enough pixels in conjunction\n  //\n\n  // top/left side\n  if (reference[opSide] - arrowElementSize < popper[side]) {\n    data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n  }\n  // bottom/right side\n  if (reference[side] + arrowElementSize > popper[opSide]) {\n    data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n  }\n  data.offsets.popper = getClientRect(data.offsets.popper);\n\n  // compute center of the popper\n  var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n  // Compute the sideValue using the updated popper offsets\n  // take popper margin in account because we don't have this info available\n  var css = getStyleComputedProperty(data.instance.popper);\n  var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n  var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n  var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n  // prevent arrowElement from being placed not contiguously to its popper\n  sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n  data.arrowElement = arrowElement;\n  data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n  return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n  if (variation === 'end') {\n    return 'start';\n  } else if (variation === 'start') {\n    return 'end';\n  }\n  return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n  var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n  var index = validPlacements.indexOf(placement);\n  var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n  return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n  FLIP: 'flip',\n  CLOCKWISE: 'clockwise',\n  COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n  // if `inner` modifier is enabled, we can't use the `flip` modifier\n  if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n    return data;\n  }\n\n  if (data.flipped && data.placement === data.originalPlacement) {\n    // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n    return data;\n  }\n\n  var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n  var placement = data.placement.split('-')[0];\n  var placementOpposite = getOppositePlacement(placement);\n  var variation = data.placement.split('-')[1] || '';\n\n  var flipOrder = [];\n\n  switch (options.behavior) {\n    case BEHAVIORS.FLIP:\n      flipOrder = [placement, placementOpposite];\n      break;\n    case BEHAVIORS.CLOCKWISE:\n      flipOrder = clockwise(placement);\n      break;\n    case BEHAVIORS.COUNTERCLOCKWISE:\n      flipOrder = clockwise(placement, true);\n      break;\n    default:\n      flipOrder = options.behavior;\n  }\n\n  flipOrder.forEach(function (step, index) {\n    if (placement !== step || flipOrder.length === index + 1) {\n      return data;\n    }\n\n    placement = data.placement.split('-')[0];\n    placementOpposite = getOppositePlacement(placement);\n\n    var popperOffsets = data.offsets.popper;\n    var refOffsets = data.offsets.reference;\n\n    // using floor because the reference offsets may contain decimals we are not going to consider here\n    var floor = Math.floor;\n    var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n    var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n    var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n    var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n    var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n    var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n    // flip the variation if required\n    var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n    var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n    if (overlapsRef || overflowsBoundaries || flippedVariation) {\n      // this boolean to detect any flip loop\n      data.flipped = true;\n\n      if (overlapsRef || overflowsBoundaries) {\n        placement = flipOrder[index + 1];\n      }\n\n      if (flippedVariation) {\n        variation = getOppositeVariation(variation);\n      }\n\n      data.placement = placement + (variation ? '-' + variation : '');\n\n      // this object contains `position`, we want to preserve it along with\n      // any additional property we may add in the future\n      data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n      data = runModifiers(data.instance.modifiers, data, 'flip');\n    }\n  });\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n  var _data$offsets = data.offsets,\n      popper = _data$offsets.popper,\n      reference = _data$offsets.reference;\n\n  var placement = data.placement.split('-')[0];\n  var floor = Math.floor;\n  var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n  var side = isVertical ? 'right' : 'bottom';\n  var opSide = isVertical ? 'left' : 'top';\n  var measurement = isVertical ? 'width' : 'height';\n\n  if (popper[side] < floor(reference[opSide])) {\n    data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n  }\n  if (popper[opSide] > floor(reference[side])) {\n    data.offsets.popper[opSide] = floor(reference[side]);\n  }\n\n  return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n  // separate value from unit\n  var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n  var value = +split[1];\n  var unit = split[2];\n\n  // If it's not a number it's an operator, I guess\n  if (!value) {\n    return str;\n  }\n\n  if (unit.indexOf('%') === 0) {\n    var element = void 0;\n    switch (unit) {\n      case '%p':\n        element = popperOffsets;\n        break;\n      case '%':\n      case '%r':\n      default:\n        element = referenceOffsets;\n    }\n\n    var rect = getClientRect(element);\n    return rect[measurement] / 100 * value;\n  } else if (unit === 'vh' || unit === 'vw') {\n    // if is a vh or vw, we calculate the size based on the viewport\n    var size = void 0;\n    if (unit === 'vh') {\n      size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n    } else {\n      size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n    }\n    return size / 100 * value;\n  } else {\n    // if is an explicit pixel unit, we get rid of the unit and keep the value\n    // if is an implicit unit, it's px, and we return just the value\n    return value;\n  }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n  var offsets = [0, 0];\n\n  // Use height if placement is left or right and index is 0 otherwise use width\n  // in this way the first offset will use an axis and the second one\n  // will use the other one\n  var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n  // Split the offset string to obtain a list of values and operands\n  // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n  var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n    return frag.trim();\n  });\n\n  // Detect if the offset string contains a pair of values or a single one\n  // they could be separated by comma or space\n  var divider = fragments.indexOf(find(fragments, function (frag) {\n    return frag.search(/,|\\s/) !== -1;\n  }));\n\n  if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n    console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n  }\n\n  // If divider is found, we divide the list of values and operands to divide\n  // them by ofset X and Y.\n  var splitRegex = /\\s*,\\s*|\\s+/;\n  var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n  // Convert the values with units to absolute pixels to allow our computations\n  ops = ops.map(function (op, index) {\n    // Most of the units rely on the orientation of the popper\n    var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n    var mergeWithPrevious = false;\n    return op\n    // This aggregates any `+` or `-` sign that aren't considered operators\n    // e.g.: 10 + +5 => [10, +, +5]\n    .reduce(function (a, b) {\n      if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n        a[a.length - 1] = b;\n        mergeWithPrevious = true;\n        return a;\n      } else if (mergeWithPrevious) {\n        a[a.length - 1] += b;\n        mergeWithPrevious = false;\n        return a;\n      } else {\n        return a.concat(b);\n      }\n    }, [])\n    // Here we convert the string values into number values (in px)\n    .map(function (str) {\n      return toValue(str, measurement, popperOffsets, referenceOffsets);\n    });\n  });\n\n  // Loop trough the offsets arrays and execute the operations\n  ops.forEach(function (op, index) {\n    op.forEach(function (frag, index2) {\n      if (isNumeric(frag)) {\n        offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n      }\n    });\n  });\n  return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n  var offset = _ref.offset;\n  var placement = data.placement,\n      _data$offsets = data.offsets,\n      popper = _data$offsets.popper,\n      reference = _data$offsets.reference;\n\n  var basePlacement = placement.split('-')[0];\n\n  var offsets = void 0;\n  if (isNumeric(+offset)) {\n    offsets = [+offset, 0];\n  } else {\n    offsets = parseOffset(offset, popper, reference, basePlacement);\n  }\n\n  if (basePlacement === 'left') {\n    popper.top += offsets[0];\n    popper.left -= offsets[1];\n  } else if (basePlacement === 'right') {\n    popper.top += offsets[0];\n    popper.left += offsets[1];\n  } else if (basePlacement === 'top') {\n    popper.left += offsets[0];\n    popper.top -= offsets[1];\n  } else if (basePlacement === 'bottom') {\n    popper.left += offsets[0];\n    popper.top += offsets[1];\n  }\n\n  data.popper = popper;\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n  var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n  // If offsetParent is the reference element, we really want to\n  // go one step up and use the next offsetParent as reference to\n  // avoid to make this modifier completely useless and look like broken\n  if (data.instance.reference === boundariesElement) {\n    boundariesElement = getOffsetParent(boundariesElement);\n  }\n\n  // NOTE: DOM access here\n  // resets the popper's position so that the document size can be calculated excluding\n  // the size of the popper element itself\n  var transformProp = getSupportedPropertyName('transform');\n  var popperStyles = data.instance.popper.style; // assignment to help minification\n  var top = popperStyles.top,\n      left = popperStyles.left,\n      transform = popperStyles[transformProp];\n\n  popperStyles.top = '';\n  popperStyles.left = '';\n  popperStyles[transformProp] = '';\n\n  var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n  // NOTE: DOM access here\n  // restores the original style properties after the offsets have been computed\n  popperStyles.top = top;\n  popperStyles.left = left;\n  popperStyles[transformProp] = transform;\n\n  options.boundaries = boundaries;\n\n  var order = options.priority;\n  var popper = data.offsets.popper;\n\n  var check = {\n    primary: function primary(placement) {\n      var value = popper[placement];\n      if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n        value = Math.max(popper[placement], boundaries[placement]);\n      }\n      return defineProperty({}, placement, value);\n    },\n    secondary: function secondary(placement) {\n      var mainSide = placement === 'right' ? 'left' : 'top';\n      var value = popper[mainSide];\n      if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n        value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n      }\n      return defineProperty({}, mainSide, value);\n    }\n  };\n\n  order.forEach(function (placement) {\n    var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n    popper = _extends({}, popper, check[side](placement));\n  });\n\n  data.offsets.popper = popper;\n\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n  var placement = data.placement;\n  var basePlacement = placement.split('-')[0];\n  var shiftvariation = placement.split('-')[1];\n\n  // if shift shiftvariation is specified, run the modifier\n  if (shiftvariation) {\n    var _data$offsets = data.offsets,\n        reference = _data$offsets.reference,\n        popper = _data$offsets.popper;\n\n    var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n    var side = isVertical ? 'left' : 'top';\n    var measurement = isVertical ? 'width' : 'height';\n\n    var shiftOffsets = {\n      start: defineProperty({}, side, reference[side]),\n      end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n    };\n\n    data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n  }\n\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n  if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n    return data;\n  }\n\n  var refRect = data.offsets.reference;\n  var bound = find(data.instance.modifiers, function (modifier) {\n    return modifier.name === 'preventOverflow';\n  }).boundaries;\n\n  if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n    // Avoid unnecessary DOM access if visibility hasn't changed\n    if (data.hide === true) {\n      return data;\n    }\n\n    data.hide = true;\n    data.attributes['x-out-of-boundaries'] = '';\n  } else {\n    // Avoid unnecessary DOM access if visibility hasn't changed\n    if (data.hide === false) {\n      return data;\n    }\n\n    data.hide = false;\n    data.attributes['x-out-of-boundaries'] = false;\n  }\n\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n  var placement = data.placement;\n  var basePlacement = placement.split('-')[0];\n  var _data$offsets = data.offsets,\n      popper = _data$offsets.popper,\n      reference = _data$offsets.reference;\n\n  var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n  var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n  popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n  data.placement = getOppositePlacement(placement);\n  data.offsets.popper = getClientRect(popper);\n\n  return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n  /**\n   * Modifier used to shift the popper on the start or end of its reference\n   * element.<br />\n   * It will read the variation of the `placement` property.<br />\n   * It can be one either `-end` or `-start`.\n   * @memberof modifiers\n   * @inner\n   */\n  shift: {\n    /** @prop {number} order=100 - Index used to define the order of execution */\n    order: 100,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: shift\n  },\n\n  /**\n   * The `offset` modifier can shift your popper on both its axis.\n   *\n   * It accepts the following units:\n   * - `px` or unit-less, interpreted as pixels\n   * - `%` or `%r`, percentage relative to the length of the reference element\n   * - `%p`, percentage relative to the length of the popper element\n   * - `vw`, CSS viewport width unit\n   * - `vh`, CSS viewport height unit\n   *\n   * For length is intended the main axis relative to the placement of the popper.<br />\n   * This means that if the placement is `top` or `bottom`, the length will be the\n   * `width`. In case of `left` or `right`, it will be the `height`.\n   *\n   * You can provide a single value (as `Number` or `String`), or a pair of values\n   * as `String` divided by a comma or one (or more) white spaces.<br />\n   * The latter is a deprecated method because it leads to confusion and will be\n   * removed in v2.<br />\n   * Additionally, it accepts additions and subtractions between different units.\n   * Note that multiplications and divisions aren't supported.\n   *\n   * Valid examples are:\n   * ```\n   * 10\n   * '10%'\n   * '10, 10'\n   * '10%, 10'\n   * '10 + 10%'\n   * '10 - 5vh + 3%'\n   * '-10px + 5vh, 5px - 6%'\n   * ```\n   * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n   * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n   * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n   *\n   * @memberof modifiers\n   * @inner\n   */\n  offset: {\n    /** @prop {number} order=200 - Index used to define the order of execution */\n    order: 200,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: offset,\n    /** @prop {Number|String} offset=0\n     * The offset value as described in the modifier description\n     */\n    offset: 0\n  },\n\n  /**\n   * Modifier used to prevent the popper from being positioned outside the boundary.\n   *\n   * A scenario exists where the reference itself is not within the boundaries.<br />\n   * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n   * In this case we need to decide whether the popper should either:\n   *\n   * - detach from the reference and remain \"trapped\" in the boundaries, or\n   * - if it should ignore the boundary and \"escape with its reference\"\n   *\n   * When `escapeWithReference` is set to`true` and reference is completely\n   * outside its boundaries, the popper will overflow (or completely leave)\n   * the boundaries in order to remain attached to the edge of the reference.\n   *\n   * @memberof modifiers\n   * @inner\n   */\n  preventOverflow: {\n    /** @prop {number} order=300 - Index used to define the order of execution */\n    order: 300,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: preventOverflow,\n    /**\n     * @prop {Array} [priority=['left','right','top','bottom']]\n     * Popper will try to prevent overflow following these priorities by default,\n     * then, it could overflow on the left and on top of the `boundariesElement`\n     */\n    priority: ['left', 'right', 'top', 'bottom'],\n    /**\n     * @prop {number} padding=5\n     * Amount of pixel used to define a minimum distance between the boundaries\n     * and the popper. This makes sure the popper always has a little padding\n     * between the edges of its container\n     */\n    padding: 5,\n    /**\n     * @prop {String|HTMLElement} boundariesElement='scrollParent'\n     * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n     * `viewport` or any DOM element.\n     */\n    boundariesElement: 'scrollParent'\n  },\n\n  /**\n   * Modifier used to make sure the reference and its popper stay near each other\n   * without leaving any gap between the two. Especially useful when the arrow is\n   * enabled and you want to ensure that it points to its reference element.\n   * It cares only about the first axis. You can still have poppers with margin\n   * between the popper and its reference element.\n   * @memberof modifiers\n   * @inner\n   */\n  keepTogether: {\n    /** @prop {number} order=400 - Index used to define the order of execution */\n    order: 400,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: keepTogether\n  },\n\n  /**\n   * This modifier is used to move the `arrowElement` of the popper to make\n   * sure it is positioned between the reference element and its popper element.\n   * It will read the outer size of the `arrowElement` node to detect how many\n   * pixels of conjunction are needed.\n   *\n   * It has no effect if no `arrowElement` is provided.\n   * @memberof modifiers\n   * @inner\n   */\n  arrow: {\n    /** @prop {number} order=500 - Index used to define the order of execution */\n    order: 500,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: arrow,\n    /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n    element: '[x-arrow]'\n  },\n\n  /**\n   * Modifier used to flip the popper's placement when it starts to overlap its\n   * reference element.\n   *\n   * Requires the `preventOverflow` modifier before it in order to work.\n   *\n   * **NOTE:** this modifier will interrupt the current update cycle and will\n   * restart it if it detects the need to flip the placement.\n   * @memberof modifiers\n   * @inner\n   */\n  flip: {\n    /** @prop {number} order=600 - Index used to define the order of execution */\n    order: 600,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: flip,\n    /**\n     * @prop {String|Array} behavior='flip'\n     * The behavior used to change the popper's placement. It can be one of\n     * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n     * placements (with optional variations)\n     */\n    behavior: 'flip',\n    /**\n     * @prop {number} padding=5\n     * The popper will flip if it hits the edges of the `boundariesElement`\n     */\n    padding: 5,\n    /**\n     * @prop {String|HTMLElement} boundariesElement='viewport'\n     * The element which will define the boundaries of the popper position.\n     * The popper will never be placed outside of the defined boundaries\n     * (except if `keepTogether` is enabled)\n     */\n    boundariesElement: 'viewport'\n  },\n\n  /**\n   * Modifier used to make the popper flow toward the inner of the reference element.\n   * By default, when this modifier is disabled, the popper will be placed outside\n   * the reference element.\n   * @memberof modifiers\n   * @inner\n   */\n  inner: {\n    /** @prop {number} order=700 - Index used to define the order of execution */\n    order: 700,\n    /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n    enabled: false,\n    /** @prop {ModifierFn} */\n    fn: inner\n  },\n\n  /**\n   * Modifier used to hide the popper when its reference element is outside of the\n   * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n   * be used to hide with a CSS selector the popper when its reference is\n   * out of boundaries.\n   *\n   * Requires the `preventOverflow` modifier before it in order to work.\n   * @memberof modifiers\n   * @inner\n   */\n  hide: {\n    /** @prop {number} order=800 - Index used to define the order of execution */\n    order: 800,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: hide\n  },\n\n  /**\n   * Computes the style that will be applied to the popper element to gets\n   * properly positioned.\n   *\n   * Note that this modifier will not touch the DOM, it just prepares the styles\n   * so that `applyStyle` modifier can apply it. This separation is useful\n   * in case you need to replace `applyStyle` with a custom implementation.\n   *\n   * This modifier has `850` as `order` value to maintain backward compatibility\n   * with previous versions of Popper.js. Expect the modifiers ordering method\n   * to change in future major versions of the library.\n   *\n   * @memberof modifiers\n   * @inner\n   */\n  computeStyle: {\n    /** @prop {number} order=850 - Index used to define the order of execution */\n    order: 850,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: computeStyle,\n    /**\n     * @prop {Boolean} gpuAcceleration=true\n     * If true, it uses the CSS 3D transformation to position the popper.\n     * Otherwise, it will use the `top` and `left` properties\n     */\n    gpuAcceleration: true,\n    /**\n     * @prop {string} [x='bottom']\n     * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n     * Change this if your popper should grow in a direction different from `bottom`\n     */\n    x: 'bottom',\n    /**\n     * @prop {string} [x='left']\n     * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n     * Change this if your popper should grow in a direction different from `right`\n     */\n    y: 'right'\n  },\n\n  /**\n   * Applies the computed styles to the popper element.\n   *\n   * All the DOM manipulations are limited to this modifier. This is useful in case\n   * you want to integrate Popper.js inside a framework or view library and you\n   * want to delegate all the DOM manipulations to it.\n   *\n   * Note that if you disable this modifier, you must make sure the popper element\n   * has its position set to `absolute` before Popper.js can do its work!\n   *\n   * Just disable this modifier and define your own to achieve the desired effect.\n   *\n   * @memberof modifiers\n   * @inner\n   */\n  applyStyle: {\n    /** @prop {number} order=900 - Index used to define the order of execution */\n    order: 900,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: applyStyle,\n    /** @prop {Function} */\n    onLoad: applyStyleOnLoad,\n    /**\n     * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n     * @prop {Boolean} gpuAcceleration=true\n     * If true, it uses the CSS 3D transformation to position the popper.\n     * Otherwise, it will use the `top` and `left` properties\n     */\n    gpuAcceleration: undefined\n  }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n *   modifiers: {\n *     preventOverflow: { enabled: false }\n *   }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n  /**\n   * Popper's placement.\n   * @prop {Popper.placements} placement='bottom'\n   */\n  placement: 'bottom',\n\n  /**\n   * Set this to true if you want popper to position it self in 'fixed' mode\n   * @prop {Boolean} positionFixed=false\n   */\n  positionFixed: false,\n\n  /**\n   * Whether events (resize, scroll) are initially enabled.\n   * @prop {Boolean} eventsEnabled=true\n   */\n  eventsEnabled: true,\n\n  /**\n   * Set to true if you want to automatically remove the popper when\n   * you call the `destroy` method.\n   * @prop {Boolean} removeOnDestroy=false\n   */\n  removeOnDestroy: false,\n\n  /**\n   * Callback called when the popper is created.<br />\n   * By default, it is set to no-op.<br />\n   * Access Popper.js instance with `data.instance`.\n   * @prop {onCreate}\n   */\n  onCreate: function onCreate() {},\n\n  /**\n   * Callback called when the popper is updated. This callback is not called\n   * on the initialization/creation of the popper, but only on subsequent\n   * updates.<br />\n   * By default, it is set to no-op.<br />\n   * Access Popper.js instance with `data.instance`.\n   * @prop {onUpdate}\n   */\n  onUpdate: function onUpdate() {},\n\n  /**\n   * List of modifiers used to modify the offsets before they are applied to the popper.\n   * They provide most of the functionalities of Popper.js.\n   * @prop {modifiers}\n   */\n  modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n  /**\n   * Creates a new Popper.js instance.\n   * @class Popper\n   * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n   * @param {HTMLElement} popper - The HTML element used as the popper\n   * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n   * @return {Object} instance - The generated Popper.js instance\n   */\n  function Popper(reference, popper) {\n    var _this = this;\n\n    var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n    classCallCheck(this, Popper);\n\n    this.scheduleUpdate = function () {\n      return requestAnimationFrame(_this.update);\n    };\n\n    // make update() debounced, so that it only runs at most once-per-tick\n    this.update = debounce(this.update.bind(this));\n\n    // with {} we create a new object with the options inside it\n    this.options = _extends({}, Popper.Defaults, options);\n\n    // init state\n    this.state = {\n      isDestroyed: false,\n      isCreated: false,\n      scrollParents: []\n    };\n\n    // get reference and popper elements (allow jQuery wrappers)\n    this.reference = reference && reference.jquery ? reference[0] : reference;\n    this.popper = popper && popper.jquery ? popper[0] : popper;\n\n    // Deep merge modifiers options\n    this.options.modifiers = {};\n    Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n      _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n    });\n\n    // Refactoring modifiers' list (Object => Array)\n    this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n      return _extends({\n        name: name\n      }, _this.options.modifiers[name]);\n    })\n    // sort the modifiers by order\n    .sort(function (a, b) {\n      return a.order - b.order;\n    });\n\n    // modifiers have the ability to execute arbitrary code when Popper.js get inited\n    // such code is executed in the same order of its modifier\n    // they could add new properties to their options configuration\n    // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n    this.modifiers.forEach(function (modifierOptions) {\n      if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n        modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n      }\n    });\n\n    // fire the first update to position the popper in the right place\n    this.update();\n\n    var eventsEnabled = this.options.eventsEnabled;\n    if (eventsEnabled) {\n      // setup event listeners, they will take care of update the position in specific situations\n      this.enableEventListeners();\n    }\n\n    this.state.eventsEnabled = eventsEnabled;\n  }\n\n  // We can't use class properties because they don't get listed in the\n  // class prototype and break stuff like Sinon stubs\n\n\n  createClass(Popper, [{\n    key: 'update',\n    value: function update$$1() {\n      return update.call(this);\n    }\n  }, {\n    key: 'destroy',\n    value: function destroy$$1() {\n      return destroy.call(this);\n    }\n  }, {\n    key: 'enableEventListeners',\n    value: function enableEventListeners$$1() {\n      return enableEventListeners.call(this);\n    }\n  }, {\n    key: 'disableEventListeners',\n    value: function disableEventListeners$$1() {\n      return disableEventListeners.call(this);\n    }\n\n    /**\n     * Schedules an update. It will run on the next UI update available.\n     * @method scheduleUpdate\n     * @memberof Popper\n     */\n\n\n    /**\n     * Collection of utilities useful when writing custom modifiers.\n     * Starting from version 1.7, this method is available only if you\n     * include `popper-utils.js` before `popper.js`.\n     *\n     * **DEPRECATION**: This way to access PopperUtils is deprecated\n     * and will be removed in v2! Use the PopperUtils module directly instead.\n     * Due to the high instability of the methods contained in Utils, we can't\n     * guarantee them to follow semver. Use them at your own risk!\n     * @static\n     * @private\n     * @type {Object}\n     * @deprecated since version 1.8\n     * @member Utils\n     * @memberof Popper\n     */\n\n  }]);\n  return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n", "/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME                     = 'dropdown'\nconst VERSION                  = '4.3.1'\nconst DATA_KEY                 = 'bs.dropdown'\nconst EVENT_KEY                = `.${DATA_KEY}`\nconst DATA_API_KEY             = '.data-api'\nconst JQUERY_NO_CONFLICT       = $.fn[NAME]\nconst ESCAPE_KEYCODE           = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE            = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE              = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE         = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE       = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN           = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n  HIDE             : `hide${EVENT_KEY}`,\n  HIDDEN           : `hidden${EVENT_KEY}`,\n  SHOW             : `show${EVENT_KEY}`,\n  SHOWN            : `shown${EVENT_KEY}`,\n  CLICK            : `click${EVENT_KEY}`,\n  CLICK_DATA_API   : `click${EVENT_KEY}${DATA_API_KEY}`,\n  KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n  KEYUP_DATA_API   : `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n  DISABLED        : 'disabled',\n  SHOW            : 'show',\n  DROPUP          : 'dropup',\n  DROPRIGHT       : 'dropright',\n  DROPLEFT        : 'dropleft',\n  MENURIGHT       : 'dropdown-menu-right',\n  MENULEFT        : 'dropdown-menu-left',\n  POSITION_STATIC : 'position-static'\n}\n\nconst Selector = {\n  DATA_TOGGLE   : '[data-toggle=\"dropdown\"]',\n  FORM_CHILD    : '.dropdown form',\n  MENU          : '.dropdown-menu',\n  NAVBAR_NAV    : '.navbar-nav',\n  VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n  TOP       : 'top-start',\n  TOPEND    : 'top-end',\n  BOTTOM    : 'bottom-start',\n  BOTTOMEND : 'bottom-end',\n  RIGHT     : 'right-start',\n  RIGHTEND  : 'right-end',\n  LEFT      : 'left-start',\n  LEFTEND   : 'left-end'\n}\n\nconst Default = {\n  offset    : 0,\n  flip      : true,\n  boundary  : 'scrollParent',\n  reference : 'toggle',\n  display   : 'dynamic'\n}\n\nconst DefaultType = {\n  offset    : '(number|string|function)',\n  flip      : 'boolean',\n  boundary  : '(string|element)',\n  reference : '(string|element)',\n  display   : 'string'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n  constructor(element, config) {\n    this._element  = element\n    this._popper   = null\n    this._config   = this._getConfig(config)\n    this._menu     = this._getMenuElement()\n    this._inNavbar = this._detectNavbar()\n\n    this._addEventListeners()\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  // Public\n\n  toggle() {\n    if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n      return\n    }\n\n    const parent   = Dropdown._getParentFromElement(this._element)\n    const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n    Dropdown._clearMenus()\n\n    if (isActive) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n    const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n    $(parent).trigger(showEvent)\n\n    if (showEvent.isDefaultPrevented()) {\n      return\n    }\n\n    // Disable totally Popper.js for Dropdown in Navbar\n    if (!this._inNavbar) {\n      /**\n       * Check for Popper dependency\n       * Popper - https://popper.js.org\n       */\n      if (typeof Popper === 'undefined') {\n        throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)')\n      }\n\n      let referenceElement = this._element\n\n      if (this._config.reference === 'parent') {\n        referenceElement = parent\n      } else if (Util.isElement(this._config.reference)) {\n        referenceElement = this._config.reference\n\n        // Check if it's jQuery element\n        if (typeof this._config.reference.jquery !== 'undefined') {\n          referenceElement = this._config.reference[0]\n        }\n      }\n\n      // If boundary is not `scrollParent`, then set position to `static`\n      // to allow the menu to \"escape\" the scroll parent's boundaries\n      // https://github.com/twbs/bootstrap/issues/24251\n      if (this._config.boundary !== 'scrollParent') {\n        $(parent).addClass(ClassName.POSITION_STATIC)\n      }\n      this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n    }\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement &&\n        $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n      $(document.body).children().on('mouseover', null, $.noop)\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', true)\n\n    $(this._menu).toggleClass(ClassName.SHOW)\n    $(parent)\n      .toggleClass(ClassName.SHOW)\n      .trigger($.Event(Event.SHOWN, relatedTarget))\n  }\n\n  show() {\n    if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n    const showEvent = $.Event(Event.SHOW, relatedTarget)\n    const parent = Dropdown._getParentFromElement(this._element)\n\n    $(parent).trigger(showEvent)\n\n    if (showEvent.isDefaultPrevented()) {\n      return\n    }\n\n    $(this._menu).toggleClass(ClassName.SHOW)\n    $(parent)\n      .toggleClass(ClassName.SHOW)\n      .trigger($.Event(Event.SHOWN, relatedTarget))\n  }\n\n  hide() {\n    if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n    const hideEvent = $.Event(Event.HIDE, relatedTarget)\n    const parent = Dropdown._getParentFromElement(this._element)\n\n    $(parent).trigger(hideEvent)\n\n    if (hideEvent.isDefaultPrevented()) {\n      return\n    }\n\n    $(this._menu).toggleClass(ClassName.SHOW)\n    $(parent)\n      .toggleClass(ClassName.SHOW)\n      .trigger($.Event(Event.HIDDEN, relatedTarget))\n  }\n\n  dispose() {\n    $.removeData(this._element, DATA_KEY)\n    $(this._element).off(EVENT_KEY)\n    this._element = null\n    this._menu = null\n    if (this._popper !== null) {\n      this._popper.destroy()\n      this._popper = null\n    }\n  }\n\n  update() {\n    this._inNavbar = this._detectNavbar()\n    if (this._popper !== null) {\n      this._popper.scheduleUpdate()\n    }\n  }\n\n  // Private\n\n  _addEventListeners() {\n    $(this._element).on(Event.CLICK, (event) => {\n      event.preventDefault()\n      event.stopPropagation()\n      this.toggle()\n    })\n  }\n\n  _getConfig(config) {\n    config = {\n      ...this.constructor.Default,\n      ...$(this._element).data(),\n      ...config\n    }\n\n    Util.typeCheckConfig(\n      NAME,\n      config,\n      this.constructor.DefaultType\n    )\n\n    return config\n  }\n\n  _getMenuElement() {\n    if (!this._menu) {\n      const parent = Dropdown._getParentFromElement(this._element)\n\n      if (parent) {\n        this._menu = parent.querySelector(Selector.MENU)\n      }\n    }\n    return this._menu\n  }\n\n  _getPlacement() {\n    const $parentDropdown = $(this._element.parentNode)\n    let placement = AttachmentMap.BOTTOM\n\n    // Handle dropup\n    if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n      placement = AttachmentMap.TOP\n      if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n        placement = AttachmentMap.TOPEND\n      }\n    } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n      placement = AttachmentMap.RIGHT\n    } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n      placement = AttachmentMap.LEFT\n    } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n      placement = AttachmentMap.BOTTOMEND\n    }\n    return placement\n  }\n\n  _detectNavbar() {\n    return $(this._element).closest('.navbar').length > 0\n  }\n\n  _getOffset() {\n    const offset = {}\n\n    if (typeof this._config.offset === 'function') {\n      offset.fn = (data) => {\n        data.offsets = {\n          ...data.offsets,\n          ...this._config.offset(data.offsets, this._element) || {}\n        }\n\n        return data\n      }\n    } else {\n      offset.offset = this._config.offset\n    }\n\n    return offset\n  }\n\n  _getPopperConfig() {\n    const popperConfig = {\n      placement: this._getPlacement(),\n      modifiers: {\n        offset: this._getOffset(),\n        flip: {\n          enabled: this._config.flip\n        },\n        preventOverflow: {\n          boundariesElement: this._config.boundary\n        }\n      }\n    }\n\n    // Disable Popper.js if we have a static display\n    if (this._config.display === 'static') {\n      popperConfig.modifiers.applyStyle = {\n        enabled: false\n      }\n    }\n\n    return popperConfig\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      let data = $(this).data(DATA_KEY)\n      const _config = typeof config === 'object' ? config : null\n\n      if (!data) {\n        data = new Dropdown(this, _config)\n        $(this).data(DATA_KEY, data)\n      }\n\n      if (typeof config === 'string') {\n        if (typeof data[config] === 'undefined') {\n          throw new TypeError(`No method named \"${config}\"`)\n        }\n        data[config]()\n      }\n    })\n  }\n\n  static _clearMenus(event) {\n    if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n      event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n      return\n    }\n\n    const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n\n    for (let i = 0, len = toggles.length; i < len; i++) {\n      const parent = Dropdown._getParentFromElement(toggles[i])\n      const context = $(toggles[i]).data(DATA_KEY)\n      const relatedTarget = {\n        relatedTarget: toggles[i]\n      }\n\n      if (event && event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      if (!context) {\n        continue\n      }\n\n      const dropdownMenu = context._menu\n      if (!$(parent).hasClass(ClassName.SHOW)) {\n        continue\n      }\n\n      if (event && (event.type === 'click' &&\n          /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n          $.contains(parent, event.target)) {\n        continue\n      }\n\n      const hideEvent = $.Event(Event.HIDE, relatedTarget)\n      $(parent).trigger(hideEvent)\n      if (hideEvent.isDefaultPrevented()) {\n        continue\n      }\n\n      // If this is a touch-enabled device we remove the extra\n      // empty mouseover listeners we added for iOS support\n      if ('ontouchstart' in document.documentElement) {\n        $(document.body).children().off('mouseover', null, $.noop)\n      }\n\n      toggles[i].setAttribute('aria-expanded', 'false')\n\n      $(dropdownMenu).removeClass(ClassName.SHOW)\n      $(parent)\n        .removeClass(ClassName.SHOW)\n        .trigger($.Event(Event.HIDDEN, relatedTarget))\n    }\n  }\n\n  static _getParentFromElement(element) {\n    let parent\n    const selector = Util.getSelectorFromElement(element)\n\n    if (selector) {\n      parent = document.querySelector(selector)\n    }\n\n    return parent || element.parentNode\n  }\n\n  // eslint-disable-next-line complexity\n  static _dataApiKeydownHandler(event) {\n    // If not input/textarea:\n    //  - And not a key in REGEXP_KEYDOWN => not a dropdown command\n    // If input/textarea:\n    //  - If space key => not a dropdown command\n    //  - If key is other than escape\n    //    - If key is not up or down => not a dropdown command\n    //    - If trigger inside the menu => not a dropdown command\n    if (/input|textarea/i.test(event.target.tagName)\n      ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n      (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n        $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n      return\n    }\n\n    const parent   = Dropdown._getParentFromElement(this)\n    const isActive = $(parent).hasClass(ClassName.SHOW)\n\n    if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n      if (event.which === ESCAPE_KEYCODE) {\n        const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n        $(toggle).trigger('focus')\n      }\n\n      $(this).trigger('click')\n      return\n    }\n\n    const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n\n    if (items.length === 0) {\n      return\n    }\n\n    let index = items.indexOf(event.target)\n\n    if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n      index--\n    }\n\n    if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n      index++\n    }\n\n    if (index < 0) {\n      index = 0\n    }\n\n    items[index].focus()\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n  .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n  .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n  .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n  .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n    event.preventDefault()\n    event.stopPropagation()\n    Dropdown._jQueryInterface.call($(this), 'toggle')\n  })\n  .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n    e.stopPropagation()\n  })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n  $.fn[NAME] = JQUERY_NO_CONFLICT\n  return Dropdown._jQueryInterface\n}\n\n\nexport default Dropdown\n", "/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME               = 'modal'\nconst VERSION            = '4.3.1'\nconst DATA_KEY           = 'bs.modal'\nconst EVENT_KEY          = `.${DATA_KEY}`\nconst DATA_API_KEY       = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE     = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n  backdrop : true,\n  keyboard : true,\n  focus    : true,\n  show     : true\n}\n\nconst DefaultType = {\n  backdrop : '(boolean|string)',\n  keyboard : 'boolean',\n  focus    : 'boolean',\n  show     : 'boolean'\n}\n\nconst Event = {\n  HIDE              : `hide${EVENT_KEY}`,\n  HIDDEN            : `hidden${EVENT_KEY}`,\n  SHOW              : `show${EVENT_KEY}`,\n  SHOWN             : `shown${EVENT_KEY}`,\n  FOCUSIN           : `focusin${EVENT_KEY}`,\n  RESIZE            : `resize${EVENT_KEY}`,\n  CLICK_DISMISS     : `click.dismiss${EVENT_KEY}`,\n  KEYDOWN_DISMISS   : `keydown.dismiss${EVENT_KEY}`,\n  MOUSEUP_DISMISS   : `mouseup.dismiss${EVENT_KEY}`,\n  MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n  CLICK_DATA_API    : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n  SCROLLABLE         : 'modal-dialog-scrollable',\n  SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n  BACKDROP           : 'modal-backdrop',\n  OPEN               : 'modal-open',\n  FADE               : 'fade',\n  SHOW               : 'show'\n}\n\nconst Selector = {\n  DIALOG         : '.modal-dialog',\n  MODAL_BODY     : '.modal-body',\n  DATA_TOGGLE    : '[data-toggle=\"modal\"]',\n  DATA_DISMISS   : '[data-dismiss=\"modal\"]',\n  FIXED_CONTENT  : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n  STICKY_CONTENT : '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n  constructor(element, config) {\n    this._config              = this._getConfig(config)\n    this._element             = element\n    this._dialog              = element.querySelector(Selector.DIALOG)\n    this._backdrop            = null\n    this._isShown             = false\n    this._isBodyOverflowing   = false\n    this._ignoreBackdropClick = false\n    this._isTransitioning     = false\n    this._scrollbarWidth      = 0\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get Default() {\n    return Default\n  }\n\n  // Public\n\n  toggle(relatedTarget) {\n    return this._isShown ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._isShown || this._isTransitioning) {\n      return\n    }\n\n    if ($(this._element).hasClass(ClassName.FADE)) {\n      this._isTransitioning = true\n    }\n\n    const showEvent = $.Event(Event.SHOW, {\n      relatedTarget\n    })\n\n    $(this._element).trigger(showEvent)\n\n    if (this._isShown || showEvent.isDefaultPrevented()) {\n      return\n    }\n\n    this._isShown = true\n\n    this._checkScrollbar()\n    this._setScrollbar()\n\n    this._adjustDialog()\n\n    this._setEscapeEvent()\n    this._setResizeEvent()\n\n    $(this._element).on(\n      Event.CLICK_DISMISS,\n      Selector.DATA_DISMISS,\n      (event) => this.hide(event)\n    )\n\n    $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n      $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n        if ($(event.target).is(this._element)) {\n          this._ignoreBackdropClick = true\n        }\n      })\n    })\n\n    this._showBackdrop(() => this._showElement(relatedTarget))\n  }\n\n  hide(event) {\n    if (event) {\n      event.preventDefault()\n    }\n\n    if (!this._isShown || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = $.Event(Event.HIDE)\n\n    $(this._element).trigger(hideEvent)\n\n    if (!this._isShown || hideEvent.isDefaultPrevented()) {\n      return\n    }\n\n    this._isShown = false\n    const transition = $(this._element).hasClass(ClassName.FADE)\n\n    if (transition) {\n      this._isTransitioning = true\n    }\n\n    this._setEscapeEvent()\n    this._setResizeEvent()\n\n    $(document).off(Event.FOCUSIN)\n\n    $(this._element).removeClass(ClassName.SHOW)\n\n    $(this._element).off(Event.CLICK_DISMISS)\n    $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n    if (transition) {\n      const transitionDuration  = Util.getTransitionDurationFromElement(this._element)\n\n      $(this._element)\n        .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      this._hideModal()\n    }\n  }\n\n  dispose() {\n    [window, this._element, this._dialog]\n      .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))\n\n    /**\n     * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n     * Do not move `document` in `htmlElements` array\n     * It will remove `Event.CLICK_DATA_API` event that should remain\n     */\n    $(document).off(Event.FOCUSIN)\n\n    $.removeData(this._element, DATA_KEY)\n\n    this._config              = null\n    this._element             = null\n    this._dialog              = null\n    this._backdrop            = null\n    this._isShown             = null\n    this._isBodyOverflowing   = null\n    this._ignoreBackdropClick = null\n    this._isTransitioning     = null\n    this._scrollbarWidth      = null\n  }\n\n  handleUpdate() {\n    this._adjustDialog()\n  }\n\n  // Private\n\n  _getConfig(config) {\n    config = {\n      ...Default,\n      ...config\n    }\n    Util.typeCheckConfig(NAME, config, DefaultType)\n    return config\n  }\n\n  _showElement(relatedTarget) {\n    const transition = $(this._element).hasClass(ClassName.FADE)\n\n    if (!this._element.parentNode ||\n        this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n      // Don't move modal's DOM position\n      document.body.appendChild(this._element)\n    }\n\n    this._element.style.display = 'block'\n    this._element.removeAttribute('aria-hidden')\n    this._element.setAttribute('aria-modal', true)\n\n    if ($(this._dialog).hasClass(ClassName.SCROLLABLE)) {\n      this._dialog.querySelector(Selector.MODAL_BODY).scrollTop = 0\n    } else {\n      this._element.scrollTop = 0\n    }\n\n    if (transition) {\n      Util.reflow(this._element)\n    }\n\n    $(this._element).addClass(ClassName.SHOW)\n\n    if (this._config.focus) {\n      this._enforceFocus()\n    }\n\n    const shownEvent = $.Event(Event.SHOWN, {\n      relatedTarget\n    })\n\n    const transitionComplete = () => {\n      if (this._config.focus) {\n        this._element.focus()\n      }\n      this._isTransitioning = false\n      $(this._element).trigger(shownEvent)\n    }\n\n    if (transition) {\n      const transitionDuration  = Util.getTransitionDurationFromElement(this._dialog)\n\n      $(this._dialog)\n        .one(Util.TRANSITION_END, transitionComplete)\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      transitionComplete()\n    }\n  }\n\n  _enforceFocus() {\n    $(document)\n      .off(Event.FOCUSIN) // Guard against infinite focus loop\n      .on(Event.FOCUSIN, (event) => {\n        if (document !== event.target &&\n            this._element !== event.target &&\n            $(this._element).has(event.target).length === 0) {\n          this._element.focus()\n        }\n      })\n  }\n\n  _setEscapeEvent() {\n    if (this._isShown && this._config.keyboard) {\n      $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n        if (event.which === ESCAPE_KEYCODE) {\n          event.preventDefault()\n          this.hide()\n        }\n      })\n    } else if (!this._isShown) {\n      $(this._element).off(Event.KEYDOWN_DISMISS)\n    }\n  }\n\n  _setResizeEvent() {\n    if (this._isShown) {\n      $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n    } else {\n      $(window).off(Event.RESIZE)\n    }\n  }\n\n  _hideModal() {\n    this._element.style.display = 'none'\n    this._element.setAttribute('aria-hidden', true)\n    this._element.removeAttribute('aria-modal')\n    this._isTransitioning = false\n    this._showBackdrop(() => {\n      $(document.body).removeClass(ClassName.OPEN)\n      this._resetAdjustments()\n      this._resetScrollbar()\n      $(this._element).trigger(Event.HIDDEN)\n    })\n  }\n\n  _removeBackdrop() {\n    if (this._backdrop) {\n      $(this._backdrop).remove()\n      this._backdrop = null\n    }\n  }\n\n  _showBackdrop(callback) {\n    const animate = $(this._element).hasClass(ClassName.FADE)\n      ? ClassName.FADE : ''\n\n    if (this._isShown && this._config.backdrop) {\n      this._backdrop = document.createElement('div')\n      this._backdrop.className = ClassName.BACKDROP\n\n      if (animate) {\n        this._backdrop.classList.add(animate)\n      }\n\n      $(this._backdrop).appendTo(document.body)\n\n      $(this._element).on(Event.CLICK_DISMISS, (event) => {\n        if (this._ignoreBackdropClick) {\n          this._ignoreBackdropClick = false\n          return\n        }\n        if (event.target !== event.currentTarget) {\n          return\n        }\n        if (this._config.backdrop === 'static') {\n          this._element.focus()\n        } else {\n          this.hide()\n        }\n      })\n\n      if (animate) {\n        Util.reflow(this._backdrop)\n      }\n\n      $(this._backdrop).addClass(ClassName.SHOW)\n\n      if (!callback) {\n        return\n      }\n\n      if (!animate) {\n        callback()\n        return\n      }\n\n      const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n      $(this._backdrop)\n        .one(Util.TRANSITION_END, callback)\n        .emulateTransitionEnd(backdropTransitionDuration)\n    } else if (!this._isShown && this._backdrop) {\n      $(this._backdrop).removeClass(ClassName.SHOW)\n\n      const callbackRemove = () => {\n        this._removeBackdrop()\n        if (callback) {\n          callback()\n        }\n      }\n\n      if ($(this._element).hasClass(ClassName.FADE)) {\n        const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n        $(this._backdrop)\n          .one(Util.TRANSITION_END, callbackRemove)\n          .emulateTransitionEnd(backdropTransitionDuration)\n      } else {\n        callbackRemove()\n      }\n    } else if (callback) {\n      callback()\n    }\n  }\n\n  // ----------------------------------------------------------------------\n  // the following methods are used to handle overflowing modals\n  // todo (fat): these should probably be refactored out of modal.js\n  // ----------------------------------------------------------------------\n\n  _adjustDialog() {\n    const isModalOverflowing =\n      this._element.scrollHeight > document.documentElement.clientHeight\n\n    if (!this._isBodyOverflowing && isModalOverflowing) {\n      this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n    }\n\n    if (this._isBodyOverflowing && !isModalOverflowing) {\n      this._element.style.paddingRight = `${this._scrollbarWidth}px`\n    }\n  }\n\n  _resetAdjustments() {\n    this._element.style.paddingLeft = ''\n    this._element.style.paddingRight = ''\n  }\n\n  _checkScrollbar() {\n    const rect = document.body.getBoundingClientRect()\n    this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n    this._scrollbarWidth = this._getScrollbarWidth()\n  }\n\n  _setScrollbar() {\n    if (this._isBodyOverflowing) {\n      // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n      //   while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n      const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n      const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n      // Adjust fixed content padding\n      $(fixedContent).each((index, element) => {\n        const actualPadding = element.style.paddingRight\n        const calculatedPadding = $(element).css('padding-right')\n        $(element)\n          .data('padding-right', actualPadding)\n          .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n      })\n\n      // Adjust sticky content margin\n      $(stickyContent).each((index, element) => {\n        const actualMargin = element.style.marginRight\n        const calculatedMargin = $(element).css('margin-right')\n        $(element)\n          .data('margin-right', actualMargin)\n          .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n      })\n\n      // Adjust body padding\n      const actualPadding = document.body.style.paddingRight\n      const calculatedPadding = $(document.body).css('padding-right')\n      $(document.body)\n        .data('padding-right', actualPadding)\n        .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n    }\n\n    $(document.body).addClass(ClassName.OPEN)\n  }\n\n  _resetScrollbar() {\n    // Restore fixed content padding\n    const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n    $(fixedContent).each((index, element) => {\n      const padding = $(element).data('padding-right')\n      $(element).removeData('padding-right')\n      element.style.paddingRight = padding ? padding : ''\n    })\n\n    // Restore sticky content\n    const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n    $(elements).each((index, element) => {\n      const margin = $(element).data('margin-right')\n      if (typeof margin !== 'undefined') {\n        $(element).css('margin-right', margin).removeData('margin-right')\n      }\n    })\n\n    // Restore body padding\n    const padding = $(document.body).data('padding-right')\n    $(document.body).removeData('padding-right')\n    document.body.style.paddingRight = padding ? padding : ''\n  }\n\n  _getScrollbarWidth() { // thx d.walsh\n    const scrollDiv = document.createElement('div')\n    scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n    document.body.appendChild(scrollDiv)\n    const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n    document.body.removeChild(scrollDiv)\n    return scrollbarWidth\n  }\n\n  // Static\n\n  static _jQueryInterface(config, relatedTarget) {\n    return this.each(function () {\n      let data = $(this).data(DATA_KEY)\n      const _config = {\n        ...Default,\n        ...$(this).data(),\n        ...typeof config === 'object' && config ? config : {}\n      }\n\n      if (!data) {\n        data = new Modal(this, _config)\n        $(this).data(DATA_KEY, data)\n      }\n\n      if (typeof config === 'string') {\n        if (typeof data[config] === 'undefined') {\n          throw new TypeError(`No method named \"${config}\"`)\n        }\n        data[config](relatedTarget)\n      } else if (_config.show) {\n        data.show(relatedTarget)\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n  let target\n  const selector = Util.getSelectorFromElement(this)\n\n  if (selector) {\n    target = document.querySelector(selector)\n  }\n\n  const config = $(target).data(DATA_KEY)\n    ? 'toggle' : {\n      ...$(target).data(),\n      ...$(this).data()\n    }\n\n  if (this.tagName === 'A' || this.tagName === 'AREA') {\n    event.preventDefault()\n  }\n\n  const $target = $(target).one(Event.SHOW, (showEvent) => {\n    if (showEvent.isDefaultPrevented()) {\n      // Only register focus restorer if modal will actually get shown\n      return\n    }\n\n    $target.one(Event.HIDDEN, () => {\n      if ($(this).is(':visible')) {\n        this.focus()\n      }\n    })\n  })\n\n  Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n  $.fn[NAME] = JQUERY_NO_CONFLICT\n  return Modal._jQueryInterface\n}\n\nexport default Modal\n", "/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultWhitelist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  div: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nfunction allowedAttribute(attr, allowedAttributeList) {\n  const attrName = attr.nodeName.toLowerCase()\n\n  if (allowedAttributeList.indexOf(attrName) !== -1) {\n    if (uriAttrs.indexOf(attrName) !== -1) {\n      return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n    }\n\n    return true\n  }\n\n  const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp)\n\n  // Check if a regular expression validates the attribute.\n  for (let i = 0, l = regExp.length; i < l; i++) {\n    if (attrName.match(regExp[i])) {\n      return true\n    }\n  }\n\n  return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n  if (unsafeHtml.length === 0) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFn && typeof sanitizeFn === 'function') {\n    return sanitizeFn(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const whitelistKeys = Object.keys(whiteList)\n  const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n  for (let i = 0, len = elements.length; i < len; i++) {\n    const el = elements[i]\n    const elName = el.nodeName.toLowerCase()\n\n    if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n      el.parentNode.removeChild(el)\n\n      continue\n    }\n\n    const attributeList = [].slice.call(el.attributes)\n    const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n    attributeList.forEach((attr) => {\n      if (!allowedAttribute(attr, whitelistedAttributes)) {\n        el.removeAttribute(attr.nodeName)\n      }\n    })\n  }\n\n  return createdDocument.body.innerHTML\n}\n", "/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  DefaultWhitelist,\n  sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME                  = 'tooltip'\nconst VERSION               = '4.3.1'\nconst DATA_KEY              = 'bs.tooltip'\nconst EVENT_KEY             = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT    = $.fn[NAME]\nconst CLASS_PREFIX          = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX    = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n  animation         : 'boolean',\n  template          : 'string',\n  title             : '(string|element|function)',\n  trigger           : 'string',\n  delay             : '(number|object)',\n  html              : 'boolean',\n  selector          : '(string|boolean)',\n  placement         : '(string|function)',\n  offset            : '(number|string|function)',\n  container         : '(string|element|boolean)',\n  fallbackPlacement : '(string|array)',\n  boundary          : '(string|element)',\n  sanitize          : 'boolean',\n  sanitizeFn        : '(null|function)',\n  whiteList         : 'object'\n}\n\nconst AttachmentMap = {\n  AUTO   : 'auto',\n  TOP    : 'top',\n  RIGHT  : 'right',\n  BOTTOM : 'bottom',\n  LEFT   : 'left'\n}\n\nconst Default = {\n  animation         : true,\n  template          : '<div class=\"tooltip\" role=\"tooltip\">' +\n                    '<div class=\"arrow\"></div>' +\n                    '<div class=\"tooltip-inner\"></div></div>',\n  trigger           : 'hover focus',\n  title             : '',\n  delay             : 0,\n  html              : false,\n  selector          : false,\n  placement         : 'top',\n  offset            : 0,\n  container         : false,\n  fallbackPlacement : 'flip',\n  boundary          : 'scrollParent',\n  sanitize          : true,\n  sanitizeFn        : null,\n  whiteList         : DefaultWhitelist\n}\n\nconst HoverState = {\n  SHOW : 'show',\n  OUT  : 'out'\n}\n\nconst Event = {\n  HIDE       : `hide${EVENT_KEY}`,\n  HIDDEN     : `hidden${EVENT_KEY}`,\n  SHOW       : `show${EVENT_KEY}`,\n  SHOWN      : `shown${EVENT_KEY}`,\n  INSERTED   : `inserted${EVENT_KEY}`,\n  CLICK      : `click${EVENT_KEY}`,\n  FOCUSIN    : `focusin${EVENT_KEY}`,\n  FOCUSOUT   : `focusout${EVENT_KEY}`,\n  MOUSEENTER : `mouseenter${EVENT_KEY}`,\n  MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n  FADE : 'fade',\n  SHOW : 'show'\n}\n\nconst Selector = {\n  TOOLTIP       : '.tooltip',\n  TOOLTIP_INNER : '.tooltip-inner',\n  ARROW         : '.arrow'\n}\n\nconst Trigger = {\n  HOVER  : 'hover',\n  FOCUS  : 'focus',\n  CLICK  : 'click',\n  MANUAL : 'manual'\n}\n\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n  constructor(element, config) {\n    /**\n     * Check for Popper dependency\n     * Popper - https://popper.js.org\n     */\n    if (typeof Popper === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n    }\n\n    // private\n    this._isEnabled     = true\n    this._timeout       = 0\n    this._hoverState    = ''\n    this._activeTrigger = {}\n    this._popper        = null\n\n    // Protected\n    this.element = element\n    this.config  = this._getConfig(config)\n    this.tip     = null\n\n    this._setListeners()\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get Default() {\n    return Default\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  static get DATA_KEY() {\n    return DATA_KEY\n  }\n\n  static get Event() {\n    return Event\n  }\n\n  static get EVENT_KEY() {\n    return EVENT_KEY\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  // Public\n\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle(event) {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (event) {\n      const dataKey = this.constructor.DATA_KEY\n      let context = $(event.currentTarget).data(dataKey)\n\n      if (!context) {\n        context = new this.constructor(\n          event.currentTarget,\n          this._getDelegateConfig()\n        )\n        $(event.currentTarget).data(dataKey, context)\n      }\n\n      context._activeTrigger.click = !context._activeTrigger.click\n\n      if (context._isWithActiveTrigger()) {\n        context._enter(null, context)\n      } else {\n        context._leave(null, context)\n      }\n    } else {\n      if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n        this._leave(null, this)\n        return\n      }\n\n      this._enter(null, this)\n    }\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    $.removeData(this.element, this.constructor.DATA_KEY)\n\n    $(this.element).off(this.constructor.EVENT_KEY)\n    $(this.element).closest('.modal').off('hide.bs.modal')\n\n    if (this.tip) {\n      $(this.tip).remove()\n    }\n\n    this._isEnabled     = null\n    this._timeout       = null\n    this._hoverState    = null\n    this._activeTrigger = null\n    if (this._popper !== null) {\n      this._popper.destroy()\n    }\n\n    this._popper = null\n    this.element = null\n    this.config  = null\n    this.tip     = null\n  }\n\n  show() {\n    if ($(this.element).css('display') === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    const showEvent = $.Event(this.constructor.Event.SHOW)\n    if (this.isWithContent() && this._isEnabled) {\n      $(this.element).trigger(showEvent)\n\n      const shadowRoot = Util.findShadowRoot(this.element)\n      const isInTheDom = $.contains(\n        shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n        this.element\n      )\n\n      if (showEvent.isDefaultPrevented() || !isInTheDom) {\n        return\n      }\n\n      const tip   = this.getTipElement()\n      const tipId = Util.getUID(this.constructor.NAME)\n\n      tip.setAttribute('id', tipId)\n      this.element.setAttribute('aria-describedby', tipId)\n\n      this.setContent()\n\n      if (this.config.animation) {\n        $(tip).addClass(ClassName.FADE)\n      }\n\n      const placement  = typeof this.config.placement === 'function'\n        ? this.config.placement.call(this, tip, this.element)\n        : this.config.placement\n\n      const attachment = this._getAttachment(placement)\n      this.addAttachmentClass(attachment)\n\n      const container = this._getContainer()\n      $(tip).data(this.constructor.DATA_KEY, this)\n\n      if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n        $(tip).appendTo(container)\n      }\n\n      $(this.element).trigger(this.constructor.Event.INSERTED)\n\n      this._popper = new Popper(this.element, tip, {\n        placement: attachment,\n        modifiers: {\n          offset: this._getOffset(),\n          flip: {\n            behavior: this.config.fallbackPlacement\n          },\n          arrow: {\n            element: Selector.ARROW\n          },\n          preventOverflow: {\n            boundariesElement: this.config.boundary\n          }\n        },\n        onCreate: (data) => {\n          if (data.originalPlacement !== data.placement) {\n            this._handlePopperPlacementChange(data)\n          }\n        },\n        onUpdate: (data) => this._handlePopperPlacementChange(data)\n      })\n\n      $(tip).addClass(ClassName.SHOW)\n\n      // If this is a touch-enabled device we add extra\n      // empty mouseover listeners to the body's immediate children;\n      // only needed because of broken event delegation on iOS\n      // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n      if ('ontouchstart' in document.documentElement) {\n        $(document.body).children().on('mouseover', null, $.noop)\n      }\n\n      const complete = () => {\n        if (this.config.animation) {\n          this._fixTransition()\n        }\n        const prevHoverState = this._hoverState\n        this._hoverState     = null\n\n        $(this.element).trigger(this.constructor.Event.SHOWN)\n\n        if (prevHoverState === HoverState.OUT) {\n          this._leave(null, this)\n        }\n      }\n\n      if ($(this.tip).hasClass(ClassName.FADE)) {\n        const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n        $(this.tip)\n          .one(Util.TRANSITION_END, complete)\n          .emulateTransitionEnd(transitionDuration)\n      } else {\n        complete()\n      }\n    }\n  }\n\n  hide(callback) {\n    const tip       = this.getTipElement()\n    const hideEvent = $.Event(this.constructor.Event.HIDE)\n    const complete = () => {\n      if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n        tip.parentNode.removeChild(tip)\n      }\n\n      this._cleanTipClass()\n      this.element.removeAttribute('aria-describedby')\n      $(this.element).trigger(this.constructor.Event.HIDDEN)\n      if (this._popper !== null) {\n        this._popper.destroy()\n      }\n\n      if (callback) {\n        callback()\n      }\n    }\n\n    $(this.element).trigger(hideEvent)\n\n    if (hideEvent.isDefaultPrevented()) {\n      return\n    }\n\n    $(tip).removeClass(ClassName.SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      $(document.body).children().off('mouseover', null, $.noop)\n    }\n\n    this._activeTrigger[Trigger.CLICK] = false\n    this._activeTrigger[Trigger.FOCUS] = false\n    this._activeTrigger[Trigger.HOVER] = false\n\n    if ($(this.tip).hasClass(ClassName.FADE)) {\n      const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n      $(tip)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      complete()\n    }\n\n    this._hoverState = ''\n  }\n\n  update() {\n    if (this._popper !== null) {\n      this._popper.scheduleUpdate()\n    }\n  }\n\n  // Protected\n\n  isWithContent() {\n    return Boolean(this.getTitle())\n  }\n\n  addAttachmentClass(attachment) {\n    $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n  }\n\n  getTipElement() {\n    this.tip = this.tip || $(this.config.template)[0]\n    return this.tip\n  }\n\n  setContent() {\n    const tip = this.getTipElement()\n    this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n    $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n  }\n\n  setElementContent($element, content) {\n    if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n      // Content is a DOM node or a jQuery\n      if (this.config.html) {\n        if (!$(content).parent().is($element)) {\n          $element.empty().append(content)\n        }\n      } else {\n        $element.text($(content).text())\n      }\n\n      return\n    }\n\n    if (this.config.html) {\n      if (this.config.sanitize) {\n        content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n      }\n\n      $element.html(content)\n    } else {\n      $element.text(content)\n    }\n  }\n\n  getTitle() {\n    let title = this.element.getAttribute('data-original-title')\n\n    if (!title) {\n      title = typeof this.config.title === 'function'\n        ? this.config.title.call(this.element)\n        : this.config.title\n    }\n\n    return title\n  }\n\n  // Private\n\n  _getOffset() {\n    const offset = {}\n\n    if (typeof this.config.offset === 'function') {\n      offset.fn = (data) => {\n        data.offsets = {\n          ...data.offsets,\n          ...this.config.offset(data.offsets, this.element) || {}\n        }\n\n        return data\n      }\n    } else {\n      offset.offset = this.config.offset\n    }\n\n    return offset\n  }\n\n  _getContainer() {\n    if (this.config.container === false) {\n      return document.body\n    }\n\n    if (Util.isElement(this.config.container)) {\n      return $(this.config.container)\n    }\n\n    return $(document).find(this.config.container)\n  }\n\n  _getAttachment(placement) {\n    return AttachmentMap[placement.toUpperCase()]\n  }\n\n  _setListeners() {\n    const triggers = this.config.trigger.split(' ')\n\n    triggers.forEach((trigger) => {\n      if (trigger === 'click') {\n        $(this.element).on(\n          this.constructor.Event.CLICK,\n          this.config.selector,\n          (event) => this.toggle(event)\n        )\n      } else if (trigger !== Trigger.MANUAL) {\n        const eventIn = trigger === Trigger.HOVER\n          ? this.constructor.Event.MOUSEENTER\n          : this.constructor.Event.FOCUSIN\n        const eventOut = trigger === Trigger.HOVER\n          ? this.constructor.Event.MOUSELEAVE\n          : this.constructor.Event.FOCUSOUT\n\n        $(this.element)\n          .on(\n            eventIn,\n            this.config.selector,\n            (event) => this._enter(event)\n          )\n          .on(\n            eventOut,\n            this.config.selector,\n            (event) => this._leave(event)\n          )\n      }\n    })\n\n    $(this.element).closest('.modal').on(\n      'hide.bs.modal',\n      () => {\n        if (this.element) {\n          this.hide()\n        }\n      }\n    )\n\n    if (this.config.selector) {\n      this.config = {\n        ...this.config,\n        trigger: 'manual',\n        selector: ''\n      }\n    } else {\n      this._fixTitle()\n    }\n  }\n\n  _fixTitle() {\n    const titleType = typeof this.element.getAttribute('data-original-title')\n\n    if (this.element.getAttribute('title') || titleType !== 'string') {\n      this.element.setAttribute(\n        'data-original-title',\n        this.element.getAttribute('title') || ''\n      )\n\n      this.element.setAttribute('title', '')\n    }\n  }\n\n  _enter(event, context) {\n    const dataKey = this.constructor.DATA_KEY\n    context = context || $(event.currentTarget).data(dataKey)\n\n    if (!context) {\n      context = new this.constructor(\n        event.currentTarget,\n        this._getDelegateConfig()\n      )\n      $(event.currentTarget).data(dataKey, context)\n    }\n\n    if (event) {\n      context._activeTrigger[\n        event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n      ] = true\n    }\n\n    if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {\n      context._hoverState = HoverState.SHOW\n      return\n    }\n\n    clearTimeout(context._timeout)\n\n    context._hoverState = HoverState.SHOW\n\n    if (!context.config.delay || !context.config.delay.show) {\n      context.show()\n      return\n    }\n\n    context._timeout = setTimeout(() => {\n      if (context._hoverState === HoverState.SHOW) {\n        context.show()\n      }\n    }, context.config.delay.show)\n  }\n\n  _leave(event, context) {\n    const dataKey = this.constructor.DATA_KEY\n    context = context || $(event.currentTarget).data(dataKey)\n\n    if (!context) {\n      context = new this.constructor(\n        event.currentTarget,\n        this._getDelegateConfig()\n      )\n      $(event.currentTarget).data(dataKey, context)\n    }\n\n    if (event) {\n      context._activeTrigger[\n        event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n      ] = false\n    }\n\n    if (context._isWithActiveTrigger()) {\n      return\n    }\n\n    clearTimeout(context._timeout)\n\n    context._hoverState = HoverState.OUT\n\n    if (!context.config.delay || !context.config.delay.hide) {\n      context.hide()\n      return\n    }\n\n    context._timeout = setTimeout(() => {\n      if (context._hoverState === HoverState.OUT) {\n        context.hide()\n      }\n    }, context.config.delay.hide)\n  }\n\n  _isWithActiveTrigger() {\n    for (const trigger in this._activeTrigger) {\n      if (this._activeTrigger[trigger]) {\n        return true\n      }\n    }\n\n    return false\n  }\n\n  _getConfig(config) {\n    const dataAttributes = $(this.element).data()\n\n    Object.keys(dataAttributes)\n      .forEach((dataAttr) => {\n        if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n          delete dataAttributes[dataAttr]\n        }\n      })\n\n    config = {\n      ...this.constructor.Default,\n      ...dataAttributes,\n      ...typeof config === 'object' && config ? config : {}\n    }\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    Util.typeCheckConfig(\n      NAME,\n      config,\n      this.constructor.DefaultType\n    )\n\n    if (config.sanitize) {\n      config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    if (this.config) {\n      for (const key in this.config) {\n        if (this.constructor.Default[key] !== this.config[key]) {\n          config[key] = this.config[key]\n        }\n      }\n    }\n\n    return config\n  }\n\n  _cleanTipClass() {\n    const $tip = $(this.getTipElement())\n    const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n    if (tabClass !== null && tabClass.length) {\n      $tip.removeClass(tabClass.join(''))\n    }\n  }\n\n  _handlePopperPlacementChange(popperData) {\n    const popperInstance = popperData.instance\n    this.tip = popperInstance.popper\n    this._cleanTipClass()\n    this.addAttachmentClass(this._getAttachment(popperData.placement))\n  }\n\n  _fixTransition() {\n    const tip = this.getTipElement()\n    const initConfigAnimation = this.config.animation\n\n    if (tip.getAttribute('x-placement') !== null) {\n      return\n    }\n\n    $(tip).removeClass(ClassName.FADE)\n    this.config.animation = false\n    this.hide()\n    this.show()\n    this.config.animation = initConfigAnimation\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      let data = $(this).data(DATA_KEY)\n      const _config = typeof config === 'object' && config\n\n      if (!data && /dispose|hide/.test(config)) {\n        return\n      }\n\n      if (!data) {\n        data = new Tooltip(this, _config)\n        $(this).data(DATA_KEY, data)\n      }\n\n      if (typeof config === 'string') {\n        if (typeof data[config] === 'undefined') {\n          throw new TypeError(`No method named \"${config}\"`)\n        }\n        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n  $.fn[NAME] = JQUERY_NO_CONFLICT\n  return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n", "/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME                = 'popover'\nconst VERSION             = '4.3.1'\nconst DATA_KEY            = 'bs.popover'\nconst EVENT_KEY           = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT  = $.fn[NAME]\nconst CLASS_PREFIX        = 'bs-popover'\nconst BSCLS_PREFIX_REGEX  = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n  ...Tooltip.Default,\n  placement : 'right',\n  trigger   : 'click',\n  content   : '',\n  template  : '<div class=\"popover\" role=\"tooltip\">' +\n              '<div class=\"arrow\"></div>' +\n              '<h3 class=\"popover-header\"></h3>' +\n              '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content : '(string|element|function)'\n}\n\nconst ClassName = {\n  FADE : 'fade',\n  SHOW : 'show'\n}\n\nconst Selector = {\n  TITLE   : '.popover-header',\n  CONTENT : '.popover-body'\n}\n\nconst Event = {\n  HIDE       : `hide${EVENT_KEY}`,\n  HIDDEN     : `hidden${EVENT_KEY}`,\n  SHOW       : `show${EVENT_KEY}`,\n  SHOWN      : `shown${EVENT_KEY}`,\n  INSERTED   : `inserted${EVENT_KEY}`,\n  CLICK      : `click${EVENT_KEY}`,\n  FOCUSIN    : `focusin${EVENT_KEY}`,\n  FOCUSOUT   : `focusout${EVENT_KEY}`,\n  MOUSEENTER : `mouseenter${EVENT_KEY}`,\n  MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get Default() {\n    return Default\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  static get DATA_KEY() {\n    return DATA_KEY\n  }\n\n  static get Event() {\n    return Event\n  }\n\n  static get EVENT_KEY() {\n    return EVENT_KEY\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  // Overrides\n\n  isWithContent() {\n    return this.getTitle() || this._getContent()\n  }\n\n  addAttachmentClass(attachment) {\n    $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n  }\n\n  getTipElement() {\n    this.tip = this.tip || $(this.config.template)[0]\n    return this.tip\n  }\n\n  setContent() {\n    const $tip = $(this.getTipElement())\n\n    // We use append for html objects to maintain js events\n    this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n    let content = this._getContent()\n    if (typeof content === 'function') {\n      content = content.call(this.element)\n    }\n    this.setElementContent($tip.find(Selector.CONTENT), content)\n\n    $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n  }\n\n  // Private\n\n  _getContent() {\n    return this.element.getAttribute('data-content') ||\n      this.config.content\n  }\n\n  _cleanTipClass() {\n    const $tip = $(this.getTipElement())\n    const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n    if (tabClass !== null && tabClass.length > 0) {\n      $tip.removeClass(tabClass.join(''))\n    }\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      let data = $(this).data(DATA_KEY)\n      const _config = typeof config === 'object' ? config : null\n\n      if (!data && /dispose|hide/.test(config)) {\n        return\n      }\n\n      if (!data) {\n        data = new Popover(this, _config)\n        $(this).data(DATA_KEY, data)\n      }\n\n      if (typeof config === 'string') {\n        if (typeof data[config] === 'undefined') {\n          throw new TypeError(`No method named \"${config}\"`)\n        }\n        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n  $.fn[NAME] = JQUERY_NO_CONFLICT\n  return Popover._jQueryInterface\n}\n\nexport default Popover\n", "/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME               = 'scrollspy'\nconst VERSION            = '4.3.1'\nconst DATA_KEY           = 'bs.scrollspy'\nconst EVENT_KEY          = `.${DATA_KEY}`\nconst DATA_API_KEY       = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n  offset : 10,\n  method : 'auto',\n  target : ''\n}\n\nconst DefaultType = {\n  offset : 'number',\n  method : 'string',\n  target : '(string|element)'\n}\n\nconst Event = {\n  ACTIVATE      : `activate${EVENT_KEY}`,\n  SCROLL        : `scroll${EVENT_KEY}`,\n  LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n  DROPDOWN_ITEM : 'dropdown-item',\n  DROPDOWN_MENU : 'dropdown-menu',\n  ACTIVE        : 'active'\n}\n\nconst Selector = {\n  DATA_SPY        : '[data-spy=\"scroll\"]',\n  ACTIVE          : '.active',\n  NAV_LIST_GROUP  : '.nav, .list-group',\n  NAV_LINKS       : '.nav-link',\n  NAV_ITEMS       : '.nav-item',\n  LIST_ITEMS      : '.list-group-item',\n  DROPDOWN        : '.dropdown',\n  DROPDOWN_ITEMS  : '.dropdown-item',\n  DROPDOWN_TOGGLE : '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n  OFFSET   : 'offset',\n  POSITION : 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n  constructor(element, config) {\n    this._element       = element\n    this._scrollElement = element.tagName === 'BODY' ? window : element\n    this._config        = this._getConfig(config)\n    this._selector      = `${this._config.target} ${Selector.NAV_LINKS},` +\n                          `${this._config.target} ${Selector.LIST_ITEMS},` +\n                          `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n    this._offsets       = []\n    this._targets       = []\n    this._activeTarget  = null\n    this._scrollHeight  = 0\n\n    $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n    this.refresh()\n    this._process()\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get Default() {\n    return Default\n  }\n\n  // Public\n\n  refresh() {\n    const autoMethod = this._scrollElement === this._scrollElement.window\n      ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n    const offsetMethod = this._config.method === 'auto'\n      ? autoMethod : this._config.method\n\n    const offsetBase = offsetMethod === OffsetMethod.POSITION\n      ? this._getScrollTop() : 0\n\n    this._offsets = []\n    this._targets = []\n\n    this._scrollHeight = this._getScrollHeight()\n\n    const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n    targets\n      .map((element) => {\n        let target\n        const targetSelector = Util.getSelectorFromElement(element)\n\n        if (targetSelector) {\n          target = document.querySelector(targetSelector)\n        }\n\n        if (target) {\n          const targetBCR = target.getBoundingClientRect()\n          if (targetBCR.width || targetBCR.height) {\n            // TODO (fat): remove sketch reliance on jQuery position/offset\n            return [\n              $(target)[offsetMethod]().top + offsetBase,\n              targetSelector\n            ]\n          }\n        }\n        return null\n      })\n      .filter((item) => item)\n      .sort((a, b) => a[0] - b[0])\n      .forEach((item) => {\n        this._offsets.push(item[0])\n        this._targets.push(item[1])\n      })\n  }\n\n  dispose() {\n    $.removeData(this._element, DATA_KEY)\n    $(this._scrollElement).off(EVENT_KEY)\n\n    this._element       = null\n    this._scrollElement = null\n    this._config        = null\n    this._selector      = null\n    this._offsets       = null\n    this._targets       = null\n    this._activeTarget  = null\n    this._scrollHeight  = null\n  }\n\n  // Private\n\n  _getConfig(config) {\n    config = {\n      ...Default,\n      ...typeof config === 'object' && config ? config : {}\n    }\n\n    if (typeof config.target !== 'string') {\n      let id = $(config.target).attr('id')\n      if (!id) {\n        id = Util.getUID(NAME)\n        $(config.target).attr('id', id)\n      }\n      config.target = `#${id}`\n    }\n\n    Util.typeCheckConfig(NAME, config, DefaultType)\n\n    return config\n  }\n\n  _getScrollTop() {\n    return this._scrollElement === window\n      ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n  }\n\n  _getScrollHeight() {\n    return this._scrollElement.scrollHeight || Math.max(\n      document.body.scrollHeight,\n      document.documentElement.scrollHeight\n    )\n  }\n\n  _getOffsetHeight() {\n    return this._scrollElement === window\n      ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n  }\n\n  _process() {\n    const scrollTop    = this._getScrollTop() + this._config.offset\n    const scrollHeight = this._getScrollHeight()\n    const maxScroll    = this._config.offset +\n      scrollHeight -\n      this._getOffsetHeight()\n\n    if (this._scrollHeight !== scrollHeight) {\n      this.refresh()\n    }\n\n    if (scrollTop >= maxScroll) {\n      const target = this._targets[this._targets.length - 1]\n\n      if (this._activeTarget !== target) {\n        this._activate(target)\n      }\n      return\n    }\n\n    if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n      this._activeTarget = null\n      this._clear()\n      return\n    }\n\n    const offsetLength = this._offsets.length\n    for (let i = offsetLength; i--;) {\n      const isActiveTarget = this._activeTarget !== this._targets[i] &&\n          scrollTop >= this._offsets[i] &&\n          (typeof this._offsets[i + 1] === 'undefined' ||\n              scrollTop < this._offsets[i + 1])\n\n      if (isActiveTarget) {\n        this._activate(this._targets[i])\n      }\n    }\n  }\n\n  _activate(target) {\n    this._activeTarget = target\n\n    this._clear()\n\n    const queries = this._selector\n      .split(',')\n      .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n    const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n    if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n      $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n      $link.addClass(ClassName.ACTIVE)\n    } else {\n      // Set triggered link as active\n      $link.addClass(ClassName.ACTIVE)\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n      // Handle special case when .nav-link is inside .nav-item\n      $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n    }\n\n    $(this._scrollElement).trigger(Event.ACTIVATE, {\n      relatedTarget: target\n    })\n  }\n\n  _clear() {\n    [].slice.call(document.querySelectorAll(this._selector))\n      .filter((node) => node.classList.contains(ClassName.ACTIVE))\n      .forEach((node) => node.classList.remove(ClassName.ACTIVE))\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      let data = $(this).data(DATA_KEY)\n      const _config = typeof config === 'object' && config\n\n      if (!data) {\n        data = new ScrollSpy(this, _config)\n        $(this).data(DATA_KEY, data)\n      }\n\n      if (typeof config === 'string') {\n        if (typeof data[config] === 'undefined') {\n          throw new TypeError(`No method named \"${config}\"`)\n        }\n        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(Event.LOAD_DATA_API, () => {\n  const scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY))\n  const scrollSpysLength = scrollSpys.length\n\n  for (let i = scrollSpysLength; i--;) {\n    const $spy = $(scrollSpys[i])\n    ScrollSpy._jQueryInterface.call($spy, $spy.data())\n  }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = ScrollSpy._jQueryInterface\n$.fn[NAME].Constructor = ScrollSpy\n$.fn[NAME].noConflict = () => {\n  $.fn[NAME] = JQUERY_NO_CONFLICT\n  return ScrollSpy._jQueryInterface\n}\n\nexport default ScrollSpy\n", "/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME               = 'tab'\nconst VERSION            = '4.3.1'\nconst DATA_KEY           = 'bs.tab'\nconst EVENT_KEY          = `.${DATA_KEY}`\nconst DATA_API_KEY       = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n  HIDE           : `hide${EVENT_KEY}`,\n  HIDDEN         : `hidden${EVENT_KEY}`,\n  SHOW           : `show${EVENT_KEY}`,\n  SHOWN          : `shown${EVENT_KEY}`,\n  CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n  DROPDOWN_MENU : 'dropdown-menu',\n  ACTIVE        : 'active',\n  DISABLED      : 'disabled',\n  FADE          : 'fade',\n  SHOW          : 'show'\n}\n\nconst Selector = {\n  DROPDOWN              : '.dropdown',\n  NAV_LIST_GROUP        : '.nav, .list-group',\n  ACTIVE                : '.active',\n  ACTIVE_UL             : '> li > .active',\n  DATA_TOGGLE           : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n  DROPDOWN_TOGGLE       : '.dropdown-toggle',\n  DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n  constructor(element) {\n    this._element = element\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  // Public\n\n  show() {\n    if (this._element.parentNode &&\n        this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n        $(this._element).hasClass(ClassName.ACTIVE) ||\n        $(this._element).hasClass(ClassName.DISABLED)) {\n      return\n    }\n\n    let target\n    let previous\n    const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n    const selector = Util.getSelectorFromElement(this._element)\n\n    if (listElement) {\n      const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n      previous = $.makeArray($(listElement).find(itemSelector))\n      previous = previous[previous.length - 1]\n    }\n\n    const hideEvent = $.Event(Event.HIDE, {\n      relatedTarget: this._element\n    })\n\n    const showEvent = $.Event(Event.SHOW, {\n      relatedTarget: previous\n    })\n\n    if (previous) {\n      $(previous).trigger(hideEvent)\n    }\n\n    $(this._element).trigger(showEvent)\n\n    if (showEvent.isDefaultPrevented() ||\n        hideEvent.isDefaultPrevented()) {\n      return\n    }\n\n    if (selector) {\n      target = document.querySelector(selector)\n    }\n\n    this._activate(\n      this._element,\n      listElement\n    )\n\n    const complete = () => {\n      const hiddenEvent = $.Event(Event.HIDDEN, {\n        relatedTarget: this._element\n      })\n\n      const shownEvent = $.Event(Event.SHOWN, {\n        relatedTarget: previous\n      })\n\n      $(previous).trigger(hiddenEvent)\n      $(this._element).trigger(shownEvent)\n    }\n\n    if (target) {\n      this._activate(target, target.parentNode, complete)\n    } else {\n      complete()\n    }\n  }\n\n  dispose() {\n    $.removeData(this._element, DATA_KEY)\n    this._element = null\n  }\n\n  // Private\n\n  _activate(element, container, callback) {\n    const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL')\n      ? $(container).find(Selector.ACTIVE_UL)\n      : $(container).children(Selector.ACTIVE)\n\n    const active = activeElements[0]\n    const isTransitioning = callback && (active && $(active).hasClass(ClassName.FADE))\n    const complete = () => this._transitionComplete(\n      element,\n      active,\n      callback\n    )\n\n    if (active && isTransitioning) {\n      const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n      $(active)\n        .removeClass(ClassName.SHOW)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      complete()\n    }\n  }\n\n  _transitionComplete(element, active, callback) {\n    if (active) {\n      $(active).removeClass(ClassName.ACTIVE)\n\n      const dropdownChild = $(active.parentNode).find(\n        Selector.DROPDOWN_ACTIVE_CHILD\n      )[0]\n\n      if (dropdownChild) {\n        $(dropdownChild).removeClass(ClassName.ACTIVE)\n      }\n\n      if (active.getAttribute('role') === 'tab') {\n        active.setAttribute('aria-selected', false)\n      }\n    }\n\n    $(element).addClass(ClassName.ACTIVE)\n    if (element.getAttribute('role') === 'tab') {\n      element.setAttribute('aria-selected', true)\n    }\n\n    Util.reflow(element)\n\n    if (element.classList.contains(ClassName.FADE)) {\n      element.classList.add(ClassName.SHOW)\n    }\n\n    if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n      const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n\n      if (dropdownElement) {\n        const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE))\n\n        $(dropdownToggleList).addClass(ClassName.ACTIVE)\n      }\n\n      element.setAttribute('aria-expanded', true)\n    }\n\n    if (callback) {\n      callback()\n    }\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      const $this = $(this)\n      let data = $this.data(DATA_KEY)\n\n      if (!data) {\n        data = new Tab(this)\n        $this.data(DATA_KEY, data)\n      }\n\n      if (typeof config === 'string') {\n        if (typeof data[config] === 'undefined') {\n          throw new TypeError(`No method named \"${config}\"`)\n        }\n        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n  .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n    event.preventDefault()\n    Tab._jQueryInterface.call($(this), 'show')\n  })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tab._jQueryInterface\n$.fn[NAME].Constructor = Tab\n$.fn[NAME].noConflict = () => {\n  $.fn[NAME] = JQUERY_NO_CONFLICT\n  return Tab._jQueryInterface\n}\n\nexport default Tab\n", "/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME               = 'toast'\nconst VERSION            = '4.3.1'\nconst DATA_KEY           = 'bs.toast'\nconst EVENT_KEY          = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Event = {\n  CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n  HIDE          : `hide${EVENT_KEY}`,\n  HIDDEN        : `hidden${EVENT_KEY}`,\n  SHOW          : `show${EVENT_KEY}`,\n  SHOWN         : `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n  FADE    : 'fade',\n  HIDE    : 'hide',\n  SHOW    : 'show',\n  SHOWING : 'showing'\n}\n\nconst DefaultType = {\n  animation : 'boolean',\n  autohide  : 'boolean',\n  delay     : 'number'\n}\n\nconst Default = {\n  animation : true,\n  autohide  : true,\n  delay     : 500\n}\n\nconst Selector = {\n  DATA_DISMISS : '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n  constructor(element, config) {\n    this._element = element\n    this._config  = this._getConfig(config)\n    this._timeout = null\n    this._setListeners()\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get Default() {\n    return Default\n  }\n\n  // Public\n\n  show() {\n    $(this._element).trigger(Event.SHOW)\n\n    if (this._config.animation) {\n      this._element.classList.add(ClassName.FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(ClassName.SHOWING)\n      this._element.classList.add(ClassName.SHOW)\n\n      $(this._element).trigger(Event.SHOWN)\n\n      if (this._config.autohide) {\n        this.hide()\n      }\n    }\n\n    this._element.classList.remove(ClassName.HIDE)\n    this._element.classList.add(ClassName.SHOWING)\n    if (this._config.animation) {\n      const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n      $(this._element)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      complete()\n    }\n  }\n\n  hide(withoutTimeout) {\n    if (!this._element.classList.contains(ClassName.SHOW)) {\n      return\n    }\n\n    $(this._element).trigger(Event.HIDE)\n\n    if (withoutTimeout) {\n      this._close()\n    } else {\n      this._timeout = setTimeout(() => {\n        this._close()\n      }, this._config.delay)\n    }\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n\n    if (this._element.classList.contains(ClassName.SHOW)) {\n      this._element.classList.remove(ClassName.SHOW)\n    }\n\n    $(this._element).off(Event.CLICK_DISMISS)\n\n    $.removeData(this._element, DATA_KEY)\n    this._element = null\n    this._config  = null\n  }\n\n  // Private\n\n  _getConfig(config) {\n    config = {\n      ...Default,\n      ...$(this._element).data(),\n      ...typeof config === 'object' && config ? config : {}\n    }\n\n    Util.typeCheckConfig(\n      NAME,\n      config,\n      this.constructor.DefaultType\n    )\n\n    return config\n  }\n\n  _setListeners() {\n    $(this._element).on(\n      Event.CLICK_DISMISS,\n      Selector.DATA_DISMISS,\n      () => this.hide(true)\n    )\n  }\n\n  _close() {\n    const complete = () => {\n      this._element.classList.add(ClassName.HIDE)\n      $(this._element).trigger(Event.HIDDEN)\n    }\n\n    this._element.classList.remove(ClassName.SHOW)\n    if (this._config.animation) {\n      const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n      $(this._element)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      complete()\n    }\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      const $element = $(this)\n      let data       = $element.data(DATA_KEY)\n      const _config  = typeof config === 'object' && config\n\n      if (!data) {\n        data = new Toast(this, _config)\n        $element.data(DATA_KEY, data)\n      }\n\n      if (typeof config === 'string') {\n        if (typeof data[config] === 'undefined') {\n          throw new TypeError(`No method named \"${config}\"`)\n        }\n\n        data[config](this)\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME]             = Toast._jQueryInterface\n$.fn[NAME].Constructor = Toast\n$.fn[NAME].noConflict  = () => {\n  $.fn[NAME] = JQUERY_NO_CONFLICT\n  return Toast._jQueryInterface\n}\n\nexport default Toast\n", "import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Toast from './toast'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(() => {\n  if (typeof $ === 'undefined') {\n    throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n  }\n\n  const version = $.fn.jquery.split(' ')[0].split('.')\n  const minMajor = 1\n  const ltMajor = 2\n  const minMinor = 9\n  const minPatch = 1\n  const maxMajor = 4\n\n  if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n    throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n  }\n})()\n\nexport {\n  Util,\n  Alert,\n  Button,\n  Carousel,\n  Collapse,\n  Dropdown,\n  Modal,\n  Popover,\n  Scrollspy,\n  Tab,\n  Toast,\n  Tooltip\n}\n", "!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.galite=e():t.galite=e()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"\",e(e.s=2)}([function(t,e,n){\"use strict\";function r(t,e){a[t]=e}function i(t){return a[t]}e.a=r,e.b=i;var a={}},function(t,e,n){\"use strict\";function r(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function i(){return(new Date).getTime()}function a(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(1===e.length&&e[0].constructor===Object)return e[0];switch(t){case\"pageview\":return{page:f(e,1)[0]};case\"event\":var n=f(e,4);return{eventCategory:n[0],eventAction:n[1],eventLabel:n[2],eventValue:n[3]};case\"social\":var r=f(e,3);return{socialNetwork:r[0],socialAction:r[1],socialTarget:r[2]};case\"timing\":var i=f(e,4);return{timingCategory:i[0],timingVar:i[1],timingValue:i[2],timingLabel:i[3]};default:return{}}}n.d(e,\"a\",function(){return d});var o=n(6),c=n(7),u=n(8),f=function(){function t(t,e){var n=[],r=!0,i=!1,a=void 0;try{for(var o,c=t[Symbol.iterator]();!(r=(o=c.next()).done)&&(n.push(o.value),!e||n.length!==e);r=!0);}catch(t){i=!0,a=t}finally{try{!r&&c.return&&c.return()}finally{if(i)throw a}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),s=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},l=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),d=\"t0\",p=function(){function t(e){r(this,t),this.fields={trackingId:e},this.userId=Object(c.a)(),this._sendTo=o.a,this._getTime=i}return l(t,[{key:\"send\",value:function(t){for(var e=arguments.length,n=Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];var i=s({hitType:t},a(t,n),this.fields),o=Object(u.a)(this.fields.trackingId,this._getTime(),this.userId,i);this._sendTo(o)}},{key:\"get\",value:function(t){return this.fields[t]}},{key:\"set\",value:function(t,e){this.fields[t]=e}}]),t}();e.b=p},function(t,e,n){\"use strict\";function r(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return Array.from(t)}function i(t){if(!Object(o.a)()){for(var e=a(t),n=d(e,2),r=n[0],i=n[1],s=!!c.a[t],l=!!f.b.prototype[i]&&\"constructor\"!==i,p=arguments.length,v=Array(p>1?p-1:0),g=1;g<p;g++)v[g-1]=arguments[g];if(s)c.a[t].apply(c.a,v);else if(l){var y=Object(u.b)(r);y[i].apply(y,v)}else{if(\"function\"!=typeof t)throw new Error(\"Command \"+t+\" is not available in ga-lite\");var b=Object(u.b)(r);t(b)}}}function a(t){return\"string\"==typeof t&&t.indexOf(\".\")>-1?t.split(\".\"):[f.a,t]}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=i;var o=n(3),c=n(4),u=n(0),f=n(1),s=n(14),l=n(15),d=(n.n(l),function(){function t(t,e){var n=[],r=!0,i=!1,a=void 0;try{for(var o,c=t[Symbol.iterator]();!(r=(o=c.next()).done)&&(n.push(o.value),!e||n.length!==e);r=!0);}catch(t){i=!0,a=t}finally{try{!r&&c.return&&c.return()}finally{if(i)throw a}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}());Object.keys(c.a).forEach(function(t){i[t]=c.a[t]}),Object(s.a)().forEach(function(t){return i.apply(void 0,r(t))})},function(t,e,n){\"use strict\";function r(){return 1===parseInt(navigator.msDoNotTrack||window.doNotTrack||navigator.doNotTrack,10)}e.a=r},function(t,e,n){\"use strict\";var r=n(5),i=n(13),a={create:r.a,getByName:i.a};e.a=a},function(t,e,n){\"use strict\";function r(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a.a,r=(arguments[3],new a.b(t));return Object(i.a)(n,r),r}e.a=r;var i=n(0),a=n(1)},function(t,e,n){\"use strict\";function r(t){if(\"undefined\"!=typeof navigator&&navigator.sendBeacon){if(navigator.sendBeacon(t))return}try{var e=new window.XMLHttpRequest;e.open(\"GET\",t,!1),e.send()}catch(e){var n=new window.Image;n.src=t}}e.a=r},function(t,e,n){\"use strict\";function r(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window?window.localStorage:null;if(t&&t.getItem(i))return t.getItem(i);var e=Math.random()+\".\"+Math.random();return t&&t.setItem(i,e),e}e.a=r;var i=\"uid\"},function(t,e,n){\"use strict\";function r(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},c=arguments.length>4&&void 0!==arguments[4]&&arguments[4],u=Object(a.a)(Object(o.a)(r));return Object(i.a)()+(u?\"&\"+u:\"\")+(c?\"&aip=1\":\"\")+\"&cid=\"+n+\"&tid=\"+t+\"&z=\"+e}e.a=r;var i=n(9),a=n(11),o=n(12)},function(t,e,n){\"use strict\";function r(t,e){return\"https://www.google-analytics.com/collect?v=1&ul=en-us&de=UTF-8\"+Object(i.a)(\"dl\",[document.location.href])+Object(i.a)(\"dt\",[document.title])+Object(i.a)(\"sd\",[window.screen.colorDepth,\"-bit\"])+Object(i.a)(\"sr\",[window.screen.availHeight,\"x\",window.screen.availWidth])+Object(i.a)(\"vp\",[window.innerWidth,\"x\",window.innerHeight])+Object(i.a)(\"dr\",[document.referrer])}e.a=r;var i=n(10)},function(t,e,n){\"use strict\";function r(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return!t||e.indexOf(void 0)>-1?\"\":\"&\"+t+\"=\"+e.map(encodeURIComponent).join(\"\")}e.a=r},function(t,e,n){\"use strict\";function r(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.keys(t).map(function(e){return[e,t[e]].map(i).map(encodeURIComponent).join(\"=\")}).join(\"&\")}function i(t){return\"boolean\"==typeof t?+t:t}e.a=r},function(t,e,n){\"use strict\";function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t){return Object.keys(t).filter(function(t){return o.hasOwnProperty(t)}).filter(function(e){return t[e]}).reduce(function(e,n){return a({},e,r({},o[n],t[n]))},{})}e.a=i;var a=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},o={anonymizeIp:\"aip\",dataSource:\"ds\",queueTime:\"qt\",userId:\"uid\",sessionControl:\"sc\",referrer:\"dr\",campaignName:\"cn\",campaignSource:\"cs\",campaignMedium:\"cm\",campaignKeyword:\"ck\",campaignContent:\"cc\",campaignId:\"ci\",screenResolution:\"sr\",viewportSize:\"vp\",encoding:\"de\",screenColors:\"sd\",language:\"ul\",javaEnabled:\"je\",flashVersion:\"fl\",hitType:\"t\",nonInteraction:\"ni\",location:\"dl\",hostname:\"dh\",page:\"dp\",title:\"dt\",screenName:\"cd\",linkid:\"linkid\",appName:\"an\",appId:\"aid\",appVersion:\"av\",appInstallerId:\"aiid\",eventCategory:\"ec\",eventAction:\"ea\",eventLabel:\"el\",eventValue:\"ev\",currencyCode:\"cu\",socialNetwork:\"sn\",socialAction:\"sa\",socialTarget:\"st\",timingCategory:\"utc\",timingVar:\"utv\",timingValue:\"utt\",timingLabel:\"utl\",exDescription:\"exd\",exFatal:\"exf\",expId:\"xid\",expVar:\"xvar\"}},function(t,e,n){\"use strict\";function r(t){return Object(i.b)(t)}e.a=r;var i=n(0)},function(t,e,n){\"use strict\";function r(){return\"undefined\"==typeof window?[]:window.galite&&window.galite.q||[]}e.a=r},function(t,e){Array.from=Array.from||function(){var t;return(t=Array.prototype.slice).call.apply(t,arguments)}}]).default});", "/* For social buttons */\n$(document).on('click', '.btn-popup', function() {\n  var href = $(this).attr(\"href\");\n  PopupCenter( href, \"share\", 600, 300 );\n  return false;\n});\n\nfunction PopupCenter(url, title, w, h) {\n    // Fixes dual-screen position                         Most browsers      Firefox\n    var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen.left;\n    var dualScreenTop = window.screenTop != undefined ? window.screenTop : screen.top;\n\n    width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;\n    height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;\n\n    var left = ((width / 2) - (w / 2)) + dualScreenLeft;\n    var top = ((height / 2) - (h / 2)) + dualScreenTop;\n    var newWindow = window.open(url, title, 'scrollbars=yes, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);\n\n    // Puts focus on the newWindow\n    if (window.focus) {\n        newWindow.focus();\n    }\n}\n\n", "var cbpAnimatedHeader = (function() {\n  if (location.pathname != '/') {\n    return\n  }\n  var docElem = document.documentElement,\n      header = $('.cbp-af-header' ),\n      didScroll = false,\n      changeHeaderOn = 300;\n  function init() {\n    scrollPage();\n    window.addEventListener( 'scroll', function( event ) {\n      if( !didScroll ) {\n        didScroll = true;\n        setTimeout( scrollPage, 200 );\n      }\n    }, false );\n  }\n  function scrollPage() {\n    var sy = scrollY();\n    if ( sy >= changeHeaderOn ) {\n      header.addClass('cbp-af-header-shrink' );\n    }\n    else {\n      header.removeClass( 'cbp-af-header-shrink' );\n    }\n    didScroll = false;\n  }\n  function scrollY() {\n    return window.pageYOffset || docElem.scrollTop;\n  }\n  init();\n})();\n\n/* GA Lite */\ngalite('create', 'UA-33448710-3', 'auto');\ngalite('send', 'pageview');\nwindow.addEventListener(\n  'unload',\n  function () { galite('send', 'timing', 'JS Dependencies', 'unload') }\n)\n", "const $ = require('./jquery-3.3.1.slim.min.js')\nwindow.$ = window.jQuery = $\nrequire('bootstrap/dist/js/bootstrap.bundle.js')\nrequire('./ga-lite.min.js')\nrequire('./social-buttons.js')\nrequire('./custom.js')\n"],
  "mappings": "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",
  "names": ["e", "t", "n", "i", "o", "r", "a", "u", "s", "l", "c", "f", "d", "p", "h", "g", "v", "y", "m", "b", "x", "w", "C", "T", "E", "ae", "N", "k", "A", "D", "S", "L", "j", "q", "O", "P", "H", "I", "R", "B", "M", "W", "$", "F", "z", "_", "U", "V", "X", "Q", "Y", "G", "K", "J", "Z", "ee", "te", "ne", "re", "ie", "me", "oe", "ye", "ge", "ue", "se", "le", "ce", "fe", "de", "pe", "he", "ve", "be", "xe", "we", "Ce", "Te", "Ee", "global", "window", "isFunction", "isWindow", "document", "arr", "push", "documentElement", "rquickExpr", "i", "matches", "node", "dir", "find", "elem", "self", "value", "deferred", "data", "nodeName", "width", "name", "index", "length", "location", "val", "completed", "method", "type", "TRANSITION_END", "MAX_UID", "MILLISECONDS_MULTIPLIER", "toType", "obj", "toString", "call", "match", "toLowerCase", "getSpecialTransitionEndEvent", "bindType", "delegateType", "handle", "event", "$", "target", "is", "handleObj", "handler", "apply", "arguments", "undefined", "transitionEndEmulator", "duration", "called", "one", "Util", "setTimeout", "triggerTransitionEnd", "setTransitionEndSupport", "fn", "emulateTransitionEnd", "special", "getUID", "prefix", "Math", "random", "document", "getElementById", "getSelectorFromElement", "element", "selector", "getAttribute", "hrefAttr", "trim", "querySelector", "err", "getTransitionDurationFromElement", "transitionDuration", "css", "transitionDelay", "floatTransitionDuration", "parseFloat", "floatTransitionDelay", "split", "reflow", "offsetHeight", "trigger", "supportsTransitionEnd", "Boolean", "isElement", "nodeType", "typeCheckConfig", "componentName", "config", "configTypes", "property", "Object", "prototype", "hasOwnProperty", "expectedTypes", "value", "valueType", "RegExp", "test", "Error", "toUpperCase", "findShadowRoot", "documentElement", "attachShadow", "getRootNode", "root", "ShadowRoot", "parentNode", "NAME", "VERSION", "DATA_KEY", "EVENT_KEY", "DATA_API_KEY", "JQUERY_NO_CONFLICT", "Selector", "DISMISS", "Event", "CLOSE", "CLOSED", "CLICK_DATA_API", "ClassName", "ALERT", "FADE", "SHOW", "Alert", "_element", "close", "rootElement", "_getRootElement", "customEvent", "_triggerCloseEvent", "isDefaultPrevented", "_removeElement", "dispose", "removeData", "parent", "closest", "closeEvent", "removeClass", "hasClass", "_destroyElement", "detach", "remove", "_jQueryInterface", "each", "$element", "data", "_handleDismiss", "alertInstance", "preventDefault", "on", "Constructor", "noConflict", "ACTIVE", "BUTTON", "FOCUS", "DATA_TOGGLE_CARROT", "DATA_TOGGLE", "INPUT", "FOCUS_BLUR_DATA_API", "Button", "toggle", "triggerChangeEvent", "addAriaPressed", "input", "type", "checked", "classList", "contains", "activeElement", "hasAttribute", "focus", "setAttribute", "toggleClass", "button", "ARROW_LEFT_KEYCODE", "ARROW_RIGHT_KEYCODE", "TOUCHEVENT_COMPAT_WAIT", "SWIPE_THRESHOLD", "Default", "interval", "keyboard", "slide", "pause", "wrap", "touch", "DefaultType", "Direction", "NEXT", "PREV", "LEFT", "RIGHT", "SLIDE", "SLID", "KEYDOWN", "MOUSEENTER", "MOUSELEAVE", "TOUCHSTART", "TOUCHMOVE", "TOUCHEND", "POINTERDOWN", "POINTERUP", "DRAG_START", "LOAD_DATA_API", "CAROUSEL", "ITEM", "POINTER_EVENT", "ACTIVE_ITEM", "ITEM_IMG", "NEXT_PREV", "INDICATORS", "DATA_SLIDE", "DATA_RIDE", "PointerType", "TOUCH", "PEN", "Carousel", "_items", "_interval", "_activeElement", "_isPaused", "_isSliding", "touchTimeout", "touchStartX", "touchDeltaX", "_config", "_getConfig", "_indicatorsElement", "_touchSupported", "navigator", "maxTouchPoints", "_pointerEvent", "window", "PointerEvent", "MSPointerEvent", "_addEventListeners", "next", "_slide", "nextWhenVisible", "hidden", "prev", "cycle", "clearInterval", "setInterval", "visibilityState", "bind", "to", "index", "activeIndex", "_getItemIndex", "length", "direction", "off", "_handleSwipe", "absDeltax", "abs", "_keydown", "_addTouchEventListeners", "start", "originalEvent", "pointerType", "clientX", "touches", "move", "end", "clearTimeout", "querySelectorAll", "e", "add", "tagName", "which", "slice", "indexOf", "_getItemByDirection", "isNextDirection", "isPrevDirection", "lastItemIndex", "isGoingToWrap", "delta", "itemIndex", "_triggerSlideEvent", "relatedTarget", "eventDirectionName", "targetIndex", "fromIndex", "slideEvent", "from", "_setActiveIndicatorElement", "indicators", "nextIndicator", "children", "addClass", "activeElementIndex", "nextElement", "nextElementIndex", "isCycling", "directionalClassName", "orderClassName", "slidEvent", "nextElementInterval", "parseInt", "defaultInterval", "action", "TypeError", "ride", "_dataApiClickHandler", "slideIndex", "carousels", "i", "len", "$carousel", "SHOWN", "HIDE", "HIDDEN", "COLLAPSE", "COLLAPSING", "COLLAPSED", "Dimension", "WIDTH", "HEIGHT", "ACTIVES", "Collapse", "_isTransitioning", "_triggerArray", "id", "toggleList", "elem", "filterElement", "filter", "foundElem", "_selector", "push", "_parent", "_getParent", "_addAriaAndCollapsedClass", "hide", "show", "actives", "activesData", "not", "startEvent", "dimension", "_getDimension", "style", "attr", "setTransitioning", "complete", "capitalizedDimension", "scrollSize", "getBoundingClientRect", "triggerArrayLength", "$elem", "isTransitioning", "hasWidth", "jquery", "_getTargetFromElement", "triggerArray", "isOpen", "$this", "currentTarget", "$trigger", "selectors", "$target", "width", "height", "isIE10", "offset", "modifiers", "noRound", "Popper", "ESCAPE_KEYCODE", "SPACE_KEYCODE", "TAB_KEYCODE", "ARROW_UP_KEYCODE", "ARROW_DOWN_KEYCODE", "RIGHT_MOUSE_BUTTON_WHICH", "REGEXP_KEYDOWN", "CLICK", "KEYDOWN_DATA_API", "KEYUP_DATA_API", "DISABLED", "DROPUP", "DROPRIGHT", "DROPLEFT", "MENURIGHT", "MENULEFT", "POSITION_STATIC", "FORM_CHILD", "MENU", "NAVBAR_NAV", "VISIBLE_ITEMS", "AttachmentMap", "TOP", "TOPEND", "BOTTOM", "BOTTOMEND", "RIGHTEND", "LEFTEND", "flip", "boundary", "reference", "display", "Dropdown", "_popper", "_menu", "_getMenuElement", "_inNavbar", "_detectNavbar", "disabled", "_getParentFromElement", "isActive", "_clearMenus", "showEvent", "referenceElement", "_getPopperConfig", "body", "noop", "hideEvent", "destroy", "update", "scheduleUpdate", "stopPropagation", "constructor", "_getPlacement", "$parentDropdown", "placement", "_getOffset", "offsets", "popperConfig", "enabled", "preventOverflow", "boundariesElement", "applyStyle", "toggles", "context", "clickEvent", "dropdownMenu", "_dataApiKeydownHandler", "items", "backdrop", "FOCUSIN", "RESIZE", "CLICK_DISMISS", "KEYDOWN_DISMISS", "MOUSEUP_DISMISS", "MOUSEDOWN_DISMISS", "SCROLLABLE", "SCROLLBAR_MEASURER", "BACKDROP", "OPEN", "DIALOG", "MODAL_BODY", "DATA_DISMISS", "FIXED_CONTENT", "STICKY_CONTENT", "Modal", "_dialog", "_backdrop", "_isShown", "_isBodyOverflowing", "_ignoreBackdropClick", "_scrollbarWidth", "_checkScrollbar", "_setScrollbar", "_adjustDialog", "_setEscapeEvent", "_setResizeEvent", "_showBackdrop", "_showElement", "transition", "_hideModal", "forEach", "htmlElement", "handleUpdate", "Node", "ELEMENT_NODE", "appendChild", "removeAttribute", "scrollTop", "_enforceFocus", "shownEvent", "transitionComplete", "has", "_resetAdjustments", "_resetScrollbar", "_removeBackdrop", "callback", "animate", "createElement", "className", "appendTo", "backdropTransitionDuration", "callbackRemove", "isModalOverflowing", "scrollHeight", "clientHeight", "paddingLeft", "paddingRight", "rect", "left", "right", "innerWidth", "_getScrollbarWidth", "fixedContent", "stickyContent", "actualPadding", "calculatedPadding", "actualMargin", "marginRight", "calculatedMargin", "padding", "elements", "margin", "scrollDiv", "scrollbarWidth", "clientWidth", "removeChild", "uriAttrs", "ARIA_ATTRIBUTE_PATTERN", "DefaultWhitelist", "a", "area", "b", "br", "col", "code", "div", "em", "hr", "h1", "h2", "h3", "h4", "h5", "h6", "img", "li", "ol", "p", "pre", "s", "small", "span", "sub", "sup", "strong", "u", "ul", "SAFE_URL_PATTERN", "DATA_URL_PATTERN", "allowedAttribute", "allowedAttributeList", "attrName", "nodeName", "nodeValue", "regExp", "attrRegex", "l", "sanitizeHtml", "unsafeHtml", "whiteList", "sanitizeFn", "domParser", "DOMParser", "createdDocument", "parseFromString", "whitelistKeys", "keys", "_loop", "el", "elName", "attributeList", "attributes", "whitelistedAttributes", "concat", "innerHTML", "CLASS_PREFIX", "BSCLS_PREFIX_REGEX", "DISALLOWED_ATTRIBUTES", "animation", "template", "title", "delay", "html", "container", "fallbackPlacement", "sanitize", "AUTO", "HoverState", "OUT", "INSERTED", "FOCUSOUT", "TOOLTIP", "TOOLTIP_INNER", "ARROW", "Trigger", "HOVER", "MANUAL", "Tooltip", "_isEnabled", "_timeout", "_hoverState", "_activeTrigger", "tip", "_setListeners", "enable", "disable", "toggleEnabled", "dataKey", "_getDelegateConfig", "click", "_isWithActiveTrigger", "_enter", "_leave", "getTipElement", "isWithContent", "shadowRoot", "isInTheDom", "ownerDocument", "tipId", "setContent", "attachment", "_getAttachment", "addAttachmentClass", "_getContainer", "behavior", "arrow", "onCreate", "originalPlacement", "_handlePopperPlacementChange", "onUpdate", "_fixTransition", "prevHoverState", "_cleanTipClass", "getTitle", "setElementContent", "content", "empty", "append", "text", "find", "triggers", "eventIn", "eventOut", "_fixTitle", "titleType", "dataAttributes", "dataAttr", "key", "$tip", "tabClass", "join", "popperData", "popperInstance", "instance", "popper", "initConfigAnimation", "TITLE", "CONTENT", "Popover", "_getContent", "method", "ACTIVATE", "SCROLL", "DROPDOWN_ITEM", "DROPDOWN_MENU", "DATA_SPY", "NAV_LIST_GROUP", "NAV_LINKS", "NAV_ITEMS", "LIST_ITEMS", "DROPDOWN", "DROPDOWN_ITEMS", "DROPDOWN_TOGGLE", "OffsetMethod", "OFFSET", "POSITION", "ScrollSpy", "_scrollElement", "_offsets", "_targets", "_activeTarget", "_scrollHeight", "_process", "refresh", "autoMethod", "offsetMethod", "offsetBase", "_getScrollTop", "_getScrollHeight", "targets", "map", "targetSelector", "targetBCR", "top", "item", "sort", "pageYOffset", "max", "_getOffsetHeight", "innerHeight", "maxScroll", "_activate", "_clear", "offsetLength", "isActiveTarget", "queries", "$link", "parents", "node", "scrollSpys", "scrollSpysLength", "$spy", "ACTIVE_UL", "DROPDOWN_ACTIVE_CHILD", "Tab", "previous", "listElement", "itemSelector", "makeArray", "hiddenEvent", "activeElements", "active", "_transitionComplete", "dropdownChild", "dropdownElement", "dropdownToggleList", "SHOWING", "autohide", "Toast", "withoutTimeout", "_close", "version", "minMajor", "ltMajor", "minMinor", "minPatch", "maxMajor", "t", "n", "e", "r", "i", "a", "o", "c", "s", "l", "$"]
}
