summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Gruntfile.js13
-rw-r--r--README.md2
-rw-r--r--dist/app.min.js9
-rw-r--r--dist/index.html140
-rw-r--r--package.json4
5 files changed, 163 insertions, 5 deletions
diff --git a/Gruntfile.js b/Gruntfile.js
index 8ba2c09..77ac474 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -6,8 +6,8 @@ module.exports = function(grunt) {
dentist: {
build: {
src: 'shader-combo.html',
- script: 'dist/app-init.js'
- html: 'dist/index.html'
+ dest_js: 'dist/app.init.js',
+ dest_html: 'dist/index.html'
}
},
concat: {
@@ -37,7 +37,7 @@ module.exports = function(grunt) {
"js/api/gallery.js",
"js/api/get.js",
"js/api/set.js",
- "/tmp/app-init.js",
+ "dist/app.init.js",
],
dest: 'dist/app.concat.js',
}
@@ -51,6 +51,9 @@ module.exports = function(grunt) {
dest: 'dist/app.min.js'
}
},
+ clean: {
+ release: ["dist/app.concat.js","dist/app.init.js"],
+ },
watch: {
files: ['dist/!(app.min|app.concat).js'],
tasks: ['default']
@@ -61,8 +64,10 @@ module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
+ grunt.loadNpmTasks('grunt-contrib-clean');
+ grunt.loadNpmTasks('grunt-dentist');
// Default task(s).
- grunt.registerTask('default', ['concat', 'uglify']);
+ grunt.registerTask('default', ['dentist', 'concat', 'uglify']);
};
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..06b58cc
--- /dev/null
+++ b/README.md
@@ -0,0 +1,2 @@
+dither
+======
diff --git a/dist/app.min.js b/dist/app.min.js
new file mode 100644
index 0000000..58b69ed
--- /dev/null
+++ b/dist/app.min.js
@@ -0,0 +1,9 @@
+/* asdf.us/shader */
+function shuffle(a){var b=new Array(a.length);b[0]=a[0];for(var c=1;c<a.length;c++){var d=Math.floor(Math.random()*c);b[c]=b[d],b[d]=a[c]}return b}function sample(a,b){var c=shuffle(a);return c.slice(0,b)}function GifEncoder(){function a(){var a=this,b=0,c=[];a.init=function(){for(var b=0;WORKERS>b;b++){var d=new Worker("js/vendor/gif-encode/worker.js");d.onmessage=a.receiveWork,c.push(d)}};var d={};a.hire=function(a,b){d[a]=b},a.work=function(a){c[++b%c.length].postMessage(a)},a.receiveWork=function(a){a.data.task in d&&d[a.data.task](a)},a.fire=function(){for(var b in c)c[b].postMessage("close");c=[],a.init()},a.init()}function b(a){console.log("[WORKER]",a.data.message)}function c(a){console.log(Date.now()-q,"quantization done"),i=a.data.neuquant,j=a.data.colortab,f.quantized=!0,f.tube("quantized")}function d(a){var b=a.data.frame_index,c=a.data.frame_data;m[b]=c,f.tube("encoded-frame",m.length,k.length);for(var d=0;d<k.length;d++)if(null==m[d])return;console.log("FINISHED "+k.length);var e=m.join(""),g=window.btoa(e),h="data:image/gif;base64,"+g;f.working=!1,f.tube("rendered",e),f.tube("rendered-url",h),console.log(Date.now()-q,"processed frames"),console.log(Date.now()-p,"done"),r.fire()}function e(a){var b=Date.now();a=Math.min(l.length,a);var c=document.createElement("canvas"),d=c.getContext("2d");c.width=g,c.height=h*a;for(var e=d.getImageData(0,0,c.width,c.height),f=e.data,i=0,j=sample(l,4);a--;)for(var k=j[a],m=k.getImageData(0,0,g,h).data,n=0;n<m.length;i++,n++)f[i]=m[n];return console.log(Date.now()-b,"built spritesheet"),e}var f=this;this.working=!1;var g,h,i,j,k=[],l=[],m=[],n=[],g=0,h=0,o=0,p=Date.now(),q=Date.now(),r=(f.tube=new Tube,new a);r.hire("message",b),r.hire("quantize",c),r.hire("encode",d);var s=(this.reset=function(){s(),i=null,j=null,f.quantized=!1},this.resetFrames=function(){k=[],l=[],m=[],n=[],g=0,h=0,o=0});this.on=function(){f.tube.on.apply(f.tube,arguments)},this.off=function(){f.tube.off.apply(f.tube,arguments)};{var i,j;this.addFrame=function(a,b){var c=a.getContext("2d");k.push(a),l.push(c),n.push(b),1==k.length&&(g=a.width,h=a.height)},this.addFrames=function(a,b){for(var c=0;c<a.length;c++){var d=a[c],e=d.getContext("2d");k.push(d),l.push(e),n.push(b)}k.length==a.length&&(g=a[0].width,h=a[0].height)},this.copyFrame=function(a,b){var c=document.createElement("canvas"),d=c.getContext("2d");d.drawImage(a,0,0,a.width,a.height),k.push(c),l.push(d),n.push(b),1==k.length&&(g=a.width,h=a.height)},this.quantize=function(){p=Date.now(),q=Date.now();var a=e(FRAMES_TO_QUANTIZE);r.work({task:"quantize",imageData:a})},this.encode=function(a,b){function c(){if(e==k.length)return d();var a=l[e],b=a.getImageData(0,0,g,h).data,f=n[e];r.work({task:"encode",frame_index:e,frame_length:l.length-1,height:h,width:g,delay:f,imageData:b,neuquant:i,colortab:j}),e++,setTimeout(c,16)}function d(){f.tube("done_sending")}if(!k.length)throw Error("No frames to encode");a=a||i,b=b||j,q=Date.now(),o=0,console.log("working .... ");var e=0;c()}}}function trim(a){return a.replace(/^\s+/,"").replace(/\s+$/,"")}function clamp(a,b,c){return b>a?b:c>a?a:c}function lerp(a,b,c){return(c-b)*a+b}function mix(a,b,c){return b*(1-a)+c*a}function ceil(a){return Math.ceil(a)}function floor(a){return Math.floor(a)}function round(a){return Math.round(a)}function max(a){return Math.max(a)}function min(a){return Math.min(a)}function abs(a){return Math.abs(a)}function sign(a){return Math.abs(a)/a}function pow(a,b){return Math.pow(a,b)}function exp(a){return Math.exp(a)}function sqrt(a){return Math.sqrt(a,b)}function cos(a){return Math.cos(a)}function sin(a){return Math.sin(a)}function tan(a){return Math.tan(a)}function acos(a){return Math.cos(a)}function asin(a){return Math.sin(a)}function atan(a){return Math.atan(a)}function atan2(a){return Math.atan2(a)}function sec(a){return 1/cos(a)}function csc(a){return 1/sin(a)}function cot(a){return 1/tan(a)}function cosp(a){return(1+Math.cos(a))/2}function sinp(a){return(1+Math.sin(a))/2}function random(){return Math.random()}function rand(a){return Math.random()*a}function randint(a){return 0|rand(a)}function choice(a){return a[randint(a.length)]}function deg(a){return 180*a/PI}function rad(a){return a*PI/180}function xor(a,b){return a=!!a,b=!!b,(a||b)&&!(a&&b)}function mod(a,b){return a-b*floor(a/b)}function dist(a,b,c,d){return sqrt(pow(c-a,2)+pow(d-b,2))}function angle(a,b,c,d){return atan2(d-b,c-a)}function avg(a,b,c){return(a*(c-1)+b)/c}function pixel(a,b){return 4*(mod(b,actual_h)*actual_w+mod(a,actual_w))}function rgbpixel(c,d,e){var f=pixel(~~d,~~e);r=c[f],g=c[f+1],b=c[f+2],a=c[f+3]}function fit(a,b,c){rgbpixel(a,b*actual_w/w,c*actual_h/h)}function step(a,b){return(b>=a)+0}function julestep(a,b,c){return clamp((c-a)/(b-a),0,1)}function smoothstep(a,b,c){var d=clamp((c-a)/(b-a),0,1);return d*d*(3-2*d)}function shuffle(a){for(var b=a.length;b>0;b--){var c=randint(b),d=a[b-1];a[b-1]=a[c],a[c]=d}return a}function reverse(a){for(var b=[],c=0,d=a.length-1;d>=c;c++)b[c]=a[d-c];return b}function deinterlace(a){for(var b=[],c=[],d=0,e=a.length;e>d;d++)d%2?c.push(a[d]):b.push(a[d]);return[c,b]}function weave(a){var b=deinterlace(a),c=[];return b[0].forEach(function(a){c.push(a)}),reverse(b[1]).forEach(function(a){c.push(a)}),c}function rgb(a,c,d){r=a,g=c,b=d}function rgbref(a){r=a[0],g=a[1],b=a[2]}function black(){rgb(0,0,0)}function white(){rgb(255,255,255)}function red(){rgb(255,0,0)}function gray(a){1>a&&(a*=255),rgb(a,a,a)}function rgb2xyz(a){var b=a[0]/255,c=a[1]/255,d=a[2]/255;b>.04045?b=(b+.055)/1.055^2.4:b/=12.92,c>.04045?c=(c+.055)/1.055^2.4:c/=12.92,d>.04045?d=(d+.055)/1.055^2.4:d/=12.92,b=100*b,c=100*c,d=100*d;var e=.4124*b+.3576*c+.1805*d,f=.2126*b+.7152*c+.0722*d,g=.0193*b+.1192*c+.9505*d;return[e,f,g]}function xyz2rgb(a){var b=a[0]/100,c=a[1]/100,d=a[2]/100;var_R=3.2406*b+-1.5372*c+d*-.4986,var_G=b*-.9689+1.8758*c+.0415*d,var_B=.0557*b+c*-.204+1.057*d,var_R=var_R>.0031308?1.055*Math.pow(var_R,1/2.4)-.055:12.92*var_R,var_G=var_G>.0031308?1.055*Math.pow(var_G,1/2.4)-.055:12.92*var_G,var_B=var_B>.0031308?1.055*Math.pow(var_B,1/2.4)-.055:12.92*var_B;var e=clamp(255*var_R,0,255),f=clamp(255*var_G,0,255),g=clamp(255*var_B,0,255);return[e,f,g]}function xyz2hunterlab(a){var b=a[0],c=a[1],d=a[2],e=10*sqrt(c),f=17.5*((1.02*b-c)/sqrt(c)),g=7*((c-.847*d)/sqrt(c));return[e,f,g]}function hunterlab2xyz(a){var b=a[0],c=a[1],d=a[2];return var_Y=b/10,var_X=c/17.5*b/10,var_Z=d/7*b/10,Y=Math.pow(var_Y,2),X=(var_X+Y)/1.02,Z=-(var_Z-Y)/.847,[X,Y,Z]}function xyz2cielab(a){var b=a[0]/ref_X,c=a[1]/ref_Y,d=a[2]/ref_Z;b=b>.008856?Math.pow(b,1/3):7.787*b+16/116,c=c>.008856?Math.pow(c,1/3):7.787*c+16/116,d=d>.008856?Math.pow(d,1/3):7.787*d+16/116;var e=116*c-16,f=500*(b-c),g=200*(c-d);return[e,f,g]}function cielab2xyz(a){var b=(a[0]+16)/116,c=a[1]/500+b,d=b-a[2]/200;b=b^!0?Math.pow(b,3):(b-16/116)/7.787,c=c^!0?Math.pow(c,3):(c-16/116)/7.787,d=d^!0?Math.pow(d,3):(d-16/116)/7.787;return[x,y,z]}function rgb2hsl(a){var b,c,d=a[0],e=a[1],f=a[2],g=d/255,h=e/255,i=f/255,j=min(g,h,i),k=max(g,h,i),l=k-j,m=(k+j)/2;if(0==l)b=0,c=0;else{c=.5>m?l/(k+j):l/(2-k-j);var n=((k-g)/6+l/2)/l,o=((k-h)/6+l/2)/l,p=((k-i)/6+l/2)/l;g==k?b=p-o:h==k?b=1/3+n-p:i==k&&(b=2/3+o-n),0>b&&(b+=1),b>1&&(b-=1)}return[b,c,m]}function hsl2rgb(a,b,c){var d,e,f,g,h;return 0==b?(d=255*c,e=255*c,f=255*c):(h=.5>c?c*(1+b):c+b-b*c,g=2*c-h,d=255*hue2rgb(g,h,a+1/3),e=255*hue2rgb(g,h,a),f=255*hue2rgb(g,h,a-1/3)),[d,e,f]}function hue2rgb(a,b,c){return 0>c&&(c+=1),c>1&&(c-=1),1>6*c?a+6*(b-a)*c:1>2*c?b:2>3*c?a+(b-a)*(2/3-c)*6:a}function rgb2cmy(a,b,c){a.length&&(c=a[2],b=a[1],a=a[0]);var d=1-a/255,e=1-b/255,f=1-c/255;return[d,e,f]}function cmy2rgb(a,b,c){a.length&&(c=a[2],b=a[1],a=a[0]);var d=255*(1-a),e=255*(1-b),f=255*(1-c);return[d,e,f]}function cmy2cmyk(a,b,c){a.length&&(c=a[2],b=a[1],a=a[0]);var d=1;d>a&&(d=a),d>b&&(d=b),d>c&&(d=c),1==d?(a=0,b=0,c=0):(a=(a-d)/(1-d),b=(b-d)/(1-d),c=(c-d)/(1-d));var e=d;return[a,b,c,e]}function cmyk2cmy(a,b,c,d){a.length&&(d=a[3],c=a[2],b=a[1],a=a[0]);var a=a*(1-d)+d,b=b*(1-d)+d,c=c*(1-d)+d;return[a,b,c]}function loadImage(a,b){var a=proxify(a);return window.imageURL=a,window.gif=window.img=null,a?"gif"===a.substr(-3)?(window.gif=GIF(a),gif.on("rendered",b),gif.render()):(window.img=new Image,img.addEventListener("load",b),img.crossOrigin="anonymous",img.src=a):(window.gif=null,window.img=null,b(),void 0)}function giveImage(a){return window.gif?gif.frames[gif.currentFrame(a)]:img}function proxify(a){return 0==a.indexOf("http")?"/cgi-bin/proxy?"+a.replace(/^https/,"http"):a}function filesize(a){return 1e3>a?a+" bytes":1e6>a?decimalString(a/1e3)+" kb":1e9>a?decimalString(a/1e6)+" mb":"WAY TOO BIG DUDE"}function decimalString(a){var b=Math.floor(a);return b+"."+Math.round(10*(a-b))}function noop(){}function uploadImage(a){if(a.blob&&a.filename){a.username=a.username||"",a.success=a.success||noop,a.error=a.error||noop;var b=new FormData;b.append("username",a.username),b.append("filename",a.filename),b.append("qqfile",a.blob);var c=new XMLHttpRequest;c.open("POST","/cgi-bin/im/upload"),c.onload=function(){if(200==c.status){var b=JSON.parse(c.responseText);b.success?a.success(b):a.error(b)}else a.error({success:!1,error:c.status})},c.send(b)}}function add_frame(){var a=$("#framecount").int();2>a?add_single_frame():add_frames(a)}function add_single_frame(){var a=$("<div>");a.html($("#frame-template").html()),a.attr("index",$("#frames div").length);var b=cc.clone().appendTo(a.find(".frame")[0]);b.canvas.className="fullsize",b.canvas.style.display="none";cc.clone().resize(frame_thumb_size,frame_thumb_size).appendTo(a.find(".frame")[0]);$("#frames").append(a)}function add_frames(a){rendering=!0;for(var b,c=old_t-start_t-pause_t,d=1e3*($("#frameinterval").float()||$("#framedelay").float()),e=0;a>e;e++)b=giveFrame(c),c+=d,shade(b,c),add_single_frame();rendering=!1}function remove_frame(){$(this).closest("div").remove()}function remove_all_frames(){$("#frames").empty()}function shuffle_frames(){var a=$("#frames div");$("#frames").empty().append(shuffle(a))}function reverse_frames(){var a=$("#frames div");$("#frames").empty().append(reverse(a))}function weave_frames(){var a=$("#frames div");$("#frames").empty().append(weave(a))}function sort_frames(){var a=$("#frames div"),b=a.map(function(a,b){return console.log(a,b),[[b.getAttribute("index"),b]]}).sort(function(a,b){return a[0]-b[0]}).map(function(a,b){return console.log(b),b[1]});$("#frames").empty().append(b)}function render(){if(!rendering){0==$("#frames canvas.fullsize").length&&add_frame(),rendering=!0,encoder.reset();var a=1e3*$("#framedelay").float()||100;$("#frames canvas.fullsize").each(function(){var b=cq(this.width,this.height).fillStyle($("#background").string()).fillRect(0,0,this.width,this.height).drawImage(this,0,0);encoder.addFrame(b.canvas,a)}),$("#pause,#render,#add-frame").disable(),$("#workspace").find("img").remove(),$("#rendered").show(),status("encoding");try{encoder.encode()}catch(b){throw $("#pause,#render,#add-frame").enable(),rendering=!1,status(b),b}$("#render").html("rendering")}}function get_filename(){var a=$("#url").val().replace(/^.*\//,"").replace(/\..*$/,"").replace(/[^-_ a-zA-Z0-9]/g,""),b=user.username,c=a+"-"+b+"-"+ +new Date+".gif";return c.replace(/ /g,"_").replace(/-+/g,"-")}function save(){if(lastGif){var a=get_filename(),b=dataUriToBlob(lastGif);saveAs(b,a)}}function saveJSON(a,b){for(var c=JSON.stringify(a),d=new ArrayBuffer(c.length),e=new Uint8Array(d),f=0;f<c.length;f++)e[f]=c.charCodeAt(f);var g=new Blob([e],{type:"text/json"});g.slice=g.slice||g.webkitSlice,saveAs(g,b)}function upload(){var a=get_filename(),b=user.username,c=dataUriToBlob(lastGif);uploadImage({blob:c,filename:a,username:b,success:function(a){console.log(a),status("uploaded"),$("#uploaded-url").show().focus().val(a.url),$("#uploaded-url + br").show()},error:function(a){console.log(a),status("error uploading: "+a.error)}})}function choose(){loading=!0,$("#url").val(this.src),loadImage(this.src,ready),reset()}function load(){var a=$("#url").val();loading=!0,a!=imageURL&&(loadImage(a,ready),status("loading"))}function ready(){if(loading=!1,status(""),window.gif){frame=gif.frames[0],actual_w=w=cc.canvas.width=frame.ctx.canvas.width,actual_h=h=cc.canvas.height=frame.ctx.canvas.height;for(var a,b=0;a=gif.frames[b];b++)a.cloneData=a.ctx.getImageData(0,0,w,h)}else window.img?(fc=cq(img.width,img.height),fc.drawImage(img,0,0),frame=img_frame={ctx:fc.context},actual_w=w=cc.canvas.width=frame.ctx.canvas.width,actual_h=h=cc.canvas.height=frame.ctx.canvas.height,frame.cloneData=frame.ctx.getImageData(0,0,w,h)):(cc.canvas.width=w,cc.canvas.height=h,shader_build());displayWidthHeight(w,h)}function displayWidthHeight(a,b){$("#width").val(a),$("#height").val(b)}function giveFrame(a){if(window.gif){if(gif.currentFrame)return gif.frames[gif.currentFrame(a)];if(gif.frames)return gif.frames[0]}return window.img?img_frame:empty_frame()}function empty_frame(){actual_w=w=w||400,actual_h=h=h||266;var a=cq(w,h).fillStyle("rgba(255,255,255,255)").fillRect(0,0,w,h);return{ctx:a.context,cloneData:a.getImageData(0,0,w,h)}}function feedback_frame(){return{ctx:cc.context,cloneData:cc.getImageData(0,0,w,h)}}function reset(){start_t=old_t,pause_t=0,pause(!1),$("#workspace img").remove(),$("#workspace canvas").show(),$("#uploaded-url").hide(),$("#uploaded-url + br").show(),remove_all_frames(),draw(0)}function pause(a){paused="boolean"==typeof a?a:!paused,$("#pause").toggleClass("paused",paused).html(paused?"paused":"pause"),paused||($("#workspace canvas").show(),$("#workspace img").hide(),$("#save,#upload").disable())}function step_forward(){var a=1e3*$("#framedelay").float()||100;old_t+=a,draw(old_t),pause(!0)}function animate(a){raf_id=requestAnimationFrame(animate);var b=a-old_t;return old_t=a,paused||dragging||rendering||scrolling||deferring?(pause_t+=b,void(scrolling?(scrolling=!1,deferring=!0):deferring=!1)):(draw(a),fps=avg(fps,1e3/b,4),void quiet_status(~~fps+" fps"))}function draw(a){a-=start_t,a-=pause_t,frame=giveFrame(a),shade(frame,a)}function shader(){}function shade_no_error_handling(c,d){if(!d||isNaN(d))throw Error("No time specified");if(!c)throw Error("No frame specified");for(var e=c.ctx.getImageData(0,0,w,h),f=e.data,i=c.cloneData.data,j=w,k=h,l=0;w>l;l++)for(var m=0;h>m;m++)q=4*(m*w+l),r=f[q],g=f[q+1],b=f[q+2],a=f[q+3],result=shader(l,m,d,i),f[q]=r,f[q+1]=g,f[q+2]=b,f[q+3]=a,w=j,h=k;cc.putImageData(e,0,0)}function shade_error_handling(c,d){if(!d||isNaN(d))throw Error("No time specified");if(!c||!c.ctx||!c.cloneData)throw Error("No frame specified");var e=c.ctx.getImageData(0,0,w,h),f=e.data,i=c.cloneData.data;try{for(var j=w,k=h,l=0;w>l;l++)for(var m=0;h>m;m++)q=4*(m*w+l),r=f[q],g=f[q+1],b=f[q+2],a=f[q+3],result=shader(l,m,d,i),f[q]=r,f[q+1]=g,f[q+2]=b,f[q+3]=a,w=j,h=k}catch(n){var o=(n.stack+"").split("\n");if("anonymous@"===o[0].substr(0,10)){var p=o[0].match(firefox_stack_regexp);p.length>1&&error_highlight.on(parseInt(p[1])-5)}else if(o.length>1){var p=o[1].match(chrome_stack_regexp);p&&p.length>1&&error_highlight.on(parseInt(p[1])-3)}throw Error("Shader execution error")}cc.putImageData(e,0,0),shade=shade_no_error_handling,error_highlight.off()}function drag_start(){dragging=!0,$(this).addClass("dragging")}function drag_stop(){dragging=!1,$(".dragging").removeClass("dragging")}function status(a){$(".status").html(a),console.log(a)}function quiet_status(a){$(".status").html(a)}function new_shader(){shader_id_root=null,run_shader({id:"",shader_id:"",image_url:$("#url").val(),script:"",name:""})}function run_shader(a){console.log(a),shader_id_root=a.shader_id,$("#persist-image:checked").length&&($("#url").val(a.image_url),load()),$("#shader").val(a.script),$("#shader-id").val(a.id),$("#shader-name").val(a.name||""),shader_build()}function load_shaders(a,b){var c=$("#shader-gallery").empty();for(var d in b){var e=display_shader(b[d]);c.append(e)}firsttime&&(firsttime=!1,run_shader(b[0]))}function display_shader(a){var b=$("<div>").addClass("shader");b.data("shader",a),b.data("id",a.id);var c=shader_gallery_template;for(var d in a)c=c.replace("{"+d+"}",a[d]);return b.html(c),a.id&&b.data("id",a.id),b}function save_shader(){shader_id_root=shader_id_root||"";var a={script:$("#shader").val(),image_url:$("#url").val(),username:user.username,name:$("#shader-name").val()||"",shader_id:shader_id_root},b=make_thumbnail();status("saving.."),console.log(a),$.post("http://asdf.us/cgi-bin/im/shader/save",a,function(c){return console.log(c),data=JSON.parse(c),data.ERROR?(status("error saving shader"),alert(data.ERROR),!1):(status("uploading thumbnail"),shader_id_root||(shader_id_root=data.id),a.id=data.id,a.thumbnail_url="http://i.asdf.us/im/9a/chtiny3_1334529294_1334529329.gif",$shader=display_shader(a),$("#shader-gallery").prepend($shader),void save_thumbnail(data.id,b))})}function make_thumbnail(){return dataUriToBlob(cc.clone().resize(200,200).canvas.toDataURL("image/png"))}function save_thumbnail(a,b){if(a&&""!=a){b=b||make_thumbnail();var c=new FormData;c.append("id",a),c.append("qqfile",b),$.ajax({url:"http://asdf.us/cgi-bin/im/shader/thumbnail_upload",type:"POST",data:c,processData:!1,contentType:!1}).done(function(b){console.log(b),status("");var c=JSON.parse(b);c.success&&$(".shader[data-id="+a+"]").find("img").attr("src",c.url)})}}function init(){$("#url").change(load),$("#reset").click(reset),$("#pause").click(pause),$("#step-forward").click(step_forward),$(document).on("mousemove",function(a){mousex=a.pageX,mousey=a.pageY}),$("#toggle-shaders").click(function(){$("#header .form").hide(),$("#shader-api-form").show(),$(".bold").removeClass("bold"),$(this).addClass("bold")}).trigger("click"),$("#toggle-images").click(function(){$("#header .form").hide(),$("#gallery-form").show(),$(".bold").removeClass("bold"),$(this).addClass("bold"),asdf.fetched||$("#gallery-random").trigger("click")}),$(".toggle-off").click(function(){$("#header .form").hide(),$(".bold").removeClass("bold")}),$("#width").change(function(){w=abs(parseInt(this.value,10))||1,cc.canvas.width=w,cc.canvas.height=h}),$("#height").change(function(){h=abs(parseInt(this.value,10))||1,cc.canvas.width=w,cc.canvas.height=h}),$("#show-frame-controls").click(function(){$("#frame-controls").show(),$("#frame-hidden-controls").hide()}),$("#hide-frame-controls").click(function(){$("#frame-controls").hide(),$("#frame-hidden-controls").show()}),$("#reorder-frames").change(function(){var a=$(this).val();switch(console.log(a),a){case"weave-frames":weave_frames();break;case"shuffle-frames":shuffle_frames();break;case"reverse-frames":reverse_frames();break;case"sort-frames":sort_frames();break;default:return}render()}),load(),help.init(),user.init(),frame_editor.init(),shader_gallery.init(),gallery.init(choose),document.getElementById("shader").addEventListener("input",shader_build),requestAnimationFrame(animate)}!function(a,b){return"object"==typeof exports&&"object"==typeof module?b(exports):"function"==typeof define&&define.amd?define(["exports"],b):void b(a.acorn||(a.acorn={}))}(this,function(a){"use strict";function b(a){lb=a||{};for(var b in pb)Object.prototype.hasOwnProperty.call(lb,b)||(lb[b]=pb[b]);ob=lb.sourceFile||null}function c(a,b){var c=qb(mb,a);b+=" ("+c.line+":"+c.column+")";var d=new SyntaxError(b);throw d.pos=a,d.loc=c,d.raisedAt=rb,d}function d(a){function b(a){if(1==a.length)return c+="return str === "+JSON.stringify(a[0])+";";c+="switch(str){";for(var b=0;b<a.length;++b)c+="case "+JSON.stringify(a[b])+":";c+="return true}return false;"}a=a.split(" ");var c="",d=[];a:for(var e=0;e<a.length;++e){for(var f=0;f<d.length;++f)if(d[f][0].length==a[e].length){d[f].push(a[e]);continue a}d.push([a[e]])}if(d.length>3){d.sort(function(a,b){return b.length-a.length}),c+="switch(str.length){";for(var e=0;e<d.length;++e){var g=d[e];c+="case "+g[0].length+":",b(g)}c+="}"}else b(a);return new Function("str",c)}function e(){this.line=zb,this.column=rb-Ab}function f(){zb=1,rb=Ab=0,yb=!0,j()}function g(a,b){tb=rb,lb.locations&&(vb=new e),wb=a,j(),xb=b,yb=a.beforeExpr}function h(){var a=lb.onComment&&lb.locations&&new e,b=rb,d=mb.indexOf("*/",rb+=2);if(-1===d&&c(rb-2,"Unterminated comment"),rb=d+2,lb.locations){Yc.lastIndex=b;for(var f;(f=Yc.exec(mb))&&f.index<rb;)++zb,Ab=f.index+f[0].length}lb.onComment&&lb.onComment(!0,mb.slice(b+2,d),b,rb,a,lb.locations&&new e)}function i(){for(var a=rb,b=lb.onComment&&lb.locations&&new e,c=mb.charCodeAt(rb+=2);nb>rb&&10!==c&&13!==c&&8232!==c&&8233!==c;)++rb,c=mb.charCodeAt(rb);lb.onComment&&lb.onComment(!1,mb.slice(a+2,rb),a,rb,b,lb.locations&&new e)}function j(){for(;nb>rb;){var a=mb.charCodeAt(rb);if(32===a)++rb;else if(13===a){++rb;var b=mb.charCodeAt(rb);10===b&&++rb,lb.locations&&(++zb,Ab=rb)}else if(10===a||8232===a||8233===a)++rb,lb.locations&&(++zb,Ab=rb);else if(a>8&&14>a)++rb;else if(47===a){var b=mb.charCodeAt(rb+1);if(42===b)h();else{if(47!==b)break;i()}}else if(160===a)++rb;else{if(!(a>=5760&&Sc.test(String.fromCharCode(a))))break;++rb}}}function k(){var a=mb.charCodeAt(rb+1);return a>=48&&57>=a?y(!0):(++rb,g(uc))}function l(){var a=mb.charCodeAt(rb+1);return yb?(++rb,v()):61===a?u(yc,2):u(wc,1)}function m(){var a=mb.charCodeAt(rb+1);return 61===a?u(yc,2):u(Kc,1)}function n(a){var b=mb.charCodeAt(rb+1);return b===a?u(124===a?Bc:Cc,2):61===b?u(yc,2):u(124===a?Dc:Fc,1)}function o(){var a=mb.charCodeAt(rb+1);return 61===a?u(yc,2):u(Ec,1)}function p(a){var b=mb.charCodeAt(rb+1);return b===a?45==b&&62==mb.charCodeAt(rb+2)&&Xc.test(mb.slice(Cb,rb))?(rb+=3,i(),j(),t()):u(zc,2):61===b?u(yc,2):u(Jc,1)}function q(a){var b=mb.charCodeAt(rb+1),c=1;return b===a?(c=62===a&&62===mb.charCodeAt(rb+2)?3:2,61===mb.charCodeAt(rb+c)?u(yc,c+1):u(Ic,c)):33==b&&60==a&&45==mb.charCodeAt(rb+2)&&45==mb.charCodeAt(rb+3)?(rb+=4,i(),j(),t()):(61===b&&(c=61===mb.charCodeAt(rb+2)?3:2),u(Hc,c))}function r(a){var b=mb.charCodeAt(rb+1);return 61===b?u(Gc,61===mb.charCodeAt(rb+2)?3:2):u(61===a?xc:Ac,1)}function s(a){switch(a){case 46:return k();case 40:return++rb,g(pc);case 41:return++rb,g(qc);case 59:return++rb,g(sc);case 44:return++rb,g(rc);case 91:return++rb,g(lc);case 93:return++rb,g(mc);case 123:return++rb,g(nc);case 125:return++rb,g(oc);case 58:return++rb,g(tc);case 63:return++rb,g(vc);case 48:var b=mb.charCodeAt(rb+1);if(120===b||88===b)return x();case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return y(!1);case 34:case 39:return z(a);case 47:return l(a);case 37:case 42:return m();case 124:case 38:return n(a);case 94:return o();case 43:case 45:return p(a);case 60:case 62:return q(a);case 61:case 33:return r(a);case 126:return u(Ac,1)}return!1}function t(a){if(a?rb=sb+1:sb=rb,lb.locations&&(ub=new e),a)return v();if(rb>=nb)return g(Mb);var b=mb.charCodeAt(rb);if(Zc(b)||92===b)return C();var d=s(b);if(d===!1){var f=String.fromCharCode(b);if("\\"===f||Vc.test(f))return C();c(rb,"Unexpected character '"+f+"'")}return d}function u(a,b){var c=mb.slice(rb,rb+b);rb+=b,g(a,c)}function v(){for(var a,b,d="",e=rb;;){rb>=nb&&c(e,"Unterminated regular expression");var f=mb.charAt(rb);if(Xc.test(f)&&c(e,"Unterminated regular expression"),a)a=!1;else{if("["===f)b=!0;else if("]"===f&&b)b=!1;else if("/"===f&&!b)break;a="\\"===f}++rb}var d=mb.slice(e,rb);++rb;var h=B();h&&!/^[gmsiy]*$/.test(h)&&c(e,"Invalid regexp flag");try{var i=new RegExp(d,h)}catch(j){j instanceof SyntaxError&&c(e,j.message),c(j)}return g(Jb,i)}function w(a,b){for(var c=rb,d=0,e=0,f=null==b?1/0:b;f>e;++e){var g,h=mb.charCodeAt(rb);if(g=h>=97?h-97+10:h>=65?h-65+10:h>=48&&57>=h?h-48:1/0,g>=a)break;++rb,d=d*a+g}return rb===c||null!=b&&rb-c!==b?null:d}function x(){rb+=2;var a=w(16);return null==a&&c(sb+2,"Expected hexadecimal number"),Zc(mb.charCodeAt(rb))&&c(rb,"Identifier directly after number"),g(Ib,a)}function y(a){var b=rb,d=!1,e=48===mb.charCodeAt(rb);a||null!==w(10)||c(b,"Invalid number"),46===mb.charCodeAt(rb)&&(++rb,w(10),d=!0);var f=mb.charCodeAt(rb);(69===f||101===f)&&(f=mb.charCodeAt(++rb),(43===f||45===f)&&++rb,null===w(10)&&c(b,"Invalid number"),d=!0),Zc(mb.charCodeAt(rb))&&c(rb,"Identifier directly after number");var h,i=mb.slice(b,rb);return d?h=parseFloat(i):e&&1!==i.length?/[89]/.test(i)||Gb?c(b,"Invalid number"):h=parseInt(i,8):h=parseInt(i,10),g(Ib,h)}function z(a){rb++;for(var b="";;){rb>=nb&&c(sb,"Unterminated string constant");var d=mb.charCodeAt(rb);if(d===a)return++rb,g(Kb,b);if(92===d){d=mb.charCodeAt(++rb);var e=/^[0-7]+/.exec(mb.slice(rb,rb+3));for(e&&(e=e[0]);e&&parseInt(e,8)>255;)e=e.slice(0,-1);if("0"===e&&(e=null),++rb,e)Gb&&c(rb-2,"Octal literal in strict mode"),b+=String.fromCharCode(parseInt(e,8)),rb+=e.length-1;else switch(d){case 110:b+="\n";break;case 114:b+="\r";break;case 120:b+=String.fromCharCode(A(2));break;case 117:b+=String.fromCharCode(A(4));break;case 85:b+=String.fromCharCode(A(8));break;case 116:b+=" ";break;case 98:b+="\b";break;case 118:b+=" ";break;case 102:b+="\f";break;case 48:b+="\x00";break;case 13:10===mb.charCodeAt(rb)&&++rb;case 10:lb.locations&&(Ab=rb,++zb);break;default:b+=String.fromCharCode(d)}}else(13===d||10===d||8232===d||8233===d)&&c(sb,"Unterminated string constant"),b+=String.fromCharCode(d),++rb}}function A(a){var b=w(16,a);return null===b&&c(sb,"Bad character escape sequence"),b}function B(){Mc=!1;for(var a,b=!0,d=rb;;){var e=mb.charCodeAt(rb);if($c(e))Mc&&(a+=mb.charAt(rb)),++rb;else{if(92!==e)break;Mc||(a=mb.slice(d,rb)),Mc=!0,117!=mb.charCodeAt(++rb)&&c(rb,"Expecting Unicode escape sequence \\uXXXX"),++rb;var f=A(4),g=String.fromCharCode(f);g||c(rb-1,"Invalid Unicode escape"),(b?Zc(f):$c(f))||c(rb-4,"Invalid Unicode escape"),a+=g}b=!1}return Mc?a:mb.slice(d,rb)}function C(){var a=B(),b=Lb;return Mc||(Rc(a)?b=kc[a]:(lb.forbidReserved&&(3===lb.ecmaVersion?Nc:Oc)(a)||Gb&&Pc(a))&&c(sb,"The keyword '"+a+"' is reserved")),g(b,a)}function D(){Bb=sb,Cb=tb,Db=vb,t()}function E(a){if(Gb=a,rb=sb,lb.locations)for(;Ab>rb;)Ab=mb.lastIndexOf("\n",Ab-2)+1,--zb;j(),t()}function F(){this.type=null,this.start=sb,this.end=null}function G(){this.start=ub,this.end=null,null!==ob&&(this.source=ob)}function H(){var a=new F;return lb.locations&&(a.loc=new G),lb.directSourceFile&&(a.sourceFile=lb.directSourceFile),lb.ranges&&(a.range=[sb,0]),a}function I(a){var b=new F;return b.start=a.start,lb.locations&&(b.loc=new G,b.loc.start=a.loc.start),lb.ranges&&(b.range=[a.range[0],0]),b}function J(a,b){return a.type=b,a.end=Cb,lb.locations&&(a.loc.end=Db),lb.ranges&&(a.range[1]=Cb),a}function K(a){return lb.ecmaVersion>=5&&"ExpressionStatement"===a.type&&"Literal"===a.expression.type&&"use strict"===a.expression.value}function L(a){return wb===a?(D(),!0):void 0}function M(){return!lb.strictSemicolons&&(wb===Mb||wb===oc||Xc.test(mb.slice(Cb,sb)))}function N(){L(sc)||M()||P()}function O(a){wb===a?D():P()}function P(){c(sb,"Unexpected token")}function Q(a){"Identifier"!==a.type&&"MemberExpression"!==a.type&&c(a.start,"Assigning to rvalue"),Gb&&"Identifier"===a.type&&Qc(a.name)&&c(a.start,"Assigning to "+a.name+" in strict mode")}function R(a){Bb=Cb=rb,lb.locations&&(Db=new e),Eb=Gb=null,Fb=[],t();var b=a||H(),c=!0;for(a||(b.body=[]);wb!==Mb;){var d=S();b.body.push(d),c&&K(d)&&E(!0),c=!1}return J(b,"Program")}function S(){(wb===wc||wb===yc&&"/="==xb)&&t(!0);var a=wb,b=H();switch(a){case Nb:case Qb:D();var d=a===Nb;L(sc)||M()?b.label=null:wb!==Lb?P():(b.label=kb(),N());for(var e=0;e<Fb.length;++e){var f=Fb[e];if(null==b.label||f.name===b.label.name){if(null!=f.kind&&(d||"loop"===f.kind))break;if(b.label&&d)break}}return e===Fb.length&&c(b.start,"Unsyntactic "+a.keyword),J(b,d?"BreakStatement":"ContinueStatement");case Rb:return D(),N(),J(b,"DebuggerStatement");case Tb:return D(),Fb.push(_c),b.body=S(),Fb.pop(),O(cc),b.test=T(),N(),J(b,"DoWhileStatement");case Wb:if(D(),Fb.push(_c),O(pc),wb===sc)return V(b,null);if(wb===bc){var g=H();return D(),X(g,!0),J(g,"VariableDeclaration"),1===g.declarations.length&&L(jc)?W(b,g):V(b,g)}var g=Y(!1,!0);return L(jc)?(Q(g),W(b,g)):V(b,g);case Xb:return D(),ib(b,!0);case Yb:return D(),b.test=T(),b.consequent=S(),b.alternate=L(Ub)?S():null,J(b,"IfStatement");case Zb:return Eb||c(sb,"'return' outside of function"),D(),L(sc)||M()?b.argument=null:(b.argument=Y(),N()),J(b,"ReturnStatement");case $b:D(),b.discriminant=T(),b.cases=[],O(nc),Fb.push(ad);for(var h,i;wb!=oc;)if(wb===Ob||wb===Sb){var j=wb===Ob;h&&J(h,"SwitchCase"),b.cases.push(h=H()),h.consequent=[],D(),j?h.test=Y():(i&&c(Bb,"Multiple default clauses"),i=!0,h.test=null),O(tc)}else h||P(),h.consequent.push(S());return h&&J(h,"SwitchCase"),D(),Fb.pop(),J(b,"SwitchStatement");case _b:return D(),Xc.test(mb.slice(Cb,sb))&&c(Cb,"Illegal newline after throw"),b.argument=Y(),N(),J(b,"ThrowStatement");case ac:if(D(),b.block=U(),b.handler=null,wb===Pb){var k=H();D(),O(pc),k.param=kb(),Gb&&Qc(k.param.name)&&c(k.param.start,"Binding "+k.param.name+" in strict mode"),O(qc),k.guard=null,k.body=U(),b.handler=J(k,"CatchClause")}return b.guardedHandlers=Hb,b.finalizer=L(Vb)?U():null,b.handler||b.finalizer||c(b.start,"Missing catch or finally clause"),J(b,"TryStatement");case bc:return D(),X(b),N(),J(b,"VariableDeclaration");case cc:return D(),b.test=T(),Fb.push(_c),b.body=S(),Fb.pop(),J(b,"WhileStatement");case dc:return Gb&&c(sb,"'with' in strict mode"),D(),b.object=T(),b.body=S(),J(b,"WithStatement");case nc:return U();case sc:return D(),J(b,"EmptyStatement");default:var l=xb,m=Y();if(a===Lb&&"Identifier"===m.type&&L(tc)){for(var e=0;e<Fb.length;++e)Fb[e].name===l&&c(m.start,"Label '"+l+"' is already declared");var n=wb.isLoop?"loop":wb===$b?"switch":null;return Fb.push({name:l,kind:n}),b.body=S(),Fb.pop(),b.label=m,J(b,"LabeledStatement")}return b.expression=m,N(),J(b,"ExpressionStatement")}}function T(){O(pc);var a=Y();return O(qc),a}function U(a){var b,c=H(),d=!0,e=!1;for(c.body=[],O(nc);!L(oc);){var f=S();c.body.push(f),d&&a&&K(f)&&(b=e,E(e=!0)),d=!1}return e&&!b&&E(!1),J(c,"BlockStatement")}function V(a,b){return a.init=b,O(sc),a.test=wb===sc?null:Y(),O(sc),a.update=wb===qc?null:Y(),O(qc),a.body=S(),Fb.pop(),J(a,"ForStatement")}function W(a,b){return a.left=b,a.right=Y(),O(qc),a.body=S(),Fb.pop(),J(a,"ForInStatement")}function X(a,b){for(a.declarations=[],a.kind="var";;){var d=H();if(d.id=kb(),Gb&&Qc(d.id.name)&&c(d.id.start,"Binding "+d.id.name+" in strict mode"),d.init=L(xc)?Y(!0,b):null,a.declarations.push(J(d,"VariableDeclarator")),!L(rc))break}return a}function Y(a,b){var c=Z(b);if(!a&&wb===rc){var d=I(c);for(d.expressions=[c];L(rc);)d.expressions.push(Z(b));return J(d,"SequenceExpression")}return c}function Z(a){var b=$(a);if(wb.isAssign){var c=I(b);return c.operator=xb,c.left=b,D(),c.right=Z(a),Q(b),J(c,"AssignmentExpression")}return b}function $(a){var b=_(a);if(L(vc)){var c=I(b);return c.test=b,c.consequent=Y(!0),O(tc),c.alternate=Y(!0,a),J(c,"ConditionalExpression")}return b}function _(a){return ab(bb(),-1,a)}function ab(a,b,c){var d=wb.binop;if(null!=d&&(!c||wb!==jc)&&d>b){var e=I(a);e.left=a,e.operator=xb;var f=wb;D(),e.right=ab(bb(),d,c);var g=J(e,f===Bc||f===Cc?"LogicalExpression":"BinaryExpression");return ab(g,b,c)}return a}function bb(){if(wb.prefix){var a=H(),b=wb.isUpdate;return a.operator=xb,a.prefix=!0,yb=!0,D(),a.argument=bb(),b?Q(a.argument):Gb&&"delete"===a.operator&&"Identifier"===a.argument.type&&c(a.start,"Deleting local variable in strict mode"),J(a,b?"UpdateExpression":"UnaryExpression")}for(var d=cb();wb.postfix&&!M();){var a=I(d);a.operator=xb,a.prefix=!1,a.argument=d,Q(d),D(),d=J(a,"UpdateExpression")}return d}function cb(){return db(eb())}function db(a,b){if(L(uc)){var c=I(a);return c.object=a,c.property=kb(!0),c.computed=!1,db(J(c,"MemberExpression"),b)}if(L(lc)){var c=I(a);return c.object=a,c.property=Y(),c.computed=!0,O(mc),db(J(c,"MemberExpression"),b)}if(!b&&L(pc)){var c=I(a);return c.callee=a,c.arguments=jb(qc,!1),db(J(c,"CallExpression"),b)}return a}function eb(){switch(wb){case fc:var a=H();return D(),J(a,"ThisExpression");case Lb:return kb();case Ib:case Kb:case Jb:var a=H();return a.value=xb,a.raw=mb.slice(sb,tb),D(),J(a,"Literal");case gc:case hc:case ic:var a=H();
+return a.value=wb.atomValue,a.raw=wb.keyword,D(),J(a,"Literal");case pc:var b=ub,c=sb;D();var d=Y();return d.start=c,d.end=tb,lb.locations&&(d.loc.start=b,d.loc.end=vb),lb.ranges&&(d.range=[c,tb]),O(qc),d;case lc:var a=H();return D(),a.elements=jb(mc,!0,!0),J(a,"ArrayExpression");case nc:return gb();case Xb:var a=H();return D(),ib(a,!1);case ec:return fb();default:P()}}function fb(){var a=H();return D(),a.callee=db(eb(),!0),a.arguments=L(pc)?jb(qc,!1):Hb,J(a,"NewExpression")}function gb(){var a=H(),b=!0,d=!1;for(a.properties=[],D();!L(oc);){if(b)b=!1;else if(O(rc),lb.allowTrailingCommas&&L(oc))break;var e,f={key:hb()},g=!1;if(L(tc)?(f.value=Y(!0),e=f.kind="init"):lb.ecmaVersion>=5&&"Identifier"===f.key.type&&("get"===f.key.name||"set"===f.key.name)?(g=d=!0,e=f.kind=f.key.name,f.key=hb(),wb!==pc&&P(),f.value=ib(H(),!1)):P(),"Identifier"===f.key.type&&(Gb||d))for(var h=0;h<a.properties.length;++h){var i=a.properties[h];if(i.key.name===f.key.name){var j=e==i.kind||g&&"init"===i.kind||"init"===e&&("get"===i.kind||"set"===i.kind);j&&!Gb&&"init"===e&&"init"===i.kind&&(j=!1),j&&c(f.key.start,"Redefinition of property")}}a.properties.push(f)}return J(a,"ObjectExpression")}function hb(){return wb===Ib||wb===Kb?eb():kb(!0)}function ib(a,b){wb===Lb?a.id=kb():b?P():a.id=null,a.params=[];var d=!0;for(O(pc);!L(qc);)d?d=!1:O(rc),a.params.push(kb());var e=Eb,f=Fb;if(Eb=!0,Fb=[],a.body=U(!0),Eb=e,Fb=f,Gb||a.body.body.length&&K(a.body.body[0]))for(var g=a.id?-1:0;g<a.params.length;++g){var h=0>g?a.id:a.params[g];if((Pc(h.name)||Qc(h.name))&&c(h.start,"Defining '"+h.name+"' in strict mode"),g>=0)for(var i=0;g>i;++i)h.name===a.params[i].name&&c(h.start,"Argument name clash in strict mode")}return J(a,b?"FunctionDeclaration":"FunctionExpression")}function jb(a,b,c){for(var d=[],e=!0;!L(a);){if(e)e=!1;else if(O(rc),b&&lb.allowTrailingCommas&&L(a))break;d.push(c&&wb===rc?null:Y(!0))}return d}function kb(a){var b=H();return b.name=wb===Lb?xb:a&&!lb.forbidReserved&&wb.keyword||P(),yb=!1,D(),J(b,"Identifier")}a.version="0.4.1";var lb,mb,nb,ob;a.parse=function(a,c){return mb=String(a),nb=mb.length,b(c),f(),R(lb.program)};var pb=a.defaultOptions={ecmaVersion:5,strictSemicolons:!1,allowTrailingCommas:!0,forbidReserved:!1,locations:!1,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null},qb=a.getLineInfo=function(a,b){for(var c=1,d=0;;){Yc.lastIndex=d;var e=Yc.exec(a);if(!(e&&e.index<b))break;++c,d=e.index+e[0].length}return{line:c,column:b-d}};a.tokenize=function(a,c){function d(a){return Cb=tb,t(a),e.start=sb,e.end=tb,e.startLoc=ub,e.endLoc=vb,e.type=wb,e.value=xb,e}mb=String(a),nb=mb.length,b(c),f();var e={};return d.jumpTo=function(a,b){if(rb=a,lb.locations){zb=1,Ab=Yc.lastIndex=0;for(var c;(c=Yc.exec(mb))&&c.index<a;)++zb,Ab=c.index+c[0].length}yb=b,j()},d};var rb,sb,tb,ub,vb,wb,xb,yb,zb,Ab,Bb,Cb,Db,Eb,Fb,Gb,Hb=[],Ib={type:"num"},Jb={type:"regexp"},Kb={type:"string"},Lb={type:"name"},Mb={type:"eof"},Nb={keyword:"break"},Ob={keyword:"case",beforeExpr:!0},Pb={keyword:"catch"},Qb={keyword:"continue"},Rb={keyword:"debugger"},Sb={keyword:"default"},Tb={keyword:"do",isLoop:!0},Ub={keyword:"else",beforeExpr:!0},Vb={keyword:"finally"},Wb={keyword:"for",isLoop:!0},Xb={keyword:"function"},Yb={keyword:"if"},Zb={keyword:"return",beforeExpr:!0},$b={keyword:"switch"},_b={keyword:"throw",beforeExpr:!0},ac={keyword:"try"},bc={keyword:"var"},cc={keyword:"while",isLoop:!0},dc={keyword:"with"},ec={keyword:"new",beforeExpr:!0},fc={keyword:"this"},gc={keyword:"null",atomValue:null},hc={keyword:"true",atomValue:!0},ic={keyword:"false",atomValue:!1},jc={keyword:"in",binop:7,beforeExpr:!0},kc={"break":Nb,"case":Ob,"catch":Pb,"continue":Qb,"debugger":Rb,"default":Sb,"do":Tb,"else":Ub,"finally":Vb,"for":Wb,"function":Xb,"if":Yb,"return":Zb,"switch":$b,"throw":_b,"try":ac,"var":bc,"while":cc,"with":dc,"null":gc,"true":hc,"false":ic,"new":ec,"in":jc,"instanceof":{keyword:"instanceof",binop:7,beforeExpr:!0},"this":fc,"typeof":{keyword:"typeof",prefix:!0,beforeExpr:!0},"void":{keyword:"void",prefix:!0,beforeExpr:!0},"delete":{keyword:"delete",prefix:!0,beforeExpr:!0}},lc={type:"[",beforeExpr:!0},mc={type:"]"},nc={type:"{",beforeExpr:!0},oc={type:"}"},pc={type:"(",beforeExpr:!0},qc={type:")"},rc={type:",",beforeExpr:!0},sc={type:";",beforeExpr:!0},tc={type:":",beforeExpr:!0},uc={type:"."},vc={type:"?",beforeExpr:!0},wc={binop:10,beforeExpr:!0},xc={isAssign:!0,beforeExpr:!0},yc={isAssign:!0,beforeExpr:!0},zc={postfix:!0,prefix:!0,isUpdate:!0},Ac={prefix:!0,beforeExpr:!0},Bc={binop:1,beforeExpr:!0},Cc={binop:2,beforeExpr:!0},Dc={binop:3,beforeExpr:!0},Ec={binop:4,beforeExpr:!0},Fc={binop:5,beforeExpr:!0},Gc={binop:6,beforeExpr:!0},Hc={binop:7,beforeExpr:!0},Ic={binop:8,beforeExpr:!0},Jc={binop:9,prefix:!0,beforeExpr:!0},Kc={binop:10,beforeExpr:!0};a.tokTypes={bracketL:lc,bracketR:mc,braceL:nc,braceR:oc,parenL:pc,parenR:qc,comma:rc,semi:sc,colon:tc,dot:uc,question:vc,slash:wc,eq:xc,name:Lb,eof:Mb,num:Ib,regexp:Jb,string:Kb};for(var Lc in kc)a.tokTypes["_"+Lc]=kc[Lc];var Mc,Nc=d("abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile"),Oc=d("class enum extends super const export import"),Pc=d("implements interface let package private protected public static yield"),Qc=d("eval arguments"),Rc=d("break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this"),Sc=/[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/,Tc="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",Uc="̀-ͯ҃-֑҇-ׇֽֿׁׂׅׄؐ-ؚؠ-ىٲ-ۓۧ-ۨۻ-ۼܰ-݊ࠀ-ࠔࠛ-ࠣࠥ-ࠧࠩ-࠭ࡀ-ࡗࣤ-ࣾऀ-ःऺ-़ा-ॏ॑-ॗॢ-ॣ०-९ঁ-ঃ়া-ৄেৈৗয়-ৠਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢ-ૣ૦-૯ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୟ-ୠ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఁ-ఃె-ైొ-్ౕౖౢ-ౣ౦-౯ಂಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢ-ೣ೦-೯ംഃെ-ൈൗൢ-ൣ൦-൯ංඃ්ා-ුූෘ-ෟෲෳิ-ฺเ-ๅ๐-๙ິ-ູ່-ໍ໐-໙༘༙༠-༩༹༵༷ཁ-ཇཱ-྄྆-྇ྍ-ྗྙ-ྼ࿆က-ဩ၀-၉ၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟ᜎ-ᜐᜠ-ᜰᝀ-ᝐᝲᝳក-ឲ៝០-៩᠋-᠍᠐-᠙ᤠ-ᤫᤰ-᤻ᥑ-ᥭᦰ-ᧀᧈ-ᧉ᧐-᧙ᨀ-ᨕᨠ-ᩓ᩠-᩿᩼-᪉᪐-᪙ᭆ-ᭋ᭐-᭙᭫-᭳᮰-᮹᯦-᯳ᰀ-ᰢ᱀-᱉ᱛ-ᱽ᳐-᳒ᴀ-ᶾḁ-ἕ‌‍‿⁀⁔⃐-⃥⃜⃡-⃰ⶁ-ⶖⷠ-ⷿ〡-〨゙゚Ꙁ-ꙭꙴ-꙽ꚟ꛰-꛱ꟸ-ꠀ꠆ꠋꠣ-ꠧꢀ-ꢁꢴ-꣄꣐-꣙ꣳ-ꣷ꤀-꤉ꤦ-꤭ꤰ-ꥅꦀ-ꦃ꦳-꧀ꨀ-ꨧꩀ-ꩁꩌ-ꩍ꩐-꩙ꩻꫠ-ꫩꫲ-ꫳꯀ-ꯡ꯬꯭꯰-꯹ﬠ-ﬨ︀-️︠-︦︳︴﹍-﹏0-9_",Vc=new RegExp("["+Tc+"]"),Wc=new RegExp("["+Tc+Uc+"]"),Xc=/[\n\r\u2028\u2029]/,Yc=/\r\n|[\n\r\u2028\u2029]/g,Zc=a.isIdentifierStart=function(a){return 65>a?36===a:91>a?!0:97>a?95===a:123>a?!0:a>=170&&Vc.test(String.fromCharCode(a))},$c=a.isIdentifierChar=function(a){return 48>a?36===a:58>a?!0:65>a?!1:91>a?!0:97>a?95===a:123>a?!0:a>=170&&Wc.test(String.fromCharCode(a))},_c={kind:"loop"},ad={kind:"switch"}}),function(a,b,c,d){function e(d){if(!c[d]){if(!b[d]){if(a)return a(d);throw new Error("Cannot find module '"+d+"'")}var f=c[d]={exports:{}};b[d][0](function(a){var c=b[d][1][a];return e(c?c:a)},f,f.exports)}return c[d].exports}for(var f=0;f<d.length;f++)e(d[f]);return e}("undefined"!=typeof require&&require,{1:[function(a){var b=a("../../benchmark"),c=a("../../tube"),d=a("../../bufferloader"),e=a("./decode"),f=a("./render-canvas"),g=function(a){var d=Object.create(g.proto);return d.buf={},d.tube=c(),d.benchmark=b(),a instanceof File?d.src=a:"string"==typeof a&&(d.src=a),d};g.proto={},g.setupBuffers=function(a,b){a.buf.cursor=0,a.buf.abuf=b,a.buf.u8=new Uint8Array(b),a.buf.dv=new DataView(b)},g.proto.on=function(){var a=this;a.tube.on.apply(a.tube,arguments)},g.proto.off=function(){var a=this;a.tube.off.apply(a.tube,arguments)},g.proto.load=function(){var a=this;a.loader=d(a.src,{benchmark:a.benchmark}),a.loader.on("load",function(b){g.setupBuffers(a,b),a.loaded=!0,a.tube("loaded")}),a.loader.on("error",function(b,c){a.tube("error",b,c)}),a.loader.load()},g.proto.decode=function(){var a=this;return a.loaded?(a.extensions=[],a.frames=[],void e(a)):(a.on("loaded",a.decode.bind(a)),a.load(),a)},g.proto.render=function(){var a=this;return a.decoded?void f(a):(a.on("decoded",a.render.bind(a)),a.decode(),a)},"undefined"!=typeof modules&&(modules.exports=g),"undefined"!=typeof window&&(window.GIF=g)},{"../../benchmark":2,"../../tube":3,"../../bufferloader":4,"./decode":5,"./render-canvas":6}],2:[function(a,b){var c=function(){var a=Object.create(c.proto);return a.total=0,a};c.proto={},c.proto.start=function(a){this[a+"_start_timestamp"]=Date.now()},c.proto.stop=function(a){if(this[a+"_start_timestamp"]){var b=Date.now()-this[a+"_start_timestamp"];delete this[a+"_start_timestamp"],this[a]=b+(this[a]||0),this.total+=b}},b.exports=c},{}],3:[function(a,b){var c=a("./object/setproto"),d=a("./string/tokenize"),e=a("./string/globber"),f=a("./uid"),g=a("./nexttick"),h={},i=function(a){if(a=a||{},a.queue)var b=function(){var a=arguments;return g(function(){b.send.apply(b,a)}),b};else var b=function(){return b.send.apply(b,arguments),b};return c(b,i.proto),b.listeners={},b.globListeners={},b};i.total={},i.proto={},i.proto.on=function(){var a=this;if("string"==typeof arguments[0]){var b={};b[arguments[0]]=arguments[1];{arguments[2]||{}}}else{var b=arguments[0];arguments[1]||{}}for(var c in b){var d=c.split(" "),e=b[c];Array.isArray(e)||(e=[e]);for(var g,h=0;g=e[h];h++)g.uid||(g.uid=f());for(var i,h=0;i=d[h];h++){var j=-1===i.indexOf("*")?a.listeners:a.globListeners;j[i]=i in j?j[i].concat(e):e.concat()}}return a},i.proto.off=function(){var a,b,c,d,e=this;if(0===arguments.length)return e.listeners={},e.globListeners={},e;if(1===arguments.length&&"string"==typeof arguments[0]){for(c=arguments[0].split(" "),b=0;d=c[b];b++)delete e.listeners[d],delete e.globListeners[d];return e}if("function"==typeof arguments[0]||Array.isArray(arguments[0])){var f="function"==typeof arguments[0]?[arguments[0]]:arguments[0];return e}if(arguments.length>1){var g={};g[arguments[0]]=arguments[1]}else var g=arguments[0];for(var h in g){c=h.split(" ");var f=g[h];"function"==typeof f&&(f=[f]);for(var b=0;d=c[b];b++){if(d in e.listeners)a=e.listeners;else{if(!(d in e.globListeners))continue;a=e.globListeners}a[d]=a[d].filter(function(a){return-1===f.indexOf(a)})}}return e},i.proto.send=function(a){i.total[a]||(i.total[a]=0),i.total[a]+=1;var b,c,f,g=this.listeners,j=this.globListeners,k=d(a);if(arguments.length){var l=Array.prototype.splice.call(arguments,1);l.push(a)}else var l=[];for(var m=0;c=k[m];m++){var n={},o={};if(b=g[c])for(var p=0;f=b[p];p++)n[f.uid]=f,o[f.uid]=c;var q=c.split(":");for(var r in j){if("*"!==r){var s=h[r]||(h[r]=r.split(":"));if(!e(s,q))continue}b=j[r];for(var p=0;f=b[p];p++)n[f.uid]=f,o[f.uid]=c}var t=[];for(var f in n)t.push(n[f]);for(var f,p=0;f=t[p];p++)f.apply(f,l)}return this},b.exports=i},{"./object/setproto":7,"./string/tokenize":8,"./string/globber":9,"./uid":10,"./nexttick":11}],7:[function(a,b){var c=function(a,b){if(a.__proto__)a.__proto__=b;else for(var c in b)a[c]=b[c]};b.exports=c},{}],8:[function(a,b){var c=function(a,b){return a.trim().split(b||c.default)};c.default=/\s+/g,b.exports=c},{}],9:[function(a,b){var c=function(a,b){var d,e=a[0],f=a.slice(1),g=b.length;if("*"===e){for(var h=0;g>=h;++h)if(c(f,b.slice(h)))return!0;return!1}return d=e===b[0],d&&(!f.length&&!g||c(f,b.slice(1)))};b.exports=c},{}],10:[function(a,b){var c=function(){return c.counter++ +""};c.counter=1,b.exports=c},{}],11:[function(a,b){if(window.ActiveXObject||!window.postMessage)var c=function(a){setTimeout(a,0)};else{var d=[],e="next-tick-zero-timeout";window.addEventListener("message",function(a){a.source==window&&a.data==e&&(a.stopPropagation&&a.stopPropagation(),d.length&&d.shift()())},!0);var c=function(a){d.push(a),window.postMessage(e,"*")}}b.exports=c},{}],4:[function(a,b){var c=(a("./benchmark"),a("./object/setproto")),d=a("./object/extend"),e=a("./tube"),f=function(a,b){var d=e();return c(d,f.proto),b&&b.benchmark&&(d.benchmark=b.benchmark),d.src=a,d};f.proto={},d(f.proto,e.proto),f.proto.load=function(){var a=this,b=a.src;"string"==typeof b?a.loadFromUrl(b):b instanceof File?a.loadFromFile(b):b instanceof ArrayBuffer&&a("load",b)},f.proto.loadFromFile=function(a){var b=this,c=new FileReader;c.addEventListener("load",function(a){b.benchmark&&b.benchmark.stop("fetch-from-disk"),b("load",c.result,a)}),c.addEventListener("error",function(a){b("error",a,c)}),c.addEventListener("progress",function(a){b("progress",a)}),b.benchmark&&b.benchmark.start("fetch-from-disk"),c.readAsArrayBuffer(a)},f.proto.loadFromUrl=function(a){var b=this,c=new XMLHttpRequest;c.open("GET",a),c.responseType="arraybuffer",c.addEventListener("load",function(a){b.benchmark&&b.benchmark.stop("fetch-from-network"),b("load",c.response,a)}),c.addEventListener("error",function(a){b("error",a,c)}),c.addEventListener("progress",function(a){b("progress",a)}),b.benchmark&&b.benchmark.start("fetch-from-network"),c.send()},b.exports=f},{"./benchmark":2,"./object/setproto":7,"./object/extend":12,"./tube":3}],12:[function(a,b){b.exports=function(a,b){for(var c in b)a[c]=b[c];return a}},{}],5:[function(a,b){!function(){var c=a("./spec").blockSigs,d=a("./spec").extSigs,e=a("./palette"),f=a("./animate").makeCurrentFrame,g=a("../../binaryspec"),h=a("./spec").spec,i=g(h),j=function(a){k(a)},k=function(a,b){b=b||"header";for(var c=a.buf;"done"!==b&&"error"!==b;)if(b in l&&"function"==typeof l[b])b=l[b](a);else{var d=i.parts[b].byteSize;if(c.abuf.byteLength<d+c.cursor)return void(a.waitingForFileBuffer=!0);var g=i.decodeBinaryFieldsToJSON(b,c.cursor,c);c.cursor+=i.parts[b].byteSize,b=m[b](a,g)}return"done"===b?(a.benchmark&&a.benchmark.start("palette"),a.paletteTotal=e.create(a),a.benchmark&&a.benchmark.stop("palette"),f.bind(a)(),a.decoded=!0,void a.tube("decoded")):void 0},l={globalPalette:function(a){var b=a.buf,c=3*a.paletteSize;return b.abuf.byteLength<b.cursor+c?void(a.waitingForFileBuffer=!0):(a.palette=e.binary2rgba(new Uint8Array(b.abuf,b.cursor,c)),b.cursor+=c,"dataBlock")},localPalette:function(a){var b=a.buf,c=3*a.frames[a.frames.length-1].paletteSize;return b.abuf.byteLength<b.cursor+c?void(a.waitingForFileBuffer=!0):(a.frames[a.frames.length-1].palette=e.binary2rgba(new Uint8Array(b.abuf,b.cursor,c)),b.cursor+=c,"imageData")},dataBlock:function(a){var b=a.buf;if(b.abuf.byteLength<b.cursor+1)return void(a.waitingForFileBuffer=!0);var e,f="unknown",g="unknown",h=b.u8[b.cursor];if(h in c?f=c[h]:e="done","extension"===f){if(b.abuf.byteLength<b.cursor+2)return void(a.waitingForFileBuffer=!0);var i=b.u8[b.cursor+1];i in d?(g=d[i],e=g):e="done"}else"unknown"===f&&(f="dataBlock",b.cursor+=1),e=f;return e},trailer:function(){return"done"}},m={header:function(a,b){return"GIF"!=b.signature?(a.tube("error","file doesn't seem to be a gif (file signature: '"+b.signature+"')"),"error"):"screenDesc"},screenDesc:function(a,b){for(var c in b)a[c]=b[c];return a.paletteSize=(a.paletteSize[0]<<2)+(a.paletteSize[1]<<1)+a.paletteSize[2],a.paletteSize=Math.pow(2,a.paletteSize+1),a.paletteExists?"globalPalette":"dataBlock"},imageDesc:function(a,b){(!a.frames.length||"w"in a.frames[a.frames.length-1])&&a.frames.push({});var c=a.frames[a.frames.length-1];for(var d in b)c[d]=b[d];return c.paletteSize=(c.paletteSize[0]<<2)+(c.paletteSize[1]<<1)+c.paletteSize[2],c.paletteSize=Math.pow(2,c.paletteSize+1),c.paletteExists?"localPalette":"imageData"},applicationExtension:function(a,b){var c=n(a);if(c===!1)return a.waitingForFileBuffer=!0,void(a.buf.cursor-=i.parts.applicationExtension.byteSize);var d={data:c};for(var e in b)d[e]=b[e];return a.extensions.push(d),"dataBlock"},comment:function(a,b){var c=n(a);if(c===!1)return a.waitingForFileBuffer=!0,void(a.buf.cursor-=i.parts.comment.byteSize);var d={comment:c};for(var e in b)d[e]=b[e];return a.extensions.push(d),"dataBlock"},plainText:function(a,b){var c=n(a);if(c===!1)return a.waitingForFileBuffer=!0,void(a.buf.cursor-=i.parts.plainText.byteSize);var d={plainText:c};for(var e in b)d[e]=b[e];return a.extensions.push(d),"dataBlock"},graphicControl:function(a,b){var c=(b.disposalMethod[0]<<2)+(b.disposalMethod[1]<<1)+b.disposalMethod[2];return a.frames.push({delay:b.delay,transparentIndex:b.transparentColor?b.transparentIndex:-1,disposalMethod:c}),"dataBlock"},imageData:function(a,b){var c=n(a);if(c===!1)return a.waitingForFileBuffer=!0,a.buf.cursor-=i.parts.imageData.byteSize,void console.log("fucked");var d=a.frames[a.frames.length-1];return d.lzwCodeSize=b.lzwCodeSize,d.blockinfo=c,"dataBlock"}},n=function(a){a.benchmark&&a.benchmark.start("read-subblocks");var b=[],c=a.buf,d=c.u8,e=d.byteLength,f=c.cursor,g=c.cursor;f+=1;for(var h=0,i=!1,j=0;!i;){if(g+1>e){i=!0;break}if(h=d[g],g+=1,0===h){j+=1;break}if(g+h>e){i=!0;break}b.push(g+h),g+=h,j+=h+1}return i?(console.log("out of data"),!1):(c.cursor+=j,a.benchmark&&a.benchmark.stop("read-subblocks"),{start:f,blockEnds:b})};b.exports=j}()},{"./spec":13,"./palette":14,"./animate":15,"../../binaryspec":16}],13:[function(a,b,c){var d={33:"extension",44:"imageDesc",59:"trailer"};c.blockSigs=d;var e={249:"graphicControl",254:"comment",1:"plainText",255:"applicationExtension"};c.extSigs=e;var f={header:["str[3] signature","str[3] version"],screenDesc:["u16 w","u16 h","bit paletteExists","bit[3] resolution ignore","bit sortFlag ignore","bit[3] paletteSize","u8 bgColorIndex","u8 aspectRatio ignore"],imageDesc:["u8 sig ignore","u16 x","u16 y","u16 w","u16 h","bit paletteExists","bit interlaced","bit sortFlag","bit[2] reserved ignore","bit[3] paletteSize"],applicationExtension:["u8 sig ignore","u8 extSig ignore","u8 blockSize ignore","str[8] identifier","str[3] authCode ignore"],graphicControl:["u8 sig ignore","u8 extSig ignore","u8 blockSize ignore","bit[3] reserved ignore","bit[3] disposalMethod","bit userInput ignore","bit transparentColor","u16 delay","u8 transparentIndex","u8 blockTerminator ignore"],comment:["u8 sig ignore","u8 extSig ignore"],plainText:["u8 sig ignore","u8 extSig ignore","u8 blockSize","u16 textGridLeft","u16 textGridTop","u16 textGridWidth","u16 textGridHeight","u8 charCellWidth","u8 charCellHeight","u8 fgColorIndex","u8 bgColorIndex"],imageData:["u8 lzwCodeSize"]};c.spec=f},{}],14:[function(a,b){!function(){var c=a("../../color/rgba2css"),d=(a("../../create/2d"),a("../../create/imagedata")),e={};e.binary2rgba=function(a){for(var b=new Uint8Array(a.byteLength/3*4),c=0,d=0,e=a.byteLength/3*4;e>d;d+=4)b[d]=a[c],b[d+1]=a[c+1],b[d+2]=a[c+2],b[d+3]=255,c+=3;return b},e.create=function(a){var b={0:0},e=["rgba(0,0,0,0)"],f=[[0,0,0,0]],g=function(a){for(var d=0,g=a.length;g>d;d+=4){var h=a[d+3];if(0!==h){var i=a[d],j=a[d+1],k=a[d+2],l=(i|j<<8|k<<16|h<<24).toString();if(!(l in b)){b[l]=f.length;var m=[i,j,k,h];f.push(m),e.push(c(m))}}}};"palette"in a&&g(a.palette);for(var h=0;h<a.frames.length;h++){var i=a.frames[h];"palette"in i&&g(i.palette)}for(var j=d(f.length,1),k=0,l=4*f.length,m=j.data;l>k;k+=4){var n=f[k/4];m[k]=n[0],m[k+1]=n[1],m[k+2]=n[2],m[k+3]=n[3]}return{rgba2Index:b,index2Rgba:f,index2Css:e,imagedata:j,length:f.length}},b.exports=e}()},{"../../color/rgba2css":17,"../../create/2d":18,"../../create/imagedata":19}],17:[function(a,b){var c=function(a){return"rgba("+a[0]+","+a[1]+","+a[2]+","+a[3]+")"};b.exports=c},{}],18:[function(a,b){var c=function(a,b){var c=document.createElement("canvas");return c.width=a||0,c.height=b||0,c.getContext("2d")};"undefined"!=typeof b&&(b.exports=c)},{}],19:[function(a,b){var c=function d(a,b){return d.ctx.createImageData(a,b)};c.ctx=document.createElement("canvas").getContext("2d"),"undefined"!=typeof b&&(b.exports=c)},{}],15:[function(a,b,c){var d=function(){var a=100;1===this.frames.length&&(this.currentFrame=function(){return 0});for(var b=0,c=[],d=0;d<this.frames.length;d++){var f=this.frames[d],g="delay"in f&&f.delay>0?10*f.delay:a;b+=g,c.push(b)}this.currentFrame=e(c)},e=function(a){var b=a[a.length-1];return function(c){for(var d=(c||Date.now())%b,e=0;e<a.length;e++)if(d<a[e])return e;return e}};c.makeCurrentFrame=d},{}],16:[function(a,b){var c=a("./string/tokenize"),d=a("../deps/bitview/bitview.timb.js"),e=function(a){var b=Object.create(e.proto),c=b.parts={};for(var d in a)c[d]=f(a[d]);return b};e.proto={};var f=function(a){for(var b={bit:1,str:8,i8:8,u8:8,i16:16,u16:16,i32:32,u32:32},d={fields:[]},e=0,f=0;f<a.length;f++){var g=c(a[f]),h=/(^|\s)ignore($|\s)/.test(a[f]),i=g[0].split("["),j=i[0],k=parseInt(i[1]||1),l=i.length>1,m=b[j]*k;d.fields.push({name:g[1],type:j,ignore:h,bitSize:m,isArray:l}),e+=m}return d.bitSize=e,d.byteSize=e/8,d};e.proto.decodeBinaryFieldsToJSON=function(a,b,c){for(var e=this,f=e.parts[a],h={},i=f.fields.length,j=0,k=0;i>k;k++){var l=f.fields[k];if(!l.ignore){{var m=j%8,n=Math.floor((j-m)/8);n+Math.ceil(l.bitSize/8)}switch(l.type){case"u8":h[l.name]=c.u8[b+n];break;case"i8":h[l.name]=c.dv.getInt8(b+n);break;case"u16":h[l.name]=c.dv.getUint16(b+n,!0);break;case"i16":h[l.name]=c.dv.getInt16(b+n,!0);break;case"u32":h[l.name]=c.dv.getUint32(b+n,!0);break;case"i32":h[l.name]=c.dv.getInt32(b+n,!0);break;case"str":h[l.name]=g(c.abuf,b+n,l.bitSize>>3);break;case"bit":if(l.isArray){for(var o=new d(c.abuf,b+n),p=[],q=m;q<m+l.bitSize;q++)p.push(o.getBit(q));h[l.name]=p}else h[l.name]=new d(c.abuf,b+n).getBit(m);break;default:console.log("please implement: "+l.type+", "+a)}}j+=l.bitSize}return h};var g=function(a,b,c){return String.fromCharCode.apply(null,new Uint8Array(a,b,c))};b.exports=e},{"./string/tokenize":8,"../deps/bitview/bitview.timb.js":20}],20:[function(a,b){var c=function(a,b){this.buffer=a,this.u8=new Uint8Array(a,b)};c.prototype.getBit=function(a){var b=this.u8[a>>3],c=7&a;return b>>7-c&1},b.exports=c},{}],6:[function(a,b){var c=a("../../create/2d"),d=a("../../create/imagedata"),e=a("../../nexttick"),f=a("./decode-lzw"),g=function(a,b){b=b||{};var d=a.benchmark||!1,i=b.frameNum||0;if(0===i)for(var j=0;j<a.frames.length;j++)a.frames[j].ctx=c(a.w,a.h),a.buf.pixeldata=new Uint8Array(a.w*a.h);if(i>=a.frames.length)return a.rendered=!0,void a.tube("rendered");var k=a.frames[i],l=a.buf.pixeldata;d&&d.start("decompress-lzw"),f(k.blockinfo,a.buf.u8,k.lzwCodeSize,k.w,k.h,l),d&&d.stop("decompress-lzw"),k.interlaced&&(d&&d.start("deinterlace"),l=m(l,k.w,k.h),d&&d.stop("deinterlace")),d&&d.start("pixeldata-to-canvas"),h(l,a,i),d&&d.stop("pixeldata-to-canvas");var n=g.bind(void 0,a,{frameNum:i+1});e(n)},h=function(a,b,c){var d=b.frames[c],e=d.ctx;if(0===c)return void e.putImageData(k(a,b,d),d.x,d.y,0,0,d.w,d.h);var f,g=c-1,h=b.frames[g],l=h.ctx.canvas;if((0===h.disposalMethod||1===h.disposalMethod)&&(f=i(b,c,a),e.drawImage(l,0,0),e.drawImage(f.canvas,0,0,d.w,d.h,d.x,d.y,d.w,d.h)),2===h.disposalMethod&&(0===h.x&&0===h.y&&h.w===b.w&&h.h===b.h?e.putImageData(j(b,c,a),d.x,d.y,0,0,d.w,d.h):(h.y>0&&e.drawImage(l,0,0,b.w,h.y,0,0,b.w,h.y),h.x>0&&e.drawImage(l,0,h.y,h.x,h.h,0,h.y,h.x,h.h),h.x+h.w<b.w&&e.drawImage(l,h.x+h.w,h.y,b.w-h.x-h.w,h.h,h.x+h.w,h.y,b.w-h.x-h.w,h.h),h.y+h.h<b.h&&e.drawImage(l,0,h.y+h.h,b.w,b.h-h.y-h.h,0,h.y+h.h,b.w,b.h-h.y-h.h),f=i(b,c,a),e.drawImage(f.canvas,0,0,d.w,d.h,d.x,d.y,d.w,d.h))),3===h.disposalMethod){for(;g>0&&3===b.frames[g].disposalMethod;)g-=1;h=b.frames[g],3!=h.disposalMethod&&e.drawImage(h.ctx.canvas,0,0),f=i(b,c,a),e.drawImage(f.canvas,0,0,d.w,d.h,d.x,d.y,d.w,d.h)}},i=function(a,b,d){if(i.ctx&&i.ctx.canvas.width===a.w&&i.ctx.canvas.height===a.h)var e=i.ctx;else var e=i.ctx=c(a.w,a.h);var f=a.frames[b];d=d||f.pixelData;var g="palette"in f?f.palette:a.palette,h="transparentIndex"in f?f.transparentIndex:-1;h>-1&&(g[4*h+3]=0);var j=l(a,g,d,f.w,f.h,h);return e.putImageData(j,0,0,0,0,f.w,f.h),e},j=function(a,b,c){var d=a.frames[b];c=c||d.pixelData;var e="palette"in d?d.palette:a.palette,f="transparentIndex"in d?d.transparentIndex:-1;return f>-1&&(e[4*f+3]=0),l(a,e,c,d.w,d.h,f)},k=function(a,b,c){var d="palette"in c?c.palette:b.palette,e="transparentIndex"in c?c.transparentIndex:-1;return e>-1&&(d[4*e+3]=0),l(b,d,a,c.w,c.h,e)},l=function(a,b,c,e,f){if(l.imagedata&&l.imagedata.width===a.w&&l.imagedata.height===a.h)var g=l.imagedata;else var g=l.imagedata=d(a.w,a.h);for(var h=g.data,i=0,j=0;f>j;j++)for(var k=j*a.w,m=0;e>m;m++){var n=4*(m+k),o=4*c[i];h[n]=b[o],h[n+1]=b[o+1],h[n+2]=b[o+2],h[n+3]=b[o+3],i+=1}return g},m=function(a,b,c){for(var d=new Uint8Array(a.length),e=Math.ceil(c/8),f=Math.ceil(c/4),g=Math.ceil(c/2),h=0;c>h;h++){var i,j=b*h;i=h%8===0?b*(h/8):(h+4)%8===0?b*((h-4)/8+e):h%2===0?b*((h-2)/4+f):b*((h-1)/2+g);for(var k=0;b>k;k++)d[j+k]=a[i+k]}return d};b.exports=g},{"../../create/2d":18,"../../create/imagedata":19,"../../nexttick":11,"./decode-lzw":21}],21:[function(a,b){var c=function(a,b,c,d,e,f,g){var h,i,j,k=4096,l=-1,m=d*e,n=0,o=0,p=0,f=f||new Uint8Array(m),q=new Uint16Array(2*k),r=new Uint8Array(k),s=new Uint8Array(k+1),t=1<<c,u=t+1,v=t+2;j=l;var w=c+1,x=(1<<w)-1;for(h=0;t>h;h++)q[h]=0,r[h]=h;for(var y=0,z=0,A=a.start,B=a.blockEnds,C=B.shift(),D=0;m>D;){if(0===o){if(w>y){z+=b[A]<<y,y+=8,A++,A===C&&(A+=1,C=B.shift());continue}if(h=z&x,z>>=w,y-=w,h>v&&console.log(":("),h===u){console.log("fuck");break}if(h===t){w=c+1,x=(1<<w)-1,v=t+2,j=l;continue}if(j===l){s[o++]=r[h],j=h,n=h;continue}for(i=h,h===v&&(s[o++]=n,h=j);h>t;)s[o++]=r[h],h=q[h];n=r[h],s[o++]=n,q[v]=j,r[v]=n,v++,0===(v&x)&&k>v&&(w++,x+=v),j=i}o--,f[p++]=g?g[s[o]]:s[o],D++}return f};b.exports=c},{}]},{},[1]);var nextTick=function(){if(window.ActiveXObject||!window.postMessage)var a=function(a){setTimeout(a,0)};else{var b=[],c="next-tick-zero-timeout";window.addEventListener("message",function(a){a.source==window&&a.data==c&&(a.stopPropagation&&a.stopPropagation(),b.length&&b.shift()())},!0);var a=function(a){b.push(a),window.postMessage(c,"*")}}return a}(),Uid=function(){var a=0;return function(){return a++ +""}}(),tokenize=function(){var a=function(b,c){return b.trim().split(c||a.default)};return a.default=/\s+/g,a}(),globber=function(a,b){var c,d=a[0],e=a.slice(1),f=b.length;if("*"===d){for(var g=0;f>=g;++g)if(globber(e,b.slice(g)))return!0;return!1}return c=d===b[0],c&&(!e.length&&!f||globber(e,b.slice(1)))},setproto=function(a,b){if(a.__proto__)a.__proto__=b;else for(var c in b)a[c]=b[c]},Tube=function(){var a={},b=function(a){if(a=a||{},a.queue)var c=function(){var a=arguments;return nextTick(function(){c.send.apply(c,a)}),c};else var c=function(){return c.send.apply(c,arguments),c};return setproto(c,b.proto),c.listeners={},c.globListeners={},c};return b.total={},b.proto={},b.proto.on=function(){var a=this;if("string"==typeof arguments[0]){var b={};b[arguments[0]]=arguments[1];{arguments[2]||{}}}else{var b=arguments[0];arguments[1]||{}}for(var c in b){var d=c.split(" "),e=b[c];Array.isArray(e)||(e=[e]);for(var f,g=0;f=e[g];g++)f.uid||(f.uid=Uid());for(var h,g=0;h=d[g];g++){var i=-1===h.indexOf("*")?a.listeners:a.globListeners;i[h]=h in i?i[h].concat(e):e.concat()}}return a},b.proto.off=function(){var a,b,c,d,e=this;if(0===arguments.length)return e.listeners={},e.globListeners={},e;if(1===arguments.length&&"string"==typeof arguments[0]){for(c=arguments[0].split(" "),b=0;d=c[b];b++)delete e.listeners[d],delete e.globListeners[d];return e}if("function"==typeof arguments[0]||Array.isArray(arguments[0])){var f="function"==typeof arguments[0]?[arguments[0]]:arguments[0];return e}if(arguments.length>1){var g={};g[arguments[0]]=arguments[1]}else var g=arguments[0];for(var h in g){c=h.split(" ");var f=g[h];"function"==typeof f&&(f=[f]);for(var b=0;d=c[b];b++){if(d in e.listeners)a=e.listeners;else{if(!(d in e.globListeners))continue;a=e.globListeners}a[d]=a[d].filter(function(a){return-1===f.indexOf(a)})}}return e},b.proto.send=function(c){b.total[c]||(b.total[c]=0),b.total[c]+=1;var d,e,f,g=this.listeners,h=this.globListeners,i=tokenize(c);if(arguments.length){var j=Array.prototype.splice.call(arguments,1);j.push(c)}else var j=[];for(var k=0;e=i[k];k++){var l={},m={};if(d=g[e])for(var n=0;f=d[n];n++)l[f.uid]=f,m[f.uid]=e;var o=e.split(":");for(var p in h){if("*"!==p){var q=a[p]||(a[p]=p.split(":"));if(!globber(q,o))continue}d=h[p];for(var n=0;f=d[n];n++)l[f.uid]=f,m[f.uid]=e}var r=[];for(var f in l)r.push(l[f]);for(var f,n=0;f=r[n];n++)f.apply(f,j)}return this},b}(),FRAMES_PER_GIF=36,FPS=12,DELAY=Math.floor(1e3/FPS),WORKERS=6,FRAMES_TO_QUANTIZE=4,DO_UPLOAD=!0;!function(a,b){function c(a){var b=a.length,c=fb.type(a);return fb.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||"function"!==c&&(0===b||"number"==typeof b&&b>0&&b-1 in a)}function d(a){var b=ob[a]={};return fb.each(a.match(hb)||[],function(a,c){b[c]=!0}),b}function e(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=fb.expando+Math.random()}function f(a,c,d){var e;if(d===b&&1===a.nodeType)if(e="data-"+c.replace(sb,"-$1").toLowerCase(),d=a.getAttribute(e),"string"==typeof d){try{d="true"===d?!0:"false"===d?!1:"null"===d?null:+d+""===d?+d:rb.test(d)?JSON.parse(d):d}catch(f){}pb.set(a,c,d)}else d=b;return d}function g(){return!0}function h(){return!1}function i(){try{return T.activeElement}catch(a){}}function j(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function k(a,b,c){if(fb.isFunction(b))return fb.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return fb.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(Cb.test(b))return fb.filter(b,a,c);b=fb.filter(b,a)}return fb.grep(a,function(a){return bb.call(b,a)>=0!==c})}function l(a,b){return fb.nodeName(a,"table")&&fb.nodeName(1===b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function m(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function n(a){var b=Nb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function o(a,b){for(var c=a.length,d=0;c>d;d++)qb.set(a[d],"globalEval",!b||qb.get(b[d],"globalEval"))}function p(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(qb.hasData(a)&&(f=qb.access(a),g=qb.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++)fb.event.add(b,e,j[e][c])}pb.hasData(a)&&(h=pb.access(a),i=fb.extend({},h),pb.set(b,i))}}function q(a,c){var d=a.getElementsByTagName?a.getElementsByTagName(c||"*"):a.querySelectorAll?a.querySelectorAll(c||"*"):[];return c===b||c&&fb.nodeName(a,c)?fb.merge([a],d):d}function r(a,b){var c=b.nodeName.toLowerCase();"input"===c&&Kb.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}function s(a,b){if(b in a)return b;for(var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=_b.length;e--;)if(b=_b[e]+c,b in a)return b;return d}function t(a,b){return a=b||a,"none"===fb.css(a,"display")||!fb.contains(a.ownerDocument,a)}function u(b){return a.getComputedStyle(b,null)}function v(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=qb.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&t(d)&&(f[g]=qb.access(d,"olddisplay",z(d.nodeName)))):f[g]||(e=t(d),(c&&"none"!==c||!e)&&qb.set(d,"olddisplay",e?c:fb.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function w(a,b,c){var d=Ub.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function x(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+=fb.css(a,c+$b[f],!0,e)),d?("content"===c&&(g-=fb.css(a,"padding"+$b[f],!0,e)),"margin"!==c&&(g-=fb.css(a,"border"+$b[f]+"Width",!0,e))):(g+=fb.css(a,"padding"+$b[f],!0,e),"padding"!==c&&(g+=fb.css(a,"border"+$b[f]+"Width",!0,e)));
+return g}function y(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=u(a),g=fb.support.boxSizing&&"border-box"===fb.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Qb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Vb.test(e))return e;d=g&&(fb.support.boxSizingReliable||e===a.style[b]),e=parseFloat(e)||0}return e+x(a,b,c||(g?"border":"content"),d,f)+"px"}function z(a){var b=T,c=Xb[a];return c||(c=A(a,b),"none"!==c&&c||(Rb=(Rb||fb("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(b.documentElement),b=(Rb[0].contentWindow||Rb[0].contentDocument).document,b.write("<!doctype html><html><body>"),b.close(),c=A(a,b),Rb.detach()),Xb[a]=c),c}function A(a,b){var c=fb(b.createElement(a)).appendTo(b.body),d=fb.css(c[0],"display");return c.remove(),d}function B(a,b,c,d){var e;if(fb.isArray(b))fb.each(b,function(b,e){c||bc.test(a)?d(a,e):B(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==fb.type(b))d(a,b);else for(e in b)B(a+"["+e+"]",b[e],c,d)}function C(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(hb)||[];if(fb.isFunction(c))for(;d=f[e++];)"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function D(a,c,d,e){function f(i){var j;return g[i]=!0,fb.each(a[i]||[],function(a,i){var k=i(c,d,e);return"string"!=typeof k||h||g[k]?h?!(j=k):b:(c.dataTypes.unshift(k),f(k),!1)}),j}var g={},h=a===sc;return f(c.dataTypes[0])||!g["*"]&&f("*")}function E(a,c){var d,e,f=fb.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((f[d]?a:e||(e={}))[d]=c[d]);return e&&fb.extend(!0,a,e),a}function F(a,c,d){for(var e,f,g,h,i=a.contents,j=a.dataTypes;"*"===j[0];)j.shift(),e===b&&(e=a.mimeType||c.getResponseHeader("Content-Type"));if(e)for(f in i)if(i[f]&&i[f].test(e)){j.unshift(f);break}if(j[0]in d)g=j[0];else{for(f in d){if(!j[0]||a.converters[f+" "+j[0]]){g=f;break}h||(h=f)}g=g||h}return g?(g!==j[0]&&j.unshift(g),d[g]):b}function G(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];for(f=k.shift();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}}function H(){return setTimeout(function(){Bc=b}),Bc=fb.now()}function I(a,b,c){for(var d,e=(Hc[b]||[]).concat(Hc["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function J(a,b,c){var d,e,f=0,g=Gc.length,h=fb.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Bc||H(),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:fb.extend({},b),opts:fb.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Bc||H(),duration:c.duration,tweens:[],createTween:function(b,c){var d=fb.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.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(K(k,j.opts.specialEasing);g>f;f++)if(d=Gc[f].call(j,a,k,j.opts))return d;return fb.map(k,I,j),fb.isFunction(j.opts.start)&&j.opts.start.call(a,j),fb.fx.timer(fb.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)}function K(a,b){var c,d,e,f,g;for(c in a)if(d=fb.camelCase(c),e=b[d],f=a[c],fb.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=fb.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 L(a,c,d){var e,f,g,h,i,j,k=this,l={},m=a.style,n=a.nodeType&&t(a),o=qb.get(a,"fxshow");d.queue||(i=fb._queueHooks(a,"fx"),null==i.unqueued&&(i.unqueued=0,j=i.empty.fire,i.empty.fire=function(){i.unqueued||j()}),i.unqueued++,k.always(function(){k.always(function(){i.unqueued--,fb.queue(a,"fx").length||i.empty.fire()})})),1===a.nodeType&&("height"in c||"width"in c)&&(d.overflow=[m.overflow,m.overflowX,m.overflowY],"inline"===fb.css(a,"display")&&"none"===fb.css(a,"float")&&(m.display="inline-block")),d.overflow&&(m.overflow="hidden",k.always(function(){m.overflow=d.overflow[0],m.overflowX=d.overflow[1],m.overflowY=d.overflow[2]}));for(e in c)if(f=c[e],Dc.exec(f)){if(delete c[e],g=g||"toggle"===f,f===(n?"hide":"show")){if("show"!==f||!o||o[e]===b)continue;n=!0}l[e]=o&&o[e]||fb.style(a,e)}if(!fb.isEmptyObject(l)){o?"hidden"in o&&(n=o.hidden):o=qb.access(a,"fxshow",{}),g&&(o.hidden=!n),n?fb(a).show():k.done(function(){fb(a).hide()}),k.done(function(){var b;qb.remove(a,"fxshow");for(b in l)fb.style(a,b,l[b])});for(e in l)h=I(n?o[e]:0,e,k),e in o||(o[e]=h.start,n&&(h.end=h.start,h.start="width"===e||"height"===e?1:0))}}function M(a,b,c,d,e){return new M.prototype.init(a,b,c,d,e)}function N(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=$b[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function O(a){return fb.isWindow(a)?a:9===a.nodeType&&a.defaultView}var P,Q,R=typeof b,S=a.location,T=a.document,U=T.documentElement,V=a.jQuery,W=a.$,X={},Y=[],Z="2.0.3",$=Y.concat,_=Y.push,ab=Y.slice,bb=Y.indexOf,cb=X.toString,db=X.hasOwnProperty,eb=Z.trim,fb=function(a,b){return new fb.fn.init(a,b,P)},gb=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,hb=/\S+/g,ib=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,jb=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,kb=/^-ms-/,lb=/-([\da-z])/gi,mb=function(a,b){return b.toUpperCase()},nb=function(){T.removeEventListener("DOMContentLoaded",nb,!1),a.removeEventListener("load",nb,!1),fb.ready()};fb.fn=fb.prototype={jquery:Z,constructor:fb,init:function(a,c,d){var e,f;if(!a)return this;if("string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:ib.exec(a),!e||!e[1]&&c)return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a);if(e[1]){if(c=c instanceof fb?c[0]:c,fb.merge(this,fb.parseHTML(e[1],c&&c.nodeType?c.ownerDocument||c:T,!0)),jb.test(e[1])&&fb.isPlainObject(c))for(e in c)fb.isFunction(this[e])?this[e](c[e]):this.attr(e,c[e]);return this}return f=T.getElementById(e[2]),f&&f.parentNode&&(this.length=1,this[0]=f),this.context=T,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):fb.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),fb.makeArray(a,this))},selector:"",length:0,toArray:function(){return ab.call(this)},get:function(a){return null==a?this.toArray():0>a?this[this.length+a]:this[a]},pushStack:function(a){var b=fb.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return fb.each(this,a,b)},ready:function(a){return fb.ready.promise().done(a),this},slice:function(){return this.pushStack(ab.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]]:[])},map:function(a){return this.pushStack(fb.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:_,sort:[].sort,splice:[].splice},fb.fn.init.prototype=fb.fn,fb.extend=fb.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;for("boolean"==typeof h&&(k=h,h=arguments[1]||{},i=2),"object"==typeof h||fb.isFunction(h)||(h={}),j===i&&(h=this,--i);j>i;i++)if(null!=(a=arguments[i]))for(c in a)d=h[c],e=a[c],h!==e&&(k&&e&&(fb.isPlainObject(e)||(f=fb.isArray(e)))?(f?(f=!1,g=d&&fb.isArray(d)?d:[]):g=d&&fb.isPlainObject(d)?d:{},h[c]=fb.extend(k,g,e)):e!==b&&(h[c]=e));return h},fb.extend({expando:"jQuery"+(Z+Math.random()).replace(/\D/g,""),noConflict:function(b){return a.$===fb&&(a.$=W),b&&a.jQuery===fb&&(a.jQuery=V),fb},isReady:!1,readyWait:1,holdReady:function(a){a?fb.readyWait++:fb.ready(!0)},ready:function(a){(a===!0?--fb.readyWait:fb.isReady)||(fb.isReady=!0,a!==!0&&--fb.readyWait>0||(Q.resolveWith(T,[fb]),fb.fn.trigger&&fb(T).trigger("ready").off("ready")))},isFunction:function(a){return"function"===fb.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?X[cb.call(a)]||"object":typeof a},isPlainObject:function(a){if("object"!==fb.type(a)||a.nodeType||fb.isWindow(a))return!1;try{if(a.constructor&&!db.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(b){return!1}return!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw Error(a)},parseHTML:function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||T;var d=jb.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=fb.buildFragment([a],b,e),e&&fb(e).remove(),fb.merge([],d.childNodes))},parseJSON:JSON.parse,parseXML:function(a){var c,d;if(!a||"string"!=typeof a)return null;try{d=new DOMParser,c=d.parseFromString(a,"text/xml")}catch(e){c=b}return(!c||c.getElementsByTagName("parsererror").length)&&fb.error("Invalid XML: "+a),c},noop:function(){},globalEval:function(a){var b,c=eval;a=fb.trim(a),a&&(1===a.indexOf("use strict")?(b=T.createElement("script"),b.text=a,T.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(kb,"ms-").replace(lb,mb)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,d){var e,f=0,g=a.length,h=c(a);if(d){if(h)for(;g>f&&(e=b.apply(a[f],d),e!==!1);f++);else for(f in a)if(e=b.apply(a[f],d),e===!1)break}else if(h)for(;g>f&&(e=b.call(a[f],f,a[f]),e!==!1);f++);else for(f in a)if(e=b.call(a[f],f,a[f]),e===!1)break;return a},trim:function(a){return null==a?"":eb.call(a)},makeArray:function(a,b){var d=b||[];return null!=a&&(c(Object(a))?fb.merge(d,"string"==typeof a?[a]:a):_.call(d,a)),d},inArray:function(a,b,c){return null==b?-1:bb.call(b,a,c)},merge:function(a,c){var d=c.length,e=a.length,f=0;if("number"==typeof d)for(;d>f;f++)a[e++]=c[f];else for(;c[f]!==b;)a[e++]=c[f++];return a.length=e,a},grep:function(a,b,c){var d,e=[],f=0,g=a.length;for(c=!!c;g>f;f++)d=!!b(a[f],f),c!==d&&e.push(a[f]);return e},map:function(a,b,d){var e,f=0,g=a.length,h=c(a),i=[];if(h)for(;g>f;f++)e=b(a[f],f,d),null!=e&&(i[i.length]=e);else for(f in a)e=b(a[f],f,d),null!=e&&(i[i.length]=e);return $.apply([],i)},guid:1,proxy:function(a,c){var d,e,f;return"string"==typeof c&&(d=a[c],c=a,a=d),fb.isFunction(a)?(e=ab.call(arguments,2),f=function(){return a.apply(c||this,e.concat(ab.call(arguments)))},f.guid=a.guid=a.guid||fb.guid++,f):b},access:function(a,c,d,e,f,g,h){var i=0,j=a.length,k=null==d;if("object"===fb.type(d)){f=!0;for(i in d)fb.access(a,c,i,d[i],!0,g,h)}else if(e!==b&&(f=!0,fb.isFunction(e)||(h=!0),k&&(h?(c.call(a,e),c=null):(k=c,c=function(a,b,c){return k.call(fb(a),c)})),c))for(;j>i;i++)c(a[i],d,h?e:e.call(a[i],i,c(a[i],d)));return f?a:k?c.call(a):j?c(a[0],d):g},now:Date.now,swap:function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e}}),fb.ready.promise=function(b){return Q||(Q=fb.Deferred(),"complete"===T.readyState?setTimeout(fb.ready):(T.addEventListener("DOMContentLoaded",nb,!1),a.addEventListener("load",nb,!1))),Q.promise(b)},fb.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){X["[object "+b+"]"]=b.toLowerCase()}),P=fb(T),function(a,b){function c(a,b,c,d){var e,f,g,h,i,j,k,l,o,p;if((b?b.ownerDocument||b:O)!==G&&F(b),b=b||G,c=c||[],!a||"string"!=typeof a)return c;if(1!==(h=b.nodeType)&&9!==h)return[];if(I&&!d){if(e=tb.exec(a))if(g=e[1]){if(9===h){if(f=b.getElementById(g),!f||!f.parentNode)return c;if(f.id===g)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(g))&&M(b,f)&&f.id===g)return c.push(f),c}else{if(e[2])return ab.apply(c,b.getElementsByTagName(a)),c;if((g=e[3])&&x.getElementsByClassName&&b.getElementsByClassName)return ab.apply(c,b.getElementsByClassName(g)),c}if(x.qsa&&(!J||!J.test(a))){if(l=k=N,o=b,p=9===h&&a,1===h&&"object"!==b.nodeName.toLowerCase()){for(j=m(a),(k=b.getAttribute("id"))?l=k.replace(wb,"\\$&"):b.setAttribute("id",l),l="[id='"+l+"'] ",i=j.length;i--;)j[i]=l+n(j[i]);o=nb.test(a)&&b.parentNode||b,p=j.join(",")}if(p)try{return ab.apply(c,o.querySelectorAll(p)),c}catch(q){}finally{k||b.removeAttribute("id")}}}return v(a.replace(kb,"$1"),b,c,d)}function d(){function a(c,d){return b.push(c+=" ")>z.cacheLength&&delete a[b.shift()],a[c]=d}var b=[];return a}function e(a){return a[N]=!0,a}function f(a){var b=G.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function g(a,b){for(var c=a.split("|"),d=a.length;d--;)z.attrHandle[c[d]]=b}function h(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||X)-(~a.sourceIndex||X);if(d)return d;if(c)for(;c=c.nextSibling;)if(c===b)return-1;return a?1:-1}function i(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function j(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function k(a){return e(function(b){return b=+b,e(function(c,d){for(var e,f=a([],c.length,b),g=f.length;g--;)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function l(){}function m(a,b){var d,e,f,g,h,i,j,k=S[a+" "];if(k)return b?0:k.slice(0);for(h=a,i=[],j=z.preFilter;h;){(!d||(e=lb.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),d=!1,(e=mb.exec(h))&&(d=e.shift(),f.push({value:d,type:e[0].replace(kb," ")}),h=h.slice(d.length));for(g in z.filter)!(e=rb[g].exec(h))||j[g]&&!(e=j[g](e))||(d=e.shift(),f.push({value:d,type:g,matches:e}),h=h.slice(d.length));if(!d)break}return b?h.length:h?c.error(a):S(a,i).slice(0)}function n(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function o(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=Q++;return b.first?function(b,c,f){for(;b=b[d];)if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=P+" "+f;if(g){for(;b=b[d];)if((1===b.nodeType||e)&&a(b,c,g))return!0}else for(;b=b[d];)if(1===b.nodeType||e)if(j=b[N]||(b[N]={}),(i=j[d])&&i[0]===k){if((h=i[1])===!0||h===y)return h===!0}else if(i=j[d]=[k],i[1]=a(b,c,g)||y,i[1]===!0)return!0}}function p(a){return a.length>1?function(b,c,d){for(var e=a.length;e--;)if(!a[e](b,c,d))return!1;return!0}:a[0]}function q(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 r(a,b,c,d,f,g){return d&&!d[N]&&(d=r(d)),f&&!f[N]&&(f=r(f,g)),e(function(e,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=e||u(b||"*",h.nodeType?[h]:h,[]),r=!a||!e&&b?p:q(p,m,a,h,i),s=c?f||(e?a:o||d)?[]:g:r;if(c&&c(r,s,h,i),d)for(j=q(s,n),d(j,[],h,i),k=j.length;k--;)(l=j[k])&&(s[n[k]]=!(r[n[k]]=l));if(e){if(f||a){if(f){for(j=[],k=s.length;k--;)(l=s[k])&&j.push(r[k]=l);f(null,s=[],j,i)}for(k=s.length;k--;)(l=s[k])&&(j=f?cb.call(e,l):m[k])>-1&&(e[j]=!(g[j]=l))}}else s=q(s===g?s.splice(o,s.length):s),f?f(null,g,s,i):ab.apply(g,s)})}function s(a){for(var b,c,d,e=a.length,f=z.relative[a[0].type],g=f||z.relative[" "],h=f?1:0,i=o(function(a){return a===b},g,!0),j=o(function(a){return cb.call(b,a)>-1},g,!0),k=[function(a,c,d){return!f&&(d||c!==D)||((b=c).nodeType?i(a,c,d):j(a,c,d))}];e>h;h++)if(c=z.relative[a[h].type])k=[o(p(k),c)];else{if(c=z.filter[a[h].type].apply(null,a[h].matches),c[N]){for(d=++h;e>d&&!z.relative[a[d].type];d++);return r(h>1&&p(k),h>1&&n(a.slice(0,h-1).concat({value:" "===a[h-2].type?"*":""})).replace(kb,"$1"),c,d>h&&s(a.slice(h,d)),e>d&&s(a=a.slice(d)),e>d&&n(a))}k.push(c)}return p(k)}function t(a,b){var d=0,f=b.length>0,g=a.length>0,h=function(e,h,i,j,k){var l,m,n,o=[],p=0,r="0",s=e&&[],t=null!=k,u=D,v=e||g&&z.find.TAG("*",k&&h.parentNode||h),w=P+=null==u?1:Math.random()||.1;for(t&&(D=h!==G&&h,y=d);null!=(l=v[r]);r++){if(g&&l){for(m=0;n=a[m++];)if(n(l,h,i)){j.push(l);break}t&&(P=w,y=++d)}f&&((l=!n&&l)&&p--,e&&s.push(l))}if(p+=r,f&&r!==p){for(m=0;n=b[m++];)n(s,o,h,i);if(e){if(p>0)for(;r--;)s[r]||o[r]||(o[r]=$.call(j));o=q(o)}ab.apply(j,o),t&&!e&&o.length>0&&p+b.length>1&&c.uniqueSort(j)}return t&&(P=w,D=u),s};return f?e(h):h}function u(a,b,d){for(var e=0,f=b.length;f>e;e++)c(a,b[e],d);return d}function v(a,b,c,d){var e,f,g,h,i,j=m(a);if(!d&&1===j.length){if(f=j[0]=j[0].slice(0),f.length>2&&"ID"===(g=f[0]).type&&x.getById&&9===b.nodeType&&I&&z.relative[f[1].type]){if(b=(z.find.ID(g.matches[0].replace(xb,yb),b)||[])[0],!b)return c;a=a.slice(f.shift().value.length)}for(e=rb.needsContext.test(a)?0:f.length;e--&&(g=f[e],!z.relative[h=g.type]);)if((i=z.find[h])&&(d=i(g.matches[0].replace(xb,yb),nb.test(f[0].type)&&b.parentNode||b))){if(f.splice(e,1),a=d.length&&n(f),!a)return ab.apply(c,d),c;break}}return C(a,j)(d,b,!I,c,nb.test(a)),c}var w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N="sizzle"+-new Date,O=a.document,P=0,Q=0,R=d(),S=d(),T=d(),U=!1,V=function(a,b){return a===b?(U=!0,0):0},W=typeof b,X=1<<31,Y={}.hasOwnProperty,Z=[],$=Z.pop,_=Z.push,ab=Z.push,bb=Z.slice,cb=Z.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},db="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",eb="[\\x20\\t\\r\\n\\f]",gb="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",hb=gb.replace("w","w#"),ib="\\["+eb+"*("+gb+")"+eb+"*(?:([*^$|!~]?=)"+eb+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+hb+")|)|)"+eb+"*\\]",jb=":("+gb+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+ib.replace(3,8)+")*)|.*)\\)|)",kb=RegExp("^"+eb+"+|((?:^|[^\\\\])(?:\\\\.)*)"+eb+"+$","g"),lb=RegExp("^"+eb+"*,"+eb+"*"),mb=RegExp("^"+eb+"*([>+~]|"+eb+")"+eb+"*"),nb=RegExp(eb+"*[+~]"),ob=RegExp("="+eb+"*([^\\]'\"]*)"+eb+"*\\]","g"),pb=RegExp(jb),qb=RegExp("^"+hb+"$"),rb={ID:RegExp("^#("+gb+")"),CLASS:RegExp("^\\.("+gb+")"),TAG:RegExp("^("+gb.replace("w","w*")+")"),ATTR:RegExp("^"+ib),PSEUDO:RegExp("^"+jb),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+eb+"*(even|odd|(([+-]|)(\\d*)n|)"+eb+"*(?:([+-]|)"+eb+"*(\\d+)|))"+eb+"*\\)|)","i"),bool:RegExp("^(?:"+db+")$","i"),needsContext:RegExp("^"+eb+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+eb+"*((?:-\\d)?\\d*)"+eb+"*\\)|)(?=[^-]|$)","i")},sb=/^[^{]+\{\s*\[native \w/,tb=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ub=/^(?:input|select|textarea|button)$/i,vb=/^h\d$/i,wb=/'|\\/g,xb=RegExp("\\\\([\\da-f]{1,6}"+eb+"?|("+eb+")|.)","ig"),yb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(55296|d>>10,56320|1023&d)};try{ab.apply(Z=bb.call(O.childNodes),O.childNodes),Z[O.childNodes.length].nodeType}catch(zb){ab={apply:Z.length?function(a,b){_.apply(a,bb.call(b))}:function(a,b){for(var c=a.length,d=0;a[c++]=b[d++];);a.length=c-1}}}B=c.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},x=c.support={},F=c.setDocument=function(a){var c=a?a.ownerDocument||a:O,d=c.defaultView;return c!==G&&9===c.nodeType&&c.documentElement?(G=c,H=c.documentElement,I=!B(c),d&&d.attachEvent&&d!==d.top&&d.attachEvent("onbeforeunload",function(){F()}),x.attributes=f(function(a){return a.className="i",!a.getAttribute("className")}),x.getElementsByTagName=f(function(a){return a.appendChild(c.createComment("")),!a.getElementsByTagName("*").length}),x.getElementsByClassName=f(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),x.getById=f(function(a){return H.appendChild(a).id=N,!c.getElementsByName||!c.getElementsByName(N).length}),x.getById?(z.find.ID=function(a,b){if(typeof b.getElementById!==W&&I){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},z.filter.ID=function(a){var b=a.replace(xb,yb);return function(a){return a.getAttribute("id")===b}}):(delete z.find.ID,z.filter.ID=function(a){var b=a.replace(xb,yb);return function(a){var c=typeof a.getAttributeNode!==W&&a.getAttributeNode("id");return c&&c.value===b}}),z.find.TAG=x.getElementsByTagName?function(a,c){return typeof c.getElementsByTagName!==W?c.getElementsByTagName(a):b}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){for(;c=f[e++];)1===c.nodeType&&d.push(c);return d}return f},z.find.CLASS=x.getElementsByClassName&&function(a,c){return typeof c.getElementsByClassName!==W&&I?c.getElementsByClassName(a):b},K=[],J=[],(x.qsa=sb.test(c.querySelectorAll))&&(f(function(a){a.innerHTML="<select><option selected=''></option></select>",a.querySelectorAll("[selected]").length||J.push("\\["+eb+"*(?:value|"+db+")"),a.querySelectorAll(":checked").length||J.push(":checked")}),f(function(a){var b=c.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("t",""),a.querySelectorAll("[t^='']").length&&J.push("[*^$]="+eb+"*(?:''|\"\")"),a.querySelectorAll(":enabled").length||J.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),J.push(",.*:")})),(x.matchesSelector=sb.test(L=H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&f(function(a){x.disconnectedMatch=L.call(a,"div"),L.call(a,"[s!='']:x"),K.push("!=",jb)}),J=J.length&&RegExp(J.join("|")),K=K.length&&RegExp(K.join("|")),M=sb.test(H.contains)||H.compareDocumentPosition?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)for(;b=b.parentNode;)if(b===a)return!0;return!1},V=H.compareDocumentPosition?function(a,b){if(a===b)return U=!0,0;var d=b.compareDocumentPosition&&a.compareDocumentPosition&&a.compareDocumentPosition(b);return d?1&d||!x.sortDetached&&b.compareDocumentPosition(a)===d?a===c||M(O,a)?-1:b===c||M(O,b)?1:E?cb.call(E,a)-cb.call(E,b):0:4&d?-1:1:a.compareDocumentPosition?-1:1}:function(a,b){var d,e=0,f=a.parentNode,g=b.parentNode,i=[a],j=[b];if(a===b)return U=!0,0;if(!f||!g)return a===c?-1:b===c?1:f?-1:g?1:E?cb.call(E,a)-cb.call(E,b):0;if(f===g)return h(a,b);for(d=a;d=d.parentNode;)i.unshift(d);for(d=b;d=d.parentNode;)j.unshift(d);for(;i[e]===j[e];)e++;return e?h(i[e],j[e]):i[e]===O?-1:j[e]===O?1:0},c):G},c.matches=function(a,b){return c(a,null,null,b)},c.matchesSelector=function(a,b){if((a.ownerDocument||a)!==G&&F(a),b=b.replace(ob,"='$1']"),!(!x.matchesSelector||!I||K&&K.test(b)||J&&J.test(b)))try{var d=L.call(a,b);if(d||x.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return c(b,G,null,[a]).length>0},c.contains=function(a,b){return(a.ownerDocument||a)!==G&&F(a),M(a,b)},c.attr=function(a,c){(a.ownerDocument||a)!==G&&F(a);var d=z.attrHandle[c.toLowerCase()],e=d&&Y.call(z.attrHandle,c.toLowerCase())?d(a,c,!I):b;return e===b?x.attributes||!I?a.getAttribute(c):(e=a.getAttributeNode(c))&&e.specified?e.value:null:e},c.error=function(a){throw Error("Syntax error, unrecognized expression: "+a)},c.uniqueSort=function(a){var b,c=[],d=0,e=0;if(U=!x.detectDuplicates,E=!x.sortStable&&a.slice(0),a.sort(V),U){for(;b=a[e++];)b===a[e]&&(d=c.push(e));for(;d--;)a.splice(c[d],1)}return a},A=c.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(1===e||9===e||11===e){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=A(a)}else if(3===e||4===e)return a.nodeValue}else for(;b=a[d];d++)c+=A(b);return c},z=c.selectors={cacheLength:50,createPseudo:e,match:rb,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(xb,yb),a[3]=(a[4]||a[5]||"").replace(xb,yb),"~="===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]||c.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]&&c.error(a[0]),a},PSEUDO:function(a){var c,d=!a[5]&&a[2];return rb.CHILD.test(a[0])?null:(a[3]&&a[4]!==b?a[2]=a[4]:d&&pb.test(d)&&(c=m(d,!0))&&(c=d.indexOf(")",d.length-c)-d.length)&&(a[0]=a[0].slice(0,c),a[2]=d.slice(0,c)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(xb,yb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=R[a+" "];return b||(b=RegExp("(^|"+eb+")"+a+"("+eb+"|$)"))&&R(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==W&&a.getAttribute("class")||"")})},ATTR:function(a,b,d){return function(e){var f=c.attr(e,a);return null==f?"!="===b:b?(f+="","="===b?f===d:"!="===b?f!==d:"^="===b?d&&0===f.indexOf(d):"*="===b?d&&f.indexOf(d)>-1:"$="===b?d&&f.slice(-d.length)===d:"~="===b?(" "+f+" ").indexOf(d)>-1:"|="===b?f===d||f.slice(0,d.length+1)===d+"-":!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;if(q){if(f){for(;p;){for(l=b;l=l[p];)if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){for(k=q[N]||(q[N]={}),j=k[a]||[],n=j[0]===P&&j[1],m=j[0]===P&&j[2],l=n&&q.childNodes[n];l=++n&&l&&l[p]||(m=n=0)||o.pop();)if(1===l.nodeType&&++m&&l===b){k[a]=[P,n,m];break}}else if(s&&(j=(b[N]||(b[N]={}))[a])&&j[0]===P)m=j[1];else for(;(l=++n&&l&&l[p]||(m=n=0)||o.pop())&&((h?l.nodeName.toLowerCase()!==r:1!==l.nodeType)||!++m||(s&&((l[N]||(l[N]={}))[a]=[P,m]),l!==b)););return m-=e,m===d||0===m%d&&m/d>=0}}},PSEUDO:function(a,b){var d,f=z.pseudos[a]||z.setFilters[a.toLowerCase()]||c.error("unsupported pseudo: "+a);return f[N]?f(b):f.length>1?(d=[a,a,"",b],z.setFilters.hasOwnProperty(a.toLowerCase())?e(function(a,c){for(var d,e=f(a,b),g=e.length;g--;)d=cb.call(a,e[g]),a[d]=!(c[d]=e[g])}):function(a){return f(a,0,d)}):f}},pseudos:{not:e(function(a){var b=[],c=[],d=C(a.replace(kb,"$1"));return d[N]?e(function(a,b,c,e){for(var f,g=d(a,null,e,[]),h=a.length;h--;)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:e(function(a){return function(b){return c(a,b).length>0}}),contains:e(function(a){return function(b){return(b.textContent||b.innerText||A(b)).indexOf(a)>-1}}),lang:e(function(a){return qb.test(a||"")||c.error("unsupported lang: "+a),a=a.replace(xb,yb).toLowerCase(),function(b){var c;do if(c=I?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===H},focus:function(a){return a===G.activeElement&&(!G.hasFocus||G.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeName>"@"||3===a.nodeType||4===a.nodeType)return!1;return!0},parent:function(a){return!z.pseudos.empty(a)},header:function(a){return vb.test(a.nodeName)},input:function(a){return ub.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"))||b.toLowerCase()===a.type)},first:k(function(){return[0]}),last:k(function(a,b){return[b-1]}),eq:k(function(a,b,c){return[0>c?c+b:c]}),even:k(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:k(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:k(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:k(function(a,b,c){for(var d=0>c?c+b:c;b>++d;)a.push(d);return a})}},z.pseudos.nth=z.pseudos.eq;for(w in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})z.pseudos[w]=i(w);for(w in{submit:!0,reset:!0})z.pseudos[w]=j(w);l.prototype=z.filters=z.pseudos,z.setFilters=new l,C=c.compile=function(a,b){var c,d=[],e=[],f=T[a+" "];if(!f){for(b||(b=m(a)),c=b.length;c--;)f=s(b[c]),f[N]?d.push(f):e.push(f);f=T(a,t(e,d))}return f},x.sortStable=N.split("").sort(V).join("")===N,x.detectDuplicates=U,F(),x.sortDetached=f(function(a){return 1&a.compareDocumentPosition(G.createElement("div"))}),f(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||g("type|href|height|width",function(a,c,d){return d?b:a.getAttribute(c,"type"===c.toLowerCase()?1:2)}),x.attributes&&f(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||g("value",function(a,c,d){return d||"input"!==a.nodeName.toLowerCase()?b:a.defaultValue}),f(function(a){return null==a.getAttribute("disabled")})||g(db,function(a,c,d){var e;return d?b:(e=a.getAttributeNode(c))&&e.specified?e.value:a[c]===!0?c.toLowerCase():null}),fb.find=c,fb.expr=c.selectors,fb.expr[":"]=fb.expr.pseudos,fb.unique=c.uniqueSort,fb.text=c.getText,fb.isXMLDoc=c.isXML,fb.contains=c.contains}(a);var ob={};fb.Callbacks=function(a){a="string"==typeof a?ob[a]||d(a):fb.extend({},a);var c,e,f,g,h,i,j=[],k=!a.once&&[],l=function(b){for(c=a.memory&&b,e=!0,i=g||0,g=0,h=j.length,f=!0;j&&h>i;i++)if(j[i].apply(b[0],b[1])===!1&&a.stopOnFalse){c=!1;break}f=!1,j&&(k?k.length&&l(k.shift()):c?j=[]:m.disable())},m={add:function(){if(j){var b=j.length;!function d(b){fb.each(b,function(b,c){var e=fb.type(c);"function"===e?a.unique&&m.has(c)||j.push(c):c&&c.length&&"string"!==e&&d(c)})}(arguments),f?h=j.length:c&&(g=b,l(c))}return this},remove:function(){return j&&fb.each(arguments,function(a,b){for(var c;(c=fb.inArray(b,j,c))>-1;)j.splice(c,1),f&&(h>=c&&h--,i>=c&&i--)}),this},has:function(a){return a?fb.inArray(a,j)>-1:!(!j||!j.length)},empty:function(){return j=[],h=0,this},disable:function(){return j=k=c=b,this},disabled:function(){return!j},lock:function(){return k=b,c||m.disable(),this},locked:function(){return!k},fireWith:function(a,b){return!j||e&&!k||(b=b||[],b=[a,b.slice?b.slice():b],f?k.push(b):l(b)),this},fire:function(){return m.fireWith(this,arguments),this},fired:function(){return!!e}};return m},fb.extend({Deferred:function(a){var b=[["resolve","done",fb.Callbacks("once memory"),"resolved"],["reject","fail",fb.Callbacks("once memory"),"rejected"],["notify","progress",fb.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return fb.Deferred(function(c){fb.each(b,function(b,f){var g=f[0],h=fb.isFunction(a[b])&&a[b];e[f[1]](function(){var a=h&&h.apply(this,arguments);a&&fb.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[g+"With"](this===d?c.promise():this,h?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?fb.extend(a,d):d}},e={};return d.pipe=d.then,fb.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b,c,d,e=0,f=ab.call(arguments),g=f.length,h=1!==g||a&&fb.isFunction(a.promise)?g:0,i=1===h?a:fb.Deferred(),j=function(a,c,d){return function(e){c[a]=this,d[a]=arguments.length>1?ab.call(arguments):e,d===b?i.notifyWith(c,d):--h||i.resolveWith(c,d)
+}};if(g>1)for(b=Array(g),c=Array(g),d=Array(g);g>e;e++)f[e]&&fb.isFunction(f[e].promise)?f[e].promise().done(j(e,d,f)).fail(i.reject).progress(j(e,c,b)):--h;return h||i.resolveWith(d,f),i.promise()}}),fb.support=function(b){var c=T.createElement("input"),d=T.createDocumentFragment(),e=T.createElement("div"),f=T.createElement("select"),g=f.appendChild(T.createElement("option"));return c.type?(c.type="checkbox",b.checkOn=""!==c.value,b.optSelected=g.selected,b.reliableMarginRight=!0,b.boxSizingReliable=!0,b.pixelPosition=!1,c.checked=!0,b.noCloneChecked=c.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled,c=T.createElement("input"),c.value="t",c.type="radio",b.radioValue="t"===c.value,c.setAttribute("checked","t"),c.setAttribute("name","t"),d.appendChild(c),b.checkClone=d.cloneNode(!0).cloneNode(!0).lastChild.checked,b.focusinBubbles="onfocusin"in a,e.style.backgroundClip="content-box",e.cloneNode(!0).style.backgroundClip="",b.clearCloneStyle="content-box"===e.style.backgroundClip,fb(function(){var c,d,f="padding:0;margin:0;border:0;display:block;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box",g=T.getElementsByTagName("body")[0];g&&(c=T.createElement("div"),c.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",g.appendChild(c).appendChild(e),e.innerHTML="",e.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%",fb.swap(g,null!=g.style.zoom?{zoom:1}:{},function(){b.boxSizing=4===e.offsetWidth}),a.getComputedStyle&&(b.pixelPosition="1%"!==(a.getComputedStyle(e,null)||{}).top,b.boxSizingReliable="4px"===(a.getComputedStyle(e,null)||{width:"4px"}).width,d=e.appendChild(T.createElement("div")),d.style.cssText=e.style.cssText=f,d.style.marginRight=d.style.width="0",e.style.width="1px",b.reliableMarginRight=!parseFloat((a.getComputedStyle(d,null)||{}).marginRight)),g.removeChild(c))}),b):b}({});var pb,qb,rb=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,sb=/([A-Z])/g;e.uid=1,e.accepts=function(a){return a.nodeType?1===a.nodeType||9===a.nodeType:!0},e.prototype={key:function(a){if(!e.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=e.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,fb.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(fb.isEmptyObject(f))fb.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,c){var d=this.cache[this.key(a)];return c===b?d:d[c]},access:function(a,c,d){var e;return c===b||c&&"string"==typeof c&&d===b?(e=this.get(a,c),e!==b?e:this.get(a,fb.camelCase(c))):(this.set(a,c,d),d!==b?d:c)},remove:function(a,c){var d,e,f,g=this.key(a),h=this.cache[g];if(c===b)this.cache[g]={};else{fb.isArray(c)?e=c.concat(c.map(fb.camelCase)):(f=fb.camelCase(c),c in h?e=[c,f]:(e=f,e=e in h?[e]:e.match(hb)||[])),d=e.length;for(;d--;)delete h[e[d]]}},hasData:function(a){return!fb.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}},pb=new e,qb=new e,fb.extend({acceptData:e.accepts,hasData:function(a){return pb.hasData(a)||qb.hasData(a)},data:function(a,b,c){return pb.access(a,b,c)},removeData:function(a,b){pb.remove(a,b)},_data:function(a,b,c){return qb.access(a,b,c)},_removeData:function(a,b){qb.remove(a,b)}}),fb.fn.extend({data:function(a,c){var d,e,g=this[0],h=0,i=null;if(a===b){if(this.length&&(i=pb.get(g),1===g.nodeType&&!qb.get(g,"hasDataAttrs"))){for(d=g.attributes;d.length>h;h++)e=d[h].name,0===e.indexOf("data-")&&(e=fb.camelCase(e.slice(5)),f(g,e,i[e]));qb.set(g,"hasDataAttrs",!0)}return i}return"object"==typeof a?this.each(function(){pb.set(this,a)}):fb.access(this,function(c){var d,e=fb.camelCase(a);if(g&&c===b){if(d=pb.get(g,a),d!==b)return d;if(d=pb.get(g,e),d!==b)return d;if(d=f(g,e,b),d!==b)return d}else this.each(function(){var d=pb.get(this,e);pb.set(this,e,c),-1!==a.indexOf("-")&&d!==b&&pb.set(this,a,c)})},null,c,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){pb.remove(this,a)})}}),fb.extend({queue:function(a,c,d){var e;return a?(c=(c||"fx")+"queue",e=qb.get(a,c),d&&(!e||fb.isArray(d)?e=qb.access(a,c,fb.makeArray(d)):e.push(d)),e||[]):b},dequeue:function(a,b){b=b||"fx";var c=fb.queue(a,b),d=c.length,e=c.shift(),f=fb._queueHooks(a,b),g=function(){fb.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 qb.get(a,c)||qb.access(a,c,{empty:fb.Callbacks("once memory").add(function(){qb.remove(a,[b+"queue",c])})})}}),fb.fn.extend({queue:function(a,c){var d=2;return"string"!=typeof a&&(c=a,a="fx",d--),d>arguments.length?fb.queue(this[0],a):c===b?this:this.each(function(){var b=fb.queue(this,a,c);fb._queueHooks(this,a),"fx"===a&&"inprogress"!==b[0]&&fb.dequeue(this,a)})},dequeue:function(a){return this.each(function(){fb.dequeue(this,a)})},delay:function(a,b){return a=fb.fx?fb.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){var d,e=1,f=fb.Deferred(),g=this,h=this.length,i=function(){--e||f.resolveWith(g,[g])};for("string"!=typeof a&&(c=a,a=b),a=a||"fx";h--;)d=qb.get(g[h],a+"queueHooks"),d&&d.empty&&(e++,d.empty.add(i));return i(),f.promise(c)}});var tb,ub,vb=/[\t\r\n\f]/g,wb=/\r/g,xb=/^(?:input|select|textarea|button)$/i;fb.fn.extend({attr:function(a,b){return fb.access(this,fb.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){fb.removeAttr(this,a)})},prop:function(a,b){return fb.access(this,fb.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[fb.propFix[a]||a]})},addClass:function(a){var b,c,d,e,f,g=0,h=this.length,i="string"==typeof a&&a;if(fb.isFunction(a))return this.each(function(b){fb(this).addClass(a.call(this,b,this.className))});if(i)for(b=(a||"").match(hb)||[];h>g;g++)if(c=this[g],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(vb," "):" ")){for(f=0;e=b[f++];)0>d.indexOf(" "+e+" ")&&(d+=e+" ");c.className=fb.trim(d)}return this},removeClass:function(a){var b,c,d,e,f,g=0,h=this.length,i=0===arguments.length||"string"==typeof a&&a;if(fb.isFunction(a))return this.each(function(b){fb(this).removeClass(a.call(this,b,this.className))});if(i)for(b=(a||"").match(hb)||[];h>g;g++)if(c=this[g],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(vb," "):"")){for(f=0;e=b[f++];)for(;d.indexOf(" "+e+" ")>=0;)d=d.replace(" "+e+" "," ");c.className=a?fb.trim(d):""}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(fb.isFunction(a)?function(c){fb(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c)for(var b,d=0,e=fb(this),f=a.match(hb)||[];b=f[d++];)e.hasClass(b)?e.removeClass(b):e.addClass(b);else(c===R||"boolean"===c)&&(this.className&&qb.set(this,"__className__",this.className),this.className=this.className||a===!1?"":qb.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(vb," ").indexOf(b)>=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];return arguments.length?(e=fb.isFunction(a),this.each(function(d){var f;1===this.nodeType&&(f=e?a.call(this,d,fb(this).val()):a,null==f?f="":"number"==typeof f?f+="":fb.isArray(f)&&(f=fb.map(f,function(a){return null==a?"":a+""})),c=fb.valHooks[this.type]||fb.valHooks[this.nodeName.toLowerCase()],c&&"set"in c&&c.set(this,f,"value")!==b||(this.value=f))})):f?(c=fb.valHooks[f.type]||fb.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,"string"==typeof d?d.replace(wb,""):null==d?"":d)):void 0}}),fb.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(fb.support.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&fb.nodeName(c.parentNode,"optgroup"))){if(b=fb(c).val(),f)return b;g.push(b)}return g},set:function(a,b){for(var c,d,e=a.options,f=fb.makeArray(b),g=e.length;g--;)d=e[g],(d.selected=fb.inArray(fb(d).val(),f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}},attr:function(a,c,d){var e,f,g=a.nodeType;return a&&3!==g&&8!==g&&2!==g?typeof a.getAttribute===R?fb.prop(a,c,d):(1===g&&fb.isXMLDoc(a)||(c=c.toLowerCase(),e=fb.attrHooks[c]||(fb.expr.match.bool.test(c)?ub:tb)),d===b?e&&"get"in e&&null!==(f=e.get(a,c))?f:(f=fb.find.attr(a,c),null==f?b:f):null!==d?e&&"set"in e&&(f=e.set(a,d,c))!==b?f:(a.setAttribute(c,d+""),d):(fb.removeAttr(a,c),b)):void 0},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(hb);if(f&&1===a.nodeType)for(;c=f[e++];)d=fb.propFix[c]||c,fb.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!fb.support.radioValue&&"radio"===b&&fb.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(a,c,d){var e,f,g,h=a.nodeType;return a&&3!==h&&8!==h&&2!==h?(g=1!==h||!fb.isXMLDoc(a),g&&(c=fb.propFix[c]||c,f=fb.propHooks[c]),d!==b?f&&"set"in f&&(e=f.set(a,d,c))!==b?e:a[c]=d:f&&"get"in f&&null!==(e=f.get(a,c))?e:a[c]):void 0},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||xb.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),ub={set:function(a,b,c){return b===!1?fb.removeAttr(a,c):a.setAttribute(c,c),c}},fb.each(fb.expr.match.bool.source.match(/\w+/g),function(a,c){var d=fb.expr.attrHandle[c]||fb.find.attr;fb.expr.attrHandle[c]=function(a,c,e){var f=fb.expr.attrHandle[c],g=e?b:(fb.expr.attrHandle[c]=b)!=d(a,c,e)?c.toLowerCase():null;return fb.expr.attrHandle[c]=f,g}}),fb.support.optSelected||(fb.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),fb.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){fb.propFix[this.toLowerCase()]=this}),fb.each(["radio","checkbox"],function(){fb.valHooks[this]={set:function(a,c){return fb.isArray(c)?a.checked=fb.inArray(fb(a).val(),c)>=0:b}},fb.support.checkOn||(fb.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var yb=/^key/,zb=/^(?:mouse|contextmenu)|click/,Ab=/^(?:focusinfocus|focusoutblur)$/,Bb=/^([^.]*)(?:\.(.+)|)$/;fb.event={global:{},add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q,r=qb.get(a);if(r){for(d.handler&&(g=d,d=g.handler,f=g.selector),d.guid||(d.guid=fb.guid++),(j=r.events)||(j=r.events={}),(h=r.handle)||(h=r.handle=function(a){return typeof fb===R||a&&fb.event.triggered===a.type?b:fb.event.dispatch.apply(h.elem,arguments)},h.elem=a),c=(c||"").match(hb)||[""],k=c.length;k--;)i=Bb.exec(c[k])||[],o=q=i[1],p=(i[2]||"").split(".").sort(),o&&(m=fb.event.special[o]||{},o=(f?m.delegateType:m.bindType)||o,m=fb.event.special[o]||{},l=fb.extend({type:o,origType:q,data:e,handler:d,guid:d.guid,selector:f,needsContext:f&&fb.expr.match.needsContext.test(f),namespace:p.join(".")},g),(n=j[o])||(n=j[o]=[],n.delegateCount=0,m.setup&&m.setup.call(a,e,p,h)!==!1||a.addEventListener&&a.addEventListener(o,h,!1)),m.add&&(m.add.call(a,l),l.handler.guid||(l.handler.guid=d.guid)),f?n.splice(n.delegateCount++,0,l):n.push(l),fb.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=qb.hasData(a)&&qb.get(a);if(q&&(i=q.events)){for(b=(b||"").match(hb)||[""],j=b.length;j--;)if(h=Bb.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){for(l=fb.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;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||fb.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)fb.event.remove(a,n+b[j],c,d,!0);fb.isEmptyObject(i)&&(delete q.handle,qb.remove(a,"events"))}},trigger:function(c,d,e,f){var g,h,i,j,k,l,m,n=[e||T],o=db.call(c,"type")?c.type:c,p=db.call(c,"namespace")?c.namespace.split("."):[];if(h=i=e=e||T,3!==e.nodeType&&8!==e.nodeType&&!Ab.test(o+fb.event.triggered)&&(o.indexOf(".")>=0&&(p=o.split("."),o=p.shift(),p.sort()),k=0>o.indexOf(":")&&"on"+o,c=c[fb.expando]?c:new fb.Event(o,"object"==typeof c&&c),c.isTrigger=f?2:3,c.namespace=p.join("."),c.namespace_re=c.namespace?RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,c.result=b,c.target||(c.target=e),d=null==d?[c]:fb.makeArray(d,[c]),m=fb.event.special[o]||{},f||!m.trigger||m.trigger.apply(e,d)!==!1)){if(!f&&!m.noBubble&&!fb.isWindow(e)){for(j=m.delegateType||o,Ab.test(j+o)||(h=h.parentNode);h;h=h.parentNode)n.push(h),i=h;i===(e.ownerDocument||T)&&n.push(i.defaultView||i.parentWindow||a)}for(g=0;(h=n[g++])&&!c.isPropagationStopped();)c.type=g>1?j:m.bindType||o,l=(qb.get(h,"events")||{})[c.type]&&qb.get(h,"handle"),l&&l.apply(h,d),l=k&&h[k],l&&fb.acceptData(h)&&l.apply&&l.apply(h,d)===!1&&c.preventDefault();return c.type=o,f||c.isDefaultPrevented()||m._default&&m._default.apply(n.pop(),d)!==!1||!fb.acceptData(e)||k&&fb.isFunction(e[o])&&!fb.isWindow(e)&&(i=e[k],i&&(e[k]=null),fb.event.triggered=o,e[o](),fb.event.triggered=b,i&&(e[k]=i)),c.result}},dispatch:function(a){a=fb.event.fix(a);var c,d,e,f,g,h=[],i=ab.call(arguments),j=(qb.get(this,"events")||{})[a.type]||[],k=fb.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){for(h=fb.event.handlers.call(this,a,j),c=0;(f=h[c++])&&!a.isPropagationStopped();)for(a.currentTarget=f.elem,d=0;(g=f.handlers[d++])&&!a.isImmediatePropagationStopped();)(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((fb.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),e!==b&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()));return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,c){var d,e,f,g,h=[],i=c.delegateCount,j=a.target;if(i&&j.nodeType&&(!a.button||"click"!==a.type))for(;j!==this;j=j.parentNode||this)if(j.disabled!==!0||"click"!==a.type){for(e=[],d=0;i>d;d++)g=c[d],f=g.selector+" ",e[f]===b&&(e[f]=g.needsContext?fb(f,this).index(j)>=0:fb.find(f,this,null,[j]).length),e[f]&&e.push(g);e.length&&h.push({elem:j,handlers:e})}return c.length>i&&h.push({elem:this,handlers:c.slice(i)}),h},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,c){var d,e,f,g=c.button;return null==a.pageX&&null!=c.clientX&&(d=a.target.ownerDocument||T,e=d.documentElement,f=d.body,a.pageX=c.clientX+(e&&e.scrollLeft||f&&f.scrollLeft||0)-(e&&e.clientLeft||f&&f.clientLeft||0),a.pageY=c.clientY+(e&&e.scrollTop||f&&f.scrollTop||0)-(e&&e.clientTop||f&&f.clientTop||0)),a.which||g===b||(a.which=1&g?1:2&g?3:4&g?2:0),a}},fix:function(a){if(a[fb.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];for(g||(this.fixHooks[e]=g=zb.test(e)?this.mouseHooks:yb.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new fb.Event(f),b=d.length;b--;)c=d[b],a[c]=f[c];return a.target||(a.target=T),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==i()&&this.focus?(this.focus(),!1):b},delegateType:"focusin"},blur:{trigger:function(){return this===i()&&this.blur?(this.blur(),!1):b},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&fb.nodeName(this,"input")?(this.click(),!1):b},_default:function(a){return fb.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){a.result!==b&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=fb.extend(new fb.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?fb.event.trigger(e,null,b):fb.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},fb.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)},fb.Event=function(a,c){return this instanceof fb.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.getPreventDefault&&a.getPreventDefault()?g:h):this.type=a,c&&fb.extend(this,c),this.timeStamp=a&&a.timeStamp||fb.now(),this[fb.expando]=!0,b):new fb.Event(a,c)},fb.Event.prototype={isDefaultPrevented:h,isPropagationStopped:h,isImmediatePropagationStopped:h,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=g,a&&a.preventDefault&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=g,a&&a.stopPropagation&&a.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=g,this.stopPropagation()}},fb.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){fb.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!fb.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),fb.support.focusinBubbles||fb.each({focus:"focusin",blur:"focusout"},function(a,b){var c=0,d=function(a){fb.event.simulate(b,a.target,fb.event.fix(a),!0)};fb.event.special[b]={setup:function(){0===c++&&T.addEventListener(a,d,!0)},teardown:function(){0===--c&&T.removeEventListener(a,d,!0)}}}),fb.fn.extend({on:function(a,c,d,e,f){var g,i;if("object"==typeof a){"string"!=typeof c&&(d=d||c,c=b);for(i in a)this.on(i,c,d,a[i],f);return this}if(null==d&&null==e?(e=c,d=c=b):null==e&&("string"==typeof c?(e=d,d=b):(e=d,d=c,c=b)),e===!1)e=h;else if(!e)return this;return 1===f&&(g=e,e=function(a){return fb().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=fb.guid++)),this.each(function(){fb.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){var e,f;if(a&&a.preventDefault&&a.handleObj)return e=a.handleObj,fb(a.delegateTarget).off(e.namespace?e.origType+"."+e.namespace:e.origType,e.selector,e.handler),this;if("object"==typeof a){for(f in a)this.off(f,c,a[f]);return this}return(c===!1||"function"==typeof c)&&(d=c,c=b),d===!1&&(d=h),this.each(function(){fb.event.remove(this,a,d,c)})},trigger:function(a,b){return this.each(function(){fb.event.trigger(a,b,this)})},triggerHandler:function(a,c){var d=this[0];return d?fb.event.trigger(a,c,d,!0):b}});var Cb=/^.[^:#\[\.,]*$/,Db=/^(?:parents|prev(?:Until|All))/,Eb=fb.expr.match.needsContext,Fb={children:!0,contents:!0,next:!0,prev:!0};fb.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(fb(a).filter(function(){for(b=0;e>b;b++)if(fb.contains(d[b],this))return!0}));for(b=0;e>b;b++)fb.find(a,d[b],c);return c=this.pushStack(e>1?fb.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},has:function(a){var b=fb(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(fb.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(k(this,a||[],!0))},filter:function(a){return this.pushStack(k(this,a||[],!1))},is:function(a){return!!k(this,"string"==typeof a&&Eb.test(a)?fb(a):a||[],!1).length},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=Eb.test(a)||"string"!=typeof a?fb(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(11>c.nodeType&&(g?g.index(c)>-1:1===c.nodeType&&fb.find.matchesSelector(c,a))){c=f.push(c);break}return this.pushStack(f.length>1?fb.unique(f):f)},index:function(a){return a?"string"==typeof a?bb.call(fb(a),this[0]):bb.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){var c="string"==typeof a?fb(a,b):fb.makeArray(a&&a.nodeType?[a]:a),d=fb.merge(this.get(),c);return this.pushStack(fb.unique(d))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}}),fb.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return fb.dir(a,"parentNode")},parentsUntil:function(a,b,c){return fb.dir(a,"parentNode",c)},next:function(a){return j(a,"nextSibling")},prev:function(a){return j(a,"previousSibling")},nextAll:function(a){return fb.dir(a,"nextSibling")},prevAll:function(a){return fb.dir(a,"previousSibling")},nextUntil:function(a,b,c){return fb.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return fb.dir(a,"previousSibling",c)},siblings:function(a){return fb.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return fb.sibling(a.firstChild)},contents:function(a){return a.contentDocument||fb.merge([],a.childNodes)}},function(a,b){fb.fn[a]=function(c,d){var e=fb.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=fb.filter(d,e)),this.length>1&&(Fb[a]||fb.unique(e),Db.test(a)&&e.reverse()),this.pushStack(e)}}),fb.extend({filter:function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?fb.find.matchesSelector(d,a)?[d]:[]:fb.find.matches(a,fb.grep(b,function(a){return 1===a.nodeType}))},dir:function(a,c,d){for(var e=[],f=d!==b;(a=a[c])&&9!==a.nodeType;)if(1===a.nodeType){if(f&&fb(a).is(d))break;e.push(a)}return e},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}});var Gb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Hb=/<([\w:]+)/,Ib=/<|&#?\w+;/,Jb=/<(?:script|style|link)/i,Kb=/^(?:checkbox|radio)$/i,Lb=/checked\s*(?:[^=]|=\s*.checked.)/i,Mb=/^$|\/(?:java|ecma)script/i,Nb=/^true\/(.*)/,Ob=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Pb={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Pb.optgroup=Pb.option,Pb.tbody=Pb.tfoot=Pb.colgroup=Pb.caption=Pb.thead,Pb.th=Pb.td,fb.fn.extend({text:function(a){return fb.access(this,function(a){return a===b?fb.text(this):this.empty().append((this[0]&&this[0].ownerDocument||T).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=l(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=l(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?fb.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||fb.cleanData(q(c)),c.parentNode&&(b&&fb.contains(c.ownerDocument,c)&&o(q(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(fb.cleanData(q(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 fb.clone(this,a,b)})},html:function(a){return fb.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b&&1===c.nodeType)return c.innerHTML;if("string"==typeof a&&!Jb.test(a)&&!Pb[(Hb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Gb,"<$1></$2>");try{for(;e>d;d++)c=this[d]||{},1===c.nodeType&&(fb.cleanData(q(c,!1)),c.innerHTML=a);c=0}catch(f){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=fb.map(this,function(a){return[a.nextSibling,a.parentNode]}),b=0;return this.domManip(arguments,function(c){var d=a[b++],e=a[b++];e&&(d&&d.parentNode!==e&&(d=this.nextSibling),fb(this).remove(),e.insertBefore(c,d))},!0),b?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b,c){a=$.apply([],a);var d,e,f,g,h,i,j=0,k=this.length,l=this,o=k-1,p=a[0],r=fb.isFunction(p);if(r||!(1>=k||"string"!=typeof p||fb.support.checkClone)&&Lb.test(p))return this.each(function(d){var e=l.eq(d);r&&(a[0]=p.call(this,d,e.html())),e.domManip(a,b,c)});if(k&&(d=fb.buildFragment(a,this[0].ownerDocument,!1,!c&&this),e=d.firstChild,1===d.childNodes.length&&(d=e),e)){for(f=fb.map(q(d,"script"),m),g=f.length;k>j;j++)h=d,j!==o&&(h=fb.clone(h,!0,!0),g&&fb.merge(f,q(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,fb.map(f,n),j=0;g>j;j++)h=f[j],Mb.test(h.type||"")&&!qb.access(h,"globalEval")&&fb.contains(i,h)&&(h.src?fb._evalUrl(h.src):fb.globalEval(h.textContent.replace(Ob,"")))}return this}}),fb.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){fb.fn[a]=function(a){for(var c,d=[],e=fb(a),f=e.length-1,g=0;f>=g;g++)c=g===f?this:this.clone(!0),fb(e[g])[b](c),_.apply(d,c.get());return this.pushStack(d)}}),fb.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=fb.contains(a.ownerDocument,a);if(!(fb.support.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||fb.isXMLDoc(a)))for(g=q(h),f=q(a),d=0,e=f.length;e>d;d++)r(f[d],g[d]);if(b)if(c)for(f=f||q(a),g=g||q(h),d=0,e=f.length;e>d;d++)p(f[d],g[d]);else p(a,h);return g=q(h,"script"),g.length>0&&o(g,!i&&q(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=0,l=a.length,m=b.createDocumentFragment(),n=[];l>k;k++)if(e=a[k],e||0===e)if("object"===fb.type(e))fb.merge(n,e.nodeType?[e]:e);else if(Ib.test(e)){for(f=f||m.appendChild(b.createElement("div")),g=(Hb.exec(e)||["",""])[1].toLowerCase(),h=Pb[g]||Pb._default,f.innerHTML=h[1]+e.replace(Gb,"<$1></$2>")+h[2],j=h[0];j--;)f=f.lastChild;fb.merge(n,f.childNodes),f=m.firstChild,f.textContent=""}else n.push(b.createTextNode(e));for(m.textContent="",k=0;e=n[k++];)if((!d||-1===fb.inArray(e,d))&&(i=fb.contains(e.ownerDocument,e),f=q(m.appendChild(e),"script"),i&&o(f),c))for(j=0;e=f[j++];)Mb.test(e.type||"")&&c.push(e);return m},cleanData:function(a){for(var c,d,f,g,h,i,j=fb.event.special,k=0;(d=a[k])!==b;k++){if(e.accepts(d)&&(h=d[qb.expando],h&&(c=qb.cache[h]))){if(f=Object.keys(c.events||{}),f.length)for(i=0;(g=f[i])!==b;i++)j[g]?fb.event.remove(d,g):fb.removeEvent(d,g,c.handle);qb.cache[h]&&delete qb.cache[h]}delete pb.cache[d[pb.expando]]}},_evalUrl:function(a){return fb.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),fb.fn.extend({wrapAll:function(a){var b;return fb.isFunction(a)?this.each(function(b){fb(this).wrapAll(a.call(this,b))}):(this[0]&&(b=fb(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;a.firstElementChild;)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(fb.isFunction(a)?function(b){fb(this).wrapInner(a.call(this,b))}:function(){var b=fb(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=fb.isFunction(a);return this.each(function(c){fb(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){fb.nodeName(this,"body")||fb(this).replaceWith(this.childNodes)}).end()}});var Qb,Rb,Sb=/^(none|table(?!-c[ea]).+)/,Tb=/^margin/,Ub=RegExp("^("+gb+")(.*)$","i"),Vb=RegExp("^("+gb+")(?!px)[a-z%]+$","i"),Wb=RegExp("^([+-])=("+gb+")","i"),Xb={BODY:"block"},Yb={position:"absolute",visibility:"hidden",display:"block"},Zb={letterSpacing:0,fontWeight:400},$b=["Top","Right","Bottom","Left"],_b=["Webkit","O","Moz","ms"];fb.fn.extend({css:function(a,c){return fb.access(this,function(a,c,d){var e,f,g={},h=0;if(fb.isArray(c)){for(e=u(a),f=c.length;f>h;h++)g[c[h]]=fb.css(a,c[h],!1,e);return g}return d!==b?fb.style(a,c,d):fb.css(a,c)},a,c,arguments.length>1)},show:function(){return v(this,!0)},hide:function(){return v(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){t(this)?fb(this).show():fb(this).hide()})}}),fb.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Qb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,c,d,e){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var f,g,h,i=fb.camelCase(c),j=a.style;return c=fb.cssProps[i]||(fb.cssProps[i]=s(j,i)),h=fb.cssHooks[c]||fb.cssHooks[i],d===b?h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c]:(g=typeof d,"string"===g&&(f=Wb.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(fb.css(a,c)),g="number"),null==d||"number"===g&&isNaN(d)||("number"!==g||fb.cssNumber[i]||(d+="px"),fb.support.clearCloneStyle||""!==d||0!==c.indexOf("background")||(j[c]="inherit"),h&&"set"in h&&(d=h.set(a,d,e))===b||(j[c]=d)),b)}},css:function(a,c,d,e){var f,g,h,i=fb.camelCase(c);return c=fb.cssProps[i]||(fb.cssProps[i]=s(a.style,i)),h=fb.cssHooks[c]||fb.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,d)),f===b&&(f=Qb(a,c,e)),"normal"===f&&c in Zb&&(f=Zb[c]),""===d||d?(g=parseFloat(f),d===!0||fb.isNumeric(g)?g||0:f):f}}),Qb=function(a,c,d){var e,f,g,h=d||u(a),i=h?h.getPropertyValue(c)||h[c]:b,j=a.style;return h&&(""!==i||fb.contains(a.ownerDocument,a)||(i=fb.style(a,c)),Vb.test(i)&&Tb.test(c)&&(e=j.width,f=j.minWidth,g=j.maxWidth,j.minWidth=j.maxWidth=j.width=i,i=h.width,j.width=e,j.minWidth=f,j.maxWidth=g)),i},fb.each(["height","width"],function(a,c){fb.cssHooks[c]={get:function(a,d,e){return d?0===a.offsetWidth&&Sb.test(fb.css(a,"display"))?fb.swap(a,Yb,function(){return y(a,c,e)}):y(a,c,e):b},set:function(a,b,d){var e=d&&u(a);return w(a,b,d?x(a,c,d,fb.support.boxSizing&&"border-box"===fb.css(a,"boxSizing",!1,e),e):0)}}}),fb(function(){fb.support.reliableMarginRight||(fb.cssHooks.marginRight={get:function(a,c){return c?fb.swap(a,{display:"inline-block"},Qb,[a,"marginRight"]):b}}),!fb.support.pixelPosition&&fb.fn.position&&fb.each(["top","left"],function(a,c){fb.cssHooks[c]={get:function(a,d){return d?(d=Qb(a,c),Vb.test(d)?fb(a).position()[c]+"px":d):b}}})}),fb.expr&&fb.expr.filters&&(fb.expr.filters.hidden=function(a){return 0>=a.offsetWidth&&0>=a.offsetHeight},fb.expr.filters.visible=function(a){return!fb.expr.filters.hidden(a)}),fb.each({margin:"",padding:"",border:"Width"},function(a,b){fb.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+$b[d]+b]=f[d]||f[d-2]||f[0];return e}},Tb.test(a)||(fb.cssHooks[a+b].set=w)});var ac=/%20/g,bc=/\[\]$/,cc=/\r?\n/g,dc=/^(?:submit|button|image|reset|file)$/i,ec=/^(?:input|select|textarea|keygen)/i;fb.fn.extend({serialize:function(){return fb.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=fb.prop(this,"elements");return a?fb.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!fb(this).is(":disabled")&&ec.test(this.nodeName)&&!dc.test(a)&&(this.checked||!Kb.test(a))}).map(function(a,b){var c=fb(this).val();return null==c?null:fb.isArray(c)?fb.map(c,function(a){return{name:b.name,value:a.replace(cc,"\r\n")}}):{name:b.name,value:c.replace(cc,"\r\n")}}).get()}}),fb.param=function(a,c){var d,e=[],f=function(a,b){b=fb.isFunction(b)?b():null==b?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)
+};if(c===b&&(c=fb.ajaxSettings&&fb.ajaxSettings.traditional),fb.isArray(a)||a.jquery&&!fb.isPlainObject(a))fb.each(a,function(){f(this.name,this.value)});else for(d in a)B(d,a[d],c,f);return e.join("&").replace(ac,"+")},fb.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){fb.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),fb.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var fc,gc,hc=fb.now(),ic=/\?/,jc=/#.*$/,kc=/([?&])_=[^&]*/,lc=/^(.*?):[ \t]*([^\r\n]*)$/gm,mc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,nc=/^(?:GET|HEAD)$/,oc=/^\/\//,pc=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,qc=fb.fn.load,rc={},sc={},tc="*/".concat("*");try{gc=S.href}catch(uc){gc=T.createElement("a"),gc.href="",gc=gc.href}fc=pc.exec(gc.toLowerCase())||[],fb.fn.load=function(a,c,d){if("string"!=typeof a&&qc)return qc.apply(this,arguments);var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i),a=a.slice(0,i)),fb.isFunction(c)?(d=c,c=b):c&&"object"==typeof c&&(f="POST"),h.length>0&&fb.ajax({url:a,type:f,dataType:"html",data:c}).done(function(a){g=arguments,h.html(e?fb("<div>").append(fb.parseHTML(a)).find(e):a)}).complete(d&&function(a,b){h.each(d,g||[a.responseText,b,a])}),this},fb.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){fb.fn[b]=function(a){return this.on(b,a)}}),fb.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:gc,type:"GET",isLocal:mc.test(fc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":tc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":fb.parseJSON,"text xml":fb.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?E(E(a,fb.ajaxSettings),b):E(fb.ajaxSettings,a)},ajaxPrefilter:C(rc),ajaxTransport:C(sc),ajax:function(a,c){function d(a,c,d,h){var j,l,s,t,v,x=c;2!==u&&(u=2,i&&clearTimeout(i),e=b,g=h||"",w.readyState=a>0?4:0,j=a>=200&&300>a||304===a,d&&(t=F(m,w,d)),t=G(m,t,w,j),j?(m.ifModified&&(v=w.getResponseHeader("Last-Modified"),v&&(fb.lastModified[f]=v),v=w.getResponseHeader("etag"),v&&(fb.etag[f]=v)),204===a||"HEAD"===m.type?x="nocontent":304===a?x="notmodified":(x=t.state,l=t.data,s=t.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),w.status=a,w.statusText=(c||x)+"",j?p.resolveWith(n,[l,x,w]):p.rejectWith(n,[w,x,s]),w.statusCode(r),r=b,k&&o.trigger(j?"ajaxSuccess":"ajaxError",[w,m,j?l:s]),q.fireWith(n,[w,x]),k&&(o.trigger("ajaxComplete",[w,m]),--fb.active||fb.event.trigger("ajaxStop")))}"object"==typeof a&&(c=a,a=b),c=c||{};var e,f,g,h,i,j,k,l,m=fb.ajaxSetup({},c),n=m.context||m,o=m.context&&(n.nodeType||n.jquery)?fb(n):fb.event,p=fb.Deferred(),q=fb.Callbacks("once memory"),r=m.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getResponseHeader:function(a){var b;if(2===u){if(!h)for(h={};b=lc.exec(g);)h[b[1].toLowerCase()]=b[2];b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===u?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||(m.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>u)for(b in a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||v;return e&&e.abort(b),d(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.error=w.fail,m.url=((a||m.url||gc)+"").replace(jc,"").replace(oc,fc[1]+"//"),m.type=c.method||c.type||m.method||m.type,m.dataTypes=fb.trim(m.dataType||"*").toLowerCase().match(hb)||[""],null==m.crossDomain&&(j=pc.exec(m.url.toLowerCase()),m.crossDomain=!(!j||j[1]===fc[1]&&j[2]===fc[2]&&(j[3]||("http:"===j[1]?"80":"443"))===(fc[3]||("http:"===fc[1]?"80":"443")))),m.data&&m.processData&&"string"!=typeof m.data&&(m.data=fb.param(m.data,m.traditional)),D(rc,m,c,w),2===u)return w;k=m.global,k&&0===fb.active++&&fb.event.trigger("ajaxStart"),m.type=m.type.toUpperCase(),m.hasContent=!nc.test(m.type),f=m.url,m.hasContent||(m.data&&(f=m.url+=(ic.test(f)?"&":"?")+m.data,delete m.data),m.cache===!1&&(m.url=kc.test(f)?f.replace(kc,"$1_="+hc++):f+(ic.test(f)?"&":"?")+"_="+hc++)),m.ifModified&&(fb.lastModified[f]&&w.setRequestHeader("If-Modified-Since",fb.lastModified[f]),fb.etag[f]&&w.setRequestHeader("If-None-Match",fb.etag[f])),(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",m.contentType),w.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+tc+"; q=0.01":""):m.accepts["*"]);for(l in m.headers)w.setRequestHeader(l,m.headers[l]);if(m.beforeSend&&(m.beforeSend.call(n,w,m)===!1||2===u))return w.abort();v="abort";for(l in{success:1,error:1,complete:1})w[l](m[l]);if(e=D(sc,m,c,w)){w.readyState=1,k&&o.trigger("ajaxSend",[w,m]),m.async&&m.timeout>0&&(i=setTimeout(function(){w.abort("timeout")},m.timeout));try{u=1,e.send(s,d)}catch(x){if(!(2>u))throw x;d(-1,x)}}else d(-1,"No Transport");return w},getJSON:function(a,b,c){return fb.get(a,b,c,"json")},getScript:function(a,c){return fb.get(a,b,c,"script")}}),fb.each(["get","post"],function(a,c){fb[c]=function(a,d,e,f){return fb.isFunction(d)&&(f=f||e,e=d,d=b),fb.ajax({url:a,type:c,dataType:f,data:d,success:e})}}),fb.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return fb.globalEval(a),a}}}),fb.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),fb.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=fb("<script>").prop({async:!0,charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),T.head.appendChild(b[0])},abort:function(){c&&c()}}}});var vc=[],wc=/(=)\?(?=&|$)|\?\?/;fb.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=vc.pop()||fb.expando+"_"+hc++;return this[a]=!0,a}}),fb.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.jsonp!==!1&&(wc.test(c.url)?"url":"string"==typeof c.data&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&wc.test(c.data)&&"data");return i||"jsonp"===c.dataTypes[0]?(f=c.jsonpCallback=fb.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,i?c[i]=c[i].replace(wc,"$1"+f):c.jsonp!==!1&&(c.url+=(ic.test(c.url)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||fb.error(f+" was not called"),h[0]},c.dataTypes[0]="json",g=a[f],a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,vc.push(f)),h&&fb.isFunction(g)&&g(h[0]),h=g=b}),"script"):b}),fb.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var xc=fb.ajaxSettings.xhr(),yc={0:200,1223:204},zc=0,Ac={};a.ActiveXObject&&fb(a).on("unload",function(){for(var a in Ac)Ac[a]();Ac=b}),fb.support.cors=!!xc&&"withCredentials"in xc,fb.support.ajax=xc=!!xc,fb.ajaxTransport(function(a){var c;return fb.support.cors||xc&&!a.crossDomain?{send:function(d,e){var f,g,h=a.xhr();if(h.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(f in a.xhrFields)h[f]=a.xhrFields[f];a.mimeType&&h.overrideMimeType&&h.overrideMimeType(a.mimeType),a.crossDomain||d["X-Requested-With"]||(d["X-Requested-With"]="XMLHttpRequest");for(f in d)h.setRequestHeader(f,d[f]);c=function(a){return function(){c&&(delete Ac[g],c=h.onload=h.onerror=null,"abort"===a?h.abort():"error"===a?e(h.status||404,h.statusText):e(yc[h.status]||h.status,h.statusText,"string"==typeof h.responseText?{text:h.responseText}:b,h.getAllResponseHeaders()))}},h.onload=c(),h.onerror=c("error"),c=Ac[g=zc++]=c("abort"),h.send(a.hasContent&&a.data||null)},abort:function(){c&&c()}}:b});var Bc,Cc,Dc=/^(?:toggle|show|hide)$/,Ec=RegExp("^(?:([+-])=|)("+gb+")([a-z%]*)$","i"),Fc=/queueHooks$/,Gc=[L],Hc={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=Ec.exec(b),f=e&&e[3]||(fb.cssNumber[a]?"":"px"),g=(fb.cssNumber[a]||"px"!==f&&+d)&&Ec.exec(fb.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,fb.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};fb.Animation=fb.extend(J,{tweener:function(a,b){fb.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],Hc[c]=Hc[c]||[],Hc[c].unshift(b)},prefilter:function(a,b){b?Gc.unshift(a):Gc.push(a)}}),fb.Tween=M,M.prototype={constructor:M,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(fb.cssNumber[c]?"":"px")},cur:function(){var a=M.propHooks[this.prop];return a&&a.get?a.get(this):M.propHooks._default.get(this)},run:function(a){var b,c=M.propHooks[this.prop];return this.pos=b=this.options.duration?fb.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):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):M.propHooks._default.set(this),this}},M.prototype.init.prototype=M.prototype,M.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=fb.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){fb.fx.step[a.prop]?fb.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[fb.cssProps[a.prop]]||fb.cssHooks[a.prop])?fb.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},M.propHooks.scrollTop=M.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},fb.each(["toggle","show","hide"],function(a,b){var c=fb.fn[b];fb.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(N(b,!0),a,d,e)}}),fb.fn.extend({fadeTo:function(a,b,c,d){return this.filter(t).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=fb.isEmptyObject(a),f=fb.speed(b,c,d),g=function(){var b=J(this,fb.extend({},a),f);(e||qb.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,c,d){var e=function(a){var b=a.stop;delete a.stop,b(d)};return"string"!=typeof a&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,c=null!=a&&a+"queueHooks",f=fb.timers,g=qb.get(this);if(c)g[c]&&g[c].stop&&e(g[c]);else for(c in g)g[c]&&g[c].stop&&Fc.test(c)&&e(g[c]);for(c=f.length;c--;)f[c].elem!==this||null!=a&&f[c].queue!==a||(f[c].anim.stop(d),b=!1,f.splice(c,1));(b||!d)&&fb.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=qb.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=fb.timers,g=d?d.length:0;for(c.finish=!0,fb.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})}}),fb.each({slideDown:N("show"),slideUp:N("hide"),slideToggle:N("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){fb.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),fb.speed=function(a,b,c){var d=a&&"object"==typeof a?fb.extend({},a):{complete:c||!c&&b||fb.isFunction(a)&&a,duration:a,easing:c&&b||b&&!fb.isFunction(b)&&b};return d.duration=fb.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in fb.fx.speeds?fb.fx.speeds[d.duration]:fb.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){fb.isFunction(d.old)&&d.old.call(this),d.queue&&fb.dequeue(this,d.queue)},d},fb.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},fb.timers=[],fb.fx=M.prototype.init,fb.fx.tick=function(){var a,c=fb.timers,d=0;for(Bc=fb.now();c.length>d;d++)a=c[d],a()||c[d]!==a||c.splice(d--,1);c.length||fb.fx.stop(),Bc=b},fb.fx.timer=function(a){a()&&fb.timers.push(a)&&fb.fx.start()},fb.fx.interval=13,fb.fx.start=function(){Cc||(Cc=setInterval(fb.fx.tick,fb.fx.interval))},fb.fx.stop=function(){clearInterval(Cc),Cc=null},fb.fx.speeds={slow:600,fast:200,_default:400},fb.fx.step={},fb.expr&&fb.expr.filters&&(fb.expr.filters.animated=function(a){return fb.grep(fb.timers,function(b){return a===b.elem}).length}),fb.fn.offset=function(a){if(arguments.length)return a===b?this:this.each(function(b){fb.offset.setOffset(this,a,b)});var c,d,e=this[0],f={top:0,left:0},g=e&&e.ownerDocument;return g?(c=g.documentElement,fb.contains(c,e)?(typeof e.getBoundingClientRect!==R&&(f=e.getBoundingClientRect()),d=O(g),{top:f.top+d.pageYOffset-c.clientTop,left:f.left+d.pageXOffset-c.clientLeft}):f):void 0},fb.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=fb.css(a,"position"),l=fb(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=fb.css(a,"top"),i=fb.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),fb.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},fb.fn.extend({position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===fb.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),fb.nodeName(a[0],"html")||(d=a.offset()),d.top+=fb.css(a[0],"borderTopWidth",!0),d.left+=fb.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-fb.css(c,"marginTop",!0),left:b.left-d.left-fb.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||U;a&&!fb.nodeName(a,"html")&&"static"===fb.css(a,"position");)a=a.offsetParent;return a||U})}}),fb.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(c,d){var e="pageYOffset"===d;fb.fn[c]=function(f){return fb.access(this,function(c,f,g){var h=O(c);return g===b?h?h[d]:c[f]:(h?h.scrollTo(e?a.pageXOffset:g,e?g:a.pageYOffset):c[f]=g,b)},c,f,arguments.length,null)}}),fb.each({Height:"height",Width:"width"},function(a,c){fb.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){fb.fn[e]=function(e,f){var g=arguments.length&&(d||"boolean"!=typeof e),h=d||(e===!0||f===!0?"margin":"border");return fb.access(this,function(c,d,e){var f;return fb.isWindow(c)?c.document.documentElement["client"+a]:9===c.nodeType?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?fb.css(c,d,h):fb.style(c,d,e,h)},c,g?e:b,g,null)}})}),fb.fn.size=function(){return this.length},fb.fn.andSelf=fb.fn.addBack,"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=fb:"function"==typeof define&&define.amd&&define("jquery",[],function(){return fb}),"object"==typeof a&&"object"==typeof a.document&&(a.jQuery=a.$=fb)}(window),function(a,b){function c(b,c){var e,f,g,h=b.nodeName.toLowerCase();return"area"===h?(e=b.parentNode,f=e.name,b.href&&f&&"map"===e.nodeName.toLowerCase()?(g=a("img[usemap=#"+f+"]")[0],!!g&&d(g)):!1):(/input|select|textarea|button|object/.test(h)?!b.disabled:"a"===h?b.href||c:c)&&d(b)}function d(b){return a.expr.filters.visible(b)&&!a(b).parents().addBack().filter(function(){return"hidden"===a.css(this,"visibility")}).length}var e=0,f=/^ui-id-\d+$/;a.ui=a.ui||{},a.extend(a.ui,{version:"1.10.3",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),a.fn.extend({focus:function(b){return function(c,d){return"number"==typeof c?this.each(function(){var b=this;setTimeout(function(){a(b).focus(),d&&d.call(b)},c)}):b.apply(this,arguments)}}(a.fn.focus),scrollParent:function(){var b;return b=a.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.css(this,"position"))&&/(auto|scroll)/.test(a.css(this,"overflow")+a.css(this,"overflow-y")+a.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(a.css(this,"overflow")+a.css(this,"overflow-y")+a.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length)for(var d,e,f=a(this[0]);f.length&&f[0]!==document;){if(d=f.css("position"),("absolute"===d||"relative"===d||"fixed"===d)&&(e=parseInt(f.css("zIndex"),10),!isNaN(e)&&0!==e))return e;f=f.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++e)})},removeUniqueId:function(){return this.each(function(){f.test(this.id)&&a(this).removeAttr("id")})}}),a.extend(a.expr[":"],{data:a.expr.createPseudo?a.expr.createPseudo(function(b){return function(c){return!!a.data(c,b)}}):function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a("<a>").outerWidth(1).jquery||a.each(["Width","Height"],function(c,d){function e(b,c,d,e){return a.each(f,function(){c-=parseFloat(a.css(b,"padding"+this))||0,d&&(c-=parseFloat(a.css(b,"border"+this+"Width"))||0),e&&(c-=parseFloat(a.css(b,"margin"+this))||0)}),c}var f="Width"===d?["Left","Right"]:["Top","Bottom"],g=d.toLowerCase(),h={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){return c===b?h["inner"+d].call(this):this.each(function(){a(this).css(g,e(this,c)+"px")})},a.fn["outer"+d]=function(b,c){return"number"!=typeof b?h["outer"+d].call(this,b):this.each(function(){a(this).css(g,e(this,b,!0,c)+"px")})}}),a.fn.addBack||(a.fn.addBack=function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}),a("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(a.fn.removeData=function(b){return function(c){return arguments.length?b.call(this,a.camelCase(c)):b.call(this)}}(a.fn.removeData)),a.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),a.support.selectstart="onselectstart"in document.createElement("div"),a.fn.extend({disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a.extend(a.ui,{plugin:{add:function(b,c,d){var e,f=a.ui[b].prototype;for(e in d)f.plugins[e]=f.plugins[e]||[],f.plugins[e].push([c,d[e]])},call:function(a,b,c){var d,e=a.plugins[b];if(e&&a.element[0].parentNode&&11!==a.element[0].parentNode.nodeType)for(d=0;e.length>d;d++)a.options[e[d][0]]&&e[d][1].apply(a.element,c)}},hasScroll:function(b,c){if("hidden"===a(b).css("overflow"))return!1;var d=c&&"left"===c?"scrollLeft":"scrollTop",e=!1;return b[d]>0?!0:(b[d]=1,e=b[d]>0,b[d]=0,e)}})}(jQuery),function(a,b){var c=0,d=Array.prototype.slice,e=a.cleanData;a.cleanData=function(b){for(var c,d=0;null!=(c=b[d]);d++)try{a(c).triggerHandler("remove")}catch(f){}e(b)},a.widget=function(c,d,e){var f,g,h,i,j={},k=c.split(".")[0];c=c.split(".")[1],f=k+"-"+c,e||(e=d,d=a.Widget),a.expr[":"][f.toLowerCase()]=function(b){return!!a.data(b,f)},a[k]=a[k]||{},g=a[k][c],h=a[k][c]=function(a,c){return this._createWidget?(arguments.length&&this._createWidget(a,c),b):new h(a,c)},a.extend(h,g,{version:e.version,_proto:a.extend({},e),_childConstructors:[]}),i=new d,i.options=a.widget.extend({},i.options),a.each(e,function(c,e){return a.isFunction(e)?(j[c]=function(){var a=function(){return d.prototype[c].apply(this,arguments)},b=function(a){return d.prototype[c].apply(this,a)};return function(){var c,d=this._super,f=this._superApply;return this._super=a,this._superApply=b,c=e.apply(this,arguments),this._super=d,this._superApply=f,c}}(),b):(j[c]=e,b)}),h.prototype=a.widget.extend(i,{widgetEventPrefix:g?i.widgetEventPrefix:c},j,{constructor:h,namespace:k,widgetName:c,widgetFullName:f}),g?(a.each(g._childConstructors,function(b,c){var d=c.prototype;a.widget(d.namespace+"."+d.widgetName,h,c._proto)}),delete g._childConstructors):d._childConstructors.push(h),a.widget.bridge(c,h)},a.widget.extend=function(c){for(var e,f,g=d.call(arguments,1),h=0,i=g.length;i>h;h++)for(e in g[h])f=g[h][e],g[h].hasOwnProperty(e)&&f!==b&&(c[e]=a.isPlainObject(f)?a.isPlainObject(c[e])?a.widget.extend({},c[e],f):a.widget.extend({},f):f);return c},a.widget.bridge=function(c,e){var f=e.prototype.widgetFullName||c;a.fn[c]=function(g){var h="string"==typeof g,i=d.call(arguments,1),j=this;return g=!h&&i.length?a.widget.extend.apply(null,[g].concat(i)):g,this.each(h?function(){var d,e=a.data(this,f);return e?a.isFunction(e[g])&&"_"!==g.charAt(0)?(d=e[g].apply(e,i),d!==e&&d!==b?(j=d&&d.jquery?j.pushStack(d.get()):d,!1):b):a.error("no such method '"+g+"' for "+c+" widget instance"):a.error("cannot call methods on "+c+" prior to initialization; attempted to call method '"+g+"'")}:function(){var b=a.data(this,f);b?b.option(g||{})._init():a.data(this,f,new e(g,this))}),j}},a.Widget=function(){},a.Widget._childConstructors=[],a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(b,d){d=a(d||this.defaultElement||this)[0],this.element=a(d),this.uuid=c++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=a.widget.extend({},this.options,this._getCreateOptions(),b),this.bindings=a(),this.hoverable=a(),this.focusable=a(),d!==this&&(a.data(d,this.widgetFullName,this),this._on(!0,this.element,{remove:function(a){a.target===d&&this.destroy()}}),this.document=a(d.style?d.ownerDocument:d.document||d),this.window=a(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:a.noop,_getCreateEventData:a.noop,_create:a.noop,_init:a.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(a.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:a.noop,widget:function(){return this.element},option:function(c,d){var e,f,g,h=c;if(0===arguments.length)return a.widget.extend({},this.options);if("string"==typeof c)if(h={},e=c.split("."),c=e.shift(),e.length){for(f=h[c]=a.widget.extend({},this.options[c]),g=0;e.length-1>g;g++)f[e[g]]=f[e[g]]||{},f=f[e[g]];if(c=e.pop(),d===b)return f[c]===b?null:f[c];f[c]=d}else{if(d===b)return this.options[c]===b?null:this.options[c];h[c]=d}return this._setOptions(h),this},_setOptions:function(a){var b;for(b in a)this._setOption(b,a[b]);return this},_setOption:function(a,b){return this.options[a]=b,"disabled"===a&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!b).attr("aria-disabled",b),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(c,d,e){var f,g=this;"boolean"!=typeof c&&(e=d,d=c,c=!1),e?(d=f=a(d),this.bindings=this.bindings.add(d)):(e=d,d=this.element,f=this.widget()),a.each(e,function(e,h){function i(){return c||g.options.disabled!==!0&&!a(this).hasClass("ui-state-disabled")?("string"==typeof h?g[h]:h).apply(g,arguments):b}"string"!=typeof h&&(i.guid=h.guid=h.guid||i.guid||a.guid++);var j=e.match(/^(\w+)\s*(.*)$/),k=j[1]+g.eventNamespace,l=j[2];l?f.delegate(l,k,i):d.bind(k,i)})},_off:function(a,b){b=(b||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,a.unbind(b).undelegate(b)},_delay:function(a,b){function c(){return("string"==typeof a?d[a]:a).apply(d,arguments)}var d=this;return setTimeout(c,b||0)},_hoverable:function(b){this.hoverable=this.hoverable.add(b),this._on(b,{mouseenter:function(b){a(b.currentTarget).addClass("ui-state-hover")},mouseleave:function(b){a(b.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(b){this.focusable=this.focusable.add(b),this._on(b,{focusin:function(b){a(b.currentTarget).addClass("ui-state-focus")},focusout:function(b){a(b.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(b,c,d){var e,f,g=this.options[b];if(d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent)for(e in f)e in c||(c[e]=f[e]);return this.element.trigger(c,d),!(a.isFunction(g)&&g.apply(this.element[0],[c].concat(d))===!1||c.isDefaultPrevented())}},a.each({show:"fadeIn",hide:"fadeOut"},function(b,c){a.Widget.prototype["_"+b]=function(d,e,f){"string"==typeof e&&(e={effect:e});var g,h=e?e===!0||"number"==typeof e?c:e.effect||c:b;e=e||{},"number"==typeof e&&(e={duration:e}),g=!a.isEmptyObject(e),e.complete=f,e.delay&&d.delay(e.delay),g&&a.effects&&a.effects.effect[h]?d[b](e):h!==b&&d[h]?d[h](e.duration,e.easing,f):d.queue(function(c){a(this)[b](),f&&f.call(d[0]),c()})}})}(jQuery),function(a){var b=!1;a(document).mouseup(function(){b=!1}),a.widget("ui.mouse",{version:"1.10.3",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(a){return b._mouseDown(a)}).bind("click."+this.widgetName,function(c){return!0===a.data(c.target,b.widgetName+".preventClickEvent")?(a.removeData(c.target,b.widgetName+".preventClickEvent"),c.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(c){if(!b){this._mouseStarted&&this._mouseUp(c),this._mouseDownEvent=c;var d=this,e=1===c.which,f="string"==typeof this.options.cancel&&c.target.nodeName?a(c.target).closest(this.options.cancel).length:!1;return e&&!f&&this._mouseCapture(c)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){d.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(c)&&this._mouseDelayMet(c)&&(this._mouseStarted=this._mouseStart(c)!==!1,!this._mouseStarted)?(c.preventDefault(),!0):(!0===a.data(c.target,this.widgetName+".preventClickEvent")&&a.removeData(c.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(a){return d._mouseMove(a)},this._mouseUpDelegate=function(a){return d._mouseUp(a)},a(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),c.preventDefault(),b=!0,!0)):!0}},_mouseMove:function(b){return a.ui.ie&&(!document.documentMode||9>document.documentMode)&&!b.button?this._mouseUp(b):this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted)},_mouseUp:function(b){return a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target===this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b)),!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})}(jQuery),function(a){a.widget("ui.draggable",a.ui.mouse,{version:"1.10.3",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(b){var c=this.options;return this.helper||c.disabled||a(b.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(b),this.handle?(a(c.iframeFix===!0?"iframe":c.iframeFix).each(function(){a("<div class='ui-draggable-iframeFix' style='background: #fff;'></div>").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(a(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(b){var c=this.options;return this.helper=this._createHelper(b),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),a.ui.ddmanager&&(a.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offsetParent=this.helper.offsetParent(),this.offsetParentCssPosition=this.offsetParent.css("position"),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.offset.scroll=!1,a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt),this._setContainment(),this._trigger("start",b)===!1?(this._clear(),!1):(this._cacheHelperProportions(),a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this._mouseDrag(b,!0),a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,b),!0)},_mouseDrag:function(b,c){if("fixed"===this.offsetParentCssPosition&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),!c){var d=this._uiHash();if(this._trigger("drag",b,d)===!1)return this._mouseUp({}),!1;this.position=d.position}return this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),!1},_mouseStop:function(b){var c=this,d=!1;return a.ui.ddmanager&&!this.options.dropBehaviour&&(d=a.ui.ddmanager.drop(this,b)),this.dropped&&(d=this.dropped,this.dropped=!1),"original"!==this.options.helper||a.contains(this.element[0].ownerDocument,this.element[0])?("invalid"===this.options.revert&&!d||"valid"===this.options.revert&&d||this.options.revert===!0||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,d)?a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",b)!==!1&&c._clear()
+}):this._trigger("stop",b)!==!1&&this._clear(),!1):!1},_mouseUp:function(b){return a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,b),a.ui.mouse.prototype._mouseUp.call(this,b)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(b){return this.options.handle?!!a(b.target).closest(this.element.find(this.options.handle)).length:!0},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b])):"clone"===c.helper?this.element.clone().removeAttr("id"):this.element;return d.parents("body").length||d.appendTo("parent"===c.appendTo?this.element[0].parentNode:c.appendTo),d[0]===this.element[0]||/(fixed|absolute)/.test(d.css("position"))||d.css("position","absolute"),d},_adjustOffsetFromHelper:function(b){"string"==typeof b&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){var b=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&a.ui.ie)&&(b={top:0,left:0}),{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b,c,d,e=this.options;return e.containment?"window"===e.containment?void(this.containment=[a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,a(window).scrollLeft()+a(window).width()-this.helperProportions.width-this.margins.left,a(window).scrollTop()+(a(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):"document"===e.containment?void(this.containment=[0,0,a(document).width()-this.helperProportions.width-this.margins.left,(a(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):e.containment.constructor===Array?void(this.containment=e.containment):("parent"===e.containment&&(e.containment=this.helper[0].parentNode),c=a(e.containment),d=c[0],void(d&&(b="hidden"!==c.css("overflow"),this.containment=[(parseInt(c.css("borderLeftWidth"),10)||0)+(parseInt(c.css("paddingLeft"),10)||0),(parseInt(c.css("borderTopWidth"),10)||0)+(parseInt(c.css("paddingTop"),10)||0),(b?Math.max(d.scrollWidth,d.offsetWidth):d.offsetWidth)-(parseInt(c.css("borderRightWidth"),10)||0)-(parseInt(c.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(b?Math.max(d.scrollHeight,d.offsetHeight):d.offsetHeight)-(parseInt(c.css("borderBottomWidth"),10)||0)-(parseInt(c.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=c))):void(this.containment=null)},_convertPositionTo:function(b,c){c||(c=this.position);var d="absolute"===b?1:-1,e="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent;return this.offset.scroll||(this.offset.scroll={top:e.scrollTop(),left:e.scrollLeft()}),{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top)*d,left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)*d}},_generatePosition:function(b){var c,d,e,f,g=this.options,h="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,i=b.pageX,j=b.pageY;return this.offset.scroll||(this.offset.scroll={top:h.scrollTop(),left:h.scrollLeft()}),this.originalPosition&&(this.containment&&(this.relative_container?(d=this.relative_container.offset(),c=[this.containment[0]+d.left,this.containment[1]+d.top,this.containment[2]+d.left,this.containment[3]+d.top]):c=this.containment,b.pageX-this.offset.click.left<c[0]&&(i=c[0]+this.offset.click.left),b.pageY-this.offset.click.top<c[1]&&(j=c[1]+this.offset.click.top),b.pageX-this.offset.click.left>c[2]&&(i=c[2]+this.offset.click.left),b.pageY-this.offset.click.top>c[3]&&(j=c[3]+this.offset.click.top)),g.grid&&(e=g.grid[1]?this.originalPageY+Math.round((j-this.originalPageY)/g.grid[1])*g.grid[1]:this.originalPageY,j=c?e-this.offset.click.top>=c[1]||e-this.offset.click.top>c[3]?e:e-this.offset.click.top>=c[1]?e-g.grid[1]:e+g.grid[1]:e,f=g.grid[0]?this.originalPageX+Math.round((i-this.originalPageX)/g.grid[0])*g.grid[0]:this.originalPageX,i=c?f-this.offset.click.left>=c[0]||f-this.offset.click.left>c[2]?f:f-this.offset.click.left>=c[0]?f-g.grid[0]:f+g.grid[0]:f)),{top:j-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top),left:i-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(b,c,d){return d=d||this._uiHash(),a.ui.plugin.call(this,b,[c,d]),"drag"===b&&(this.positionAbs=this._convertPositionTo("absolute")),a.Widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),a.ui.plugin.add("draggable","connectToSortable",{start:function(b,c){var d=a(this).data("ui-draggable"),e=d.options,f=a.extend({},c,{item:d.element});d.sortables=[],a(e.connectToSortable).each(function(){var c=a.data(this,"ui-sortable");c&&!c.options.disabled&&(d.sortables.push({instance:c,shouldRevert:c.options.revert}),c.refreshPositions(),c._trigger("activate",b,f))})},stop:function(b,c){var d=a(this).data("ui-draggable"),e=a.extend({},c,{item:d.element});a.each(d.sortables,function(){this.instance.isOver?(this.instance.isOver=0,d.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(b),this.instance.options.helper=this.instance.options._helper,"original"===d.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",b,e))})},drag:function(b,c){var d=a(this).data("ui-draggable"),e=this;a.each(d.sortables,function(){var f=!1,g=this;this.instance.positionAbs=d.positionAbs,this.instance.helperProportions=d.helperProportions,this.instance.offset.click=d.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(f=!0,a.each(d.sortables,function(){return this.instance.positionAbs=d.positionAbs,this.instance.helperProportions=d.helperProportions,this.instance.offset.click=d.offset.click,this!==g&&this.instance._intersectsWith(this.instance.containerCache)&&a.contains(g.instance.element[0],this.instance.element[0])&&(f=!1),f})),f?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=a(e).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return c.helper[0]},b.target=this.instance.currentItem[0],this.instance._mouseCapture(b,!0),this.instance._mouseStart(b,!0,!0),this.instance.offset.click.top=d.offset.click.top,this.instance.offset.click.left=d.offset.click.left,this.instance.offset.parent.left-=d.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=d.offset.parent.top-this.instance.offset.parent.top,d._trigger("toSortable",b),d.dropped=this.instance.element,d.currentItem=d.element,this.instance.fromOutside=d),this.instance.currentItem&&this.instance._mouseDrag(b)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",b,this.instance._uiHash(this.instance)),this.instance._mouseStop(b,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),d._trigger("fromSortable",b),d.dropped=!1)})}}),a.ui.plugin.add("draggable","cursor",{start:function(){var b=a("body"),c=a(this).data("ui-draggable").options;b.css("cursor")&&(c._cursor=b.css("cursor")),b.css("cursor",c.cursor)},stop:function(){var b=a(this).data("ui-draggable").options;b._cursor&&a("body").css("cursor",b._cursor)}}),a.ui.plugin.add("draggable","opacity",{start:function(b,c){var d=a(c.helper),e=a(this).data("ui-draggable").options;d.css("opacity")&&(e._opacity=d.css("opacity")),d.css("opacity",e.opacity)},stop:function(b,c){var d=a(this).data("ui-draggable").options;d._opacity&&a(c.helper).css("opacity",d._opacity)}}),a.ui.plugin.add("draggable","scroll",{start:function(){var b=a(this).data("ui-draggable");b.scrollParent[0]!==document&&"HTML"!==b.scrollParent[0].tagName&&(b.overflowOffset=b.scrollParent.offset())},drag:function(b){var c=a(this).data("ui-draggable"),d=c.options,e=!1;c.scrollParent[0]!==document&&"HTML"!==c.scrollParent[0].tagName?(d.axis&&"x"===d.axis||(c.overflowOffset.top+c.scrollParent[0].offsetHeight-b.pageY<d.scrollSensitivity?c.scrollParent[0].scrollTop=e=c.scrollParent[0].scrollTop+d.scrollSpeed:b.pageY-c.overflowOffset.top<d.scrollSensitivity&&(c.scrollParent[0].scrollTop=e=c.scrollParent[0].scrollTop-d.scrollSpeed)),d.axis&&"y"===d.axis||(c.overflowOffset.left+c.scrollParent[0].offsetWidth-b.pageX<d.scrollSensitivity?c.scrollParent[0].scrollLeft=e=c.scrollParent[0].scrollLeft+d.scrollSpeed:b.pageX-c.overflowOffset.left<d.scrollSensitivity&&(c.scrollParent[0].scrollLeft=e=c.scrollParent[0].scrollLeft-d.scrollSpeed))):(d.axis&&"x"===d.axis||(b.pageY-a(document).scrollTop()<d.scrollSensitivity?e=a(document).scrollTop(a(document).scrollTop()-d.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<d.scrollSensitivity&&(e=a(document).scrollTop(a(document).scrollTop()+d.scrollSpeed))),d.axis&&"y"===d.axis||(b.pageX-a(document).scrollLeft()<d.scrollSensitivity?e=a(document).scrollLeft(a(document).scrollLeft()-d.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<d.scrollSensitivity&&(e=a(document).scrollLeft(a(document).scrollLeft()+d.scrollSpeed)))),e!==!1&&a.ui.ddmanager&&!d.dropBehaviour&&a.ui.ddmanager.prepareOffsets(c,b)}}),a.ui.plugin.add("draggable","snap",{start:function(){var b=a(this).data("ui-draggable"),c=b.options;b.snapElements=[],a(c.snap.constructor!==String?c.snap.items||":data(ui-draggable)":c.snap).each(function(){var c=a(this),d=c.offset();this!==b.element[0]&&b.snapElements.push({item:this,width:c.outerWidth(),height:c.outerHeight(),top:d.top,left:d.left})})},drag:function(b,c){var d,e,f,g,h,i,j,k,l,m,n=a(this).data("ui-draggable"),o=n.options,p=o.snapTolerance,q=c.offset.left,r=q+n.helperProportions.width,s=c.offset.top,t=s+n.helperProportions.height;for(l=n.snapElements.length-1;l>=0;l--)h=n.snapElements[l].left,i=h+n.snapElements[l].width,j=n.snapElements[l].top,k=j+n.snapElements[l].height,h-p>r||q>i+p||j-p>t||s>k+p||!a.contains(n.snapElements[l].item.ownerDocument,n.snapElements[l].item)?(n.snapElements[l].snapping&&n.options.snap.release&&n.options.snap.release.call(n.element,b,a.extend(n._uiHash(),{snapItem:n.snapElements[l].item})),n.snapElements[l].snapping=!1):("inner"!==o.snapMode&&(d=p>=Math.abs(j-t),e=p>=Math.abs(k-s),f=p>=Math.abs(h-r),g=p>=Math.abs(i-q),d&&(c.position.top=n._convertPositionTo("relative",{top:j-n.helperProportions.height,left:0}).top-n.margins.top),e&&(c.position.top=n._convertPositionTo("relative",{top:k,left:0}).top-n.margins.top),f&&(c.position.left=n._convertPositionTo("relative",{top:0,left:h-n.helperProportions.width}).left-n.margins.left),g&&(c.position.left=n._convertPositionTo("relative",{top:0,left:i}).left-n.margins.left)),m=d||e||f||g,"outer"!==o.snapMode&&(d=p>=Math.abs(j-s),e=p>=Math.abs(k-t),f=p>=Math.abs(h-q),g=p>=Math.abs(i-r),d&&(c.position.top=n._convertPositionTo("relative",{top:j,left:0}).top-n.margins.top),e&&(c.position.top=n._convertPositionTo("relative",{top:k-n.helperProportions.height,left:0}).top-n.margins.top),f&&(c.position.left=n._convertPositionTo("relative",{top:0,left:h}).left-n.margins.left),g&&(c.position.left=n._convertPositionTo("relative",{top:0,left:i-n.helperProportions.width}).left-n.margins.left)),!n.snapElements[l].snapping&&(d||e||f||g||m)&&n.options.snap.snap&&n.options.snap.snap.call(n.element,b,a.extend(n._uiHash(),{snapItem:n.snapElements[l].item})),n.snapElements[l].snapping=d||e||f||g||m)}}),a.ui.plugin.add("draggable","stack",{start:function(){var b,c=this.data("ui-draggable").options,d=a.makeArray(a(c.stack)).sort(function(b,c){return(parseInt(a(b).css("zIndex"),10)||0)-(parseInt(a(c).css("zIndex"),10)||0)});d.length&&(b=parseInt(a(d[0]).css("zIndex"),10)||0,a(d).each(function(c){a(this).css("zIndex",b+c)}),this.css("zIndex",b+d.length))}}),a.ui.plugin.add("draggable","zIndex",{start:function(b,c){var d=a(c.helper),e=a(this).data("ui-draggable").options;d.css("zIndex")&&(e._zIndex=d.css("zIndex")),d.css("zIndex",e.zIndex)},stop:function(b,c){var d=a(this).data("ui-draggable").options;d._zIndex&&a(c.helper).css("zIndex",d._zIndex)}})}(jQuery),function(a){function b(a){return parseInt(a,10)||0}function c(a){return!isNaN(parseInt(a,10))}a.widget("ui.resizable",a.ui.mouse,{version:"1.10.3",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_create:function(){var b,c,d,e,f,g=this,h=this.options;if(this.element.addClass("ui-resizable"),a.extend(this,{_aspectRatio:!!h.aspectRatio,aspectRatio:h.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:h.helper||h.ghost||h.animate?h.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(a("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.data("ui-resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=h.handles||(a(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),b=this.handles.split(","),this.handles={},c=0;b.length>c;c++)d=a.trim(b[c]),f="ui-resizable-"+d,e=a("<div class='ui-resizable-handle "+f+"'></div>"),e.css({zIndex:h.zIndex}),"se"===d&&e.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[d]=".ui-resizable-"+d,this.element.append(e);this._renderAxis=function(b){var c,d,e,f;b=b||this.element;for(c in this.handles)this.handles[c].constructor===String&&(this.handles[c]=a(this.handles[c],this.element).show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(d=a(this.handles[c],this.element),f=/sw|ne|nw|se|n|s/.test(c)?d.outerHeight():d.outerWidth(),e=["padding",/ne|nw|n/.test(c)?"Top":/se|sw|s/.test(c)?"Bottom":/^e$/.test(c)?"Right":"Left"].join(""),b.css(e,f),this._proportionallyResize()),a(this.handles[c]).length},this._renderAxis(this.element),this._handles=a(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){g.resizing||(this.className&&(e=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),g.axis=e&&e[1]?e[1]:"se")}),h.autoHide&&(this._handles.hide(),a(this.element).addClass("ui-resizable-autohide").mouseenter(function(){h.disabled||(a(this).removeClass("ui-resizable-autohide"),g._handles.show())}).mouseleave(function(){h.disabled||g.resizing||(a(this).addClass("ui-resizable-autohide"),g._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var b,c=function(b){a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(c(this.element),b=this.element,this.originalElement.css({position:b.css("position"),width:b.outerWidth(),height:b.outerHeight(),top:b.css("top"),left:b.css("left")}).insertAfter(b),b.remove()),this.originalElement.css("resize",this.originalResizeStyle),c(this.originalElement),this},_mouseCapture:function(b){var c,d,e=!1;for(c in this.handles)d=a(this.handles[c])[0],(d===b.target||a.contains(d,b.target))&&(e=!0);return!this.options.disabled&&e},_mouseStart:function(c){var d,e,f,g=this.options,h=this.element.position(),i=this.element;return this.resizing=!0,/absolute/.test(i.css("position"))?i.css({position:"absolute",top:i.css("top"),left:i.css("left")}):i.is(".ui-draggable")&&i.css({position:"absolute",top:h.top,left:h.left}),this._renderProxy(),d=b(this.helper.css("left")),e=b(this.helper.css("top")),g.containment&&(d+=a(g.containment).scrollLeft()||0,e+=a(g.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:d,top:e},this.size=this._helper?{width:i.outerWidth(),height:i.outerHeight()}:{width:i.width(),height:i.height()},this.originalSize=this._helper?{width:i.outerWidth(),height:i.outerHeight()}:{width:i.width(),height:i.height()},this.originalPosition={left:d,top:e},this.sizeDiff={width:i.outerWidth()-i.width(),height:i.outerHeight()-i.height()},this.originalMousePosition={left:c.pageX,top:c.pageY},this.aspectRatio="number"==typeof g.aspectRatio?g.aspectRatio:this.originalSize.width/this.originalSize.height||1,f=a(".ui-resizable-"+this.axis).css("cursor"),a("body").css("cursor","auto"===f?this.axis+"-resize":f),i.addClass("ui-resizable-resizing"),this._propagate("start",c),!0},_mouseDrag:function(b){var c,d=this.helper,e={},f=this.originalMousePosition,g=this.axis,h=this.position.top,i=this.position.left,j=this.size.width,k=this.size.height,l=b.pageX-f.left||0,m=b.pageY-f.top||0,n=this._change[g];return n?(c=n.apply(this,[b,l,m]),this._updateVirtualBoundaries(b.shiftKey),(this._aspectRatio||b.shiftKey)&&(c=this._updateRatio(c,b)),c=this._respectSize(c,b),this._updateCache(c),this._propagate("resize",b),this.position.top!==h&&(e.top=this.position.top+"px"),this.position.left!==i&&(e.left=this.position.left+"px"),this.size.width!==j&&(e.width=this.size.width+"px"),this.size.height!==k&&(e.height=this.size.height+"px"),d.css(e),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),a.isEmptyObject(e)||this._trigger("resize",b,this.ui()),!1):!1},_mouseStop:function(b){this.resizing=!1;var c,d,e,f,g,h,i,j=this.options,k=this;return this._helper&&(c=this._proportionallyResizeElements,d=c.length&&/textarea/i.test(c[0].nodeName),e=d&&a.ui.hasScroll(c[0],"left")?0:k.sizeDiff.height,f=d?0:k.sizeDiff.width,g={width:k.helper.width()-f,height:k.helper.height()-e},h=parseInt(k.element.css("left"),10)+(k.position.left-k.originalPosition.left)||null,i=parseInt(k.element.css("top"),10)+(k.position.top-k.originalPosition.top)||null,j.animate||this.element.css(a.extend(g,{top:i,left:h})),k.helper.height(k.size.height),k.helper.width(k.size.width),this._helper&&!j.animate&&this._proportionallyResize()),a("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",b),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(a){var b,d,e,f,g,h=this.options;g={minWidth:c(h.minWidth)?h.minWidth:0,maxWidth:c(h.maxWidth)?h.maxWidth:1/0,minHeight:c(h.minHeight)?h.minHeight:0,maxHeight:c(h.maxHeight)?h.maxHeight:1/0},(this._aspectRatio||a)&&(b=g.minHeight*this.aspectRatio,e=g.minWidth/this.aspectRatio,d=g.maxHeight*this.aspectRatio,f=g.maxWidth/this.aspectRatio,b>g.minWidth&&(g.minWidth=b),e>g.minHeight&&(g.minHeight=e),g.maxWidth>d&&(g.maxWidth=d),g.maxHeight>f&&(g.maxHeight=f)),this._vBoundaries=g},_updateCache:function(a){this.offset=this.helper.offset(),c(a.left)&&(this.position.left=a.left),c(a.top)&&(this.position.top=a.top),c(a.height)&&(this.size.height=a.height),c(a.width)&&(this.size.width=a.width)},_updateRatio:function(a){var b=this.position,d=this.size,e=this.axis;return c(a.height)?a.width=a.height*this.aspectRatio:c(a.width)&&(a.height=a.width/this.aspectRatio),"sw"===e&&(a.left=b.left+(d.width-a.width),a.top=null),"nw"===e&&(a.top=b.top+(d.height-a.height),a.left=b.left+(d.width-a.width)),a},_respectSize:function(a){var b=this._vBoundaries,d=this.axis,e=c(a.width)&&b.maxWidth&&b.maxWidth<a.width,f=c(a.height)&&b.maxHeight&&b.maxHeight<a.height,g=c(a.width)&&b.minWidth&&b.minWidth>a.width,h=c(a.height)&&b.minHeight&&b.minHeight>a.height,i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,k=/sw|nw|w/.test(d),l=/nw|ne|n/.test(d);return g&&(a.width=b.minWidth),h&&(a.height=b.minHeight),e&&(a.width=b.maxWidth),f&&(a.height=b.maxHeight),g&&k&&(a.left=i-b.minWidth),e&&k&&(a.left=i-b.maxWidth),h&&l&&(a.top=j-b.minHeight),f&&l&&(a.top=j-b.maxHeight),a.width||a.height||a.left||!a.top?a.width||a.height||a.top||!a.left||(a.left=null):a.top=null,a},_proportionallyResize:function(){if(this._proportionallyResizeElements.length){var a,b,c,d,e,f=this.helper||this.element;for(a=0;this._proportionallyResizeElements.length>a;a++){if(e=this._proportionallyResizeElements[a],!this.borderDif)for(this.borderDif=[],c=[e.css("borderTopWidth"),e.css("borderRightWidth"),e.css("borderBottomWidth"),e.css("borderLeftWidth")],d=[e.css("paddingTop"),e.css("paddingRight"),e.css("paddingBottom"),e.css("paddingLeft")],b=0;c.length>b;b++)this.borderDif[b]=(parseInt(c[b],10)||0)+(parseInt(d[b],10)||0);e.css({height:f.height()-this.borderDif[0]-this.borderDif[2]||0,width:f.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var b=this.element,c=this.options;this.elementOffset=b.offset(),this._helper?(this.helper=this.helper||a("<div style='overflow:hidden;'></div>"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++c.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(a,b){return{width:this.originalSize.width+b}},w:function(a,b){var c=this.originalSize,d=this.originalPosition;return{left:d.left+b,width:c.width-b}},n:function(a,b,c){var d=this.originalSize,e=this.originalPosition;return{top:e.top+c,height:d.height-c}},s:function(a,b,c){return{height:this.originalSize.height+c}},se:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},sw:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,c,d]))},ne:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},nw:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,c,d]))}},_propagate:function(b,c){a.ui.plugin.call(this,b,[c,this.ui()]),"resize"!==b&&this._trigger(b,c,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),a.ui.plugin.add("resizable","animate",{stop:function(b){var c=a(this).data("ui-resizable"),d=c.options,e=c._proportionallyResizeElements,f=e.length&&/textarea/i.test(e[0].nodeName),g=f&&a.ui.hasScroll(e[0],"left")?0:c.sizeDiff.height,h=f?0:c.sizeDiff.width,i={width:c.size.width-h,height:c.size.height-g},j=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null,k=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;c.element.animate(a.extend(i,k&&j?{top:k,left:j}:{}),{duration:d.animateDuration,easing:d.animateEasing,step:function(){var d={width:parseInt(c.element.css("width"),10),height:parseInt(c.element.css("height"),10),top:parseInt(c.element.css("top"),10),left:parseInt(c.element.css("left"),10)};e&&e.length&&a(e[0]).css({width:d.width,height:d.height}),c._updateCache(d),c._propagate("resize",b)}})}}),a.ui.plugin.add("resizable","containment",{start:function(){var c,d,e,f,g,h,i,j=a(this).data("ui-resizable"),k=j.options,l=j.element,m=k.containment,n=m instanceof a?m.get(0):/parent/.test(m)?l.parent().get(0):m;n&&(j.containerElement=a(n),/document/.test(m)||m===document?(j.containerOffset={left:0,top:0},j.containerPosition={left:0,top:0},j.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight}):(c=a(n),d=[],a(["Top","Right","Left","Bottom"]).each(function(a,e){d[a]=b(c.css("padding"+e))}),j.containerOffset=c.offset(),j.containerPosition=c.position(),j.containerSize={height:c.innerHeight()-d[3],width:c.innerWidth()-d[1]},e=j.containerOffset,f=j.containerSize.height,g=j.containerSize.width,h=a.ui.hasScroll(n,"left")?n.scrollWidth:g,i=a.ui.hasScroll(n)?n.scrollHeight:f,j.parentData={element:n,left:e.left,top:e.top,width:h,height:i}))},resize:function(b){var c,d,e,f,g=a(this).data("ui-resizable"),h=g.options,i=g.containerOffset,j=g.position,k=g._aspectRatio||b.shiftKey,l={top:0,left:0},m=g.containerElement;m[0]!==document&&/static/.test(m.css("position"))&&(l=i),j.left<(g._helper?i.left:0)&&(g.size.width=g.size.width+(g._helper?g.position.left-i.left:g.position.left-l.left),k&&(g.size.height=g.size.width/g.aspectRatio),g.position.left=h.helper?i.left:0),j.top<(g._helper?i.top:0)&&(g.size.height=g.size.height+(g._helper?g.position.top-i.top:g.position.top),k&&(g.size.width=g.size.height*g.aspectRatio),g.position.top=g._helper?i.top:0),g.offset.left=g.parentData.left+g.position.left,g.offset.top=g.parentData.top+g.position.top,c=Math.abs((g._helper?g.offset.left-l.left:g.offset.left-l.left)+g.sizeDiff.width),d=Math.abs((g._helper?g.offset.top-l.top:g.offset.top-i.top)+g.sizeDiff.height),e=g.containerElement.get(0)===g.element.parent().get(0),f=/relative|absolute/.test(g.containerElement.css("position")),e&&f&&(c-=g.parentData.left),c+g.size.width>=g.parentData.width&&(g.size.width=g.parentData.width-c,k&&(g.size.height=g.size.width/g.aspectRatio)),d+g.size.height>=g.parentData.height&&(g.size.height=g.parentData.height-d,k&&(g.size.width=g.size.height*g.aspectRatio))},stop:function(){var b=a(this).data("ui-resizable"),c=b.options,d=b.containerOffset,e=b.containerPosition,f=b.containerElement,g=a(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width,j=g.outerHeight()-b.sizeDiff.height;b._helper&&!c.animate&&/relative/.test(f.css("position"))&&a(this).css({left:h.left-e.left-d.left,width:i,height:j}),b._helper&&!c.animate&&/static/.test(f.css("position"))&&a(this).css({left:h.left-e.left-d.left,width:i,height:j})}}),a.ui.plugin.add("resizable","alsoResize",{start:function(){var b=a(this).data("ui-resizable"),c=b.options,d=function(b){a(b).each(function(){var b=a(this);b.data("ui-resizable-alsoresize",{width:parseInt(b.width(),10),height:parseInt(b.height(),10),left:parseInt(b.css("left"),10),top:parseInt(b.css("top"),10)})})};"object"!=typeof c.alsoResize||c.alsoResize.parentNode?d(c.alsoResize):c.alsoResize.length?(c.alsoResize=c.alsoResize[0],d(c.alsoResize)):a.each(c.alsoResize,function(a){d(a)})},resize:function(b,c){var d=a(this).data("ui-resizable"),e=d.options,f=d.originalSize,g=d.originalPosition,h={height:d.size.height-f.height||0,width:d.size.width-f.width||0,top:d.position.top-g.top||0,left:d.position.left-g.left||0},i=function(b,d){a(b).each(function(){var b=a(this),e=a(this).data("ui-resizable-alsoresize"),f={},g=d&&d.length?d:b.parents(c.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(g,function(a,b){var c=(e[b]||0)+(h[b]||0);c&&c>=0&&(f[b]=c||null)}),b.css(f)})};"object"!=typeof e.alsoResize||e.alsoResize.nodeType?i(e.alsoResize):a.each(e.alsoResize,function(a,b){i(a,b)})},stop:function(){a(this).removeData("resizable-alsoresize")}}),a.ui.plugin.add("resizable","ghost",{start:function(){var b=a(this).data("ui-resizable"),c=b.options,d=b.size;b.ghost=b.originalElement.clone(),b.ghost.css({opacity:.25,display:"block",position:"relative",height:d.height,width:d.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof c.ghost?c.ghost:""),b.ghost.appendTo(b.helper)},resize:function(){var b=a(this).data("ui-resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=a(this).data("ui-resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}}),a.ui.plugin.add("resizable","grid",{resize:function(){var b=a(this).data("ui-resizable"),c=b.options,d=b.size,e=b.originalSize,f=b.originalPosition,g=b.axis,h="number"==typeof c.grid?[c.grid,c.grid]:c.grid,i=h[0]||1,j=h[1]||1,k=Math.round((d.width-e.width)/i)*i,l=Math.round((d.height-e.height)/j)*j,m=e.width+k,n=e.height+l,o=c.maxWidth&&m>c.maxWidth,p=c.maxHeight&&n>c.maxHeight,q=c.minWidth&&c.minWidth>m,r=c.minHeight&&c.minHeight>n;c.grid=h,q&&(m+=i),r&&(n+=j),o&&(m-=i),p&&(n-=j),/^(se|s|e)$/.test(g)?(b.size.width=m,b.size.height=n):/^(ne)$/.test(g)?(b.size.width=m,b.size.height=n,b.position.top=f.top-l):/^(sw)$/.test(g)?(b.size.width=m,b.size.height=n,b.position.left=f.left-k):(b.size.width=m,b.size.height=n,b.position.top=f.top-l,b.position.left=f.left-k)}})}(jQuery),function(a){function b(a,b,c){return a>b&&b+c>a}function c(a){return/left|right/.test(a.css("float"))||/inline|table-cell/.test(a.css("display"))
+}a.widget("ui.sortable",a.ui.mouse,{version:"1.10.3",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_create:function(){var a=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?"x"===a.axis||c(this.items[0].item):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData(this.widgetName+"-item");return this},_setOption:function(b,c){"disabled"===b?(this.options[b]=c,this.widget().toggleClass("ui-sortable-disabled",!!c)):a.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(b,c){var d=null,e=!1,f=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(b),a(b.target).parents().each(function(){return a.data(this,f.widgetName+"-item")===f?(d=a(this),!1):void 0}),a.data(b.target,f.widgetName+"-item")===f&&(d=a(b.target)),d?!this.options.handle||c||(a(this.options.handle,d).find("*").addBack().each(function(){this===b.target&&(e=!0)}),e)?(this.currentItem=d,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(b,c,d){var e,f,g=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,g.cursorAt&&this._adjustOffsetFromHelper(g.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),g.containment&&this._setContainment(),g.cursor&&"auto"!==g.cursor&&(f=this.document.find("body"),this.storedCursor=f.css("cursor"),f.css("cursor",g.cursor),this.storedStylesheet=a("<style>*{ cursor: "+g.cursor+" !important; }</style>").appendTo(f)),g.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",g.opacity)),g.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",g.zIndex)),this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!d)for(e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("activate",b,this._uiHash(this));return a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!g.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(b),!0},_mouseDrag:function(b){var c,d,e,f,g=this.options,h=!1;for(this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-b.pageY<g.scrollSensitivity?this.scrollParent[0].scrollTop=h=this.scrollParent[0].scrollTop+g.scrollSpeed:b.pageY-this.overflowOffset.top<g.scrollSensitivity&&(this.scrollParent[0].scrollTop=h=this.scrollParent[0].scrollTop-g.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-b.pageX<g.scrollSensitivity?this.scrollParent[0].scrollLeft=h=this.scrollParent[0].scrollLeft+g.scrollSpeed:b.pageX-this.overflowOffset.left<g.scrollSensitivity&&(this.scrollParent[0].scrollLeft=h=this.scrollParent[0].scrollLeft-g.scrollSpeed)):(b.pageY-a(document).scrollTop()<g.scrollSensitivity?h=a(document).scrollTop(a(document).scrollTop()-g.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<g.scrollSensitivity&&(h=a(document).scrollTop(a(document).scrollTop()+g.scrollSpeed)),b.pageX-a(document).scrollLeft()<g.scrollSensitivity?h=a(document).scrollLeft(a(document).scrollLeft()-g.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<g.scrollSensitivity&&(h=a(document).scrollLeft(a(document).scrollLeft()+g.scrollSpeed))),h!==!1&&a.ui.ddmanager&&!g.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),c=this.items.length-1;c>=0;c--)if(d=this.items[c],e=d.item[0],f=this._intersectsWithPointer(d),f&&d.instance===this.currentContainer&&e!==this.currentItem[0]&&this.placeholder[1===f?"next":"prev"]()[0]!==e&&!a.contains(this.placeholder[0],e)&&("semi-dynamic"===this.options.type?!a.contains(this.element[0],e):!0)){if(this.direction=1===f?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(d))break;this._rearrange(b,d),this._trigger("change",b,this._uiHash());break}return this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(b,c){if(b){if(a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b),this.options.revert){var d=this,e=this.placeholder.offset(),f=this.options.axis,g={};f&&"x"!==f||(g.left=e.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft)),f&&"y"!==f||(g.top=e.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,a(this.helper).animate(g,parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--)this.containers[b]._trigger("deactivate",null,this._uiHash(this)),this.containers[b].containerCache.over&&(this.containers[b]._trigger("out",null,this._uiHash(this)),this.containers[b].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[\-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"="),d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")}),d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l="x"===this.options.axis||d+j>h&&i>d+j,m="y"===this.options.axis||b+k>f&&g>b+k,n=l&&m;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?n:b+this.helperProportions.width/2>f&&g>c-this.helperProportions.width/2&&d+this.helperProportions.height/2>h&&i>e-this.helperProportions.height/2},_intersectsWithPointer:function(a){var c="x"===this.options.axis||b(this.positionAbs.top+this.offset.click.top,a.top,a.height),d="y"===this.options.axis||b(this.positionAbs.left+this.offset.click.left,a.left,a.width),e=c&&d,f=this._getDragVerticalDirection(),g=this._getDragHorizontalDirection();return e?this.floating?g&&"right"===g||"down"===f?2:1:f&&("down"===f?2:1):!1},_intersectsWithSides:function(a){var c=b(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height),d=b(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width),e=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();return this.floating&&f?"right"===f&&d||"left"===f&&!d:e&&("down"===e&&c||"up"===e&&!c)},_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return 0!==a&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return 0!==a&&(a>0?"right":"left")},refresh:function(a){return this._refreshItems(a),this.refreshPositions(),this},_connectWith:function(){var a=this.options;return a.connectWith.constructor===String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){var c,d,e,f,g=[],h=[],i=this._connectWith();if(i&&b)for(c=i.length-1;c>=0;c--)for(e=a(i[c]),d=e.length-1;d>=0;d--)f=a.data(e[d],this.widgetFullName),f&&f!==this&&!f.options.disabled&&h.push([a.isFunction(f.options.items)?f.options.items.call(f.element):a(f.options.items,f.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),f]);for(h.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),c=h.length-1;c>=0;c--)h[c][0].each(function(){g.push(this)});return a(g)},_removeCurrentsFromItems:function(){var b=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=a.grep(this.items,function(a){for(var c=0;b.length>c;c++)if(b[c]===a.item[0])return!1;return!0})},_refreshItems:function(b){this.items=[],this.containers=[this];var c,d,e,f,g,h,i,j,k=this.items,l=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]],m=this._connectWith();if(m&&this.ready)for(c=m.length-1;c>=0;c--)for(e=a(m[c]),d=e.length-1;d>=0;d--)f=a.data(e[d],this.widgetFullName),f&&f!==this&&!f.options.disabled&&(l.push([a.isFunction(f.options.items)?f.options.items.call(f.element[0],b,{item:this.currentItem}):a(f.options.items,f.element),f]),this.containers.push(f));for(c=l.length-1;c>=0;c--)for(g=l[c][1],h=l[c][0],d=0,j=h.length;j>d;d++)i=a(h[d]),i.data(this.widgetName+"-item",g),k.push({item:i,instance:g,width:0,height:0,left:0,top:0})},refreshPositions:function(b){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var c,d,e,f;for(c=this.items.length-1;c>=0;c--)d=this.items[c],d.instance!==this.currentContainer&&this.currentContainer&&d.item[0]!==this.currentItem[0]||(e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item,b||(d.width=e.outerWidth(),d.height=e.outerHeight()),f=e.offset(),d.left=f.left,d.top=f.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(c=this.containers.length-1;c>=0;c--)f=this.containers[c].element.offset(),this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight();return this},_createPlaceholder:function(b){b=b||this;var c,d=b.options;d.placeholder&&d.placeholder.constructor!==String||(c=d.placeholder,d.placeholder={element:function(){var d=b.currentItem[0].nodeName.toLowerCase(),e=a("<"+d+">",b.document[0]).addClass(c||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tr"===d?b.currentItem.children().each(function(){a("<td>&#160;</td>",b.document[0]).attr("colspan",a(this).attr("colspan")||1).appendTo(e)}):"img"===d&&e.attr("src",b.currentItem.attr("src")),c||e.css("visibility","hidden"),e},update:function(a,e){(!c||d.forcePlaceholderSize)&&(e.height()||e.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10)),e.width()||e.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10)))}}),b.placeholder=a(d.placeholder.element.call(b.element,b.currentItem)),b.currentItem.after(b.placeholder),d.placeholder.update(b,b.placeholder)},_contactContainers:function(d){var e,f,g,h,i,j,k,l,m,n,o=null,p=null;for(e=this.containers.length-1;e>=0;e--)if(!a.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(o&&a.contains(this.containers[e].element[0],o.element[0]))continue;o=this.containers[e],p=e}else this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",d,this._uiHash(this)),this.containers[e].containerCache.over=0);if(o)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",d,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(g=1e4,h=null,n=o.floating||c(this.currentItem),i=n?"left":"top",j=n?"width":"height",k=this.positionAbs[i]+this.offset.click[i],f=this.items.length-1;f>=0;f--)a.contains(this.containers[p].element[0],this.items[f].item[0])&&this.items[f].item[0]!==this.currentItem[0]&&(!n||b(this.positionAbs.top+this.offset.click.top,this.items[f].top,this.items[f].height))&&(l=this.items[f].item.offset()[i],m=!1,Math.abs(l-k)>Math.abs(l+this.items[f][j]-k)&&(m=!0,l+=this.items[f][j]),g>Math.abs(l-k)&&(g=Math.abs(l-k),h=this.items[f],this.direction=m?"up":"down"));if(!h&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return;h?this._rearrange(d,h,null,!0):this._rearrange(d,null,this.containers[p].element,!0),this._trigger("change",d,this._uiHash()),this.containers[p]._trigger("change",d,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger("over",d,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b,this.currentItem])):"clone"===c.helper?this.currentItem.clone():this.currentItem;return d.parents("body").length||a("parent"!==c.appendTo?c.appendTo:this.currentItem[0].parentNode)[0].appendChild(d[0]),d[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!d[0].style.width||c.forceHelperSize)&&d.width(this.currentItem.width()),(!d[0].style.height||c.forceHelperSize)&&d.height(this.currentItem.height()),d},_adjustOffsetFromHelper:function(b){"string"==typeof b&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&a.ui.ie)&&(b={top:0,left:0}),{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b,c,d,e=this.options;"parent"===e.containment&&(e.containment=this.helper[0].parentNode),("document"===e.containment||"window"===e.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a("document"===e.containment?document:window).width()-this.helperProportions.width-this.margins.left,(a("document"===e.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(e.containment)||(b=a(e.containment)[0],c=a(e.containment).offset(),d="hidden"!==a(b).css("overflow"),this.containment=[c.left+(parseInt(a(b).css("borderLeftWidth"),10)||0)+(parseInt(a(b).css("paddingLeft"),10)||0)-this.margins.left,c.top+(parseInt(a(b).css("borderTopWidth"),10)||0)+(parseInt(a(b).css("paddingTop"),10)||0)-this.margins.top,c.left+(d?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(a(b).css("borderLeftWidth"),10)||0)-(parseInt(a(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,c.top+(d?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(a(b).css("borderTopWidth"),10)||0)-(parseInt(a(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(b,c){c||(c=this.position);var d="absolute"===b?1:-1,e="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,f=/(html|body)/i.test(e[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():f?0:e.scrollTop())*d,left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():f?0:e.scrollLeft())*d}},_generatePosition:function(b){var c,d,e=this.options,f=b.pageX,g=b.pageY,h="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,i=/(html|body)/i.test(h[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==document&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(b.pageX-this.offset.click.left<this.containment[0]&&(f=this.containment[0]+this.offset.click.left),b.pageY-this.offset.click.top<this.containment[1]&&(g=this.containment[1]+this.offset.click.top),b.pageX-this.offset.click.left>this.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top)),e.grid&&(c=this.originalPageY+Math.round((g-this.originalPageY)/e.grid[1])*e.grid[1],g=this.containment?c-this.offset.click.top>=this.containment[1]&&c-this.offset.click.top<=this.containment[3]?c:c-this.offset.click.top>=this.containment[1]?c-e.grid[1]:c+e.grid[1]:c,d=this.originalPageX+Math.round((f-this.originalPageX)/e.grid[0])*e.grid[0],f=this.containment?d-this.offset.click.left>=this.containment[0]&&d-this.offset.click.left<=this.containment[2]?d:d-this.offset.click.left>=this.containment[0]?d-e.grid[0]:d+e.grid[0]:d)),{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():i?0:h.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():i?0:h.scrollLeft())}},_rearrange:function(a,b,c,d){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?b.item[0]:b.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var e=this.counter;this._delay(function(){e===this.counter&&this.refreshPositions(!d)})},_clear:function(a,b){this.reverting=!1;var c,d=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(c in this._storedCSS)("auto"===this._storedCSS[c]||"static"===this._storedCSS[c])&&(this._storedCSS[c]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!b&&d.push(function(a){this._trigger("receive",a,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||b||d.push(function(a){this._trigger("update",a,this._uiHash())}),this!==this.currentContainer&&(b||(d.push(function(a){this._trigger("remove",a,this._uiHash())}),d.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.currentContainer)),d.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.currentContainer)))),c=this.containers.length-1;c>=0;c--)b||d.push(function(a){return function(b){a._trigger("deactivate",b,this._uiHash(this))}}.call(this,this.containers[c])),this.containers[c].containerCache.over&&(d.push(function(a){return function(b){a._trigger("out",b,this._uiHash(this))}}.call(this,this.containers[c])),this.containers[c].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,this.cancelHelperRemoval){if(!b){for(this._trigger("beforeStop",a,this._uiHash()),c=0;d.length>c;c++)d[c].call(this,a);this._trigger("stop",a,this._uiHash())}return this.fromOutside=!1,!1}if(b||this._trigger("beforeStop",a,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null,!b){for(c=0;d.length>c;c++)d[c].call(this,a);this._trigger("stop",a,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){a.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(b){var c=b||this;return{helper:c.helper,placeholder:c.placeholder||a([]),position:c.position,originalPosition:c.originalPosition,offset:c.positionAbs,item:c.currentItem,sender:b?b.element:null}}})}(jQuery),function(a,b){var c=/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent);a.requestAnimationFrame=function(){return a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame||a.msRequestAnimationFrame||function(b){a.setTimeout(b,1e3/60)}}();var d=function(b){if(0===arguments.length){var c=d.createCanvas(a.innerWidth,a.innerHeight);a.addEventListener("resize",function(){})}else if("string"==typeof b)var c=document.querySelector(b);else if("number"==typeof b)var c=d.createCanvas(arguments[0],arguments[1]);else if(b instanceof Image||b instanceof HTMLImageElement)var c=d.createCanvas(b);else{if(b instanceof d.Wrapper)return b;var c=b}return new d.Wrapper(c)};d.extend=function(){for(var a=1;a<arguments.length;a++)for(var b in arguments[a])arguments[0][b]=arguments[a][b];return arguments[0]},d.augment=function(){for(var a=1;a<arguments.length;a++)_.extend(arguments[0],arguments[a]),arguments[a](arguments[0])},d.distance=function(a,b,c,d){if(arguments.length>2){var e=a-c,f=b-d;return Math.sqrt(e*e+f*f)}return Math.abs(a-b)},d.extend(d,{keycodes:{37:"left",38:"up",39:"right",40:"down",45:"insert",46:"delete",8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",19:"pause",20:"capslock",27:"escape",32:"space",33:"pageup",34:"pagedown",35:"end",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12",144:"numlock",145:"scrolllock",186:"semicolon",187:"equal",188:"comma",189:"dash",190:"period",191:"slash",192:"graveaccent",219:"openbracket",220:"backslash",221:"closebraket",222:"singlequote"},cleanArray:function(a,b){for(var c=arguments[arguments.length-1],d="function"==typeof c,e=0,f=a.length;f>e;e++)(null===a[e]||b&&a[e][b])&&(d&&c(a[e]),a.splice(e--,1),f--)},specialBlendFunctions:["color","value","hue","saturation"],blendFunctions:{normal:function(a,b){return b},overlay:function(a,b){a/=255,b/=255;var c=0;return c=.5>a?2*a*b:1-2*(1-a)*(1-b),Math.min(255,Math.max(0,255*c|0))},hardLight:function(a,b){return d.blendFunctions.overlay(b,a)},softLight:function(a,b){a/=255,b/=255;var c=(1-2*b)*a*a+2*b*a;return d.limitValue(255*c,0,255)},dodge:function(a,b){return Math.min(256*a/(255-b+1),255)},burn:function(a,b){return 255-Math.min(256*(255-a)/(b+1),255)},multiply:function(a,b){return b*a/255},divide:function(a,b){return Math.min(256*a/(b+1),255)},screen:function(a,b){return 255-(255-b)*(255-a)/255},grainExtract:function(a,b){return d.limitValue(a-b+128,0,255)},grainMerge:function(a,b){return d.limitValue(a+b-128,0,255)},difference:function(a,b){return Math.abs(a-b)},addition:function(a,b){return Math.min(a+b,255)},substract:function(a,b){return Math.max(a-b,0)},darkenOnly:function(a,b){return Math.min(a,b)},lightenOnly:function(a,b){return Math.max(a,b)},color:function(a,b){var c=d.rgbToHsl(a),e=d.rgbToHsl(b);return d.hslToRgb(e[0],e[1],c[2])},hue:function(a,b){var c=d.rgbToHsv(a),e=d.rgbToHsv(b);return e[1]?d.hsvToRgb(e[0],c[1],c[2]):d.hsvToRgb(c[0],c[1],c[2])},value:function(a,b){var c=d.rgbToHsv(a),e=d.rgbToHsv(b);return d.hsvToRgb(c[0],c[1],e[2])},saturation:function(a,b){var c=d.rgbToHsv(a),e=d.rgbToHsv(b);return d.hsvToRgb(c[0],e[1],c[2])}},blend:function(a,b,c,e){"undefined"==typeof e&&(e=1);var a=d(a),b=d(b),f=a.context,g=b.context,h=f.getImageData(0,0,a.canvas.width,a.canvas.height),i=g.getImageData(0,0,b.canvas.width,b.canvas.height),j=h.data,k=i.data,l=this.createImageData(a.canvas.width,a.canvas.height),m=l.data,n=d.blendFunctions[c];if(-1!==d.specialBlendFunctions.indexOf(c))for(var o=0,p=j.length;p>o;o+=4){var q=n([j[o+0],j[o+1],j[o+2]],[k[o+0],k[o+1],k[o+2]]);m[o+0]=j[o+0]+(q[0]-j[o+0])*e,m[o+1]=j[o+1]+(q[1]-j[o+1])*e,m[o+2]=j[o+2]+(q[2]-j[o+2])*e,m[o+3]=j[o+3]}else for(var o=0,p=j.length;p>o;o+=4){var r=n(j[o+0],k[o+0]),s=n(j[o+1],k[o+1]),t=n(j[o+2],k[o+2]);m[o+0]=j[o+0]+(r-j[o+0])*e,m[o+1]=j[o+1]+(s-j[o+1])*e,m[o+2]=j[o+2]+(t-j[o+2])*e,m[o+3]=j[o+3]}return a.context.putImageData(l,0,0),a},wrapValue:function(a,b,c){var d=Math.abs(c-b);return b+(a-b)%d},limitValue:function(a,b,c){return b>a?b:a>c?c:a},mix:function(a,b,c){return a+(b-a)*c},hexToRgb:function(a){return 7===a.length?["0x"+a[1]+a[2]|0,"0x"+a[3]+a[4]|0,"0x"+a[5]+a[6]|0]:["0x"+a[1]|0,"0x"+a[2],"0x"+a[3]|0]},rgbToHex:function(a,b,c){return"#"+((1<<24)+(a<<16)+(b<<8)+c).toString(16).slice(1,7)},rgbToHsl:function(a,b,c){a instanceof Array&&(c=a[2],b=a[1],a=a[0]),a/=255,b/=255,c/=255;var d,e,f=Math.max(a,b,c),g=Math.min(a,b,c),h=(f+g)/2;if(f==g)d=e=0;else{var i=f-g;switch(e=h>.5?i/(2-f-g):i/(f+g),f){case a:d=(b-c)/i+(c>b?6:0);break;case b:d=(c-a)/i+2;break;case c:d=(a-b)/i+4}d/=6}return[d,e,h]},hslToRgb:function(a,b,c){function d(a,b,c){return 0>c&&(c+=1),c>1&&(c-=1),1/6>c?a+6*(b-a)*c:.5>c?b:2/3>c?a+(b-a)*(2/3-c)*6:a}var e,f,g;if(0==b)e=f=g=c;else{var h=.5>c?c*(1+b):c+b-c*b,i=2*c-h;e=d(i,h,a+1/3),f=d(i,h,a),g=d(i,h,a-1/3)}return[255*e|0,255*f|0,255*g|0]},rgbToHsv:function(a,b,c){a instanceof Array&&(c=a[2],b=a[1],a=a[0]),a/=255,b/=255,c/=255;var d,e,f=Math.max(a,b,c),g=Math.min(a,b,c),h=f,i=f-g;if(e=0==f?0:i/f,f==g)d=0;else{switch(f){case a:d=(b-c)/i+(c>b?6:0);break;case b:d=(c-a)/i+2;break;case c:d=(a-b)/i+4}d/=6}return[d,e,h]},hsvToRgb:function(a,b,c){var d,e,f,g=Math.floor(6*a),h=6*a-g,i=c*(1-b),j=c*(1-h*b),k=c*(1-(1-h)*b);switch(g%6){case 0:d=c,e=k,f=i;break;case 1:d=j,e=c,f=i;break;case 2:d=i,e=c,f=k;break;case 3:d=i,e=j,f=c;break;case 4:d=k,e=i,f=c;break;case 5:d=c,e=i,f=j}return[255*d|0,255*e|0,255*f|0]},color:function(){var a=new d.Color;return a.parse(arguments[0],arguments[1]),a},createCanvas:function(a,b){var c=document.createElement("canvas");if(arguments[0]instanceof Image||arguments[0]instanceof HTMLImageElement){var d=arguments[0];c.width=d.width,c.height=d.height,c.getContext("2d").drawImage(d,0,0)}else c.width=a,c.height=b;return c},createImageData:function(a,b){return document.createElement("Canvas").getContext("2d").createImageData(a,b)},mousePosition:function(a){var c=0,d=0,e=0,f=0,g=a.target||a.srcElement,h=0,i=0;do c+=g.offsetLeft,d+=g.offsetTop;while(g=g.offsetParent);return a.changedTouches&&a.changedTouches[0]!==b&&(a=a.changedTouches[0]),a.pageX||a.pageY?(h=a.pageX,i=a.pageY):(a.clientX||a.clientY)&&(h=a.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,i=a.clientY+document.body.scrollTop+document.documentElement.scrollTop),e=h-c,f=i-d,{x:e,y:f}}}),d.Wrapper=function(a){this.context=a.getContext("2d"),this.canvas=a},d.Wrapper.prototype={appendTo:function(a){if("object"==typeof a)var b=a;else var b=document.querySelector(a);return b.appendChild(this.canvas),this},blendOn:function(a,b,c){return d.blend(a,this,b,c),this},blend:function(a,b,c){if("string"==typeof a){var e=a;a=d(d.createCanvas(this.canvas.width,this.canvas.height)),a.fillStyle(e).fillRect(0,0,this.canvas.width,this.canvas.height)}return d.blend(this,a,b,c),this},circle:function(a,b,c){return this.context.arc(a,b,c,0,2*Math.PI),this},crop:function(a,b,c,e){var f=d.createCanvas(c,e),g=f.getContext("2d");return g.drawImage(this.canvas,a,b,c,e,0,0,c,e),this.canvas.width=c,this.canvas.height=e,this.clear(),this.context.drawImage(f,0,0),this},set:function(a){d.extend(this.context,a)},resize:function(a,b){var c=a,e=b;1===arguments.length?(c=arguments[0]*this.canvas.width|0,e=arguments[0]*this.canvas.height|0):null===b?this.canvas.width>a?(e=this.canvas.height*(a/this.canvas.width)|0,c=a):(c=this.canvas.width,e=this.canvas.height):null===a&&(this.canvas.width>a?(c=this.canvas.width*(b/this.canvas.height)|0,e=b):(c=this.canvas.width,e=this.canvas.height));var f=d(c,e).drawImage(this.canvas,0,0,this.canvas.width,this.canvas.height,0,0,c,e);return this.canvas=f.canvas,this.context=f.context,this},trim:function(a,b){var c;a?(a=d.color(a).toArray(),c=!a[3]):c=!0;for(var e=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),f=e.data,g=[this.canvas.width,this.canvas.height,0,0],h=0,i=f.length;i>h;h+=4){if(c){if(!f[h+3])continue}else if(f[h+0]===a[0]&&f[h+1]===a[1]&&f[h+2]===a[2])continue;var j=(h/4|0)%this.canvas.width|0,k=(h/4|0)/this.canvas.width|0;j<g[0]&&(g[0]=j),j>g[2]&&(g[2]=j),k<g[1]&&(g[1]=k),k>g[3]&&(g[3]=k)
+}return 0===g[2]||0===g[3]||(b&&(b.left=g[0],b.top=g[1],b.width=g[2]-g[0],b.height=g[3]-g[1]),this.crop(g[0],g[1],g[2]-g[0]+1,g[3]-g[1]+1)),this},resizePixel:function(a){var b=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),c=b.data,e=document.createElement("canvas"),f=e.context=e.getContext("2d");e.width=this.canvas.width*a|0,e.height=this.canvas.height*a|0;for(var g=0,h=c.length;h>g;g+=4)if(c[g+3]){f.fillStyle=d.rgbToHex(c[g+0],c[g+1],c[g+2]);var i=g/4%this.canvas.width,j=g/4/this.canvas.width|0;f.fillRect(i*a,j*a,a,a)}return this.canvas.width=e.width,this.canvas.height=e.height,this.clear().drawImage(e,0,0),this;var i,j,e,f},matchPalette:function(a){for(var b=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),c=[],e=0;e<a.length;e++)c.push(d.color(a[e]));for(var e=0;e<b.data.length;e+=4){for(var f=[],g=0;g<c.length;g++){var h=c[g],i=Math.abs(b.data[e]-h[0]),j=Math.abs(b.data[e+1]-h[1]),k=Math.abs(b.data[e+2]-h[2]);f.push(i+j+k)}for(var l=0,g=0;g<a.length;g++)f[g]<f[l]&&(l=g);var m=cq.hexToRgb(a[l]);b.data[e]=m[0],b.data[e+1]=m[1],b.data[e+2]=m[2]}return this.context.putImageData(b,0,0),this},getPalette:function(){for(var a=[],b=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),c=b.data,e=0,f=c.length;f>e;e+=4)if(c[e+3]){var g=d.rgbToHex(c[e+0],c[e+1],c[e+2]);-1===a.indexOf(g)&&a.push(g)}return a},pixelize:function(a){if(!a)return this;a=a||4;var b=this.context.mozImageSmoothingEnabled,c=this.context.webkitImageSmoothingEnabled;this.context.mozImageSmoothingEnabled=!1,this.context.webkitImageSmoothingEnabled=!1;var d=this.canvas.width/a/this.canvas.width,e=cq(this.canvas.width,this.canvas.height);return e.drawImage(this.canvas,0,0,this.canvas.width,this.canvas.height,0,0,this.canvas.width*d|0,this.canvas.height*d|0),this.clear().drawImage(e.canvas,0,0,this.canvas.width*d|0,this.canvas.height*d|0,0,0,this.canvas.width,this.canvas.height),this.context.mozImageSmoothingEnabled=b,this.context.webkitImageSmoothingEnabled=c,this},colorToMask:function(a,b){a=d.color(a).toArray();for(var c=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),e=c.data,f=[],g=0,h=e.length;h>g;g+=4)f.push(e[g+0]==a[0]&&e[g+1]==a[1]&&e[g+2]==a[2]?b||!1:!b);return f},grayscaleToMask:function(){for(var a=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),b=a.data,c=[],d=0,e=b.length;e>d;d+=4)c.push((b[d+0]+b[d+1]+b[d+2])/3|0);return c},grayscaleToAlpha:function(){for(var a=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),b=a.data,c=0,d=b.length;d>c;c+=4)b[c+3]=(b[c+0]+b[c+1]+b[c+2])/3|0,b[c+0]=b[c+1]=b[c+2]=255;return this.context.putImageData(a,0,0),this},applyMask:function(a){for(var b=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),c=b.data,d="boolean"==typeof a[0]?"bool":"byte",e=0,f=c.length;f>e;e+=4){var g=a[e/4];c[e+3]="bool"===d?255*g|0:0|g}return this.context.putImageData(b,0,0),this},fillMask:function(a){var b=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),c=b.data,e="boolean"==typeof a[0]?"bool":"byte",f=2===arguments.length?"normal":"gradient",g=d.color(arguments[1]);"gradient"===f&&(colorB=d.color(arguments[2]));for(var h=0,i=c.length;i>h;h+=4){var j=a[h/4];"byte"===e&&(j/=255),"normal"===f?j&&(c[h+0]=0|g[0],c[h+1]=0|g[1],c[h+2]=0|g[2],c[h+3]=255*j|0):(c[h+0]=g[0]+(colorB[0]-g[0])*j|0,c[h+1]=g[1]+(colorB[1]-g[1])*j|0,c[h+2]=g[2]+(colorB[2]-g[2])*j|0,c[h+3]=255)}return this.context.putImageData(b,0,0),this},clear:function(a){return a?(this.context.fillStyle=a,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)):this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this},clone:function(){var a=d.createCanvas(this.canvas.width,this.canvas.height);return a.getContext("2d").drawImage(this.canvas,0,0),d(a)},fillStyle:function(a){return this.context.fillStyle=a,this},strokeStyle:function(a){return this.context.strokeStyle=a,this},gradientText:function(a,b,c,d,e){var f=a.split(" "),g=2*this.font().match(/\d+/g)[0],h=0,i=0;if(d)for(var j=0,k=[""],l=0;l<f.length;l++){var m=f[l]+" ",n=this.context.measureText(m).width;h+n>d&&(k[++j]="",h=0),k[j]+=m,h+=n}else var k=[a];for(var l=0;l<k.length;l++){for(var i=c+l*g*.6|0,o=this.context.createLinearGradient(0,i,0,i+.6*g|0),p=0;p<e.length;p+=2)o.addColorStop(e[p],e[p+1]);var a=k[l];this.fillStyle(o).fillText(a,b,i)}return this},setHsl:function(){if(1===arguments.length)var a=arguments[0];else var a=arguments;for(var b,c,e,f=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),g=f.data,h=[],i=[],j=0,k=g.length;k>j;j+=4)h=d.rgbToHsl(g[j+0],g[j+1],g[j+2]),b=null===a[0]?h[0]:d.limitValue(a[0],0,1),c=null===a[1]?h[1]:d.limitValue(a[1],0,1),e=null===a[2]?h[2]:d.limitValue(a[2],0,1),i=d.hslToRgb(b,c,e),g[j+0]=i[0],g[j+1]=i[1],g[j+2]=i[2];return this.context.putImageData(f,0,0),this},shiftHsl:function(){if(1===arguments.length)var a=arguments[0];else var a=arguments;for(var b,c,e,f=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),g=f.data,h=[],i=[],j=0,k=g.length;k>j;j+=4)h=d.rgbToHsl(g[j+0],g[j+1],g[j+2]),b=null===a[0]?h[0]:d.wrapValue(h[0]+a[0],0,1),c=null===a[1]?h[1]:d.limitValue(h[1]+a[1],0,1),e=null===a[2]?h[2]:d.limitValue(h[2]+a[2],0,1),i=d.hslToRgb(b,c,e),g[j+0]=i[0],g[j+1]=i[1],g[j+2]=i[2];return this.context.putImageData(f,0,0),this},replaceHue:function(a,b){for(var c,e=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),f=e.data,g=[],h=[],i=0,j=f.length;j>i;i+=4)g=d.rgbToHsl(f[i+0],f[i+1],f[i+2]),c=Math.abs(g[0]-a)<.05?d.wrapValue(b,0,1):g[0],h=d.hslToRgb(c,g[1],g[2]),f[i+0]=h[0],f[i+1]=h[1],f[i+2]=h[2];return this.context.putImageData(e,0,0),this},invert:function(){for(var a=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),b=a.data,c=0,d=b.length;d>c;c+=4)b[c+0]=255-b[c+0],b[c+1]=255-b[c+1],b[c+2]=255-b[c+2];return this.context.putImageData(a,0,0),this},roundRect:function(a,b,c,d,e){return this.beginPath(),this.moveTo(a+e,b),this.lineTo(a+c-e,b),this.quadraticCurveTo(a+c,b,a+c,b+e),this.lineTo(a+c,b+d-e),this.quadraticCurveTo(a+c,b+d,a+c-e,b+d),this.lineTo(a+e,b+d),this.quadraticCurveTo(a,b+d,a,b+d-e),this.lineTo(a,b+e),this.quadraticCurveTo(a,b,a+e,b),this.closePath(),this},wrappedText:function(a,b,c,d,e){var f=a instanceof Array?a:this.flowText(a,d),g=2*this.font().match(/\d+/g)[0],h=0,i=0;if(d)for(var j=0,f=[""],k=0;k<words.length;k++){var l=words[k]+" ",m=this.context.measureText(l).width;h+m>d&&(f[++j]="",h=0),f[j]+=l,h+=m}else var f=[a];for(var k=0;k<f.length;k++){var i=c+k*g*.6|0,a=f[k];e&&e.call(this,b,c+i),this.fillText(a,b,i)}return this},flowText:function(a,b){var c=a.split(/(\s)/),d=0;if(b)for(var e=0,f=[""],g=this.context.measureText(" ").width,h=0;h<c.length;h++){var i=c[h];if("\n"!=i)if(" "==i)d+=g,d>b?(f[e]=f[e].replace(/\s+$/,""),f[++e]="",d=0):f[e]+=" ";else{var j=this.context.measureText(i).width;d+=j,d>b&&f[e].length&&(f[e]=f[e].replace(/\s+$/,""),f[++e]="",d=j),f[e]+=i}else f[e]=f[e].replace(/\s+$/,""),f[++e]="",d=0}else var f=[a];return f},textBoundaries:function(a,b){for(var c=this.flowText(a,b||1/0),d=2*this.font().match(/\d+/g)[0],e=0,f=0;f<c.length;f++)e=Math.max(e,this.measureText(c[f]).width);return{height:c.length*d*.6|0,width:e,lines:c}},paperBag:function(a,b,c,d,e,f){this.beginPath(),this.moveTo(a,b),this.quadraticCurveTo(a+c/2|0,b+d*f|0,a+c,b),this.quadraticCurveTo(a+c-c*e|0,b+d/2|0,a+c,b+d),this.quadraticCurveTo(a+c/2|0,b+d-d*f|0,a,b+d),this.quadraticCurveTo(a+c*e|0,b+d/2|0,a,b)},borderImage:function(a,b,c,d,e,f,g,h,i,j){this.drawImage(a,i,0,a.width-i-g,f,b+i,c,d-i-g,f),this.drawImage(a,i,a.height-h,a.width-i-g,h,b+i,c+e-h,d-i-g,h),this.drawImage(a,0,f,i,a.height-h-f,b,c+f,i,e-h-f),this.drawImage(a,a.width-g,f,g,a.height-h-f,b+d-g,c+f,g,e-h-f),this.drawImage(a,0,0,i,f,b,c,i,f),this.drawImage(a,a.width-g,0,g,f,b+d-g,c,g,f),this.drawImage(a,a.width-g,a.height-h,g,h,b+d-g,c+e-h,g,h),this.drawImage(a,0,a.height-h,i,h,b,c+e-h,i,h),j&&("string"==typeof j?this.fillStyle(j).fillRect(b+i,c+f,d-i-g,e-f-h):this.drawImage(a,i,f,a.width-g-i,a.height-h-f,b+i,c+f,d-i-g,e-f-h))},convolve:function(a,b,c){"undefined"==typeof c&&(c=1),"undefined"==typeof b&&(b=1);for(var e=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),f=Math.sqrt(a.length)+.5|0,g=f/2|0,h=e.data,i=e.width,j=e.height,k=i,l=j,m=d.createImageData(this.canvas.width,this.canvas.height),n=m.data,o=1;l-1>o;o++)for(var p=1;k-1>p;p++){for(var q=4*(o*k+p),r=0,s=0,t=0,u=0,v=0;f>v;v++)for(var w=0;f>w;w++){var x=o+v-g,y=p+w-g;if(x>=0&&j>x&&y>=0&&i>y){var z=4*(x*i+y),A=a[v*f+w]/c;r+=h[z+0]*A,s+=h[z+1]*A,t+=h[z+2]*A,u+=h[z+3]*A}}n[q+0]=d.mix(h[q+0],r,b),n[q+1]=d.mix(h[q+1],s,b),n[q+2]=d.mix(h[q+2],t,b),n[q+3]=u}},blur:function(a){return this.convolve([1,1,1,1,1,1,1,1,1],a,9)},gaussianBlur:function(a){return this.convolve([6.7e-7,2292e-8,19117e-8,38771e-8,19117e-8,2292e-8,6.7e-7,2292e-8,78633e-8,.00655965,.01330373,.00655965,78633e-8,2292e-8,19117e-8,.00655965,.05472157,.11098164,.05472157,.00655965,19117e-8,38771e-8,.01330373,.11098164,.22508352,.11098164,.01330373,38771e-8,19117e-8,.00655965,.05472157,.11098164,.05472157,.00655965,19117e-8,2292e-8,78633e-8,.00655965,.01330373,.00655965,78633e-8,2292e-8,6.7e-7,2292e-8,19117e-8,38771e-8,19117e-8,2292e-8,6.7e-7],a,1)},sharpen:function(a){return this.convolve([0,-1,0,-1,5,-1,0,-1,0],a)},threshold:function(a){for(var b,c,d,e=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),f=e.data,g=0;g<f.length;g+=4){var b=f[g],c=f[g+1],d=f[g+2],h=.2126*b+.7152*c+.0722*d>=a?255:0;f[g]=f[g+1]=f[g+2]=h}return this.context.putImageData(e,0,0),this},sepia:function(){for(var a=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),b=a.data,c=0;c<b.length;c+=4)b[c+0]=d.limitValue(.393*b[c+0]+.769*b[c+1]+.189*b[c+2],0,255),b[c+1]=d.limitValue(.349*b[c+0]+.686*b[c+1]+.168*b[c+2],0,255),b[c+2]=d.limitValue(.272*b[c+0]+.534*b[c+1]+.131*b[c+2],0,255);return this.context.putImageData(a,0,0),this},measureText:function(){return this.context.measureText.apply(this.context,arguments)},createRadialGradient:function(){return this.context.createRadialGradient.apply(this.context,arguments)},createLinearGradient:function(){return this.context.createLinearGradient.apply(this.context,arguments)},getImageData:function(){return this.context.getImageData.apply(this.context,arguments)},framework:function(a,c){c&&(this.tempContext=c===!0?a:c);for(var d in a)this[d]&&this[d](a[d],b,b);return this.tempContext=null,this},onStep:function(a,b){var c=this.tempContext||this,d=Date.now();return b=b||25,this.timer=setInterval(function(){var b=Date.now()-d;d=Date.now(),a.call(c,b,d)},b),this},onRender:function(a){function b(){var e=Date.now()-d;d=Date.now(),requestAnimationFrame(b),a.call(c,e,d)}var c=this.tempContext||this,d=Date.now();return requestAnimationFrame(b),this},onMouseMove:function(a){var b=this.tempContext||this;return c?this.canvas.addEventListener("touchmove",function(c){c.preventDefault();var e=d.mousePosition(c);a.call(b,e.x,e.y)}):this.canvas.addEventListener("mousemove",function(c){var e=d.mousePosition(c);a.call(b,e.x,e.y)}),this},onMouseDown:function(a){var b=this.tempContext||this;return c?this.canvas.addEventListener("touchstart",function(c){var e=d.mousePosition(c);a.call(b,e.x,e.y,c.button)}):this.canvas.addEventListener("mousedown",function(c){var e=d.mousePosition(c);a.call(b,e.x,e.y,c.button)}),this},onMouseUp:function(a){var b=this.tempContext||this;return c?this.canvas.addEventListener("touchend",function(c){var e=d.mousePosition(c);a.call(b,e.x,e.y,c.button)}):this.canvas.addEventListener("mouseup",function(c){var e=d.mousePosition(c);a.call(b,e.x,e.y,c.button)}),this},onSwipe:function(a,c,e){function f(a){a.preventDefault(),l=d.mousePosition(a),m=Date.now()}function g(a){a.preventDefault(),n=d.mousePosition(a),o=Date.now()}function h(c){c.preventDefault();var d=l.x-n.x,e=l.y-n.y,f=d*d,g=e*e,h=Math.sqrt(f+g),p=o-m,q=b;h>j&&k>p&&(q=Math.abs(d)>Math.abs(e)?d>0?"left":"right":e>0?"up":"down",a.call(i,q))}var i=this.tempContext||this,j=c||35,k=e||350,l=0,m=0,n=0,o=0;return this.canvas.addEventListener("touchstart",function(a){f(a)}),this.canvas.addEventListener("touchmove",function(a){g(a)}),this.canvas.addEventListener("touchend",function(a){h(a)}),this.canvas.addEventListener("mousedown",function(a){f(a)}),this.canvas.addEventListener("mousemove",function(a){g(a)}),this.canvas.addEventListener("mouseup",function(a){h(a)}),this},onKeyDown:function(a){var b=this.tempContext||this;return document.addEventListener("keydown",function(c){if(c.which>=48&&c.which<=90)var e=String.fromCharCode(c.which).toLowerCase();else var e=d.keycodes[c.which];a.call(b,e)}),this},onKeyUp:function(a){var b=this.tempContext||this;return document.addEventListener("keyup",function(c){if(c.which>=48&&c.which<=90)var e=String.fromCharCode(c.which).toLowerCase();else var e=d.keycodes[c.which];a.call(b,e)}),this},onResize:function(b){var c=this.tempContext||this;return a.addEventListener("resize",function(){b.call(c,a.innerWidth,a.innerHeight)}),b.call(c,a.innerWidth,a.innerHeight),this},onDropImage:function(a){var b=this.tempContext||this;return document.addEventListener("drop",function(c){c.stopPropagation(),c.preventDefault();var d=c.dataTransfer.files[0];if(!/image/i.test(d.type))return!1;var e=new FileReader;e.onload=function(c){var d=new Image;d.onload=function(){a.call(b,this)},d.src=c.target.result},e.readAsDataURL(d)}),document.addEventListener("dragover",function(a){a.preventDefault()}),this}};for(var e=["arc","arcTo","beginPath","bezierCurveTo","clearRect","clip","closePath","createImageData","createLinearGradient","createRadialGradient","createPattern","drawFocusRing","drawImage","fill","fillRect","fillText","getImageData","isPointInPath","lineTo","measureText","moveTo","putImageData","quadraticCurveTo","rect","restore","rotate","save","scale","setTransform","stroke","strokeRect","strokeText","transform","translate"],f=0;f<e.length;f++){var g=e[f];d.Wrapper.prototype[g]||(d.Wrapper.prototype[g]=Function("this.context."+g+".apply(this.context, arguments); return this;"))}for(var h=["canvas","fillStyle","font","globalAlpha","globalCompositeOperation","lineCap","lineJoin","lineWidth","miterLimit","shadowOffsetX","shadowOffsetY","shadowBlur","shadowColor","strokeStyle","textAlign","textBaseline"],f=0;f<h.length;f++){var g=h[f];d.Wrapper.prototype[g]||(d.Wrapper.prototype[g]=Function("if(arguments.length) { this.context."+g+" = arguments[0]; return this; } else { return this.context."+g+"; }"))}d.Color=function(a){arguments.length&&this.parse(a)},d.Color.prototype={parse:function(a,b){if(a[0]instanceof d.Color)return this[0]=a[0][0],this[1]=a[0][1],this[2]=a[0][2],void(this[3]=a[0][3]);if("string"==typeof a){var c=null;if("#"===a[0]){var e=d.hexToRgb(a);this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=1}else(c=a.match(/rgb\((.*),(.*),(.*)\)/))?(this[0]=0|c[1],this[1]=0|c[2],this[2]=0|c[3],this[3]=1):(c=a.match(/rgba\((.*),(.*),(.*)\)/))?(this[0]=0|c[1],this[1]=0|c[2],this[2]=0|c[3],this[3]=0|c[4]):(c=a.match(/hsl\((.*),(.*),(.*)\)/))?this.fromHsl(c[1],c[2],c[3]):(c=a.match(/hsv\((.*),(.*),(.*)\)/))&&this.fromHsv(c[1],c[2],c[3])}else switch(b){case"hsl":case"hsla":this.fromHsl(a[0],a[1],a[2],a[3]);break;case"hsv":case"hsva":this.fromHsv(a[0],a[1],a[2],a[3]);break;default:this[0]=a[0],this[1]=a[1],this[2]=a[2],this[3]="undefined"==typeof a[3]?1:a[3]}},fromHsl:function(){var a=arguments[0]instanceof Array?arguments[0]:arguments,b=d.hslToRgb(a[0],a[1],a[2]);this[0]=b[0],this[1]=b[1],this[2]=b[2],this[3]="undefined"==typeof arguments[3]?1:arguments[3]},fromHsv:function(){var a=arguments[0]instanceof Array?arguments[0]:arguments,b=d.hsvToRgb(a[0],a[1],a[2]);this[0]=b[0],this[1]=b[1],this[2]=b[2],this[3]="undefined"==typeof arguments[3]?1:arguments[3]},toArray:function(){return[this[0],this[1],this[2],this[3]]},toRgb:function(){return"rgb("+this[0]+", "+this[1]+", "+this[2]+")"},toRgba:function(){return"rgba("+this[0]+", "+this[1]+", "+this[2]+", "+this[3]+")"},toHex:function(){return d.rgbToHex(this[0],this[1],this[2])},toHsl:function(){var a=d.rgbToHsl(this[0],this[1],this[2]);return a[3]=this[3],a},toHsv:function(){var a=d.rgbToHsv(this[0],this[1],this[2]);return a[3]=this[3],a},gradient:function(a){d.color(a)},shiftHsl:function(){var a=this.toHsl(),b=null===arguments[0]?a[0]:d.wrapValue(a[0]+arguments[0],0,1),c=null===arguments[1]?a[1]:d.limitValue(a[1]+arguments[1],0,1),e=null===arguments[2]?a[2]:d.limitValue(a[2]+arguments[2],0,1);return this.fromHsl(b,c,e),this},setHsl:function(){var a=this.toHsl(),b=null===arguments[0]?a[0]:d.limitValue(arguments[0],0,1),c=null===arguments[1]?a[1]:d.limitValue(arguments[1],0,1),e=null===arguments[2]?a[2]:d.limitValue(arguments[2],0,1);return this.fromHsl(b,c,e),this}},a.cq=a.CanvasQuery=d,"function"==typeof define&&define.amd&&define([],function(){return d})}(window);var saveAs=saveAs||"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob&&navigator.msSaveOrOpenBlob.bind(navigator)||function(a){"use strict";var b=a.document,c=function(){return a.URL||a.webkitURL||a},d=a.URL||a.webkitURL||a,e=b.createElementNS("http://www.w3.org/1999/xhtml","a"),f=!a.externalHost&&"download"in e,g=a.webkitRequestFileSystem,h=a.requestFileSystem||g||a.mozRequestFileSystem,i=function(b){(a.setImmediate||a.setTimeout)(function(){throw b},0)},j="application/octet-stream",k=0,l=[],m=function(){for(var a=l.length;a--;){var b=l[a];"string"==typeof b?d.revokeObjectURL(b):b.remove()}l.length=0},n=function(a,b,c){b=[].concat(b);for(var d=b.length;d--;){var e=a["on"+b[d]];if("function"==typeof e)try{e.call(a,c||a)}catch(f){i(f)}}},o=function(d,i){var m,o,p,q=this,r=d.type,s=!1,t=function(){var a=c().createObjectURL(d);return l.push(a),a},u=function(){n(q,"writestart progress write writeend".split(" "))},v=function(){(s||!m)&&(m=t(d)),o?o.location.href=m:window.open(m,"_blank"),q.readyState=q.DONE,u()},w=function(a){return function(){return q.readyState!==q.DONE?a.apply(this,arguments):void 0}},x={create:!0,exclusive:!1};if(q.readyState=q.INIT,i||(i="download"),f){m=t(d),b=a.document,e=b.createElementNS("http://www.w3.org/1999/xhtml","a"),e.href=m,e.download=i;var y=b.createEvent("MouseEvents");return y.initMouseEvent("click",!0,!1,a,0,0,0,0,0,!1,!1,!1,!1,0,null),e.dispatchEvent(y),q.readyState=q.DONE,void u()}return a.chrome&&r&&r!==j&&(p=d.slice||d.webkitSlice,d=p.call(d,0,d.size,j),s=!0),g&&"download"!==i&&(i+=".download"),(r===j||g)&&(o=a),h?(k+=d.size,void h(a.TEMPORARY,k,w(function(a){a.root.getDirectory("saved",x,w(function(a){var b=function(){a.getFile(i,x,w(function(a){a.createWriter(w(function(b){b.onwriteend=function(b){o.location.href=a.toURL(),l.push(a),q.readyState=q.DONE,n(q,"writeend",b)},b.onerror=function(){var a=b.error;a.code!==a.ABORT_ERR&&v()},"writestart progress write abort".split(" ").forEach(function(a){b["on"+a]=q["on"+a]}),b.write(d),q.abort=function(){b.abort(),q.readyState=q.DONE},q.readyState=q.WRITING}),v)}),v)};a.getFile(i,{create:!1},w(function(a){a.remove(),b()}),w(function(a){a.code===a.NOT_FOUND_ERR?b():v()}))}),v)}),v)):void v()},p=o.prototype,q=function(a,b){return new o(a,b)};return p.abort=function(){var a=this;a.readyState=a.DONE,n(a,"abort")},p.readyState=p.INIT=0,p.WRITING=1,p.DONE=2,p.error=p.onwritestart=p.onprogress=p.onwrite=p.onabort=p.onerror=p.onwriteend=null,a.addEventListener("unload",m,!1),q}(this.self||this.window||this.content);"undefined"!=typeof module&&(module.exports=saveAs),window.dataUriToBlob=function(){function a(a){return a.split(";")[0].slice(5)}var b=window.Blob,c=100==new b([new Uint8Array(100)]).size,d=function(d){for(var e=d.split(",")[1],f=atob(e),g=new ArrayBuffer(f.length),h=new Uint8Array(g),i=0;i<f.length;i++)h[i]=f.charCodeAt(i);c||(h=g);var j=new b([h],{type:a(d)});return j.slice=j.slice||j.webkitSlice,j};return d}(),window.$&&($.fn.int=function(){return parseInt($(this).val(),10)},$.fn.float=function(){return parseFloat($(this).val())},$.fn.string=function(){return trim($(this).val())},$.fn.enable=function(){return $(this).attr("disabled",null)},$.fn.disable=function(){return $(this).attr("disabled","disabled")});var E=Math.E,PI=Math.PI,PHI=(1+Math.sqrt(5))/2,REF_X=95.047,REF_Y=100,REF_Z=108.883,asdf={fetching:!1,fetched:!1};asdf.random=function(a){status("fetching random photoblasts"),a&&a.preventDefault(),opt={},opt.data={random:1},opt.success=gallery.load,asdf.fetch(opt)},asdf.fetch=function(a){if(!asdf.fetching){asdf.fetching=!0;var b={random:1};$.ajax({url:"http://asdf.us/cgi-bin/im/list",data:b,dataType:"jsonp",success:function(b){asdf.fetching=!1,asdf.fetched=!0,a.success&&a.success(b)},error:a.error||function(a){console.log(a)}})}};var dumpfm={};dumpfm.search=function(a){a&&a.preventDefault();var b=$("#dumpfm-search-query").val().toLowerCase(),c=b.split(" "),d=[];c.forEach(function(a){a.length>2&&d.push(a)}),0==d.length||"undefined"==d[0]?status("search query too small"):(status("searching for '"+d.join(" and ")+"'"),dumpfm.fetch({query:d.join("+"),success:gallery.load}))},dumpfm.fetch=function(a){if(!dumpfm.fetching){dumpfm.fetching=!0;var b={};$.ajax({url:"http://dump.fm/cmd/search/"+a.query,data:b,dataType:"jsonp",success:function(b){dumpfm.fetching=!1;for(var c=0,d=b.length;d>c;c++){var e=b[c].url;e=e.match(/^\/\d+\//)?"http://dump.fm/images/"+e:"http://"+e,b[c].url=e}a.success&&a.success(b)},error:a.error||function(a){console.log(a)}})}};var gif,img,imageURL=null,user=new function(){};user.init=function(){user.load(),user.bind()},user.bind=function(){$("#username").on("input",user.save)},user.load=function(){user.username=user.getCookie(),$("#username").val(user.username)},user.sanitize=function(){return $("#username").val().replace(/[^-_ a-zA-Z0-9]/g,"")},user.getCookie=function(){var a=localStorage.getItem("im.name")||"";if(document.cookie&&!a.length){var b=document.cookie.split(";");for(i in b){var c=b[i].split("=");if(-1!==c[0].indexOf("imname")&&"false"!==c[1]&&"undefined"!==c[1]&&c[1].length)return c[1]}}return a},user.save=function(){var a=user.sanitize();a!=user.username&&user.setCookie(a)},user.setCookie=function(a){console.log("setting to "+a),document.cookie="imname="+a+";path=/;domain=.asdf.us;max-age=1086400",localStorage.setItem("im.name",a)};var gallery={};gallery.init=function(a){a&&(gallery.choose=a),gallery.bind()},gallery.bind=function(){$("#gallery-random").click(asdf.random),$("#gallery-search").submit(dumpfm.search),$(document).on("click","#gallery-images canvas",gallery.click)},gallery.load=function(a){status("loading "+a.length+" images"),$("#gallery-images").empty();for(var b=0;b<a.length;b++)gallery.image(a[b])},gallery.image=function(a){var b=new Image;b.onload=function(){var a=100,c=b.naturalHeight/b.naturalWidth,d=~~(a/c),e=cq(d,a);e.drawImage(b,0,0,d,a),$(b).hide(),$("#gallery-images").append(e.canvas).append(b),$(e.canvas).mouseover(function(){$(e.canvas).hide(),$(b).show()}),b.width=d,b.height=a,$(b).mouseout(function(){$(b).hide(),$(e.canvas).show()}),$(b).click(gallery.choose),$("#persist-image").attr("checked",!1)};try{b.src=a.url}catch(c){return}b.complete&&b.onload()},gallery.click=function(){gallery.choose()},gallery.choose=function(){this.src};var frame_thumb_size=93,frame_editor={};frame_editor.init=function(){frame_editor.bind()},frame_editor.bind=function(){$("#add-frame").click(add_frame),$("#frames").sortable({start:drag_start,stop:drag_stop}),$(document).on("click","#frames .remove",remove_frame),$("#framecount").change(function(){var a=$(this).int();(1>a||isNaN(a))&&$(this).val(a=1),$("#add-frame").html(1==a?"+add frame":"+add frames")}),$("#frames").disableSelection(),$("#remove-all-frames").click(remove_all_frames),$("#weave-frames").click(weave_frames),$("#shuffle-frames").click(shuffle_frames),$("#reverse-frames").click(reverse_frames),$("#sort-frames").click(sort_frames),$("#render").click(render),$("#save").click(save),$("#upload").click(upload),$("#background").change(function(){document.body.style.backgroundColor=$("#background").string()})};var encoder=new GifEncoder;encoder.on("quantized",function(){status("encoding"),encoder.encode()}),encoder.on("encoded-frame",function(a,b){status("encoded "+a+" / "+b)}),encoder.on("rendered",function(a){status(filesize(a.length))}),encoder.on("rendered-url",function(a){var b=new Image;lastGif=b.src=a,$("#workspace canvas").hide(),$("#workspace").append(b),$("#uploaded-url").hide().val(""),$("#uploaded-url + br").hide(),$("#save,#upload,#rendered").show(),$("#pause,#render,#add-frame,#save,#upload").enable(),$("#render").html("render gif"),rendering=!1,pause(!0)});var frame,img_frame,timeout,raf_id,start_t=0,old_t=0,pause_t=0,paused=!1,dragging=!1,rendering=!1,scrolling=!1,deferring=!1,scrollTimeout=null,fps=30,shader_build=function(){var a=document.getElementById("shader").value;a.length||(a="");try{var b=new Function("x","y","t","d",a);shader=b,shade=shade_error_handling}catch(c){try{acorn.parse(a)}catch(c){error_highlight.on(c.loc.line-1)}throw Error("Shader compilation error")}},r,g,b,a,w,h,actual_w,actual_h,chrome_stack_regexp=/<anonymous>:([0-9]+)/,firefox_stack_regexp=/:([0-9]+)$/;shade=shade_error_handling(function(){var a={},b={},c={},d="&#xfeff;",e=0,f=0,g=0,h=function(){a.highlight.style.display="none"},i=function(b){c=a.textarea.getBoundingClientRect();var g=a.textarea.value,h=g.split("\n"),i=h.slice(0,b),k=h[b];a.textmeasure.innerHTML=1===i.length?i+d:i.join("<br>"+d),e=a.textmeasure.offsetHeight,a.textmeasure.innerHTML=k+d,f=a.textmeasure.offsetHeight,j()},j=function(){var b=c.top+c.height;a.highlight.style.width=a.textarea.scrollHeight>a.textarea.clientHeight?c.width-g+"px":c.width+"px",a.highlight.style.left=c.left+"px";var d=c.top+e-a.textarea.scrollTop;a.highlight.style.top=d+a.html.scrollTop+"px";var h=f;d+h>b&&(h=Math.max(0,b-d)),d<c.top&&(h=0),a.highlight.style.height=h+"px",a.highlight.style.display="block"},k=function(){var c=$("#shader");a.textarea=c[0];for(var d,e=["lineHeight","fontFamily","fontSize","padding","margin","borderWidth","width"],f=0;d=e[f];f++)b[d]=c.css(d)},l=function(){var a=document.createElement("div");a.style.visibility="hidden",a.style.width="100px",document.body.appendChild(a);var b=a.offsetWidth;a.style.overflow="scroll";var c=document.createElement("div");c.style.width="100%",a.appendChild(c);var d=c.offsetWidth;return a.parentNode.removeChild(a),b-d},m=function(){var c=a.textmeasure=document.createElement("div");c.id="textmeasure";var d=c.style;for(var e in b)d[e]=b[e];d.wordWrap="break-word",d.wordBreak="break-all",d.border="1px solid red",d.padding="0",d.display="block",d.position="absolute",d.left="-5000px",document.body.appendChild(c)},n=function(){var c=a.highlight=document.createElement("div"),d=c.style;for(var e in b)d[e]=b[e];d.pointerEvents="none",d.opacity="0.2",d.backgroundColor="#f00",d.position="absolute",d.lineHeight="0",d.fontSize="0",d.padding="0",d.borderWidth="0",d.display="block",document.body.appendChild(c)},o=function(){a.html=document.querySelector("html"),k(),n(),m(),g=l(),a.textarea.addEventListener("scroll",j)};error_highlight={init:o,on:i,off:h}})(),error_highlight.init();var help={};help.init=function(){help.bind()},help.bind=function(){$(window).on("scroll DOMMouseScroll mousewheel",function(){scrolling=!0}),$("#help").click(function(){$("#instructions").toggle(),console.log("zZ")}),$("#instructions .close").click(function(){$("#instructions").toggle(),console.log("zZ")}),$("#instructions").draggable({start:drag_start,stop:drag_stop}),$("#instructions").disableSelection()};var shader_gallery={};shader_gallery.init=function(){shader_gallery.bind()},shader_gallery.bind=function(){$("#new-shader").click(new_shader),$("#fetch-all").click(function(){ShaderAPI.all(load_shaders)}),$("#fetch-latest").click(function(){ShaderAPI.latest(load_shaders)}).trigger("click"),$("#save-shader").click(save_shader),ShaderAPI.list_users(function(a,b){var c=$("#pick-user").empty();for(var d in b){var e=$("<option>"),f=b[d].username;e.val(f).html(f),c.append(e)}}),$(document).on("change","#pick-user",function(){var a=$(this).val();ShaderAPI.username(a,load_shaders)}),$(document).on("click",".shader",function(){run_shader($(this).data("shader"))})};var ShaderAPI={};ShaderAPI.limit=24,ShaderAPI.info=function(a,b){ShaderAPI.fetch({f:"info",id:a},b)},ShaderAPI.all=function(a){ShaderAPI.fetch({f:"all"},a)},ShaderAPI.range=function(a,b,c){ShaderAPI.fetch({f:"range",limit:a||ShaderAPI.limit,last:b},c)},ShaderAPI.latest=function(a,b){b||(b=a,a=ShaderAPI.limit),ShaderAPI.fetch({f:"range",limit:a||ShaderAPI.limit},b)},ShaderAPI.page=function(a,b,c){ShaderAPI.fetch({f:"range",last:(a-1)*b,limit:b||ShaderAPI.limit},c)},ShaderAPI.history=function(a,b){ShaderAPI.fetch({f:"history",id:a},b)},ShaderAPI.username=function(a,b){ShaderAPI.fetch({f:"username",username:a},b)},ShaderAPI.list_users=function(a){ShaderAPI.fetch({f:"list_users"},a)},ShaderAPI.originals=function(a){ShaderAPI.fetch({f:"originals"},a)},ShaderAPI.fetch=function(a,b){$.ajax({url:"http://asdf.us/cgi-bin/im/shader/view",data:a,dataType:"jsonp",success:function(a){a.SUCCESS?b(null,a.data):a.ERROR&&b(a.ERROR,a.data)}})};var shader_id_root=null,cc=cq(0,0).appendTo("#workspace"),w=400,h=400,lastGif,mousex,mousey,firsttime=!0,shader_gallery_template=$("#shader-gallery-template").html();$(init); \ No newline at end of file
diff --git a/dist/index.html b/dist/index.html
new file mode 100644
index 0000000..ab4be6f
--- /dev/null
+++ b/dist/index.html
@@ -0,0 +1,140 @@
+<!doctype html>
+<html>
+<head>
+<style type="text/css">
+body { background: #f8f8f8; font-size: 14px }
+div { float: left; padding: 10px;}
+form { display: inline-block; }
+a { color: #00f; }
+#url { width: 250px; }
+#width,#height,#framecount,#framedelay,#frameinterval,#background { width: 30px; text-align: right; }
+#background { text-align: left; }
+#username { width: 55px; }
+#shader-name { width: 75px; }
+#shader-id { width: 40px; }
+#shader { width: 400px; height: 247px; font-family: fixed; }
+#uploaded-url { display: none; width: 400px; }
+#uploaded-url + br { display: none; }
+#header { clear: right; width:100%; padding: 0; font-size: 12px; }
+#shader-gallery,#gallery-images { display: block; height: 152px; overflow-y: auto; width: 100%; padding: 0; }
+#shader-gallery img,#shader-gallery canvas,#gallery-images img, #gallery-images canvas { max-width: 200px; height: 100px; margin: 5px; cursor: pointer; clear: right; }
+.shader { width: 100px; }
+.shader span { display: block }
+#help { float: right; }
+.dragging { cursor: -webkit-grabbing !important; }
+.ui-sortable-helper { cursor: -webkit-grabbing !important; }
+#instructions { position: absolute;top:20px;right:20px; width:190px;height:465px; box-shadow:5px 5px 10px rgba(0,0,0,0.3); background:rgba(255,255,255,0.8); display: none; cursor: -webkit-grab; }
+#instructions iframe {width: 100%;height:100%;margin:0;padding:0;border:0;}
+#instructions.dragging iframe { pointer-events: none; }
+#instructions .close { position: absolute; top: 5px; right: 5px; color: #f00; padding: 3px; border: 0;background: white; font-size: 10px; line-height: 10px; }
+#frame-controls { display: none; }
+#frames { display: block; width: 404px; max-height: 150px; overflow: auto; border: 1px solid #ddd; line-height: 0; }
+#frames div { margin: 1px; padding: 0; position: relative; border: 1px solid #eee; cursor: -webkit-grab; }
+#frames canvas { display: block }
+#frames .remove { position: absolute; top: 5px; right: 5px; color: #f00; padding: 3px; border: 0;background: white; font-size: 10px; line-height: 10px; }
+.paused { background: black; color: white; border-width: 1px; padding: 1px 3px 2px 4px; outline: 0 !important; }
+.active { background: black; color: white; border-width: 1px; padding: 1px 4px 2px 4px; outline: 0 !important; }
+.hidden { display: none; }
+.form { display: none; border-left: 1px solid #ddd; padding-left: 5px; margin-left: 2px; }
+.bold { font-weight: bold; }
+.close,.remove { cursor: pointer; }
+.status { font-size: 12px; }
+#render,#save,#upload,#save-shader { font-weight: bold; }
+#save[disabled],#upload[disabled] { font-weight: normal; }
+</style>
+</head>
+<body>
+<div id="header">
+ <button id="help">help</button>
+ <button class="toggle-off">x</button>
+ <button id="new-shader"><b>new shader</b></button>
+<!--
+ <select id="examples">
+ <option>examples</option>
+ </select>
+-->
+<!--
+ <input type="text" id="shader-id" disabled><button id="fetch-info" disabled>info</button>
+ <button id="fetch-history" disabled>history</button>
+ |
+ <button id="fetch-originals" disabled>originals</button>
+ <button id="fetch-all">all</button>
+-->
+ <button id="toggle-shaders">browse shaders</button>
+ <button id="toggle-images">browse images</button>
+ <span class="status"></span>
+ <span id="shader-api-form" class="form">
+ <input type="checkbox" id="persist-image" checked>
+ <label for="persist-image">load image</label>
+ <button id="fetch-latest">latest</button>
+ <button id="fetch-next-page" class="hidden">&rarr;</button>
+ <select id="pick-user">
+ <option>fetching users..</option>
+ </select>
+ <div id="shader-gallery"></div>
+ </span>
+ <span id="gallery-form" class="form">
+ <button id="gallery-random">asdf random</button>
+ <form id="gallery-search">
+ <input type="text" id="dumpfm-search-query" value="duck bill">
+ <button id="gallery-search">search dump</button>
+ </form>
+ <div id="gallery-images"></div>
+ </span>
+</div>
+<div id="controls">
+ <input type="text" id="url">
+ <input type="text" id="username" placeholder="username">
+ <input type="text" id="shader-name" placeholder="shader name">
+ <br>
+ <br>
+ <textarea id="shader"></textarea>
+ <br>
+ <input type="text" id="uploaded-url">
+ <br>
+ <button id="render">render gif</button>
+ <button id="save" disabled>save gif</button>
+ <button id="upload" disabled>upload gif</button>
+ <button id="reset">reset</button>
+ <button id="pause">pause</button>
+ <br>
+ <button id="save-shader">save shader</button>
+ <input type="text" id="width" placeholder="width" value="0">
+ <input type="text" id="height" placeholder="height" value="0">
+ <span class="status"></span>
+ <!--<button id="step-forward">&gt;&gt;</button>-->
+ <br>
+ <br>
+ <span id="frame-hidden-controls">
+ <button id="show-frame-controls">show frame editor</button>
+ </span>
+ <span id="frame-controls">
+ <button id="hide-frame-controls">x</button>
+ frames <input type="text" id="framecount" value="10">
+ rate <input type="text" id="framedelay" value="0.06s">
+ bg <input type="text" id="background" value="#fff">
+ <button id="add-frame">+add</button>
+ <select id="reorder-frames">
+ <option value="">reorder</option>
+ <option value="weave-frames">weave</button>
+ <option value="shuffle-frames">shuffle</button>
+ <option value="reverse-frames">reverse</button>
+ <option value="sort-frames">sort</button>
+ </select>
+ <!--<button id="remove-all-frames">clear</button>-->
+ <br>
+ <span id="frames"></span>
+ </span>
+</div>
+<div id="workspace"></div>
+<div id="instructions"><iframe src="instructions.html"></iframe><button class="close">&times;</button></div>
+<script type="text/javascript" src="app.min.js"></script></body>
+<script type="text/html" id="shader-gallery-template">
+<span><img src="{thumbnail_url}"></span>
+{name} - {username}
+</script>
+<script type="text/html" id="frame-template">
+<button class="remove">x</button>
+<span class="frame"></span>
+</script>
+</html>
diff --git a/package.json b/package.json
index 8aa641a..4faacfc 100644
--- a/package.json
+++ b/package.json
@@ -5,6 +5,8 @@
"grunt": "~0.4.1",
"grunt-contrib-concat": "~0.3.0",
"grunt-contrib-uglify": "~0.2.5",
- "grunt-contrib-watch": "~0.5.3"
+ "grunt-contrib-watch": "~0.5.3",
+ "grunt-contrib-clean": "~0.5.0",
+ "grunt-dentist": "~0.2.0"
}
}