From e6fa25955a143a864d2aa35b6cdb12960a782b82 Mon Sep 17 00:00:00 2001 From: Ihor Motornyi Date: Fri, 19 Aug 2016 20:06:58 +0300 Subject: [PATCH 1/9] Added readme --- .gitignore | 4 +--- README.md | 0 package.json | 51 ---------------------------------------- src/Ball/ball.js | 7 ------ src/index.html | 11 --------- src/index.js | 4 ---- src/scss/_main.scss | 4 ---- src/scss/_variables.scss | 2 -- src/scss/style.scss | 2 -- webpack.config.js | 25 -------------------- 10 files changed, 1 insertion(+), 109 deletions(-) delete mode 100755 README.md delete mode 100644 package.json delete mode 100644 src/Ball/ball.js delete mode 100755 src/index.html delete mode 100644 src/index.js delete mode 100755 src/scss/_main.scss delete mode 100755 src/scss/_variables.scss delete mode 100755 src/scss/style.scss delete mode 100755 webpack.config.js diff --git a/.gitignore b/.gitignore index b0e3907..fd5106f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1 @@ -node_modules -npm-debug.log -.DS_Store +.DS_STORE diff --git a/README.md b/README.md deleted file mode 100755 index e69de29..0000000 diff --git a/package.json b/package.json deleted file mode 100644 index 8c3b968..0000000 --- a/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "vanillajs-boilerplate", - "version": "1.0.0", - "description": "Boilerplate for vanilla.js projects.", - "main": "index.js", - "scripts": { - "build": "npm run clean && webpack --colors --config webpack.production.js", - "start": "webpack-dev-server --colors --inline --hot", - "clean": "rimraf dist", - "lint": "eslint src/js; true" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/alrighty/vanillajs-boilerplate.git" - }, - "keywords": [ - "ES6", - "webpack", - "boilerplate" - ], - "author": "Andrew M.", - "license": "ISC", - "bugs": { - "url": "https://github.com/alrighty/vanillajs-boilerplate/issues" - }, - "homepage": "https://github.com/alrighty/vanillajs-boilerplate#readme", - "devDependencies": { - "autoprefixer": "^6.3.2", - "babel-core": "^6.5.2", - "babel-eslint": "^4.1.8", - "babel-loader": "^6.2.2", - "babel-preset-es2015": "^6.5.0", - "css-loader": "^0.23.1", - "eslint": "^2.0.0", - "eslint-config-airbnb": "^5.0.1", - "extract-text-webpack-plugin": "^1.0.1", - "file-loader": "^0.8.5", - "html-webpack-plugin": "^2.8.1", - "jade": "^1.11.0", - "jade-loader": "^0.8.0", - "node-sass": "^3.4.2", - "postcss-loader": "^0.8.1", - "raw": "^0.1.4", - "rimraf": "^2.5.2", - "sass-loader": "^3.1.2", - "style-loader": "^0.13.0", - "url-loader": "^0.5.7", - "webpack": "^1.12.13", - "webpack-dev-server": "^1.14.1" - } -} diff --git a/src/Ball/ball.js b/src/Ball/ball.js deleted file mode 100644 index e660ae8..0000000 --- a/src/Ball/ball.js +++ /dev/null @@ -1,7 +0,0 @@ - -export default class Ball { - - constructor() { - console.log('ball was created'); - } -} diff --git a/src/index.html b/src/index.html deleted file mode 100755 index 84816e2..0000000 --- a/src/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - Document - - -

Hello World

- - - diff --git a/src/index.js b/src/index.js deleted file mode 100644 index 275cab4..0000000 --- a/src/index.js +++ /dev/null @@ -1,4 +0,0 @@ -import { Ball } from './Ball/ball.js'; - -console.log('Hi'); -let ball = new Ball(); diff --git a/src/scss/_main.scss b/src/scss/_main.scss deleted file mode 100755 index 2551dac..0000000 --- a/src/scss/_main.scss +++ /dev/null @@ -1,4 +0,0 @@ -body { - background-color: $background-color; - color: $font-color; -} diff --git a/src/scss/_variables.scss b/src/scss/_variables.scss deleted file mode 100755 index 2da7aed..0000000 --- a/src/scss/_variables.scss +++ /dev/null @@ -1,2 +0,0 @@ -$background-color: #F5F5F5; -$font-color: #00695C; diff --git a/src/scss/style.scss b/src/scss/style.scss deleted file mode 100755 index e47f6a9..0000000 --- a/src/scss/style.scss +++ /dev/null @@ -1,2 +0,0 @@ -@import './variables'; -@import './main'; diff --git a/webpack.config.js b/webpack.config.js deleted file mode 100755 index d986159..0000000 --- a/webpack.config.js +++ /dev/null @@ -1,25 +0,0 @@ -var webpack = require('webpack'); -var path = require('path'); -var HtmlWebpackPlugin = require('html-webpack-plugin'); - -module.exports = { - entry: './src', - output: { - path: path.join(__dirname, 'dist'), - filename: 'bundle.js' - }, - module: { - loaders: [ - { test: /\.js$/, loaders: ['babel'], exclude: /node_modules/ }, - { test: /\.html$/, loader: 'raw' }, - { test: /\.(scss|css)$/, loader: 'style!css!sass' }, - { test: /\.(png|jpg|gif|svg|woff|woff2|eot|ttf)(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=500000' } - ] - }, - plugins: [ - new webpack.HotModuleReplacementPlugin(), - new HtmlWebpackPlugin({ - template: './src/index.html' - }) - ] -} From 57e203d3602faa5f3ce9663fe4bf96dcdcd87910 Mon Sep 17 00:00:00 2001 From: Ihor Motornyi Date: Fri, 19 Aug 2016 20:08:09 +0300 Subject: [PATCH 2/9] Fixed readme --- README.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..b7bbbec --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# Simple javascript game +jQuery version on ```jquery``` branch. +javascript version on ```vanila``` branch. + +Try [demo](koalacoders.github.io/jump) From 5c4ee2caf83c8c1dd95d120f48424dce5487d3c5 Mon Sep 17 00:00:00 2001 From: Ihor Motornyi Date: Fri, 19 Aug 2016 20:25:48 +0300 Subject: [PATCH 3/9] Created inital scruture --- .gitignore | 2 +- README.md | 5 --- css/style.css | 37 +++++++++++++++++ index.html | 15 +++++++ js/main.js | 95 ++++++++++++++++++++++++++++++++++++++++++++ vendor/jquery.min.js | 4 ++ 6 files changed, 152 insertions(+), 6 deletions(-) delete mode 100644 README.md create mode 100644 css/style.css create mode 100644 index.html create mode 100644 js/main.js create mode 100644 vendor/jquery.min.js diff --git a/.gitignore b/.gitignore index fd5106f..e43b0f9 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -.DS_STORE +.DS_Store diff --git a/README.md b/README.md deleted file mode 100644 index b7bbbec..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Simple javascript game -jQuery version on ```jquery``` branch. -javascript version on ```vanila``` branch. - -Try [demo](koalacoders.github.io/jump) diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000..3e2a664 --- /dev/null +++ b/css/style.css @@ -0,0 +1,37 @@ +* { + box-sizing: border-box; +} + +html, body { + margin: 0; + padding: 0; +} + +.app { + position: relative; + width: 100vw; + height: 100vh; + overflow: hidden; + background-color: rgba(0, 0, 255, .1); +} + +.ball { + height: 50px; + width: 50px; + border-radius: 50%; + background-color: #f00; + position: absolute; + left: 50%; + bottom: 0; + transform: translateX(-50%); + transition: .6s; +} + +.box { + height: 30px; + width: 30px; + background-color: #000; + position: absolute; + transform: translateX(-50%); + bottom: 0; +} diff --git a/index.html b/index.html new file mode 100644 index 0000000..6ae224f --- /dev/null +++ b/index.html @@ -0,0 +1,15 @@ + + + + + Jump - KoalaCoders + + + +
+
+
+ + + + diff --git a/js/main.js b/js/main.js new file mode 100644 index 0000000..963b9d3 --- /dev/null +++ b/js/main.js @@ -0,0 +1,95 @@ +// var moveLeft = function() { +// $('.ball').css('left', '45%'); +// window.setTimeout(function () { +// $('.ball').css('left', '50%'); +// }, 600); +// }; +// +// var moveRight = function() { +// $('.ball').css('left', '55%'); +// window.setTimeout(function () { +// $('.ball').css('left', '50%'); +// }, 600); +// }; +// +// // moveRight(); +// +// var jump = function() { +// $('.ball').css('bottom', '50%'); +// window.setTimeout(function () { +// $('.ball').css('bottom', '0'); +// }, 600); +// }; +// +// +// $(window).bind('keydown', function(e) { +// switch(e.keyCode) { +// case 37: { //left arrow +// moveLeft(); +// break; +// } +// case 39: { //right arrow +// moveRight(); +// break; +// } +// case 38: { +// jump(); +// break; +// } +// default: { +// console.log(e.keyCode); +// } +// +// } +// }); +// +// var boxFactory = function() { +// var element = $('
', { +// class: 'box' +// }); +// +// $('#app').append(element); +// element.css('left', $(window).width() + element.width()); +// +// return element; +// }; +// +// +// +// var move = function() { +// var element = boxFactory(); +// +// var boxMove = function($el) { +// $el.css('left', $el.offset().left - 2); +// if($el.offset().left < -$el.width()) { +// window.clearInterval(interval) +// } +// }; +// +// var interval = window.setInterval(function() { +// boxMove(element); +// }, 30); +// } +// +// move(); +/* +var a = 5; +var b = 10; +if(a > b) { + ... +} else { + ... +} +*/ + +/* +i++ == i = i + 1 +for(var i = 0; i < 10; i++) { + ... +} +*/ + +for(var i = 0; i<=10; i++){ + console.log (i); +} +// pow(2, 3) => 8 diff --git a/vendor/jquery.min.js b/vendor/jquery.min.js new file mode 100644 index 0000000..62d410d --- /dev/null +++ b/vendor/jquery.min.js @@ -0,0 +1,4 @@ +/*! jQuery v3.0.0 | (c) jQuery Foundation | jquery.org/license */ +!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.0.0",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:f.call(this)},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+(0>a?b:0);return this.pushStack(c>=0&&b>c?[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--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=r.isArray(d)))?(e?(e=!1,f=c&&r.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)},isArray:Array.isArray,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):!0:!1},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)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(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;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;d>f;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;return"string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a)?(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):void 0},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)?!1:"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;d>c;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-]|[^\x00-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,ca=function(a,b){return b?"\x00"===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},{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"label"in b&&b.disabled===a||"form"in b&&b.disabled===a||"form"in b&&b.disabled===!1&&(b.isDisabled===a||b.isDisabled!==!a&&("label"in b||!ea(b))!==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:!1},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.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){return a.getAttribute("id")===b}}):(delete d.find.ID,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.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",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="";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+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||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[0>c?c+b:c]}),even:pa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=0>c?c+b:c;++db;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)}: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}}}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;e>d;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;i>h;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}];f>i;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;f>e;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,e>i&&ya(a.slice(i,e)),f>e&&ya(a=a.slice(e)),f>e&&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,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(_,aa),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=V.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(_,aa),$.test(j[0].type)&&qa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&sa(j),!a)return G.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||$.test(a)&&qa(b.parentNode)||b),e},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.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;return c?void 0: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,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){if(r.isFunction(b))return r.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return r.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(C.test(b))return r.filter(b,a,c);b=r.filter(b,a)}return 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;d>b;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;d>b;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.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)),B.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)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={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;c>a;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(;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&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 J(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 J(a,"nextSibling")},prev:function(a){return J(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 a.contentDocument||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&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/\S+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),h>=c&&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 M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(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(!(f>b)){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,M,e),g(f,c,N,e)):(f++,j.call(a,g(f,c,M,e),g(f,c,N,e),g(f,c,M,c.notifyWith))):(d!==M&&(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!==N&&(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:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).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(1>=b&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R),a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=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)S(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(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},T=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function U(){this.expando=r.expando+U.uid++}U.uid=1,U.prototype={cache:function(a){var b=a[this.expando];return b||(b={},T(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){r.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(K)||[]),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 V=new U,W=new U,X=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Y=/[A-Z]/g;function Z(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Y,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:X.test(c)?JSON.parse(c):c}catch(e){}W.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return W.hasData(a)||V.hasData(a)},data:function(a,b,c){return W.access(a,b,c)},removeData:function(a,b){W.remove(a,b)},_data:function(a,b,c){return V.access(a,b,c)},_removeData:function(a,b){V.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=W.get(f),1===f.nodeType&&!V.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),Z(f,d,e[d])));V.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){W.set(this,a)}):S(this,function(b){var c;if(f&&void 0===b){if(c=W.get(f,a),void 0!==c)return c;if(c=Z(f,a),void 0!==c)return c}else this.each(function(){W.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]):void 0},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 V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.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.lengthf;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=V.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&ba(d)&&(e[f]=fa(d))):"none"!==c&&(e[f]="none",V.set(d,"display",c)));for(f=0;g>f;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ga(this,!0)},hide:function(){return ga(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){ba(this)?r(this).show():r(this).hide()})}});var ha=/^(?:checkbox|radio)$/i,ia=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,ja=/^$|\/(?:java|ecma)script/i,ka={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ka.optgroup=ka.option,ka.tbody=ka.tfoot=ka.colgroup=ka.caption=ka.thead,ka.th=ka.td;function la(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function ma(a,b){for(var c=0,d=a.length;d>c;c++)V.set(a[c],"globalEval",!b||V.get(b[c],"globalEval"))}var na=/<|&#?\w+;/;function oa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;o>n;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(na.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ia.exec(f)||["",""])[1].toLowerCase(),i=ka[h]||ka._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=la(l.appendChild(f),"script"),j&&ma(g),c){k=0;while(f=g[k++])ja.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="",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var pa=d.documentElement,qa=/^key/,ra=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,sa=/^([^.]*)(?:\.(.+)|)/;function ta(){return!0}function ua(){return!1}function va(){try{return d.activeElement}catch(a){}}function wa(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)wa(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=ua;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=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(pa,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(K)||[""],j=b.length;while(j--)h=sa.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=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=sa.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)&&V.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=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;cc;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?r(e,this).index(i)>-1:r.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h\x20\t\r\n\f]*)[^>]*)\/>/gi,ya=/\s*$/g;function Ca(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function Da(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ea(a){var b=Aa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)r.event.add(b,e,j[e][c])}W.hasData(a)&&(h=W.access(a),i=r.extend({},h),W.set(b,i))}}function Ga(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ha.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ha(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&&za.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(m&&(e=oa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(la(e,"script"),Da),i=h.length;m>l;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,la(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ea),l=0;i>l;l++)j=h[l],ja.test(j.type||"")&&!V.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Ba,""),k))}return a}function Ia(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(la(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&ma(la(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(xa,"<$1>")},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=la(h),f=la(a),d=0,e=f.length;e>d;d++)Ga(f[d],g[d]);if(b)if(c)for(f=f||la(a),g=g||la(h),d=0,e=f.length;e>d;d++)Fa(f[d],g[d]);else Fa(a,h);return g=la(h,"script"),g.length>0&&ma(g,!i&&la(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return S(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 Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(la(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(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&&!ya.test(a)&&!ka[(ia.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(la(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(la(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;f>=g;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var Ja=/^margin/,Ka=new RegExp("^("+$+")(?!px)[a-z%]+$","i"),La=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="",pa.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,pa.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 Ma(a,b,c){var d,e,f,g,h=a.style;return c=c||La(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ka.test(g)&&Ja.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 Na(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Oa=/^(none|table(?!-c[ea]).+)/,Pa={position:"absolute",visibility:"hidden",display:"block"},Qa={letterSpacing:"0",fontWeight:"400"},Ra=["Webkit","Moz","ms"],Sa=d.createElement("div").style;function Ta(a){if(a in Sa)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ra.length;while(c--)if(a=Ra[c]+b,a in Sa)return a}function Ua(a,b,c){var d=_.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Va(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=r.css(a,c+aa[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+aa[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+aa[f]+"Width",!0,e))):(g+=r.css(a,"padding"+aa[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+aa[f]+"Width",!0,e)));return g}function Wa(a,b,c){var d,e=!0,f=La(a),g="border-box"===r.css(a,"boxSizing",!1,f);if(a.getClientRects().length&&(d=a.getBoundingClientRect()[b]),0>=d||null==d){if(d=Ma(a,b,f),(0>d||null==d)&&(d=a.style[b]),Ka.test(d))return d;e=g&&(o.boxSizingReliable()||d===a.style[b]),d=parseFloat(d)||0}return d+Va(a,b,c||(g?"border":"content"),e,f)+"px"}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ma(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=a.style;return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=_.exec(c))&&e[1]&&(c=da(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")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b);return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Ma(a,b,d)),"normal"===e&&b in Qa&&(e=Qa[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){return c?!Oa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?Wa(a,b,d):ca(a,Pa,function(){return Wa(a,b,d)}):void 0},set:function(a,c,d){var e,f=d&&La(a),g=d&&Va(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=_.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ua(a,c,g)}}}),r.cssHooks.marginLeft=Na(o.reliableMarginLeft,function(a,b){return b?(parseFloat(Ma(a,"marginLeft"))||a.getBoundingClientRect().left-ca(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px":void 0}),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];4>d;d++)e[a+aa[d]+b]=f[d]||f[d-2]||f[0];return e}},Ja.test(a)||(r.cssHooks[a+b].set=Ua)}),r.fn.extend({css:function(a,b){return S(this,function(a,b,c){var d,e,f={},g=0;if(r.isArray(b)){for(d=La(a),e=b.length;e>g;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 Xa(a,b,c,d,e){return new Xa.prototype.init(a,b,c,d,e)}r.Tween=Xa,Xa.prototype={constructor:Xa,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=Xa.propHooks[this.prop];return a&&a.get?a.get(this):Xa.propHooks._default.get(this)},run:function(a){var b,c=Xa.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):Xa.propHooks._default.set(this),this}},Xa.prototype.init.prototype=Xa.prototype,Xa.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)}}},Xa.propHooks.scrollTop=Xa.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=Xa.prototype.init,r.fx.step={};var Ya,Za,$a=/^(?:toggle|show|hide)$/,_a=/queueHooks$/;function ab(){Za&&(a.requestAnimationFrame(ab),r.fx.tick())}function bb(){return a.setTimeout(function(){Ya=void 0}),Ya=r.now()}function cb(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=aa[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function db(a,b,c){for(var d,e=(gb.tweeners[b]||[]).concat(gb.tweeners["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function eb(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&&ba(a),q=V.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],$a.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=V.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ga([a],!0),j=a.style.display||j,k=r.css(a,"display"),ga([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=V.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ga([a],!0),m.done(function(){p||ga([a]),V.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=db(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function fb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],r.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 gb(a,b,c){var d,e,f=0,g=gb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Ya||bb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:Ya||bb(),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;d>c;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(fb(k,j.opts.specialEasing);g>f;f++)if(d=gb.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,db,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}r.Animation=r.extend(gb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return da(c.elem,a,_.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(K);for(var c,d=0,e=a.length;e>d;d++)c=a[d],gb.tweeners[c]=gb.tweeners[c]||[],gb.tweeners[c].unshift(b)},prefilters:[eb],prefilter:function(a,b){b?gb.prefilters.unshift(a):gb.prefilters.push(a)}}),r.speed=function(a,b,c){var e=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.hidden?e.duration=0:e.duration="number"==typeof e.duration?e.duration:e.duration in r.fx.speeds?r.fx.speeds[e.duration]:r.fx.speeds._default,null!=e.queue&&e.queue!==!0||(e.queue="fx"),e.old=e.complete,e.complete=function(){r.isFunction(e.old)&&e.old.call(this),e.queue&&r.dequeue(this,e.queue)},e},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(ba).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=gb(this,r.extend({},a),f);(e||V.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=V.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&_a.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=V.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;g>b;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(cb(b,!0),a,d,e)}}),r.each({slideDown:cb("show"),slideUp:cb("hide"),slideToggle:cb("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(Ya=r.now();b1)},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)?hb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(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(K);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c); +}}),hb={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=ib[b]||r.find.attr;ib[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=ib[g],ib[g]=e,e=null!=c(a,b,d)?g:null,ib[g]=f),e}});var jb=/^(?:input|select|textarea|button)$/i,kb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(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):jb.test(a.nodeName)||kb.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});var lb=/[\t\r\n\f]/g;function mb(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,mb(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(" "+e+" ").replace(lb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=r.trim(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,mb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(" "+e+" ").replace(lb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=r.trim(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,mb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=mb(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+mb(c)+" ").replace(lb," ").indexOf(b)>-1)return!0;return!1}});var nb=/\r/g,ob=/[\x20\t\r\n\f]+/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+="":r.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(nb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:r.trim(r.text(a)).replace(ob," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&!c.disabled&&(!c.parentNode.disabled||!r.nodeName(c.parentNode,"optgroup"))){if(b=r(c).val(),f)return b;g.push(b)}return g},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){return r.isArray(b)?a.checked=r.inArray(r(a).val(),b)>-1:void 0}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.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,pb.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=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(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||!T(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];return c?r.event.trigger(a,b,c,!0):void 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=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\?/;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 tb=/\[\]$/,ub=/\r?\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(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)xb(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(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(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")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ha.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,"\r\n")}}):{name:b.name,value:c.replace(ub,"\r\n")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\/\//,Fb={},Gb={},Hb="*/".concat("*"),Ib=d.createElement("a");Ib.href=qb.href;function Jb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];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 Kb(a,b,c,d){var e={},f=a===Gb;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 Lb(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 Mb(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}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Nb(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:qb.href,type:"GET",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Hb,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?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),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=Bb.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||qb.href)+"").replace(Eb,qb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+"//"+Ib.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)),Kb(Fb,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=!Db.test(o.type),f=o.url.replace(zb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(yb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,""),n=(sb.test(f)?"&":"?")+"_="+rb++ +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]?", "+Hb+"; 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=Kb(Gb,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&&300>b||304===b,d&&(v=Mb(o,y,d)),v=Nb(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",0>b&&(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 Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&"withCredentials"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;return o.cors||Pb&&!b.crossDomain?{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(Ob[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()}}:void 0}),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(" diff --git a/js/main.js b/js/main.js index 963b9d3..510a446 100644 --- a/js/main.js +++ b/js/main.js @@ -1,95 +1,169 @@ -// var moveLeft = function() { -// $('.ball').css('left', '45%'); -// window.setTimeout(function () { -// $('.ball').css('left', '50%'); -// }, 600); -// }; -// -// var moveRight = function() { -// $('.ball').css('left', '55%'); -// window.setTimeout(function () { -// $('.ball').css('left', '50%'); -// }, 600); -// }; -// -// // moveRight(); -// -// var jump = function() { -// $('.ball').css('bottom', '50%'); -// window.setTimeout(function () { -// $('.ball').css('bottom', '0'); -// }, 600); -// }; -// -// -// $(window).bind('keydown', function(e) { -// switch(e.keyCode) { -// case 37: { //left arrow -// moveLeft(); -// break; -// } -// case 39: { //right arrow -// moveRight(); -// break; -// } -// case 38: { -// jump(); -// break; -// } -// default: { -// console.log(e.keyCode); -// } -// -// } -// }); -// -// var boxFactory = function() { -// var element = $('
', { -// class: 'box' -// }); -// -// $('#app').append(element); -// element.css('left', $(window).width() + element.width()); -// -// return element; -// }; -// -// -// -// var move = function() { -// var element = boxFactory(); -// -// var boxMove = function($el) { -// $el.css('left', $el.offset().left - 2); -// if($el.offset().left < -$el.width()) { -// window.clearInterval(interval) -// } -// }; -// -// var interval = window.setInterval(function() { -// boxMove(element); -// }, 30); -// } -// -// move(); -/* -var a = 5; -var b = 10; -if(a > b) { - ... -} else { - ... +(() => { + +/** +* ============================================ +* ============================================ +* ============================================ +* Ball - main object +* ============================================ +* ============================================ +* ============================================ +*/ +class Ball { + constructor(holder) { + this.holder = holder; + + this.element = $('
', { + class: 'ball', + id: 'ball' + }); + + this.actions = { + 37: this.moveLeft, + 38: this.jump.bind(this), + 39: this.moveRight + }; + + this.radius = 10; + $(holder).append(this.element); + + $(window).bind('keydown', e => { + const action = this.actions[e.keyCode]; + if (action) action(); + }); + } + + get x() { + return this.element.offset().left; + } + + get y() { + return this.holder.height() - $('#ball').height() - this.element.offset().top; + } + + moveLeft() { + $('.ball').css('left', '30%'); + window.setTimeout(() => { + $('.ball').css('left', '50%'); + }, 600); + } + + moveRight() { + $('.ball').css('left', '70%'); + window.setTimeout(() => { + $('.ball').css('left', '50%'); + }, 600); + } + + jump() { + if (this.isJumping) return; + + this.isJumping = true; + $('.ball').css('bottom', '50%'); + window.setTimeout(() => { + $('.ball').css('bottom', '0'); + }, 600); + window.setTimeout(() => { + this.isJumping = false; + }, 1200); + } } + + + +/** +* ============================================ +* ============================================ +* ============================================ +* Box +* ============================================ +* ============================================ +* ============================================ */ +class Box { + constructor(holder, num) { + this.element = $('
', { + class: 'box', + id: `box-${num}` + }); + + $(holder).append(this.element); + + let initalX = $(holder).width() + this.element.width(); + + this.cords = { + x: initalX, + y: 0 + }; + } + + move() { + this.setOffset(-2, 0); + + if ((this.cords.x > 0) && (!fail)) { + window.setTimeout(() => this.move(), 10); + } else { + this.element.remove(); + } + return this.cords; + } + + setOffset(dx, dy) { + this.cords.x += dx; + this.cords.y += dy; + + this.element.css({ + left: this.cords.x, + bottom: this.cords.y + }); + + check(this); + } -/* -i++ == i = i + 1 -for(var i = 0; i < 10; i++) { - ... } + + + + +/** +* ============================================ +* ============================================ +* ============================================ +* Game +* ============================================ +* ============================================ +* ============================================ */ -for(var i = 0; i<=10; i++){ - console.log (i); +function boxFactory(holder) { + var boxCount = 0; + + let iterator = () => { + let box = new Box(holder, boxCount++); + box.move(); + if (!fail) + window.setTimeout(iterator, Math.random() * 5000 + boxInterval); + } + iterator(); +} + +function check(el) { + if (!el.cords) return; + + const dx = Math.abs(el.cords.x - ball.x); + const dy = Math.abs(el.cords.y - ball.y); + if (dx < ball.radius && dy < ball.radius) stop(); } -// pow(2, 3) => 8 + +function stop() { + alert('shit'); + fail = true; +} + +var rootElement = $('#app'); + +let boxInterval = 1000; +const ball = new Ball(rootElement); +let fail = false; +boxFactory(rootElement); +})(); From 0116b1d2087c418c29b1262dbcac066eb969f3d0 Mon Sep 17 00:00:00 2001 From: Ihor Motornyi Date: Sun, 21 Aug 2016 19:27:04 +0300 Subject: [PATCH 5/9] Betta version --- css/style.css | 65 +++++++++++++--- images/man.gif | Bin 0 -> 5381 bytes images/shit.png | Bin 0 -> 25022 bytes index.html | 15 +++- js/main.js | 198 +++++++++++++++++++++++++++++------------------- 5 files changed, 191 insertions(+), 87 deletions(-) create mode 100644 images/man.gif create mode 100644 images/shit.png diff --git a/css/style.css b/css/style.css index 3e2a664..05facde 100644 --- a/css/style.css +++ b/css/style.css @@ -1,3 +1,5 @@ +@import 'https://fonts.googleapis.com/css?family=Roboto'; + * { box-sizing: border-box; } @@ -5,6 +7,7 @@ html, body { margin: 0; padding: 0; + } .app { @@ -12,26 +15,68 @@ html, body { width: 100vw; height: 100vh; overflow: hidden; - background-color: rgba(0, 0, 255, .1); + font-family: 'Roboto', sans-serif; + font-weight: 100; + color: #666; +} + +.holder { + position: relative; + width: 100vw; + height: 100vh; + overflow: hidden; +} + +.score { + text-transform: uppercase; + font-size: 20px; } -.ball { - height: 50px; - width: 50px; - border-radius: 50%; - background-color: #f00; +.player { + height: 200px; + width: 200px; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); - transition: .6s; + transition: left linear .4s, bottom ease-out .5s; + background-image: url('../images/man.gif'); + background-size: contain; + background-position: center; + background-repeat: no-repeat; } .box { - height: 30px; - width: 30px; - background-color: #000; + height: 100px; + width: 100px; position: absolute; transform: translateX(-50%); bottom: 0; + background-image: url('../images/shit.png'); + background-size: contain; + background-position: center; + background-repeat: no-repeat; +} + +.game-over { + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + background-color: rgba(0, 0, 0, .9); + z-index: 100; +} + +.total-score { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + color: rgba(255, 255, 255, .8); + font-size: 30px; +} + +.hidden { + display: none; } diff --git a/images/man.gif b/images/man.gif new file mode 100644 index 0000000000000000000000000000000000000000..1640074a1f44f291e6add3192c0e394cb0bd9c5d GIT binary patch literal 5381 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 IM6N<$f^`bS00000 literal 0 HcmV?d00001 diff --git a/index.html b/index.html index ae873bf..ae8068e 100644 --- a/index.html +++ b/index.html @@ -7,7 +7,20 @@
- + + + +
+
+ Score: 0 +
+
+
diff --git a/js/main.js b/js/main.js index 510a446..b8c2b8b 100644 --- a/js/main.js +++ b/js/main.js @@ -1,5 +1,55 @@ (() => { +class Controlled { + + constructor(holder) { + this.holder = holder; + this.holderHeight = this.holder.height(); + } + + createElement() { + this.element = $('
', { + class: this.class, + id: this.id + }); + + this.position = { + x: this.initalX, + y: 0 + } + + $(this.holder).append(this.element); + + this.radius = this.element.width() / 2; + } + + die() { + this.element.remove(); + } + + set position(val) { + if (!this.cords) this.cords = {}; + + if(val.y !== null) { + this.cords.y = val.y; + this.element.css('bottom', this.cords.y); + } + if(val.x !== null) { + this.cords.x = val.x; + this.element.css('left', this.cords.x); + } + } + + get x() { + return this.element.offset().left + this.radius; + } + + get y() { + return this.holderHeight - this.radius - this.element.offset().top; + } +} + + /** * ============================================ * ============================================ @@ -9,63 +59,54 @@ * ============================================ * ============================================ */ -class Ball { +class Player extends Controlled { + constructor(holder) { - this.holder = holder; + super(...arguments); + this.class = 'player'; + this.initalX = this.holder.width() / 2; - this.element = $('
', { - class: 'ball', - id: 'ball' - }); + this.createElement(); this.actions = { - 37: this.moveLeft, + 37: this.moveLeft.bind(this), 38: this.jump.bind(this), - 39: this.moveRight + 39: this.moveRight.bind(this) }; - this.radius = 10; - $(holder).append(this.element); - - $(window).bind('keydown', e => { - const action = this.actions[e.keyCode]; + $(window).on('keydown', e => { + let action = this.actions[e.keyCode]; if (action) action(); }); } - get x() { - return this.element.offset().left; - } - - get y() { - return this.holder.height() - $('#ball').height() - this.element.offset().top; - } - moveLeft() { - $('.ball').css('left', '30%'); - window.setTimeout(() => { - $('.ball').css('left', '50%'); - }, 600); + if(this.cords.x < (this.radius + 150)) return; + + this.position = { + x: this.cords.x - 300 + } } moveRight() { - $('.ball').css('left', '70%'); - window.setTimeout(() => { - $('.ball').css('left', '50%'); - }, 600); + if(this.cords.x > ($(this.holder).width() - this.radius - 150)) return; + + this.position = { + x: this.cords.x + 300 + } } jump() { if (this.isJumping) return; this.isJumping = true; - $('.ball').css('bottom', '50%'); + $('.player').css('bottom', '70%'); window.setTimeout(() => { - $('.ball').css('bottom', '0'); - }, 600); + $('.player').css('bottom', '0'); + }, 500); window.setTimeout(() => { this.isJumping = false; - }, 1200); + }, 1000); } } @@ -80,42 +121,29 @@ class Ball { * ============================================ * ============================================ */ -class Box { +class Box extends Controlled { constructor(holder, num) { - this.element = $('
', { - class: 'box', - id: `box-${num}` - }); - - $(holder).append(this.element); - - let initalX = $(holder).width() + this.element.width(); - - this.cords = { - x: initalX, - y: 0 - }; + super(...arguments); + this.class = 'box'; + this.id = `box-${num}`; + this.initalX = this.holder.width() + 200; + this.createElement(); } move() { - this.setOffset(-2, 0); + this.position = { + x: this.cords.x - 2 + }; - if ((this.cords.x > 0) && (!fail)) { - window.setTimeout(() => this.move(), 10); + if ((this.x > -this.radius) && (!game.fail)) { + window.setTimeout(() => this.move(), 5); } else { - this.element.remove(); - } - return this.cords; - } + this.die(); - setOffset(dx, dy) { - this.cords.x += dx; - this.cords.y += dy; - - this.element.css({ - left: this.cords.x, - bottom: this.cords.y - }); + if(!game.fail) { + $('#score').text(++game.score); + } + } check(this); } @@ -123,8 +151,6 @@ class Box { } - - /** * ============================================ * ============================================ @@ -141,29 +167,49 @@ function boxFactory(holder) { let iterator = () => { let box = new Box(holder, boxCount++); box.move(); - if (!fail) - window.setTimeout(iterator, Math.random() * 5000 + boxInterval); + if (!game.fail) + window.setTimeout(iterator, Math.random() * 5000 + game.boxInterval); } iterator(); } function check(el) { if (!el.cords) return; + const dx = Math.abs(el.x - player.x); + const dy = Math.abs(el.y - player.y); - const dx = Math.abs(el.cords.x - ball.x); - const dy = Math.abs(el.cords.y - ball.y); - if (dx < ball.radius && dy < ball.radius) stop(); + if (dx < player.radius && dy < player.radius) stop(); } function stop() { - alert('shit'); - fail = true; + $('.game-over').removeClass('hidden'); + $('.holder').addClass('hidden'); + $('.game-over').on('click', () => { window.location.reload() }); + $(window).on('keydown', () => { window.location.reload() }); + $('#total-score').text(game.score); + player.die(); + game.fail = true; +} + +const game = { + rootElement: $('#holder'), + boxInterval: 1000, + fail: false, + _score: 0 } -var rootElement = $('#app'); +Object.defineProperty(game, 'score', { + get: function() { + return this._score; + }, + + set: function(value) { + this._score = value; + this.boxInterval /= value; + } +}); + +const player = new Player(game.rootElement); +boxFactory(game.rootElement); -let boxInterval = 1000; -const ball = new Ball(rootElement); -let fail = false; -boxFactory(rootElement); })(); From b14a5566dd46d32042e39228c959926ddf8e8829 Mon Sep 17 00:00:00 2001 From: Ihor Motornyi Date: Mon, 22 Aug 2016 21:19:39 +0300 Subject: [PATCH 6/9] Added pause --- js/main.js | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/js/main.js b/js/main.js index b8c2b8b..b4f483b 100644 --- a/js/main.js +++ b/js/main.js @@ -71,12 +71,13 @@ class Player extends Controlled { this.actions = { 37: this.moveLeft.bind(this), 38: this.jump.bind(this), + 32: this.jump.bind(this), 39: this.moveRight.bind(this) }; $(window).on('keydown', e => { let action = this.actions[e.keyCode]; - if (action) action(); + if (action && !game.pause) action(); }); } @@ -131,18 +132,13 @@ class Box extends Controlled { } move() { - this.position = { - x: this.cords.x - 2 - }; + if(!game.pause) this.position = { x: this.cords.x - 2 }; - if ((this.x > -this.radius) && (!game.fail)) { - window.setTimeout(() => this.move(), 5); - } else { + if ((this.x > -this.radius) && (!game.fail)) + window.setTimeout(() => this.move(), 5000 / game.boxInterval); + else { this.die(); - - if(!game.fail) { - $('#score').text(++game.score); - } + if(!game.fail) $('#score').text(++game.score); } check(this); @@ -165,10 +161,13 @@ function boxFactory(holder) { var boxCount = 0; let iterator = () => { - let box = new Box(holder, boxCount++); - box.move(); + if(!game.pause) { + let box = new Box(holder, boxCount++); + box.move(); + } + if (!game.fail) - window.setTimeout(iterator, Math.random() * 5000 + game.boxInterval); + window.setTimeout(iterator, Math.random() * 5000); } iterator(); } @@ -195,6 +194,7 @@ const game = { rootElement: $('#holder'), boxInterval: 1000, fail: false, + pause: false, _score: 0 } @@ -205,10 +205,13 @@ Object.defineProperty(game, 'score', { set: function(value) { this._score = value; - this.boxInterval /= value; + this.boxInterval += value * 10; } }); +$(window).on('blur', () => { game.pause = true; }) + .on('focus', () => { game.pause = false; }); + const player = new Player(game.rootElement); boxFactory(game.rootElement); From 971750d3298f6247d30dcfa4b3a27fc64e56ebe7 Mon Sep 17 00:00:00 2001 From: Ihor Motornyi Date: Mon, 22 Aug 2016 21:43:16 +0300 Subject: [PATCH 7/9] Redesign --- css/style.css | 13 +++++++++++++ js/main.js | 19 +++++++++++-------- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/css/style.css b/css/style.css index 05facde..72e740c 100644 --- a/css/style.css +++ b/css/style.css @@ -27,6 +27,19 @@ html, body { overflow: hidden; } +.holder:before { + content: ""; + display: block; + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + background-color: rgba(0, 0, 0, .6); + z-index: inherit; + z-index: 100; +} + .score { text-transform: uppercase; font-size: 20px; diff --git a/js/main.js b/js/main.js index b4f483b..2494e07 100644 --- a/js/main.js +++ b/js/main.js @@ -85,7 +85,7 @@ class Player extends Controlled { if(this.cords.x < (this.radius + 150)) return; this.position = { - x: this.cords.x - 300 + x: this.cords.x - 250 } } @@ -93,7 +93,7 @@ class Player extends Controlled { if(this.cords.x > ($(this.holder).width() - this.radius - 150)) return; this.position = { - x: this.cords.x + 300 + x: this.cords.x + 250 } } @@ -132,10 +132,10 @@ class Box extends Controlled { } move() { - if(!game.pause) this.position = { x: this.cords.x - 2 }; + if(!game.pause) this.position = { x: this.cords.x - 2 - game.boxInterval }; if ((this.x > -this.radius) && (!game.fail)) - window.setTimeout(() => this.move(), 5000 / game.boxInterval); + window.setTimeout(() => this.move(), 5); else { this.die(); if(!game.fail) $('#score').text(++game.score); @@ -167,7 +167,7 @@ function boxFactory(holder) { } if (!game.fail) - window.setTimeout(iterator, Math.random() * 5000); + setTimeout(iterator, Math.random() * 5000); } iterator(); } @@ -184,7 +184,9 @@ function stop() { $('.game-over').removeClass('hidden'); $('.holder').addClass('hidden'); $('.game-over').on('click', () => { window.location.reload() }); - $(window).on('keydown', () => { window.location.reload() }); + setTimeout(() => { + $(window).on('keydown', () => { window.location.reload() }); + }, 1000); $('#total-score').text(game.score); player.die(); game.fail = true; @@ -192,7 +194,7 @@ function stop() { const game = { rootElement: $('#holder'), - boxInterval: 1000, + boxInterval: 0, fail: false, pause: false, _score: 0 @@ -205,7 +207,8 @@ Object.defineProperty(game, 'score', { set: function(value) { this._score = value; - this.boxInterval += value * 10; + if(value % 10 == 0) + this.boxInterval += 1; } }); From c128cdb7fd512f8351ee75d1a0923d0e8ea0b68a Mon Sep 17 00:00:00 2001 From: Ihor Motornyi Date: Tue, 23 Aug 2016 19:41:59 +0300 Subject: [PATCH 8/9] Create inital webpack config --- .gitignore | 1 + dist/main.js | 312 ++++++++++++++++++++++++++++++++ js/main.js | 221 ---------------------- package.json | 36 ++++ {css => src/css}/style.css | 0 {images => src/images}/man.gif | Bin {images => src/images}/shit.png | Bin index.html => src/index.html | 3 +- src/index.js | 12 ++ src/js/box.js | 26 +++ src/js/controlled.js | 51 ++++++ src/js/game.js | 62 +++++++ src/js/player.js | 53 ++++++ vendor/jquery.min.js | 4 - webpack.config.js | 51 ++++++ 15 files changed, 605 insertions(+), 227 deletions(-) create mode 100644 dist/main.js delete mode 100644 js/main.js create mode 100644 package.json rename {css => src/css}/style.css (100%) rename {images => src/images}/man.gif (100%) rename {images => src/images}/shit.png (100%) rename index.html => src/index.html (85%) create mode 100644 src/index.js create mode 100644 src/js/box.js create mode 100644 src/js/controlled.js create mode 100644 src/js/game.js create mode 100644 src/js/player.js delete mode 100644 vendor/jquery.min.js create mode 100644 webpack.config.js diff --git a/.gitignore b/.gitignore index e43b0f9..9daa824 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .DS_Store +node_modules diff --git a/dist/main.js b/dist/main.js new file mode 100644 index 0000000..3b72c35 --- /dev/null +++ b/dist/main.js @@ -0,0 +1,312 @@ +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; + +/******/ // The require function +/******/ function __webpack_require__(moduleId) { + +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) +/******/ return installedModules[moduleId].exports; + +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ exports: {}, +/******/ id: moduleId, +/******/ loaded: false +/******/ }; + +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); + +/******/ // Flag the module as loaded +/******/ module.loaded = true; + +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } + + +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; + +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; + +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; + +/******/ // Load entry module and return exports +/******/ return __webpack_require__(0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + var _player = __webpack_require__(1); + + var _player2 = _interopRequireDefault(_player); + + var _game = __webpack_require__(3); + + var _game2 = _interopRequireDefault(_game); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + __webpack_require__(!(function webpackMissingModule() { var e = new Error("Cannot find module \"./scss/style.scss\""); e.code = 'MODULE_NOT_FOUND'; throw e; }())); + + var game = { + rootElement: document.getElementById('holder'), + boxInterval: 0, + fail: false, + pause: false, + _score: 0, + get: function get() { + return this._score; + }, + + set: function set(value) { + this._score = value; + if (value % 10 == 0) this.boxInterval += 1; + } + }; + + window.onblur = function () { + game.pause = true; + }; + window.onfocus = function () { + game.pause = false; + }; + + var player = new _player2.default(game.rootElement); + + (0, _game.factory)(game.rootElement); + +/***/ }, +/* 1 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + + var _controlled = __webpack_require__(2); + + var _controlled2 = _interopRequireDefault(_controlled); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + + var Player = function (_Controlled) { + _inherits(Player, _Controlled); + + function Player(holder) { + _classCallCheck(this, Player); + + var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(Player).apply(this, arguments)); + + _this.class = 'player'; + _this.initalX = _this.holder.width() / 2; + + _this.createElement(); + + _this.actions = { + 37: _this.moveLeft.bind(_this), + 38: _this.jump.bind(_this), + 32: _this.jump.bind(_this), + 39: _this.moveRight.bind(_this) + }; + + $(window).on('keydown', function (e) { + var action = _this.actions[e.keyCode]; + if (action && !game.pause) action(); + }); + return _this; + } + + _createClass(Player, [{ + key: 'moveLeft', + value: function moveLeft() { + if (this.cords.x < this.radius + 150) return; + + this.position = { + x: this.cords.x - 250 + }; + } + }, { + key: 'moveRight', + value: function moveRight() { + if (this.cords.x > $(this.holder).width() - this.radius - 150) return; + + this.position = { + x: this.cords.x + 250 + }; + } + }, { + key: 'jump', + value: function jump() { + var _this2 = this; + + if (this.isJumping) return; + + this.isJumping = true; + $('.player').css('bottom', '70%'); + window.setTimeout(function () { + $('.player').css('bottom', '0'); + }, 500); + window.setTimeout(function () { + _this2.isJumping = false; + }, 1000); + } + }]); + + return Player; + }(_controlled2.default); + + exports.default = Player; + +/***/ }, +/* 2 */ +/***/ function(module, exports) { + + 'use strict'; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + var Controlled = function () { + function Controlled(holder) { + _classCallCheck(this, Controlled); + + this.holder = holder; + this.holderHeight = this.holder.height(); + } + + _createClass(Controlled, [{ + key: 'createElement', + value: function createElement() { + this.element = $('
', { + class: this.class, + id: this.id + }); + + this.position = { + x: this.initalX, + y: 0 + }; + + $(this.holder).append(this.element); + + this.radius = this.element.width() / 2; + } + }, { + key: 'die', + value: function die() { + this.element.remove(); + } + }, { + key: 'position', + set: function set(val) { + if (!this.cords) this.cords = {}; + + if (val.y !== null) { + this.cords.y = val.y; + this.element.css('bottom', this.cords.y); + } + if (val.x !== null) { + this.cords.x = val.x; + this.element.css('left', this.cords.x); + } + } + }, { + key: 'x', + get: function get() { + return this.element.offset().left + this.radius; + } + }, { + key: 'y', + get: function get() { + return this.holderHeight - this.radius - this.element.offset().top; + } + }]); + + return Controlled; + }(); + + exports.default = Controlled; + +/***/ }, +/* 3 */ +/***/ function(module, exports) { + + 'use strict'; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.factory = factory; + exports.check = check; + exports.stop = stop; + function factory(holder) { + var count = 0; + + var iterator = function iterator() { + if (!game.pause) { + var obj = new Box(holder, count++); + obj.move(); + } + + if (!game.fail) setTimeout(iterator, Math.random() * 5000); + }; + + iterator(); + } + + function check(el) { + if (!el.cords) return; + var dx = Math.abs(el.x - player.x); + var dy = Math.abs(el.y - player.y); + + if (dx < player.radius && dy < player.radius) stop(); + } + + function stop() { + var gameOver = document.getElementsByClassName('game-over'), + holder = document.getElementsByClassName('holder'), + totalScore = document.getElementById('total-score'); + + gameOver.removeClass('hidden'); + holder.addClass('hidden'); + gameOver.on('click', function () { + window.location.reload(); + }); + setTimeout(function () { + window.onkeydown = function () { + window.location.reload(); + }; + }, 1000); + + totalScore.innerText = game.score; + player.die(); + game.fail = true; + } + +/***/ } +/******/ ]); \ No newline at end of file diff --git a/js/main.js b/js/main.js deleted file mode 100644 index 2494e07..0000000 --- a/js/main.js +++ /dev/null @@ -1,221 +0,0 @@ -(() => { - -class Controlled { - - constructor(holder) { - this.holder = holder; - this.holderHeight = this.holder.height(); - } - - createElement() { - this.element = $('
', { - class: this.class, - id: this.id - }); - - this.position = { - x: this.initalX, - y: 0 - } - - $(this.holder).append(this.element); - - this.radius = this.element.width() / 2; - } - - die() { - this.element.remove(); - } - - set position(val) { - if (!this.cords) this.cords = {}; - - if(val.y !== null) { - this.cords.y = val.y; - this.element.css('bottom', this.cords.y); - } - if(val.x !== null) { - this.cords.x = val.x; - this.element.css('left', this.cords.x); - } - } - - get x() { - return this.element.offset().left + this.radius; - } - - get y() { - return this.holderHeight - this.radius - this.element.offset().top; - } -} - - -/** -* ============================================ -* ============================================ -* ============================================ -* Ball - main object -* ============================================ -* ============================================ -* ============================================ -*/ -class Player extends Controlled { - - constructor(holder) { - super(...arguments); - this.class = 'player'; - this.initalX = this.holder.width() / 2; - - this.createElement(); - - this.actions = { - 37: this.moveLeft.bind(this), - 38: this.jump.bind(this), - 32: this.jump.bind(this), - 39: this.moveRight.bind(this) - }; - - $(window).on('keydown', e => { - let action = this.actions[e.keyCode]; - if (action && !game.pause) action(); - }); - } - - moveLeft() { - if(this.cords.x < (this.radius + 150)) return; - - this.position = { - x: this.cords.x - 250 - } - } - - moveRight() { - if(this.cords.x > ($(this.holder).width() - this.radius - 150)) return; - - this.position = { - x: this.cords.x + 250 - } - } - - jump() { - if (this.isJumping) return; - - this.isJumping = true; - $('.player').css('bottom', '70%'); - window.setTimeout(() => { - $('.player').css('bottom', '0'); - }, 500); - window.setTimeout(() => { - this.isJumping = false; - }, 1000); - } -} - - - -/** -* ============================================ -* ============================================ -* ============================================ -* Box -* ============================================ -* ============================================ -* ============================================ -*/ -class Box extends Controlled { - constructor(holder, num) { - super(...arguments); - this.class = 'box'; - this.id = `box-${num}`; - this.initalX = this.holder.width() + 200; - this.createElement(); - } - - move() { - if(!game.pause) this.position = { x: this.cords.x - 2 - game.boxInterval }; - - if ((this.x > -this.radius) && (!game.fail)) - window.setTimeout(() => this.move(), 5); - else { - this.die(); - if(!game.fail) $('#score').text(++game.score); - } - - check(this); - } - -} - - -/** -* ============================================ -* ============================================ -* ============================================ -* Game -* ============================================ -* ============================================ -* ============================================ -*/ - -function boxFactory(holder) { - var boxCount = 0; - - let iterator = () => { - if(!game.pause) { - let box = new Box(holder, boxCount++); - box.move(); - } - - if (!game.fail) - setTimeout(iterator, Math.random() * 5000); - } - iterator(); -} - -function check(el) { - if (!el.cords) return; - const dx = Math.abs(el.x - player.x); - const dy = Math.abs(el.y - player.y); - - if (dx < player.radius && dy < player.radius) stop(); -} - -function stop() { - $('.game-over').removeClass('hidden'); - $('.holder').addClass('hidden'); - $('.game-over').on('click', () => { window.location.reload() }); - setTimeout(() => { - $(window).on('keydown', () => { window.location.reload() }); - }, 1000); - $('#total-score').text(game.score); - player.die(); - game.fail = true; -} - -const game = { - rootElement: $('#holder'), - boxInterval: 0, - fail: false, - pause: false, - _score: 0 -} - -Object.defineProperty(game, 'score', { - get: function() { - return this._score; - }, - - set: function(value) { - this._score = value; - if(value % 10 == 0) - this.boxInterval += 1; - } -}); - -$(window).on('blur', () => { game.pause = true; }) - .on('focus', () => { game.pause = false; }); - -const player = new Player(game.rootElement); -boxFactory(game.rootElement); - -})(); diff --git a/package.json b/package.json new file mode 100644 index 0000000..1718492 --- /dev/null +++ b/package.json @@ -0,0 +1,36 @@ +{ + "name": "jump", + "version": "1.0.0", + "description": "Simple javascript game", + "main": "index.js", + "scripts": { + "start": "webpack-dev-server --inline --hot", + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/KoalaCoders/jump.git" + }, + "author": "Koala", + "license": "ISC", + "bugs": { + "url": "https://github.com/KoalaCoders/jump/issues" + }, + "homepage": "https://github.com/KoalaCoders/jump#readme", + "devDependencies": { + "autoprefixer-loader": "^3.2.0", + "babel-core": "^6.13.2", + "babel-loader": "^6.2.5", + "babel-preset-es2015": "^6.13.2", + "copy-webpack-plugin": "^3.0.1", + "css-loader": "^0.23.1", + "extract-text-webpack-plugin": "^1.0.1", + "file-loader": "^0.9.0", + "html-minify-loader": "^1.1.0", + "node-sass": "^3.8.0", + "sass-loader": "^4.0.0", + "style-loader": "^0.13.1", + "webpack": "^1.13.2", + "webpack-dev-server": "^1.15.0" + } +} diff --git a/css/style.css b/src/css/style.css similarity index 100% rename from css/style.css rename to src/css/style.css diff --git a/images/man.gif b/src/images/man.gif similarity index 100% rename from images/man.gif rename to src/images/man.gif diff --git a/images/shit.png b/src/images/shit.png similarity index 100% rename from images/shit.png rename to src/images/shit.png diff --git a/index.html b/src/index.html similarity index 85% rename from index.html rename to src/index.html index ae8068e..2732994 100644 --- a/index.html +++ b/src/index.html @@ -22,7 +22,6 @@
- - + diff --git a/src/index.js b/src/index.js new file mode 100644 index 0000000..586675a --- /dev/null +++ b/src/index.js @@ -0,0 +1,12 @@ + +import Player from './js/player.js'; +import Game from './js/game.js'; + +import game from './js/game.js'; + +window.onblur = () => { game.pause = true; }; +window.onfocus = () => { game.pause = false; }; + +game.player = new Player(game.rootElement); + +game.factory(); diff --git a/src/js/box.js b/src/js/box.js new file mode 100644 index 0000000..412ac17 --- /dev/null +++ b/src/js/box.js @@ -0,0 +1,26 @@ +import Controlled from './controlled'; +import game from './game.js'; + +export default class Box extends Controlled { + constructor(holder, num) { + super(...arguments); + this.class = 'box'; + this.id = `box-${num}`; + this.initalX = this.holder.offsetWidth + 200; + this.createElement(); + } + + move() { + if(!game.pause) this.position = { x: this.cords.x - 2 - game.boxInterval }; + + if ((this.x > -this.radius) && (!game.fail)) + window.setTimeout(() => this.move(), 5); + else { + this.die(); + if(!game.fail) document.getElementById('score').text(++game.score); + } + + game.check(this); + } + +} diff --git a/src/js/controlled.js b/src/js/controlled.js new file mode 100644 index 0000000..638f6af --- /dev/null +++ b/src/js/controlled.js @@ -0,0 +1,51 @@ +export default class Controlled { + + constructor(holder) { + this.holder = holder; + this.holderHeight = this.holder.offsetHeight; + } + + createElement() { + this.element = document.createElement('div'); + this.element.classList.add(this.class); + this.element.id = this.id; + + this.holder.appendChild(this.element); + + this.position = { + x: this.initalX, + y: 0 + } + + setTimeout(() => { + this.radius = this.element.offsetWidth / 2; + console.log(this.element.offsetWidth); + }); + } + + die() { + this.element.outerHTML = ""; + this.element.parentElement.removeChild(this.element); + } + + set position(val) { + if (!this.cords) this.cords = {}; + + if(val.y != undefined) { + this.cords.y = val.y; + this.element.style.bottom = this.cords.y; + } + if(val.x != undefined) { + this.cords.x = val.x; + this.element.style.left = this.cords.x; + } + } + + get x() { + return this.element.offsetLeft + this.radius; + } + + get y() { + return this.holderHeight - this.radius - this.element.offsetTop; + } +} diff --git a/src/js/game.js b/src/js/game.js new file mode 100644 index 0000000..99b27ad --- /dev/null +++ b/src/js/game.js @@ -0,0 +1,62 @@ +import Box from './box.js'; +import game from './game.js'; + +export default { + holder: holder, + rootElement: document.getElementById('holder'), + boxInterval: 0, + fail: false, + pause: false, + _score: 0, + + factory() { + let count = 0; + + let iterator = () => { + if(!game.pause) { + let obj = new Box(this.holder, count++); + obj.move(); + } + + if (!game.fail) + setTimeout(iterator, Math.random() * 5000); + } + + iterator(); + }, + + check(el) { + if (!el.cords) return; + const dx = Math.abs(el.x - this.player.x); + const dy = Math.abs(el.y - this.player.y); + + if (dx < this.player.radius && dy < this.player.radius) stop(); + }, + + stop() { + let gameOver = document.getElementsByClassName('game-over'), + holder = document.getElementsByClassName('holder'), + totalScore = document.getElementById('total-score') + + gameOver.classList.add('hidden'); + holder.classList.add('hidden'); + gameOver.onclick = () => { window.location.reload() }; + setTimeout(() => { + window.onkeydown = () => { window.location.reload() }; + }, 1000); + + totalScore.innerText = game.score; + this.player.die(); + game.fail = true; + }, + + get score() { + return this._score; + }, + + set score(value) { + this._score = value; + if(value % 10 == 0) + this.boxInterval += 1; + } +} diff --git a/src/js/player.js b/src/js/player.js new file mode 100644 index 0000000..00b4f18 --- /dev/null +++ b/src/js/player.js @@ -0,0 +1,53 @@ +import Controlled from './controlled'; +import game from './game.js'; + +export default class Player extends Controlled { + + constructor(holder) { + super(...arguments); + this.class = this.id = 'player'; + this.initalX = this.holder.offsetWidth / 2; + + this.createElement(); + + this.actions = { + 37: this.moveLeft.bind(this), + 38: this.jump.bind(this), + 32: this.jump.bind(this), + 39: this.moveRight.bind(this) + }; + + window.onkeydown = e => { + let action = this.actions[e.keyCode]; + if (action && !game.pause) action(); + }; + } + + moveLeft() { + if(this.cords.x < (this.radius + 150)) return; + + this.position = { + x: this.cords.x - 250 + } + } + + moveRight() { + if(this.cords.x > (this.holder.offsetWidth - this.radius - 150)) return; + + this.position = { + x: this.cords.x + 250 + } + } + + jump() { + if (this.isJumping) return; + + + + this.isJumping = true; + this.element.style.bottom = '70%'; + + setTimeout(() => { this.element.style.bottom = 0; }, 500); + setTimeout(() => { this.isJumping = false; }, 1000); + } +} diff --git a/vendor/jquery.min.js b/vendor/jquery.min.js deleted file mode 100644 index 62d410d..0000000 --- a/vendor/jquery.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v3.0.0 | (c) jQuery Foundation | jquery.org/license */ -!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.0.0",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:f.call(this)},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+(0>a?b:0);return this.pushStack(c>=0&&b>c?[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--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=r.isArray(d)))?(e?(e=!1,f=c&&r.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)},isArray:Array.isArray,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):!0:!1},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)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(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;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;d>f;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;return"string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a)?(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):void 0},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)?!1:"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;d>c;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-]|[^\x00-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,ca=function(a,b){return b?"\x00"===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},{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"label"in b&&b.disabled===a||"form"in b&&b.disabled===a||"form"in b&&b.disabled===!1&&(b.isDisabled===a||b.isDisabled!==!a&&("label"in b||!ea(b))!==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:!1},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.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){return a.getAttribute("id")===b}}):(delete d.find.ID,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.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",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="";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+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||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[0>c?c+b:c]}),even:pa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=0>c?c+b:c;++db;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)}: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}}}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;e>d;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;i>h;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}];f>i;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;f>e;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,e>i&&ya(a.slice(i,e)),f>e&&ya(a=a.slice(e)),f>e&&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,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(_,aa),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=V.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(_,aa),$.test(j[0].type)&&qa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&sa(j),!a)return G.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||$.test(a)&&qa(b.parentNode)||b),e},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.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;return c?void 0: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,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){if(r.isFunction(b))return r.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return r.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(C.test(b))return r.filter(b,a,c);b=r.filter(b,a)}return 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;d>b;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;d>b;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.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)),B.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)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={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;c>a;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(;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&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 J(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 J(a,"nextSibling")},prev:function(a){return J(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 a.contentDocument||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&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/\S+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),h>=c&&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 M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(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(!(f>b)){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,M,e),g(f,c,N,e)):(f++,j.call(a,g(f,c,M,e),g(f,c,N,e),g(f,c,M,c.notifyWith))):(d!==M&&(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!==N&&(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:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).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(1>=b&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R),a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=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)S(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(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},T=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function U(){this.expando=r.expando+U.uid++}U.uid=1,U.prototype={cache:function(a){var b=a[this.expando];return b||(b={},T(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){r.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(K)||[]),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 V=new U,W=new U,X=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Y=/[A-Z]/g;function Z(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Y,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:X.test(c)?JSON.parse(c):c}catch(e){}W.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return W.hasData(a)||V.hasData(a)},data:function(a,b,c){return W.access(a,b,c)},removeData:function(a,b){W.remove(a,b)},_data:function(a,b,c){return V.access(a,b,c)},_removeData:function(a,b){V.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=W.get(f),1===f.nodeType&&!V.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),Z(f,d,e[d])));V.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){W.set(this,a)}):S(this,function(b){var c;if(f&&void 0===b){if(c=W.get(f,a),void 0!==c)return c;if(c=Z(f,a),void 0!==c)return c}else this.each(function(){W.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]):void 0},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 V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.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.lengthf;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=V.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&ba(d)&&(e[f]=fa(d))):"none"!==c&&(e[f]="none",V.set(d,"display",c)));for(f=0;g>f;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ga(this,!0)},hide:function(){return ga(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){ba(this)?r(this).show():r(this).hide()})}});var ha=/^(?:checkbox|radio)$/i,ia=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,ja=/^$|\/(?:java|ecma)script/i,ka={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ka.optgroup=ka.option,ka.tbody=ka.tfoot=ka.colgroup=ka.caption=ka.thead,ka.th=ka.td;function la(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function ma(a,b){for(var c=0,d=a.length;d>c;c++)V.set(a[c],"globalEval",!b||V.get(b[c],"globalEval"))}var na=/<|&#?\w+;/;function oa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;o>n;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(na.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ia.exec(f)||["",""])[1].toLowerCase(),i=ka[h]||ka._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=la(l.appendChild(f),"script"),j&&ma(g),c){k=0;while(f=g[k++])ja.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="",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var pa=d.documentElement,qa=/^key/,ra=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,sa=/^([^.]*)(?:\.(.+)|)/;function ta(){return!0}function ua(){return!1}function va(){try{return d.activeElement}catch(a){}}function wa(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)wa(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=ua;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=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(pa,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(K)||[""],j=b.length;while(j--)h=sa.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=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=sa.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)&&V.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=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;cc;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?r(e,this).index(i)>-1:r.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h\x20\t\r\n\f]*)[^>]*)\/>/gi,ya=/\s*$/g;function Ca(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function Da(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ea(a){var b=Aa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)r.event.add(b,e,j[e][c])}W.hasData(a)&&(h=W.access(a),i=r.extend({},h),W.set(b,i))}}function Ga(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ha.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ha(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&&za.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(m&&(e=oa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(la(e,"script"),Da),i=h.length;m>l;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,la(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ea),l=0;i>l;l++)j=h[l],ja.test(j.type||"")&&!V.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Ba,""),k))}return a}function Ia(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(la(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&ma(la(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(xa,"<$1>")},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=la(h),f=la(a),d=0,e=f.length;e>d;d++)Ga(f[d],g[d]);if(b)if(c)for(f=f||la(a),g=g||la(h),d=0,e=f.length;e>d;d++)Fa(f[d],g[d]);else Fa(a,h);return g=la(h,"script"),g.length>0&&ma(g,!i&&la(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return S(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 Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(la(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(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&&!ya.test(a)&&!ka[(ia.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(la(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(la(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;f>=g;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var Ja=/^margin/,Ka=new RegExp("^("+$+")(?!px)[a-z%]+$","i"),La=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="",pa.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,pa.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 Ma(a,b,c){var d,e,f,g,h=a.style;return c=c||La(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ka.test(g)&&Ja.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 Na(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Oa=/^(none|table(?!-c[ea]).+)/,Pa={position:"absolute",visibility:"hidden",display:"block"},Qa={letterSpacing:"0",fontWeight:"400"},Ra=["Webkit","Moz","ms"],Sa=d.createElement("div").style;function Ta(a){if(a in Sa)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ra.length;while(c--)if(a=Ra[c]+b,a in Sa)return a}function Ua(a,b,c){var d=_.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Va(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=r.css(a,c+aa[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+aa[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+aa[f]+"Width",!0,e))):(g+=r.css(a,"padding"+aa[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+aa[f]+"Width",!0,e)));return g}function Wa(a,b,c){var d,e=!0,f=La(a),g="border-box"===r.css(a,"boxSizing",!1,f);if(a.getClientRects().length&&(d=a.getBoundingClientRect()[b]),0>=d||null==d){if(d=Ma(a,b,f),(0>d||null==d)&&(d=a.style[b]),Ka.test(d))return d;e=g&&(o.boxSizingReliable()||d===a.style[b]),d=parseFloat(d)||0}return d+Va(a,b,c||(g?"border":"content"),e,f)+"px"}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ma(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=a.style;return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=_.exec(c))&&e[1]&&(c=da(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")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b);return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Ma(a,b,d)),"normal"===e&&b in Qa&&(e=Qa[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){return c?!Oa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?Wa(a,b,d):ca(a,Pa,function(){return Wa(a,b,d)}):void 0},set:function(a,c,d){var e,f=d&&La(a),g=d&&Va(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=_.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ua(a,c,g)}}}),r.cssHooks.marginLeft=Na(o.reliableMarginLeft,function(a,b){return b?(parseFloat(Ma(a,"marginLeft"))||a.getBoundingClientRect().left-ca(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px":void 0}),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];4>d;d++)e[a+aa[d]+b]=f[d]||f[d-2]||f[0];return e}},Ja.test(a)||(r.cssHooks[a+b].set=Ua)}),r.fn.extend({css:function(a,b){return S(this,function(a,b,c){var d,e,f={},g=0;if(r.isArray(b)){for(d=La(a),e=b.length;e>g;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 Xa(a,b,c,d,e){return new Xa.prototype.init(a,b,c,d,e)}r.Tween=Xa,Xa.prototype={constructor:Xa,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=Xa.propHooks[this.prop];return a&&a.get?a.get(this):Xa.propHooks._default.get(this)},run:function(a){var b,c=Xa.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):Xa.propHooks._default.set(this),this}},Xa.prototype.init.prototype=Xa.prototype,Xa.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)}}},Xa.propHooks.scrollTop=Xa.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=Xa.prototype.init,r.fx.step={};var Ya,Za,$a=/^(?:toggle|show|hide)$/,_a=/queueHooks$/;function ab(){Za&&(a.requestAnimationFrame(ab),r.fx.tick())}function bb(){return a.setTimeout(function(){Ya=void 0}),Ya=r.now()}function cb(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=aa[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function db(a,b,c){for(var d,e=(gb.tweeners[b]||[]).concat(gb.tweeners["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function eb(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&&ba(a),q=V.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],$a.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=V.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ga([a],!0),j=a.style.display||j,k=r.css(a,"display"),ga([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=V.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ga([a],!0),m.done(function(){p||ga([a]),V.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=db(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function fb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],r.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 gb(a,b,c){var d,e,f=0,g=gb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Ya||bb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:Ya||bb(),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;d>c;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(fb(k,j.opts.specialEasing);g>f;f++)if(d=gb.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,db,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}r.Animation=r.extend(gb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return da(c.elem,a,_.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(K);for(var c,d=0,e=a.length;e>d;d++)c=a[d],gb.tweeners[c]=gb.tweeners[c]||[],gb.tweeners[c].unshift(b)},prefilters:[eb],prefilter:function(a,b){b?gb.prefilters.unshift(a):gb.prefilters.push(a)}}),r.speed=function(a,b,c){var e=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.hidden?e.duration=0:e.duration="number"==typeof e.duration?e.duration:e.duration in r.fx.speeds?r.fx.speeds[e.duration]:r.fx.speeds._default,null!=e.queue&&e.queue!==!0||(e.queue="fx"),e.old=e.complete,e.complete=function(){r.isFunction(e.old)&&e.old.call(this),e.queue&&r.dequeue(this,e.queue)},e},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(ba).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=gb(this,r.extend({},a),f);(e||V.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=V.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&_a.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=V.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;g>b;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(cb(b,!0),a,d,e)}}),r.each({slideDown:cb("show"),slideUp:cb("hide"),slideToggle:cb("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(Ya=r.now();b1)},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)?hb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(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(K);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c); -}}),hb={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=ib[b]||r.find.attr;ib[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=ib[g],ib[g]=e,e=null!=c(a,b,d)?g:null,ib[g]=f),e}});var jb=/^(?:input|select|textarea|button)$/i,kb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(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):jb.test(a.nodeName)||kb.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});var lb=/[\t\r\n\f]/g;function mb(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,mb(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(" "+e+" ").replace(lb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=r.trim(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,mb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(" "+e+" ").replace(lb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=r.trim(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,mb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=mb(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+mb(c)+" ").replace(lb," ").indexOf(b)>-1)return!0;return!1}});var nb=/\r/g,ob=/[\x20\t\r\n\f]+/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+="":r.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(nb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:r.trim(r.text(a)).replace(ob," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&!c.disabled&&(!c.parentNode.disabled||!r.nodeName(c.parentNode,"optgroup"))){if(b=r(c).val(),f)return b;g.push(b)}return g},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){return r.isArray(b)?a.checked=r.inArray(r(a).val(),b)>-1:void 0}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.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,pb.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=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(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||!T(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];return c?r.event.trigger(a,b,c,!0):void 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=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\?/;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 tb=/\[\]$/,ub=/\r?\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(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)xb(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(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(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")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ha.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,"\r\n")}}):{name:b.name,value:c.replace(ub,"\r\n")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\/\//,Fb={},Gb={},Hb="*/".concat("*"),Ib=d.createElement("a");Ib.href=qb.href;function Jb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];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 Kb(a,b,c,d){var e={},f=a===Gb;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 Lb(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 Mb(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}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Nb(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:qb.href,type:"GET",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Hb,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?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),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=Bb.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||qb.href)+"").replace(Eb,qb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+"//"+Ib.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)),Kb(Fb,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=!Db.test(o.type),f=o.url.replace(zb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(yb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,""),n=(sb.test(f)?"&":"?")+"_="+rb++ +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]?", "+Hb+"; 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=Kb(Gb,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&&300>b||304===b,d&&(v=Mb(o,y,d)),v=Nb(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",0>b&&(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 Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&"withCredentials"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;return o.cors||Pb&&!b.crossDomain?{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(Ob[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()}}:void 0}),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("