2017-06-06 15:37:03 +00:00
/ *
JSZip v3 . 1.3 - A Javascript class for generating and reading zip files
< http : //stuartk.com/jszip>
( c ) 2009 - 2016 Stuart Knightley < stuart [ at ] stuartk . com >
Dual licenced under the MIT license or GPLv3 . See https : //raw.github.com/Stuk/jszip/master/LICENSE.markdown.
JSZip uses the library pako released under the MIT license :
https : //github.com/nodeca/pako/blob/master/LICENSE
* /
2017-06-12 13:14:07 +00:00
! function ( w ) { "object" == typeof exports && "undefined" != typeof module ? module . exports = w ( ) : "function" == typeof define && define . amd ? define ( [ ] , w ) : ( "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this ) . JSZip = w ( ) } ( function ( ) { return function b ( f , d , a ) { function e ( g , h ) { if ( ! d [ g ] ) { if ( ! f [ g ] ) { var l = "function" == typeof require && require ; if ( ! h && l ) return l ( g , ! 0 ) ; if ( c ) return c ( g , ! 0 ) ; l = Error ( "Cannot find module '" + g + "'" ) ; throw l . code = "MODULE_NOT_FOUND" , l ; } l = d [ g ] = { exports : { } } ;
f [ g ] [ 0 ] . call ( l . exports , function ( c ) { var a = f [ g ] [ 1 ] [ c ] ; return e ( a ? a : c ) } , l , l . exports , b , f , d , a ) } return d [ g ] . exports } for ( var c = "function" == typeof require && require , g = 0 ; g < a . length ; g ++ ) e ( a [ g ] ) ; return e } ( { 1 : [ function ( b , f , d ) { var a = b ( "./utils" ) , e = b ( "./support" ) ; d . encode = function ( c ) { for ( var b , e , d , n , q , t , A , B = [ ] , f = 0 , z = c . length , x = "string" !== a . getTypeOf ( c ) ; f < c . length ; ) A = z - f , x ? ( b = c [ f ++ ] , e = f < z ? c [ f ++ ] : 0 , d = f < z ? c [ f ++ ] : 0 ) : ( b = c . charCodeAt ( f ++ ) , e = f < z ? c . charCodeAt ( f ++ ) : 0 , d = f < z ? c . charCodeAt ( f ++ ) : 0 ) , n = b >> 2 , q = ( 3 & b ) << 4 | e >> 4 , t = 1 <
A ? ( 15 & e ) << 2 | d >> 6 : 64 , A = 2 < A ? 63 & d : 64 , B . push ( "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" . charAt ( n ) + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" . charAt ( q ) + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" . charAt ( t ) + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" . charAt ( A ) ) ; return B . join ( "" ) } ; d . decode = function ( c ) { var a , b , d , n , q , t = 0 , A = 0 ; if ( "data:" === c . substr ( 0 , 5 ) ) throw Error ( "Invalid base64 input, it looks like a data url." ) ;
c = c . replace ( /[^A-Za-z0-9\+\/\=]/g , "" ) ; n = 3 * c . length / 4 ; if ( "=" === c . charAt ( c . length - 1 ) && n -- , "=" === c . charAt ( c . length - 2 ) && n -- , 0 !== n % 1 ) throw Error ( "Invalid base64 input, bad content length." ) ; var B ; for ( B = e . uint8array ? new Uint8Array ( 0 | n ) : Array ( 0 | n ) ; t < c . length ; ) a = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" . indexOf ( c . charAt ( t ++ ) ) , b = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" . indexOf ( c . charAt ( t ++ ) ) , n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" . indexOf ( c . charAt ( t ++ ) ) ,
q = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" . indexOf ( c . charAt ( t ++ ) ) , a = a << 2 | b >> 4 , b = ( 15 & b ) << 4 | n >> 2 , d = ( 3 & n ) << 6 | q , B [ A ++ ] = a , 64 !== n && ( B [ A ++ ] = b ) , 64 !== q && ( B [ A ++ ] = d ) ; return B } } , { "./support" : 30 , "./utils" : 32 } ] , 2 : [ function ( b , f , d ) { function a ( a , c , b , e , g ) { this . compressedSize = a ; this . uncompressedSize = c ; this . crc32 = b ; this . compression = e ; this . compressedContent = g } var e = b ( "./external" ) , c = b ( "./stream/DataWorker" ) , g = b ( "./stream/DataLengthProbe" ) , l = b ( "./stream/Crc32Probe" ) , g = b ( "./stream/DataLengthProbe" ) ;
a . prototype = { getContentWorker : function ( ) { var a = ( new c ( e . Promise . resolve ( this . compressedContent ) ) ) . pipe ( this . compression . uncompressWorker ( ) ) . pipe ( new g ( "data_length" ) ) , b = this ; return a . on ( "end" , function ( ) { if ( this . streamInfo . data _length !== b . uncompressedSize ) throw Error ( "Bug : uncompressed data size mismatch" ) ; } ) , a } , getCompressedWorker : function ( ) { return ( new c ( e . Promise . resolve ( this . compressedContent ) ) ) . withStreamInfo ( "compressedSize" , this . compressedSize ) . withStreamInfo ( "uncompressedSize" , this . uncompressedSize ) . withStreamInfo ( "crc32" ,
this . crc32 ) . withStreamInfo ( "compression" , this . compression ) } } ; a . createWorkerFrom = function ( a , c , b ) { return a . pipe ( new l ) . pipe ( new g ( "uncompressedSize" ) ) . pipe ( c . compressWorker ( b ) ) . pipe ( new g ( "compressedSize" ) ) . withStreamInfo ( "compression" , c ) } ; f . exports = a } , { "./external" : 6 , "./stream/Crc32Probe" : 25 , "./stream/DataLengthProbe" : 26 , "./stream/DataWorker" : 27 } ] , 3 : [ function ( b , f , d ) { var a = b ( "./stream/GenericWorker" ) ; d . STORE = { magic : "\x00\x00" , compressWorker : function ( b ) { return new a ( "STORE compression" ) } , uncompressWorker : function ( ) { return new a ( "STORE decompression" ) } } ;
d . DEFLATE = b ( "./flate" ) } , { "./flate" : 7 , "./stream/GenericWorker" : 28 } ] , 4 : [ function ( b , f , d ) { var a = b ( "./utils" ) , e = function ( ) { for ( var a , b = [ ] , e = 0 ; 256 > e ; e ++ ) { a = e ; for ( var d = 0 ; 8 > d ; d ++ ) a = 1 & a ? 3988292384 ^ a >>> 1 : a >>> 1 ; b [ e ] = a } return b } ( ) ; f . exports = function ( c , b ) { if ( "undefined" == typeof c || ! c . length ) return 0 ; var g ; if ( "string" !== a . getTypeOf ( c ) ) { var d = 0 + c . length ; g = ( 0 | b ) ^ - 1 ; for ( var n = 0 ; n < d ; n ++ ) g = g >>> 8 ^ e [ 255 & ( g ^ c [ n ] ) ] } else for ( d = 0 + c . length , g = ( 0 | b ) ^ - 1 , n = 0 ; n < d ; n ++ ) g = g >>> 8 ^ e [ 255 & ( g ^ c . charCodeAt ( n ) ) ] ; return g ^= - 1 } } , { "./utils" : 32 } ] ,
5 : [ function ( b , f , d ) { d . base64 = ! 1 ; d . binary = ! 1 ; d . dir = ! 1 ; d . createFolders = ! 0 ; d . date = null ; d . compression = null ; d . compressionOptions = null ; d . comment = null ; d . unixPermissions = null ; d . dosPermissions = null } , { } ] , 6 : [ function ( b , f , d ) { b = "undefined" != typeof Promise ? Promise : b ( "lie" ) ; f . exports = { Promise : b } } , { lie : 58 } ] , 7 : [ function ( b , f , d ) { function a ( a , c ) { g . call ( this , "FlateWorker/" + a ) ; this . _pako = new e [ a ] ( { raw : ! 0 , level : c . level || - 1 } ) ; this . meta = { } ; var b = this ; this . _pako . onData = function ( a ) { b . push ( { data : a , meta : b . meta } ) } } f = "undefined" !=
typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Uint32Array ; var e = b ( "pako" ) , c = b ( "./utils" ) , g = b ( "./stream/GenericWorker" ) , l = f ? "uint8array" : "array" ; d . magic = "\b\x00" ; c . inherits ( a , g ) ; a . prototype . processChunk = function ( a ) { this . meta = a . meta ; this . _pako . push ( c . transformTo ( l , a . data ) , ! 1 ) } ; a . prototype . flush = function ( ) { g . prototype . flush . call ( this ) ; this . _pako . push ( [ ] , ! 0 ) } ; a . prototype . cleanUp = function ( ) { g . prototype . cleanUp . call ( this ) ; this . _pako = null } ; d . compressWorker = function ( c ) { return new a ( "Deflate" ,
c ) } ; d . uncompressWorker = function ( ) { return new a ( "Inflate" , { } ) } } , { "./stream/GenericWorker" : 28 , "./utils" : 32 , pako : 59 } ] , 8 : [ function ( b , f , d ) { function a ( a , b , e , g ) { c . call ( this , "ZipFileWorker" ) ; this . bytesWritten = 0 ; this . zipComment = b ; this . zipPlatform = e ; this . encodeFileName = g ; this . streamFiles = a ; this . accumulate = ! 1 ; this . contentBuffer = [ ] ; this . dirRecords = [ ] ; this . entriesCount = this . currentSourceOffset = 0 ; this . currentFile = null ; this . _sources = [ ] } var e = b ( "../utils" ) , c = b ( "../stream/GenericWorker" ) , g = b ( "../utf8" ) , l = b ( "../crc32" ) ,
h = b ( "../signature" ) , n = function ( a , c ) { var b , e = "" ; for ( b = 0 ; b < c ; b ++ ) e += String . fromCharCode ( 255 & a ) , a >>>= 8 ; return e } , q = function ( a , c , b , d , x , t ) { var p , A ; p = a . file ; var z = a . compression , y = t !== g . utf8encode , q = e . transformTo ( "string" , t ( p . name ) ) , u = e . transformTo ( "string" , g . utf8encode ( p . name ) ) , B = p . comment ; t = e . transformTo ( "string" , t ( B ) ) ; var v = e . transformTo ( "string" , g . utf8encode ( B ) ) , f = u . length !== p . name . length , G = v . length !== B . length , F = B = "" , X = "" ; A = p . dir ; var T = p . date , aa = 0 , V = 0 , r = 0 ; c && ! b || ( aa = a . crc32 , V = a . compressedSize , r = a . uncompressedSize ) ;
a = 0 ; c && ( a |= 8 ) ; y || ! f && ! G || ( a |= 2048 ) ; c = 0 ; A && ( c |= 16 ) ; "UNIX" === x ? ( x = 798 , p = y = p . unixPermissions , A = ( y || ( p = A ? 16893 : 33204 ) , ( 65535 & p ) << 16 ) , c |= A ) : ( x = 20 , c |= 63 & ( p . dosPermissions || 0 ) ) ; p = T . getUTCHours ( ) ; p = p << 6 | T . getUTCMinutes ( ) ; p = p << 5 | T . getUTCSeconds ( ) / 2 ; A = T . getUTCFullYear ( ) - 1980 ; A = A << 4 | T . getUTCMonth ( ) + 1 ; A = A << 5 | T . getUTCDate ( ) ; f && ( F = n ( 1 , 1 ) + n ( l ( q ) , 4 ) + u , B += "up" + n ( F . length , 2 ) + F ) ; G && ( X = n ( 1 , 1 ) + n ( l ( t ) , 4 ) + v , B += "uc" + n ( X . length , 2 ) + X ) ; u = "\n\x00" + n ( a , 2 ) ; u += z . magic ; u += n ( p , 2 ) ; u += n ( A , 2 ) ; u += n ( aa , 4 ) ; u += n ( V , 4 ) ; u += n ( r , 4 ) ; u += n ( q . length ,
2 ) ; u += n ( B . length , 2 ) ; z = h . LOCAL _FILE _HEADER + u + q + B ; d = h . CENTRAL _FILE _HEADER + n ( x , 2 ) + u + n ( t . length , 2 ) + "\x00\x00\x00\x00" + n ( c , 4 ) + n ( d , 4 ) + q + B + t ; return { fileRecord : z , dirRecord : d } } , t = function ( a ) { return h . DATA _DESCRIPTOR + n ( a . crc32 , 4 ) + n ( a . compressedSize , 4 ) + n ( a . uncompressedSize , 4 ) } ; e . inherits ( a , c ) ; a . prototype . push = function ( a ) { var b = a . meta . percent || 0 , e = this . entriesCount , g = this . _sources . length ; this . accumulate ? this . contentBuffer . push ( a ) : ( this . bytesWritten += a . data . length , c . prototype . push . call ( this , { data : a . data , meta : { currentFile : this . currentFile ,
percent : e ? ( b + 100 * ( e - g - 1 ) ) / e : 100 } } ) ) } ; a . prototype . openedSource = function ( a ) { this . currentSourceOffset = this . bytesWritten ; this . currentFile = a . file . name ; var c = this . streamFiles && ! a . file . dir ; c ? ( a = q ( a , c , ! 1 , this . currentSourceOffset , this . zipPlatform , this . encodeFileName ) , this . push ( { data : a . fileRecord , meta : { percent : 0 } } ) ) : this . accumulate = ! 0 } ; a . prototype . closedSource = function ( a ) { this . accumulate = ! 1 ; var c = this . streamFiles && ! a . file . dir , b = q ( a , c , ! 0 , this . currentSourceOffset , this . zipPlatform , this . encodeFileName ) ; if ( this . dirRecords . push ( b . dirRecord ) ,
c ) this . push ( { data : t ( a ) , meta : { percent : 100 } } ) ; else for ( this . push ( { data : b . fileRecord , meta : { percent : 0 } } ) ; this . contentBuffer . length ; ) this . push ( this . contentBuffer . shift ( ) ) ; this . currentFile = null } ; a . prototype . flush = function ( ) { for ( var a = this . bytesWritten , c = 0 ; c < this . dirRecords . length ; c ++ ) this . push ( { data : this . dirRecords [ c ] , meta : { percent : 100 } } ) ; var c = this . dirRecords . length , b = this . bytesWritten - a , g = e . transformTo ( "string" , ( 0 , this . encodeFileName ) ( this . zipComment ) ) , a = h . CENTRAL _DIRECTORY _END + "\x00\x00\x00\x00" + n ( c ,
2 ) + n ( c , 2 ) + n ( b , 4 ) + n ( a , 4 ) + n ( g . length , 2 ) + g ; this . push ( { data : a , meta : { percent : 100 } } ) } ; a . prototype . prepareNextSource = function ( ) { this . previous = this . _sources . shift ( ) ; this . openedSource ( this . previous . streamInfo ) ; this . isPaused ? this . previous . pause ( ) : this . previous . resume ( ) } ; a . prototype . registerPrevious = function ( a ) { this . _sources . push ( a ) ; var c = this ; return a . on ( "data" , function ( a ) { c . processChunk ( a ) } ) , a . on ( "end" , function ( ) { c . closedSource ( c . previous . streamInfo ) ; c . _sources . length ? c . prepareNextSource ( ) : c . end ( ) } ) , a . on ( "error" ,
function ( a ) { c . error ( a ) } ) , this } ; a . prototype . resume = function ( ) { return ! ! c . prototype . resume . call ( this ) && ( ! this . previous && this . _sources . length ? ( this . prepareNextSource ( ) , ! 0 ) : this . previous || this . _sources . length || this . generatedError ? void 0 : ( this . end ( ) , ! 0 ) ) } ; a . prototype . error = function ( a ) { var b = this . _sources ; if ( ! c . prototype . error . call ( this , a ) ) return ! 1 ; for ( var e = 0 ; e < b . length ; e ++ ) try { b [ e ] . error ( a ) } catch ( z ) { } return ! 0 } ; a . prototype . lock = function ( ) { c . prototype . lock . call ( this ) ; for ( var a = this . _sources , b = 0 ; b < a . length ; b ++ ) a [ b ] . lock ( ) } ;
f . exports = a } , { "../crc32" : 4 , "../signature" : 23 , "../stream/GenericWorker" : 28 , "../utf8" : 31 , "../utils" : 32 } ] , 9 : [ function ( b , f , d ) { var a = b ( "../compressions" ) , e = b ( "./ZipFileWorker" ) ; d . generateWorker = function ( c , b , d ) { var g = new e ( b . streamFiles , d , b . platform , b . encodeFileName ) , l = 0 ; try { c . forEach ( function ( c , e ) { l ++ ; var d = e . options . compression || b . compression , t = a [ d ] ; if ( ! t ) throw Error ( d + " is not a valid compression method !" ) ; var d = e . dir , n = e . date ; e . _compressWorker ( t , e . options . compressionOptions || b . compressionOptions ||
{ } ) . withStreamInfo ( "file" , { name : c , dir : d , date : n , comment : e . comment || "" , unixPermissions : e . unixPermissions , dosPermissions : e . dosPermissions } ) . pipe ( g ) } ) , g . entriesCount = l } catch ( q ) { g . error ( q ) } return g } } , { "../compressions" : 3 , "./ZipFileWorker" : 8 } ] , 10 : [ function ( b , f , d ) { function a ( ) { if ( ! ( this instanceof a ) ) return new a ; if ( arguments . length ) throw Error ( "The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide." ) ; this . files = { } ; this . comment = null ; this . root = "" ; this . clone = function ( ) { var b =
new a , c ; for ( c in this ) "function" != typeof this [ c ] && ( b [ c ] = this [ c ] ) ; return b } } a . prototype = b ( "./object" ) ; a . prototype . loadAsync = b ( "./load" ) ; a . support = b ( "./support" ) ; a . defaults = b ( "./defaults" ) ; a . version = "3.1.3" ; a . loadAsync = function ( b , c ) { return ( new a ) . loadAsync ( b , c ) } ; a . external = b ( "./external" ) ; f . exports = a } , { "./defaults" : 5 , "./external" : 6 , "./load" : 11 , "./object" : 15 , "./support" : 30 } ] , 11 : [ function ( b , f , d ) { function a ( a ) { return new c . Promise ( function ( c , b ) { var e = a . decompressed . getContentWorker ( ) . pipe ( new h ) ; e . on ( "error" ,
function ( a ) { b ( a ) } ) . on ( "end" , function ( ) { e . streamInfo . crc32 !== a . decompressed . crc32 ? b ( Error ( "Corrupted zip : CRC32 mismatch" ) ) : c ( ) } ) . resume ( ) } ) } var e = b ( "./utils" ) , c = b ( "./external" ) , g = b ( "./utf8" ) , e = b ( "./utils" ) , l = b ( "./zipEntries" ) , h = b ( "./stream/Crc32Probe" ) , n = b ( "./nodejsUtils" ) ; f . exports = function ( b , d ) { var t = this ; return d = e . extend ( d || { } , { base64 : ! 1 , checkCRC32 : ! 1 , optimizedBinaryString : ! 1 , createFolders : ! 1 , decodeFileName : g . utf8decode } ) , n . isNode && n . isStream ( b ) ? c . Promise . reject ( Error ( "JSZip can't accept a stream when loading a zip file." ) ) :
e . prepareContent ( "the loaded zip file" , b , ! 0 , d . optimizedBinaryString , d . base64 ) . then ( function ( a ) { var c = new l ( d ) ; return c . load ( a ) , c } ) . then ( function ( b ) { var e = [ c . Promise . resolve ( b ) ] ; b = b . files ; if ( d . checkCRC32 ) for ( var g = 0 ; g < b . length ; g ++ ) e . push ( a ( b [ g ] ) ) ; return c . Promise . all ( e ) } ) . then ( function ( a ) { a = a . shift ( ) ; for ( var c = a . files , b = 0 ; b < c . length ; b ++ ) { var e = c [ b ] ; t . file ( e . fileNameStr , e . decompressed , { binary : ! 0 , optimizedBinaryString : ! 0 , date : e . date , dir : e . dir , comment : e . fileCommentStr . length ? e . fileCommentStr : null , unixPermissions : e . unixPermissions ,
dosPermissions : e . dosPermissions , createFolders : d . createFolders } ) } return a . zipComment . length && ( t . comment = a . zipComment ) , t } ) } } , { "./external" : 6 , "./nodejsUtils" : 14 , "./stream/Crc32Probe" : 25 , "./utf8" : 31 , "./utils" : 32 , "./zipEntries" : 33 } ] , 12 : [ function ( b , f , d ) { function a ( a , b ) { e . call ( this , "Nodejs stream input adapter for " + a ) ; this . _upstreamEnded = ! 1 ; this . _bindStream ( b ) } d = b ( "../utils" ) ; var e = b ( "../stream/GenericWorker" ) ; d . inherits ( a , e ) ; a . prototype . _bindStream = function ( a ) { var c = this ; this . _stream = a ; a . pause ( ) ; a . on ( "data" ,
function ( a ) { c . push ( { data : a , meta : { percent : 0 } } ) } ) . on ( "error" , function ( a ) { c . isPaused ? this . generatedError = a : c . error ( a ) } ) . on ( "end" , function ( ) { c . isPaused ? c . _upstreamEnded = ! 0 : c . end ( ) } ) } ; a . prototype . pause = function ( ) { return ! ! e . prototype . pause . call ( this ) && ( this . _stream . pause ( ) , ! 0 ) } ; a . prototype . resume = function ( ) { return ! ! e . prototype . resume . call ( this ) && ( this . _upstreamEnded ? this . end ( ) : this . _stream . resume ( ) , ! 0 ) } ; f . exports = a } , { "../stream/GenericWorker" : 28 , "../utils" : 32 } ] , 13 : [ function ( b , f , d ) { function a ( a , b , d ) { e . call ( this ,
b ) ; this . _helper = a ; var c = this ; a . on ( "data" , function ( a , b ) { c . push ( a ) || c . _helper . pause ( ) ; d && d ( b ) } ) . on ( "error" , function ( a ) { c . emit ( "error" , a ) } ) . on ( "end" , function ( ) { c . push ( null ) } ) } var e = b ( "readable-stream" ) . Readable ; b ( "util" ) . inherits ( a , e ) ; a . prototype . _read = function ( ) { this . _helper . resume ( ) } ; f . exports = a } , { "readable-stream" : 16 , util : void 0 } ] , 14 : [ function ( b , f , d ) { f . exports = { isNode : "undefined" != typeof Buffer , newBuffer : function ( a , b ) { return new Buffer ( a , b ) } , isBuffer : function ( a ) { return Buffer . isBuffer ( a ) } , isStream : function ( a ) { return a &&
"function" == typeof a . on && "function" == typeof a . pause && "function" == typeof a . resume } } } , { } ] , 15 : [ function ( b , f , d ) { var a = b ( "./utf8" ) , e = b ( "./utils" ) , c = b ( "./stream/GenericWorker" ) , g = b ( "./stream/StreamHelper" ) , l = b ( "./defaults" ) , h = b ( "./compressedObject" ) , n = b ( "./zipObject" ) , q = b ( "./generate" ) , t = b ( "./nodejsUtils" ) , A = b ( "./nodejs/NodejsStreamInputAdapter" ) , B = function ( a , b , p ) { var x , g = e . getTypeOf ( b ) , d = e . extend ( p || { } , l ) ; d . date = d . date || new Date ; null !== d . compression && ( d . compression = d . compression . toUpperCase ( ) ) ; "string" ==
typeof d . unixPermissions && ( d . unixPermissions = parseInt ( d . unixPermissions , 8 ) ) ; d . unixPermissions && 16384 & d . unixPermissions && ( d . dir = ! 0 ) ; d . dosPermissions && 16 & d . dosPermissions && ( d . dir = ! 0 ) ; d . dir && ( a = G ( a ) ) ; var y ; if ( y = d . createFolders ) x = a , "/" === x . slice ( - 1 ) && ( x = x . substring ( 0 , x . length - 1 ) ) , y = x . lastIndexOf ( "/" ) , y = x = 0 < y ? x . substring ( 0 , y ) : "" ; y && z . call ( this , x , ! 0 ) ; g = "string" === g && ! 1 === d . binary && ! 1 === d . base64 ; p && "undefined" != typeof p . binary || ( d . binary = ! g ) ; ( b instanceof h && 0 === b . uncompressedSize || d . dir || ! b || 0 === b . length ) &&
( d . base64 = ! 1 , d . binary = ! 0 , b = "" , d . compression = "STORE" ) ; b = b instanceof h || b instanceof c ? b : t . isNode && t . isStream ( b ) ? new A ( a , b ) : e . prepareContent ( a , b , d . binary , d . optimizedBinaryString , d . base64 ) ; d = new n ( a , b , d ) ; this . files [ a ] = d } , G = function ( a ) { return "/" !== a . slice ( - 1 ) && ( a += "/" ) , a } , z = function ( a , b ) { return b = "undefined" != typeof b ? b : l . createFolders , a = G ( a ) , this . files [ a ] || B . call ( this , a , null , { dir : ! 0 , createFolders : b } ) , this . files [ a ] } ; f . exports = { load : function ( ) { throw Error ( "This method has been removed in JSZip 3.0, please check the upgrade guide." ) ;
} , forEach : function ( a ) { var b , c , e ; for ( b in this . files ) this . files . hasOwnProperty ( b ) && ( e = this . files [ b ] , c = b . slice ( this . root . length , b . length ) , c && b . slice ( 0 , this . root . length ) === this . root && a ( c , e ) ) } , filter : function ( a ) { var b = [ ] ; return this . forEach ( function ( c , e ) { a ( c , e ) && b . push ( e ) } ) , b } , file : function ( a , b , c ) { if ( 1 === arguments . length ) { if ( "[object RegExp]" === Object . prototype . toString . call ( a ) ) { var e = a ; return this . filter ( function ( a , b ) { return ! b . dir && e . test ( a ) } ) } var d = this . files [ this . root + a ] ; return d && ! d . dir ? d : null } return a =
this . root + a , B . call ( this , a , b , c ) , this } , folder : function ( a ) { if ( ! a ) return this ; if ( "[object RegExp]" === Object . prototype . toString . call ( a ) ) return this . filter ( function ( b , c ) { return c . dir && a . test ( b ) } ) ; var b = z . call ( this , this . root + a ) , c = this . clone ( ) ; return c . root = b . name , c } , remove : function ( a ) { a = this . root + a ; var b = this . files [ a ] ; if ( b || ( "/" !== a . slice ( - 1 ) && ( a += "/" ) , b = this . files [ a ] ) , b && ! b . dir ) delete this . files [ a ] ; else for ( var b = this . filter ( function ( b , c ) { return c . name . slice ( 0 , a . length ) === a } ) , c = 0 ; c < b . length ; c ++ ) delete this . files [ b [ c ] . name ] ;
return this } , generate : function ( a ) { throw Error ( "This method has been removed in JSZip 3.0, please check the upgrade guide." ) ; } , generateInternalStream : function ( b ) { var d , p = { } ; try { if ( p = e . extend ( b || { } , { streamFiles : ! 1 , compression : "STORE" , compressionOptions : null , type : "" , platform : "DOS" , comment : null , mimeType : "application/zip" , encodeFileName : a . utf8encode } ) , p . type = p . type . toLowerCase ( ) , p . compression = p . compression . toUpperCase ( ) , "binarystring" === p . type && ( p . type = "string" ) , ! p . type ) throw Error ( "No output type specified." ) ;
e . checkSupport ( p . type ) ; "darwin" !== p . platform && "freebsd" !== p . platform && "linux" !== p . platform && "sunos" !== p . platform || ( p . platform = "UNIX" ) ; "win32" === p . platform && ( p . platform = "DOS" ) ; d = q . generateWorker ( this , p , p . comment || this . comment || "" ) } catch ( D ) { d = new c ( "error" ) , d . error ( D ) } return new g ( d , p . type || "string" , p . mimeType ) } , generateAsync : function ( a , b ) { return this . generateInternalStream ( a ) . accumulate ( b ) } , generateNodeStream : function ( a , b ) { return a = a || { } , a . type || ( a . type = "nodebuffer" ) , this . generateInternalStream ( a ) . toNodejsStream ( b ) } } } ,
{ "./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 ( b , f , d ) { f . exports = b ( "stream" ) } , { stream : void 0 } ] , 17 : [ function ( b , f , d ) { function a ( a ) { e . call ( this , a ) ; for ( var b = 0 ; b < this . data . length ; b ++ ) a [ b ] &= 255 } var e = b ( "./DataReader" ) ; b ( "../utils" ) . inherits ( a , e ) ; a . prototype . byteAt = function ( a ) { return this . data [ this . zero + a ] } ; a . prototype . lastIndexOfSignature =
function ( a ) { var b = a . charCodeAt ( 0 ) , c = a . charCodeAt ( 1 ) , e = a . charCodeAt ( 2 ) ; a = a . charCodeAt ( 3 ) ; for ( var d = this . length - 4 ; 0 <= d ; -- d ) if ( this . data [ d ] === b && this . data [ d + 1 ] === c && this . data [ d + 2 ] === e && this . data [ d + 3 ] === a ) return d - this . zero ; return - 1 } ; a . prototype . readAndCheckSignature = function ( a ) { var b = a . charCodeAt ( 0 ) , c = a . charCodeAt ( 1 ) , e = a . charCodeAt ( 2 ) ; a = a . charCodeAt ( 3 ) ; var d = this . readData ( 4 ) ; return b === d [ 0 ] && c === d [ 1 ] && e === d [ 2 ] && a === d [ 3 ] } ; a . prototype . readData = function ( a ) { if ( this . checkOffset ( a ) , 0 === a ) return [ ] ; var b = this . data . slice ( this . zero +
this . index , this . zero + this . index + a ) ; return this . index += a , b } ; f . exports = a } , { "../utils" : 32 , "./DataReader" : 18 } ] , 18 : [ function ( b , f , d ) { function a ( a ) { this . data = a ; this . length = a . length ; this . zero = this . index = 0 } var e = b ( "../utils" ) ; a . prototype = { checkOffset : function ( a ) { this . checkIndex ( this . index + a ) } , checkIndex : function ( a ) { if ( this . length < this . zero + a || 0 > a ) throw Error ( "End of data reached (data length = " + this . length + ", asked index = " + a + "). Corrupted zip ?" ) ; } , setIndex : function ( a ) { this . checkIndex ( a ) ; this . index = a } ,
skip : function ( a ) { this . setIndex ( this . index + a ) } , byteAt : function ( a ) { } , readInt : function ( a ) { var b , c = 0 ; this . checkOffset ( a ) ; for ( b = this . index + a - 1 ; b >= this . index ; b -- ) c = ( c << 8 ) + this . byteAt ( b ) ; return this . index += a , c } , readString : function ( a ) { return e . transformTo ( "string" , this . readData ( a ) ) } , readData : function ( a ) { } , lastIndexOfSignature : function ( a ) { } , readAndCheckSignature : function ( a ) { } , readDate : function ( ) { var a = this . readInt ( 4 ) ; return new Date ( Date . UTC ( ( a >> 25 & 127 ) + 1980 , ( a >> 21 & 15 ) - 1 , a >> 16 & 31 , a >> 11 & 31 , a >> 5 & 63 , ( 31 & a ) <<
1 ) ) } } ; f . exports = a } , { "../utils" : 32 } ] , 19 : [ function ( b , f , d ) { function a ( a ) { e . call ( this , a ) } var e = b ( "./Uint8ArrayReader" ) ; b ( "../utils" ) . inherits ( a , e ) ; a . prototype . readData = function ( a ) { this . checkOffset ( a ) ; var b = this . data . slice ( this . zero + this . index , this . zero + this . index + a ) ; return this . index += a , b } ; f . exports = a } , { "../utils" : 32 , "./Uint8ArrayReader" : 21 } ] , 20 : [ function ( b , f , d ) { function a ( a ) { e . call ( this , a ) } var e = b ( "./DataReader" ) ; b ( "../utils" ) . inherits ( a , e ) ; a . prototype . byteAt = function ( a ) { return this . data . charCodeAt ( this . zero +
a ) } ; a . prototype . lastIndexOfSignature = function ( a ) { return this . data . lastIndexOf ( a ) - this . zero } ; a . prototype . readAndCheckSignature = function ( a ) { var b = this . readData ( 4 ) ; return a === b } ; a . prototype . readData = function ( a ) { this . checkOffset ( a ) ; var b = this . data . slice ( this . zero + this . index , this . zero + this . index + a ) ; return this . index += a , b } ; f . exports = a } , { "../utils" : 32 , "./DataReader" : 18 } ] , 21 : [ function ( b , f , d ) { function a ( a ) { e . call ( this , a ) } var e = b ( "./ArrayReader" ) ; b ( "../utils" ) . inherits ( a , e ) ; a . prototype . readData = function ( a ) { if ( this . checkOffset ( a ) ,
0 === a ) return new Uint8Array ( 0 ) ; var b = this . data . subarray ( this . zero + this . index , this . zero + this . index + a ) ; return this . index += a , b } ; f . exports = a } , { "../utils" : 32 , "./ArrayReader" : 17 } ] , 22 : [ function ( b , f , d ) { var a = b ( "../utils" ) , e = b ( "../support" ) , c = b ( "./ArrayReader" ) , g = b ( "./StringReader" ) , l = b ( "./NodeBufferReader" ) , h = b ( "./Uint8ArrayReader" ) ; f . exports = function ( b ) { var d = a . getTypeOf ( b ) ; return a . checkSupport ( d ) , "string" !== d || e . uint8array ? "nodebuffer" === d ? new l ( b ) : e . uint8array ? new h ( a . transformTo ( "uint8array" , b ) ) : new c ( a . transformTo ( "array" ,
b ) ) : new g ( b ) } } , { "../support" : 30 , "../utils" : 32 , "./ArrayReader" : 17 , "./NodeBufferReader" : 19 , "./StringReader" : 20 , "./Uint8ArrayReader" : 21 } ] , 23 : [ function ( b , f , d ) { d . LOCAL _FILE _HEADER = "PK " ; d . CENTRAL _FILE _HEADER = "PK " ; d . CENTRAL _DIRECTORY _END = "PK " ; d . ZIP64 _CENTRAL _DIRECTORY _LOCATOR = "PK " ; d . ZIP64 _CENTRAL _DIRECTORY _END = "PK " ; d . DATA _DESCRIPTOR = "PK \b" } , { } ] , 24 : [ function ( b , f , d ) { function a ( a ) { e . call ( this , "ConvertWorker to " + a ) ; this . destType = a } var e = b ( "./GenericWorker" ) , c = b ( "../utils" ) ; c . inherits ( a , e ) ; a . prototype . processChunk =
function ( a ) { this . push ( { data : c . transformTo ( this . destType , a . data ) , meta : a . meta } ) } ; f . exports = a } , { "../utils" : 32 , "./GenericWorker" : 28 } ] , 25 : [ function ( b , f , d ) { function a ( ) { e . call ( this , "Crc32Probe" ) ; this . withStreamInfo ( "crc32" , 0 ) } var e = b ( "./GenericWorker" ) , c = b ( "../crc32" ) ; b ( "../utils" ) . inherits ( a , e ) ; a . prototype . processChunk = function ( a ) { this . streamInfo . crc32 = c ( a . data , this . streamInfo . crc32 || 0 ) ; this . push ( a ) } ; f . exports = a } , { "../crc32" : 4 , "../utils" : 32 , "./GenericWorker" : 28 } ] , 26 : [ function ( b , f , d ) { function a ( a ) { e . call ( this ,
"DataLengthProbe for " + a ) ; this . propName = a ; this . withStreamInfo ( a , 0 ) } d = b ( "../utils" ) ; var e = b ( "./GenericWorker" ) ; d . inherits ( a , e ) ; a . prototype . processChunk = function ( a ) { a && ( this . streamInfo [ this . propName ] = ( this . streamInfo [ this . propName ] || 0 ) + a . data . length ) ; e . prototype . processChunk . call ( this , a ) } ; f . exports = a } , { "../utils" : 32 , "./GenericWorker" : 28 } ] , 27 : [ function ( b , f , d ) { function a ( a ) { c . call ( this , "DataWorker" ) ; var b = this ; this . dataIsReady = ! 1 ; this . max = this . index = 0 ; this . data = null ; this . type = "" ; this . _tickScheduled = ! 1 ;
a . then ( function ( a ) { b . dataIsReady = ! 0 ; b . data = a ; b . max = a && a . length || 0 ; b . type = e . getTypeOf ( a ) ; b . isPaused || b . _tickAndRepeat ( ) } , function ( a ) { b . error ( a ) } ) } var e = b ( "../utils" ) , c = b ( "./GenericWorker" ) ; e . inherits ( a , c ) ; a . prototype . cleanUp = function ( ) { c . prototype . cleanUp . call ( this ) ; this . data = null } ; a . prototype . resume = function ( ) { return ! ! c . prototype . resume . call ( this ) && ( ! this . _tickScheduled && this . dataIsReady && ( this . _tickScheduled = ! 0 , e . delay ( this . _tickAndRepeat , [ ] , this ) ) , ! 0 ) } ; a . prototype . _tickAndRepeat = function ( ) { this . _tickScheduled =
2017-06-06 15:37:03 +00:00
! 1 ; this . isPaused || this . isFinished || ( this . _tick ( ) , this . isFinished || ( e . delay ( this . _tickAndRepeat , [ ] , this ) , this . _tickScheduled = ! 0 ) ) } ; a . prototype . _tick = function ( ) { if ( this . isPaused || this . isFinished ) return ! 1 ; var a = null , b = Math . min ( this . max , this . index + 16384 ) ; if ( this . index >= this . max ) return this . end ( ) ; switch ( this . type ) { case "string" : a = this . data . substring ( this . index , b ) ; break ; case "uint8array" : a = this . data . subarray ( this . index , b ) ; break ; case "array" : case "nodebuffer" : a = this . data . slice ( this . index , b ) } return this . index =
2017-06-12 13:14:07 +00:00
b , this . push ( { data : a , meta : { percent : this . max ? this . index / this . max * 100 : 0 } } ) } ; f . exports = a } , { "../utils" : 32 , "./GenericWorker" : 28 } ] , 28 : [ function ( b , f , d ) { function a ( a ) { this . name = a || "default" ; this . streamInfo = { } ; this . generatedError = null ; this . extraStreamInfo = { } ; this . isPaused = ! 0 ; this . isLocked = this . isFinished = ! 1 ; this . _listeners = { data : [ ] , end : [ ] , error : [ ] } ; this . previous = null } a . prototype = { push : function ( a ) { this . emit ( "data" , a ) } , end : function ( ) { if ( this . isFinished ) return ! 1 ; this . flush ( ) ; try { this . emit ( "end" ) , this . cleanUp ( ) ,
this . isFinished = ! 0 } catch ( e ) { this . emit ( "error" , e ) } return ! 0 } , error : function ( a ) { return ! this . isFinished && ( this . isPaused ? this . generatedError = a : ( this . isFinished = ! 0 , this . emit ( "error" , a ) , this . previous && this . previous . error ( a ) , this . cleanUp ( ) ) , ! 0 ) } , on : function ( a , b ) { return this . _listeners [ a ] . push ( b ) , this } , cleanUp : function ( ) { this . streamInfo = this . generatedError = this . extraStreamInfo = null ; this . _listeners = [ ] } , emit : function ( a , b ) { if ( this . _listeners [ a ] ) for ( var e = 0 ; e < this . _listeners [ a ] . length ; e ++ ) this . _listeners [ a ] [ e ] . call ( this ,
2017-06-06 15:37:03 +00:00
b ) } , pipe : function ( a ) { return a . registerPrevious ( this ) } , registerPrevious : function ( a ) { if ( this . isLocked ) throw Error ( "The stream '" + this + "' has already been used." ) ; this . streamInfo = a . streamInfo ; this . mergeStreamInfo ( ) ; this . previous = a ; var b = this ; return a . on ( "data" , function ( a ) { b . processChunk ( a ) } ) , a . on ( "end" , function ( ) { b . end ( ) } ) , a . on ( "error" , function ( a ) { b . error ( a ) } ) , this } , pause : function ( ) { return ! this . isPaused && ! this . isFinished && ( this . isPaused = ! 0 , this . previous && this . previous . pause ( ) , ! 0 ) } , resume : function ( ) { if ( ! this . isPaused ||
this . isFinished ) return ! 1 ; var a = this . isPaused = ! 1 ; return this . generatedError && ( this . error ( this . generatedError ) , a = ! 0 ) , this . previous && this . previous . resume ( ) , ! a } , flush : function ( ) { } , processChunk : function ( a ) { this . push ( a ) } , withStreamInfo : function ( a , b ) { return this . extraStreamInfo [ a ] = b , this . mergeStreamInfo ( ) , this } , mergeStreamInfo : function ( ) { for ( var a in this . extraStreamInfo ) this . extraStreamInfo . hasOwnProperty ( a ) && ( this . streamInfo [ a ] = this . extraStreamInfo [ a ] ) } , lock : function ( ) { if ( this . isLocked ) throw Error ( "The stream '" +
2017-06-12 13:14:07 +00:00
this + "' has already been used." ) ; this . isLocked = ! 0 ; this . previous && this . previous . lock ( ) } , toString : function ( ) { var a = "Worker " + this . name ; return this . previous ? this . previous + " -> " + a : a } } ; f . exports = a } , { } ] , 29 : [ function ( b , f , d ) { function a ( a , b ) { var c , e = 0 , d ; for ( c = d = 0 ; c < b . length ; c ++ ) d += b [ c ] . length ; switch ( a ) { case "string" : return b . join ( "" ) ; case "array" : return Array . prototype . concat . apply ( [ ] , b ) ; case "uint8array" : d = new Uint8Array ( d ) ; for ( c = 0 ; c < b . length ; c ++ ) d . set ( b [ c ] , e ) , e += b [ c ] . length ; return d ; case "nodebuffer" : return Buffer . concat ( b ) ;
default : throw Error ( "concat : unsupported type '" + a + "'" ) ; } } function e ( b , c ) { return new q . Promise ( function ( e , d ) { var x = [ ] , t = b . _internalType , p = b . _outputType , A = b . _mimeType ; b . on ( "data" , function ( a , b ) { x . push ( a ) ; c && c ( b ) } ) . on ( "error" , function ( a ) { x = [ ] ; d ( a ) } ) . on ( "end" , function ( ) { try { var b ; a : { var c = x , z = null ; switch ( p ) { case "blob" : b = g . newBlob ( c , A ) ; break a ; case "base64" : b = ( z = a ( t , c ) , n . encode ( z ) ) ; break a ; default : b = ( z = a ( t , c ) , g . transformTo ( p , z ) ) } } e ( b ) } catch ( u ) { d ( u ) } x = [ ] } ) . resume ( ) } ) } function c ( a , b , c ) { var e = b ; switch ( b ) { case "blob" : e =
"arraybuffer" ; break ; case "arraybuffer" : e = "uint8array" ; break ; case "base64" : e = "string" } try { this . _internalType = e , this . _outputType = b , this . _mimeType = c , g . checkSupport ( e ) , this . _worker = a . pipe ( new l ( e ) ) , a . lock ( ) } catch ( x ) { this . _worker = new h ( "error" ) , this . _worker . error ( x ) } } var g = b ( "../utils" ) , l = b ( "./ConvertWorker" ) , h = b ( "./GenericWorker" ) , n = b ( "../base64" ) ; d = b ( "../support" ) ; var q = b ( "../external" ) , t = null ; if ( d . nodestream ) try { t = b ( "../nodejs/NodejsStreamOutputAdapter" ) } catch ( A ) { } c . prototype = { accumulate : function ( a ) { return e ( this ,
a ) } , on : function ( a , b ) { var c = this ; return "data" === a ? this . _worker . on ( a , function ( a ) { b . call ( c , a . data , a . meta ) } ) : this . _worker . on ( a , function ( ) { g . delay ( b , arguments , c ) } ) , this } , resume : function ( ) { return g . delay ( this . _worker . resume , [ ] , this . _worker ) , this } , pause : function ( ) { return this . _worker . pause ( ) , this } , toNodejsStream : function ( a ) { if ( g . checkSupport ( "nodestream" ) , "nodebuffer" !== this . _outputType ) throw Error ( this . _outputType + " is not supported by this method" ) ; return new t ( this , { objectMode : "nodebuffer" !== this . _outputType } ,
a ) } } ; f . exports = c } , { "../base64" : 1 , "../external" : 6 , "../nodejs/NodejsStreamOutputAdapter" : 13 , "../support" : 30 , "../utils" : 32 , "./ConvertWorker" : 24 , "./GenericWorker" : 28 } ] , 30 : [ function ( b , f , d ) { if ( d . base64 = ! 0 , d . array = ! 0 , d . string = ! 0 , d . arraybuffer = "undefined" != typeof ArrayBuffer && "undefined" != typeof Uint8Array , d . nodebuffer = "undefined" != typeof Buffer , d . uint8array = "undefined" != typeof Uint8Array , "undefined" == typeof ArrayBuffer ) d . blob = ! 1 ; else { f = new ArrayBuffer ( 0 ) ; try { d . blob = 0 === ( new Blob ( [ f ] , { type : "application/zip" } ) ) . size } catch ( e ) { try { var a =
new ( window . BlobBuilder || window . WebKitBlobBuilder || window . MozBlobBuilder || window . MSBlobBuilder ) ; a . append ( f ) ; d . blob = 0 === a . getBlob ( "application/zip" ) . size } catch ( c ) { d . blob = ! 1 } } } try { d . nodestream = ! ! b ( "readable-stream" ) . Readable } catch ( e ) { d . nodestream = ! 1 } } , { "readable-stream" : 16 } ] , 31 : [ function ( b , f , d ) { function a ( ) { h . call ( this , "utf-8 decode" ) ; this . leftOver = null } function e ( ) { h . call ( this , "utf-8 encode" ) } var c = b ( "./utils" ) , g = b ( "./support" ) , l = b ( "./nodejsUtils" ) , h = b ( "./stream/GenericWorker" ) , n = Array ( 256 ) ; for ( b =
0 ; 256 > b ; b ++ ) n [ b ] = 252 <= b ? 6 : 248 <= b ? 5 : 240 <= b ? 4 : 224 <= b ? 3 : 192 <= b ? 2 : 1 ; n [ 254 ] = n [ 254 ] = 1 ; d . utf8encode = function ( a ) { if ( g . nodebuffer ) a = l . newBuffer ( a , "utf-8" ) ; else { var b , c , e , d , z , x = a . length , n = 0 ; for ( d = 0 ; d < x ; d ++ ) c = a . charCodeAt ( d ) , 55296 === ( 64512 & c ) && d + 1 < x && ( e = a . charCodeAt ( d + 1 ) , 56320 === ( 64512 & e ) && ( c = 65536 + ( c - 55296 << 10 ) + ( e - 56320 ) , d ++ ) ) , n += 128 > c ? 1 : 2048 > c ? 2 : 65536 > c ? 3 : 4 ; b = g . uint8array ? new Uint8Array ( n ) : Array ( n ) ; for ( d = z = 0 ; z < n ; d ++ ) c = a . charCodeAt ( d ) , 55296 === ( 64512 & c ) && d + 1 < x && ( e = a . charCodeAt ( d + 1 ) , 56320 === ( 64512 & e ) && ( c = 65536 +
( c - 55296 << 10 ) + ( e - 56320 ) , d ++ ) ) , 128 > c ? b [ z ++ ] = c : 2048 > c ? ( b [ z ++ ] = 192 | c >>> 6 , b [ z ++ ] = 128 | 63 & c ) : 65536 > c ? ( b [ z ++ ] = 224 | c >>> 12 , b [ z ++ ] = 128 | c >>> 6 & 63 , b [ z ++ ] = 128 | 63 & c ) : ( b [ z ++ ] = 240 | c >>> 18 , b [ z ++ ] = 128 | c >>> 12 & 63 , b [ z ++ ] = 128 | c >>> 6 & 63 , b [ z ++ ] = 128 | 63 & c ) ; a = b } return a } ; d . utf8decode = function ( a ) { var b ; if ( g . nodebuffer ) b = c . transformTo ( "nodebuffer" , a ) . toString ( "utf-8" ) ; else { var e = a = c . transformTo ( g . uint8array ? "uint8array" : "array" , a ) , d , l , z , x = e . length ; a = Array ( 2 * x ) ; for ( d = l = 0 ; d < x ; ) if ( b = e [ d ++ ] , 128 > b ) a [ l ++ ] = b ; else if ( z = n [ b ] , 4 < z ) a [ l ++ ] =
65533 , d += z - 1 ; else { for ( b &= 2 === z ? 31 : 3 === z ? 15 : 7 ; 1 < z && d < x ; ) b = b << 6 | 63 & e [ d ++ ] , z -- ; 1 < z ? a [ l ++ ] = 65533 : 65536 > b ? a [ l ++ ] = b : ( b -= 65536 , a [ l ++ ] = 55296 | b >> 10 & 1023 , a [ l ++ ] = 56320 | 1023 & b ) } b = ( a . length !== l && ( a . subarray ? a = a . subarray ( 0 , l ) : a . length = l ) , c . applyFromCharCode ( a ) ) } return b } ; c . inherits ( a , h ) ; a . prototype . processChunk = function ( a ) { var b = c . transformTo ( g . uint8array ? "uint8array" : "array" , a . data ) ; if ( this . leftOver && this . leftOver . length ) { if ( g . uint8array ) { var e = b , b = new Uint8Array ( e . length + this . leftOver . length ) ; b . set ( this . leftOver ,
0 ) ; b . set ( e , this . leftOver . length ) } else b = this . leftOver . concat ( b ) ; this . leftOver = null } var l , e = b . length ; e > b . length && ( e = b . length ) ; for ( l = e - 1 ; 0 <= l && 128 === ( 192 & b [ l ] ) ; ) l -- ; e = 0 > l ? e : 0 === l ? e : l + n [ b [ l ] ] > e ? l : e ; l = b ; e !== b . length && ( g . uint8array ? ( l = b . subarray ( 0 , e ) , this . leftOver = b . subarray ( e , b . length ) ) : ( l = b . slice ( 0 , e ) , this . leftOver = b . slice ( e , b . length ) ) ) ; this . push ( { data : d . utf8decode ( l ) , meta : a . meta } ) } ; a . prototype . flush = function ( ) { this . leftOver && this . leftOver . length && ( this . push ( { data : d . utf8decode ( this . leftOver ) , meta : { } } ) ,
this . leftOver = null ) } ; d . Utf8DecodeWorker = a ; c . inherits ( e , h ) ; e . prototype . processChunk = function ( a ) { this . push ( { data : d . utf8encode ( a . data ) , meta : a . meta } ) } ; d . Utf8EncodeWorker = e } , { "./nodejsUtils" : 14 , "./stream/GenericWorker" : 28 , "./support" : 30 , "./utils" : 32 } ] , 32 : [ function ( b , f , d ) { function a ( a ) { return a } function e ( a , b ) { for ( var c = 0 ; c < a . length ; ++ c ) b [ c ] = 255 & a . charCodeAt ( c ) ; return b } function c ( a ) { var b = 65536 , c = d . getTypeOf ( a ) , e = ! 0 ; if ( "uint8array" === c ? e = G . applyCanBeUsed . uint8array : "nodebuffer" === c && ( e = G . applyCanBeUsed . nodebuffer ) ,
e ) for ( ; 1 < b ; ) try { return G . stringifyByChunk ( a , c , b ) } catch ( m ) { b = Math . floor ( b / 2 ) } return G . stringifyByChar ( a ) } function g ( a , b ) { for ( var c = 0 ; c < a . length ; c ++ ) b [ c ] = a [ c ] ; return b } var l = b ( "./support" ) , h = b ( "./base64" ) , n = b ( "./nodejsUtils" ) , q = b ( "core-js/library/fn/set-immediate" ) , t = b ( "./external" ) ; d . newBlob = function ( a , b ) { d . checkSupport ( "blob" ) ; try { return new Blob ( a , { type : b } ) } catch ( m ) { try { for ( var c = new ( window . BlobBuilder || window . WebKitBlobBuilder || window . MozBlobBuilder || window . MSBlobBuilder ) , e = 0 ; e < a . length ; e ++ ) c . append ( a [ e ] ) ;
return c . getBlob ( b ) } catch ( O ) { throw Error ( "Bug : can't construct the Blob." ) ; } } } ; var A ; try { A = l . uint8array && 1 === String . fromCharCode . apply ( null , new Uint8Array ( 1 ) ) . length } catch ( x ) { A = ! 1 } b = A ; var B ; try { B = l . nodebuffer && 1 === String . fromCharCode . apply ( null , n . newBuffer ( 1 ) ) . length } catch ( x ) { B = ! 1 } var G = { stringifyByChunk : function ( a , b , c ) { var e = [ ] , d = 0 , p = a . length ; if ( p <= c ) return String . fromCharCode . apply ( null , a ) ; for ( ; d < p ; ) "array" === b || "nodebuffer" === b ? e . push ( String . fromCharCode . apply ( null , a . slice ( d , Math . min ( d + c , p ) ) ) ) :
e . push ( String . fromCharCode . apply ( null , a . subarray ( d , Math . min ( d + c , p ) ) ) ) , d += c ; return e . join ( "" ) } , stringifyByChar : function ( a ) { for ( var b = "" , c = 0 ; c < a . length ; c ++ ) b += String . fromCharCode ( a [ c ] ) ; return b } , applyCanBeUsed : { uint8array : b , nodebuffer : B } } ; d . applyFromCharCode = c ; var z = { } ; z . string = { string : a , array : function ( a ) { return e ( a , Array ( a . length ) ) } , arraybuffer : function ( a ) { return z . string . uint8array ( a ) . buffer } , uint8array : function ( a ) { return e ( a , new Uint8Array ( a . length ) ) } , nodebuffer : function ( a ) { return e ( a , n . newBuffer ( a . length ) ) } } ;
z . array = { string : c , array : a , arraybuffer : function ( a ) { return ( new Uint8Array ( a ) ) . buffer } , uint8array : function ( a ) { return new Uint8Array ( a ) } , nodebuffer : function ( a ) { return n . newBuffer ( a ) } } ; z . arraybuffer = { string : function ( a ) { return c ( new Uint8Array ( a ) ) } , array : function ( a ) { return g ( new Uint8Array ( a ) , Array ( a . byteLength ) ) } , arraybuffer : a , uint8array : function ( a ) { return new Uint8Array ( a ) } , nodebuffer : function ( a ) { return n . newBuffer ( new Uint8Array ( a ) ) } } ; z . uint8array = { string : c , array : function ( a ) { return g ( a , Array ( a . length ) ) } ,
arraybuffer : function ( a ) { var b = new Uint8Array ( a . length ) ; return a . length && b . set ( a , 0 ) , b . buffer } , uint8array : a , nodebuffer : function ( a ) { return n . newBuffer ( a ) } } ; z . nodebuffer = { string : c , array : function ( a ) { return g ( a , Array ( a . length ) ) } , arraybuffer : function ( a ) { return z . nodebuffer . uint8array ( a ) . buffer } , uint8array : function ( a ) { return g ( a , new Uint8Array ( a . length ) ) } , nodebuffer : a } ; d . transformTo = function ( a , b ) { if ( b || ( b = "" ) , ! a ) return b ; d . checkSupport ( a ) ; var c = d . getTypeOf ( b ) ; return z [ c ] [ a ] ( b ) } ; d . getTypeOf = function ( a ) { return "string" ==
typeof a ? "string" : "[object Array]" === Object . prototype . toString . call ( a ) ? "array" : l . nodebuffer && n . isBuffer ( a ) ? "nodebuffer" : l . uint8array && a instanceof Uint8Array ? "uint8array" : l . arraybuffer && a instanceof ArrayBuffer ? "arraybuffer" : void 0 } ; d . checkSupport = function ( a ) { if ( ! l [ a . toLowerCase ( ) ] ) throw Error ( a + " is not supported by this platform" ) ; } ; d . MAX _VALUE _16BITS = 65535 ; d . MAX _VALUE _32BITS = - 1 ; d . pretty = function ( a ) { var b , c , e = "" ; for ( c = 0 ; c < ( a || "" ) . length ; c ++ ) b = a . charCodeAt ( c ) , e += "\\x" + ( 16 > b ? "0" : "" ) + b . toString ( 16 ) . toUpperCase ( ) ;
return e } ; d . delay = function ( a , b , c ) { q ( function ( ) { a . apply ( c || null , b || [ ] ) } ) } ; d . inherits = function ( a , b ) { var c = function ( ) { } ; c . prototype = b . prototype ; a . prototype = new c } ; d . extend = function ( ) { var a , b , c = { } ; for ( a = 0 ; a < arguments . length ; a ++ ) for ( b in arguments [ a ] ) arguments [ a ] . hasOwnProperty ( b ) && "undefined" == typeof c [ b ] && ( c [ b ] = arguments [ a ] [ b ] ) ; return c } ; d . prepareContent = function ( a , b , c , g , n ) { return t . Promise . resolve ( b ) . then ( function ( a ) { return l . blob && ( a instanceof Blob || - 1 !== [ "[object File]" , "[object Blob]" ] . indexOf ( Object . prototype . toString . call ( a ) ) ) &&
"undefined" != typeof FileReader ? new t . Promise ( function ( b , c ) { var e = new FileReader ; e . onload = function ( a ) { b ( a . target . result ) } ; e . onerror = function ( a ) { c ( a . target . error ) } ; e . readAsArrayBuffer ( a ) } ) : a } ) . then ( function ( b ) { var p = d . getTypeOf ( b ) ; p ? "arraybuffer" === p ? b = d . transformTo ( "uint8array" , b ) : "string" === p && ( n ? b = h . decode ( b ) : c && ! 0 !== g && ( p = null , b = ( p = l . uint8array ? new Uint8Array ( b . length ) : Array ( b . length ) , e ( b , p ) ) ) ) : b = t . Promise . reject ( Error ( "The data of '" + a + "' is in an unsupported format !" ) ) ; return b } ) } } , { "./base64" : 1 ,
"./external" : 6 , "./nodejsUtils" : 14 , "./support" : 30 , "core-js/library/fn/set-immediate" : 36 } ] , 33 : [ function ( b , f , d ) { function a ( a ) { this . files = [ ] ; this . loadOptions = a } var e = b ( "./reader/readerFor" ) , c = b ( "./utils" ) , g = b ( "./signature" ) , l = b ( "./zipEntry" ) , h = ( b ( "./utf8" ) , b ( "./support" ) ) ; a . prototype = { checkSignature : function ( a ) { if ( ! this . reader . readAndCheckSignature ( a ) ) { this . reader . index -= 4 ; var b = this . reader . readString ( 4 ) ; throw Error ( "Corrupted zip or bug : unexpected signature (" + c . pretty ( b ) + ", expected " + c . pretty ( a ) +
")" ) ; } } , isSignature : function ( a , b ) { var c = this . reader . index ; this . reader . setIndex ( a ) ; var e = this . reader . readString ( 4 ) === b ; return this . reader . setIndex ( c ) , e } , readBlockEndOfCentral : function ( ) { this . diskNumber = this . reader . readInt ( 2 ) ; this . diskWithCentralDirStart = this . reader . readInt ( 2 ) ; this . centralDirRecordsOnThisDisk = this . reader . readInt ( 2 ) ; this . centralDirRecords = this . reader . readInt ( 2 ) ; this . centralDirSize = this . reader . readInt ( 4 ) ; this . centralDirOffset = this . reader . readInt ( 4 ) ; this . zipCommentLength = this . reader . readInt ( 2 ) ;
var a = this . reader . readData ( this . zipCommentLength ) , a = c . transformTo ( h . uint8array ? "uint8array" : "array" , a ) ; this . zipComment = this . loadOptions . decodeFileName ( a ) } , readBlockZip64EndOfCentral : function ( ) { this . zip64EndOfCentralSize = this . reader . readInt ( 8 ) ; this . reader . skip ( 4 ) ; this . diskNumber = this . reader . readInt ( 4 ) ; this . diskWithCentralDirStart = this . reader . readInt ( 4 ) ; this . centralDirRecordsOnThisDisk = this . reader . readInt ( 8 ) ; this . centralDirRecords = this . reader . readInt ( 8 ) ; this . centralDirSize = this . reader . readInt ( 8 ) ; this . centralDirOffset =
this . reader . readInt ( 8 ) ; this . zip64ExtensibleData = { } ; for ( var a , b , c , e = this . zip64EndOfCentralSize - 44 ; 0 < e ; ) a = this . reader . readInt ( 2 ) , b = this . reader . readInt ( 4 ) , c = this . reader . readData ( b ) , this . zip64ExtensibleData [ a ] = { id : a , length : b , value : c } } , readBlockZip64EndOfCentralLocator : function ( ) { if ( this . diskWithZip64CentralDirStart = this . reader . readInt ( 4 ) , this . relativeOffsetEndOfZip64CentralDir = this . reader . readInt ( 8 ) , this . disksCount = this . reader . readInt ( 4 ) , 1 < this . disksCount ) throw Error ( "Multi-volumes zip are not supported" ) ;
} , readLocalFiles : function ( ) { var a , b ; for ( a = 0 ; a < this . files . length ; a ++ ) b = this . files [ a ] , this . reader . setIndex ( b . localHeaderOffset ) , this . checkSignature ( g . LOCAL _FILE _HEADER ) , b . readLocalPart ( this . reader ) , b . handleUTF8 ( ) , b . processAttributes ( ) } , readCentralDir : function ( ) { var a ; for ( this . reader . setIndex ( this . centralDirOffset ) ; this . reader . readAndCheckSignature ( g . CENTRAL _FILE _HEADER ) ; ) a = new l ( { zip64 : this . zip64 } , this . loadOptions ) , a . readCentralPart ( this . reader ) , this . files . push ( a ) ; if ( this . centralDirRecords !== this . files . length &&
2017-06-06 15:37:03 +00:00
0 !== this . centralDirRecords && 0 === this . files . length ) throw Error ( "Corrupted zip or bug: expected " + this . centralDirRecords + " records in central dir, got " + this . files . length ) ; } , readEndOfCentral : function ( ) { var a = this . reader . lastIndexOfSignature ( g . CENTRAL _DIRECTORY _END ) ; if ( 0 > a ) throw this . isSignature ( 0 , g . LOCAL _FILE _HEADER ) ? Error ( "Corrupted zip : can't find end of central directory" ) : Error ( "Can't find end of central directory : is this a zip file ? If it is, see http://stuk.github.io/jszip/documentation/howto/read_zip.html" ) ;
2017-06-12 13:14:07 +00:00
this . reader . setIndex ( a ) ; var b = a ; if ( this . checkSignature ( g . CENTRAL _DIRECTORY _END ) , this . readBlockEndOfCentral ( ) , this . diskNumber === c . MAX _VALUE _16BITS || this . diskWithCentralDirStart === c . MAX _VALUE _16BITS || this . centralDirRecordsOnThisDisk === c . MAX _VALUE _16BITS || this . centralDirRecords === c . MAX _VALUE _16BITS || this . centralDirSize === c . MAX _VALUE _32BITS || this . centralDirOffset === c . MAX _VALUE _32BITS ) { if ( this . zip64 = ! 0 , a = this . reader . lastIndexOfSignature ( g . ZIP64 _CENTRAL _DIRECTORY _LOCATOR ) , 0 > a ) throw Error ( "Corrupted zip : can't find the ZIP64 end of central directory locator" ) ;
2017-06-06 15:37:03 +00:00
if ( this . reader . setIndex ( a ) , this . checkSignature ( g . ZIP64 _CENTRAL _DIRECTORY _LOCATOR ) , this . readBlockZip64EndOfCentralLocator ( ) , ! this . isSignature ( this . relativeOffsetEndOfZip64CentralDir , g . ZIP64 _CENTRAL _DIRECTORY _END ) && ( this . relativeOffsetEndOfZip64CentralDir = this . reader . lastIndexOfSignature ( g . ZIP64 _CENTRAL _DIRECTORY _END ) , 0 > this . relativeOffsetEndOfZip64CentralDir ) ) throw Error ( "Corrupted zip : can't find the ZIP64 end of central directory" ) ; this . reader . setIndex ( this . relativeOffsetEndOfZip64CentralDir ) ; this . checkSignature ( g . ZIP64 _CENTRAL _DIRECTORY _END ) ;
this . readBlockZip64EndOfCentral ( ) } a = this . centralDirOffset + this . centralDirSize ; this . zip64 && ( a += 20 , a += 12 + this . zip64EndOfCentralSize ) ; a = b - a ; if ( 0 < a ) this . isSignature ( b , g . CENTRAL _FILE _HEADER ) || ( this . reader . zero = a ) ; else if ( 0 > a ) throw Error ( "Corrupted zip: missing " + Math . abs ( a ) + " bytes." ) ; } , prepareReader : function ( a ) { this . reader = e ( a ) } , load : function ( a ) { this . prepareReader ( a ) ; this . readEndOfCentral ( ) ; this . readCentralDir ( ) ; this . readLocalFiles ( ) } } ; f . exports = a } , { "./reader/readerFor" : 22 , "./signature" : 23 , "./support" : 30 ,
2017-06-12 13:14:07 +00:00
"./utf8" : 31 , "./utils" : 32 , "./zipEntry" : 34 } ] , 34 : [ function ( b , f , d ) { function a ( a , b ) { this . options = a ; this . loadOptions = b } var e = b ( "./reader/readerFor" ) , c = b ( "./utils" ) , g = b ( "./compressedObject" ) , l = b ( "./crc32" ) , h = b ( "./utf8" ) , n = b ( "./compressions" ) , q = b ( "./support" ) ; a . prototype = { isEncrypted : function ( ) { return 1 === ( 1 & this . bitFlag ) } , useUTF8 : function ( ) { return 2048 === ( 2048 & this . bitFlag ) } , readLocalPart : function ( a ) { var b , e ; if ( a . skip ( 22 ) , this . fileNameLength = a . readInt ( 2 ) , e = a . readInt ( 2 ) , this . fileName = a . readData ( this . fileNameLength ) ,
a . skip ( e ) , - 1 === this . compressedSize || - 1 === this . uncompressedSize ) throw Error ( "Bug or corrupted zip : didn't get enough informations from the central directory (compressedSize === -1 || uncompressedSize === -1)" ) ; var d ; a : { e = this . compressionMethod ; for ( d in n ) if ( n . hasOwnProperty ( d ) && n [ d ] . magic === e ) { d = n [ d ] ; break a } d = null } if ( b = d , null === b ) throw Error ( "Corrupted zip : compression " + c . pretty ( this . compressionMethod ) + " unknown (inner file : " + c . transformTo ( "string" , this . fileName ) + ")" ) ; this . decompressed = new g ( this . compressedSize ,
2017-06-06 15:37:03 +00:00
this . uncompressedSize , this . crc32 , b , a . readData ( this . compressedSize ) ) } , readCentralPart : function ( a ) { this . versionMadeBy = a . readInt ( 2 ) ; a . skip ( 2 ) ; this . bitFlag = a . readInt ( 2 ) ; this . compressionMethod = a . readString ( 2 ) ; this . date = a . readDate ( ) ; this . crc32 = a . readInt ( 4 ) ; this . compressedSize = a . readInt ( 4 ) ; this . uncompressedSize = a . readInt ( 4 ) ; var b = a . readInt ( 2 ) ; if ( this . extraFieldsLength = a . readInt ( 2 ) , this . fileCommentLength = a . readInt ( 2 ) , this . diskNumberStart = a . readInt ( 2 ) , this . internalFileAttributes = a . readInt ( 2 ) , this . externalFileAttributes =
a . readInt ( 4 ) , this . localHeaderOffset = a . readInt ( 4 ) , this . isEncrypted ( ) ) throw Error ( "Encrypted zip are not supported" ) ; a . skip ( b ) ; this . readExtraFields ( a ) ; this . parseZIP64ExtraField ( a ) ; this . fileComment = a . readData ( this . fileCommentLength ) } , processAttributes : function ( ) { this . dosPermissions = this . unixPermissions = null ; var a = this . versionMadeBy >> 8 ; this . dir = ! ! ( 16 & this . externalFileAttributes ) ; 0 === a && ( this . dosPermissions = 63 & this . externalFileAttributes ) ; 3 === a && ( this . unixPermissions = this . externalFileAttributes >> 16 & 65535 ) ;
2017-06-12 13:14:07 +00:00
this . dir || "/" !== this . fileNameStr . slice ( - 1 ) || ( this . dir = ! 0 ) } , parseZIP64ExtraField : function ( a ) { this . extraFields [ 1 ] && ( a = e ( this . extraFields [ 1 ] . value ) , this . uncompressedSize === c . MAX _VALUE _32BITS && ( this . uncompressedSize = a . readInt ( 8 ) ) , this . compressedSize === c . MAX _VALUE _32BITS && ( this . compressedSize = a . readInt ( 8 ) ) , this . localHeaderOffset === c . MAX _VALUE _32BITS && ( this . localHeaderOffset = a . readInt ( 8 ) ) , this . diskNumberStart === c . MAX _VALUE _32BITS && ( this . diskNumberStart = a . readInt ( 4 ) ) ) } , readExtraFields : function ( a ) { var b ,
c , e , d = a . index + this . extraFieldsLength ; for ( this . extraFields || ( this . extraFields = { } ) ; a . index < d ; ) b = a . readInt ( 2 ) , c = a . readInt ( 2 ) , e = a . readData ( c ) , this . extraFields [ b ] = { id : b , length : c , value : e } } , handleUTF8 : function ( ) { var a = q . uint8array ? "uint8array" : "array" ; if ( this . useUTF8 ( ) ) this . fileNameStr = h . utf8decode ( this . fileName ) , this . fileCommentStr = h . utf8decode ( this . fileComment ) ; else { var b = this . findExtraFieldUnicodePath ( ) ; null !== b ? this . fileNameStr = b : ( b = c . transformTo ( a , this . fileName ) , this . fileNameStr = this . loadOptions . decodeFileName ( b ) ) ;
b = this . findExtraFieldUnicodeComment ( ) ; null !== b ? this . fileCommentStr = b : ( a = c . transformTo ( a , this . fileComment ) , this . fileCommentStr = this . loadOptions . decodeFileName ( a ) ) } } , findExtraFieldUnicodePath : function ( ) { var a = this . extraFields [ 28789 ] ; if ( a ) { var b = e ( a . value ) ; return 1 !== b . readInt ( 1 ) ? null : l ( this . fileName ) !== b . readInt ( 4 ) ? null : h . utf8decode ( b . readData ( a . length - 5 ) ) } return null } , findExtraFieldUnicodeComment : function ( ) { var a = this . extraFields [ 25461 ] ; if ( a ) { var b = e ( a . value ) ; return 1 !== b . readInt ( 1 ) ? null : l ( this . fileComment ) !==
b . readInt ( 4 ) ? null : h . utf8decode ( b . readData ( a . length - 5 ) ) } return null } } ; f . exports = a } , { "./compressedObject" : 2 , "./compressions" : 3 , "./crc32" : 4 , "./reader/readerFor" : 22 , "./support" : 30 , "./utf8" : 31 , "./utils" : 32 } ] , 35 : [ function ( b , f , d ) { var a = b ( "./stream/StreamHelper" ) , e = b ( "./stream/DataWorker" ) , c = b ( "./utf8" ) , g = b ( "./compressedObject" ) , l = b ( "./stream/GenericWorker" ) ; b = function ( a , b , c ) { this . name = a ; this . dir = c . dir ; this . date = c . date ; this . comment = c . comment ; this . unixPermissions = c . unixPermissions ; this . dosPermissions = c . dosPermissions ;
this . _data = b ; this . _dataBinary = c . binary ; this . options = { compression : c . compression , compressionOptions : c . compressionOptions } } ; b . prototype = { internalStream : function ( b ) { b = b . toLowerCase ( ) ; var e = "string" === b || "text" === b ; "binarystring" !== b && "text" !== b || ( b = "string" ) ; var d = this . _decompressWorker ( ) , g = ! this . _dataBinary ; return g && ! e && ( d = d . pipe ( new c . Utf8EncodeWorker ) ) , ! g && e && ( d = d . pipe ( new c . Utf8DecodeWorker ) ) , new a ( d , b , "" ) } , async : function ( a , b ) { return this . internalStream ( a ) . accumulate ( b ) } , nodeStream : function ( a , b ) { return this . internalStream ( a ||
"nodebuffer" ) . toNodejsStream ( b ) } , _compressWorker : function ( a , b ) { if ( this . _data instanceof g && this . _data . compression . magic === a . magic ) return this . _data . getCompressedWorker ( ) ; var e = this . _decompressWorker ( ) ; return this . _dataBinary || ( e = e . pipe ( new c . Utf8EncodeWorker ) ) , g . createWorkerFrom ( e , a , b ) } , _decompressWorker : function ( ) { return this . _data instanceof g ? this . _data . getContentWorker ( ) : this . _data instanceof l ? this . _data : new e ( this . _data ) } } ; d = [ "asText" , "asBinary" , "asNodeBuffer" , "asUint8Array" , "asArrayBuffer" ] ;
for ( var h = function ( ) { throw Error ( "This method has been removed in JSZip 3.0, please check the upgrade guide." ) ; } , n = 0 ; n < d . length ; n ++ ) b . prototype [ d [ n ] ] = h ; f . exports = b } , { "./compressedObject" : 2 , "./stream/DataWorker" : 27 , "./stream/GenericWorker" : 28 , "./stream/StreamHelper" : 29 , "./utf8" : 31 } ] , 36 : [ function ( b , f , d ) { b ( "../modules/web.immediate" ) ; f . exports = b ( "../modules/_core" ) . setImmediate } , { "../modules/_core" : 40 , "../modules/web.immediate" : 56 } ] , 37 : [ function ( b , f , d ) { f . exports = function ( a ) { if ( "function" != typeof a ) throw TypeError ( a +
" is not a function!" ) ; return a } } , { } ] , 38 : [ function ( b , f , d ) { var a = b ( "./_is-object" ) ; f . exports = function ( b ) { if ( ! a ( b ) ) throw TypeError ( b + " is not an object!" ) ; return b } } , { "./_is-object" : 51 } ] , 39 : [ function ( b , f , d ) { var a = { } . toString ; f . exports = function ( b ) { return a . call ( b ) . slice ( 8 , - 1 ) } } , { } ] , 40 : [ function ( b , f , d ) { b = f . exports = { version : "2.3.0" } ; "number" == typeof _ _e && ( _ _e = b ) } , { } ] , 41 : [ function ( b , f , d ) { var a = b ( "./_a-function" ) ; f . exports = function ( b , c , d ) { if ( a ( b ) , void 0 === c ) return b ; switch ( d ) { case 1 : return function ( a ) { return b . call ( c ,
a ) } ; case 2 : return function ( a , e ) { return b . call ( c , a , e ) } ; case 3 : return function ( a , e , d ) { return b . call ( c , a , e , d ) } } return function ( ) { return b . apply ( c , arguments ) } } } , { "./_a-function" : 37 } ] , 42 : [ function ( b , f , d ) { f . exports = ! b ( "./_fails" ) ( function ( ) { return 7 != Object . defineProperty ( { } , "a" , { get : function ( ) { return 7 } } ) . a } ) } , { "./_fails" : 45 } ] , 43 : [ function ( b , f , d ) { d = b ( "./_is-object" ) ; var a = b ( "./_global" ) . document , e = d ( a ) && d ( a . createElement ) ; f . exports = function ( b ) { return e ? a . createElement ( b ) : { } } } , { "./_global" : 46 , "./_is-object" : 51 } ] ,
44 : [ function ( b , f , d ) { var a = b ( "./_global" ) , e = b ( "./_core" ) , c = b ( "./_ctx" ) , g = b ( "./_hide" ) , l = function ( b , d , f ) { var h , n , q = b & l . F , G = b & l . G , z = b & l . S , x = b & l . P , y = b & l . B , p = b & l . W , D = G ? e : e [ d ] || ( e [ d ] = { } ) , m = D . prototype , z = G ? a : z ? a [ d ] : ( a [ d ] || { } ) . prototype ; G && ( f = d ) ; for ( h in f ) ( d = ! q && z && void 0 !== z [ h ] ) && h in D || ( n = d ? z [ h ] : f [ h ] , D [ h ] = G && "function" != typeof z [ h ] ? f [ h ] : y && d ? c ( n , a ) : p && z [ h ] == n ? function ( a ) { var b = function ( b , c , v ) { if ( this instanceof a ) { switch ( arguments . length ) { case 0 : return new a ; case 1 : return new a ( b ) ; case 2 : return new a ( b ,
c ) } return new a ( b , c , v ) } return a . apply ( this , arguments ) } ; return b . prototype = a . prototype , b } ( n ) : x && "function" == typeof n ? c ( Function . call , n ) : n , x && ( ( D . virtual || ( D . virtual = { } ) ) [ h ] = n , b & l . R && m && ! m [ h ] && g ( m , h , n ) ) ) } ; l . F = 1 ; l . G = 2 ; l . S = 4 ; l . P = 8 ; l . B = 16 ; l . W = 32 ; l . U = 64 ; l . R = 128 ; f . exports = l } , { "./_core" : 40 , "./_ctx" : 41 , "./_global" : 46 , "./_hide" : 47 } ] , 45 : [ function ( b , f , d ) { f . exports = function ( a ) { try { return ! ! a ( ) } catch ( e ) { return ! 0 } } } , { } ] , 46 : [ function ( b , f , d ) { b = f . exports = "undefined" != typeof window && Math == Math ? window : "undefined" != typeof self &&
self . Math == Math ? self : Function ( "return this" ) ( ) ; "number" == typeof _ _g && ( _ _g = b ) } , { } ] , 47 : [ function ( b , f , d ) { var a = b ( "./_object-dp" ) , e = b ( "./_property-desc" ) ; f . exports = b ( "./_descriptors" ) ? function ( b , d , l ) { return a . f ( b , d , e ( 1 , l ) ) } : function ( a , b , e ) { return a [ b ] = e , a } } , { "./_descriptors" : 42 , "./_object-dp" : 52 , "./_property-desc" : 53 } ] , 48 : [ function ( b , f , d ) { f . exports = b ( "./_global" ) . document && document . documentElement } , { "./_global" : 46 } ] , 49 : [ function ( b , f , d ) { f . exports = ! b ( "./_descriptors" ) && ! b ( "./_fails" ) ( function ( ) { return 7 !=
Object . defineProperty ( b ( "./_dom-create" ) ( "div" ) , "a" , { get : function ( ) { return 7 } } ) . a } ) } , { "./_descriptors" : 42 , "./_dom-create" : 43 , "./_fails" : 45 } ] , 50 : [ function ( b , f , d ) { f . exports = function ( a , b , c ) { var d = void 0 === c ; switch ( b . length ) { case 0 : return d ? a ( ) : a . call ( c ) ; case 1 : return d ? a ( b [ 0 ] ) : a . call ( c , b [ 0 ] ) ; case 2 : return d ? a ( b [ 0 ] , b [ 1 ] ) : a . call ( c , b [ 0 ] , b [ 1 ] ) ; case 3 : return d ? a ( b [ 0 ] , b [ 1 ] , b [ 2 ] ) : a . call ( c , b [ 0 ] , b [ 1 ] , b [ 2 ] ) ; case 4 : return d ? a ( b [ 0 ] , b [ 1 ] , b [ 2 ] , b [ 3 ] ) : a . call ( c , b [ 0 ] , b [ 1 ] , b [ 2 ] , b [ 3 ] ) } return a . apply ( c , b ) } } , { } ] , 51 : [ function ( b ,
f , d ) { f . exports = function ( a ) { return "object" == typeof a ? null !== a : "function" == typeof a } } , { } ] , 52 : [ function ( b , f , d ) { var a = b ( "./_an-object" ) , e = b ( "./_ie8-dom-define" ) , c = b ( "./_to-primitive" ) , g = Object . defineProperty ; d . f = b ( "./_descriptors" ) ? Object . defineProperty : function ( b , d , f ) { if ( a ( b ) , d = c ( d , ! 0 ) , a ( f ) , e ) try { return g ( b , d , f ) } catch ( q ) { } if ( "get" in f || "set" in f ) throw TypeError ( "Accessors not supported!" ) ; return "value" in f && ( b [ d ] = f . value ) , b } } , { "./_an-object" : 38 , "./_descriptors" : 42 , "./_ie8-dom-define" : 49 , "./_to-primitive" : 55 } ] ,
53 : [ function ( b , f , d ) { f . exports = function ( a , b ) { return { enumerable : ! ( 1 & a ) , configurable : ! ( 2 & a ) , writable : ! ( 4 & a ) , value : b } } } , { } ] , 54 : [ function ( b , f , d ) { var a , e , c , g = b ( "./_ctx" ) , l = b ( "./_invoke" ) , h = b ( "./_html" ) , n = b ( "./_dom-create" ) , q = b ( "./_global" ) , t = q . process ; d = q . setImmediate ; var A = q . clearImmediate , B = q . MessageChannel , G = 0 , z = { } , x = function ( ) { var a = + this ; if ( z . hasOwnProperty ( a ) ) { var b = z [ a ] ; delete z [ a ] ; b ( ) } } , y = function ( a ) { x . call ( a . data ) } ; d && A || ( d = function ( b ) { for ( var c = [ ] , d = 1 ; arguments . length > d ; ) c . push ( arguments [ d ++ ] ) ;
return z [ ++ G ] = function ( ) { l ( "function" == typeof b ? b : Function ( b ) , c ) } , a ( G ) , G } , A = function ( a ) { delete z [ a ] } , "process" == b ( "./_cof" ) ( t ) ? a = function ( a ) { t . nextTick ( g ( x , a , 1 ) ) } : B ? ( e = new B , c = e . port2 , e . port1 . onmessage = y , a = g ( c . postMessage , c , 1 ) ) : q . addEventListener && "function" == typeof postMessage && ! q . importScripts ? ( a = function ( a ) { q . postMessage ( a + "" , "*" ) } , q . addEventListener ( "message" , y , ! 1 ) ) : a = "onreadystatechange" in n ( "script" ) ? function ( a ) { h . appendChild ( n ( "script" ) ) . onreadystatechange = function ( ) { h . removeChild ( this ) ; x . call ( a ) } } :
function ( a ) { setTimeout ( g ( x , a , 1 ) , 0 ) } ) ; f . exports = { set : d , clear : A } } , { "./_cof" : 39 , "./_ctx" : 41 , "./_dom-create" : 43 , "./_global" : 46 , "./_html" : 48 , "./_invoke" : 50 } ] , 55 : [ function ( b , f , d ) { var a = b ( "./_is-object" ) ; f . exports = function ( b , c ) { if ( ! a ( b ) ) return b ; var d , e ; if ( c && "function" == typeof ( d = b . toString ) && ! a ( e = d . call ( b ) ) || "function" == typeof ( d = b . valueOf ) && ! a ( e = d . call ( b ) ) || ! c && "function" == typeof ( d = b . toString ) && ! a ( e = d . call ( b ) ) ) return e ; throw TypeError ( "Can't convert object to primitive value" ) ; } } , { "./_is-object" : 51 } ] , 56 : [ function ( b ,
f , d ) { f = b ( "./_export" ) ; b = b ( "./_task" ) ; f ( f . G + f . B , { setImmediate : b . set , clearImmediate : b . clear } ) } , { "./_export" : 44 , "./_task" : 54 } ] , 57 : [ function ( b , f , d ) { ( function ( a ) { function b ( ) { q = ! 0 ; for ( var a , b , c = t . length ; c ; ) { b = t ; t = [ ] ; for ( a = - 1 ; ++ a < c ; ) b [ a ] ( ) ; c = t . length } q = ! 1 } var c , d = a . MutationObserver || a . WebKitMutationObserver ; if ( d ) { var l = 0 , d = new d ( b ) , h = a . document . createTextNode ( "" ) ; d . observe ( h , { characterData : ! 0 } ) ; c = function ( ) { h . data = l = ++ l % 2 } } else if ( a . setImmediate || "undefined" == typeof a . MessageChannel ) c = "document" in a && "onreadystatechange" in
a . document . createElement ( "script" ) ? function ( ) { var c = a . document . createElement ( "script" ) ; c . onreadystatechange = function ( ) { b ( ) ; c . onreadystatechange = null ; c . parentNode . removeChild ( c ) ; c = null } ; a . document . documentElement . appendChild ( c ) } : function ( ) { setTimeout ( b , 0 ) } ; else { var n = new a . MessageChannel ; n . port1 . onmessage = b ; c = function ( ) { n . port2 . postMessage ( 0 ) } } var q , t = [ ] ; f . exports = function ( a ) { 1 !== t . push ( a ) || q || c ( ) } } ) . call ( this , "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ?
window : { } ) } , { } ] , 58 : [ function ( b , f , d ) { function a ( ) { } function e ( b ) { if ( "function" != typeof b ) throw new TypeError ( "resolver must be a function" ) ; this . state = G ; this . queue = [ ] ; this . outcome = void 0 ; b !== a && h ( this , b ) } function c ( a , b , c ) { this . promise = a ; "function" == typeof b && ( this . onFulfilled = b , this . callFulfilled = this . otherCallFulfilled ) ; "function" == typeof c && ( this . onRejected = c , this . callRejected = this . otherCallRejected ) } function g ( a , b , c ) { q ( function ( ) { var d ; try { d = b ( c ) } catch ( D ) { return t . reject ( a , D ) } d === a ? t . reject ( a , new TypeError ( "Cannot resolve promise with itself" ) ) :
t . resolve ( a , d ) } ) } function l ( a ) { var b = a && a . then ; if ( a && "object" == typeof a && "function" == typeof b ) return function ( ) { b . apply ( a , arguments ) } } function h ( a , b ) { function c ( b ) { e || ( e = ! 0 , t . reject ( a , b ) ) } function d ( b ) { e || ( e = ! 0 , t . resolve ( a , b ) ) } var e = ! 1 , g = n ( function ( ) { b ( d , c ) } ) ; "error" === g . status && c ( g . value ) } function n ( a , b ) { var c = { } ; try { c . value = a ( b ) , c . status = "success" } catch ( p ) { c . status = "error" , c . value = p } return c } var q = b ( "immediate" ) , t = { } , A = [ "REJECTED" ] , B = [ "FULFILLED" ] , G = [ "PENDING" ] ; f . exports = e ; e . prototype [ "catch" ] =
function ( a ) { return this . then ( null , a ) } ; e . prototype . then = function ( b , d ) { if ( "function" != typeof b && this . state === B || "function" != typeof d && this . state === A ) return this ; var e = new this . constructor ( a ) ; this . state !== G ? g ( e , this . state === B ? b : d , this . outcome ) : this . queue . push ( new c ( e , b , d ) ) ; return e } ; c . prototype . callFulfilled = function ( a ) { t . resolve ( this . promise , a ) } ; c . prototype . otherCallFulfilled = function ( a ) { g ( this . promise , this . onFulfilled , a ) } ; c . prototype . callRejected = function ( a ) { t . reject ( this . promise , a ) } ; c . prototype . otherCallRejected =
function ( a ) { g ( this . promise , this . onRejected , a ) } ; t . resolve = function ( a , b ) { var c = n ( l , b ) ; if ( "error" === c . status ) return t . reject ( a , c . value ) ; if ( c = c . value ) h ( a , c ) ; else { a . state = B ; a . outcome = b ; for ( var c = - 1 , d = a . queue . length ; ++ c < d ; ) a . queue [ c ] . callFulfilled ( b ) } return a } ; t . reject = function ( a , b ) { a . state = A ; a . outcome = b ; for ( var c = - 1 , d = a . queue . length ; ++ c < d ; ) a . queue [ c ] . callRejected ( b ) ; return a } ; e . resolve = function ( b ) { return b instanceof this ? b : t . resolve ( new this ( a ) , b ) } ; e . reject = function ( b ) { var c = new this ( a ) ; return t . reject ( c ,
b ) } ; e . all = function ( b ) { function c ( a , b ) { d . resolve ( a ) . then ( function ( a ) { f [ b ] = a ; ++ l !== e || g || ( g = ! 0 , t . resolve ( u , f ) ) } , function ( a ) { g || ( g = ! 0 , t . reject ( u , a ) ) } ) } var d = this ; if ( "[object Array]" !== Object . prototype . toString . call ( b ) ) return this . reject ( new TypeError ( "must be an array" ) ) ; var e = b . length , g = ! 1 ; if ( ! e ) return this . resolve ( [ ] ) ; for ( var f = Array ( e ) , l = 0 , h = - 1 , u = new this ( a ) ; ++ h < e ; ) c ( b [ h ] , h ) ; return u } ; e . race = function ( b ) { function c ( a ) { d . resolve ( a ) . then ( function ( a ) { g || ( g = ! 0 , t . resolve ( l , a ) ) } , function ( a ) { g || ( g = ! 0 , t . reject ( l ,
a ) ) } ) } var d = this ; if ( "[object Array]" !== Object . prototype . toString . call ( b ) ) return this . reject ( new TypeError ( "must be an array" ) ) ; var e = b . length , g = ! 1 ; if ( ! e ) return this . resolve ( [ ] ) ; for ( var f = - 1 , l = new this ( a ) ; ++ f < e ; ) c ( b [ f ] ) ; return l } } , { immediate : 57 } ] , 59 : [ function ( b , f , d ) { d = b ( "./lib/utils/common" ) . assign ; var a = b ( "./lib/deflate" ) , e = b ( "./lib/inflate" ) ; b = b ( "./lib/zlib/constants" ) ; var c = { } ; d ( c , a , e , b ) ; f . exports = c } , { "./lib/deflate" : 60 , "./lib/inflate" : 61 , "./lib/utils/common" : 62 , "./lib/zlib/constants" : 65 } ] , 60 : [ function ( b ,
f , d ) { function a ( b ) { if ( ! ( this instanceof a ) ) return new a ( b ) ; b = this . options = g . assign ( { level : A , method : G , chunkSize : 16384 , windowBits : 15 , memLevel : 8 , strategy : B , to : "" } , b || { } ) ; b . raw && 0 < b . windowBits ? b . windowBits = - b . windowBits : b . gzip && 0 < b . windowBits && 16 > b . windowBits && ( b . windowBits += 16 ) ; this . err = 0 ; this . msg = "" ; this . ended = ! 1 ; this . chunks = [ ] ; this . strm = new n ; this . strm . avail _out = 0 ; var d = c . deflateInit2 ( this . strm , b . level , b . method , b . windowBits , b . memLevel , b . strategy ) ; if ( d !== t ) throw Error ( h [ d ] ) ; if ( b . header && c . deflateSetHeader ( this . strm ,
b . header ) , b . dictionary ) { var e ; if ( e = "string" == typeof b . dictionary ? l . string2buf ( b . dictionary ) : "[object ArrayBuffer]" === q . call ( b . dictionary ) ? new Uint8Array ( b . dictionary ) : b . dictionary , d = c . deflateSetDictionary ( this . strm , e ) , d !== t ) throw Error ( h [ d ] ) ; this . _dict _set = ! 0 } } function e ( b , c ) { var d = new a ( c ) ; if ( d . push ( b , ! 0 ) , d . err ) throw d . msg ; return d . result } var c = b ( "./zlib/deflate" ) , g = b ( "./utils/common" ) , l = b ( "./utils/strings" ) , h = b ( "./zlib/messages" ) , n = b ( "./zlib/zstream" ) , q = Object . prototype . toString , t = 0 , A = - 1 , B = 0 , G =
8 ; a . prototype . push = function ( a , b ) { var d , e , f = this . strm , h = this . options . chunkSize ; if ( this . ended ) return ! 1 ; e = b === ~ ~ b ? b : ! 0 === b ? 4 : 0 ; "string" == typeof a ? f . input = l . string2buf ( a ) : "[object ArrayBuffer]" === q . call ( a ) ? f . input = new Uint8Array ( a ) : f . input = a ; f . next _in = 0 ; f . avail _in = f . input . length ; do { if ( 0 === f . avail _out && ( f . output = new g . Buf8 ( h ) , f . next _out = 0 , f . avail _out = h ) , d = c . deflate ( f , e ) , 1 !== d && d !== t ) return this . onEnd ( d ) , this . ended = ! 0 , ! 1 ; 0 !== f . avail _out && ( 0 !== f . avail _in || 4 !== e && 2 !== e ) || ( "string" === this . options . to ? this . onData ( l . buf2binstring ( g . shrinkBuf ( f . output ,
f . next _out ) ) ) : this . onData ( g . shrinkBuf ( f . output , f . next _out ) ) ) } while ( ( 0 < f . avail _in || 0 === f . avail _out ) && 1 !== d ) ; return 4 === e ? ( d = c . deflateEnd ( this . strm ) , this . onEnd ( d ) , this . ended = ! 0 , d === t ) : 2 !== e || ( this . onEnd ( t ) , f . avail _out = 0 , ! 0 ) } ; a . prototype . onData = function ( a ) { this . chunks . push ( a ) } ; a . prototype . onEnd = function ( a ) { a === t && ( "string" === this . options . to ? this . result = this . chunks . join ( "" ) : this . result = g . flattenChunks ( this . chunks ) ) ; this . chunks = [ ] ; this . err = a ; this . msg = this . strm . msg } ; d . Deflate = a ; d . deflate = e ; d . deflateRaw =
function ( a , b ) { return b = b || { } , b . raw = ! 0 , e ( a , b ) } ; d . gzip = function ( a , b ) { return b = b || { } , b . gzip = ! 0 , e ( a , b ) } } , { "./utils/common" : 62 , "./utils/strings" : 63 , "./zlib/deflate" : 67 , "./zlib/messages" : 72 , "./zlib/zstream" : 74 } ] , 61 : [ function ( b , f , d ) { function a ( b ) { if ( ! ( this instanceof a ) ) return new a ( b ) ; var d = this . options = g . assign ( { chunkSize : 16384 , windowBits : 0 , to : "" } , b || { } ) ; d . raw && 0 <= d . windowBits && 16 > d . windowBits && ( d . windowBits = - d . windowBits , 0 === d . windowBits && ( d . windowBits = - 15 ) ) ; ! ( 0 <= d . windowBits && 16 > d . windowBits ) || b && b . windowBits ||
( d . windowBits += 32 ) ; 15 < d . windowBits && 48 > d . windowBits && 0 === ( 15 & d . windowBits ) && ( d . windowBits |= 15 ) ; this . err = 0 ; this . msg = "" ; this . ended = ! 1 ; this . chunks = [ ] ; this . strm = new q ; this . strm . avail _out = 0 ; b = c . inflateInit2 ( this . strm , d . windowBits ) ; if ( b !== h . Z _OK ) throw Error ( n [ b ] ) ; this . header = new t ; c . inflateGetHeader ( this . strm , this . header ) } function e ( b , c ) { var d = new a ( c ) ; if ( d . push ( b , ! 0 ) , d . err ) throw d . msg ; return d . result } var c = b ( "./zlib/inflate" ) , g = b ( "./utils/common" ) , l = b ( "./utils/strings" ) , h = b ( "./zlib/constants" ) , n = b ( "./zlib/messages" ) ,
q = b ( "./zlib/zstream" ) , t = b ( "./zlib/gzheader" ) , A = Object . prototype . toString ; a . prototype . push = function ( a , b ) { var d , e , f , p , n , m , q = this . strm , H = this . options . chunkSize , u = this . options . dictionary , I = ! 1 ; if ( this . ended ) return ! 1 ; e = b === ~ ~ b ? b : ! 0 === b ? h . Z _FINISH : h . Z _NO _FLUSH ; "string" == typeof a ? q . input = l . binstring2buf ( a ) : "[object ArrayBuffer]" === A . call ( a ) ? q . input = new Uint8Array ( a ) : q . input = a ; q . next _in = 0 ; q . avail _in = q . input . length ; do { if ( 0 === q . avail _out && ( q . output = new g . Buf8 ( H ) , q . next _out = 0 , q . avail _out = H ) , d = c . inflate ( q , h . Z _NO _FLUSH ) ,
d === h . Z _NEED _DICT && u && ( m = "string" == typeof u ? l . string2buf ( u ) : "[object ArrayBuffer]" === A . call ( u ) ? new Uint8Array ( u ) : u , d = c . inflateSetDictionary ( this . strm , m ) ) , d === h . Z _BUF _ERROR && ! 0 === I && ( d = h . Z _OK , I = ! 1 ) , d !== h . Z _STREAM _END && d !== h . Z _OK ) return this . onEnd ( d ) , this . ended = ! 0 , ! 1 ; q . next _out && ( 0 !== q . avail _out && d !== h . Z _STREAM _END && ( 0 !== q . avail _in || e !== h . Z _FINISH && e !== h . Z _SYNC _FLUSH ) || ( "string" === this . options . to ? ( f = l . utf8border ( q . output , q . next _out ) , p = q . next _out - f , n = l . buf2string ( q . output , f ) , q . next _out = p , q . avail _out =
H - p , p && g . arraySet ( q . output , q . output , f , p , 0 ) , this . onData ( n ) ) : this . onData ( g . shrinkBuf ( q . output , q . next _out ) ) ) ) ; 0 === q . avail _in && 0 === q . avail _out && ( I = ! 0 ) } while ( ( 0 < q . avail _in || 0 === q . avail _out ) && d !== h . Z _STREAM _END ) ; return d === h . Z _STREAM _END && ( e = h . Z _FINISH ) , e === h . Z _FINISH ? ( d = c . inflateEnd ( this . strm ) , this . onEnd ( d ) , this . ended = ! 0 , d === h . Z _OK ) : e !== h . Z _SYNC _FLUSH || ( this . onEnd ( h . Z _OK ) , q . avail _out = 0 , ! 0 ) } ; a . prototype . onData = function ( a ) { this . chunks . push ( a ) } ; a . prototype . onEnd = function ( a ) { a === h . Z _OK && ( "string" === this . options . to ?
this . result = this . chunks . join ( "" ) : this . result = g . flattenChunks ( this . chunks ) ) ; this . chunks = [ ] ; this . err = a ; this . msg = this . strm . msg } ; d . Inflate = a ; d . inflate = e ; d . inflateRaw = function ( a , b ) { return b = b || { } , b . raw = ! 0 , e ( a , b ) } ; d . ungzip = e } , { "./utils/common" : 62 , "./utils/strings" : 63 , "./zlib/constants" : 65 , "./zlib/gzheader" : 68 , "./zlib/inflate" : 70 , "./zlib/messages" : 72 , "./zlib/zstream" : 74 } ] , 62 : [ function ( b , f , d ) { b = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Int32Array ; d . assign = function ( a ) { for ( var b =
Array . prototype . slice . call ( arguments , 1 ) ; b . length ; ) { var d = b . shift ( ) ; if ( d ) { if ( "object" != typeof d ) throw new TypeError ( d + "must be non-object" ) ; for ( var c in d ) d . hasOwnProperty ( c ) && ( a [ c ] = d [ c ] ) } } return a } ; d . shrinkBuf = function ( a , b ) { return a . length === b ? a : a . subarray ? a . subarray ( 0 , b ) : ( a . length = b , a ) } ; var a = { arraySet : function ( a , b , d , e , f ) { if ( b . subarray && a . subarray ) return void a . set ( b . subarray ( d , d + e ) , f ) ; for ( var c = 0 ; c < e ; c ++ ) a [ f + c ] = b [ d + c ] } , flattenChunks : function ( a ) { var b , d , c , e , f ; b = c = 0 ; for ( d = a . length ; b < d ; b ++ ) c += a [ b ] . length ;
f = new Uint8Array ( c ) ; b = c = 0 ; for ( d = a . length ; b < d ; b ++ ) e = a [ b ] , f . set ( e , c ) , c += e . length ; return f } } , e = { arraySet : function ( a , b , d , e , f ) { for ( var c = 0 ; c < e ; c ++ ) a [ f + c ] = b [ d + c ] } , flattenChunks : function ( a ) { return [ ] . concat . apply ( [ ] , a ) } } ; d . setTyped = function ( b ) { b ? ( d . Buf8 = Uint8Array , d . Buf16 = Uint16Array , d . Buf32 = Int32Array , d . assign ( d , a ) ) : ( d . Buf8 = Array , d . Buf16 = Array , d . Buf32 = Array , d . assign ( d , e ) ) } ; d . setTyped ( b ) } , { } ] , 63 : [ function ( b , f , d ) { function a ( a , b ) { if ( 65537 > b && ( a . subarray && g || ! a . subarray && c ) ) return String . fromCharCode . apply ( null ,
e . shrinkBuf ( a , b ) ) ; for ( var d = "" , f = 0 ; f < b ; f ++ ) d += String . fromCharCode ( a [ f ] ) ; return d } var e = b ( "./common" ) , c = ! 0 , g = ! 0 ; try { String . fromCharCode . apply ( null , [ 0 ] ) } catch ( h ) { c = ! 1 } try { String . fromCharCode . apply ( null , new Uint8Array ( 1 ) ) } catch ( h ) { g = ! 1 } var l = new e . Buf8 ( 256 ) ; for ( b = 0 ; 256 > b ; b ++ ) l [ b ] = 252 <= b ? 6 : 248 <= b ? 5 : 240 <= b ? 4 : 224 <= b ? 3 : 192 <= b ? 2 : 1 ; l [ 254 ] = l [ 254 ] = 1 ; d . string2buf = function ( a ) { var b , d , c , f , g , l = a . length , h = 0 ; for ( f = 0 ; f < l ; f ++ ) d = a . charCodeAt ( f ) , 55296 === ( 64512 & d ) && f + 1 < l && ( c = a . charCodeAt ( f + 1 ) , 56320 === ( 64512 & c ) && ( d = 65536 +
( d - 55296 << 10 ) + ( c - 56320 ) , f ++ ) ) , h += 128 > d ? 1 : 2048 > d ? 2 : 65536 > d ? 3 : 4 ; b = new e . Buf8 ( h ) ; for ( f = g = 0 ; g < h ; f ++ ) d = a . charCodeAt ( f ) , 55296 === ( 64512 & d ) && f + 1 < l && ( c = a . charCodeAt ( f + 1 ) , 56320 === ( 64512 & c ) && ( d = 65536 + ( d - 55296 << 10 ) + ( c - 56320 ) , f ++ ) ) , 128 > d ? b [ g ++ ] = d : 2048 > d ? ( b [ g ++ ] = 192 | d >>> 6 , b [ g ++ ] = 128 | 63 & d ) : 65536 > d ? ( b [ g ++ ] = 224 | d >>> 12 , b [ g ++ ] = 128 | d >>> 6 & 63 , b [ g ++ ] = 128 | 63 & d ) : ( b [ g ++ ] = 240 | d >>> 18 , b [ g ++ ] = 128 | d >>> 12 & 63 , b [ g ++ ] = 128 | d >>> 6 & 63 , b [ g ++ ] = 128 | 63 & d ) ; return b } ; d . buf2binstring = function ( b ) { return a ( b , b . length ) } ; d . binstring2buf = function ( a ) { for ( var b =
new e . Buf8 ( a . length ) , d = 0 , c = b . length ; d < c ; d ++ ) b [ d ] = a . charCodeAt ( d ) ; return b } ; d . buf2string = function ( b , d ) { var c , e , f , g , h = d || b . length , n = Array ( 2 * h ) ; for ( c = e = 0 ; c < h ; ) if ( f = b [ c ++ ] , 128 > f ) n [ e ++ ] = f ; else if ( g = l [ f ] , 4 < g ) n [ e ++ ] = 65533 , c += g - 1 ; else { for ( f &= 2 === g ? 31 : 3 === g ? 15 : 7 ; 1 < g && c < h ; ) f = f << 6 | 63 & b [ c ++ ] , g -- ; 1 < g ? n [ e ++ ] = 65533 : 65536 > f ? n [ e ++ ] = f : ( f -= 65536 , n [ e ++ ] = 55296 | f >> 10 & 1023 , n [ e ++ ] = 56320 | 1023 & f ) } return a ( n , e ) } ; d . utf8border = function ( a , b ) { var d ; b = b || a . length ; b > a . length && ( b = a . length ) ; for ( d = b - 1 ; 0 <= d && 128 === ( 192 & a [ d ] ) ; ) d -- ; return 0 >
d ? b : 0 === d ? b : d + l [ a [ d ] ] > b ? d : b } } , { "./common" : 62 } ] , 64 : [ function ( b , f , d ) { f . exports = function ( a , b , d , f ) { var c = 65535 & a | 0 ; a = a >>> 16 & 65535 | 0 ; for ( var e ; 0 !== d ; ) { e = 2E3 < d ? 2E3 : d ; d -= e ; do c = c + b [ f ++ ] | 0 , a = a + c | 0 ; while ( -- e ) ; c %= 65521 ; a %= 65521 } return c | a << 16 | 0 } } , { } ] , 65 : [ function ( b , f , d ) { f . exports = { Z _NO _FLUSH : 0 , Z _PARTIAL _FLUSH : 1 , Z _SYNC _FLUSH : 2 , Z _FULL _FLUSH : 3 , Z _FINISH : 4 , Z _BLOCK : 5 , Z _TREES : 6 , Z _OK : 0 , Z _STREAM _END : 1 , Z _NEED _DICT : 2 , Z _ERRNO : - 1 , Z _STREAM _ERROR : - 2 , Z _DATA _ERROR : - 3 , Z _BUF _ERROR : - 5 , Z _NO _COMPRESSION : 0 , Z _BEST _SPEED : 1 , Z _BEST _COMPRESSION : 9 ,
Z _DEFAULT _COMPRESSION : - 1 , Z _FILTERED : 1 , Z _HUFFMAN _ONLY : 2 , Z _RLE : 3 , Z _FIXED : 4 , Z _DEFAULT _STRATEGY : 0 , Z _BINARY : 0 , Z _TEXT : 1 , Z _UNKNOWN : 2 , Z _DEFLATED : 8 } } , { } ] , 66 : [ function ( b , f , d ) { var a = function ( ) { for ( var a , b = [ ] , d = 0 ; 256 > d ; d ++ ) { a = d ; for ( var f = 0 ; 8 > f ; f ++ ) a = 1 & a ? 3988292384 ^ a >>> 1 : a >>> 1 ; b [ d ] = a } return b } ( ) ; f . exports = function ( b , d , f , l ) { f = l + f ; for ( b ^= - 1 ; l < f ; l ++ ) b = b >>> 8 ^ a [ 255 & ( b ^ d [ l ] ) ] ; return b ^ - 1 } } , { } ] , 67 : [ function ( b , f , d ) { function a ( a , b ) { return a . msg = u [ b ] , b } function e ( a ) { for ( var b = a . length ; 0 <= -- b ; ) a [ b ] = 0 } function c ( a ) { var b =
a . state , d = b . pending ; d > a . avail _out && ( d = a . avail _out ) ; 0 !== d && ( D . arraySet ( a . output , b . pending _buf , b . pending _out , d , a . next _out ) , a . next _out += d , b . pending _out += d , a . total _out += d , a . avail _out -= d , b . pending -= d , 0 === b . pending && ( b . pending _out = 0 ) ) } function g ( a , b ) { m . _tr _flush _block ( a , 0 <= a . block _start ? a . block _start : - 1 , a . strstart - a . block _start , b ) ; a . block _start = a . strstart ; c ( a . strm ) } function l ( a , b ) { a . pending _buf [ a . pending ++ ] = b } function h ( a , b ) { a . pending _buf [ a . pending ++ ] = b >>> 8 & 255 ; a . pending _buf [ a . pending ++ ] = 255 & b } function n ( a ,
b ) { var d , c , e = a . max _chain _length , v = a . strstart , P = a . prev _length , f = a . nice _match , u = a . strstart > a . w _size - Q ? a . strstart - ( a . w _size - Q ) : 0 , g = a . window , p = a . w _mask , l = a . prev , h = a . strstart + K , I = g [ v + P - 1 ] , D = g [ v + P ] ; a . prev _length >= a . good _match && ( e >>= 2 ) ; f > a . lookahead && ( f = a . lookahead ) ; do if ( d = b , g [ d + P ] === D && g [ d + P - 1 ] === I && g [ d ] === g [ v ] && g [ ++ d ] === g [ v + 1 ] ) { v += 2 ; for ( d ++ ; g [ ++ v ] === g [ ++ d ] && g [ ++ v ] === g [ ++ d ] && g [ ++ v ] === g [ ++ d ] && g [ ++ v ] === g [ ++ d ] && g [ ++ v ] === g [ ++ d ] && g [ ++ v ] === g [ ++ d ] && g [ ++ v ] === g [ ++ d ] && g [ ++ v ] === g [ ++ d ] && v < h ; ) ; if ( c = K - ( h - v ) , v = h - K , c >
P ) { if ( a . match _start = b , P = c , c >= f ) break ; I = g [ v + P - 1 ] ; D = g [ v + P ] } } while ( ( b = l [ b & p ] ) > u && 0 !== -- e ) ; return P <= a . lookahead ? P : a . lookahead } function q ( a ) { var b , d , c , v , e = a . w _size ; do { if ( v = a . window _size - a . lookahead - a . strstart , a . strstart >= e + ( e - Q ) ) { D . arraySet ( a . window , a . window , e , e , 0 ) ; a . match _start -= e ; a . strstart -= e ; a . block _start -= e ; b = d = a . hash _size ; do c = a . head [ -- b ] , a . head [ b ] = c >= e ? c - e : 0 ; while ( -- d ) ; b = d = e ; do c = a . prev [ -- b ] , a . prev [ b ] = c >= e ? c - e : 0 ; while ( -- d ) ; v += e } if ( 0 === a . strm . avail _in ) break ; b = a . strm ; c = a . window ; var P = a . strstart +
a . lookahead , f = b . avail _in ; if ( d = ( f > v && ( f = v ) , 0 === f ? 0 : ( b . avail _in -= f , D . arraySet ( c , b . input , b . next _in , f , P ) , 1 === b . state . wrap ? b . adler = O ( b . adler , c , f , P ) : 2 === b . state . wrap && ( b . adler = H ( b . adler , c , f , P ) ) , b . next _in += f , b . total _in += f , f ) ) , a . lookahead += d , a . lookahead + a . insert >= C ) for ( v = a . strstart - a . insert , a . ins _h = a . window [ v ] , a . ins _h = ( a . ins _h << a . hash _shift ^ a . window [ v + 1 ] ) & a . hash _mask ; a . insert && ( a . ins _h = ( a . ins _h << a . hash _shift ^ a . window [ v + C - 1 ] ) & a . hash _mask , a . prev [ v & a . w _mask ] = a . head [ a . ins _h ] , a . head [ a . ins _h ] = v , v ++ , a . insert -- ,
! ( a . lookahead + a . insert < C ) ) ; ) ; } while ( a . lookahead < Q && 0 !== a . strm . avail _in ) } function t ( a , b ) { for ( var d , c ; ; ) { if ( a . lookahead < Q ) { if ( q ( a ) , a . lookahead < Q && b === I ) return M ; if ( 0 === a . lookahead ) break } if ( d = 0 , a . lookahead >= C && ( a . ins _h = ( a . ins _h << a . hash _shift ^ a . window [ a . strstart + C - 1 ] ) & a . hash _mask , d = a . prev [ a . strstart & a . w _mask ] = a . head [ a . ins _h ] , a . head [ a . ins _h ] = a . strstart ) , 0 !== d && a . strstart - d <= a . w _size - Q && ( a . match _length = n ( a , d ) ) , a . match _length >= C ) if ( c = m . _tr _tally ( a , a . strstart - a . match _start , a . match _length - C ) , a . lookahead -=
a . match _length , a . match _length <= a . max _lazy _match && a . lookahead >= C ) { a . match _length -- ; do a . strstart ++ , a . ins _h = ( a . ins _h << a . hash _shift ^ a . window [ a . strstart + C - 1 ] ) & a . hash _mask , d = a . prev [ a . strstart & a . w _mask ] = a . head [ a . ins _h ] , a . head [ a . ins _h ] = a . strstart ; while ( 0 !== -- a . match _length ) ; a . strstart ++ } else a . strstart += a . match _length , a . match _length = 0 , a . ins _h = a . window [ a . strstart ] , a . ins _h = ( a . ins _h << a . hash _shift ^ a . window [ a . strstart + 1 ] ) & a . hash _mask ; else c = m . _tr _tally ( a , 0 , a . window [ a . strstart ] ) , a . lookahead -- , a . strstart ++ ; if ( c &&
( g ( a , ! 1 ) , 0 === a . strm . avail _out ) ) return M } return a . insert = a . strstart < C - 1 ? a . strstart : C - 1 , b === v ? ( g ( a , ! 0 ) , 0 === a . strm . avail _out ? W : R ) : a . last _lit && ( g ( a , ! 1 ) , 0 === a . strm . avail _out ) ? M : U } function A ( a , b ) { for ( var d , c , e ; ; ) { if ( a . lookahead < Q ) { if ( q ( a ) , a . lookahead < Q && b === I ) return M ; if ( 0 === a . lookahead ) break } if ( d = 0 , a . lookahead >= C && ( a . ins _h = ( a . ins _h << a . hash _shift ^ a . window [ a . strstart + C - 1 ] ) & a . hash _mask , d = a . prev [ a . strstart & a . w _mask ] = a . head [ a . ins _h ] , a . head [ a . ins _h ] = a . strstart ) , a . prev _length = a . match _length , a . prev _match = a . match _start ,
a . match _length = C - 1 , 0 !== d && a . prev _length < a . max _lazy _match && a . strstart - d <= a . w _size - Q && ( a . match _length = n ( a , d ) , 5 >= a . match _length && ( a . strategy === X || a . match _length === C && 4096 < a . strstart - a . match _start ) && ( a . match _length = C - 1 ) ) , a . prev _length >= C && a . match _length <= a . prev _length ) { e = a . strstart + a . lookahead - C ; c = m . _tr _tally ( a , a . strstart - 1 - a . prev _match , a . prev _length - C ) ; a . lookahead -= a . prev _length - 1 ; a . prev _length -= 2 ; do ++ a . strstart <= e && ( a . ins _h = ( a . ins _h << a . hash _shift ^ a . window [ a . strstart + C - 1 ] ) & a . hash _mask , d = a . prev [ a . strstart &
a . w _mask ] = a . head [ a . ins _h ] , a . head [ a . ins _h ] = a . strstart ) ; while ( 0 !== -- a . prev _length ) ; if ( a . match _available = 0 , a . match _length = C - 1 , a . strstart ++ , c && ( g ( a , ! 1 ) , 0 === a . strm . avail _out ) ) return M } else if ( a . match _available ) { if ( c = m . _tr _tally ( a , 0 , a . window [ a . strstart - 1 ] ) , c && g ( a , ! 1 ) , a . strstart ++ , a . lookahead -- , 0 === a . strm . avail _out ) return M } else a . match _available = 1 , a . strstart ++ , a . lookahead -- } return a . match _available && ( m . _tr _tally ( a , 0 , a . window [ a . strstart - 1 ] ) , a . match _available = 0 ) , a . insert = a . strstart < C - 1 ? a . strstart : C - 1 , b ===
v ? ( g ( a , ! 0 ) , 0 === a . strm . avail _out ? W : R ) : a . last _lit && ( g ( a , ! 1 ) , 0 === a . strm . avail _out ) ? M : U } function B ( a , b , d , c , v ) { this . good _length = a ; this . max _lazy = b ; this . nice _length = d ; this . max _chain = c ; this . func = v } function G ( ) { this . strm = null ; this . status = 0 ; this . pending _buf = null ; this . wrap = this . pending = this . pending _out = this . pending _buf _size = 0 ; this . gzhead = null ; this . gzindex = 0 ; this . method = V ; this . last _flush = - 1 ; this . w _mask = this . w _bits = this . w _size = 0 ; this . window = null ; this . window _size = 0 ; this . head = this . prev = null ; this . nice _match = this . good _match =
this . strategy = this . level = this . max _lazy _match = this . max _chain _length = this . prev _length = this . lookahead = this . match _start = this . strstart = this . match _available = this . prev _match = this . match _length = this . block _start = this . hash _shift = this . hash _mask = this . hash _bits = this . hash _size = this . ins _h = 0 ; this . dyn _ltree = new D . Buf16 ( 2 * ba ) ; this . dyn _dtree = new D . Buf16 ( 2 * ( 2 * ca + 1 ) ) ; this . bl _tree = new D . Buf16 ( 2 * ( 2 * E + 1 ) ) ; e ( this . dyn _ltree ) ; e ( this . dyn _dtree ) ; e ( this . bl _tree ) ; this . bl _desc = this . d _desc = this . l _desc = null ; this . bl _count = new D . Buf16 ( L +
1 ) ; this . heap = new D . Buf16 ( 2 * da + 1 ) ; e ( this . heap ) ; this . heap _max = this . heap _len = 0 ; this . depth = new D . Buf16 ( 2 * da + 1 ) ; e ( this . depth ) ; this . bi _valid = this . bi _buf = this . insert = this . matches = this . static _len = this . opt _len = this . d _buf = this . last _lit = this . lit _bufsize = this . l _buf = 0 } function z ( b ) { var d ; return b && b . state ? ( b . total _in = b . total _out = 0 , b . data _type = aa , d = b . state , d . pending = 0 , d . pending _out = 0 , 0 > d . wrap && ( d . wrap = - d . wrap ) , d . status = d . wrap ? Z : Y , b . adler = 2 === d . wrap ? 0 : 1 , d . last _flush = I , m . _tr _init ( d ) , S ) : a ( b , N ) } function x ( a ) { var b =
z ( a ) ; b === S && ( a = a . state , a . window _size = 2 * a . w _size , e ( a . head ) , a . max _lazy _match = p [ a . level ] . max _lazy , a . good _match = p [ a . level ] . good _length , a . nice _match = p [ a . level ] . nice _length , a . max _chain _length = p [ a . level ] . max _chain , a . strstart = 0 , a . block _start = 0 , a . lookahead = 0 , a . insert = 0 , a . match _length = a . prev _length = C - 1 , a . match _available = 0 , a . ins _h = 0 ) ; return b } function y ( b , d , c , v , e , f ) { if ( ! b ) return N ; var k = 1 ; if ( d === F && ( d = 6 ) , 0 > v ? ( k = 0 , v = - v ) : 15 < v && ( k = 2 , v -= 16 ) , 1 > e || e > r || c !== V || 8 > v || 15 < v || 0 > d || 9 < d || 0 > f || f > T ) return a ( b , N ) ; 8 === v && ( v =
9 ) ; var J = new G ; return b . state = J , J . strm = b , J . wrap = k , J . gzhead = null , J . w _bits = v , J . w _size = 1 << J . w _bits , J . w _mask = J . w _size - 1 , J . hash _bits = e + 7 , J . hash _size = 1 << J . hash _bits , J . hash _mask = J . hash _size - 1 , J . hash _shift = ~ ~ ( ( J . hash _bits + C - 1 ) / C ) , J . window = new D . Buf8 ( 2 * J . w _size ) , J . head = new D . Buf16 ( J . hash _size ) , J . prev = new D . Buf16 ( J . w _size ) , J . lit _bufsize = 1 << e + 6 , J . pending _buf _size = 4 * J . lit _bufsize , J . pending _buf = new D . Buf8 ( J . pending _buf _size ) , J . d _buf = 1 * J . lit _bufsize , J . l _buf = 3 * J . lit _bufsize , J . level = d , J . strategy = f , J . method = c , x ( b ) }
var p , D = b ( "../utils/common" ) , m = b ( "./trees" ) , O = b ( "./adler32" ) , H = b ( "./crc32" ) , u = b ( "./messages" ) , I = 0 , v = 4 , S = 0 , N = - 2 , F = - 1 , X = 1 , T = 4 , aa = 2 , V = 8 , r = 9 , da = 286 , ca = 30 , E = 19 , ba = 2 * da + 1 , L = 15 , C = 3 , K = 258 , Q = K + C + 1 , Z = 42 , Y = 113 , M = 1 , U = 2 , W = 3 , R = 4 ; p = [ new B ( 0 , 0 , 0 , 0 , function ( a , b ) { var d = 65535 ; for ( d > a . pending _buf _size - 5 && ( d = a . pending _buf _size - 5 ) ; ; ) { if ( 1 >= a . lookahead ) { if ( q ( a ) , 0 === a . lookahead && b === I ) return M ; if ( 0 === a . lookahead ) break } a . strstart += a . lookahead ; a . lookahead = 0 ; var c = a . block _start + d ; if ( ( 0 === a . strstart || a . strstart >= c ) && ( a . lookahead =
a . strstart - c , a . strstart = c , g ( a , ! 1 ) , 0 === a . strm . avail _out ) || a . strstart - a . block _start >= a . w _size - Q && ( g ( a , ! 1 ) , 0 === a . strm . avail _out ) ) return M } return a . insert = 0 , b === v ? ( g ( a , ! 0 ) , 0 === a . strm . avail _out ? W : R ) : ( a . strstart > a . block _start && g ( a , ! 1 ) , M ) } ) , new B ( 4 , 4 , 8 , 4 , t ) , new B ( 4 , 5 , 16 , 8 , t ) , new B ( 4 , 6 , 32 , 32 , t ) , new B ( 4 , 4 , 16 , 16 , A ) , new B ( 8 , 16 , 32 , 32 , A ) , new B ( 8 , 16 , 128 , 128 , A ) , new B ( 8 , 32 , 128 , 256 , A ) , new B ( 32 , 128 , 258 , 1024 , A ) , new B ( 32 , 258 , 258 , 4096 , A ) ] ; d . deflateInit = function ( a , b ) { return y ( a , b , V , 15 , 8 , 0 ) } ; d . deflateInit2 = y ; d . deflateReset =
x ; d . deflateResetKeep = z ; d . deflateSetHeader = function ( a , b ) { return a && a . state ? 2 !== a . state . wrap ? N : ( a . state . gzhead = b , S ) : N } ; d . deflate = function ( b , d ) { var J , k , f , u ; if ( ! b || ! b . state || 5 < d || 0 > d ) return b ? a ( b , N ) : N ; if ( k = b . state , ! b . output || ! b . input && 0 !== b . avail _in || 666 === k . status && d !== v ) return a ( b , 0 === b . avail _out ? - 5 : N ) ; if ( k . strm = b , J = k . last _flush , k . last _flush = d , k . status === Z ) 2 === k . wrap ? ( b . adler = 0 , l ( k , 31 ) , l ( k , 139 ) , l ( k , 8 ) , k . gzhead ? ( l ( k , ( k . gzhead . text ? 1 : 0 ) + ( k . gzhead . hcrc ? 2 : 0 ) + ( k . gzhead . extra ? 4 : 0 ) + ( k . gzhead . name ? 8 : 0 ) + ( k . gzhead . comment ?
16 : 0 ) ) , l ( k , 255 & k . gzhead . time ) , l ( k , k . gzhead . time >> 8 & 255 ) , l ( k , k . gzhead . time >> 16 & 255 ) , l ( k , k . gzhead . time >> 24 & 255 ) , l ( k , 9 === k . level ? 2 : 2 <= k . strategy || 2 > k . level ? 4 : 0 ) , l ( k , 255 & k . gzhead . os ) , k . gzhead . extra && k . gzhead . extra . length && ( l ( k , 255 & k . gzhead . extra . length ) , l ( k , k . gzhead . extra . length >> 8 & 255 ) ) , k . gzhead . hcrc && ( b . adler = H ( b . adler , k . pending _buf , k . pending , 0 ) ) , k . gzindex = 0 , k . status = 69 ) : ( l ( k , 0 ) , l ( k , 0 ) , l ( k , 0 ) , l ( k , 0 ) , l ( k , 0 ) , l ( k , 9 === k . level ? 2 : 2 <= k . strategy || 2 > k . level ? 4 : 0 ) , l ( k , 3 ) , k . status = Y ) ) : ( f = V + ( k . w _bits - 8 << 4 ) << 8 , f |=
( 2 <= k . strategy || 2 > k . level ? 0 : 6 > k . level ? 1 : 6 === k . level ? 2 : 3 ) << 6 , 0 !== k . strstart && ( f |= 32 ) , k . status = Y , h ( k , f + ( 31 - f % 31 ) ) , 0 !== k . strstart && ( h ( k , b . adler >>> 16 ) , h ( k , 65535 & b . adler ) ) , b . adler = 1 ) ; if ( 69 === k . status ) if ( k . gzhead . extra ) { for ( f = k . pending ; k . gzindex < ( 65535 & k . gzhead . extra . length ) && ( k . pending !== k . pending _buf _size || ( k . gzhead . hcrc && k . pending > f && ( b . adler = H ( b . adler , k . pending _buf , k . pending - f , f ) ) , c ( b ) , f = k . pending , k . pending !== k . pending _buf _size ) ) ; ) l ( k , 255 & k . gzhead . extra [ k . gzindex ] ) , k . gzindex ++ ; k . gzhead . hcrc && k . pending >
f && ( b . adler = H ( b . adler , k . pending _buf , k . pending - f , f ) ) ; k . gzindex === k . gzhead . extra . length && ( k . gzindex = 0 , k . status = 73 ) } else k . status = 73 ; if ( 73 === k . status ) if ( k . gzhead . name ) { f = k . pending ; do { if ( k . pending === k . pending _buf _size && ( k . gzhead . hcrc && k . pending > f && ( b . adler = H ( b . adler , k . pending _buf , k . pending - f , f ) ) , c ( b ) , f = k . pending , k . pending === k . pending _buf _size ) ) { u = 1 ; break } u = k . gzindex < k . gzhead . name . length ? 255 & k . gzhead . name . charCodeAt ( k . gzindex ++ ) : 0 ; l ( k , u ) } while ( 0 !== u ) ; k . gzhead . hcrc && k . pending > f && ( b . adler = H ( b . adler , k . pending _buf ,
k . pending - f , f ) ) ; 0 === u && ( k . gzindex = 0 , k . status = 91 ) } else k . status = 91 ; if ( 91 === k . status ) if ( k . gzhead . comment ) { f = k . pending ; do { if ( k . pending === k . pending _buf _size && ( k . gzhead . hcrc && k . pending > f && ( b . adler = H ( b . adler , k . pending _buf , k . pending - f , f ) ) , c ( b ) , f = k . pending , k . pending === k . pending _buf _size ) ) { u = 1 ; break } u = k . gzindex < k . gzhead . comment . length ? 255 & k . gzhead . comment . charCodeAt ( k . gzindex ++ ) : 0 ; l ( k , u ) } while ( 0 !== u ) ; k . gzhead . hcrc && k . pending > f && ( b . adler = H ( b . adler , k . pending _buf , k . pending - f , f ) ) ; 0 === u && ( k . status = 103 ) } else k . status =
103 ; if ( 103 === k . status && ( k . gzhead . hcrc ? ( k . pending + 2 > k . pending _buf _size && c ( b ) , k . pending + 2 <= k . pending _buf _size && ( l ( k , 255 & b . adler ) , l ( k , b . adler >> 8 & 255 ) , b . adler = 0 , k . status = Y ) ) : k . status = Y ) , 0 !== k . pending ) { if ( c ( b ) , 0 === b . avail _out ) return k . last _flush = - 1 , S } else if ( 0 === b . avail _in && ( d << 1 ) - ( 4 < d ? 9 : 0 ) <= ( J << 1 ) - ( 4 < J ? 9 : 0 ) && d !== v ) return a ( b , - 5 ) ; if ( 666 === k . status && 0 !== b . avail _in ) return a ( b , - 5 ) ; if ( 0 !== b . avail _in || 0 !== k . lookahead || d !== I && 666 !== k . status ) { var D ; if ( 2 === k . strategy ) a : { for ( var n ; ; ) { if ( 0 === k . lookahead && ( q ( k ) ,
0 === k . lookahead ) ) { if ( d === I ) { D = M ; break a } break } if ( k . match _length = 0 , n = m . _tr _tally ( k , 0 , k . window [ k . strstart ] ) , k . lookahead -- , k . strstart ++ , n && ( g ( k , ! 1 ) , 0 === k . strm . avail _out ) ) { D = M ; break a } } D = ( k . insert = 0 , d === v ? ( g ( k , ! 0 ) , 0 === k . strm . avail _out ? W : R ) : k . last _lit && ( g ( k , ! 1 ) , 0 === k . strm . avail _out ) ? M : U ) } else if ( 3 === k . strategy ) a : { var r , F ; for ( n = k . window ; ; ) { if ( k . lookahead <= K ) { if ( q ( k ) , k . lookahead <= K && d === I ) { D = M ; break a } if ( 0 === k . lookahead ) break } if ( k . match _length = 0 , k . lookahead >= C && 0 < k . strstart && ( F = k . strstart - 1 , r = n [ F ] , r === n [ ++ F ] &&
r === n [ ++ F ] && r === n [ ++ F ] ) ) { for ( J = k . strstart + K ; r === n [ ++ F ] && r === n [ ++ F ] && r === n [ ++ F ] && r === n [ ++ F ] && r === n [ ++ F ] && r === n [ ++ F ] && r === n [ ++ F ] && r === n [ ++ F ] && F < J ; ) ; k . match _length = K - ( J - F ) ; k . match _length > k . lookahead && ( k . match _length = k . lookahead ) } if ( k . match _length >= C ? ( D = m . _tr _tally ( k , 1 , k . match _length - C ) , k . lookahead -= k . match _length , k . strstart += k . match _length , k . match _length = 0 ) : ( D = m . _tr _tally ( k , 0 , k . window [ k . strstart ] ) , k . lookahead -- , k . strstart ++ ) , D && ( g ( k , ! 1 ) , 0 === k . strm . avail _out ) ) { D = M ; break a } } D = ( k . insert = 0 , d === v ? ( g ( k , ! 0 ) ,
0 === k . strm . avail _out ? W : R ) : k . last _lit && ( g ( k , ! 1 ) , 0 === k . strm . avail _out ) ? M : U ) } else D = p [ k . level ] . func ( k , d ) ; if ( D !== W && D !== R || ( k . status = 666 ) , D === M || D === W ) return 0 === b . avail _out && ( k . last _flush = - 1 ) , S ; if ( D === U && ( 1 === d ? m . _tr _align ( k ) : 5 !== d && ( m . _tr _stored _block ( k , 0 , 0 , ! 1 ) , 3 === d && ( e ( k . head ) , 0 === k . lookahead && ( k . strstart = 0 , k . block _start = 0 , k . insert = 0 ) ) ) , c ( b ) , 0 === b . avail _out ) ) return k . last _flush = - 1 , S } return d !== v ? S : 0 >= k . wrap ? 1 : ( 2 === k . wrap ? ( l ( k , 255 & b . adler ) , l ( k , b . adler >> 8 & 255 ) , l ( k , b . adler >> 16 & 255 ) , l ( k , b . adler >> 24 & 255 ) ,
l ( k , 255 & b . total _in ) , l ( k , b . total _in >> 8 & 255 ) , l ( k , b . total _in >> 16 & 255 ) , l ( k , b . total _in >> 24 & 255 ) ) : ( h ( k , b . adler >>> 16 ) , h ( k , 65535 & b . adler ) ) , c ( b ) , 0 < k . wrap && ( k . wrap = - k . wrap ) , 0 !== k . pending ? S : 1 ) } ; d . deflateEnd = function ( b ) { var d ; return b && b . state ? ( d = b . state . status , d !== Z && 69 !== d && 73 !== d && 91 !== d && 103 !== d && d !== Y && 666 !== d ? a ( b , N ) : ( b . state = null , d === Y ? a ( b , - 3 ) : S ) ) : N } ; d . deflateSetDictionary = function ( a , b ) { var d , c , v , f , u , g , p ; c = b . length ; if ( ! a || ! a . state || ( d = a . state , f = d . wrap , 2 === f || 1 === f && d . status !== Z || d . lookahead ) ) return N ; 1 ===
f && ( a . adler = O ( a . adler , b , c , 0 ) ) ; d . wrap = 0 ; c >= d . w _size && ( 0 === f && ( e ( d . head ) , d . strstart = 0 , d . block _start = 0 , d . insert = 0 ) , u = new D . Buf8 ( d . w _size ) , D . arraySet ( u , b , c - d . w _size , d . w _size , 0 ) , b = u , c = d . w _size ) ; u = a . avail _in ; g = a . next _in ; p = a . input ; a . avail _in = c ; a . next _in = 0 ; a . input = b ; for ( q ( d ) ; d . lookahead >= C ; ) { c = d . strstart ; v = d . lookahead - ( C - 1 ) ; do d . ins _h = ( d . ins _h << d . hash _shift ^ d . window [ c + C - 1 ] ) & d . hash _mask , d . prev [ c & d . w _mask ] = d . head [ d . ins _h ] , d . head [ d . ins _h ] = c , c ++ ; while ( -- v ) ; d . strstart = c ; d . lookahead = C - 1 ; q ( d ) } return d . strstart +=
d . lookahead , d . block _start = d . strstart , d . insert = d . lookahead , d . lookahead = 0 , d . match _length = d . prev _length = C - 1 , d . match _available = 0 , a . next _in = g , a . input = p , a . avail _in = u , d . wrap = f , S } ; d . deflateInfo = "pako deflate (from Nodeca project)" } , { "../utils/common" : 62 , "./adler32" : 64 , "./crc32" : 66 , "./messages" : 72 , "./trees" : 73 } ] , 68 : [ function ( b , f , d ) { f . exports = function ( ) { this . os = this . xflags = this . time = this . text = 0 ; this . extra = null ; this . extra _len = 0 ; this . comment = this . name = "" ; this . hcrc = 0 ; this . done = ! 1 } } , { } ] , 69 : [ function ( b , f , d ) { f . exports =
function ( a , b ) { var d , e , f , h , n , q , t , A , B , G , z , x , y , p , D , m , O , H , u , I , v , S , N , F ; d = a . state ; e = a . next _in ; N = a . input ; f = e + ( a . avail _in - 5 ) ; h = a . next _out ; F = a . output ; n = h - ( b - a . avail _out ) ; q = h + ( a . avail _out - 257 ) ; t = d . dmax ; A = d . wsize ; B = d . whave ; G = d . wnext ; z = d . window ; x = d . hold ; y = d . bits ; p = d . lencode ; D = d . distcode ; m = ( 1 << d . lenbits ) - 1 ; O = ( 1 << d . distbits ) - 1 ; a : do b : for ( 15 > y && ( x += N [ e ++ ] << y , y += 8 , x += N [ e ++ ] << y , y += 8 ) , H = p [ x & m ] ; ; ) { if ( u = H >>> 24 , x >>>= u , y -= u , u = H >>> 16 & 255 , 0 === u ) F [ h ++ ] = 65535 & H ; else { if ( ! ( 16 & u ) ) { if ( 0 === ( 64 & u ) ) { H = p [ ( 65535 & H ) + ( x & ( 1 << u ) - 1 ) ] ; continue b } if ( 32 &
u ) { d . mode = 12 ; break a } a . msg = "invalid literal/length code" ; d . mode = 30 ; break a } I = 65535 & H ; ( u &= 15 ) && ( y < u && ( x += N [ e ++ ] << y , y += 8 ) , I += x & ( 1 << u ) - 1 , x >>>= u , y -= u ) ; 15 > y && ( x += N [ e ++ ] << y , y += 8 , x += N [ e ++ ] << y , y += 8 ) ; H = D [ x & O ] ; c : for ( ; ; ) { if ( u = H >>> 24 , x >>>= u , y -= u , u = H >>> 16 & 255 , ! ( 16 & u ) ) { if ( 0 === ( 64 & u ) ) { H = D [ ( 65535 & H ) + ( x & ( 1 << u ) - 1 ) ] ; continue c } a . msg = "invalid distance code" ; d . mode = 30 ; break a } if ( v = 65535 & H , u &= 15 , y < u && ( x += N [ e ++ ] << y , y += 8 , y < u && ( x += N [ e ++ ] << y , y += 8 ) ) , v += x & ( 1 << u ) - 1 , v > t ) { a . msg = "invalid distance too far back" ; d . mode = 30 ; break a } if ( x >>>=
u , y -= u , u = h - n , v > u ) { if ( u = v - u , u > B && d . sane ) { a . msg = "invalid distance too far back" ; d . mode = 30 ; break a } if ( H = 0 , S = z , 0 === G ) { if ( H += A - u , u < I ) { I -= u ; do F [ h ++ ] = z [ H ++ ] ; while ( -- u ) ; H = h - v ; S = F } } else if ( G < u ) { if ( H += A + G - u , u -= G , u < I ) { I -= u ; do F [ h ++ ] = z [ H ++ ] ; while ( -- u ) ; if ( H = 0 , G < I ) { u = G ; I -= u ; do F [ h ++ ] = z [ H ++ ] ; while ( -- u ) ; H = h - v ; S = F } } } else if ( H += G - u , u < I ) { I -= u ; do F [ h ++ ] = z [ H ++ ] ; while ( -- u ) ; H = h - v ; S = F } for ( ; 2 < I ; ) F [ h ++ ] = S [ H ++ ] , F [ h ++ ] = S [ H ++ ] , F [ h ++ ] = S [ H ++ ] , I -= 3 ; I && ( F [ h ++ ] = S [ H ++ ] , 1 < I && ( F [ h ++ ] = S [ H ++ ] ) ) } else { H = h - v ; do F [ h ++ ] = F [ H ++ ] , F [ h ++ ] = F [ H ++ ] ,
F [ h ++ ] = F [ H ++ ] , I -= 3 ; while ( 2 < I ) ; I && ( F [ h ++ ] = F [ H ++ ] , 1 < I && ( F [ h ++ ] = F [ H ++ ] ) ) } break } } break } while ( e < f && h < q ) ; I = y >> 3 ; e -= I ; y -= I << 3 ; a . next _in = e ; a . next _out = h ; a . avail _in = e < f ? 5 + ( f - e ) : 5 - ( e - f ) ; a . avail _out = h < q ? 257 + ( q - h ) : 257 - ( h - q ) ; d . hold = x & ( 1 << y ) - 1 ; d . bits = y } } , { } ] , 70 : [ function ( b , f , d ) { function a ( a ) { return ( a >>> 24 & 255 ) + ( a >>> 8 & 65280 ) + ( ( 65280 & a ) << 8 ) + ( ( 255 & a ) << 24 ) } function e ( ) { this . mode = 0 ; this . last = ! 1 ; this . wrap = 0 ; this . havedict = ! 1 ; this . total = this . check = this . dmax = this . flags = 0 ; this . head = null ; this . wnext = this . whave = this . wsize = this . wbits =
0 ; this . window = null ; this . extra = this . offset = this . length = this . bits = this . hold = 0 ; this . distcode = this . lencode = null ; this . have = this . ndist = this . nlen = this . ncode = this . distbits = this . lenbits = 0 ; this . next = null ; this . lens = new A . Buf16 ( 320 ) ; this . work = new A . Buf16 ( 288 ) ; this . distdyn = this . lendyn = null ; this . was = this . back = this . sane = 0 } function c ( a ) { var b ; return a && a . state ? ( b = a . state , a . total _in = a . total _out = b . total = 0 , a . msg = "" , b . wrap && ( a . adler = 1 & b . wrap ) , b . mode = D , b . last = 0 , b . havedict = 0 , b . dmax = 32768 , b . head = null , b . hold = 0 , b . bits = 0 ,
b . lencode = b . lendyn = new A . Buf32 ( m ) , b . distcode = b . distdyn = new A . Buf32 ( O ) , b . sane = 1 , b . back = - 1 , y ) : p } function g ( a ) { var b ; return a && a . state ? ( b = a . state , b . wsize = 0 , b . whave = 0 , b . wnext = 0 , c ( a ) ) : p } function l ( a , b ) { var d , c ; return a && a . state ? ( c = a . state , 0 > b ? ( d = 0 , b = - b ) : ( d = ( b >> 4 ) + 1 , 48 > b && ( b &= 15 ) ) , b && ( 8 > b || 15 < b ) ? p : ( null !== c . window && c . wbits !== b && ( c . window = null ) , c . wrap = d , c . wbits = b , g ( a ) ) ) : p } function h ( a , b ) { var d , c ; return a ? ( c = new e , a . state = c , c . window = null , d = l ( a , b ) , d !== y && ( a . state = null ) , d ) : p } function n ( a , b , d , c ) { var e ; a = a . state ;
return null === a . window && ( a . wsize = 1 << a . wbits , a . wnext = 0 , a . whave = 0 , a . window = new A . Buf8 ( a . wsize ) ) , c >= a . wsize ? ( A . arraySet ( a . window , b , d - a . wsize , a . wsize , 0 ) , a . wnext = 0 , a . whave = a . wsize ) : ( e = a . wsize - a . wnext , e > c && ( e = c ) , A . arraySet ( a . window , b , d - c , e , a . wnext ) , c -= e , c ? ( A . arraySet ( a . window , b , d - c , c , 0 ) , a . wnext = c , a . whave = a . wsize ) : ( a . wnext += e , a . wnext === a . wsize && ( a . wnext = 0 ) , a . whave < a . wsize && ( a . whave += e ) ) ) , 0 } var q , t , A = b ( "../utils/common" ) , B = b ( "./adler32" ) , G = b ( "./crc32" ) , z = b ( "./inffast" ) , x = b ( "./inftrees" ) , y = 0 , p = - 2 , D = 1 , m = 852 ,
O = 592 , H = ! 0 ; d . inflateReset = g ; d . inflateReset2 = l ; d . inflateResetKeep = c ; d . inflateInit = function ( a ) { return h ( a , 15 ) } ; d . inflateInit2 = h ; d . inflate = function ( b , d ) { var c , e , f , g , l , h , u , m , r , I , O , E , ba , L , C , K , Q , Z , Y , M , U , W , R = 0 , P = new A . Buf8 ( 4 ) , ea = [ 16 , 17 , 18 , 0 , 8 , 7 , 9 , 6 , 10 , 5 , 11 , 4 , 12 , 3 , 13 , 2 , 14 , 1 , 15 ] ; if ( ! b || ! b . state || ! b . output || ! b . input && 0 !== b . avail _in ) return p ; c = b . state ; 12 === c . mode && ( c . mode = 13 ) ; l = b . next _out ; f = b . output ; u = b . avail _out ; g = b . next _in ; e = b . input ; h = b . avail _in ; m = c . hold ; r = c . bits ; I = h ; O = u ; U = y ; a : for ( ; ; ) switch ( c . mode ) { case D : if ( 0 ===
c . wrap ) { c . mode = 13 ; break } for ( ; 16 > r ; ) { if ( 0 === h ) break a ; h -- ; m += e [ g ++ ] << r ; r += 8 } if ( 2 & c . wrap && 35615 === m ) { c . check = 0 ; P [ 0 ] = 255 & m ; P [ 1 ] = m >>> 8 & 255 ; c . check = G ( c . check , P , 2 , 0 ) ; r = m = 0 ; c . mode = 2 ; break } if ( c . flags = 0 , c . head && ( c . head . done = ! 1 ) , ! ( 1 & c . wrap ) || ( ( ( 255 & m ) << 8 ) + ( m >> 8 ) ) % 31 ) { b . msg = "incorrect header check" ; c . mode = 30 ; break } if ( 8 !== ( 15 & m ) ) { b . msg = "unknown compression method" ; c . mode = 30 ; break } if ( m >>>= 4 , r -= 4 , M = ( 15 & m ) + 8 , 0 === c . wbits ) c . wbits = M ; else if ( M > c . wbits ) { b . msg = "invalid window size" ; c . mode = 30 ; break } c . dmax = 1 << M ; b . adler =
c . check = 1 ; c . mode = 512 & m ? 10 : 12 ; r = m = 0 ; break ; case 2 : for ( ; 16 > r ; ) { if ( 0 === h ) break a ; h -- ; m += e [ g ++ ] << r ; r += 8 } if ( c . flags = m , 8 !== ( 255 & c . flags ) ) { b . msg = "unknown compression method" ; c . mode = 30 ; break } if ( 57344 & c . flags ) { b . msg = "unknown header flags set" ; c . mode = 30 ; break } c . head && ( c . head . text = m >> 8 & 1 ) ; 512 & c . flags && ( P [ 0 ] = 255 & m , P [ 1 ] = m >>> 8 & 255 , c . check = G ( c . check , P , 2 , 0 ) ) ; r = m = 0 ; c . mode = 3 ; case 3 : for ( ; 32 > r ; ) { if ( 0 === h ) break a ; h -- ; m += e [ g ++ ] << r ; r += 8 } c . head && ( c . head . time = m ) ; 512 & c . flags && ( P [ 0 ] = 255 & m , P [ 1 ] = m >>> 8 & 255 , P [ 2 ] = m >>> 16 & 255 , P [ 3 ] =
m >>> 24 & 255 , c . check = G ( c . check , P , 4 , 0 ) ) ; r = m = 0 ; c . mode = 4 ; case 4 : for ( ; 16 > r ; ) { if ( 0 === h ) break a ; h -- ; m += e [ g ++ ] << r ; r += 8 } c . head && ( c . head . xflags = 255 & m , c . head . os = m >> 8 ) ; 512 & c . flags && ( P [ 0 ] = 255 & m , P [ 1 ] = m >>> 8 & 255 , c . check = G ( c . check , P , 2 , 0 ) ) ; r = m = 0 ; c . mode = 5 ; case 5 : if ( 1024 & c . flags ) { for ( ; 16 > r ; ) { if ( 0 === h ) break a ; h -- ; m += e [ g ++ ] << r ; r += 8 } c . length = m ; c . head && ( c . head . extra _len = m ) ; 512 & c . flags && ( P [ 0 ] = 255 & m , P [ 1 ] = m >>> 8 & 255 , c . check = G ( c . check , P , 2 , 0 ) ) ; r = m = 0 } else c . head && ( c . head . extra = null ) ; c . mode = 6 ; case 6 : if ( 1024 & c . flags && ( E = c . length ,
E > h && ( E = h ) , E && ( c . head && ( M = c . head . extra _len - c . length , c . head . extra || ( c . head . extra = Array ( c . head . extra _len ) ) , A . arraySet ( c . head . extra , e , g , E , M ) ) , 512 & c . flags && ( c . check = G ( c . check , e , E , g ) ) , h -= E , g += E , c . length -= E ) , c . length ) ) break a ; c . length = 0 ; c . mode = 7 ; case 7 : if ( 2048 & c . flags ) { if ( 0 === h ) break a ; E = 0 ; do M = e [ g + E ++ ] , c . head && M && 65536 > c . length && ( c . head . name += String . fromCharCode ( M ) ) ; while ( M && E < h ) ; if ( 512 & c . flags && ( c . check = G ( c . check , e , E , g ) ) , h -= E , g += E , M ) break a } else c . head && ( c . head . name = null ) ; c . length = 0 ; c . mode = 8 ; case 8 : if ( 4096 &
c . flags ) { if ( 0 === h ) break a ; E = 0 ; do M = e [ g + E ++ ] , c . head && M && 65536 > c . length && ( c . head . comment += String . fromCharCode ( M ) ) ; while ( M && E < h ) ; if ( 512 & c . flags && ( c . check = G ( c . check , e , E , g ) ) , h -= E , g += E , M ) break a } else c . head && ( c . head . comment = null ) ; c . mode = 9 ; case 9 : if ( 512 & c . flags ) { for ( ; 16 > r ; ) { if ( 0 === h ) break a ; h -- ; m += e [ g ++ ] << r ; r += 8 } if ( m !== ( 65535 & c . check ) ) { b . msg = "header crc mismatch" ; c . mode = 30 ; break } r = m = 0 } c . head && ( c . head . hcrc = c . flags >> 9 & 1 , c . head . done = ! 0 ) ; b . adler = c . check = 0 ; c . mode = 12 ; break ; case 10 : for ( ; 32 > r ; ) { if ( 0 === h ) break a ;
h -- ; m += e [ g ++ ] << r ; r += 8 } b . adler = c . check = a ( m ) ; r = m = 0 ; c . mode = 11 ; case 11 : if ( 0 === c . havedict ) return b . next _out = l , b . avail _out = u , b . next _in = g , b . avail _in = h , c . hold = m , c . bits = r , 2 ; b . adler = c . check = 1 ; c . mode = 12 ; case 12 : if ( 5 === d || 6 === d ) break a ; case 13 : if ( c . last ) { m >>>= 7 & r ; r -= 7 & r ; c . mode = 27 ; break } for ( ; 3 > r ; ) { if ( 0 === h ) break a ; h -- ; m += e [ g ++ ] << r ; r += 8 } switch ( c . last = 1 & m , m >>>= 1 , -- r , 3 & m ) { case 0 : c . mode = 14 ; break ; case 1 : K = c ; if ( H ) { q = new A . Buf32 ( 512 ) ; t = new A . Buf32 ( 32 ) ; for ( L = 0 ; 144 > L ; ) K . lens [ L ++ ] = 8 ; for ( ; 256 > L ; ) K . lens [ L ++ ] = 9 ; for ( ; 280 > L ; ) K . lens [ L ++ ] =
7 ; for ( ; 288 > L ; ) K . lens [ L ++ ] = 8 ; x ( 1 , K . lens , 0 , 288 , q , 0 , K . work , { bits : 9 } ) ; for ( L = 0 ; 32 > L ; ) K . lens [ L ++ ] = 5 ; x ( 2 , K . lens , 0 , 32 , t , 0 , K . work , { bits : 5 } ) ; H = ! 1 } K . lencode = q ; K . lenbits = 9 ; K . distcode = t ; K . distbits = 5 ; if ( c . mode = 20 , 6 === d ) { m >>>= 2 ; r -= 2 ; break a } break ; case 2 : c . mode = 17 ; break ; case 3 : b . msg = "invalid block type" , c . mode = 30 } m >>>= 2 ; r -= 2 ; break ; case 14 : m >>>= 7 & r ; for ( r -= 7 & r ; 32 > r ; ) { if ( 0 === h ) break a ; h -- ; m += e [ g ++ ] << r ; r += 8 } if ( ( 65535 & m ) !== ( m >>> 16 ^ 65535 ) ) { b . msg = "invalid stored block lengths" ; c . mode = 30 ; break } if ( c . length = 65535 & m , m = 0 , r =
0 , c . mode = 15 , 6 === d ) break a ; case 15 : c . mode = 16 ; case 16 : if ( E = c . length ) { if ( E > h && ( E = h ) , E > u && ( E = u ) , 0 === E ) break a ; A . arraySet ( f , e , g , E , l ) ; h -= E ; g += E ; u -= E ; l += E ; c . length -= E ; break } c . mode = 12 ; break ; case 17 : for ( ; 14 > r ; ) { if ( 0 === h ) break a ; h -- ; m += e [ g ++ ] << r ; r += 8 } if ( c . nlen = ( 31 & m ) + 257 , m >>>= 5 , r -= 5 , c . ndist = ( 31 & m ) + 1 , m >>>= 5 , r -= 5 , c . ncode = ( 15 & m ) + 4 , m >>>= 4 , r -= 4 , 286 < c . nlen || 30 < c . ndist ) { b . msg = "too many length or distance symbols" ; c . mode = 30 ; break } c . have = 0 ; c . mode = 18 ; case 18 : for ( ; c . have < c . ncode ; ) { for ( ; 3 > r ; ) { if ( 0 === h ) break a ; h -- ; m += e [ g ++ ] <<
r ; r += 8 } c . lens [ ea [ c . have ++ ] ] = 7 & m ; m >>>= 3 ; r -= 3 } for ( ; 19 > c . have ; ) c . lens [ ea [ c . have ++ ] ] = 0 ; if ( c . lencode = c . lendyn , c . lenbits = 7 , W = { bits : c . lenbits } , U = x ( 0 , c . lens , 0 , 19 , c . lencode , 0 , c . work , W ) , c . lenbits = W . bits , U ) { b . msg = "invalid code lengths set" ; c . mode = 30 ; break } c . have = 0 ; c . mode = 19 ; case 19 : for ( ; c . have < c . nlen + c . ndist ; ) { for ( ; R = c . lencode [ m & ( 1 << c . lenbits ) - 1 ] , C = R >>> 24 , K = 65535 & R , ! ( C <= r ) ; ) { if ( 0 === h ) break a ; h -- ; m += e [ g ++ ] << r ; r += 8 } if ( 16 > K ) m >>>= C , r -= C , c . lens [ c . have ++ ] = K ; else { if ( 16 === K ) { for ( L = C + 2 ; r < L ; ) { if ( 0 === h ) break a ; h -- ; m +=
e [ g ++ ] << r ; r += 8 } if ( m >>>= C , r -= C , 0 === c . have ) { b . msg = "invalid bit length repeat" ; c . mode = 30 ; break } M = c . lens [ c . have - 1 ] ; E = 3 + ( 3 & m ) ; m >>>= 2 ; r -= 2 } else if ( 17 === K ) { for ( L = C + 3 ; r < L ; ) { if ( 0 === h ) break a ; h -- ; m += e [ g ++ ] << r ; r += 8 } m >>>= C ; r -= C ; M = 0 ; E = 3 + ( 7 & m ) ; m >>>= 3 ; r -= 3 } else { for ( L = C + 7 ; r < L ; ) { if ( 0 === h ) break a ; h -- ; m += e [ g ++ ] << r ; r += 8 } m >>>= C ; r -= C ; M = 0 ; E = 11 + ( 127 & m ) ; m >>>= 7 ; r -= 7 } if ( c . have + E > c . nlen + c . ndist ) { b . msg = "invalid bit length repeat" ; c . mode = 30 ; break } for ( ; E -- ; ) c . lens [ c . have ++ ] = M } } if ( 30 === c . mode ) break ; if ( 0 === c . lens [ 256 ] ) { b . msg = "invalid code -- missing end-of-block" ;
c . mode = 30 ; break } if ( c . lenbits = 9 , W = { bits : c . lenbits } , U = x ( 1 , c . lens , 0 , c . nlen , c . lencode , 0 , c . work , W ) , c . lenbits = W . bits , U ) { b . msg = "invalid literal/lengths set" ; c . mode = 30 ; break } if ( c . distbits = 6 , c . distcode = c . distdyn , W = { bits : c . distbits } , U = x ( 2 , c . lens , c . nlen , c . ndist , c . distcode , 0 , c . work , W ) , c . distbits = W . bits , U ) { b . msg = "invalid distances set" ; c . mode = 30 ; break } if ( c . mode = 20 , 6 === d ) break a ; case 20 : c . mode = 21 ; case 21 : if ( 6 <= h && 258 <= u ) { b . next _out = l ; b . avail _out = u ; b . next _in = g ; b . avail _in = h ; c . hold = m ; c . bits = r ; z ( b , O ) ; l = b . next _out ;
f = b . output ; u = b . avail _out ; g = b . next _in ; e = b . input ; h = b . avail _in ; m = c . hold ; r = c . bits ; 12 === c . mode && ( c . back = - 1 ) ; break } for ( c . back = 0 ; R = c . lencode [ m & ( 1 << c . lenbits ) - 1 ] , C = R >>> 24 , L = R >>> 16 & 255 , K = 65535 & R , ! ( C <= r ) ; ) { if ( 0 === h ) break a ; h -- ; m += e [ g ++ ] << r ; r += 8 } if ( L && 0 === ( 240 & L ) ) { Q = C ; Z = L ; for ( Y = K ; R = c . lencode [ Y + ( ( m & ( 1 << Q + Z ) - 1 ) >> Q ) ] , C = R >>> 24 , L = R >>> 16 & 255 , K = 65535 & R , ! ( Q + C <= r ) ; ) { if ( 0 === h ) break a ; h -- ; m += e [ g ++ ] << r ; r += 8 } m >>>= Q ; r -= Q ; c . back += Q } if ( m >>>= C , r -= C , c . back += C , c . length = K , 0 === L ) { c . mode = 26 ; break } if ( 32 & L ) { c . back = - 1 ; c . mode = 12 ; break } if ( 64 &
L ) { b . msg = "invalid literal/length code" ; c . mode = 30 ; break } c . extra = 15 & L ; c . mode = 22 ; case 22 : if ( c . extra ) { for ( L = c . extra ; r < L ; ) { if ( 0 === h ) break a ; h -- ; m += e [ g ++ ] << r ; r += 8 } c . length += m & ( 1 << c . extra ) - 1 ; m >>>= c . extra ; r -= c . extra ; c . back += c . extra } c . was = c . length ; c . mode = 23 ; case 23 : for ( ; R = c . distcode [ m & ( 1 << c . distbits ) - 1 ] , C = R >>> 24 , L = R >>> 16 & 255 , K = 65535 & R , ! ( C <= r ) ; ) { if ( 0 === h ) break a ; h -- ; m += e [ g ++ ] << r ; r += 8 } if ( 0 === ( 240 & L ) ) { Q = C ; Z = L ; for ( Y = K ; R = c . distcode [ Y + ( ( m & ( 1 << Q + Z ) - 1 ) >> Q ) ] , C = R >>> 24 , L = R >>> 16 & 255 , K = 65535 & R , ! ( Q + C <= r ) ; ) { if ( 0 === h ) break a ;
h -- ; m += e [ g ++ ] << r ; r += 8 } m >>>= Q ; r -= Q ; c . back += Q } if ( m >>>= C , r -= C , c . back += C , 64 & L ) { b . msg = "invalid distance code" ; c . mode = 30 ; break } c . offset = K ; c . extra = 15 & L ; c . mode = 24 ; case 24 : if ( c . extra ) { for ( L = c . extra ; r < L ; ) { if ( 0 === h ) break a ; h -- ; m += e [ g ++ ] << r ; r += 8 } c . offset += m & ( 1 << c . extra ) - 1 ; m >>>= c . extra ; r -= c . extra ; c . back += c . extra } if ( c . offset > c . dmax ) { b . msg = "invalid distance too far back" ; c . mode = 30 ; break } c . mode = 25 ; case 25 : if ( 0 === u ) break a ; if ( E = O - u , c . offset > E ) { if ( E = c . offset - E , E > c . whave && c . sane ) { b . msg = "invalid distance too far back" ;
c . mode = 30 ; break } E > c . wnext ? ( E -= c . wnext , ba = c . wsize - E ) : ba = c . wnext - E ; E > c . length && ( E = c . length ) ; L = c . window } else L = f , ba = l - c . offset , E = c . length ; E > u && ( E = u ) ; u -= E ; c . length -= E ; do f [ l ++ ] = L [ ba ++ ] ; while ( -- E ) ; 0 === c . length && ( c . mode = 21 ) ; break ; case 26 : if ( 0 === u ) break a ; f [ l ++ ] = c . length ; u -- ; c . mode = 21 ; break ; case 27 : if ( c . wrap ) { for ( ; 32 > r ; ) { if ( 0 === h ) break a ; h -- ; m |= e [ g ++ ] << r ; r += 8 } if ( O -= u , b . total _out += O , c . total += O , O && ( b . adler = c . check = c . flags ? G ( c . check , f , O , l - O ) : B ( c . check , f , O , l - O ) ) , O = u , ( c . flags ? m : a ( m ) ) !== c . check ) { b . msg = "incorrect data check" ;
c . mode = 30 ; break } r = m = 0 } c . mode = 28 ; case 28 : if ( c . wrap && c . flags ) { for ( ; 32 > r ; ) { if ( 0 === h ) break a ; h -- ; m += e [ g ++ ] << r ; r += 8 } if ( m !== ( 4294967295 & c . total ) ) { b . msg = "incorrect length check" ; c . mode = 30 ; break } r = m = 0 } c . mode = 29 ; case 29 : U = 1 ; break a ; case 30 : U = - 3 ; break a ; case 31 : return - 4 ; default : return p } return b . next _out = l , b . avail _out = u , b . next _in = g , b . avail _in = h , c . hold = m , c . bits = r , ( c . wsize || O !== b . avail _out && 30 > c . mode && ( 27 > c . mode || 4 !== d ) ) && n ( b , b . output , b . next _out , O - b . avail _out ) ? ( c . mode = 31 , - 4 ) : ( I -= b . avail _in , O -= b . avail _out , b . total _in +=
I , b . total _out += O , c . total += O , c . wrap && O && ( b . adler = c . check = c . flags ? G ( c . check , f , O , b . next _out - O ) : B ( c . check , f , O , b . next _out - O ) ) , b . data _type = c . bits + ( c . last ? 64 : 0 ) + ( 12 === c . mode ? 128 : 0 ) + ( 20 === c . mode || 15 === c . mode ? 256 : 0 ) , ( 0 === I && 0 === O || 4 === d ) && U === y && ( U = - 5 ) , U ) } ; d . inflateEnd = function ( a ) { if ( ! a || ! a . state ) return p ; var b = a . state ; return b . window && ( b . window = null ) , a . state = null , y } ; d . inflateGetHeader = function ( a , b ) { var c ; return a && a . state ? ( c = a . state , 0 === ( 2 & c . wrap ) ? p : ( c . head = b , b . done = ! 1 , y ) ) : p } ; d . inflateSetDictionary = function ( a ,
b ) { var c , d , e = b . length ; return a && a . state ? ( c = a . state , 0 !== c . wrap && 11 !== c . mode ? p : 11 === c . mode && ( d = 1 , d = B ( d , b , e , 0 ) , d !== c . check ) ? - 3 : n ( a , b , e , e ) ? ( c . mode = 31 , - 4 ) : ( c . havedict = 1 , y ) ) : p } ; d . inflateInfo = "pako inflate (from Nodeca project)" } , { "../utils/common" : 62 , "./adler32" : 64 , "./crc32" : 66 , "./inffast" : 69 , "./inftrees" : 71 } ] , 71 : [ function ( b , f , d ) { var a = b ( "../utils/common" ) , e = [ 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 13 , 15 , 17 , 19 , 23 , 27 , 31 , 35 , 43 , 51 , 59 , 67 , 83 , 99 , 115 , 131 , 163 , 195 , 227 , 258 , 0 , 0 ] , c = [ 16 , 16 , 16 , 16 , 16 , 16 , 16 , 16 , 17 , 17 , 17 , 17 , 18 , 18 , 18 , 18 , 19 ,
19 , 19 , 19 , 20 , 20 , 20 , 20 , 21 , 21 , 21 , 21 , 16 , 72 , 78 ] , g = [ 1 , 2 , 3 , 4 , 5 , 7 , 9 , 13 , 17 , 25 , 33 , 49 , 65 , 97 , 129 , 193 , 257 , 385 , 513 , 769 , 1025 , 1537 , 2049 , 3073 , 4097 , 6145 , 8193 , 12289 , 16385 , 24577 , 0 , 0 ] , l = [ 16 , 16 , 16 , 16 , 17 , 17 , 18 , 18 , 19 , 19 , 20 , 20 , 21 , 21 , 22 , 22 , 23 , 23 , 24 , 24 , 25 , 25 , 26 , 26 , 27 , 27 , 28 , 28 , 29 , 29 , 64 , 64 ] ; f . exports = function ( b , d , f , t , A , B , G , z ) { var h , n , p , D , m , O , H , u , I = z . bits , v , q , N , F , X , T , aa = 0 , V , r = null , da = 0 , ca = new a . Buf16 ( 16 ) ; D = new a . Buf16 ( 16 ) ; var E = null , ba = 0 ; for ( v = 0 ; 15 >= v ; v ++ ) ca [ v ] = 0 ; for ( q = 0 ; q < t ; q ++ ) ca [ d [ f + q ] ] ++ ; F = I ; for ( N = 15 ; 1 <= N && 0 === ca [ N ] ; N -- ) ;
if ( F > N && ( F = N ) , 0 === N ) return A [ B ++ ] = 20971520 , A [ B ++ ] = 20971520 , z . bits = 1 , 0 ; for ( I = 1 ; I < N && 0 === ca [ I ] ; I ++ ) ; F < I && ( F = I ) ; for ( v = h = 1 ; 15 >= v ; v ++ ) if ( h <<= 1 , h -= ca [ v ] , 0 > h ) return - 1 ; if ( 0 < h && ( 0 === b || 1 !== N ) ) return - 1 ; D [ 1 ] = 0 ; for ( v = 1 ; 15 > v ; v ++ ) D [ v + 1 ] = D [ v ] + ca [ v ] ; for ( q = 0 ; q < t ; q ++ ) 0 !== d [ f + q ] && ( G [ D [ d [ f + q ] ] ++ ] = q ) ; if ( 0 === b ? ( r = E = G , m = 19 ) : 1 === b ? ( r = e , da -= 257 , E = c , ba -= 257 , m = 256 ) : ( r = g , E = l , m = - 1 ) , V = 0 , q = 0 , v = I , D = B , X = F , T = 0 , p = - 1 , aa = 1 << F , t = aa - 1 , 1 === b && 852 < aa || 2 === b && 592 < aa ) return 1 ; for ( var L = 0 ; ; ) { L ++ ; O = v - T ; G [ q ] < m ? ( H = 0 , u = G [ q ] ) : G [ q ] > m ? ( H = E [ ba + G [ q ] ] ,
u = r [ da + G [ q ] ] ) : ( H = 96 , u = 0 ) ; h = 1 << v - T ; I = n = 1 << X ; do n -= h , A [ D + ( V >> T ) + n ] = O << 24 | H << 16 | u | 0 ; while ( 0 !== n ) ; for ( h = 1 << v - 1 ; V & h ; ) h >>= 1 ; if ( 0 !== h ? ( V &= h - 1 , V += h ) : V = 0 , q ++ , 0 === -- ca [ v ] ) { if ( v === N ) break ; v = d [ f + G [ q ] ] } if ( v > F && ( V & t ) !== p ) { 0 === T && ( T = F ) ; D += I ; X = v - T ; for ( h = 1 << X ; X + T < N && ( h -= ca [ X + T ] , ! ( 0 >= h ) ) ; ) X ++ , h <<= 1 ; if ( aa += 1 << X , 1 === b && 852 < aa || 2 === b && 592 < aa ) return 1 ; p = V & t ; A [ p ] = F << 24 | X << 16 | D - B | 0 } } return 0 !== V && ( A [ D + V ] = v - T << 24 | 4194304 ) , z . bits = F , 0 } } , { "../utils/common" : 62 } ] , 72 : [ function ( b , f , d ) { f . exports = { 2 : "need dictionary" , 1 : "stream end" ,
0 : "" , "-1" : "file error" , "-2" : "stream error" , "-3" : "data error" , "-4" : "insufficient memory" , "-5" : "buffer error" , "-6" : "incompatible version" } } , { } ] , 73 : [ function ( b , f , d ) { function a ( a ) { for ( var b = a . length ; 0 <= -- b ; ) a [ b ] = 0 } function e ( a , b , c , d , e ) { this . static _tree = a ; this . extra _bits = b ; this . extra _base = c ; this . elems = d ; this . max _length = e ; this . has _stree = a && a . length } function c ( a , b ) { this . dyn _tree = a ; this . max _code = 0 ; this . stat _desc = b } function g ( a , b ) { a . pending _buf [ a . pending ++ ] = 255 & b ; a . pending _buf [ a . pending ++ ] = b >>> 8 & 255 } function l ( a ,
b , c ) { a . bi _valid > aa - c ? ( a . bi _buf |= b << a . bi _valid & 65535 , g ( a , a . bi _buf ) , a . bi _buf = b >> aa - a . bi _valid , a . bi _valid += c - aa ) : ( a . bi _buf |= b << a . bi _valid & 65535 , a . bi _valid += c ) } function h ( a , b , c ) { l ( a , c [ 2 * b ] , c [ 2 * b + 1 ] ) } function n ( a , b ) { var c = 0 ; do c |= 1 & a , a >>>= 1 , c <<= 1 ; while ( 0 < -- b ) ; return c >>> 1 } function q ( a , b , c ) { var d , e = Array ( T + 1 ) , f = 0 ; for ( d = 1 ; d <= T ; d ++ ) e [ d ] = f = f + c [ d - 1 ] << 1 ; for ( c = 0 ; c <= b ; c ++ ) d = a [ 2 * c + 1 ] , 0 !== d && ( a [ 2 * c ] = n ( e [ d ] ++ , d ) ) } function t ( a ) { var b ; for ( b = 0 ; b < S ; b ++ ) a . dyn _ltree [ 2 * b ] = 0 ; for ( b = 0 ; b < N ; b ++ ) a . dyn _dtree [ 2 * b ] = 0 ; for ( b = 0 ; b <
F ; b ++ ) a . bl _tree [ 2 * b ] = 0 ; a . dyn _ltree [ 2 * V ] = 1 ; a . opt _len = a . static _len = 0 ; a . last _lit = a . matches = 0 } function A ( a ) { 8 < a . bi _valid ? g ( a , a . bi _buf ) : 0 < a . bi _valid && ( a . pending _buf [ a . pending ++ ] = a . bi _buf ) ; a . bi _buf = 0 ; a . bi _valid = 0 } function B ( a , b , c , d ) { var e = 2 * b , f = 2 * c ; return a [ e ] < a [ f ] || a [ e ] === a [ f ] && d [ b ] <= d [ c ] } function G ( a , b , c ) { for ( var d = a . heap [ c ] , e = c << 1 ; e <= a . heap _len && ( e < a . heap _len && B ( b , a . heap [ e + 1 ] , a . heap [ e ] , a . depth ) && e ++ , ! B ( b , d , a . heap [ e ] , a . depth ) ) ; ) a . heap [ c ] = a . heap [ e ] , c = e , e <<= 1 ; a . heap [ c ] = d } function z ( a , b , c ) { var d , e , f , k , g =
0 ; if ( 0 !== a . last _lit ) { do d = a . pending _buf [ a . d _buf + 2 * g ] << 8 | a . pending _buf [ a . d _buf + 2 * g + 1 ] , e = a . pending _buf [ a . l _buf + g ] , g ++ , 0 === d ? h ( a , e , b ) : ( f = Y [ e ] , h ( a , f + v + 1 , b ) , k = E [ f ] , 0 !== k && ( e -= M [ f ] , l ( a , e , k ) ) , d -- , f = 256 > d ? Z [ d ] : Z [ 256 + ( d >>> 7 ) ] , h ( a , f , c ) , k = ba [ f ] , 0 !== k && ( d -= U [ f ] , l ( a , d , k ) ) ) ; while ( g < a . last _lit ) } h ( a , V , b ) } function x ( a , b ) { var c , d , e , f = b . dyn _tree ; d = b . stat _desc . static _tree ; var k = b . stat _desc . has _stree , g = b . stat _desc . elems , m = - 1 ; a . heap _len = 0 ; a . heap _max = X ; for ( c = 0 ; c < g ; c ++ ) 0 !== f [ 2 * c ] ? ( a . heap [ ++ a . heap _len ] = m = c , a . depth [ c ] = 0 ) :
f [ 2 * c + 1 ] = 0 ; for ( ; 2 > a . heap _len ; ) e = a . heap [ ++ a . heap _len ] = 2 > m ? ++ m : 0 , f [ 2 * e ] = 1 , a . depth [ e ] = 0 , a . opt _len -- , k && ( a . static _len -= d [ 2 * e + 1 ] ) ; b . max _code = m ; for ( c = a . heap _len >> 1 ; 1 <= c ; c -- ) G ( a , f , c ) ; e = g ; do c = a . heap [ 1 ] , a . heap [ 1 ] = a . heap [ a . heap _len -- ] , G ( a , f , 1 ) , d = a . heap [ 1 ] , a . heap [ -- a . heap _max ] = c , a . heap [ -- a . heap _max ] = d , f [ 2 * e ] = f [ 2 * c ] + f [ 2 * d ] , a . depth [ e ] = ( a . depth [ c ] >= a . depth [ d ] ? a . depth [ c ] : a . depth [ d ] ) + 1 , f [ 2 * c + 1 ] = f [ 2 * d + 1 ] = e , a . heap [ 1 ] = e ++ , G ( a , f , 1 ) ; while ( 2 <= a . heap _len ) ; a . heap [ -- a . heap _max ] = a . heap [ 1 ] ; var h , p , k = b . dyn _tree , g = b . max _code ,
l = b . stat _desc . static _tree , u = b . stat _desc . has _stree , D = b . stat _desc . extra _bits , n = b . stat _desc . extra _base , J = b . stat _desc . max _length , v = 0 ; for ( d = 0 ; d <= T ; d ++ ) a . bl _count [ d ] = 0 ; k [ 2 * a . heap [ a . heap _max ] + 1 ] = 0 ; for ( c = a . heap _max + 1 ; c < X ; c ++ ) e = a . heap [ c ] , d = k [ 2 * k [ 2 * e + 1 ] + 1 ] + 1 , d > J && ( d = J , v ++ ) , k [ 2 * e + 1 ] = d , e > g || ( a . bl _count [ d ] ++ , h = 0 , e >= n && ( h = D [ e - n ] ) , p = k [ 2 * e ] , a . opt _len += p * ( d + h ) , u && ( a . static _len += p * ( l [ 2 * e + 1 ] + h ) ) ) ; if ( 0 !== v ) { do { for ( d = J - 1 ; 0 === a . bl _count [ d ] ; ) d -- ; a . bl _count [ d ] -- ; a . bl _count [ d + 1 ] += 2 ; a . bl _count [ J ] -- ; v -= 2 } while ( 0 < v ) ; for ( d = J ; 0 !==
d ; d -- ) for ( e = a . bl _count [ d ] ; 0 !== e ; ) h = a . heap [ -- c ] , h > g || ( k [ 2 * h + 1 ] !== d && ( a . opt _len += ( d - k [ 2 * h + 1 ] ) * k [ 2 * h ] , k [ 2 * h + 1 ] = d ) , e -- ) } q ( f , m , a . bl _count ) } function y ( a , b , c ) { var d , e , f = - 1 , k = b [ 1 ] , g = 0 , h = 7 , m = 4 ; 0 === k && ( h = 138 , m = 3 ) ; b [ 2 * ( c + 1 ) + 1 ] = 65535 ; for ( d = 0 ; d <= c ; d ++ ) e = k , k = b [ 2 * ( d + 1 ) + 1 ] , ++ g < h && e === k || ( g < m ? a . bl _tree [ 2 * e ] += g : 0 !== e ? ( e !== f && a . bl _tree [ 2 * e ] ++ , a . bl _tree [ 2 * r ] ++ ) : 10 >= g ? a . bl _tree [ 2 * da ] ++ : a . bl _tree [ 2 * ca ] ++ , g = 0 , f = e , 0 === k ? ( h = 138 , m = 3 ) : e === k ? ( h = 6 , m = 3 ) : ( h = 7 , m = 4 ) ) } function p ( a , b , c ) { var d , e , f = - 1 , k = b [ 1 ] , g = 0 , m = 7 , p = 4 ; 0 === k && ( m = 138 ,
p = 3 ) ; for ( d = 0 ; d <= c ; d ++ ) if ( e = k , k = b [ 2 * ( d + 1 ) + 1 ] , ! ( ++ g < m && e === k ) ) { if ( g < p ) { do h ( a , e , a . bl _tree ) ; while ( 0 !== -- g ) } else 0 !== e ? ( e !== f && ( h ( a , e , a . bl _tree ) , g -- ) , h ( a , r , a . bl _tree ) , l ( a , g - 3 , 2 ) ) : 10 >= g ? ( h ( a , da , a . bl _tree ) , l ( a , g - 3 , 3 ) ) : ( h ( a , ca , a . bl _tree ) , l ( a , g - 11 , 7 ) ) ; g = 0 ; f = e ; 0 === k ? ( m = 138 , p = 3 ) : e === k ? ( m = 6 , p = 3 ) : ( m = 7 , p = 4 ) } } function D ( a ) { var b , c = 4093624447 ; for ( b = 0 ; 31 >= b ; b ++ , c >>>= 1 ) if ( 1 & c && 0 !== a . dyn _ltree [ 2 * b ] ) return H ; if ( 0 !== a . dyn _ltree [ 18 ] || 0 !== a . dyn _ltree [ 20 ] || 0 !== a . dyn _ltree [ 26 ] ) return u ; for ( b = 32 ; b < v ; b ++ ) if ( 0 !== a . dyn _ltree [ 2 *
b ] ) return u ; return H } function m ( a , b , c , d ) { l ( a , ( I << 1 ) + ( d ? 1 : 0 ) , 3 ) ; A ( a ) ; g ( a , c ) ; g ( a , ~ c ) ; O . arraySet ( a . pending _buf , a . window , b , c , a . pending ) ; a . pending += c } var O = b ( "../utils/common" ) , H = 0 , u = 1 , I = 0 , v = 256 , S = v + 1 + 29 , N = 30 , F = 19 , X = 2 * S + 1 , T = 15 , aa = 16 , V = 256 , r = 16 , da = 17 , ca = 18 , E = [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 , 3 , 3 , 3 , 3 , 4 , 4 , 4 , 4 , 5 , 5 , 5 , 5 , 0 ] , ba = [ 0 , 0 , 0 , 0 , 1 , 1 , 2 , 2 , 3 , 3 , 4 , 4 , 5 , 5 , 6 , 6 , 7 , 7 , 8 , 8 , 9 , 9 , 10 , 10 , 11 , 11 , 12 , 12 , 13 , 13 ] , L = [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 2 , 3 , 7 ] , C = [ 16 , 17 , 18 , 0 , 8 , 7 , 9 , 6 , 10 , 5 , 11 , 4 , 12 , 3 , 13 , 2 , 14 , 1 , 15 ] , K = Array ( 2 * ( S + 2 ) ) ; a ( K ) ;
var Q = Array ( 2 * N ) ; a ( Q ) ; var Z = Array ( 512 ) ; a ( Z ) ; var Y = Array ( 256 ) ; a ( Y ) ; var M = Array ( 29 ) ; a ( M ) ; var U = Array ( N ) ; a ( U ) ; var W , R , P , ea = ! 1 ; d . _tr _init = function ( a ) { if ( ! ea ) { var b , d , f , g = Array ( T + 1 ) ; for ( f = d = 0 ; 28 > f ; f ++ ) for ( M [ f ] = d , b = 0 ; b < 1 << E [ f ] ; b ++ ) Y [ d ++ ] = f ; Y [ d - 1 ] = f ; for ( f = d = 0 ; 16 > f ; f ++ ) for ( U [ f ] = d , b = 0 ; b < 1 << ba [ f ] ; b ++ ) Z [ d ++ ] = f ; for ( d >>= 7 ; f < N ; f ++ ) for ( U [ f ] = d << 7 , b = 0 ; b < 1 << ba [ f ] - 7 ; b ++ ) Z [ 256 + d ++ ] = f ; for ( b = 0 ; b <= T ; b ++ ) g [ b ] = 0 ; for ( b = 0 ; 143 >= b ; ) K [ 2 * b + 1 ] = 8 , b ++ , g [ 8 ] ++ ; for ( ; 255 >= b ; ) K [ 2 * b + 1 ] = 9 , b ++ , g [ 9 ] ++ ; for ( ; 279 >= b ; ) K [ 2 * b + 1 ] = 7 , b ++ , g [ 7 ] ++ ; for ( ; 287 >=
b ; ) K [ 2 * b + 1 ] = 8 , b ++ , g [ 8 ] ++ ; q ( K , S + 1 , g ) ; for ( b = 0 ; b < N ; b ++ ) Q [ 2 * b + 1 ] = 5 , Q [ 2 * b ] = n ( b , 5 ) ; W = new e ( K , E , v + 1 , S , T ) ; R = new e ( Q , ba , 0 , N , T ) ; P = new e ( [ ] , L , 0 , F , 7 ) ; ea = ! 0 } a . l _desc = new c ( a . dyn _ltree , W ) ; a . d _desc = new c ( a . dyn _dtree , R ) ; a . bl _desc = new c ( a . bl _tree , P ) ; a . bi _buf = 0 ; a . bi _valid = 0 ; t ( a ) } ; d . _tr _stored _block = m ; d . _tr _flush _block = function ( a , b , c , d ) { var e , f , g = 0 ; if ( 0 < a . level ) { 2 === a . strm . data _type && ( a . strm . data _type = D ( a ) ) ; x ( a , a . l _desc ) ; x ( a , a . d _desc ) ; y ( a , a . dyn _ltree , a . l _desc . max _code ) ; y ( a , a . dyn _dtree , a . d _desc . max _code ) ; x ( a , a . bl _desc ) ;
for ( g = F - 1 ; 3 <= g && 0 === a . bl _tree [ 2 * C [ g ] + 1 ] ; g -- ) ; g = ( a . opt _len += 3 * ( g + 1 ) + 14 , g ) ; e = a . opt _len + 3 + 7 >>> 3 ; f = a . static _len + 3 + 7 >>> 3 ; f <= e && ( e = f ) } else e = f = c + 5 ; if ( c + 4 <= e && - 1 !== b ) m ( a , b , c , d ) ; else if ( 4 === a . strategy || f === e ) l ( a , 2 + ( d ? 1 : 0 ) , 3 ) , z ( a , K , Q ) ; else { l ( a , 4 + ( d ? 1 : 0 ) , 3 ) ; b = a . l _desc . max _code + 1 ; c = a . d _desc . max _code + 1 ; g += 1 ; l ( a , b - 257 , 5 ) ; l ( a , c - 1 , 5 ) ; l ( a , g - 4 , 4 ) ; for ( e = 0 ; e < g ; e ++ ) l ( a , a . bl _tree [ 2 * C [ e ] + 1 ] , 3 ) ; p ( a , a . dyn _ltree , b - 1 ) ; p ( a , a . dyn _dtree , c - 1 ) ; z ( a , a . dyn _ltree , a . dyn _dtree ) } t ( a ) ; d && A ( a ) } ; d . _tr _tally = function ( a , b , c ) { return a . pending _buf [ a . d _buf +
2 * a . last _lit ] = b >>> 8 & 255 , a . pending _buf [ a . d _buf + 2 * a . last _lit + 1 ] = 255 & b , a . pending _buf [ a . l _buf + a . last _lit ] = 255 & c , a . last _lit ++ , 0 === b ? a . dyn _ltree [ 2 * c ] ++ : ( a . matches ++ , b -- , a . dyn _ltree [ 2 * ( Y [ c ] + v + 1 ) ] ++ , a . dyn _dtree [ 2 * ( 256 > b ? Z [ b ] : Z [ 256 + ( b >>> 7 ) ] ) ] ++ ) , a . last _lit === a . lit _bufsize - 1 } ; d . _tr _align = function ( a ) { l ( a , 2 , 3 ) ; h ( a , V , K ) ; 16 === a . bi _valid ? ( g ( a , a . bi _buf ) , a . bi _buf = 0 , a . bi _valid = 0 ) : 8 <= a . bi _valid && ( a . pending _buf [ a . pending ++ ] = 255 & a . bi _buf , a . bi _buf >>= 8 , a . bi _valid -= 8 ) } } , { "../utils/common" : 62 } ] , 74 : [ function ( b , f , d ) { f . exports =
function ( ) { this . input = null ; this . total _in = this . avail _in = this . next _in = 0 ; this . output = null ; this . total _out = this . avail _out = this . next _out = 0 ; this . msg = "" ; this . state = null ; this . data _type = 2 ; this . adler = 0 } } , { } ] } , { } , [ 10 ] ) ( 10 ) } ) ; function VsdxExport ( w , b ) { function f ( a , c , d ) { mxUtils . get ( b + "/allConstants.json" , function ( b ) { b = JSON . parse ( b . request . responseText ) ; for ( var e in b ) if ( 1 < c && e == x . CONTENT _TYPES _XML ) { for ( var f = mxUtils . parseXml ( b [ e ] ) , g = f . documentElement , m = g . children , h = null , p = 0 ; p < m . length ; p ++ ) { var l = m [ p ] ; "/visio/pages/page1.xml" == l . getAttribute ( x . PART _NAME ) && ( h = l ) } for ( p = 2 ; p <= c ; p ++ ) m = h . cloneNode ( ) , m . setAttribute ( x . PART _NAME , "/visio/pages/page" + p + ".xml" ) , g . appendChild ( m ) ; B ( a , e , f , ! 0 ) } else a . file ( e , b [ e ] ) ; d && d ( ) } ) } function d ( a ) { var b =
{ } ; try { var c = a . getGraphBounds ( ) . clone ( ) , d = a . view . scale , e = a . view . translate , f = Math . round ( c . x / d ) - e . x , g = Math . round ( c . y / d ) - e . y , h = a . pageFormat . width , l = a . pageFormat . height ; 0 > f && ( f += Math . ceil ( ( e . x - c . x / d ) / h ) * h ) ; 0 > g && ( g += Math . ceil ( ( e . y - c . y / d ) / l ) * l ) ; var p = Math . max ( 1 , Math . ceil ( ( c . width / d + f ) / h ) ) , n = Math . max ( 1 , Math . ceil ( ( c . height / d + g ) / l ) ) ; b . gridEnabled = a . gridEnabled ; b . gridSize = a . gridSize ; b . guidesEnabled = a . graphHandler . guidesEnabled ; b . pageVisible = a . pageVisible ; b . pageScale = a . pageScale ; b . pageWidth = a . pageFormat . width *
p ; b . pageHeight = a . pageFormat . height * n ; b . backgroundClr = a . background ; b . mathEnabled = a . mathEnabled ; b . shadowVisible = a . shadowVisible } catch ( X ) { } return b } function a ( a , b , c ) { return e ( a , b / x . CONVERSION _FACTOR , c ) } function e ( a , b , c ) { c = c . createElement ( "Cell" ) ; c . setAttribute ( "N" , a ) ; c . setAttribute ( "V" , b ) ; return c } function c ( b , c , d , e , f ) { var g = f . createElement ( "Row" ) ; g . setAttribute ( "T" , b ) ; g . setAttribute ( "IX" , c ) ; g . appendChild ( a ( "X" , d , f ) ) ; g . appendChild ( a ( "Y" , e , f ) ) ; return g } function g ( b , c , d ) { var f = b . style [ mxConstants . STYLE _FILLCOLOR ] ;
2017-06-06 15:37:03 +00:00
if ( f && "none" != f ) { if ( c . appendChild ( e ( "FillForegnd" , f , d ) ) , ( f = b . style [ mxConstants . STYLE _GRADIENTCOLOR ] ) && "none" != f ) { c . appendChild ( e ( "FillBkgnd" , f , d ) ) ; var f = b . style [ mxConstants . STYLE _GRADIENT _DIRECTION ] , g = 28 ; if ( f ) switch ( f ) { case mxConstants . DIRECTION _EAST : g = 25 ; break ; case mxConstants . DIRECTION _WEST : g = 27 ; break ; case mxConstants . DIRECTION _NORTH : g = 30 } c . appendChild ( e ( "FillPattern" , g , d ) ) } } else c . appendChild ( e ( "FillPattern" , 0 , d ) ) ; ( f = b . style [ mxConstants . STYLE _STROKECOLOR ] ) && "none" != f ? c . appendChild ( e ( "LineColor" ,
f , d ) ) : c . appendChild ( e ( "LinePattern" , 0 , d ) ) ; ( f = b . style [ mxConstants . STYLE _STROKEWIDTH ] ) && c . appendChild ( a ( "LineWeight" , f , d ) ) ; ( g = b . style [ mxConstants . STYLE _OPACITY ] ) ? f = g : ( f = b . style [ mxConstants . STYLE _FILL _OPACITY ] , g = b . style [ mxConstants . STYLE _STROKE _OPACITY ] ) ; f && c . appendChild ( e ( "FillForegndTrans" , 1 - parseInt ( f ) / 100 , d ) ) ; g && c . appendChild ( e ( "LineColorTrans" , 1 - parseInt ( g ) / 100 , d ) ) ; if ( 1 == b . style [ mxConstants . STYLE _DASHED ] ) { f = b . style [ mxConstants . STYLE _DASH _PATTERN ] ; g = 9 ; if ( f ) switch ( f ) { case "1 1" : g = 10 ; break ; case "1 2" : g =
3 ; break ; case "1 4" : g = 17 } c . appendChild ( e ( "LinePattern" , g , d ) ) } 1 == b . style [ mxConstants . STYLE _SHADOW ] && ( c . appendChild ( e ( "ShdwPattern" , 1 , d ) ) , c . appendChild ( e ( "ShdwForegnd" , "#000000" , d ) ) , c . appendChild ( e ( "ShdwForegndTrans" , . 6 , d ) ) , c . appendChild ( e ( "ShapeShdwType" , 1 , d ) ) , c . appendChild ( e ( "ShapeShdwOffsetX" , "0.02946278254943948" , d ) ) , c . appendChild ( e ( "ShapeShdwOffsetY" , "-0.02946278254943948" , d ) ) , c . appendChild ( e ( "ShapeShdwScaleFactor" , "1" , d ) ) , c . appendChild ( e ( "ShapeShdwBlur" , "0.05555555555555555" , d ) ) , c . appendChild ( e ( "ShapeShdwShow" ,
2017-06-12 13:14:07 +00:00
2 , d ) ) ) ; 1 == b . style [ mxConstants . STYLE _FLIPH ] && c . appendChild ( e ( "FlipX" , 1 , d ) ) ; 1 == b . style [ mxConstants . STYLE _FLIPV ] && c . appendChild ( e ( "FlipY" , 1 , d ) ) ; 1 == b . style [ mxConstants . STYLE _ROUNDED ] && c . appendChild ( a ( "Rounding" , . 1 * b . cell . geometry . width , d ) ) ; ( b = b . style [ mxConstants . STYLE _LABEL _BACKGROUNDCOLOR ] ) && c . appendChild ( e ( "TextBkgnd" , b , d ) ) } function l ( b , c , d , e ) { var f = d . createElement ( "Shape" ) ; f . setAttribute ( "ID" , b ) ; f . setAttribute ( "NameU" , "Shape" + b ) ; f . setAttribute ( "LineStyle" , "0" ) ; f . setAttribute ( "FillStyle" , "0" ) ; f . setAttribute ( "TextStyle" ,
"0" ) ; b = c . width / 2 ; var g = c . height / 2 ; f . appendChild ( a ( "PinX" , c . x + b , d ) ) ; f . appendChild ( a ( "PinY" , e - c . y - g , d ) ) ; f . appendChild ( a ( "Width" , c . width , d ) ) ; f . appendChild ( a ( "Height" , c . height , d ) ) ; f . appendChild ( a ( "LocPinX" , b , d ) ) ; f . appendChild ( a ( "LocPinY" , g , d ) ) ; return f } function h ( a , b ) { var c = x . ARROWS _MAP [ ( null == a ? "none" : a ) + "|" + ( null == b ? "1" : b ) ] ; return null != c ? c : 1 } function n ( a ) { return null == a ? 2 : 2 >= a ? 0 : 3 >= a ? 1 : 5 >= a ? 2 : 7 >= a ? 3 : 9 >= a ? 4 : 22 >= a ? 5 : 6 } function q ( b , d , f , l ) { var m = d . view . getState ( b ) ; d = f . createElement ( "Shape" ) ; d . setAttribute ( "ID" ,
b . id ) ; d . setAttribute ( "NameU" , "Edge" + b . id ) ; d . setAttribute ( "LineStyle" , "0" ) ; d . setAttribute ( "FillStyle" , "0" ) ; d . setAttribute ( "TextStyle" , "0" ) ; var p = y . state ; b = m . absolutePoints ; var q = m . cellBounds , v = q . width / 2 , t = q . height / 2 ; d . appendChild ( a ( "PinX" , q . x + v , f ) ) ; d . appendChild ( a ( "PinY" , l - q . y - t , f ) ) ; d . appendChild ( a ( "Width" , q . width , f ) ) ; d . appendChild ( a ( "Height" , q . height , f ) ) ; d . appendChild ( a ( "LocPinX" , v , f ) ) ; d . appendChild ( a ( "LocPinY" , t , f ) ) ; y . newEdge ( d , m , f ) ; v = function ( a , b ) { var c = a . x , d = a . y , c = c * p . scale - q . x + p . dx , d = ( b ? 0 : q . height ) -
d * p . scale + q . y - p . dy ; return { x : c , y : d } } ; t = v ( b [ 0 ] , ! 0 ) ; d . appendChild ( a ( "BeginX" , q . x + t . x , f ) ) ; d . appendChild ( a ( "BeginY" , l - q . y + t . y , f ) ) ; t = v ( b [ b . length - 1 ] , ! 0 ) ; d . appendChild ( a ( "EndX" , q . x + t . x , f ) ) ; d . appendChild ( a ( "EndY" , l - q . y + t . y , f ) ) ; d . appendChild ( e ( "BegTrigger" , "2" , f ) ) ; d . appendChild ( e ( "EndTrigger" , "2" , f ) ) ; d . appendChild ( e ( "ConFixedCode" , "6" , f ) ) ; d . appendChild ( e ( "LockHeight" , "1" , f ) ) ; d . appendChild ( e ( "LockCalcWH" , "1" , f ) ) ; d . appendChild ( e ( "NoAlignBox" , "1" , f ) ) ; d . appendChild ( e ( "DynFeedback" , "2" , f ) ) ; d . appendChild ( e ( "GlueType" ,
"2" , f ) ) ; d . appendChild ( e ( "ObjType" , "2" , f ) ) ; d . appendChild ( e ( "NoLiveDynamics" , "1" , f ) ) ; d . appendChild ( e ( "ShapeSplittable" , "1" , f ) ) ; d . appendChild ( e ( "LayerMember" , "0" , f ) ) ; g ( m , d , f ) ; t = m . style [ mxConstants . STYLE _STARTSIZE ] ; l = h ( m . style [ mxConstants . STYLE _STARTARROW ] , m . style [ mxConstants . STYLE _STARTFILL ] ) ; d . appendChild ( e ( "BeginArrow" , l , f ) ) ; d . appendChild ( e ( "BeginArrowSize" , n ( t ) , f ) ) ; t = m . style [ mxConstants . STYLE _ENDSIZE ] ; l = h ( m . style [ mxConstants . STYLE _ENDARROW ] , m . style [ mxConstants . STYLE _ENDFILL ] ) ; d . appendChild ( e ( "EndArrow" ,
l , f ) ) ; d . appendChild ( e ( "EndArrowSize" , n ( t ) , f ) ) ; null != m . text && m . text . checkBounds ( ) && ( y . save ( ) , m . text . paint ( y ) , y . restore ( ) ) ; m = f . createElement ( "Section" ) ; m . setAttribute ( "N" , "Geometry" ) ; m . setAttribute ( "IX" , "0" ) ; for ( l = 0 ; l < b . length ; l ++ ) t = v ( b [ l ] ) , m . appendChild ( c ( 0 == l ? "MoveTo" : "LineTo" , l + 1 , t . x , t . y , f ) ) ; m . appendChild ( e ( "NoFill" , "1" , f ) ) ; m . appendChild ( e ( "NoLine" , "0" , f ) ) ; d . appendChild ( m ) ; return d } function t ( a , b , c , d , e ) { var f = a . geometry ; if ( null != f ) { f . relative && e && ( f = f . clone ( ) , f . x *= e . width , f . y *= e . height , f . relative =
0 ) ; if ( ! a . treatAsSingle && 0 < a . getChildCount ( ) ) { d = l ( a . id + "10000" , f , c , d ) ; d . setAttribute ( "Type" , "Group" ) ; e = c . createElement ( "Shapes" ) ; y . save ( ) ; y . translate ( - f . x , - f . y ) ; var h = f . clone ( ) ; h . x = 0 ; h . y = 0 ; a . setGeometry ( h ) ; a . treatAsSingle = ! 0 ; h = t ( a , b , c , f . height , f ) ; a . treatAsSingle = ! 1 ; a . setGeometry ( f ) ; e . appendChild ( h ) ; for ( var m = 0 ; m < a . children . length ; m ++ ) h = t ( a . children [ m ] , b , c , f . height , f ) , e . appendChild ( h ) ; d . appendChild ( e ) ; y . restore ( ) ; return d } return a . vertex ? ( d = l ( a . id , f , c , d ) , a = b . view . getState ( a ) , g ( a , d , c ) , y . newShape ( d , a ,
c ) , null != a . text && a . text . checkBounds ( ) && ( y . save ( ) , a . text . paint ( y ) , y . restore ( ) ) , null != a . shape && a . shape . checkBounds ( ) && ( y . save ( ) , a . shape . paint ( y ) , y . restore ( ) ) , d . appendChild ( y . getShapeGeo ( ) ) , y . endShape ( ) , d . setAttribute ( "Type" , y . getShapeType ( ) ) , d ) : q ( a , b , c , d ) } return null } function A ( a , b ) { var c = mxUtils . createXmlDocument ( ) , d = c . createElement ( "PageContents" ) ; d . setAttribute ( "xmlns" , x . XMLNS ) ; d . setAttribute ( "xmlns:r" , x . XMLNS _R ) ; d . setAttribute ( "xml:space" , x . XML _SPACE ) ; var e = c . createElement ( "Shapes" ) ; d . appendChild ( e ) ;
var f = a . model , g = a . view . translate , h = a . view . scale , l = a . getGraphBounds ( ) , n = 0 , p = 0 ; if ( l . x / h < g . x || l . y / h < g . y ) n = Math . ceil ( ( g . x - l . x / h ) / a . pageFormat . width ) * a . pageFormat . width , p = Math . ceil ( ( g . y - l . y / h ) / a . pageFormat . height ) * a . pageFormat . height ; y . save ( ) ; y . translate ( - g . x + n , - g . y + p ) ; y . scale ( 1 / h ) ; y . newPage ( ) ; var h = a . getDefaultParent ( ) , q ; for ( q in f . cells ) g = f . cells [ q ] , g . parent == h && ( g = t ( g , a , c , b . pageHeight ) , null != g && e . appendChild ( g ) ) ; e = c . createElement ( "Connects" ) ; d . appendChild ( e ) ; for ( q in f . cells ) g = f . cells [ q ] , g . edge && ( g . source &&
( h = c . createElement ( "Connect" ) , h . setAttribute ( "FromSheet" , g . id ) , h . setAttribute ( "FromCell" , "BeginX" ) , h . setAttribute ( "ToSheet" , g . source . id ) , e . appendChild ( h ) ) , g . target && ( h = c . createElement ( "Connect" ) , h . setAttribute ( "FromSheet" , g . id ) , h . setAttribute ( "FromCell" , "EndX" ) , h . setAttribute ( "ToSheet" , g . target . id ) , e . appendChild ( h ) ) ) ; c . appendChild ( d ) ; y . restore ( ) ; return c } function B ( a , b , c , d ) { a . file ( b , ( d ? "" : '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' ) + mxUtils . getXml ( c ) ) } function G ( b , c , d ) { var f = mxUtils . createXmlDocument ( ) ,
g = mxUtils . createXmlDocument ( ) , h = f . createElement ( "Pages" ) ; h . setAttribute ( "xmlns" , x . XMLNS ) ; h . setAttribute ( "xmlns:r" , x . XMLNS _R ) ; h . setAttribute ( "xml:space" , x . XML _SPACE ) ; var l = g . createElement ( "Relationships" ) ; l . setAttribute ( "xmlns" , x . RELS _XMLNS ) ; var m = 1 , n ; for ( n in c ) { var q = "page" + m + ".xml" , p = f . createElement ( "Page" ) ; p . setAttribute ( "ID" , m - 1 ) ; p . setAttribute ( "NameU" , n ) ; p . setAttribute ( "Name" , n ) ; var t = f . createElement ( "PageSheet" ) , w = d [ n ] ; t . appendChild ( a ( "PageWidth" , w . pageWidth , f ) ) ; t . appendChild ( a ( "PageHeight" ,
w . pageHeight , f ) ) ; t . appendChild ( e ( "PageScale" , w . pageScale , f ) ) ; t . appendChild ( e ( "DrawingScale" , 1 , f ) ) ; w = f . createElement ( "Rel" ) ; w . setAttribute ( "r:id" , "rId" + m ) ; p . appendChild ( t ) ; p . appendChild ( w ) ; h . appendChild ( p ) ; p = g . createElement ( "Relationship" ) ; p . setAttribute ( "Id" , "rId" + m ) ; p . setAttribute ( "Type" , x . PAGES _TYPE ) ; p . setAttribute ( "Target" , q ) ; l . appendChild ( p ) ; B ( b , x . VISIO _PAGES + q , c [ n ] ) ; m ++ } f . appendChild ( h ) ; g . appendChild ( l ) ; B ( b , x . VISIO _PAGES + "pages.xml" , f ) ; B ( b , x . VISIO _PAGES + "_rels/pages.xml.rels" , g ) } function z ( a ,
b ) { var c = x . VISIO _PAGES _RELS + "page" + b + ".xml.rels" , d = mxUtils . createXmlDocument ( ) , e = d . createElement ( "Relationships" ) ; e . setAttribute ( "xmlns" , x . RELS _XMLNS ) ; var f = y . images ; if ( 0 < f . length ) for ( var g = 0 ; g < f . length ; g ++ ) { var h = d . createElement ( "Relationship" ) ; h . setAttribute ( "Type" , x . XMLNS _R + "/image" ) ; h . setAttribute ( "Id" , "rId" + ( g + 1 ) ) ; h . setAttribute ( "Target" , "../media/" + f [ g ] ) ; e . appendChild ( h ) } d . appendChild ( e ) ; B ( a , c , d ) } var x = this ; b = b || "js/diagramly/vsdx/resources" ; var y = new mxVsdxCanvas2D ; this . exportCurrentDiagrams =
function ( ) { try { var a = new JSZip ; y . init ( a ) ; pages = { } ; modelsAttr = { } ; var b = null != w . pages ? w . pages . length : 1 ; if ( null != w . pages ) { for ( var c = w . currentPage , e = 0 ; e < w . pages . length ; e ++ ) { var g = w . pages [ e ] ; w . selectPage ( g ) ; var h = g . getName ( ) , l = w . editor . graph , n = d ( l ) ; pages [ h ] = A ( l , n ) ; z ( a , e + 1 ) ; modelsAttr [ h ] = n } w . selectPage ( c ) } else l = w . editor . graph , n = d ( l ) , h = "Page1" , pages [ h ] = A ( l , n ) , z ( a , 1 ) , modelsAttr [ h ] = n ; f ( a , b , function ( ) { G ( a , pages , modelsAttr ) ; var b = function ( ) { 0 < y . filesLoading ? setTimeout ( b , 200 * y . filesLoading ) : a . generateAsync ( { type : "blob" } ) . then ( function ( a ) { var b =
2017-06-06 15:37:03 +00:00
w . getCurrentFile ( ) , b = null != b && null != b . getTitle ( ) ? b . getTitle ( ) : w . defaultFilename ; w . saveData ( b + ".vsdx" , "vsdx" , a , "application/vnd.visio2013" ) } ) } ; b ( ) } ) ; return ! 0 } catch ( S ) { return console . log ( S ) , ! 1 } } } VsdxExport . prototype . CONVERSION _FACTOR = 101.6 ; VsdxExport . prototype . PAGES _TYPE = "http://schemas.microsoft.com/visio/2010/relationships/page" ; VsdxExport . prototype . RELS _XMLNS = "http://schemas.openxmlformats.org/package/2006/relationships" ; VsdxExport . prototype . XML _SPACE = "preserve" ; VsdxExport . prototype . XMLNS _R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships" ;
VsdxExport . prototype . XMLNS = "http://schemas.microsoft.com/office/visio/2012/main" ; VsdxExport . prototype . VISIO _PAGES = "visio/pages/" ; VsdxExport . prototype . PREFEX = "com/mxgraph/io/vsdx/resources/export/" ; VsdxExport . prototype . VSDX _ENC = "ISO-8859-1" ; VsdxExport . prototype . PART _NAME = "PartName" ; VsdxExport . prototype . CONTENT _TYPES _XML = "[Content_Types].xml" ; VsdxExport . prototype . VISIO _PAGES _RELS = "visio/pages/_rels/" ;
2017-06-12 13:14:07 +00:00
VsdxExport . prototype . ARROWS _MAP = { "none|1" : 0 , "none|0" : 0 , "open|1" : 1 , "open|0" : 1 , "block|1" : 4 , "block|0" : 14 , "classic|1" : 5 , "classic|0" : 17 , "oval|1" : 10 , "oval|0" : 20 , "diamond|1" : 11 , "diamond|0" : 22 , "blockThin|1" : 2 , "blockThin|0" : 15 , "dash|1" : 23 , "dash|0" : 23 , "ERone|1" : 24 , "ERone|0" : 24 , "ERmandOne|1" : 25 , "ERmandOne|0" : 25 , "ERmany|1" : 27 , "ERmany|0" : 27 , "ERoneToMany|1" : 28 , "ERoneToMany|0" : 28 , "ERzeroToMany|1" : 29 , "ERzeroToMany|0" : 29 , "ERzeroToOne|1" : 30 , "ERzeroToOne|0" : 30 , "openAsync|1" : 9 , "openAsync|0" : 9 } ; function mxVsdxCanvas2D ( w ) { mxAbstractCanvas2D . call ( this ) } mxUtils . extend ( mxVsdxCanvas2D , mxAbstractCanvas2D ) ; mxVsdxCanvas2D . prototype . textEnabled = ! 0 ; mxVsdxCanvas2D . prototype . init = function ( w ) { this . filesLoading = 0 ; this . zip = w } ;
2017-06-06 15:37:03 +00:00
mxVsdxCanvas2D . prototype . createGeoSec = function ( ) { null != this . geoSec && this . shape . appendChild ( this . geoSec ) ; var w = this . xmlDoc . createElement ( "Section" ) ; w . setAttribute ( "N" , "Geometry" ) ; w . setAttribute ( "IX" , this . geoIndex ++ ) ; this . geoSec = w ; this . geoStepIndex = 1 ; this . lastMoveToY = this . lastMoveToX = this . lastY = this . lastX = 0 } ; mxVsdxCanvas2D . prototype . newShape = function ( w , b , f ) { this . geoIndex = 0 ; this . shape = w ; this . cellState = b ; this . xmGeo = b . cell . geometry ; this . xmlDoc = f ; this . shapeImg = this . geoSec = null ; this . shapeType = "Shape" ; this . createGeoSec ( ) } ;
2017-06-12 13:14:07 +00:00
mxVsdxCanvas2D . prototype . newEdge = function ( w , b , f ) { this . shape = w ; this . cellState = b ; this . xmGeo = b . cellBounds ; this . xmlDoc = f } ; mxVsdxCanvas2D . prototype . endShape = function ( ) { null != this . shapeImg && this . addForeignData ( this . shapeImg . type , this . shapeImg . id ) } ; mxVsdxCanvas2D . prototype . newPage = function ( ) { this . images = [ ] } ; mxVsdxCanvas2D . prototype . getShapeType = function ( ) { return this . shapeType } ; mxVsdxCanvas2D . prototype . getShapeGeo = function ( ) { return this . geoSec } ;
mxVsdxCanvas2D . prototype . createCellElemScaled = function ( w , b , f ) { return this . createCellElem ( w , b / VsdxExport . prototype . CONVERSION _FACTOR , f ) } ; mxVsdxCanvas2D . prototype . createCellElem = function ( w , b , f ) { var d = this . xmlDoc . createElement ( "Cell" ) ; d . setAttribute ( "N" , w ) ; d . setAttribute ( "V" , b ) ; f && d . setAttribute ( "F" , f ) ; return d } ;
mxVsdxCanvas2D . prototype . createRowRel = function ( w , b , f , d , a , e , c , g ) { var l = this . xmlDoc . createElement ( "Row" ) ; l . setAttribute ( "T" , w ) ; l . setAttribute ( "IX" , b ) ; l . appendChild ( this . createCellElem ( "X" , f ) ) ; l . appendChild ( this . createCellElem ( "Y" , d ) ) ; null != a && l . appendChild ( this . createCellElem ( "A" , a ) ) ; null != e && l . appendChild ( this . createCellElem ( "B" , e ) ) ; null != c && l . appendChild ( this . createCellElem ( "C" , c ) ) ; null != g && l . appendChild ( this . createCellElem ( "D" , g ) ) ; return l } ;
2017-06-06 15:37:03 +00:00
mxVsdxCanvas2D . prototype . begin = function ( ) { 1 < this . geoStepIndex && this . createGeoSec ( ) } ;
2017-06-12 13:14:07 +00:00
mxVsdxCanvas2D . prototype . rect = function ( w , b , f , d ) { 1 < this . geoStepIndex && this . createGeoSec ( ) ; var a = this . state ; f *= a . scale ; d *= a . scale ; var e = this . xmGeo ; w = ( w - e . x + a . dx ) * a . scale / f ; b = ( e . height - b + e . y - a . dy ) * a . scale / d ; this . geoSec . appendChild ( this . createRowRel ( "RelMoveTo" , this . geoStepIndex ++ , w , b ) ) ; this . geoSec . appendChild ( this . createRowRel ( "RelLineTo" , this . geoStepIndex ++ , w + 1 , b ) ) ; this . geoSec . appendChild ( this . createRowRel ( "RelLineTo" , this . geoStepIndex ++ , w + 1 , b - 1 ) ) ; this . geoSec . appendChild ( this . createRowRel ( "RelLineTo" ,
this . geoStepIndex ++ , w , b - 1 ) ) ; this . geoSec . appendChild ( this . createRowRel ( "RelLineTo" , this . geoStepIndex ++ , w , b ) ) } ; mxVsdxCanvas2D . prototype . roundrect = function ( w , b , f , d , a , e ) { this . rect ( w , b , f , d ) ; this . shape . appendChild ( this . createCellElemScaled ( "Rounding" , a ) ) } ;
mxVsdxCanvas2D . prototype . ellipse = function ( w , b , f , d ) { 1 < this . geoStepIndex && this . createGeoSec ( ) ; var a = this . state ; f *= a . scale ; d *= a . scale ; var e = this . xmGeo , c = e . height * a . scale , g = e . width * a . scale ; w = ( w - e . x + a . dx ) * a . scale ; b = c + ( - b + e . y - a . dy ) * a . scale ; a = d / c ; e = f / g ; this . geoSec . appendChild ( this . createRowRel ( "RelMoveTo" , this . geoStepIndex ++ , w / g , b / c - . 5 * a ) ) ; w = this . createRowRel ( "RelEllipticalArcTo" , this . geoStepIndex ++ , w / g , b / c - . 5001 * a , . 5 * e + w / g , b / c - a , 0 ) ; w . appendChild ( this . createCellElem ( "D" , f / d , "Width/Height*" + e / a ) ) ; this . geoSec . appendChild ( w ) } ;
mxVsdxCanvas2D . prototype . moveTo = function ( w , b ) { 1 < this . geoStepIndex && this . createGeoSec ( ) ; this . lastMoveToX = w ; this . lastMoveToY = b ; this . lastX = w ; this . lastY = b ; var f = this . xmGeo , d = this . state ; w = ( w - f . x + d . dx ) * d . scale ; b = ( f . height - b + f . y - d . dy ) * d . scale ; var a = f . height * d . scale , f = f . width * d . scale ; this . geoSec . appendChild ( this . createRowRel ( "RelMoveTo" , this . geoStepIndex ++ , w / f , b / a ) ) } ;
mxVsdxCanvas2D . prototype . lineTo = function ( w , b ) { this . lastX = w ; this . lastY = b ; var f = this . xmGeo , d = this . state ; w = ( w - f . x + d . dx ) * d . scale ; b = ( f . height - b + f . y - d . dy ) * d . scale ; var a = f . height * d . scale , f = f . width * d . scale ; this . geoSec . appendChild ( this . createRowRel ( "RelLineTo" , this . geoStepIndex ++ , w / f , b / a ) ) } ;
mxVsdxCanvas2D . prototype . quadTo = function ( w , b , f , d ) { this . lastX = f ; this . lastY = d ; var a = this . state , e = this . xmGeo , c = e . height * a . scale , g = e . width * a . scale ; w = ( w - e . x + a . dx ) * a . scale ; b = ( e . height - b + e . y - a . dy ) * a . scale ; f = ( f - e . x + a . dx ) * a . scale ; d = ( e . height - d + e . y - a . dy ) * a . scale ; this . geoSec . appendChild ( this . createRowRel ( "RelQuadBezTo" , this . geoStepIndex ++ , f / g , d / c , w / g , b / c ) ) } ;
mxVsdxCanvas2D . prototype . curveTo = function ( w , b , f , d , a , e ) { this . lastX = a ; this . lastY = e ; var c = this . state , g = this . xmGeo , l = g . height * c . scale , h = g . width * c . scale ; w = ( w - g . x + c . dx ) * c . scale ; b = ( g . height - b + g . y - c . dy ) * c . scale ; f = ( f - g . x + c . dx ) * c . scale ; d = ( g . height - d + g . y - c . dy ) * c . scale ; a = ( a - g . x + c . dx ) * c . scale ; e = ( g . height - e + g . y - c . dy ) * c . scale ; this . geoSec . appendChild ( this . createRowRel ( "RelCubBezTo" , this . geoStepIndex ++ , a / h , e / l , w / h , b / l , f / h , d / l ) ) } ;
mxVsdxCanvas2D . prototype . close = function ( ) { this . lastMoveToX == this . lastX && this . lastMoveToY == this . lastY || this . lineTo ( this . lastMoveToX , this . lastMoveToY ) } ; mxVsdxCanvas2D . prototype . addForeignData = function ( w , b ) { var f = this . xmlDoc . createElement ( "ForeignData" ) ; f . setAttribute ( "ForeignType" , "Bitmap" ) ; w = w . toUpperCase ( ) ; "BMP" != w && f . setAttribute ( "CompressionType" , w ) ; var d = this . xmlDoc . createElement ( "Rel" ) ; d . setAttribute ( "r:id" , "rId" + b ) ; f . appendChild ( d ) ; this . shape . appendChild ( f ) ; this . shapeType = "Foreign" } ;
mxVsdxCanvas2D . prototype . image = function ( w , b , f , d , a , e , c , g ) { var l = "image" + ( this . images . length + 1 ) + "." , h ; if ( 0 == a . indexOf ( "data:" ) ) h = a . indexOf ( "base64," ) , e = a . substring ( h + 7 ) , h = a . substring ( 11 , h - 1 ) , l += h , this . zip . file ( "visio/media/" + l , e , { base64 : ! 0 } ) ; else if ( window . XMLHttpRequest ) { a = this . converter . convert ( a ) ; this . filesLoading ++ ; var n = this ; h = a . lastIndexOf ( "." ) ; h = a . substring ( h + 1 ) ; l += h ; e = new XMLHttpRequest ; e . open ( "GET" , a , ! 0 ) ; e . responseType = "arraybuffer" ; e . onreadystatechange = function ( a ) { 4 == this . readyState && 200 ==
this . status && ( n . zip . file ( "visio/media/" + l , this . response ) , n . filesLoading -- ) } ; e . send ( ) } this . images . push ( l ) ; this . shapeImg = { type : h , id : this . images . length } ; a = this . state ; f *= a . scale ; d *= a . scale ; h = this . xmGeo ; w = ( w - h . x + a . dx ) * a . scale ; b = ( h . height - b + h . y - a . dy ) * a . scale ; this . shape . appendChild ( this . createCellElemScaled ( "ImgOffsetX" , w ) ) ; this . shape . appendChild ( this . createCellElemScaled ( "ImgOffsetY" , b - d ) ) ; this . shape . appendChild ( this . createCellElemScaled ( "ImgWidth" , f ) ) ; this . shape . appendChild ( this . createCellElemScaled ( "ImgHeight" ,
d ) ) } ;
mxVsdxCanvas2D . prototype . text = function ( w , b , f , d , a , e , c , g , l , h , n , q , t ) { if ( this . textEnabled && null != a ) { mxUtils . isNode ( a ) && ( a = mxUtils . getOuterHtml ( a ) ) ; "html" == l && ( "0" != mxUtils . getValue ( this . cellState . style , "nl2Br" , "1" ) && ( a = a . replace ( /\n/g , "" ) . replace ( /<br\s*.?>/g , "\n" ) ) , null == this . html2txtDiv && ( this . html2txtDiv = document . createElement ( "div" ) ) , this . html2txtDiv . innerHTML = a , a = mxUtils . extractTextWithWhitespace ( this . html2txtDiv . childNodes ) ) ; t = this . state ; var A = this . xmGeo ; g = this . cellState . style . fontSize ; l = this . cellState . style . fontFamily ; var B =
mxUtils . getSizeForString ( a , g , l ) ; n = h = 0 ; switch ( e ) { case "right" : h = B . width / 2 ; break ; case "left" : h = - B . width / 2 } switch ( c ) { case "top" : n = B . height / 2 ; break ; case "bottom" : n = - B . height / 2 } f *= t . scale ; d *= t . scale ; d = Math . max ( d , B . height ) ; f = Math . max ( f , B . width ) ; w = ( w - A . x + t . dx ) * t . scale ; b = ( A . height - b + A . y - t . dy ) * t . scale ; e = f / 2 ; c = d / 2 ; this . shape . appendChild ( this . createCellElemScaled ( "TxtPinX" , w ) ) ; this . shape . appendChild ( this . createCellElemScaled ( "TxtPinY" , b ) ) ; this . shape . appendChild ( this . createCellElemScaled ( "TxtWidth" , f ) ) ; this . shape . appendChild ( this . createCellElemScaled ( "TxtHeight" ,
d ) ) ; this . shape . appendChild ( this . createCellElemScaled ( "TxtLocPinX" , e + h ) ) ; this . shape . appendChild ( this . createCellElemScaled ( "TxtLocPinY" , c + n ) ) ; 0 != q && this . shape . appendChild ( this . createCellElemScaled ( "TxtAngle" , ( 360 - q ) * Math . PI / 180 ) ) ; w = this . xmlDoc . createElement ( "Section" ) ; w . setAttribute ( "N" , "Character" ) ; b = this . xmlDoc . createElement ( "Row" ) ; b . setAttribute ( "IX" , 0 ) ; ( f = this . cellState . style . fontColor ) && b . appendChild ( this . createCellElem ( "Color" , f ) ) ; g && b . appendChild ( this . createCellElemScaled ( "Size" , . 97 * g ) ) ; l && b . appendChild ( this . createCellElem ( "Font" ,
l ) ) ; w . appendChild ( b ) ; this . shape . appendChild ( w ) ; w = this . xmlDoc . createElement ( "Text" ) ; b = this . xmlDoc . createElement ( "cp" ) ; b . setAttribute ( "IX" , 0 ) ; w . appendChild ( b ) ; w . textContent = a ; this . shape . appendChild ( w ) } } ; mxVsdxCanvas2D . prototype . rotate = function ( w , b , f , d , a ) { 0 != w && ( b = this . state , d += b . dx , a += b . dy , d *= b . scale , a *= b . scale , this . shape . appendChild ( this . createCellElem ( "Angle" , ( 360 - w ) * Math . PI / 180 ) ) , b . rotation += w , b . rotationCx = d , b . rotationCy = a ) } ;
mxVsdxCanvas2D . prototype . stroke = function ( ) { this . geoSec . appendChild ( this . createCellElem ( "NoFill" , "1" ) ) ; this . geoSec . appendChild ( this . createCellElem ( "NoLine" , "0" ) ) } ; mxVsdxCanvas2D . prototype . fill = function ( ) { this . geoSec . appendChild ( this . createCellElem ( "NoFill" , "0" ) ) ; this . geoSec . appendChild ( this . createCellElem ( "NoLine" , "1" ) ) } ; mxVsdxCanvas2D . prototype . fillAndStroke = function ( ) { this . geoSec . appendChild ( this . createCellElem ( "NoFill" , "0" ) ) ; this . geoSec . appendChild ( this . createCellElem ( "NoLine" , "0" ) ) } ;