(function(r){function C(){this.crc=-1}function J(){}function V(a,b,c){if(0>b||0>c||b+c>a.size)throw new RangeError("offset:"+b+", length:"+c+", size:"+a.size);if(a.slice)return a.slice(b,b+c);if(a.webkitSlice)return a.webkitSlice(b,b+c);if(a.mozSlice)return a.mozSlice(b,b+c);if(a.msSlice)return a.msSlice(b,b+c)}function x(a,b){a=new ArrayBuffer(a);var c=new Uint8Array(a);b&&c.set(b,0);return{buffer:a,array:c,view:new DataView(a)}}function D(){}function E(a){var b=this,c;b.size=0;b.init=function(d, f){var g=new Blob([a],{type:"text/plain"});c=new y(g);c.init(function(){b.size=c.size;d()},f)};b.readUint8Array=function(a,b,g,l){c.readUint8Array(a,b,g,l)}}function F(a){var b=this,c;b.size=0;b.init=function(d){for(var f=a.length;"="==a.charAt(f-1);)f--;c=a.indexOf(",")+1;b.size=Math.floor(.75*(f-c));d()};b.readUint8Array=function(b,f,g){var d=x(f),e=4*Math.floor(b/3),n=r.atob(a.substring(e+c,4*Math.ceil((b+f)/3)+c));for(b=e=b-3*Math.floor(e/4);b>16;g&=65535;try{var e=new Date(1980+((l&65024)>>9),((l&480)>>5)-1,l&31,(g&63488)>>11,(g&2016)>> 5,2*(g&31),0);break a}catch(n){}e=void 0}a.lastModDate=e;if(1===(a.bitFlag&1))f("File contains encrypted entry.");else{if(d||8!=(a.bitFlag&8))a.crc32=b.view.getUint32(c+10,!0),a.compressedSize=b.view.getUint32(c+14,!0),a.uncompressedSize=b.view.getUint32(c+18,!0);4294967295===a.compressedSize||4294967295===a.uncompressedSize?f("File is using Zip64 (4gb+ file size)."):(a.filenameLength=b.view.getUint16(c+22,!0),a.extraFieldLength=b.view.getUint16(c+24,!0))}}function X(a,b,c){function d(){}function f(b){function e(e, d){a.readUint8Array(a.size-e,e,function(a){for(var c=a.length-22;0<=c;c--)if(80===a[c]&&75===a[c+1]&&5===a[c+2]&&6===a[c+3]){b(new DataView(a.buffer,c,22));return}d()},function(){c("Error while reading zip file.")})}22>a.size?c("File format is not recognized."):e(22,function(){e(Math.min(65558,a.size),function(){c("File format is not recognized.")})})}var g=0;d.prototype.getData=function(b,d,f,l){function e(a){var b=x(4);b.view.setUint32(0,a);return k.crc32==b.view.getUint32(0)}function m(a,f){l&& !e(f)?c("CRC failed."):b.getData(function(a){d(a)})}function t(a){c(a||"Error while reading file data.")}function q(a){c(a||"Error while writing file data.")}var k=this;a.readUint8Array(k.offset,30,function(e){e=x(e.length,e);if(1347093252!=e.view.getUint32(0))c("File format is not recognized.");else{R(k,e,4,!1,c);var d=k.offset+30+k.filenameLength+k.extraFieldLength;b.init(function(){if(0===k.compressionMethod)O(k._worker,g++,a,b,d,k.compressedSize,l,m,f,t,q);else{var c=g++,e=k.compressedSize,h= l?"output":"none";r.zip.useWebWorkers?K(k._worker,{sn:c,codecClass:"Inflater",crcType:h},a,b,d,e,f,m,t,q):M(new r.zip.Inflater,a,b,d,e,h,f,m,t,q)}},q)}},t)};var l={getEntries:function(b){var e=this._worker;f(function(f){var g=f.getUint32(16,!0);var l=f.getUint16(8,!0);0>g||g>=a.size?c("File format is not recognized."):a.readUint8Array(g,a.size-g,function(a){var f=0,g=[],k=x(a.length,a);for(a=0;a>>8^c[(b^a[d])&255];this.crc=b};C.prototype.get=function(){return~this.crc};C.prototype.table=function(){var a,b,c=[];for(a=0;256>a;a++){var d=a;for(b=0;8>b;b++)d=d&1?d>>>1^3988292384:d>>>1;c[a]=d}return c}();J.prototype.append=function(a, b){return a};J.prototype.flush=function(){};E.prototype=new D;E.prototype.constructor=E;F.prototype=new D;F.prototype.constructor=F;y.prototype=new D;y.prototype.constructor=y;B.prototype.getData=function(a){a(this.data)};G.prototype=new B;G.prototype.constructor=G;H.prototype=new B;H.prototype.constructor=H;I.prototype=new B;I.prototype.constructor=I;var aa={deflater:["z-worker.js","deflate.js"],inflater:["z-worker.js","inflate.js"]};r.zip={Reader:D,Writer:B,BlobReader:y,Data64URIReader:F,TextReader:E, BlobWriter:I,Data64URIWriter:H,TextWriter:G,createReader:function(a,b,c){c=c||U;a.init(function(){X(a,b,c)},c)},createWriter:function(a,b,c,d){c=c||U;d=!!d;a.init(function(){Y(a,b,c,d)},c)},useWebWorkers:!0,workerScriptsPath:null,workerScripts:null}})(this);