var Canvas2Image=(function(){var h=document.createElement("canvas");if(!h.getContext){return{saveAsBMP:function(){},saveAsPNG:function(){},saveAsJPEG:function(){}}}var c=!!(h.getContext("2d").getImageData);var d=!!(h.toDataURL);var a=!!(window.btoa);var e="image/octet-stream";var l=function(m){var n=parseInt(m.width);var o=parseInt(m.height);return m.getContext("2d").getImageData(0,0,n,o)};var f=function(o){var p="";if(typeof o=="string"){p=o}else{var m=o;for(var n=0;n<m.length;n++){p+=String.fromCharCode(m[n])}}return btoa(p)};var j=function(z){var r=[];var C=z.width;var o=z.height;r.push(66);r.push(77);var v=C*o*3+54;r.push(v%256);v=Math.floor(v/256);r.push(v%256);v=Math.floor(v/256);r.push(v%256);v=Math.floor(v/256);r.push(v%256);r.push(0);r.push(0);r.push(0);r.push(0);r.push(54);r.push(0);r.push(0);r.push(0);var t=[];t.push(40);t.push(0);t.push(0);t.push(0);var u=C;t.push(u%256);u=Math.floor(u/256);t.push(u%256);u=Math.floor(u/256);t.push(u%256);u=Math.floor(u/256);t.push(u%256);var m=o;t.push(m%256);m=Math.floor(m/256);t.push(m%256);m=Math.floor(m/256);t.push(m%256);m=Math.floor(m/256);t.push(m%256);t.push(1);t.push(0);t.push(24);t.push(0);t.push(0);t.push(0);t.push(0);t.push(0);var n=C*o*3;t.push(n%256);n=Math.floor(n/256);t.push(n%256);n=Math.floor(n/256);t.push(n%256);n=Math.floor(n/256);t.push(n%256);for(var B=0;B<16;B++){t.push(0)}var w=(4-((C*3)%4))%4;var F=z.data;var p="";var q=o;do{var D=C*(q-1)*4;var A="";for(var s=0;s<C;s++){var E=4*s;A+=String.fromCharCode(F[D+E+2]);A+=String.fromCharCode(F[D+E+1]);A+=String.fromCharCode(F[D+E])}for(var G=0;G<w;G++){A+=String.fromCharCode(0)}p+=A}while(--q);return f(r.concat(t))+f(p)};var b=function(m){if(!window.open(m)){document.location.href=m}};var i=function(n,m){return"data:"+m+";base64,"+n};var k=function(m){var n=document.createElement("img");n.src=m;return n};var g=function(n,o,q){if(o&&q){var p=document.createElement("canvas");p.width=o;p.height=q;p.style.width=o+"px";p.style.height=q+"px";var m=p.getContext("2d");m.drawImage(n,0,0,n.width,n.height,0,0,o,o);return p}return n};return{saveAsPNG:function(n,m,o,r){if(!d){return false}var p=g(n,o,r);var q=p.toDataURL("image/png");if(m){return k(q)}else{b(q.replace("image/png",e))}return true},saveAsJPEG:function(n,m,o,s){if(!d){return false}var p=g(n,o,s);var r="image/jpeg";var q=p.toDataURL(r);if(q.indexOf(r)!=5){return false}if(m){return k(q)}else{b(q.replace(r,e))}return true},saveAsBMP:function(o,n,p,r){if(!(c&&a)){return false}var q=g(o,p,r);var s=l(q);var m=j(s);if(n){return k(i(m,"image/bmp"))}else{b(i(m,e))}return true}}})();
