@fusioncharts/features
Version:
FusionCharts JavaScript charting framework
1 lines • 150 kB
JavaScript
"use strict";(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.JSZip=f()}})((function(){var define,module,exports;return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,(function(e){var n=t[o][1][e];return s(n?n:e)}),l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){"use strict";var utils=require("./utils");var support=require("./support");var _keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";exports.encode=function(input){var output=[];var chr1,chr2,chr3,enc1,enc2,enc3,enc4;var i=0,len=input.length,remainingBytes=len;var isArray=utils.getTypeOf(input)!=="string";while(i<input.length){remainingBytes=len-i;if(!isArray){chr1=input.charCodeAt(i++);chr2=i<len?input.charCodeAt(i++):0;chr3=i<len?input.charCodeAt(i++):0}else{chr1=input[i++];chr2=i<len?input[i++]:0;chr3=i<len?input[i++]:0}enc1=chr1>>2;enc2=(chr1&3)<<4|chr2>>4;enc3=remainingBytes>1?(chr2&15)<<2|chr3>>6:64;enc4=remainingBytes>2?chr3&63:64;output.push(_keyStr.charAt(enc1)+_keyStr.charAt(enc2)+_keyStr.charAt(enc3)+_keyStr.charAt(enc4))}return output.join("")};exports.decode=function(input){var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0,resultIndex=0;var dataUrlPrefix="data:";if(input.substr(0,dataUrlPrefix.length)===dataUrlPrefix){throw new Error("Invalid base64 input, it looks like a data url.")}input=input.replace(/[^A-Za-z0-9+/=]/g,"");var totalLength=input.length*3/4;if(input.charAt(input.length-1)===_keyStr.charAt(64)){totalLength--}if(input.charAt(input.length-2)===_keyStr.charAt(64)){totalLength--}if(totalLength%1!==0){throw new Error("Invalid base64 input, bad content length.")}var output;if(support.uint8array){output=new Uint8Array(totalLength|0)}else{output=new Array(totalLength|0)}while(i<input.length){enc1=_keyStr.indexOf(input.charAt(i++));enc2=_keyStr.indexOf(input.charAt(i++));enc3=_keyStr.indexOf(input.charAt(i++));enc4=_keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output[resultIndex++]=chr1;if(enc3!==64){output[resultIndex++]=chr2}if(enc4!==64){output[resultIndex++]=chr3}}return output}},{"./support":30,"./utils":32}],2:[function(require,module,exports){"use strict";var external=require("./external");var DataWorker=require("./stream/DataWorker");var Crc32Probe=require("./stream/Crc32Probe");var DataLengthProbe=require("./stream/DataLengthProbe");function CompressedObject(compressedSize,uncompressedSize,crc32,compression,data){this.compressedSize=compressedSize;this.uncompressedSize=uncompressedSize;this.crc32=crc32;this.compression=compression;this.compressedContent=data}CompressedObject.prototype={getContentWorker:function getContentWorker(){var worker=new DataWorker(external.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new DataLengthProbe("data_length"));var that=this;worker.on("end",(function(){if(this.streamInfo["data_length"]!==that.uncompressedSize){throw new Error("Bug : uncompressed data size mismatch")}}));return worker},getCompressedWorker:function getCompressedWorker(){return new DataWorker(external.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}};CompressedObject.createWorkerFrom=function(uncompressedWorker,compression,compressionOptions){return uncompressedWorker.pipe(new Crc32Probe).pipe(new DataLengthProbe("uncompressedSize")).pipe(compression.compressWorker(compressionOptions)).pipe(new DataLengthProbe("compressedSize")).withStreamInfo("compression",compression)};module.exports=CompressedObject},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(require,module,exports){"use strict";var GenericWorker=require("./stream/GenericWorker");exports.STORE={magic:"\0\0",compressWorker:function compressWorker(){return new GenericWorker("STORE compression")},uncompressWorker:function uncompressWorker(){return new GenericWorker("STORE decompression")}};exports.DEFLATE=require("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(require,module,exports){"use strict";var utils=require("./utils");function makeTable(){var c,table=[];for(var n=0;n<256;n++){c=n;for(var k=0;k<8;k++){c=c&1?3988292384^c>>>1:c>>>1}table[n]=c}return table}var crcTable=makeTable();function crc32(crc,buf,len,pos){var t=crcTable,end=pos+len;crc=crc^-1;for(var i=pos;i<end;i++){crc=crc>>>8^t[(crc^buf[i])&255]}return crc^-1}function crc32str(crc,str,len,pos){var t=crcTable,end=pos+len;crc=crc^-1;for(var i=pos;i<end;i++){crc=crc>>>8^t[(crc^str.charCodeAt(i))&255]}return crc^-1}module.exports=function crc32wrapper(input,crc){if(typeof input==="undefined"||!input.length){return 0}var isArray=utils.getTypeOf(input)!=="string";if(isArray){return crc32(crc|0,input,input.length,0)}else{return crc32str(crc|0,input,input.length,0)}}},{"./utils":32}],5:[function(require,module,exports){"use strict";exports.base64=false;exports.binary=false;exports.dir=false;exports.createFolders=true;exports.date=null;exports.compression=null;exports.compressionOptions=null;exports.comment=null;exports.unixPermissions=null;exports.dosPermissions=null},{}],6:[function(require,module,exports){"use strict";var ES6Promise=null;if(typeof Promise!=="undefined"){ES6Promise=Promise}else{ES6Promise=require("lie")}module.exports={Promise:ES6Promise}},{lie:37}],7:[function(require,module,exports){"use strict";var USE_TYPEDARRAY=typeof Uint8Array!=="undefined"&&typeof Uint16Array!=="undefined"&&typeof Uint32Array!=="undefined";var pako=require("pako");var utils=require("./utils");var GenericWorker=require("./stream/GenericWorker");var ARRAY_TYPE=USE_TYPEDARRAY?"uint8array":"array";exports.magic="\b\0";function FlateWorker(action,options){GenericWorker.call(this,"FlateWorker/"+action);this._pako=null;this._pakoAction=action;this._pakoOptions=options;this.meta={}}utils.inherits(FlateWorker,GenericWorker);FlateWorker.prototype.processChunk=function(chunk){this.meta=chunk.meta;if(this._pako===null){this._createPako()}this._pako.push(utils.transformTo(ARRAY_TYPE,chunk.data),false)};FlateWorker.prototype.flush=function(){GenericWorker.prototype.flush.call(this);if(this._pako===null){this._createPako()}this._pako.push([],true)};FlateWorker.prototype.cleanUp=function(){GenericWorker.prototype.cleanUp.call(this);this._pako=null};FlateWorker.prototype._createPako=function(){this._pako=new pako[this._pakoAction]({raw:true,level:this._pakoOptions.level||-1});var self=this;this._pako.onData=function(data){self.push({data:data,meta:self.meta})}};exports.compressWorker=function(compressionOptions){return new FlateWorker("Deflate",compressionOptions)};exports.uncompressWorker=function(){return new FlateWorker("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(require,module,exports){"use strict";var utils=require("../utils");var GenericWorker=require("../stream/GenericWorker");var utf8=require("../utf8");var crc32=require("../crc32");var signature=require("../signature");var decToHex=function decToHex(dec,bytes){var hex="",i;for(i=0;i<bytes;i++){hex+=String.fromCharCode(dec&255);dec=dec>>>8}return hex};var generateUnixExternalFileAttr=function generateUnixExternalFileAttr(unixPermissions,isDir){var result=unixPermissions;if(!unixPermissions){result=isDir?16893:33204}return(result&65535)<<16};var generateDosExternalFileAttr=function generateDosExternalFileAttr(dosPermissions){return(dosPermissions||0)&63};var generateZipParts=function generateZipParts(streamInfo,streamedContent,streamingEnded,offset,platform,encodeFileName){var file=streamInfo["file"],compression=streamInfo["compression"],useCustomEncoding=encodeFileName!==utf8.utf8encode,encodedFileName=utils.transformTo("string",encodeFileName(file.name)),utfEncodedFileName=utils.transformTo("string",utf8.utf8encode(file.name)),comment=file.comment,encodedComment=utils.transformTo("string",encodeFileName(comment)),utfEncodedComment=utils.transformTo("string",utf8.utf8encode(comment)),useUTF8ForFileName=utfEncodedFileName.length!==file.name.length,useUTF8ForComment=utfEncodedComment.length!==comment.length,dosTime,dosDate,extraFields="",unicodePathExtraField="",unicodeCommentExtraField="",dir=file.dir,date=file.date;var dataInfo={crc32:0,compressedSize:0,uncompressedSize:0};if(!streamedContent||streamingEnded){dataInfo.crc32=streamInfo["crc32"];dataInfo.compressedSize=streamInfo["compressedSize"];dataInfo.uncompressedSize=streamInfo["uncompressedSize"]}var bitflag=0;if(streamedContent){bitflag|=8}if(!useCustomEncoding&&(useUTF8ForFileName||useUTF8ForComment)){bitflag|=2048}var extFileAttr=0;var versionMadeBy=0;if(dir){extFileAttr|=16}if(platform==="UNIX"){versionMadeBy=798;extFileAttr|=generateUnixExternalFileAttr(file.unixPermissions,dir)}else{versionMadeBy=20;extFileAttr|=generateDosExternalFileAttr(file.dosPermissions,dir)}dosTime=date.getUTCHours();dosTime=dosTime<<6;dosTime=dosTime|date.getUTCMinutes();dosTime=dosTime<<5;dosTime=dosTime|date.getUTCSeconds()/2;dosDate=date.getUTCFullYear()-1980;dosDate=dosDate<<4;dosDate=dosDate|date.getUTCMonth()+1;dosDate=dosDate<<5;dosDate=dosDate|date.getUTCDate();if(useUTF8ForFileName){unicodePathExtraField=decToHex(1,1)+decToHex(crc32(encodedFileName),4)+utfEncodedFileName;extraFields+="up"+decToHex(unicodePathExtraField.length,2)+unicodePathExtraField}if(useUTF8ForComment){unicodeCommentExtraField=decToHex(1,1)+decToHex(crc32(encodedComment),4)+utfEncodedComment;extraFields+="uc"+decToHex(unicodeCommentExtraField.length,2)+unicodeCommentExtraField}var header="";header+="\n\0";header+=decToHex(bitflag,2);header+=compression.magic;header+=decToHex(dosTime,2);header+=decToHex(dosDate,2);header+=decToHex(dataInfo.crc32,4);header+=decToHex(dataInfo.compressedSize,4);header+=decToHex(dataInfo.uncompressedSize,4);header+=decToHex(encodedFileName.length,2);header+=decToHex(extraFields.length,2);var fileRecord=signature.LOCAL_FILE_HEADER+header+encodedFileName+extraFields;var dirRecord=signature.CENTRAL_FILE_HEADER+decToHex(versionMadeBy,2)+header+decToHex(encodedComment.length,2)+"\0\0"+"\0\0"+decToHex(extFileAttr,4)+decToHex(offset,4)+encodedFileName+extraFields+encodedComment;return{fileRecord:fileRecord,dirRecord:dirRecord}};var generateCentralDirectoryEnd=function generateCentralDirectoryEnd(entriesCount,centralDirLength,localDirLength,comment,encodeFileName){var dirEnd="";var encodedComment=utils.transformTo("string",encodeFileName(comment));dirEnd=signature.CENTRAL_DIRECTORY_END+"\0\0"+"\0\0"+decToHex(entriesCount,2)+decToHex(entriesCount,2)+decToHex(centralDirLength,4)+decToHex(localDirLength,4)+decToHex(encodedComment.length,2)+encodedComment;return dirEnd};var generateDataDescriptors=function generateDataDescriptors(streamInfo){var descriptor="";descriptor=signature.DATA_DESCRIPTOR+decToHex(streamInfo["crc32"],4)+decToHex(streamInfo["compressedSize"],4)+decToHex(streamInfo["uncompressedSize"],4);return descriptor};function ZipFileWorker(streamFiles,comment,platform,encodeFileName){GenericWorker.call(this,"ZipFileWorker");this.bytesWritten=0;this.zipComment=comment;this.zipPlatform=platform;this.encodeFileName=encodeFileName;this.streamFiles=streamFiles;this.accumulate=false;this.contentBuffer=[];this.dirRecords=[];this.currentSourceOffset=0;this.entriesCount=0;this.currentFile=null;this._sources=[]}utils.inherits(ZipFileWorker,GenericWorker);ZipFileWorker.prototype.push=function(chunk){var currentFilePercent=chunk.meta.percent||0;var entriesCount=this.entriesCount;var remainingFiles=this._sources.length;if(this.accumulate){this.contentBuffer.push(chunk)}else{this.bytesWritten+=chunk.data.length;GenericWorker.prototype.push.call(this,{data:chunk.data,meta:{currentFile:this.currentFile,percent:entriesCount?(currentFilePercent+100*(entriesCount-remainingFiles-1))/entriesCount:100}})}};ZipFileWorker.prototype.openedSource=function(streamInfo){this.currentSourceOffset=this.bytesWritten;this.currentFile=streamInfo["file"].name;var streamedContent=this.streamFiles&&!streamInfo["file"].dir;if(streamedContent){var record=generateZipParts(streamInfo,streamedContent,false,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:record.fileRecord,meta:{percent:0}})}else{this.accumulate=true}};ZipFileWorker.prototype.closedSource=function(streamInfo){this.accumulate=false;var streamedContent=this.streamFiles&&!streamInfo["file"].dir;var record=generateZipParts(streamInfo,streamedContent,true,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.dirRecords.push(record.dirRecord);if(streamedContent){this.push({data:generateDataDescriptors(streamInfo),meta:{percent:100}})}else{this.push({data:record.fileRecord,meta:{percent:0}});while(this.contentBuffer.length){this.push(this.contentBuffer.shift())}}this.currentFile=null};ZipFileWorker.prototype.flush=function(){var localDirLength=this.bytesWritten;for(var i=0;i<this.dirRecords.length;i++){this.push({data:this.dirRecords[i],meta:{percent:100}})}var centralDirLength=this.bytesWritten-localDirLength;var dirEnd=generateCentralDirectoryEnd(this.dirRecords.length,centralDirLength,localDirLength,this.zipComment,this.encodeFileName);this.push({data:dirEnd,meta:{percent:100}})};ZipFileWorker.prototype.prepareNextSource=function(){this.previous=this._sources.shift();this.openedSource(this.previous.streamInfo);if(this.isPaused){this.previous.pause()}else{this.previous.resume()}};ZipFileWorker.prototype.registerPrevious=function(previous){this._sources.push(previous);var self=this;previous.on("data",(function(chunk){self.processChunk(chunk)}));previous.on("end",(function(){self.closedSource(self.previous.streamInfo);if(self._sources.length){self.prepareNextSource()}else{self.end()}}));previous.on("error",(function(e){self.error(e)}));return this};ZipFileWorker.prototype.resume=function(){if(!GenericWorker.prototype.resume.call(this)){return false}if(!this.previous&&this._sources.length){this.prepareNextSource();return true}if(!this.previous&&!this._sources.length&&!this.generatedError){this.end();return true}};ZipFileWorker.prototype.error=function(e){var sources=this._sources;if(!GenericWorker.prototype.error.call(this,e)){return false}for(var i=0;i<sources.length;i++){try{sources[i].error(e)}catch(e){}}return true};ZipFileWorker.prototype.lock=function(){GenericWorker.prototype.lock.call(this);var sources=this._sources;for(var i=0;i<sources.length;i++){sources[i].lock()}};module.exports=ZipFileWorker},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(require,module,exports){"use strict";var compressions=require("../compressions");var ZipFileWorker=require("./ZipFileWorker");var getCompression=function getCompression(fileCompression,zipCompression){var compressionName=fileCompression||zipCompression;var compression=compressions[compressionName];if(!compression){throw new Error(compressionName+" is not a valid compression method !")}return compression};exports.generateWorker=function(zip,options,comment){var zipFileWorker=new ZipFileWorker(options.streamFiles,comment,options.platform,options.encodeFileName);var entriesCount=0;try{zip.forEach((function(relativePath,file){entriesCount++;var compression=getCompression(file.options.compression,options.compression);var compressionOptions=file.options.compressionOptions||options.compressionOptions||{};var dir=file.dir,date=file.date;file._compressWorker(compression,compressionOptions).withStreamInfo("file",{name:relativePath,dir:dir,date:date,comment:file.comment||"",unixPermissions:file.unixPermissions,dosPermissions:file.dosPermissions}).pipe(zipFileWorker)}));zipFileWorker.entriesCount=entriesCount}catch(e){zipFileWorker.error(e)}return zipFileWorker}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(require,module,exports){"use strict";function JSZip(){if(!(this instanceof JSZip)){return new JSZip}if(arguments.length){throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.")}this.files=Object.create(null);this.comment=null;this.root="";this.clone=function(){var newObj=new JSZip;for(var i in this){if(typeof this[i]!=="function"){newObj[i]=this[i]}}return newObj}}JSZip.prototype=require("./object");JSZip.prototype.loadAsync=require("./load");JSZip.support=require("./support");JSZip.defaults=require("./defaults");JSZip.version="3.10.1";JSZip.loadAsync=function(content,options){return(new JSZip).loadAsync(content,options)};JSZip.external=require("./external");module.exports=JSZip},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(require,module,exports){"use strict";var utils=require("./utils");var external=require("./external");var utf8=require("./utf8");var ZipEntries=require("./zipEntries");var Crc32Probe=require("./stream/Crc32Probe");var nodejsUtils=require("./nodejsUtils");function checkEntryCRC32(zipEntry){return new external.Promise((function(resolve,reject){var worker=zipEntry.decompressed.getContentWorker().pipe(new Crc32Probe);worker.on("error",(function(e){reject(e)})).on("end",(function(){if(worker.streamInfo.crc32!==zipEntry.decompressed.crc32){reject(new Error("Corrupted zip : CRC32 mismatch"))}else{resolve()}})).resume()}))}module.exports=function(data,options){var zip=this;options=utils.extend(options||{},{base64:false,checkCRC32:false,optimizedBinaryString:false,createFolders:false,decodeFileName:utf8.utf8decode});if(nodejsUtils.isNode&&nodejsUtils.isStream(data)){return external.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file."))}return utils.prepareContent("the loaded zip file",data,true,options.optimizedBinaryString,options.base64).then((function(data){var zipEntries=new ZipEntries(options);zipEntries.load(data);return zipEntries})).then((function checkCRC32(zipEntries){var promises=[external.Promise.resolve(zipEntries)];var files=zipEntries.files;if(options.checkCRC32){for(var i=0;i<files.length;i++){promises.push(checkEntryCRC32(files[i]))}}return external.Promise.all(promises)})).then((function addFiles(results){var zipEntries=results.shift();var files=zipEntries.files;for(var i=0;i<files.length;i++){var input=files[i];var unsafeName=input.fileNameStr;var safeName=utils.resolve(input.fileNameStr);zip.file(safeName,input.decompressed,{binary:true,optimizedBinaryString:true,date:input.date,dir:input.dir,comment:input.fileCommentStr.length?input.fileCommentStr:null,unixPermissions:input.unixPermissions,dosPermissions:input.dosPermissions,createFolders:options.createFolders});if(!input.dir){zip.file(safeName).unsafeOriginalName=unsafeName}}if(zipEntries.zipComment.length){zip.comment=zipEntries.zipComment}return zip}))}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(require,module,exports){"use strict";var utils=require("../utils");var GenericWorker=require("../stream/GenericWorker");function NodejsStreamInputAdapter(filename,stream){GenericWorker.call(this,"Nodejs stream input adapter for "+filename);this._upstreamEnded=false;this._bindStream(stream)}utils.inherits(NodejsStreamInputAdapter,GenericWorker);NodejsStreamInputAdapter.prototype._bindStream=function(stream){var self=this;this._stream=stream;stream.pause();stream.on("data",(function(chunk){self.push({data:chunk,meta:{percent:0}})})).on("error",(function(e){if(self.isPaused){this.generatedError=e}else{self.error(e)}})).on("end",(function(){if(self.isPaused){self._upstreamEnded=true}else{self.end()}}))};NodejsStreamInputAdapter.prototype.pause=function(){if(!GenericWorker.prototype.pause.call(this)){return false}this._stream.pause();return true};NodejsStreamInputAdapter.prototype.resume=function(){if(!GenericWorker.prototype.resume.call(this)){return false}if(this._upstreamEnded){this.end()}else{this._stream.resume()}return true};module.exports=NodejsStreamInputAdapter},{"../stream/GenericWorker":28,"../utils":32}],13:[function(require,module,exports){"use strict";var Readable=require("readable-stream").Readable;var utils=require("../utils");utils.inherits(NodejsStreamOutputAdapter,Readable);function NodejsStreamOutputAdapter(helper,options,updateCb){Readable.call(this,options);this._helper=helper;var self=this;helper.on("data",(function(data,meta){if(!self.push(data)){self._helper.pause()}if(updateCb){updateCb(meta)}})).on("error",(function(e){self.emit("error",e)})).on("end",(function(){self.push(null)}))}NodejsStreamOutputAdapter.prototype._read=function(){this._helper.resume()};module.exports=NodejsStreamOutputAdapter},{"../utils":32,"readable-stream":16}],14:[function(require,module,exports){"use strict";module.exports={isNode:typeof Buffer!=="undefined",newBufferFrom:function newBufferFrom(data,encoding){if(Buffer.from&&Buffer.from!==Uint8Array.from){return Buffer.from(data,encoding)}else{if(typeof data==="number"){throw new Error('The "data" argument must not be a number')}return new Buffer(data,encoding)}},allocBuffer:function allocBuffer(size){if(Buffer.alloc){return Buffer.alloc(size)}else{var buf=new Buffer(size);buf.fill(0);return buf}},isBuffer:function isBuffer(b){return Buffer.isBuffer(b)},isStream:function isStream(obj){return obj&&typeof obj.on==="function"&&typeof obj.pause==="function"&&typeof obj.resume==="function"}}},{}],15:[function(require,module,exports){"use strict";var utf8=require("./utf8");var utils=require("./utils");var GenericWorker=require("./stream/GenericWorker");var StreamHelper=require("./stream/StreamHelper");var defaults=require("./defaults");var CompressedObject=require("./compressedObject");var ZipObject=require("./zipObject");var generate=require("./generate");var nodejsUtils=require("./nodejsUtils");var NodejsStreamInputAdapter=require("./nodejs/NodejsStreamInputAdapter");var fileAdd=function fileAdd(name,data,originalOptions){var dataType=utils.getTypeOf(data),parent;var o=utils.extend(originalOptions||{},defaults);o.date=o.date||new Date;if(o.compression!==null){o.compression=o.compression.toUpperCase()}if(typeof o.unixPermissions==="string"){o.unixPermissions=parseInt(o.unixPermissions,8)}if(o.unixPermissions&&o.unixPermissions&16384){o.dir=true}if(o.dosPermissions&&o.dosPermissions&16){o.dir=true}if(o.dir){name=forceTrailingSlash(name)}if(o.createFolders&&(parent=parentFolder(name))){folderAdd.call(this,parent,true)}var isUnicodeString=dataType==="string"&&o.binary===false&&o.base64===false;if(!originalOptions||typeof originalOptions.binary==="undefined"){o.binary=!isUnicodeString}var isCompressedEmpty=data instanceof CompressedObject&&data.uncompressedSize===0;if(isCompressedEmpty||o.dir||!data||data.length===0){o.base64=false;o.binary=true;data="";o.compression="STORE";dataType="string"}var zipObjectContent=null;if(data instanceof CompressedObject||data instanceof GenericWorker){zipObjectContent=data}else if(nodejsUtils.isNode&&nodejsUtils.isStream(data)){zipObjectContent=new NodejsStreamInputAdapter(name,data)}else{zipObjectContent=utils.prepareContent(name,data,o.binary,o.optimizedBinaryString,o.base64)}var object=new ZipObject(name,zipObjectContent,o);this.files[name]=object};var parentFolder=function parentFolder(path){if(path.slice(-1)==="/"){path=path.substring(0,path.length-1)}var lastSlash=path.lastIndexOf("/");return lastSlash>0?path.substring(0,lastSlash):""};var forceTrailingSlash=function forceTrailingSlash(path){if(path.slice(-1)!=="/"){path+="/"}return path};var folderAdd=function folderAdd(name,createFolders){createFolders=typeof createFolders!=="undefined"?createFolders:defaults.createFolders;name=forceTrailingSlash(name);if(!this.files[name]){fileAdd.call(this,name,null,{dir:true,createFolders:createFolders})}return this.files[name]};function isRegExp(object){return Object.prototype.toString.call(object)==="[object RegExp]"}var out={load:function load(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function forEach(cb){var filename,relativePath,file;for(filename in this.files){file=this.files[filename];relativePath=filename.slice(this.root.length,filename.length);if(relativePath&&filename.slice(0,this.root.length)===this.root){cb(relativePath,file)}}},filter:function filter(search){var result=[];this.forEach((function(relativePath,entry){if(search(relativePath,entry)){result.push(entry)}}));return result},file:function file(name,data,o){if(arguments.length===1){if(isRegExp(name)){var regexp=name;return this.filter((function(relativePath,file){return!file.dir&®exp.test(relativePath)}))}else{var obj=this.files[this.root+name];if(obj&&!obj.dir){return obj}else{return null}}}else{name=this.root+name;fileAdd.call(this,name,data,o)}return this},folder:function folder(arg){if(!arg){return this}if(isRegExp(arg)){return this.filter((function(relativePath,file){return file.dir&&arg.test(relativePath)}))}var name=this.root+arg;var newFolder=folderAdd.call(this,name);var ret=this.clone();ret.root=newFolder.name;return ret},remove:function remove(name){name=this.root+name;var file=this.files[name];if(!file){if(name.slice(-1)!=="/"){name+="/"}file=this.files[name]}if(file&&!file.dir){delete this.files[name]}else{var kids=this.filter((function(relativePath,file){return file.name.slice(0,name.length)===name}));for(var i=0;i<kids.length;i++){delete this.files[kids[i].name]}}return this},generate:function generate(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function generateInternalStream(options){var worker,opts={};try{opts=utils.extend(options||{},{streamFiles:false,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:utf8.utf8encode});opts.type=opts.type.toLowerCase();opts.compression=opts.compression.toUpperCase();if(opts.type==="binarystring"){opts.type="string"}if(!opts.type){throw new Error("No output type specified.")}utils.checkSupport(opts.type);if(opts.platform==="darwin"||opts.platform==="freebsd"||opts.platform==="linux"||opts.platform==="sunos"){opts.platform="UNIX"}if(opts.platform==="win32"){opts.platform="DOS"}var comment=opts.comment||this.comment||"";worker=generate.generateWorker(this,opts,comment)}catch(e){worker=new GenericWorker("error");worker.error(e)}return new StreamHelper(worker,opts.type||"string",opts.mimeType)},generateAsync:function generateAsync(options,onUpdate){return this.generateInternalStream(options).accumulate(onUpdate)},generateNodeStream:function generateNodeStream(options,onUpdate){options=options||{};if(!options.type){options.type="nodebuffer"}return this.generateInternalStream(options).toNodejsStream(onUpdate)}};module.exports=out},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(require,module,exports){"use strict";module.exports=require("stream")},{stream:undefined}],17:[function(require,module,exports){"use strict";var DataReader=require("./DataReader");var utils=require("../utils");function ArrayReader(data){DataReader.call(this,data);for(var i=0;i<this.data.length;i++){data[i]=data[i]&255}}utils.inherits(ArrayReader,DataReader);ArrayReader.prototype.byteAt=function(i){return this.data[this.zero+i]};ArrayReader.prototype.lastIndexOfSignature=function(sig){var sig0=sig.charCodeAt(0),sig1=sig.charCodeAt(1),sig2=sig.charCodeAt(2),sig3=sig.charCodeAt(3);for(var i=this.length-4;i>=0;--i){if(this.data[i]===sig0&&this.data[i+1]===sig1&&this.data[i+2]===sig2&&this.data[i+3]===sig3){return i-this.zero}}return-1};ArrayReader.prototype.readAndCheckSignature=function(sig){var sig0=sig.charCodeAt(0),sig1=sig.charCodeAt(1),sig2=sig.charCodeAt(2),sig3=sig.charCodeAt(3),data=this.readData(4);return sig0===data[0]&&sig1===data[1]&&sig2===data[2]&&sig3===data[3]};ArrayReader.prototype.readData=function(size){this.checkOffset(size);if(size===0){return[]}var result=this.data.slice(this.zero+this.index,this.zero+this.index+size);this.index+=size;return result};module.exports=ArrayReader},{"../utils":32,"./DataReader":18}],18:[function(require,module,exports){"use strict";var utils=require("../utils");function DataReader(data){this.data=data;this.length=data.length;this.index=0;this.zero=0}DataReader.prototype={checkOffset:function checkOffset(offset){this.checkIndex(this.index+offset)},checkIndex:function checkIndex(newIndex){if(this.length<this.zero+newIndex||newIndex<0){throw new Error("End of data reached (data length = "+this.length+", asked index = "+newIndex+"). Corrupted zip ?")}},setIndex:function setIndex(newIndex){this.checkIndex(newIndex);this.index=newIndex},skip:function skip(n){this.setIndex(this.index+n)},byteAt:function byteAt(){},readInt:function readInt(size){var result=0,i;this.checkOffset(size);for(i=this.index+size-1;i>=this.index;i--){result=(result<<8)+this.byteAt(i)}this.index+=size;return result},readString:function readString(size){return utils.transformTo("string",this.readData(size))},readData:function readData(){},lastIndexOfSignature:function lastIndexOfSignature(){},readAndCheckSignature:function readAndCheckSignature(){},readDate:function readDate(){var dostime=this.readInt(4);return new Date(Date.UTC((dostime>>25&127)+1980,(dostime>>21&15)-1,dostime>>16&31,dostime>>11&31,dostime>>5&63,(dostime&31)<<1))}};module.exports=DataReader},{"../utils":32}],19:[function(require,module,exports){"use strict";var Uint8ArrayReader=require("./Uint8ArrayReader");var utils=require("../utils");function NodeBufferReader(data){Uint8ArrayReader.call(this,data)}utils.inherits(NodeBufferReader,Uint8ArrayReader);NodeBufferReader.prototype.readData=function(size){this.checkOffset(size);var result=this.data.slice(this.zero+this.index,this.zero+this.index+size);this.index+=size;return result};module.exports=NodeBufferReader},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(require,module,exports){"use strict";var DataReader=require("./DataReader");var utils=require("../utils");function StringReader(data){DataReader.call(this,data)}utils.inherits(StringReader,DataReader);StringReader.prototype.byteAt=function(i){return this.data.charCodeAt(this.zero+i)};StringReader.prototype.lastIndexOfSignature=function(sig){return this.data.lastIndexOf(sig)-this.zero};StringReader.prototype.readAndCheckSignature=function(sig){var data=this.readData(4);return sig===data};StringReader.prototype.readData=function(size){this.checkOffset(size);var result=this.data.slice(this.zero+this.index,this.zero+this.index+size);this.index+=size;return result};module.exports=StringReader},{"../utils":32,"./DataReader":18}],21:[function(require,module,exports){"use strict";var ArrayReader=require("./ArrayReader");var utils=require("../utils");function Uint8ArrayReader(data){ArrayReader.call(this,data)}utils.inherits(Uint8ArrayReader,ArrayReader);Uint8ArrayReader.prototype.readData=function(size){this.checkOffset(size);if(size===0){return new Uint8Array(0)}var result=this.data.subarray(this.zero+this.index,this.zero+this.index+size);this.index+=size;return result};module.exports=Uint8ArrayReader},{"../utils":32,"./ArrayReader":17}],22:[function(require,module,exports){"use strict";var utils=require("../utils");var support=require("../support");var ArrayReader=require("./ArrayReader");var StringReader=require("./StringReader");var NodeBufferReader=require("./NodeBufferReader");var Uint8ArrayReader=require("./Uint8ArrayReader");module.exports=function(data){var type=utils.getTypeOf(data);utils.checkSupport(type);if(type==="string"&&!support.uint8array){return new StringReader(data)}if(type==="nodebuffer"){return new NodeBufferReader(data)}if(support.uint8array){return new Uint8ArrayReader(utils.transformTo("uint8array",data))}return new ArrayReader(utils.transformTo("array",data))}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(require,module,exports){"use strict";exports.LOCAL_FILE_HEADER="PK";exports.CENTRAL_FILE_HEADER="PK";exports.CENTRAL_DIRECTORY_END="PK";exports.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK";exports.ZIP64_CENTRAL_DIRECTORY_END="PK";exports.DATA_DESCRIPTOR="PK\b"},{}],24:[function(require,module,exports){"use strict";var GenericWorker=require("./GenericWorker");var utils=require("../utils");function ConvertWorker(destType){GenericWorker.call(this,"ConvertWorker to "+destType);this.destType=destType}utils.inherits(ConvertWorker,GenericWorker);ConvertWorker.prototype.processChunk=function(chunk){this.push({data:utils.transformTo(this.destType,chunk.data),meta:chunk.meta})};module.exports=ConvertWorker},{"../utils":32,"./GenericWorker":28}],25:[function(require,module,exports){"use strict";var GenericWorker=require("./GenericWorker");var crc32=require("../crc32");var utils=require("../utils");function Crc32Probe(){GenericWorker.call(this,"Crc32Probe");this.withStreamInfo("crc32",0)}utils.inherits(Crc32Probe,GenericWorker);Crc32Probe.prototype.processChunk=function(chunk){this.streamInfo.crc32=crc32(chunk.data,this.streamInfo.crc32||0);this.push(chunk)};module.exports=Crc32Probe},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(require,module,exports){"use strict";var utils=require("../utils");var GenericWorker=require("./GenericWorker");function DataLengthProbe(propName){GenericWorker.call(this,"DataLengthProbe for "+propName);this.propName=propName;this.withStreamInfo(propName,0)}utils.inherits(DataLengthProbe,GenericWorker);DataLengthProbe.prototype.processChunk=function(chunk){if(chunk){var length=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=length+chunk.data.length}GenericWorker.prototype.processChunk.call(this,chunk)};module.exports=DataLengthProbe},{"../utils":32,"./GenericWorker":28}],27:[function(require,module,exports){"use strict";var utils=require("../utils");var GenericWorker=require("./GenericWorker");var DEFAULT_BLOCK_SIZE=16*1024;function DataWorker(dataP){GenericWorker.call(this,"DataWorker");var self=this;this.dataIsReady=false;this.index=0;this.max=0;this.data=null;this.type="";this._tickScheduled=false;dataP.then((function(data){self.dataIsReady=true;self.data=data;self.max=data&&data.length||0;self.type=utils.getTypeOf(data);if(!self.isPaused){self._tickAndRepeat()}}),(function(e){self.error(e)}))}utils.inherits(DataWorker,GenericWorker);DataWorker.prototype.cleanUp=function(){GenericWorker.prototype.cleanUp.call(this);this.data=null};DataWorker.prototype.resume=function(){if(!GenericWorker.prototype.resume.call(this)){return false}if(!this._tickScheduled&&this.dataIsReady){this._tickScheduled=true;utils.delay(this._tickAndRepeat,[],this)}return true};DataWorker.prototype._tickAndRepeat=function(){this._tickScheduled=false;if(this.isPaused||this.isFinished){return}this._tick();if(!this.isFinished){utils.delay(this._tickAndRepeat,[],this);this._tickScheduled=true}};DataWorker.prototype._tick=function(){if(this.isPaused||this.isFinished){return false}var size=DEFAULT_BLOCK_SIZE;var data=null,nextIndex=Math.min(this.max,this.index+size);if(this.index>=this.max){return this.end()}else{switch(this.type){case"string":data=this.data.substring(this.index,nextIndex);break;case"uint8array":data=this.data.subarray(this.index,nextIndex);break;case"array":case"nodebuffer":data=this.data.slice(this.index,nextIndex);break}this.index=nextIndex;return this.push({data:data,meta:{percent:this.max?this.index/this.max*100:0}})}};module.exports=DataWorker},{"../utils":32,"./GenericWorker":28}],28:[function(require,module,exports){"use strict";function GenericWorker(name){this.name=name||"default";this.streamInfo={};this.generatedError=null;this.extraStreamInfo={};this.isPaused=true;this.isFinished=false;this.isLocked=false;this._listeners={data:[],end:[],error:[]};this.previous=null}GenericWorker.prototype={push:function push(chunk){this.emit("data",chunk)},end:function end(){if(this.isFinished){return false}this.flush();try{this.emit("end");this.cleanUp();this.isFinished=true}catch(e){this.emit("error",e)}return true},error:function error(e){if(this.isFinished){return false}if(this.isPaused){this.generatedError=e}else{this.isFinished=true;this.emit("error",e);if(this.previous){this.previous.error(e)}this.cleanUp()}return true},on:function on(name,listener){this._listeners[name].push(listener);return this},cleanUp:function cleanUp(){this.streamInfo=this.generatedError=this.extraStreamInfo=null;this._listeners=[]},emit:function emit(name,arg){if(this._listeners[name]){for(var i=0;i<this._listeners[name].length;i++){this._listeners[name][i].call(this,arg)}}},pipe:function pipe(next){return next.registerPrevious(this)},registerPrevious:function registerPrevious(previous){if(this.isLocked){throw new Error("The stream '"+this+"' has already been used.")}this.streamInfo=previous.streamInfo;this.mergeStreamInfo();this.previous=previous;var self=this;previous.on("data",(function(chunk){self.processChunk(chunk)}));previous.on("end",(function(){self.end()}));previous.on("error",(function(e){self.error(e)}));return this},pause:function pause(){if(this.isPaused||this.isFinished){return false}this.isPaused=true;if(this.previous){this.previous.pause()}return true},resume:function resume(){if(!this.isPaused||this.isFinished){return false}this.isPaused=false;var withError=false;if(this.generatedError){this.error(this.generatedError);withError=true}if(this.previous){this.previous.resume()}return!withError},flush:function flush(){},processChunk:function processChunk(chunk){this.push(chunk)},withStreamInfo:function withStreamInfo(key,value){this.extraStreamInfo[key]=value;this.mergeStreamInfo();return this},mergeStreamInfo:function mergeStreamInfo(){for(var key in this.extraStreamInfo){if(!Object.prototype.hasOwnProperty.call(this.extraStreamInfo,key)){continue}this.streamInfo[key]=this.extraStreamInfo[key]}},lock:function lock(){if(this.isLocked){throw new Error("The stream '"+this+"' has already been used.")}this.isLocked=true;if(this.previous){this.previous.lock()}},toString:function toString(){var me="Worker "+this.name;if(this.previous){return this.previous+" -> "+me}else{return me}}};module.exports=GenericWorker},{}],29:[function(require,module,exports){"use strict";var utils=require("../utils");var ConvertWorker=require("./ConvertWorker");var GenericWorker=require("./GenericWorker");var base64=require("../base64");var support=require("../support");var external=require("../external");var NodejsStreamOutputAdapter=null;if(support.nodestream){try{NodejsStreamOutputAdapter=require("../nodejs/NodejsStreamOutputAdapter")}catch(e){}}function transformZipOutput(type,content,mimeType){switch(type){case"blob":return utils.newBlob(utils.transformTo("arraybuffer",content),mimeType);case"base64":return base64.encode(content);default:return utils.transformTo(type,content)}}function concat(type,dataArray){var i,index=0,res=null,totalLength=0;for(i=0;i<dataArray.length;i++){totalLength+=dataArray[i].length}switch(type){case"string":return dataArray.join("");case"array":return Array.prototype.concat.apply([],dataArray);case"uint8array":res=new Uint8Array(totalLength);for(i=0;i<dataArray.length;i++){res.set(dataArray[i],index);index+=dataArray[i].length}return res;case"nodebuffer":return Buffer.concat(dataArray);default:throw new Error("concat : unsupported type '"+type+"'")}}function _accumulate(helper,updateCallback){return new external.Promise((function(resolve,reject){var dataArray=[];var chunkType=helper._internalType,resultType=helper._outputType,mimeType=helper._mimeType;helper.on("data",(function(data,meta){dataArray.push(data);if(updateCallback){updateCallback(meta)}})).on("error",(function(err){dataArray=[];reject(err)})).on("end",(function(){try{var result=transformZipOutput(resultType,concat(chunkType,dataArray),mimeType);resolve(result)}catch(e){reject(e)}dataArray=[]})).resume()}))}function StreamHelper(worker,outputType,mimeType){var internalType=outputType;switch(outputType){case"blob":case"arraybuffer":internalType="uint8array";break;case"base64":internalType="string";break}try{this._internalType=internalType;this._outputType=outputType;this._mimeType=mimeType;utils.checkSupport(internalType);this._worker=worker.pipe(new ConvertWorker(internalType));worker.lock()}catch(e){this._worker=new GenericWorker("error");this._worker.error(e)}}StreamHelper.prototype={accumulate:function accumulate(updateCb){return _accumulate(this,updateCb)},on:function on(evt,fn){var self=this;if(evt==="data"){this._worker.on(evt,(function(chunk){fn.call(self,chunk.data,chunk.meta)}))}else{this._worker.on(evt,(function(){utils.delay(fn,arguments,self)}))}return this},resume:function resume(){utils.delay(this._worker.resume,[],this._worker);return this},pause:function pause(){this._worker.pause();return this},toNodejsStream:function toNodejsStream(updateCb){utils.checkSupport("nodestream");if(this._outputType!=="nodebuffer"){throw new Error(this._outputType+" is not supported by this method")}return new NodejsStreamOutputAdapter(this,{objectMode:this._outputType!=="nodebuffer"},updateCb)}};module.exports=StreamHelper},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(require,module,exports){"use strict";exports.base64=true;exports.array=true;exports.string=true;exports.arraybuffer=typeof ArrayBuffer!=="undefined"&&typeof Uint8Array!=="undefined";exports.nodebuffer=typeof Buffer!=="undefined";exports.uint8array=typeof Uint8Array!=="undefined";if(typeof ArrayBuffer==="undefined"){exports.blob=false}else{var buffer=new ArrayBuffer(0);try{exports.blob=new Blob([buffer],{type:"application/zip"}).size===0}catch(e){try{var Builder=self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder;var builder=new Builder;builder.append(buffer);exports.blob=builder.getBlob("application/zip").size===0}catch(e){exports.blob=false}}}try{exports.nodestream=!!require("readable-stream").Readable}catch(e){exports.nodestream=false}},{"readable-stream":16}],31:[function(require,module,exports){"use strict";var utils=require("./utils");var support=require("./support");var nodejsUtils=require("./nodejsUtils");var GenericWorker=require("./stream/GenericWorker");var _utf8len=new Array(256);for(var i=0;i<256;i++){_utf8len[i]=i>=252?6:i>=248?5:i>=240?4:i>=224?3:i>=192?2:1}_utf8len[254]=_utf8len[254]=1;var string2buf=function string2buf(str){var buf,c,c2,m_pos,i,str_len=str.length,buf_len=0;for(m_pos=0;m_pos<str_len;m_pos++){c=str.charCodeAt(m_pos);if((c&64512)===55296&&m_pos+1<str_len){c2=str.charCodeAt(m_pos+1);if((c2&64512)===56320){c=65536+(c-55296<<10)+(c2-56320);m_pos++}}buf_len+=c<128?1:c<2048?2:c<65536?3:4}if(support.uint8array){buf=new Uint8Array(buf_len)}else{buf=new Array(buf_len)}for(i=0,m_pos=0;i<buf_len;m_pos++){c=str.charCodeAt(m_pos);if((c&64512)===55296&&m_pos+1<str_len){c2=str.charCodeAt(m_pos+1);if((c2&64512)===56320){c=65536+(c-55296<<10)+(c2-56320);m_pos++}}if(c<128){buf[i++]=c}else if(c<2048){buf[i++]=192|c>>>6;buf[i++]=128|c&63}else if(c<65536){buf[i++]=224|c>>>12;buf[i++]=128|c>>>6&63;buf[i++]=128|c&63}else{buf[i++]=240|c>>>18;buf[i++]=128|c>>>12&63;buf[i++]=128|c>>>6&63;buf[i++]=128|c&63}}return buf};var utf8border=function utf8border(buf,max){var pos;max=max||buf.length;if(max>buf.length){max=buf.length}pos=max-1;while(pos>=0&&(buf[pos]&192)===128){pos--}if(pos<0){return max}if(pos===0){return max}return pos+_utf8len[buf[pos]]>max?pos:max};var buf2string=function buf2string(buf){var i,out,c,c_len;var len=buf.length;var utf16buf=new Array(len*2);for(out=0,i=0;i<len;){c=buf[i++];if(c<128){utf16buf[out++]=c;continue}c_len=_utf8len[c];if(c_len>4){utf16buf[out++]=65533;i+=c_len-1;continue}c&=c_len===2?31:c_len===3?15:7;while(c_len>1&&i<len){c=c<<6|buf[i++]&63;c_len--}if(c_len>1){utf16buf[out++]=65533;continue}if(c<65536){utf16buf[out++]=c}else{c-=65536;utf16buf[out++]=55296|c>>10&1023;utf16buf[out++]=56320|c&1023}}if(utf16buf.length!==out){if(utf16buf.subarray){utf16buf=utf16buf.subarray(0,out)}else{utf16buf.length=out}}return utils.applyFromCharCode(utf16buf)};exports.utf8encode=function utf8encode(str){if(support.nodebuffer){return nodejsUtils.newBufferFrom(str,"utf-8")}return string2buf(str)};exports.utf8decode=function utf8decode(buf){if(support.nodebuffer){return utils.transformTo("nodebuffer",buf).toString("utf-8")}buf=utils.transformTo(support.uint8array?"uint8array":"array",buf);return buf2string(buf)};function Utf8DecodeWorker(){GenericWorker.call(this,"utf-8 decode");this.leftOver=null}utils.inherits(Utf8DecodeWorker,GenericWorker);Utf8DecodeWorker.prototype.processChunk=function(chunk){var data=utils.transformTo(support.uint8array?"uint8array":"array",chunk.data);if(this.leftOver&&this.leftOver.length){if(support.uint8array){var previousData=data;data=new Uint8Array(previousData.length+this.leftOver.length);data.set(this.leftOver,0);data.set(previousData,this.leftOver.length)}else{data=this.leftOver.concat(data)}this.leftOver=null}var nextBoundary=utf8border(data);var usableData=data;if(nextBoundary!==data.length){if(support.uint8array){usableData=data.subarray(0,nextBoundary);this.leftOver=data.subarray(nextBoundary,data.length)}else{usableData=data.slice(0,nextBoundary);this.leftOver=data.slice(nextBoundary,data.length)}}this.push({data:exports.utf8decode(usableData),meta:chunk.meta})};Utf8DecodeWorker.prototype.flush=function(){if(this.leftOver&&this.leftOver.length){this.push({data:exports.utf8decode(this.leftOver),meta:{}});this.leftOver=null}};exports.Utf8DecodeWorker=Utf8DecodeWorker;function Utf8EncodeWorker(){GenericWorker.call(this,"utf-8 encode")}utils.inherits(Utf8EncodeWorker,GenericWorker);Utf8EncodeWorker.prototype.processChunk=function(chunk){this.push({data:exports.utf8encode(chunk.data),meta:chunk.meta})};exports.Utf8EncodeWorker=Utf8EncodeWorker},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(require,module,exports){"use strict";var support=require("./support");var base64=require("./base64");var nodejsUtils=require("./nodejsUtils");var external=require("./external");require("setimmediate");function string2binary(str){var result=null;if(support.uint8array){result=new Uint8Array(str.length)}else{result=new Array(str.length)}return stringToArrayLike(str,result)}exports.newBlob=function(part,type){exports.checkSupport("blob");try{return new Blob([part],{type:type})}catch(e){try{var Builder=self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder;var builder=new Builder;builder.append(part);return builder.getBlob(type)}catch(e){throw new Error("Bug : can't construct the Blob.")}}};function identity(input){return input}function stringToArrayLike(str,array){for(var i=0;i<str.length;++i){array[i]=str.charCodeAt(i)&255}return array}var arrayToStringHelper={stringifyByChunk:function stringifyByChunk(array,type,chunk){var result=[],k=0,len=array.length;if(len<=chunk){return String.fromCharCode.apply(null,array)}while(k<len){if(type==="array"||type==="nodebuffer"){result.push(String.fromCharCode.apply(null,array.slice(k,Math.min(k+chunk,len))))}else{result.push(String.fromCharCode.apply(null,array.subarray(k,Math.min(k+chunk,len))))}k+=chunk}return result.join("")},stringifyByChar:function stringifyByChar(array){var resultStr="";for(var i=0;i<array.length;i++){resultStr+=String.fromCharCode(array[i])}return resultStr},applyCanBeUsed:{uint8array:function(){try{return support.uint8array&&String.fromCharCode.apply(null,new Uint8Array(1)).length===1}catch(e){return false}}(),nodebuffer:function(){try{return support.nodebuffer&&String.fromCharCode.apply(null,nodejsUtils.allocBuffer(1)).length===1}catch(e){return false}}()}};function arrayLikeToString(array){var chunk=65536,type=exports.getTypeOf(array),canUseApply=true;if(type==="uint8array"){canUseApply=arrayToStringHelper.applyCanBeUsed.uint8array}else if(type==="nodebuffer"){canUseApply=arrayToStringHelper.applyCanBeUsed.nodebuffer}if(canUseApply){while(chunk>1){try{return arrayToStringHelper.stringifyByChunk(array,type,chunk)}catch(e){chunk=Math.floor(chunk/2)}}}return arrayToStringHelper.stringifyByChar(array)}exports.applyFromCharCode=arrayLikeToString;function arrayLikeToArrayLike(arrayFrom,arrayTo){for(var i=0;i<arrayFrom.length;i++){arrayTo[i]=arrayFrom[i]}return arrayTo}var transform={};transform["string"]={string:identity,array:function array(input){return stringToArrayLike(input,new Array(input.length))},arraybuffer:function arraybuffer(input){return transform["string"]["uint8array"](input).buffer},uint8array:function uint8array(input){return stringToArrayLike(input,new Uint8Array(input.length))},nodebuffer:function nodebuffer(input){return stringToArrayLike(input,nodejsUtils.allocBuffer(input.length))}};transform["array"]={string:arrayLikeToString,array:identity,arraybuffer:function arraybuffer(input){return new Uint8Array(input).buffer},uint8array:function uint8array(input){return new Uint8Array(input)},nodebuffer:function nodebuffer(input){return nodejsUtils.newBufferFrom(input)}};transform["arraybuffer"]={string:function string(input){return arrayLikeToString(new Uint8Array(input))},array:function array(input){return arrayLikeToArrayLike(n