jQuery Updater - Version 3.3.1

Version Description

  • Updated jQuery to 3.3.1
Download this release

Release Info

Developer Ramoonus
Plugin Icon wp plugin jQuery Updater
Version 3.3.1
Comparing to
See all releases

Code changes from version 3.2.1 to 3.3.1

jquery-updater.php CHANGED
@@ -1,9 +1,10 @@
1
<?php
2
- /*
3
* Plugin Name: jQuery Updater
4
* Plugin URI: http://www.ramoonus.nl/wordpress/jquery-updater/
5
* Description: This plugin updates jQuery to the latest stable version.
6
- * Version: 3.2.1
7
* Author: Ramoonus
8
* Author URI: http://www.ramoonus.nl/
9
* License: GPL3
@@ -11,35 +12,42 @@
11
* Domain Path: /languages
12
*/
13
14
- /*
15
* Replace jQuery with a newer version, load jQuery Migrate
16
- * @version 3.2.1
17
* @since 1.0.0
18
*/
19
function rw_jquery_updater()
20
{
21
-
22
// jQuery
23
// Deregister core jQuery
24
wp_deregister_script('jquery');
25
// Register
26
- wp_enqueue_script('jquery', plugins_url('/js/jquery-3.2.1.min.js', __FILE__), false, '3.2.1');
27
-
28
// jQuery Migrate
29
// Deregister core jQuery Migrate
30
wp_deregister_script('jquery-migrate');
31
// Register
32
- wp_enqueue_script('jquery-migrate', plugins_url('/js/jquery-migrate-3.0.0.min.js', __FILE__), array('jquery'), '3.0.0'); // require jquery, as loaded above
33
}
34
35
- // Front-End
36
add_action('wp_enqueue_scripts', 'rw_jquery_updater');
37
38
- /*
39
* Load translation
40
* @since 2.2.0
41
* @version 1.0
42
- */
43
function rw__load_plugin_textdomain()
44
{
45
load_plugin_textdomain('jquery-updater', FALSE, basename(dirname(__FILE__)) . '/languages/');
1
<?php
2
+
3
+ /**
4
* Plugin Name: jQuery Updater
5
* Plugin URI: http://www.ramoonus.nl/wordpress/jquery-updater/
6
* Description: This plugin updates jQuery to the latest stable version.
7
+ * Version: 3.3.1
8
* Author: Ramoonus
9
* Author URI: http://www.ramoonus.nl/
10
* License: GPL3
12
* Domain Path: /languages
13
*/
14
15
+ /**
16
* Replace jQuery with a newer version, load jQuery Migrate
17
+ *
18
+ * @version 3.3.1
19
* @since 1.0.0
20
*/
21
function rw_jquery_updater()
22
{
23
+
24
// jQuery
25
// Deregister core jQuery
26
wp_deregister_script('jquery');
27
// Register
28
+ wp_enqueue_script('jquery', plugins_url('/js/jquery-3.3.1.min.js', __FILE__), false, '3.3.1');
29
+
30
// jQuery Migrate
31
// Deregister core jQuery Migrate
32
wp_deregister_script('jquery-migrate');
33
// Register
34
+ wp_enqueue_script('jquery-migrate', plugins_url('/js/jquery-migrate-3.0.0.min.js', __FILE__), array(
35
+ 'jquery'
36
+ ), '3.0.0'); // require jquery, as loaded above
37
}
38
39
+ /**
40
+ * Front-End
41
+ */
42
add_action('wp_enqueue_scripts', 'rw_jquery_updater');
43
44
+ /**
45
* Load translation
46
+ *
47
* @since 2.2.0
48
* @version 1.0
49
+ *
50
+ */
51
function rw__load_plugin_textdomain()
52
{
53
load_plugin_textdomain('jquery-updater', FALSE, basename(dirname(__FILE__)) . '/languages/');
js/jquery-3.2.1.min.js DELETED
@@ -1,4 +0,0 @@
1
- /*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */
2
- !function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.2.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+#x2F;g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=Array.isArray(d)))?(e?(e=!1,f=c&&Array.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+quot;,"g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"quot;),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")quot;,"i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)#x2F;i,X=/^h\d#x2F;i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))#x2F;,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e);return!1}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}return!1}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext;function B(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)#x2F;i,D=/^.[^:#\[\.,]*#x2F;;function E(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):D.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(E(this,a||[],!1))},not:function(a){return this.pushStack(E(this,a||[],!0))},is:function(a){return!!E(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var F,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))#x2F;,H=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||F,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:G.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),C.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};H.prototype=r.fn,F=r(d);var I=/^(?:parents|prev(?:Until|All))/,J={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function K(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return K(a,"nextSibling")},prev:function(a){return K(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return B(a,"iframe")?a.contentDocument:(B(a,"template")&&(a=a.content||a),r.merge([],a.childNodes))}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(J[a]||r.uniqueSort(e),I.test(a)&&e.reverse()),this.pushStack(e)}});var L=/[^\x20\t\r\n\f]+/g;function M(a){var b={};return r.each(a.match(L)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?M(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=e||a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function N(a){return a}function O(a){throw a}function P(a,b,c,d){var e;try{a&&r.isFunction(e=a.promise)?e.call(a).done(b).fail(c):a&&r.isFunction(e=a.then)?e.call(a,b,c):b.apply(void 0,[a].slice(d))}catch(a){c.apply(void 0,[a])}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,N,e),g(f,c,O,e)):(f++,j.call(a,g(f,c,N,e),g(f,c,O,e),g(f,c,N,c.notifyWith))):(d!==N&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==O&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:N,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:N)),c[2][3].add(g(0,a,r.isFunction(d)?d:O))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(P(a,g.done(h(c)).resolve,g.reject,!b),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)P(e[c],h(c),g.reject);return g.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error#x2F;;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&Q.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var R=r.Deferred();r.fn.ready=function(a){return R.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||R.resolveWith(d,[r]))}}),r.ready.then=R.then;function S(){d.removeEventListener("DOMContentLoaded",S),
3
- a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},U=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function V(){this.expando=r.expando+V.uid++}V.uid=1,V.prototype={cache:function(a){var b=a[this.expando];return b||(b={},U(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){Array.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(L)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var W=new V,X=new V,Y=/^(?:\{[\w\W]*\}|\[[\w\W]*\])#x2F;,Z=/[A-Z]/g;function $(a){return"true"===a||"false"!==a&&("null"===a?null:a===+a+""?+a:Y.test(a)?JSON.parse(a):a)}function _(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Z,"-amp;").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c=$(c)}catch(e){}X.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return X.hasData(a)||W.hasData(a)},data:function(a,b,c){return X.access(a,b,c)},removeData:function(a,b){X.remove(a,b)},_data:function(a,b,c){return W.access(a,b,c)},_removeData:function(a,b){W.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=X.get(f),1===f.nodeType&&!W.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),_(f,d,e[d])));W.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){X.set(this,a)}):T(this,function(b){var c;if(f&&void 0===b){if(c=X.get(f,a),void 0!==c)return c;if(c=_(f,a),void 0!==c)return c}else this.each(function(){X.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){X.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=W.get(a,b),c&&(!d||Array.isArray(c)?d=W.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return W.get(a,c)||W.access(a,c,{empty:r.Callbacks("once memory").add(function(){W.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=W.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var aa=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ba=new RegExp("^(?:([+-])=|)("+aa+")([a-z%]*)quot;,"i"),ca=["Top","Right","Bottom","Left"],da=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},ea=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function fa(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&ba.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ga={};function ha(a){var b,c=a.ownerDocument,d=a.nodeName,e=ga[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),ga[d]=e,e)}function ia(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=W.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&da(d)&&(e[f]=ha(d))):"none"!==c&&(e[f]="none",W.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ia(this,!0)},hide:function(){return ia(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){da(this)?r(this).show():r(this).hide()})}});var ja=/^(?:checkbox|radio)#x2F;i,ka=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,la=/^$|\/(?:java|ecma)script/i,ma={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ma.optgroup=ma.option,ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead,ma.th=ma.td;function na(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&B(a,b)?r.merge([a],c):c}function oa(a,b){for(var c=0,d=a.length;c<d;c++)W.set(a[c],"globalEval",!b||W.get(b[c],"globalEval"))}var pa=/<|&#?\w+;/;function qa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(pa.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ka.exec(f)||["",""])[1].toLowerCase(),i=ma[h]||ma._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=na(l.appendChild(f),"script"),j&&oa(g),c){k=0;while(f=g[k++])la.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g,h=[],i=b.delegateCount,j=a.target;if(i&&j.nodeType&&!("click"===a.type&&a.button>=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c<i;c++)d=b[c],e=d.selector+" ",void 0===g[e]&&(g[e]=d.needsContext?r(e,this).index(j)>-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i<b.length&&h.push({elem:j,handlers:b.slice(i)}),h},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==xa()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===xa()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&B(this,"input"))return this.click(),!1},_default:function(a){return B(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?va:wa,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:wa,isPropagationStopped:wa,isImmediatePropagationStopped:wa,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=va,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=va,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=va,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&sa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ta.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return ya(this,a,b,c,d)},one:function(a,b,c,d){return ya(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=wa),this.each(function(){r.event.remove(this,a,c,b)})}});var za=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/<script|<style|<link/i,Ba=/checked\s*(?:[^=]|=\s*.checked.)/i,Ca=/^true\/(.*)/,Da=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*#x2F;g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}X.hasData(a)&&(h=X.access(a),i=r.extend({},h),X.set(b,i))}}function Ia(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ja.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ja(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,na(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ga),l=0;l<i;l++)j=h[l],la.test(j.type||"")&&!W.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Da,""),k))}return a}function Ka(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(na(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&oa(na(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(za,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d<e;d++)Ia(f[d],g[d]);if(b)if(c)for(f=f||na(a),g=g||na(h),d=0,e=f.length;d<e;d++)Ha(f[d],g[d]);else Ha(a,h);return g=na(h,"script"),g.length>0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(na(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ja(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(na(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var La=/^margin/,Ma=new RegExp("^("+aa+")(?!px)[a-z%]+quot;,"i"),Na=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",ra.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,ra.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Oa(a,b,c){var d,e,f,g,h=a.style;return c=c||Na(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ma.test(g)&&La.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Pa(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Qa=/^(none|table(?!-c[ea]).+)/,Ra=/^--/,Sa={position:"absolute",visibility:"hidden",display:"block"},Ta={letterSpacing:"0",fontWeight:"400"},Ua=["Webkit","Moz","ms"],Va=d.createElement("div").style;function Wa(a){if(a in Va)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ua.length;while(c--)if(a=Ua[c]+b,a in Va)return a}function Xa(a){var b=r.cssProps[a];return b||(b=r.cssProps[a]=Wa(a)||a),b}function Ya(a,b,c){var d=ba.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Za(a,b,c,d,e){var f,g=0;for(f=c===(d?"border":"content")?4:"width"===b?1:0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+ca[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+ca[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+ca[f]+"Width",!0,e))):(g+=r.css(a,"padding"+ca[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+ca[f]+"Width",!0,e)));return g}function $a(a,b,c){var d,e=Na(a),f=Oa(a,b,e),g="border-box"===r.css(a,"boxSizing",!1,e);return Ma.test(f)?f:(d=g&&(o.boxSizingReliable()||f===a.style[b]),"auto"===f&&(f=a["offset"+b[0].toUpperCase()+b.slice(1)]),f=parseFloat(f)||0,f+Za(a,b,c||(g?"border":"content"),d,e)+"px")}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Oa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=Ra.test(b),j=a.style;return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:j[b]:(f=typeof c,"string"===f&&(e=ba.exec(c))&&e[1]&&(c=fa(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(j[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i?j.setProperty(b,c):j[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b),i=Ra.test(b);return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Oa(a,b,d)),"normal"===e&&b in Ta&&(e=Ta[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Qa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?$a(a,b,d):ea(a,Sa,function(){return $a(a,b,d)})},set:function(a,c,d){var e,f=d&&Na(a),g=d&&Za(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=ba.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ya(a,c,g)}}}),r.cssHooks.marginLeft=Pa(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Oa(a,"marginLeft"))||a.getBoundingClientRect().left-ea(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+ca[d]+b]=f[d]||f[d-2]||f[0];return e}},La.test(a)||(r.cssHooks[a+b].set=Ya)}),r.fn.extend({css:function(a,b){return T(this,function(a,b,c){var d,e,f={},g=0;if(Array.isArray(b)){for(d=Na(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function _a(a,b,c,d,e){return new _a.prototype.init(a,b,c,d,e)}r.Tween=_a,_a.prototype={constructor:_a,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=_a.propHooks[this.prop];return a&&a.get?a.get(this):_a.propHooks._default.get(this)},run:function(a){var b,c=_a.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):_a.propHooks._default.set(this),this}},_a.prototype.init.prototype=_a.prototype,_a.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},_a.propHooks.scrollTop=_a.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=_a.prototype.init,r.fx.step={};var ab,bb,cb=/^(?:toggle|show|hide)#x2F;,db=/queueHooks#x2F;;function eb(){bb&&(d.hidden===!1&&a.requestAnimationFrame?a.requestAnimationFrame(eb):a.setTimeout(eb,r.fx.interval),r.fx.tick())}function fb(){return a.setTimeout(function(){ab=void 0}),ab=r.now()}function gb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ca[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function hb(a,b,c){for(var d,e=(kb.tweeners[b]||[]).concat(kb.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&da(a),q=W.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],cb.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=W.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ia([a],!0),j=a.style.display||j,k=r.css(a,"display"),ia([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=W.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ia([a],!0),m.done(function(){p||ia([a]),W.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=hb(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],Array.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kb(a,b,c){var d,e,f=0,g=kb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=ab||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(i||h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:ab||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);f<g;f++)if(d=kb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,hb,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j}r.Animation=r.extend(kb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return fa(c.elem,a,ba.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(L);for(var c,d=0,e=a.length;d<e;d++)c=a[d],kb.tweeners[c]=kb.tweeners[c]||[],kb.tweeners[c].unshift(b)},prefilters:[ib],prefilter:function(a,b){b?kb.prefilters.unshift(a):kb.prefilters.push(a)}}),r.speed=function(a,b,c){var d=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off?d.duration=0:"number"!=typeof d.duration&&(d.duration in r.fx.speeds?d.duration=r.fx.speeds[d.duration]:d.duration=r.fx.speeds._default),null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){r.isFunction(d.old)&&d.old.call(this),d.queue&&r.dequeue(this,d.queue)},d},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(da).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=kb(this,r.extend({},a),f);(e||W.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=r.timers,g=W.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&db.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=W.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gb(b,!0),a,d,e)}}),r.each({slideDown:gb("show"),slideUp:gb("hide"),slideToggle:gb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(ab=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),ab=void 0},r.fx.timer=function(a){r.timers.push(a),r.fx.start()},r.fx.interval=13,r.fx.start=function(){bb||(bb=!0,eb())},r.fx.stop=function(){bb=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var lb,mb=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return T(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?lb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),
4
- null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),lb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=mb[b]||r.find.attr;mb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=mb[g],mb[g]=e,e=null!=c(a,b,d)?g:null,mb[g]=f),e}});var nb=/^(?:input|select|textarea|button)#x2F;i,ob=/^(?:a|area)#x2F;i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):nb.test(a.nodeName)||ob.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function pb(a){var b=a.match(L)||[];return b.join(" ")}function qb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,qb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,qb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,qb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=qb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+pb(qb(c))+" ").indexOf(b)>-1)return!0;return!1}});var rb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:pb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d<i;d++)if(c=e[d],(c.selected||d===f)&&!c.disabled&&(!c.parentNode.disabled||!B(c.parentNode,"optgroup"))){if(b=r(c).val(),g)return b;h.push(b)}return h},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var sb=/^(?:focusinfocus|focusoutblur)#x2F;;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!sb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,sb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var tb=a.location,ub=r.now(),vb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var wb=/\[\]#x2F;,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)#x2F;i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}});var Bb=/%20/g,Cb=/#.*#x2F;,Db=/([?&])_=[^&]*/,Eb=/^(.*?):[ \t]*([^\r\n]*)#x2F;gm,Fb=/^(?:about|app|app-storage|.+-extension|file|res|widget):#x2F;,Gb=/^(?:GET|HEAD)#x2F;,Hb=/^\/\//,Ib={},Jb={},Kb="*/".concat("*"),Lb=d.createElement("a");Lb.href=tb.href;function Mb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(L)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nb(a,b,c,d){var e={},f=a===Jb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Ob(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Pb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Qb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:tb.href,type:"GET",isLocal:Fb.test(tb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Ob(Ob(a,r.ajaxSettings),b):Ob(r.ajaxSettings,a)},ajaxPrefilter:Mb(Ib),ajaxTransport:Mb(Jb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Eb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||tb.href)+"").replace(Hb,tb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(L)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Lb.protocol+"//"+Lb.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Nb(Ib,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Gb.test(o.type),f=o.url.replace(Cb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(Bb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(vb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Db,"$1"),n=(vb.test(f)?"&":"?")+"_="+ub++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Kb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Nb(Jb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Pb(o,y,d)),v=Qb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Rb={0:200,1223:204},Sb=r.ajaxSettings.xhr();o.cors=!!Sb&&"withCredentials"in Sb,o.ajax=Sb=!!Sb,r.ajaxTransport(function(b){var c,d;if(o.cors||Sb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Rb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Tb=[],Ub=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Tb.pop()||r.expando+"_"+ub++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Ub.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ub.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Ub,"$1"+e):b.jsonp!==!1&&(b.url+=(vb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Tb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=C.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=qa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=pb(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length},r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),b=f.ownerDocument,c=b.documentElement,e=b.defaultView,{top:d.top+e.pageYOffset-c.clientTop,left:d.left+e.pageXOffset-c.clientLeft}):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),B(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||ra})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return T(this,function(a,d,e){var f;return r.isWindow(a)?f=a:9===a.nodeType&&(f=a.defaultView),void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Pa(o.pixelPosition,function(a,c){if(c)return c=Oa(a,b),Ma.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return T(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.holdReady=function(a){a?r.readyWait++:r.ready(!0)},r.isArray=Array.isArray,r.parseJSON=JSON.parse,r.nodeName=B,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Vb=a.jQuery,Wb=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Wb),b&&a.jQuery===r&&(a.jQuery=Vb),r},b||(a.jQuery=a.$=r),r});
js/{jquery-3.2.1.js → jquery-3.3.1.js} RENAMED
@@ -1,5 +1,5 @@
1
/*!
2
- * jQuery JavaScript Library v3.2.1
3
* https://jquery.com/
4
*
5
* Includes Sizzle.js
@@ -9,7 +9,7 @@
9
* Released under the MIT license
10
* https://jquery.org/license
11
*
12
- * Date: 2017-03-20T18:59Z
13
*/
14
( function( global, factory ) {
15
@@ -71,16 +71,57 @@ var ObjectFunctionString = fnToString.call( Object );
71
72
var support = {};
73
74
75
76
- function DOMEval( code, doc ) {
77
doc = doc || document;
78
79
- var script = doc.createElement( "script" );
80
81
script.text = code;
82
doc.head.appendChild( script ).parentNode.removeChild( script );
83
}
84
/* global Symbol */
85
// Defining this global in .eslintrc.json would create a danger of using the global
86
// unguarded in another place, it seems safer to define global only for this module
@@ -88,7 +129,7 @@ var support = {};
88
89
90
var
91
- version = "3.2.1",
92
93
// Define a local copy of jQuery
94
jQuery = function( selector, context ) {
@@ -100,16 +141,7 @@ var
100
101
// Support: Android <=4.0 only
102
// Make sure we trim BOM and NBSP
103
- rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+#x2F;g,
104
-
105
- // Matches dashed string for camelizing
106
- rmsPrefix = /^-ms-/,
107
- rdashAlpha = /-([a-z])/g,
108
-
109
- // Used by jQuery.camelCase as callback to replace()
110
- fcamelCase = function( all, letter ) {
111
- return letter.toUpperCase();
112
- };
113
114
jQuery.fn = jQuery.prototype = {
115
@@ -209,7 +241,7 @@ jQuery.extend = jQuery.fn.extend = function() {
209
}
210
211
// Handle case when target is a string or something (possible in deep copy)
212
- if ( typeof target !== "object" && !jQuery.isFunction( target ) ) {
213
target = {};
214
}
215
@@ -275,28 +307,6 @@ jQuery.extend( {
275
276
noop: function() {},
277
278
- isFunction: function( obj ) {
279
- return jQuery.type( obj ) === "function";
280
- },
281
-
282
- isWindow: function( obj ) {
283
- return obj != null && obj === obj.window;
284
- },
285
-
286
- isNumeric: function( obj ) {
287
-
288
- // As of jQuery 3.0, isNumeric is limited to
289
- // strings and numbers (primitives or objects)
290
- // that can be coerced to finite numbers (gh-2662)
291
- var type = jQuery.type( obj );
292
- return ( type === "number" || type === "string" ) &&
293
-
294
- // parseFloat NaNs numeric-cast false positives ("")
295
- // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
296
- // subtraction forces infinities to NaN
297
- !isNaN( obj - parseFloat( obj ) );
298
- },
299
-
300
isPlainObject: function( obj ) {
301
var proto, Ctor;
302
@@ -330,29 +340,11 @@ jQuery.extend( {
330
return true;
331
},
332
333
- type: function( obj ) {
334
- if ( obj == null ) {
335
- return obj + "";
336
- }
337
-
338
- // Support: Android <=2.3 only (functionish RegExp)
339
- return typeof obj === "object" || typeof obj === "function" ?
340
- class2type[ toString.call( obj ) ] || "object" :
341
- typeof obj;
342
- },
343
-
344
// Evaluates a script in a global context
345
globalEval: function( code ) {
346
DOMEval( code );
347
},
348
349
- // Convert dashed to camelCase; used by the css and data modules
350
- // Support: IE <=9 - 11, Edge 12 - 13
351
- // Microsoft forgot to hump their vendor prefix (#9572)
352
- camelCase: function( string ) {
353
- return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
354
- },
355
-
356
each: function( obj, callback ) {
357
var length, i = 0;
358
@@ -473,37 +465,6 @@ jQuery.extend( {
473
// A global GUID counter for objects
474
guid: 1,
475
476
- // Bind a function to a context, optionally partially applying any
477
- // arguments.
478
- proxy: function( fn, context ) {
479
- var tmp, args, proxy;
480
-
481
- if ( typeof context === "string" ) {
482
- tmp = fn[ context ];
483
- context = fn;
484
- fn = tmp;
485
- }
486
-
487
- // Quick check to determine if target is callable, in the spec
488
- // this throws a TypeError, but we will just return undefined.
489
- if ( !jQuery.isFunction( fn ) ) {
490
- return undefined;
491
- }
492
-
493
- // Simulated bind
494
- args = slice.call( arguments, 2 );
495
- proxy = function() {
496
- return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
497
- };
498
-
499
- // Set the guid of unique handler to the same of original handler, so it can be removed
500
- proxy.guid = fn.guid = fn.guid || jQuery.guid++;
501
-
502
- return proxy;
503
- },
504
-
505
- now: Date.now,
506
-
507
// jQuery.support is not used in Core but other projects attach their
508
// properties to it so it needs to exist.
509
support: support
@@ -526,9 +487,9 @@ function isArrayLike( obj ) {
526
// hasOwn isn't used here due to false negatives
527
// regarding Nodelist length in IE
528
var length = !!obj && "length" in obj && obj.length,
529
- type = jQuery.type( obj );
530
531
- if ( type === "function" || jQuery.isWindow( obj ) ) {
532
return false;
533
}
534
@@ -2843,16 +2804,14 @@ function nodeName( elem, name ) {
2843
2844
return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
2845
2846
- }
2847
- var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)#x2F;i );
2848
-
2849
2850
2851
- var risSimple = /^.[^:#\[\.,]*#x2F;;
2852
2853
// Implement the identical functionality for filter and not
2854
function winnow( elements, qualifier, not ) {
2855
- if ( jQuery.isFunction( qualifier ) ) {
2856
return jQuery.grep( elements, function( elem, i ) {
2857
return !!qualifier.call( elem, i, elem ) !== not;
2858
} );
@@ -2872,16 +2831,8 @@ function winnow( elements, qualifier, not ) {
2872
} );
2873
}
2874
2875
- // Simple selector that can be filtered directly, removing non-Elements
2876
- if ( risSimple.test( qualifier ) ) {
2877
- return jQuery.filter( qualifier, elements, not );
2878
- }
2879
-
2880
- // Complex selector, compare the two sets, removing non-Elements
2881
- qualifier = jQuery.filter( qualifier, elements );
2882
- return jQuery.grep( elements, function( elem ) {
2883
- return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1;
2884
- } );
2885
}
2886
2887
jQuery.filter = function( expr, elems, not ) {
@@ -3002,7 +2953,7 @@ var rootjQuery,
3002
for ( match in context ) {
3003
3004
// Properties of context are called as methods if possible
3005
- if ( jQuery.isFunction( this[ match ] ) ) {
3006
this[ match ]( context[ match ] );
3007
3008
// ...and otherwise set as attributes
@@ -3045,7 +2996,7 @@ var rootjQuery,
3045
3046
// HANDLE: $(function)
3047
// Shortcut for document ready
3048
- } else if ( jQuery.isFunction( selector ) ) {
3049
return root.ready !== undefined ?
3050
root.ready( selector ) :
3051
@@ -3360,11 +3311,11 @@ jQuery.Callbacks = function( options ) {
3360
3361
( function add( args ) {
3362
jQuery.each( args, function( _, arg ) {
3363
- if ( jQuery.isFunction( arg ) ) {
3364
if ( !options.unique || !self.has( arg ) ) {
3365
list.push( arg );
3366
}
3367
- } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) {
3368
3369
// Inspect recursively
3370
add( arg );
@@ -3479,11 +3430,11 @@ function adoptValue( value, resolve, reject, noValue ) {
3479
try {
3480
3481
// Check for promise aspect first to privilege synchronous behavior
3482
- if ( value && jQuery.isFunction( ( method = value.promise ) ) ) {
3483
method.call( value ).done( resolve ).fail( reject );
3484
3485
// Other thenables
3486
- } else if ( value && jQuery.isFunction( ( method = value.then ) ) ) {
3487
method.call( value, resolve, reject );
3488
3489
// Other non-thenables
@@ -3541,14 +3492,14 @@ jQuery.extend( {
3541
jQuery.each( tuples, function( i, tuple ) {
3542
3543
// Map tuples (progress, done, fail) to arguments (done, fail, progress)
3544
- var fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
3545
3546
// deferred.progress(function() { bind to newDefer or newDefer.notify })
3547
// deferred.done(function() { bind to newDefer or newDefer.resolve })
3548
// deferred.fail(function() { bind to newDefer or newDefer.reject })
3549
deferred[ tuple[ 1 ] ]( function() {
3550
var returned = fn && fn.apply( this, arguments );
3551
- if ( returned && jQuery.isFunction( returned.promise ) ) {
3552
returned.promise()
3553
.progress( newDefer.notify )
3554
.done( newDefer.resolve )
@@ -3602,7 +3553,7 @@ jQuery.extend( {
3602
returned.then;
3603
3604
// Handle a returned thenable
3605
- if ( jQuery.isFunction( then ) ) {
3606
3607
// Special processors (notify) just wait for resolution
3608
if ( special ) {
@@ -3698,7 +3649,7 @@ jQuery.extend( {
3698
resolve(
3699
0,
3700
newDefer,
3701
- jQuery.isFunction( onProgress ) ?
3702
onProgress :
3703
Identity,
3704
newDefer.notifyWith
@@ -3710,7 +3661,7 @@ jQuery.extend( {
3710
resolve(
3711
0,
3712
newDefer,
3713
- jQuery.isFunction( onFulfilled ) ?
3714
onFulfilled :
3715
Identity
3716
)
@@ -3721,7 +3672,7 @@ jQuery.extend( {
3721
resolve(
3722
0,
3723
newDefer,
3724
- jQuery.isFunction( onRejected ) ?
3725
onRejected :
3726
Thrower
3727
)
@@ -3761,8 +3712,15 @@ jQuery.extend( {
3761
// fulfilled_callbacks.disable
3762
tuples[ 3 - i ][ 2 ].disable,
3763
3764
// progress_callbacks.lock
3765
- tuples[ 0 ][ 2 ].lock
3766
);
3767
}
3768
@@ -3832,7 +3790,7 @@ jQuery.extend( {
3832
3833
// Use .then() to unwrap secondary thenables (cf. gh-3000)
3834
if ( master.state() === "pending" ||
3835
- jQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
3836
3837
return master.then();
3838
}
@@ -3960,7 +3918,7 @@ var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
3960
bulk = key == null;
3961
3962
// Sets many values
3963
- if ( jQuery.type( key ) === "object" ) {
3964
chainable = true;
3965
for ( i in key ) {
3966
access( elems, fn, i, key[ i ], true, emptyGet, raw );
@@ -3970,7 +3928,7 @@ var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
3970
} else if ( value !== undefined ) {
3971
chainable = true;
3972
3973
- if ( !jQuery.isFunction( value ) ) {
3974
raw = true;
3975
}
3976
@@ -4012,6 +3970,23 @@ var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
4012
4013
return len ? fn( elems[ 0 ], key ) : emptyGet;
4014
};
4015
var acceptData = function( owner ) {
4016
4017
// Accepts only:
@@ -4074,14 +4049,14 @@ Data.prototype = {
4074
// Handle: [ owner, key, value ] args
4075
// Always use camelCase key (gh-2257)
4076
if ( typeof data === "string" ) {
4077
- cache[ jQuery.camelCase( data ) ] = value;
4078
4079
// Handle: [ owner, { properties } ] args
4080
} else {
4081
4082
// Copy the properties one-by-one to the cache object
4083
for ( prop in data ) {
4084
- cache[ jQuery.camelCase( prop ) ] = data[ prop ];
4085
}
4086
}
4087
return cache;
@@ -4091,7 +4066,7 @@ Data.prototype = {
4091
this.cache( owner ) :
4092
4093
// Always use camelCase key (gh-2257)
4094
- owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ];
4095
},
4096
access: function( owner, key, value ) {
4097
@@ -4139,9 +4114,9 @@ Data.prototype = {
4139
4140
// If key is an array of keys...
4141
// We always set camelCase keys, so remove that.
4142
- key = key.map( jQuery.camelCase );
4143
} else {
4144
- key = jQuery.camelCase( key );
4145
4146
// If a key with the spaces exists, use it.
4147
// Otherwise, create an array by matching non-whitespace
@@ -4287,7 +4262,7 @@ jQuery.fn.extend( {
4287
if ( attrs[ i ] ) {
4288
name = attrs[ i ].name;
4289
if ( name.indexOf( "data-" ) === 0 ) {
4290
- name = jQuery.camelCase( name.slice( 5 ) );
4291
dataAttr( elem, name, data[ name ] );
4292
}
4293
}
@@ -4534,8 +4509,7 @@ var swap = function( elem, options, callback, args ) {
4534
4535
4536
function adjustCSS( elem, prop, valueParts, tween ) {
4537
- var adjusted,
4538
- scale = 1,
4539
maxIterations = 20,
4540
currentValue = tween ?
4541
function() {
@@ -4553,30 +4527,33 @@ function adjustCSS( elem, prop, valueParts, tween ) {
4553
4554
if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
4555
4556
// Trust units reported by jQuery.css
4557
unit = unit || initialInUnit[ 3 ];
4558
4559
- // Make sure we update the tween properties later on
4560
- valueParts = valueParts || [];
4561
-
4562
// Iteratively approximate from a nonzero starting point
4563
initialInUnit = +initial || 1;
4564
4565
- do {
4566
-
4567
- // If previous iteration zeroed out, double until we get *something*.
4568
- // Use string for doubling so we don't accidentally see scale as unchanged below
4569
- scale = scale || ".5";
4570
4571
- // Adjust and apply
4572
- initialInUnit = initialInUnit / scale;
4573
jQuery.style( elem, prop, initialInUnit + unit );
4574
4575
- // Update scale, tolerating zero or NaN from tween.cur()
4576
- // Break the loop if scale is unchanged or perfect, or if we've just had enough.
4577
- } while (
4578
- scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations
4579
- );
4580
}
4581
4582
if ( valueParts ) {
@@ -4694,7 +4671,7 @@ var rcheckableType = ( /^(?:checkbox|radio)#x2F;i );
4694
4695
var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i );
4696
4697
- var rscriptType = ( /^$|\/(?:java|ecma)script/i );
4698
4699
4700
@@ -4776,7 +4753,7 @@ function buildFragment( elems, context, scripts, selection, ignored ) {
4776
if ( elem || elem === 0 ) {
4777
4778
// Add nodes directly
4779
- if ( jQuery.type( elem ) === "object" ) {
4780
4781
// Support: Android <=4.0 only, PhantomJS 1 only
4782
// push.apply(_, arraylike) throws on ancient WebKit
@@ -5286,7 +5263,7 @@ jQuery.event = {
5286
enumerable: true,
5287
configurable: true,
5288
5289
- get: jQuery.isFunction( hook ) ?
5290
function() {
5291
if ( this.originalEvent ) {
5292
return hook( this.originalEvent );
@@ -5421,7 +5398,7 @@ jQuery.Event = function( src, props ) {
5421
}
5422
5423
// Create a timestamp if incoming event doesn't have one
5424
- this.timeStamp = src && src.timeStamp || jQuery.now();
5425
5426
// Mark it as fixed
5427
this[ jQuery.expando ] = true;
@@ -5620,14 +5597,13 @@ var
5620
5621
/* eslint-enable */
5622
5623
- // Support: IE <=10 - 11, Edge 12 - 13
5624
// In IE/Edge using regex groups here causes severe slowdowns.
5625
// See https://connect.microsoft.com/IE/feedback/details/1736512/
5626
rnoInnerhtml = /<script|<style|<link/i,
5627
5628
// checked="checked" or checked
5629
rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
5630
- rscriptTypeMasked = /^true\/(.*)/,
5631
rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*#x2F;g;
5632
5633
// Prefer a tbody over its parent table for containing new rows
@@ -5635,7 +5611,7 @@ function manipulationTarget( elem, content ) {
5635
if ( nodeName( elem, "table" ) &&
5636
nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
5637
5638
- return jQuery( ">tbody", elem )[ 0 ] || elem;
5639
}
5640
5641
return elem;
@@ -5647,10 +5623,8 @@ function disableScript( elem ) {
5647
return elem;
5648
}
5649
function restoreScript( elem ) {
5650
- var match = rscriptTypeMasked.exec( elem.type );
5651
-
5652
- if ( match ) {
5653
- elem.type = match[ 1 ];
5654
} else {
5655
elem.removeAttribute( "type" );
5656
}
@@ -5716,15 +5690,15 @@ function domManip( collection, args, callback, ignored ) {
5716
l = collection.length,
5717
iNoClone = l - 1,
5718
value = args[ 0 ],
5719
- isFunction = jQuery.isFunction( value );
5720
5721
// We can't cloneNode fragments that contain checked, in WebKit
5722
- if ( isFunction ||
5723
( l > 1 && typeof value === "string" &&
5724
!support.checkClone && rchecked.test( value ) ) ) {
5725
return collection.each( function( index ) {
5726
var self = collection.eq( index );
5727
- if ( isFunction ) {
5728
args[ 0 ] = value.call( this, index, self.html() );
5729
}
5730
domManip( self, args, callback, ignored );
@@ -5778,14 +5752,14 @@ function domManip( collection, args, callback, ignored ) {
5778
!dataPriv.access( node, "globalEval" ) &&
5779
jQuery.contains( doc, node ) ) {
5780
5781
- if ( node.src ) {
5782
5783
// Optional AJAX dependency, but won't run scripts if not present
5784
if ( jQuery._evalUrl ) {
5785
jQuery._evalUrl( node.src );
5786
}
5787
} else {
5788
- DOMEval( node.textContent.replace( rcleanScript, "" ), doc );
5789
}
5790
}
5791
}
@@ -6065,8 +6039,6 @@ jQuery.each( {
6065
return this.pushStack( ret );
6066
};
6067
} );
6068
- var rmargin = ( /^margin/ );
6069
-
6070
var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+quot;, "i" );
6071
6072
var getStyles = function( elem ) {
@@ -6083,6 +6055,8 @@ var getStyles = function( elem ) {
6083
return view.getComputedStyle( elem );
6084
};
6085
6086
6087
6088
( function() {
@@ -6096,25 +6070,33 @@ var getStyles = function( elem ) {
6096
return;
6097
}
6098
6099
div.style.cssText =
6100
- "box-sizing:border-box;" +
6101
- "position:relative;display:block;" +
6102
"margin:auto;border:1px;padding:1px;" +
6103
- "top:1%;width:50%";
6104
- div.innerHTML = "";
6105
- documentElement.appendChild( container );
6106
6107
var divStyle = window.getComputedStyle( div );
6108
pixelPositionVal = divStyle.top !== "1%";
6109
6110
// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
6111
- reliableMarginLeftVal = divStyle.marginLeft === "2px";
6112
- boxSizingReliableVal = divStyle.width === "4px";
6113
6114
- // Support: Android 4.0 - 4.3 only
6115
// Some styles come back with percentage values, even though they shouldn't
6116
- div.style.marginRight = "50%";
6117
- pixelMarginRightVal = divStyle.marginRight === "4px";
6118
6119
documentElement.removeChild( container );
6120
@@ -6123,7 +6105,12 @@ var getStyles = function( elem ) {
6123
div = null;
6124
}
6125
6126
- var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal,
6127
container = document.createElement( "div" ),
6128
div = document.createElement( "div" );
6129
@@ -6138,26 +6125,26 @@ var getStyles = function( elem ) {
6138
div.cloneNode( true ).style.backgroundClip = "";
6139
support.clearCloneStyle = div.style.backgroundClip === "content-box";
6140
6141
- container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" +
6142
- "padding:0;margin-top:1px;position:absolute";
6143
- container.appendChild( div );
6144
-
6145
jQuery.extend( support, {
6146
- pixelPosition: function() {
6147
- computeStyleTests();
6148
- return pixelPositionVal;
6149
- },
6150
boxSizingReliable: function() {
6151
computeStyleTests();
6152
return boxSizingReliableVal;
6153
},
6154
- pixelMarginRight: function() {
6155
computeStyleTests();
6156
- return pixelMarginRightVal;
6157
},
6158
reliableMarginLeft: function() {
6159
computeStyleTests();
6160
return reliableMarginLeftVal;
6161
}
6162
} );
6163
} )();
@@ -6189,7 +6176,7 @@ function curCSS( elem, name, computed ) {
6189
// but width seems to be reliably pixels.
6190
// This is against the CSSOM draft spec:
6191
// https://drafts.csswg.org/cssom/#resolved-values
6192
- if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {
6193
6194
// Remember the original values
6195
width = style.width;
@@ -6294,87 +6281,120 @@ function setPositiveNumber( elem, value, subtract ) {
6294
value;
6295
}
6296
6297
- function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
6298
- var i,
6299
- val = 0;
6300
-
6301
- // If we already have the right measurement, avoid augmentation
6302
- if ( extra === ( isBorderBox ? "border" : "content" ) ) {
6303
- i = 4;
6304
6305
- // Otherwise initialize for horizontal or vertical properties
6306
- } else {
6307
- i = name === "width" ? 1 : 0;
6308
}
6309
6310
for ( ; i < 4; i += 2 ) {
6311
6312
- // Both box models exclude margin, so add it if we want it
6313
- if ( extra === "margin" ) {
6314
- val += jQuery.css( elem, extra + cssExpand[ i ], true, styles );
6315
}
6316
6317
- if ( isBorderBox ) {
6318
6319
- // border-box includes padding, so remove it if we want content
6320
- if ( extra === "content" ) {
6321
- val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
6322
- }
6323
6324
- // At this point, extra isn't border nor margin, so remove border
6325
- if ( extra !== "margin" ) {
6326
- val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
6327
}
6328
} else {
6329
6330
- // At this point, extra isn't content, so add padding
6331
- val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
6332
6333
- // At this point, extra isn't content nor padding, so add border
6334
- if ( extra !== "padding" ) {
6335
- val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
6336
}
6337
}
6338
}
6339
6340
- return val;
6341
}
6342
6343
- function getWidthOrHeight( elem, name, extra ) {
6344
6345
// Start with computed style
6346
- var valueIsBorderBox,
6347
- styles = getStyles( elem ),
6348
- val = curCSS( elem, name, styles ),
6349
- isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
6350
6351
- // Computed unit is not pixels. Stop here and return.
6352
if ( rnumnonpx.test( val ) ) {
6353
- return val;
6354
}
6355
6356
// Check for style in case a browser which returns unreliable values
6357
// for getComputedStyle silently falls back to the reliable elem.style
6358
- valueIsBorderBox = isBorderBox &&
6359
- ( support.boxSizingReliable() || val === elem.style[ name ] );
6360
6361
- // Fall back to offsetWidth/Height when value is "auto"
6362
// This happens for inline elements with no explicit setting (gh-3571)
6363
- if ( val === "auto" ) {
6364
- val = elem[ "offset" + name[ 0 ].toUpperCase() + name.slice( 1 ) ];
6365
}
6366
6367
- // Normalize "", auto, and prepare for extra
6368
val = parseFloat( val ) || 0;
6369
6370
- // Use the active box-sizing model to add/subtract irrelevant styles
6371
return ( val +
6372
- augmentWidthOrHeight(
6373
elem,
6374
- name,
6375
extra || ( isBorderBox ? "border" : "content" ),
6376
valueIsBorderBox,
6377
- styles
6378
)
6379
) + "px";
6380
}
@@ -6415,9 +6435,7 @@ jQuery.extend( {
6415
6416
// Add in properties whose names you wish to fix before
6417
// setting or getting the value
6418
- cssProps: {
6419
- "float": "cssFloat"
6420
- },
6421
6422
// Get and set the style property on a DOM Node
6423
style: function( elem, name, value, extra ) {
@@ -6429,7 +6447,7 @@ jQuery.extend( {
6429
6430
// Make sure that we're working with the right name
6431
var ret, type, hooks,
6432
- origName = jQuery.camelCase( name ),
6433
isCustomProp = rcustomProp.test( name ),
6434
style = elem.style;
6435
@@ -6497,7 +6515,7 @@ jQuery.extend( {
6497
6498
css: function( elem, name, extra, styles ) {
6499
var val, num, hooks,
6500
- origName = jQuery.camelCase( name ),
6501
isCustomProp = rcustomProp.test( name );
6502
6503
// Make sure that we're working with the right name. We don't
@@ -6535,8 +6553,8 @@ jQuery.extend( {
6535
}
6536
} );
6537
6538
- jQuery.each( [ "height", "width" ], function( i, name ) {
6539
- jQuery.cssHooks[ name ] = {
6540
get: function( elem, computed, extra ) {
6541
if ( computed ) {
6542
@@ -6552,29 +6570,41 @@ jQuery.each( [ "height", "width" ], function( i, name ) {
6552
// in IE throws an error.
6553
( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
6554
swap( elem, cssShow, function() {
6555
- return getWidthOrHeight( elem, name, extra );
6556
} ) :
6557
- getWidthOrHeight( elem, name, extra );
6558
}
6559
},
6560
6561
set: function( elem, value, extra ) {
6562
var matches,
6563
- styles = extra && getStyles( elem ),
6564
- subtract = extra && augmentWidthOrHeight(
6565
elem,
6566
- name,
6567
extra,
6568
- jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
6569
styles
6570
);
6571
6572
// Convert to pixels if value adjustment is needed
6573
if ( subtract && ( matches = rcssNum.exec( value ) ) &&
6574
( matches[ 3 ] || "px" ) !== "px" ) {
6575
6576
- elem.style[ name ] = value;
6577
- value = jQuery.css( elem, name );
6578
}
6579
6580
return setPositiveNumber( elem, value, subtract );
@@ -6618,7 +6648,7 @@ jQuery.each( {
6618
}
6619
};
6620
6621
- if ( !rmargin.test( prefix ) ) {
6622
jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
6623
}
6624
} );
@@ -6789,7 +6819,7 @@ function createFxNow() {
6789
window.setTimeout( function() {
6790
fxNow = undefined;
6791
} );
6792
- return ( fxNow = jQuery.now() );
6793
}
6794
6795
// Generate parameters to create a standard animation
@@ -6893,9 +6923,10 @@ function defaultPrefilter( elem, props, opts ) {
6893
// Restrict "overflow" and "display" styles during box animations
6894
if ( isBox && elem.nodeType === 1 ) {
6895
6896
- // Support: IE <=9 - 11, Edge 12 - 13
6897
// Record all 3 overflow attributes because IE does not infer the shorthand
6898
- // from identically-valued overflowX and overflowY
6899
opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
6900
6901
// Identify a display type, preferring old show/hide data over the CSS cascade
@@ -7003,7 +7034,7 @@ function propFilter( props, specialEasing ) {
7003
7004
// camelCase, specialEasing and expand cssHook pass
7005
for ( index in props ) {
7006
- name = jQuery.camelCase( index );
7007
easing = specialEasing[ name ];
7008
value = props[ index ];
7009
if ( Array.isArray( value ) ) {
@@ -7128,9 +7159,9 @@ function Animation( elem, properties, options ) {
7128
for ( ; index < length; index++ ) {
7129
result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );
7130
if ( result ) {
7131
- if ( jQuery.isFunction( result.stop ) ) {
7132
jQuery._queueHooks( animation.elem, animation.opts.queue ).stop =
7133
- jQuery.proxy( result.stop, result );
7134
}
7135
return result;
7136
}
@@ -7138,7 +7169,7 @@ function Animation( elem, properties, options ) {
7138
7139
jQuery.map( props, createTween, animation );
7140
7141
- if ( jQuery.isFunction( animation.opts.start ) ) {
7142
animation.opts.start.call( elem, animation );
7143
}
7144
@@ -7171,7 +7202,7 @@ jQuery.Animation = jQuery.extend( Animation, {
7171
},
7172
7173
tweener: function( props, callback ) {
7174
- if ( jQuery.isFunction( props ) ) {
7175
callback = props;
7176
props = [ "*" ];
7177
} else {
@@ -7203,9 +7234,9 @@ jQuery.Animation = jQuery.extend( Animation, {
7203
jQuery.speed = function( speed, easing, fn ) {
7204
var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
7205
complete: fn || !fn && easing ||
7206
- jQuery.isFunction( speed ) && speed,
7207
duration: speed,
7208
- easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
7209
};
7210
7211
// Go to the end state if fx are off
@@ -7232,7 +7263,7 @@ jQuery.speed = function( speed, easing, fn ) {
7232
opt.old = opt.complete;
7233
7234
opt.complete = function() {
7235
- if ( jQuery.isFunction( opt.old ) ) {
7236
opt.old.call( this );
7237
}
7238
@@ -7396,7 +7427,7 @@ jQuery.fx.tick = function() {
7396
i = 0,
7397
timers = jQuery.timers;
7398
7399
- fxNow = jQuery.now();
7400
7401
for ( ; i < timers.length; i++ ) {
7402
timer = timers[ i ];
@@ -7749,7 +7780,7 @@ jQuery.each( [
7749
7750
7751
// Strip and collapse whitespace according to HTML spec
7752
- // https://html.spec.whatwg.org/multipage/infrastructure.html#strip-and-collapse-whitespace
7753
function stripAndCollapse( value ) {
7754
var tokens = value.match( rnothtmlwhite ) || [];
7755
return tokens.join( " " );
@@ -7760,20 +7791,30 @@ function getClass( elem ) {
7760
return elem.getAttribute && elem.getAttribute( "class" ) || "";
7761
}
7762
7763
jQuery.fn.extend( {
7764
addClass: function( value ) {
7765
var classes, elem, cur, curValue, clazz, j, finalValue,
7766
i = 0;
7767
7768
- if ( jQuery.isFunction( value ) ) {
7769
return this.each( function( j ) {
7770
jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );
7771
} );
7772
}
7773
7774
- if ( typeof value === "string" && value ) {
7775
- classes = value.match( rnothtmlwhite ) || [];
7776
7777
while ( ( elem = this[ i++ ] ) ) {
7778
curValue = getClass( elem );
7779
cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
@@ -7802,7 +7843,7 @@ jQuery.fn.extend( {
7802
var classes, elem, cur, curValue, clazz, j, finalValue,
7803
i = 0;
7804
7805
- if ( jQuery.isFunction( value ) ) {
7806
return this.each( function( j ) {
7807
jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
7808
} );
@@ -7812,9 +7853,9 @@ jQuery.fn.extend( {
7812
return this.attr( "class", "" );
7813
}
7814
7815
- if ( typeof value === "string" && value ) {
7816
- classes = value.match( rnothtmlwhite ) || [];
7817
7818
while ( ( elem = this[ i++ ] ) ) {
7819
curValue = getClass( elem );
7820
@@ -7844,13 +7885,14 @@ jQuery.fn.extend( {
7844
},
7845
7846
toggleClass: function( value, stateVal ) {
7847
- var type = typeof value;
7848
7849
- if ( typeof stateVal === "boolean" && type === "string" ) {
7850
return stateVal ? this.addClass( value ) : this.removeClass( value );
7851
}
7852
7853
- if ( jQuery.isFunction( value ) ) {
7854
return this.each( function( i ) {
7855
jQuery( this ).toggleClass(
7856
value.call( this, i, getClass( this ), stateVal ),
@@ -7862,12 +7904,12 @@ jQuery.fn.extend( {
7862
return this.each( function() {
7863
var className, i, self, classNames;
7864
7865
- if ( type === "string" ) {
7866
7867
// Toggle individual class names
7868
i = 0;
7869
self = jQuery( this );
7870
- classNames = value.match( rnothtmlwhite ) || [];
7871
7872
while ( ( className = classNames[ i++ ] ) ) {
7873
@@ -7926,7 +7968,7 @@ var rreturn = /\r/g;
7926
7927
jQuery.fn.extend( {
7928
val: function( value ) {
7929
- var hooks, ret, isFunction,
7930
elem = this[ 0 ];
7931
7932
if ( !arguments.length ) {
@@ -7955,7 +7997,7 @@ jQuery.fn.extend( {
7955
return;
7956
}
7957
7958
- isFunction = jQuery.isFunction( value );
7959
7960
return this.each( function( i ) {
7961
var val;
@@ -7964,7 +8006,7 @@ jQuery.fn.extend( {
7964
return;
7965
}
7966
7967
- if ( isFunction ) {
7968
val = value.call( this, i, jQuery( this ).val() );
7969
} else {
7970
val = value;
@@ -8106,18 +8148,24 @@ jQuery.each( [ "radio", "checkbox" ], function() {
8106
// Return jQuery for attributes-only inclusion
8107
8108
8109
- var rfocusMorph = /^(?:focusinfocus|focusoutblur)#x2F;;
8110
8111
jQuery.extend( jQuery.event, {
8112
8113
trigger: function( event, data, elem, onlyHandlers ) {
8114
8115
- var i, cur, tmp, bubbleType, ontype, handle, special,
8116
eventPath = [ elem || document ],
8117
type = hasOwn.call( event, "type" ) ? event.type : event,
8118
namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];
8119
8120
- cur = tmp = elem = elem || document;
8121
8122
// Don't do events on text and comment nodes
8123
if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
@@ -8169,7 +8217,7 @@ jQuery.extend( jQuery.event, {
8169
8170
// Determine event propagation path in advance, per W3C events spec (#9951)
8171
// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
8172
- if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
8173
8174
bubbleType = special.delegateType || type;
8175
if ( !rfocusMorph.test( bubbleType + type ) ) {
@@ -8189,7 +8237,7 @@ jQuery.extend( jQuery.event, {
8189
// Fire handlers on the event path
8190
i = 0;
8191
while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
8192
-
8193
event.type = i > 1 ?
8194
bubbleType :
8195
special.bindType || type;
@@ -8221,7 +8269,7 @@ jQuery.extend( jQuery.event, {
8221
8222
// Call a native DOM method on the target with the same name as the event.
8223
// Don't do default actions on window, that's where global variables be (#6170)
8224
- if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {
8225
8226
// Don't re-trigger an onFOO event when we call its FOO() method
8227
tmp = elem[ ontype ];
@@ -8232,7 +8280,17 @@ jQuery.extend( jQuery.event, {
8232
8233
// Prevent re-triggering of the same event, since we already bubbled it above
8234
jQuery.event.triggered = type;
8235
elem[ type ]();
8236
jQuery.event.triggered = undefined;
8237
8238
if ( tmp ) {
@@ -8278,31 +8336,6 @@ jQuery.fn.extend( {
8278
} );
8279
8280
8281
- jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
8282
- "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
8283
- "change select submit keydown keypress keyup contextmenu" ).split( " " ),
8284
- function( i, name ) {
8285
-
8286
- // Handle event binding
8287
- jQuery.fn[ name ] = function( data, fn ) {
8288
- return arguments.length > 0 ?
8289
- this.on( name, null, data, fn ) :
8290
- this.trigger( name );
8291
- };
8292
- } );
8293
-
8294
- jQuery.fn.extend( {
8295
- hover: function( fnOver, fnOut ) {
8296
- return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
8297
- }
8298
- } );
8299
-
8300
-
8301
-
8302
-
8303
- support.focusin = "onfocusin" in window;
8304
-
8305
-
8306
// Support: Firefox <=44
8307
// Firefox doesn't have focus(in | out) events
8308
// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
@@ -8346,7 +8379,7 @@ if ( !support.focusin ) {
8346
}
8347
var location = window.location;
8348
8349
- var nonce = jQuery.now();
8350
8351
var rquery = ( /\?/ );
8352
@@ -8404,7 +8437,7 @@ function buildParams( prefix, obj, traditional, add ) {
8404
}
8405
} );
8406
8407
- } else if ( !traditional && jQuery.type( obj ) === "object" ) {
8408
8409
// Serialize object item.
8410
for ( name in obj ) {
@@ -8426,7 +8459,7 @@ jQuery.param = function( a, traditional ) {
8426
add = function( key, valueOrFunction ) {
8427
8428
// If value is a function, invoke it and use its return value
8429
- var value = jQuery.isFunction( valueOrFunction ) ?
8430
valueOrFunction() :
8431
valueOrFunction;
8432
@@ -8544,7 +8577,7 @@ function addToPrefiltersOrTransports( structure ) {
8544
i = 0,
8545
dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];
8546
8547
- if ( jQuery.isFunction( func ) ) {
8548
8549
// For each dataType in the dataTypeExpression
8550
while ( ( dataType = dataTypes[ i++ ] ) ) {
@@ -9016,7 +9049,7 @@ jQuery.extend( {
9016
if ( s.crossDomain == null ) {
9017
urlAnchor = document.createElement( "a" );
9018
9019
- // Support: IE <=8 - 11, Edge 12 - 13
9020
// IE throws exception on accessing the href property if url is malformed,
9021
// e.g. http://example.com:80x/
9022
try {
@@ -9074,8 +9107,8 @@ jQuery.extend( {
9074
// Remember the hash so we can put it back
9075
uncached = s.url.slice( cacheURL.length );
9076
9077
- // If data is available, append data to url
9078
- if ( s.data ) {
9079
cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
9080
9081
// #9682: remove data so that it's not used in an eventual retry
@@ -9312,7 +9345,7 @@ jQuery.each( [ "get", "post" ], function( i, method ) {
9312
jQuery[ method ] = function( url, data, callback, type ) {
9313
9314
// Shift arguments if data argument was omitted
9315
- if ( jQuery.isFunction( data ) ) {
9316
type = type || callback;
9317
callback = data;
9318
data = undefined;
@@ -9350,7 +9383,7 @@ jQuery.fn.extend( {
9350
var wrap;
9351
9352
if ( this[ 0 ] ) {
9353
- if ( jQuery.isFunction( html ) ) {
9354
html = html.call( this[ 0 ] );
9355
}
9356
@@ -9376,7 +9409,7 @@ jQuery.fn.extend( {
9376
},
9377
9378
wrapInner: function( html ) {
9379
- if ( jQuery.isFunction( html ) ) {
9380
return this.each( function( i ) {
9381
jQuery( this ).wrapInner( html.call( this, i ) );
9382
} );
@@ -9396,10 +9429,10 @@ jQuery.fn.extend( {
9396
},
9397
9398
wrap: function( html ) {
9399
- var isFunction = jQuery.isFunction( html );
9400
9401
return this.each( function( i ) {
9402
- jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html );
9403
} );
9404
},
9405
@@ -9491,7 +9524,8 @@ jQuery.ajaxTransport( function( options ) {
9491
return function() {
9492
if ( callback ) {
9493
callback = errorCallback = xhr.onload =
9494
- xhr.onerror = xhr.onabort = xhr.onreadystatechange = null;
9495
9496
if ( type === "abort" ) {
9497
xhr.abort();
@@ -9531,7 +9565,7 @@ jQuery.ajaxTransport( function( options ) {
9531
9532
// Listen to events
9533
xhr.onload = callback();
9534
- errorCallback = xhr.onerror = callback( "error" );
9535
9536
// Support: IE 9 only
9537
// Use onreadystatechange to replace onabort
@@ -9685,7 +9719,7 @@ jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
9685
if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {
9686
9687
// Get callback name, remembering preexisting value associated with it
9688
- callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?
9689
s.jsonpCallback() :
9690
s.jsonpCallback;
9691
@@ -9736,7 +9770,7 @@ jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
9736
}
9737
9738
// Call if it was a function and we have a response
9739
- if ( responseContainer && jQuery.isFunction( overwritten ) ) {
9740
overwritten( responseContainer[ 0 ] );
9741
}
9742
@@ -9828,7 +9862,7 @@ jQuery.fn.load = function( url, params, callback ) {
9828
}
9829
9830
// If it's a function
9831
- if ( jQuery.isFunction( params ) ) {
9832
9833
// We assume that it's the callback
9834
callback = params;
@@ -9936,7 +9970,7 @@ jQuery.offset = {
9936
curLeft = parseFloat( curCSSLeft ) || 0;
9937
}
9938
9939
- if ( jQuery.isFunction( options ) ) {
9940
9941
// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
9942
options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
@@ -9959,6 +9993,8 @@ jQuery.offset = {
9959
};
9960
9961
jQuery.fn.extend( {
9962
offset: function( options ) {
9963
9964
// Preserve chaining for setter
@@ -9970,7 +10006,7 @@ jQuery.fn.extend( {
9970
} );
9971
}
9972
9973
- var doc, docElem, rect, win,
9974
elem = this[ 0 ];
9975
9976
if ( !elem ) {
@@ -9985,50 +10021,52 @@ jQuery.fn.extend( {
9985
return { top: 0, left: 0 };
9986
}
9987
9988
rect = elem.getBoundingClientRect();
9989
-
9990
- doc = elem.ownerDocument;
9991
- docElem = doc.documentElement;
9992
- win = doc.defaultView;
9993
-
9994
return {
9995
- top: rect.top + win.pageYOffset - docElem.clientTop,
9996
- left: rect.left + win.pageXOffset - docElem.clientLeft
9997
};
9998
},
9999
10000
position: function() {
10001
if ( !this[ 0 ] ) {
10002
return;
10003
}
10004
10005
- var offsetParent, offset,
10006
elem = this[ 0 ],
10007
parentOffset = { top: 0, left: 0 };
10008
10009
- // Fixed elements are offset from window (parentOffset = {top:0, left: 0},
10010
- // because it is its only offset parent
10011
if ( jQuery.css( elem, "position" ) === "fixed" ) {
10012
10013
- // Assume getBoundingClientRect is there when computed position is fixed
10014
offset = elem.getBoundingClientRect();
10015
10016
} else {
10017
10018
- // Get *real* offsetParent
10019
- offsetParent = this.offsetParent();
10020
10021
- // Get correct offsets
10022
- offset = this.offset();
10023
- if ( !nodeName( offsetParent[ 0 ], "html" ) ) {
10024
- parentOffset = offsetParent.offset();
10025
}
10026
10027
- // Add offsetParent borders
10028
- parentOffset = {
10029
- top: parentOffset.top + jQuery.css( offsetParent[ 0 ], "borderTopWidth", true ),
10030
- left: parentOffset.left + jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true )
10031
- };
10032
}
10033
10034
// Subtract parent offsets and element margins
@@ -10070,7 +10108,7 @@ jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function(
10070
10071
// Coalesce documents and windows
10072
var win;
10073
- if ( jQuery.isWindow( elem ) ) {
10074
win = elem;
10075
} else if ( elem.nodeType === 9 ) {
10076
win = elem.defaultView;
@@ -10128,7 +10166,7 @@ jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
10128
return access( this, function( elem, type, value ) {
10129
var doc;
10130
10131
- if ( jQuery.isWindow( elem ) ) {
10132
10133
// $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
10134
return funcName.indexOf( "outer" ) === 0 ?
@@ -10162,6 +10200,28 @@ jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
10162
} );
10163
10164
10165
jQuery.fn.extend( {
10166
10167
bind: function( types, data, fn ) {
@@ -10183,6 +10243,37 @@ jQuery.fn.extend( {
10183
}
10184
} );
10185
10186
jQuery.holdReady = function( hold ) {
10187
if ( hold ) {
10188
jQuery.readyWait++;
@@ -10193,6 +10284,26 @@ jQuery.holdReady = function( hold ) {
10193
jQuery.isArray = Array.isArray;
10194
jQuery.parseJSON = JSON.parse;
10195
jQuery.nodeName = nodeName;
10196
10197
10198
1
/*!
2
+ * jQuery JavaScript Library v3.3.1
3
* https://jquery.com/
4
*
5
* Includes Sizzle.js
9
* Released under the MIT license
10
* https://jquery.org/license
11
*
12
+ * Date: 2018-01-20T17:24Z
13
*/
14
( function( global, factory ) {
15
71
72
var support = {};
73
74
+ var isFunction = function isFunction( obj ) {
75
76
+ // Support: Chrome <=57, Firefox <=52
77
+ // In some browsers, typeof returns "function" for HTML <object> elements
78
+ // (i.e., `typeof document.createElement( "object" ) === "function"`).
79
+ // We don't want to classify *any* DOM node as a function.
80
+ return typeof obj === "function" && typeof obj.nodeType !== "number";
81
+ };
82
83
+
84
+ var isWindow = function isWindow( obj ) {
85
+ return obj != null && obj === obj.window;
86
+ };
87
+
88
+
89
+
90
+
91
+ var preservedScriptAttributes = {
92
+ type: true,
93
+ src: true,
94
+ noModule: true
95
+ };
96
+
97
+ function DOMEval( code, doc, node ) {
98
doc = doc || document;
99
100
+ var i,
101
+ script = doc.createElement( "script" );
102
103
script.text = code;
104
+ if ( node ) {
105
+ for ( i in preservedScriptAttributes ) {
106
+ if ( node[ i ] ) {
107
+ script[ i ] = node[ i ];
108
+ }
109
+ }
110
+ }
111
doc.head.appendChild( script ).parentNode.removeChild( script );
112
}
113
+
114
+
115
+ function toType( obj ) {
116
+ if ( obj == null ) {
117
+ return obj + "";
118
+ }
119
+
120
+ // Support: Android <=2.3 only (functionish RegExp)
121
+ return typeof obj === "object" || typeof obj === "function" ?
122
+ class2type[ toString.call( obj ) ] || "object" :
123
+ typeof obj;
124
+ }
125
/* global Symbol */
126
// Defining this global in .eslintrc.json would create a danger of using the global
127
// unguarded in another place, it seems safer to define global only for this module
129
130
131
var
132
+ version = "3.3.1",
133
134
// Define a local copy of jQuery
135
jQuery = function( selector, context ) {
141
142
// Support: Android <=4.0 only
143
// Make sure we trim BOM and NBSP
144
+ rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+#x2F;g;
145
146
jQuery.fn = jQuery.prototype = {
147
241
}
242
243
// Handle case when target is a string or something (possible in deep copy)
244
+ if ( typeof target !== "object" && !isFunction( target ) ) {
245
target = {};
246
}
247
307
308
noop: function() {},
309
310
isPlainObject: function( obj ) {
311
var proto, Ctor;
312
340
return true;
341
},
342
343
// Evaluates a script in a global context
344
globalEval: function( code ) {
345
DOMEval( code );
346
},
347
348
each: function( obj, callback ) {
349
var length, i = 0;
350
465
// A global GUID counter for objects
466
guid: 1,
467
468
// jQuery.support is not used in Core but other projects attach their
469
// properties to it so it needs to exist.
470
support: support
487
// hasOwn isn't used here due to false negatives
488
// regarding Nodelist length in IE
489
var length = !!obj && "length" in obj && obj.length,
490
+ type = toType( obj );
491
492
+ if ( isFunction( obj ) || isWindow( obj ) ) {
493
return false;
494
}
495
2804
2805
return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
2806
2807
+ };
2808
+ var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)#x2F;i );
2809
2810
2811
2812
// Implement the identical functionality for filter and not
2813
function winnow( elements, qualifier, not ) {
2814
+ if ( isFunction( qualifier ) ) {
2815
return jQuery.grep( elements, function( elem, i ) {
2816
return !!qualifier.call( elem, i, elem ) !== not;
2817
} );
2831
} );
2832
}
2833
2834
+ // Filtered directly for both simple and complex selectors
2835
+ return jQuery.filter( qualifier, elements, not );
2836
}
2837
2838
jQuery.filter = function( expr, elems, not ) {
2953
for ( match in context ) {
2954
2955
// Properties of context are called as methods if possible
2956
+ if ( isFunction( this[ match ] ) ) {
2957
this[ match ]( context[ match ] );
2958
2959
// ...and otherwise set as attributes
2996
2997
// HANDLE: $(function)
2998
// Shortcut for document ready
2999
+ } else if ( isFunction( selector ) ) {
3000
return root.ready !== undefined ?
3001
root.ready( selector ) :
3002
3311
3312
( function add( args ) {
3313
jQuery.each( args, function( _, arg ) {
3314
+ if ( isFunction( arg ) ) {
3315
if ( !options.unique || !self.has( arg ) ) {
3316
list.push( arg );
3317
}
3318
+ } else if ( arg && arg.length && toType( arg ) !== "string" ) {
3319
3320
// Inspect recursively
3321
add( arg );
3430
try {
3431
3432
// Check for promise aspect first to privilege synchronous behavior
3433
+ if ( value && isFunction( ( method = value.promise ) ) ) {
3434
method.call( value ).done( resolve ).fail( reject );
3435
3436
// Other thenables
3437
+ } else if ( value && isFunction( ( method = value.then ) ) ) {
3438
method.call( value, resolve, reject );
3439
3440
// Other non-thenables
3492
jQuery.each( tuples, function( i, tuple ) {
3493
3494
// Map tuples (progress, done, fail) to arguments (done, fail, progress)
3495
+ var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
3496
3497
// deferred.progress(function() { bind to newDefer or newDefer.notify })
3498
// deferred.done(function() { bind to newDefer or newDefer.resolve })
3499
// deferred.fail(function() { bind to newDefer or newDefer.reject })
3500
deferred[ tuple[ 1 ] ]( function() {
3501
var returned = fn && fn.apply( this, arguments );
3502
+ if ( returned && isFunction( returned.promise ) ) {
3503
returned.promise()
3504
.progress( newDefer.notify )
3505
.done( newDefer.resolve )
3553
returned.then;
3554
3555
// Handle a returned thenable
3556
+ if ( isFunction( then ) ) {
3557
3558
// Special processors (notify) just wait for resolution
3559
if ( special ) {
3649
resolve(
3650
0,
3651
newDefer,
3652
+ isFunction( onProgress ) ?
3653
onProgress :
3654
Identity,
3655
newDefer.notifyWith
3661
resolve(
3662
0,
3663
newDefer,
3664
+ isFunction( onFulfilled ) ?
3665
onFulfilled :
3666
Identity
3667
)
3672
resolve(
3673
0,
3674
newDefer,
3675
+ isFunction( onRejected ) ?
3676
onRejected :
3677
Thrower
3678
)
3712
// fulfilled_callbacks.disable
3713
tuples[ 3 - i ][ 2 ].disable,
3714
3715
+ // rejected_handlers.disable
3716
+ // fulfilled_handlers.disable
3717
+ tuples[ 3 - i ][ 3 ].disable,
3718
+
3719
// progress_callbacks.lock
3720
+ tuples[ 0 ][ 2 ].lock,
3721
+
3722
+ // progress_handlers.lock
3723
+ tuples[ 0 ][ 3 ].lock
3724
);
3725
}
3726
3790
3791
// Use .then() to unwrap secondary thenables (cf. gh-3000)
3792
if ( master.state() === "pending" ||
3793
+ isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
3794
3795
return master.then();
3796
}
3918
bulk = key == null;
3919
3920
// Sets many values
3921
+ if ( toType( key ) === "object" ) {
3922
chainable = true;
3923
for ( i in key ) {
3924
access( elems, fn, i, key[ i ], true, emptyGet, raw );
3928
} else if ( value !== undefined ) {
3929
chainable = true;
3930
3931
+ if ( !isFunction( value ) ) {
3932
raw = true;
3933
}
3934
3970
3971
return len ? fn( elems[ 0 ], key ) : emptyGet;
3972
};
3973
+
3974
+
3975
+ // Matches dashed string for camelizing
3976
+ var rmsPrefix = /^-ms-/,
3977
+ rdashAlpha = /-([a-z])/g;
3978
+
3979
+ // Used by camelCase as callback to replace()
3980
+ function fcamelCase( all, letter ) {
3981
+ return letter.toUpperCase();
3982
+ }
3983
+
3984
+ // Convert dashed to camelCase; used by the css and data modules
3985
+ // Support: IE <=9 - 11, Edge 12 - 15
3986
+ // Microsoft forgot to hump their vendor prefix (#9572)
3987
+ function camelCase( string ) {
3988
+ return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
3989
+ }
3990
var acceptData = function( owner ) {
3991
3992
// Accepts only:
4049
// Handle: [ owner, key, value ] args
4050
// Always use camelCase key (gh-2257)
4051
if ( typeof data === "string" ) {
4052
+ cache[ camelCase( data ) ] = value;
4053
4054
// Handle: [ owner, { properties } ] args
4055
} else {
4056
4057
// Copy the properties one-by-one to the cache object
4058
for ( prop in data ) {
4059
+ cache[ camelCase( prop ) ] = data[ prop ];
4060
}
4061
}
4062
return cache;
4066
this.cache( owner ) :
4067
4068
// Always use camelCase key (gh-2257)
4069
+ owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];
4070
},
4071
access: function( owner, key, value ) {
4072
4114
4115
// If key is an array of keys...
4116
// We always set camelCase keys, so remove that.
4117
+ key = key.map( camelCase );
4118
} else {
4119
+ key = camelCase( key );
4120
4121
// If a key with the spaces exists, use it.
4122
// Otherwise, create an array by matching non-whitespace
4262
if ( attrs[ i ] ) {
4263
name = attrs[ i ].name;
4264
if ( name.indexOf( "data-" ) === 0 ) {
4265
+ name = camelCase( name.slice( 5 ) );
4266
dataAttr( elem, name, data[ name ] );
4267
}
4268
}
4509
4510
4511
function adjustCSS( elem, prop, valueParts, tween ) {
4512
+ var adjusted, scale,
4513
maxIterations = 20,
4514
currentValue = tween ?
4515
function() {
4527
4528
if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
4529
4530
+ // Support: Firefox <=54
4531
+ // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)
4532
+ initial = initial / 2;
4533
+
4534
// Trust units reported by jQuery.css
4535
unit = unit || initialInUnit[ 3 ];
4536
4537
// Iteratively approximate from a nonzero starting point
4538
initialInUnit = +initial || 1;
4539
4540
+ while ( maxIterations-- ) {
4541
4542
+ // Evaluate and update our best guess (doubling guesses that zero out).
4543
+ // Finish if the scale equals or crosses 1 (making the old*new product non-positive).
4544
jQuery.style( elem, prop, initialInUnit + unit );
4545
+ if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {
4546
+ maxIterations = 0;
4547
+ }
4548
+ initialInUnit = initialInUnit / scale;
4549
4550
+ }
4551
+
4552
+ initialInUnit = initialInUnit * 2;
4553
+ jQuery.style( elem, prop, initialInUnit + unit );
4554
+
4555
+ // Make sure we update the tween properties later on
4556
+ valueParts = valueParts || [];
4557
}
4558
4559
if ( valueParts ) {
4671
4672
var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i );
4673
4674
+ var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
4675
4676
4677
4753
if ( elem || elem === 0 ) {
4754
4755
// Add nodes directly
4756
+ if ( toType( elem ) === "object" ) {
4757
4758
// Support: Android <=4.0 only, PhantomJS 1 only
4759
// push.apply(_, arraylike) throws on ancient WebKit
5263
enumerable: true,
5264
configurable: true,
5265
5266
+ get: isFunction( hook ) ?
5267
function() {
5268
if ( this.originalEvent ) {
5269
return hook( this.originalEvent );
5398
}
5399
5400
// Create a timestamp if incoming event doesn't have one
5401
+ this.timeStamp = src && src.timeStamp || Date.now();
5402
5403
// Mark it as fixed
5404
this[ jQuery.expando ] = true;
5597
5598
/* eslint-enable */
5599
5600
+ // Support: IE <=10 - 11, Edge 12 - 13 only
5601
// In IE/Edge using regex groups here causes severe slowdowns.
5602
// See https://connect.microsoft.com/IE/feedback/details/1736512/
5603
rnoInnerhtml = /<script|<style|<link/i,
5604
5605
// checked="checked" or checked
5606
rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
5607
rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*#x2F;g;
5608
5609
// Prefer a tbody over its parent table for containing new rows
5611
if ( nodeName( elem, "table" ) &&
5612
nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
5613
5614
+ return jQuery( elem ).children( "tbody" )[ 0 ] || elem;
5615
}
5616
5617
return elem;
5623
return elem;
5624
}
5625
function restoreScript( elem ) {
5626
+ if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) {
5627
+ elem.type = elem.type.slice( 5 );
5628
} else {
5629
elem.removeAttribute( "type" );
5630
}
5690
l = collection.length,
5691
iNoClone = l - 1,
5692
value = args[ 0 ],
5693
+ valueIsFunction = isFunction( value );
5694
5695
// We can't cloneNode fragments that contain checked, in WebKit
5696
+ if ( valueIsFunction ||
5697
( l > 1 && typeof value === "string" &&
5698
!support.checkClone && rchecked.test( value ) ) ) {
5699
return collection.each( function( index ) {
5700
var self = collection.eq( index );
5701
+ if ( valueIsFunction ) {
5702
args[ 0 ] = value.call( this, index, self.html() );
5703
}
5704
domManip( self, args, callback, ignored );
5752
!dataPriv.access( node, "globalEval" ) &&
5753
jQuery.contains( doc, node ) ) {
5754
5755
+ if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) {
5756
5757
// Optional AJAX dependency, but won't run scripts if not present
5758
if ( jQuery._evalUrl ) {
5759
jQuery._evalUrl( node.src );
5760
}
5761
} else {
5762
+ DOMEval( node.textContent.replace( rcleanScript, "" ), doc, node );
5763
}
5764
}
5765
}
6039
return this.pushStack( ret );
6040
};
6041
} );
6042
var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+quot;, "i" );
6043
6044
var getStyles = function( elem ) {
6055
return view.getComputedStyle( elem );
6056
};
6057
6058
+ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
6059
+
6060
6061
6062
( function() {
6070
return;
6071
}
6072
6073
+ container.style.cssText = "position:absolute;left:-11111px;width:60px;" +
6074
+ "margin-top:1px;padding:0;border:0";
6075
div.style.cssText =
6076
+ "position:relative;display:block;box-sizing:border-box;overflow:scroll;" +
6077
"margin:auto;border:1px;padding:1px;" +
6078
+ "width:60%;top:1%";
6079
+ documentElement.appendChild( container ).appendChild( div );
6080
6081
var divStyle = window.getComputedStyle( div );
6082
pixelPositionVal = divStyle.top !== "1%";
6083
6084
// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
6085
+ reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;
6086
6087
+ // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3
6088
// Some styles come back with percentage values, even though they shouldn't
6089
+ div.style.right = "60%";
6090
+ pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;
6091
+
6092
+ // Support: IE 9 - 11 only
6093
+ // Detect misreporting of content dimensions for box-sizing:border-box elements
6094
+ boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;
6095
+
6096
+ // Support: IE 9 only
6097
+ // Detect overflow:scroll screwiness (gh-3699)
6098
+ div.style.position = "absolute";
6099
+ scrollboxSizeVal = div.offsetWidth === 36 || "absolute";
6100
6101
documentElement.removeChild( container );
6102
6105
div = null;
6106
}
6107
6108
+ function roundPixelMeasures( measure ) {
6109
+ return Math.round( parseFloat( measure ) );
6110
+ }
6111
+
6112
+ var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,
6113
+ reliableMarginLeftVal,
6114
container = document.createElement( "div" ),
6115
div = document.createElement( "div" );
6116
6125
div.cloneNode( true ).style.backgroundClip = "";
6126
support.clearCloneStyle = div.style.backgroundClip === "content-box";
6127
6128
jQuery.extend( support, {
6129
boxSizingReliable: function() {
6130
computeStyleTests();
6131
return boxSizingReliableVal;
6132
},
6133
+ pixelBoxStyles: function() {
6134
computeStyleTests();
6135
+ return pixelBoxStylesVal;
6136
+ },
6137
+ pixelPosition: function() {
6138
+ computeStyleTests();
6139
+ return pixelPositionVal;
6140
},
6141
reliableMarginLeft: function() {
6142
computeStyleTests();
6143
return reliableMarginLeftVal;
6144
+ },
6145
+ scrollboxSize: function() {
6146
+ computeStyleTests();
6147
+ return scrollboxSizeVal;
6148
}
6149
} );
6150
} )();
6176
// but width seems to be reliably pixels.
6177
// This is against the CSSOM draft spec:
6178
// https://drafts.csswg.org/cssom/#resolved-values
6179
+ if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {
6180
6181
// Remember the original values
6182
width = style.width;
6281
value;
6282
}
6283
6284
+ function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {
6285
+ var i = dimension === "width" ? 1 : 0,
6286
+ extra = 0,
6287
+ delta = 0;
6288
6289
+ // Adjustment may not be necessary
6290
+ if ( box === ( isBorderBox ? "border" : "content" ) ) {
6291
+ return 0;
6292
}
6293
6294
for ( ; i < 4; i += 2 ) {
6295
6296
+ // Both box models exclude margin
6297
+ if ( box === "margin" ) {
6298
+ delta += jQuery.css( elem, box + cssExpand[ i ], true, styles );
6299
}
6300
6301
+ // If we get here with a content-box, we're seeking "padding" or "border" or "margin"
6302
+ if ( !isBorderBox ) {
6303
6304
+ // Add padding
6305
+ delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
6306
+
6307
+ // For "border" or "margin", add border
6308
+ if ( box !== "padding" ) {
6309
+ delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
6310
6311
+ // But still keep track of it otherwise
6312
+ } else {
6313
+ extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
6314
}
6315
+
6316
+ // If we get here with a border-box (content + padding + border), we're seeking "content" or
6317
+ // "padding" or "margin"
6318
} else {
6319
6320
+ // For "content", subtract padding
6321
+ if ( box === "content" ) {
6322
+ delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
6323
+ }
6324
6325
+ // For "content" or "padding", subtract border
6326
+ if ( box !== "margin" ) {
6327
+ delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
6328
}
6329
}
6330
}
6331
6332
+ // Account for positive content-box scroll gutter when requested by providing computedVal
6333
+ if ( !isBorderBox && computedVal >= 0 ) {
6334
+
6335
+ // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border
6336
+ // Assuming integer scroll gutter, subtract the rest and round down
6337
+ delta += Math.max( 0, Math.ceil(
6338
+ elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
6339
+ computedVal -
6340
+ delta -
6341
+ extra -
6342
+ 0.5
6343
+ ) );
6344
+ }
6345
+
6346
+ return delta;
6347
}
6348
6349
+ function getWidthOrHeight( elem, dimension, extra ) {
6350
6351
// Start with computed style
6352
+ var styles = getStyles( elem ),
6353
+ val = curCSS( elem, dimension, styles ),
6354
+ isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
6355
+ valueIsBorderBox = isBorderBox;
6356
6357
+ // Support: Firefox <=54
6358
+ // Return a confounding non-pixel value or feign ignorance, as appropriate.
6359
if ( rnumnonpx.test( val ) ) {
6360
+ if ( !extra ) {
6361
+ return val;
6362
+ }
6363
+ val = "auto";
6364
}
6365
6366
// Check for style in case a browser which returns unreliable values
6367
// for getComputedStyle silently falls back to the reliable elem.style
6368
+ valueIsBorderBox = valueIsBorderBox &&
6369
+ ( support.boxSizingReliable() || val === elem.style[ dimension ] );
6370
6371
+ // Fall back to offsetWidth/offsetHeight when value is "auto"
6372
// This happens for inline elements with no explicit setting (gh-3571)
6373
+ // Support: Android <=4.1 - 4.3 only
6374
+ // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
6375
+ if ( val === "auto" ||
6376
+ !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) {
6377
+
6378
+ val = elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ];
6379
+
6380
+ // offsetWidth/offsetHeight provide border-box values
6381
+ valueIsBorderBox = true;
6382
}
6383
6384
+ // Normalize "" and auto
6385
val = parseFloat( val ) || 0;
6386
6387
+ // Adjust for the element's box model
6388
return ( val +
6389
+ boxModelAdjustment(
6390
elem,
6391
+ dimension,
6392
extra || ( isBorderBox ? "border" : "content" ),
6393
valueIsBorderBox,
6394
+ styles,
6395
+
6396
+ // Provide the current computed size to request scroll gutter calculation (gh-3589)
6397
+ val
6398
)
6399
) + "px";
6400
}
6435
6436
// Add in properties whose names you wish to fix before
6437
// setting or getting the value
6438
+ cssProps: {},
6439
6440
// Get and set the style property on a DOM Node
6441
style: function( elem, name, value, extra ) {
6447
6448
// Make sure that we're working with the right name
6449
var ret, type, hooks,
6450
+ origName = camelCase( name ),
6451
isCustomProp = rcustomProp.test( name ),
6452
style = elem.style;
6453
6515
6516
css: function( elem, name, extra, styles ) {
6517
var val, num, hooks,
6518
+ origName = camelCase( name ),
6519
isCustomProp = rcustomProp.test( name );
6520
6521
// Make sure that we're working with the right name. We don't
6553
}
6554
} );
6555
6556
+ jQuery.each( [ "height", "width" ], function( i, dimension ) {
6557
+ jQuery.cssHooks[ dimension ] = {
6558
get: function( elem, computed, extra ) {
6559
if ( computed ) {
6560
6570
// in IE throws an error.
6571
( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
6572
swap( elem, cssShow, function() {
6573
+ return getWidthOrHeight( elem, dimension, extra );
6574
} ) :
6575
+ getWidthOrHeight( elem, dimension, extra );
6576
}
6577
},
6578
6579
set: function( elem, value, extra ) {
6580
var matches,
6581
+ styles = getStyles( elem ),
6582
+ isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
6583
+ subtract = extra && boxModelAdjustment(
6584
elem,
6585
+ dimension,
6586
extra,
6587
+ isBorderBox,
6588
styles
6589
);
6590
6591
+ // Account for unreliable border-box dimensions by comparing offset* to computed and
6592
+ // faking a content-box to get border and padding (gh-3699)
6593
+ if ( isBorderBox && support.scrollboxSize() === styles.position ) {
6594
+ subtract -= Math.ceil(
6595
+ elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
6596
+ parseFloat( styles[ dimension ] ) -
6597
+ boxModelAdjustment( elem, dimension, "border", false, styles ) -
6598
+ 0.5
6599
+ );
6600
+ }
6601
+
6602
// Convert to pixels if value adjustment is needed
6603
if ( subtract && ( matches = rcssNum.exec( value ) ) &&
6604
( matches[ 3 ] || "px" ) !== "px" ) {
6605
6606
+ elem.style[ dimension ] = value;
6607
+ value = jQuery.css( elem, dimension );
6608
}
6609
6610
return setPositiveNumber( elem, value, subtract );
6648
}
6649
};
6650
6651
+ if ( prefix !== "margin" ) {
6652
jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
6653
}
6654
} );
6819
window.setTimeout( function() {
6820
fxNow = undefined;
6821
} );
6822
+ return ( fxNow = Date.now() );
6823
}
6824
6825
// Generate parameters to create a standard animation
6923
// Restrict "overflow" and "display" styles during box animations
6924
if ( isBox && elem.nodeType === 1 ) {
6925
6926
+ // Support: IE <=9 - 11, Edge 12 - 15
6927
// Record all 3 overflow attributes because IE does not infer the shorthand
6928
+ // from identically-valued overflowX and overflowY and Edge just mirrors
6929
+ // the overflowX value there.
6930
opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
6931
6932
// Identify a display type, preferring old show/hide data over the CSS cascade
7034
7035
// camelCase, specialEasing and expand cssHook pass
7036
for ( index in props ) {
7037
+ name = camelCase( index );
7038
easing = specialEasing[ name ];
7039
value = props[ index ];
7040
if ( Array.isArray( value ) ) {
7159
for ( ; index < length; index++ ) {
7160
result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );
7161
if ( result ) {
7162
+ if ( isFunction( result.stop ) ) {
7163
jQuery._queueHooks( animation.elem, animation.opts.queue ).stop =
7164
+ result.stop.bind( result );
7165
}
7166
return result;
7167
}
7169
7170
jQuery.map( props, createTween, animation );
7171
7172
+ if ( isFunction( animation.opts.start ) ) {
7173
animation.opts.start.call( elem, animation );
7174
}
7175
7202
},
7203
7204
tweener: function( props, callback ) {
7205
+ if ( isFunction( props ) ) {
7206
callback = props;
7207
props = [ "*" ];
7208
} else {
7234
jQuery.speed = function( speed, easing, fn ) {
7235
var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
7236
complete: fn || !fn && easing ||
7237
+ isFunction( speed ) && speed,
7238
duration: speed,
7239
+ easing: fn && easing || easing && !isFunction( easing ) && easing
7240
};
7241
7242
// Go to the end state if fx are off
7263
opt.old = opt.complete;
7264
7265
opt.complete = function() {
7266
+ if ( isFunction( opt.old ) ) {
7267
opt.old.call( this );
7268
}
7269
7427
i = 0,
7428
timers = jQuery.timers;
7429
7430
+ fxNow = Date.now();
7431
7432
for ( ; i < timers.length; i++ ) {
7433
timer = timers[ i ];
7780
7781
7782
// Strip and collapse whitespace according to HTML spec
7783
+ // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace
7784
function stripAndCollapse( value ) {
7785
var tokens = value.match( rnothtmlwhite ) || [];
7786
return tokens.join( " " );
7791
return elem.getAttribute && elem.getAttribute( "class" ) || "";
7792
}
7793
7794
+ function classesToArray( value ) {
7795
+ if ( Array.isArray( value ) ) {
7796
+ return value;
7797
+ }
7798
+ if ( typeof value === "string" ) {
7799
+ return value.match( rnothtmlwhite ) || [];
7800
+ }
7801
+ return [];
7802
+ }
7803
+
7804
jQuery.fn.extend( {
7805
addClass: function( value ) {
7806
var classes, elem, cur, curValue, clazz, j, finalValue,
7807
i = 0;
7808
7809
+ if ( isFunction( value ) ) {
7810
return this.each( function( j ) {
7811
jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );
7812
} );
7813
}
7814
7815
+ classes = classesToArray( value );
7816
7817
+ if ( classes.length ) {
7818
while ( ( elem = this[ i++ ] ) ) {
7819
curValue = getClass( elem );
7820
cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
7843
var classes, elem, cur, curValue, clazz, j, finalValue,
7844
i = 0;
7845
7846
+ if ( isFunction( value ) ) {
7847
return this.each( function( j ) {
7848
jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
7849
} );
7853
return this.attr( "class", "" );
7854
}
7855
7856
+ classes = classesToArray( value );
7857
7858
+ if ( classes.length ) {
7859
while ( ( elem = this[ i++ ] ) ) {
7860
curValue = getClass( elem );
7861
7885
},
7886
7887
toggleClass: function( value, stateVal ) {
7888
+ var type = typeof value,
7889
+ isValidValue = type === "string" || Array.isArray( value );
7890
7891
+ if ( typeof stateVal === "boolean" && isValidValue ) {
7892
return stateVal ? this.addClass( value ) : this.removeClass( value );
7893
}
7894
7895
+ if ( isFunction( value ) ) {
7896
return this.each( function( i ) {
7897
jQuery( this ).toggleClass(
7898
value.call( this, i, getClass( this ), stateVal ),
7904
return this.each( function() {
7905
var className, i, self, classNames;
7906
7907
+ if ( isValidValue ) {
7908
7909
// Toggle individual class names
7910
i = 0;
7911
self = jQuery( this );
7912
+ classNames = classesToArray( value );
7913
7914
while ( ( className = classNames[ i++ ] ) ) {
7915
7968
7969
jQuery.fn.extend( {
7970
val: function( value ) {
7971
+ var hooks, ret, valueIsFunction,
7972
elem = this[ 0 ];
7973
7974
if ( !arguments.length ) {
7997
return;
7998
}
7999
8000
+ valueIsFunction = isFunction( value );
8001
8002
return this.each( function( i ) {
8003
var val;
8006
return;
8007
}
8008
8009
+ if ( valueIsFunction ) {
8010
val = value.call( this, i, jQuery( this ).val() );
8011
} else {
8012
val = value;
8148
// Return jQuery for attributes-only inclusion
8149
8150
8151
+ support.focusin = "onfocusin" in window;
8152
+
8153
+
8154
+ var rfocusMorph = /^(?:focusinfocus|focusoutblur)#x2F;,
8155
+ stopPropagationCallback = function( e ) {
8156
+ e.stopPropagation();
8157
+ };
8158
8159
jQuery.extend( jQuery.event, {
8160
8161
trigger: function( event, data, elem, onlyHandlers ) {
8162
8163
+ var i, cur, tmp, bubbleType, ontype, handle, special, lastElement,
8164
eventPath = [ elem || document ],
8165
type = hasOwn.call( event, "type" ) ? event.type : event,
8166
namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];
8167
8168
+ cur = lastElement = tmp = elem = elem || document;
8169
8170
// Don't do events on text and comment nodes
8171
if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
8217
8218
// Determine event propagation path in advance, per W3C events spec (#9951)
8219
// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
8220
+ if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {
8221
8222
bubbleType = special.delegateType || type;
8223
if ( !rfocusMorph.test( bubbleType + type ) ) {
8237
// Fire handlers on the event path
8238
i = 0;
8239
while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
8240
+ lastElement = cur;
8241
event.type = i > 1 ?
8242
bubbleType :
8243
special.bindType || type;
8269
8270
// Call a native DOM method on the target with the same name as the event.
8271
// Don't do default actions on window, that's where global variables be (#6170)
8272
+ if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {
8273
8274
// Don't re-trigger an onFOO event when we call its FOO() method
8275
tmp = elem[ ontype ];
8280
8281
// Prevent re-triggering of the same event, since we already bubbled it above
8282
jQuery.event.triggered = type;
8283
+
8284
+ if ( event.isPropagationStopped() ) {
8285
+ lastElement.addEventListener( type, stopPropagationCallback );
8286
+ }
8287
+
8288
elem[ type ]();
8289
+
8290
+ if ( event.isPropagationStopped() ) {
8291
+ lastElement.removeEventListener( type, stopPropagationCallback );
8292
+ }
8293
+
8294
jQuery.event.triggered = undefined;
8295
8296
if ( tmp ) {
8336
} );
8337
8338
8339
// Support: Firefox <=44
8340
// Firefox doesn't have focus(in | out) events
8341
// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
8379
}
8380
var location = window.location;
8381
8382
+ var nonce = Date.now();
8383
8384
var rquery = ( /\?/ );
8385
8437
}
8438
} );
8439
8440
+ } else if ( !traditional && toType( obj ) === "object" ) {
8441
8442
// Serialize object item.
8443
for ( name in obj ) {
8459
add = function( key, valueOrFunction ) {
8460
8461
// If value is a function, invoke it and use its return value
8462
+ var value = isFunction( valueOrFunction ) ?
8463
valueOrFunction() :
8464
valueOrFunction;
8465
8577
i = 0,
8578
dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];
8579
8580
+ if ( isFunction( func ) ) {
8581
8582
// For each dataType in the dataTypeExpression
8583
while ( ( dataType = dataTypes[ i++ ] ) ) {
9049
if ( s.crossDomain == null ) {
9050
urlAnchor = document.createElement( "a" );
9051
9052
+ // Support: IE <=8 - 11, Edge 12 - 15
9053
// IE throws exception on accessing the href property if url is malformed,
9054
// e.g. http://example.com:80x/
9055
try {
9107
// Remember the hash so we can put it back
9108
uncached = s.url.slice( cacheURL.length );
9109
9110
+ // If data is available and should be processed, append data to url
9111
+ if ( s.data && ( s.processData || typeof s.data === "string" ) ) {
9112
cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
9113
9114
// #9682: remove data so that it's not used in an eventual retry
9345
jQuery[ method ] = function( url, data, callback, type ) {
9346
9347
// Shift arguments if data argument was omitted
9348
+ if ( isFunction( data ) ) {
9349
type = type || callback;
9350
callback = data;
9351
data = undefined;
9383
var wrap;
9384
9385
if ( this[ 0 ] ) {
9386
+ if ( isFunction( html ) ) {
9387
html = html.call( this[ 0 ] );
9388
}
9389
9409
},
9410
9411
wrapInner: function( html ) {
9412
+ if ( isFunction( html ) ) {
9413
return this.each( function( i ) {
9414
jQuery( this ).wrapInner( html.call( this, i ) );
9415
} );
9429
},
9430
9431
wrap: function( html ) {
9432
+ var htmlIsFunction = isFunction( html );
9433
9434
return this.each( function( i ) {
9435
+ jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );
9436
} );
9437
},
9438
9524
return function() {
9525
if ( callback ) {
9526
callback = errorCallback = xhr.onload =
9527
+ xhr.onerror = xhr.onabort = xhr.ontimeout =
9528
+ xhr.onreadystatechange = null;
9529
9530
if ( type === "abort" ) {
9531
xhr.abort();
9565
9566
// Listen to events
9567
xhr.onload = callback();
9568
+ errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" );
9569
9570
// Support: IE 9 only
9571
// Use onreadystatechange to replace onabort
9719
if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {
9720
9721
// Get callback name, remembering preexisting value associated with it
9722
+ callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ?
9723
s.jsonpCallback() :
9724
s.jsonpCallback;
9725
9770
}
9771
9772
// Call if it was a function and we have a response
9773
+ if ( responseContainer && isFunction( overwritten ) ) {
9774
overwritten( responseContainer[ 0 ] );
9775
}
9776
9862
}
9863
9864
// If it's a function
9865
+ if ( isFunction( params ) ) {
9866
9867
// We assume that it's the callback
9868
callback = params;
9970
curLeft = parseFloat( curCSSLeft ) || 0;
9971
}
9972
9973
+ if ( isFunction( options ) ) {
9974
9975
// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
9976
options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
9993
};
9994
9995
jQuery.fn.extend( {
9996
+
9997
+ // offset() relates an element's border box to the document origin
9998
offset: function( options ) {
9999
10000
// Preserve chaining for setter
10006
} );
10007
}
10008
10009
+ var rect, win,
10010
elem = this[ 0 ];
10011
10012
if ( !elem ) {
10021
return { top: 0, left: 0 };
10022
}
10023
10024
+ // Get document-relative position by adding viewport scroll to viewport-relative gBCR
10025
rect = elem.getBoundingClientRect();
10026
+ win = elem.ownerDocument.defaultView;
10027
return {
10028
+ top: rect.top + win.pageYOffset,
10029
+ left: rect.left + win.pageXOffset
10030
};
10031
},
10032
10033
+ // position() relates an element's margin box to its offset parent's padding box
10034
+ // This corresponds to the behavior of CSS absolute positioning
10035
position: function() {
10036
if ( !this[ 0 ] ) {
10037
return;
10038
}
10039
10040
+ var offsetParent, offset, doc,
10041
elem = this[ 0 ],
10042
parentOffset = { top: 0, left: 0 };
10043
10044
+ // position:fixed elements are offset from the viewport, which itself always has zero offset
10045
if ( jQuery.css( elem, "position" ) === "fixed" ) {
10046
10047
+ // Assume position:fixed implies availability of getBoundingClientRect
10048
offset = elem.getBoundingClientRect();
10049
10050
} else {
10051
+ offset = this.offset();
10052
10053
+ // Account for the *real* offset parent, which can be the document or its root element
10054
+ // when a statically positioned element is identified
10055
+ doc = elem.ownerDocument;
10056
+ offsetParent = elem.offsetParent || doc.documentElement;
10057
+ while ( offsetParent &&
10058
+ ( offsetParent === doc.body || offsetParent === doc.documentElement ) &&
10059
+ jQuery.css( offsetParent, "position" ) === "static" ) {
10060
10061
+ offsetParent = offsetParent.parentNode;
10062
}
10063
+ if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) {
10064
10065
+ // Incorporate borders into its offset, since they are outside its content origin
10066
+ parentOffset = jQuery( offsetParent ).offset();
10067
+ parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true );
10068
+ parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true );
10069
+ }
10070
}
10071
10072
// Subtract parent offsets and element margins
10108
10109
// Coalesce documents and windows
10110
var win;
10111
+ if ( isWindow( elem ) ) {
10112
win = elem;
10113
} else if ( elem.nodeType === 9 ) {
10114
win = elem.defaultView;
10166
return access( this, function( elem, type, value ) {
10167
var doc;
10168
10169
+ if ( isWindow( elem ) ) {
10170
10171
// $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
10172
return funcName.indexOf( "outer" ) === 0 ?
10200
} );
10201
10202
10203
+ jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
10204
+ "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
10205
+ "change select submit keydown keypress keyup contextmenu" ).split( " " ),
10206
+ function( i, name ) {
10207
+
10208
+ // Handle event binding
10209
+ jQuery.fn[ name ] = function( data, fn ) {
10210
+ return arguments.length > 0 ?
10211
+ this.on( name, null, data, fn ) :
10212
+ this.trigger( name );
10213
+ };
10214
+ } );
10215
+
10216
+ jQuery.fn.extend( {
10217
+ hover: function( fnOver, fnOut ) {
10218
+ return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
10219
+ }
10220
+ } );
10221
+
10222
+
10223
+
10224
+
10225
jQuery.fn.extend( {
10226
10227
bind: function( types, data, fn ) {
10243
}
10244
} );
10245
10246
+ // Bind a function to a context, optionally partially applying any
10247
+ // arguments.
10248
+ // jQuery.proxy is deprecated to promote standards (specifically Function#bind)
10249
+ // However, it is not slated for removal any time soon
10250
+ jQuery.proxy = function( fn, context ) {
10251
+ var tmp, args, proxy;
10252
+
10253
+ if ( typeof context === "string" ) {
10254
+ tmp = fn[ context ];
10255
+ context = fn;
10256
+ fn = tmp;
10257
+ }
10258
+
10259
+ // Quick check to determine if target is callable, in the spec
10260
+ // this throws a TypeError, but we will just return undefined.
10261
+ if ( !isFunction( fn ) ) {
10262
+ return undefined;
10263
+ }
10264
+
10265
+ // Simulated bind
10266
+ args = slice.call( arguments, 2 );
10267
+ proxy = function() {
10268
+ return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
10269
+ };
10270
+
10271
+ // Set the guid of unique handler to the same of original handler, so it can be removed
10272
+ proxy.guid = fn.guid = fn.guid || jQuery.guid++;
10273
+
10274
+ return proxy;
10275
+ };
10276
+
10277
jQuery.holdReady = function( hold ) {
10278
if ( hold ) {
10279
jQuery.readyWait++;
10284
jQuery.isArray = Array.isArray;
10285
jQuery.parseJSON = JSON.parse;
10286
jQuery.nodeName = nodeName;
10287
+ jQuery.isFunction = isFunction;
10288
+ jQuery.isWindow = isWindow;
10289
+ jQuery.camelCase = camelCase;
10290
+ jQuery.type = toType;
10291
+
10292
+ jQuery.now = Date.now;
10293
+
10294
+ jQuery.isNumeric = function( obj ) {
10295
+
10296
+ // As of jQuery 3.0, isNumeric is limited to
10297
+ // strings and numbers (primitives or objects)
10298
+ // that can be coerced to finite numbers (gh-2662)
10299
+ var type = jQuery.type( obj );
10300
+ return ( type === "number" || type === "string" ) &&
10301
+
10302
+ // parseFloat NaNs numeric-cast false positives ("")
10303
+ // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
10304
+ // subtraction forces infinities to NaN
10305
+ !isNaN( obj - parseFloat( obj ) );
10306
+ };
10307
10308
10309
js/jquery-3.3.1.min.js ADDED
@@ -0,0 +1,2 @@