@ -23,43 +23,43 @@ TOTAL_STACK+")");if(Module["buffer"])buffer=Module["buffer"];else{if(typeof WebA
continue } var func = callback . func ; if ( typeof func === "number" ) if ( callback . arg === undefined ) Module [ "dynCall_v" ] ( func ) ; else Module [ "dynCall_vi" ] ( func , callback . arg ) ; else func ( callback . arg === undefined ? null : callback . arg ) } } var _ _ATPRERUN _ _ = [ ] ; var _ _ATINIT _ _ = [ ] ; var _ _ATMAIN _ _ = [ ] ; var _ _ATPOSTRUN _ _ = [ function ( ) { window [ "AscFonts" ] . onLoadModule ( ) } ] ; var runtimeInitialized = false ; function preRun ( ) { if ( Module [ "preRun" ] ) { if ( typeof Module [ "preRun" ] == "function" ) Module [ "preRun" ] = [ Module [ "preRun" ] ] ; while ( Module [ "preRun" ] . length ) addOnPreRun ( Module [ "preRun" ] . shift ( ) ) } callRuntimeCallbacks ( _ _ATPRERUN _ _ ) }
continue } var func = callback . func ; if ( typeof func === "number" ) if ( callback . arg === undefined ) Module [ "dynCall_v" ] ( func ) ; else Module [ "dynCall_vi" ] ( func , callback . arg ) ; else func ( callback . arg === undefined ? null : callback . arg ) } } var _ _ATPRERUN _ _ = [ ] ; var _ _ATINIT _ _ = [ ] ; var _ _ATMAIN _ _ = [ ] ; var _ _ATPOSTRUN _ _ = [ function ( ) { window [ "AscFonts" ] . onLoadModule ( ) } ] ; var runtimeInitialized = false ; function preRun ( ) { if ( Module [ "preRun" ] ) { if ( typeof Module [ "preRun" ] == "function" ) Module [ "preRun" ] = [ Module [ "preRun" ] ] ; while ( Module [ "preRun" ] . length ) addOnPreRun ( Module [ "preRun" ] . shift ( ) ) } callRuntimeCallbacks ( _ _ATPRERUN _ _ ) }
function ensureInitRuntime ( ) { if ( runtimeInitialized ) return ; runtimeInitialized = true ; callRuntimeCallbacks ( _ _ATINIT _ _ ) } function preMain ( ) { callRuntimeCallbacks ( _ _ATMAIN _ _ ) } function postRun ( ) { if ( Module [ "postRun" ] ) { if ( typeof Module [ "postRun" ] == "function" ) Module [ "postRun" ] = [ Module [ "postRun" ] ] ; while ( Module [ "postRun" ] . length ) addOnPostRun ( Module [ "postRun" ] . shift ( ) ) } callRuntimeCallbacks ( _ _ATPOSTRUN _ _ ) } function addOnPreRun ( cb ) { _ _ATPRERUN _ _ . unshift ( cb ) } function addOnPostRun ( cb ) { _ _ATPOSTRUN _ _ . unshift ( cb ) } var runDependencies =
function ensureInitRuntime ( ) { if ( runtimeInitialized ) return ; runtimeInitialized = true ; callRuntimeCallbacks ( _ _ATINIT _ _ ) } function preMain ( ) { callRuntimeCallbacks ( _ _ATMAIN _ _ ) } function postRun ( ) { if ( Module [ "postRun" ] ) { if ( typeof Module [ "postRun" ] == "function" ) Module [ "postRun" ] = [ Module [ "postRun" ] ] ; while ( Module [ "postRun" ] . length ) addOnPostRun ( Module [ "postRun" ] . shift ( ) ) } callRuntimeCallbacks ( _ _ATPOSTRUN _ _ ) } function addOnPreRun ( cb ) { _ _ATPRERUN _ _ . unshift ( cb ) } function addOnPostRun ( cb ) { _ _ATPOSTRUN _ _ . unshift ( cb ) } var runDependencies =
0 ; var runDependencyWatcher = null ; var dependenciesFulfilled = null ; function addRunDependency ( id ) { runDependencies ++ ; if ( Module [ "monitorRunDependencies" ] ) Module [ "monitorRunDependencies" ] ( runDependencies ) } function removeRunDependency ( id ) { runDependencies -- ; if ( Module [ "monitorRunDependencies" ] ) Module [ "monitorRunDependencies" ] ( runDependencies ) ; if ( runDependencies == 0 ) { if ( runDependencyWatcher !== null ) { clearInterval ( runDependencyWatcher ) ; runDependencyWatcher = null } if ( dependenciesFulfilled ) { var callback = dependenciesFulfilled ;
0 ; var runDependencyWatcher = null ; var dependenciesFulfilled = null ; function addRunDependency ( id ) { runDependencies ++ ; if ( Module [ "monitorRunDependencies" ] ) Module [ "monitorRunDependencies" ] ( runDependencies ) } function removeRunDependency ( id ) { runDependencies -- ; if ( Module [ "monitorRunDependencies" ] ) Module [ "monitorRunDependencies" ] ( runDependencies ) ; if ( runDependencies == 0 ) { if ( runDependencyWatcher !== null ) { clearInterval ( runDependencyWatcher ) ; runDependencyWatcher = null } if ( dependenciesFulfilled ) { var callback = dependenciesFulfilled ;
dependenciesFulfilled = null ; callback ( ) } } } Module [ "preloadedImages" ] = { } ; Module [ "preloadedAudios" ] = { } ; var dataURIPrefix = "data:application/octet-stream;base64," ; function isDataURI ( filename ) { return String . prototype . startsWith ? filename . startsWith ( dataURIPrefix ) : filename . indexOf ( dataURIPrefix ) === 0 } var wasmBinaryFile = "fonts.wasm "; if ( ! isDataURI ( wasmBinaryFile ) ) wasmBinaryFile = locateFile ( wasmBinaryFile ) ; function getBinary ( ) { try { if ( Module [ "wasmBinary" ] ) return new Uint8Array ( Module [ "wasmBinary" ] ) ; if ( Module [ "readBinary" ] ) return Module [ "readBinary" ] ( wasmBinaryFile ) ;
dependenciesFulfilled = null ; callback ( ) } } } Module [ "preloadedImages" ] = { } ; Module [ "preloadedAudios" ] = { } ; var dataURIPrefix = "data:application/octet-stream;base64," ; function isDataURI ( filename ) { return String . prototype . startsWith ? filename . startsWith ( dataURIPrefix ) : filename . indexOf ( dataURIPrefix ) === 0 } var wasmBinaryFile = "fonts.wasm ? "+ window . CP _urlArgs ; if ( ! isDataURI ( wasmBinaryFile ) ) wasmBinaryFile = locateFile ( wasmBinaryFile ) ; function getBinary ( ) { try { if ( Module [ "wasmBinary" ] ) return new Uint8Array ( Module [ "wasmBinary" ] ) ;
else throw "both async and sync fetching of the wasm failed" ; } catch ( err$0 ) { abort ( err$0 ) } } function getBinaryPromise2 ( ) { if ( ! Module [ "wasmBinary" ] && ( ENVIRONMENT _IS _WEB || ENVIRONMENT _IS _WORKER ) && typeof fetch === "function" ) return fetch ( wasmBinaryFile , { credentials : "same-origin" } ) . then ( function ( response ) { if ( ! response [ "ok" ] ) throw "failed to load wasm binary file at '" + wasmBinaryFile + "'" ; return response [ "arrayBuffer" ] ( ) } ) . catch ( function ( ) { return getBinary ( ) } ) ; return new Promise ( function ( resolve , reject ) { resolve ( getBinary ( ) ) } ) }
if ( Module [ "readBinary" ] ) return Module [ "readBinary" ] ( wasmBinaryFile ) ; else throw "both async and sync fetching of the wasm failed" ; } catch ( err$0 ) { abort ( err$0 ) } } function getBinaryPromise2 ( ) { if ( ! Module [ "wasmBinary" ] && ( ENVIRONMENT _IS _WEB || ENVIRONMENT _IS _WORKER ) && typeof fetch === "function" ) return fetch ( wasmBinaryFile , { credentials : "same-origin" } ) . then ( function ( response ) { if ( ! response [ "ok" ] ) throw "failed to load wasm binary file at '" + wasmBinaryFile + "'" ; return response [ "arrayBuffer" ] ( ) } ) . catch ( function ( ) { return getBinary ( ) } ) ;
function createWasm ( env ) { var info = { "env" : env , "global" : { "NaN" : NaN , Infinity : Infinity } , "global.Math" : Math , "asm2wasm" : asm2wasmImports } ; function receiveInstance ( instance , module ) { var exports = instance . exports ; Module [ "asm" ] = exports ; removeRunDependency ( "wasm-instantiate" ) } addRunDependency ( "wasm-instantiate" ) ; if ( Module [ "instantiateWasm" ] ) try { return Module [ "instantiateWasm" ] ( info , receiveInstance ) } catch ( e ) { err ( "Module.instantiateWasm callback failed with error: " + e ) ; return false } function receiveInstantiatedSource ( output ) { receiveInstance ( output [ "instance" ] ) }
return new Promise ( function ( resolve , reject ) { resolve ( getBinary ( ) ) } ) } function createWasm ( env ) { var info = { "env" : env , "global" : { "NaN" : NaN , Infinity : Infinity } , "global.Math" : Math , "asm2wasm" : asm2wasmImports } ; function receiveInstance ( instance , module ) { var exports = instance . exports ; Module [ "asm" ] = exports ; removeRunDependency ( "wasm-instantiate" ) } addRunDependency ( "wasm-instantiate" ) ; if ( Module [ "instantiateWasm" ] ) try { return Module [ "instantiateWasm" ] ( info , receiveInstance ) } catch ( e ) { err ( "Module.instantiateWasm callback failed with error: " +
function instantiateArrayBuffer ( receiver ) { getBinaryPromise ( ) . then ( function ( binary ) { return WebAssembly . instantiate ( binary , info ) } ) . then ( receiver , function ( reason ) { err ( "failed to asynchronously prepare wasm: " + reason ) ; abort ( reason ) } ) } if ( ! Module [ "wasmBinary" ] && typeof WebAssembly . instantiateStreaming === "function" && ! isDataURI ( wasmBinaryFile ) && typeof fetch === "function" ) WebAssembly . instantiateStreaming ( fetch ( wasmBinaryFile , { credentials : "same-origin" } ) , info ) . then ( receiveInstantiatedSource , function ( reason ) { err ( "wasm streaming compile failed: " +
e ) ; return false } function receiveInstantiatedSource ( output ) { receiveInstance ( output [ "instance" ] ) } function instantiateArrayBuffer ( receiver ) { getBinaryPromise ( ) . then ( function ( binary ) { return WebAssembly . instantiate ( binary , info ) } ) . then ( receiver , function ( reason ) { err ( "failed to asynchronously prepare wasm: " + reason ) ; abort ( reason ) } ) } if ( ! Module [ "wasmBinary" ] && typeof WebAssembly . instantiateStreaming === "function" && ! isDataURI ( wasmBinaryFile ) && typeof fetch === "function" ) WebAssembly . instantiateStreaming ( fetch ( wasmBinaryFile ,
reason ) ; err ( "falling back to ArrayBuffer instantiation" ) ; instantiateArrayBuffer ( receiveInstantiatedSource ) } ) ; else instantiateArrayBuffer ( receiveInstantiatedSource ) ; return { } } Module [ "asm" ] = function ( global , env , providedBuffer ) { env [ "memory" ] = wasmMemory ; env [ "table" ] = wasmTable = new WebAssembly . Table ( { "initial" : 814 , "maximum" : 814 , "element" : "anyfunc" } ) ; env [ "__memory_base" ] = 1024 ; env [ "__table_base" ] = 0 ; var exports = createWasm ( env ) ; return exports } ; _ _ATINIT _ _ . push ( { func : function ( ) { _ _ _emscripten _environ _constructor ( ) } } ) ;
{ credentials : "same-origin" } ) , info ) . then ( receiveInstantiatedSource , function ( reason ) { err ( "wasm streaming compile failed: " + reason ) ; err ( "falling back to ArrayBuffer instantiation" ) ; instantiateArrayBuffer ( receiveInstantiatedSource ) } ) ; else instantiateArrayBuffer ( receiveInstantiatedSource ) ; return { } } Module [ "asm" ] = function ( global , env , providedBuffer ) { env [ "memory" ] = wasmMemory ; env [ "table" ] = wasmTable = new WebAssembly . Table ( { "initial" : 814 , "maximum" : 814 , "element" : "anyfunc" } ) ; env [ "__memory_base" ] = 1024 ; env [ "__table_base" ] =
var ENV = { } ; function _ _ _buildEnvironment ( environ ) { var MAX _ENV _VALUES = 64 ; var TOTAL _ENV _SIZE = 1024 ; var poolPtr ; var envPtr ; if ( ! _ _ _buildEnvironment . called ) { _ _ _buildEnvironment . called = true ; ENV [ "USER" ] = ENV [ "LOGNAME" ] = "web_user" ; ENV [ "PATH" ] = "/" ; ENV [ "PWD" ] = "/" ; ENV [ "HOME" ] = "/home/web_user" ; ENV [ "LANG" ] = "C.UTF-8" ; ENV [ "_" ] = Module [ "thisProgram" ] ; poolPtr = getMemory ( TOTAL _ENV _SIZE ) ; envPtr = getMemory ( MAX _ENV _VALUES * 4 ) ; HEAP32 [ envPtr >> 2 ] = poolPtr ; HEAP32 [ environ >> 2 ] = envPtr } else { envPtr = HEAP32 [ environ >> 2 ] ; poolPtr = HEAP32 [ envPtr >>
0 ; var exports = createWasm ( env ) ; return exports } ; _ _ATINIT _ _ . push ( { func : function ( ) { _ _ _emscripten _environ _constructor ( ) } } ) ; var ENV = { } ; function _ _ _buildEnvironment ( environ ) { var MAX _ENV _VALUES = 64 ; var TOTAL _ENV _SIZE = 1024 ; var poolPtr ; var envPtr ; if ( ! _ _ _buildEnvironment . called ) { _ _ _buildEnvironment . called = true ; ENV [ "USER" ] = ENV [ "LOGNAME" ] = "web_user" ; ENV [ "PATH" ] = "/" ; ENV [ "PWD" ] = "/" ; ENV [ "HOME" ] = "/home/web_user" ; ENV [ "LANG" ] = "C.UTF-8" ; ENV [ "_" ] = Module [ "thisProgram" ] ; poolPtr = getMemory ( TOTAL _ENV _SIZE ) ; envPtr = getMemory ( MAX _ENV _VALUES *
2 ] } var strings = [ ] ; var totalSize = 0 ; for ( var key in ENV ) if ( typeof ENV [ key ] === "string" ) { var line = key + "=" + ENV [ key ] ; strings . push ( line ) ; totalSize += line . length } if ( totalSize > TOTAL _ENV _SIZE ) throw new Error ( "Environment size exceeded TOTAL_ENV_SIZE!" ) ; var ptrSize = 4 ; for ( var i = 0 ; i < strings . length ; i ++ ) { var line = strings [ i ] ; writeAsciiToMemory ( line , poolPtr ) ; HEAP32 [ envPtr + i * ptrSize >> 2 ] = poolPtr ; poolPtr += line . length + 1 } HEAP32 [ envPtr + strings . length * ptrSize >> 2 ] = 0 } function _ _ _lock ( ) { } var SYSCALLS = { buffers : [ null , [ ] , [ ] ] , printChar : function ( stream ,
4 ) ; HEAP32 [ envPtr >> 2 ] = poolPtr ; HEAP32 [ environ >> 2 ] = envPtr } else { envPtr = HEAP32 [ environ >> 2 ] ; poolPtr = HEAP32 [ envPtr >> 2 ] } var strings = [ ] ; var totalSize = 0 ; for ( var key in ENV ) if ( typeof ENV [ key ] === "string" ) { var line = key + "=" + ENV [ key ] ; strings . push ( line ) ; totalSize += line . length } if ( totalSize > TOTAL _ENV _SIZE ) throw new Error ( "Environment size exceeded TOTAL_ENV_SIZE!" ) ; var ptrSize = 4 ; for ( var i = 0 ; i < strings . length ; i ++ ) { var line = strings [ i ] ; writeAsciiToMemory ( line , poolPtr ) ; HEAP32 [ envPtr + i * ptrSize >> 2 ] = poolPtr ; poolPtr += line . length +
curr ) { var buffer = SYSCALLS . buffers [ stream ] ; if ( curr === 0 || curr === 10 ) { ( stream === 1 ? out : err ) ( UTF8ArrayToString ( buffer , 0 ) ) ; buffer . length = 0 } else buffer . push ( curr ) } , varargs : 0 , get : function ( varargs ) { SYSCALLS . varargs += 4 ; var ret = HEAP32 [ SYSCALLS . varargs - 4 >> 2 ] ; return ret } , getStr : function ( ) { var ret = UTF8ToString ( SYSCALLS . get ( ) ) ; return ret } , get64 : function ( ) { var low = SYSCALLS . get ( ) , high = SYSCALLS . get ( ) ; return low } , getZero : function ( ) { SYSCALLS . get ( ) } } ; function _ _ _syscall140 ( which , varargs ) { SYSCALLS . varargs = varargs ; try { var stream =
1 } HEAP32 [ envPtr + strings . length * ptrSize >> 2 ] = 0 } function _ _ _lock ( ) { } var SYSCALLS = { buffers : [ null , [ ] , [ ] ] , printChar : function ( stream , curr ) { var buffer = SYSCALLS . buffers [ stream ] ; if ( curr === 0 || curr === 10 ) { ( stream === 1 ? out : err ) ( UTF8ArrayToString ( buffer , 0 ) ) ; buffer . length = 0 } else buffer . push ( curr ) } , varargs : 0 , get : function ( varargs ) { SYSCALLS . varargs += 4 ; var ret = HEAP32 [ SYSCALLS . varargs - 4 >> 2 ] ; return ret } , getStr : function ( ) { var ret = UTF8ToString ( SYSCALLS . get ( ) ) ; return ret } , get64 : function ( ) { var low = SYSCALLS . get ( ) , high = SYSCALLS . get ( ) ;
SYSCALLS . getStreamFromFD ( ) , offset _high = SYSCALLS . get ( ) , offset _low = SYSCALLS . get ( ) , result = SYSCALLS . get ( ) , whence = SYSCALLS . get ( ) ; var offset = offset _low ; FS . llseek ( stream , offset , whence ) ; HEAP32 [ result >> 2 ] = stream . position ; if ( stream . getdents && offset === 0 && whence === 0 ) stream . getdents = null ; return 0 } catch ( e ) { if ( typeof FS === "undefined" || ! ( e instanceof FS . ErrnoError ) ) abort ( e ) ; return - e . errno } } function _ _ _syscall145 ( which , varargs ) { SYSCALLS . varargs = varargs ; try { var stream = SYSCALLS . getStreamFromFD ( ) , iov = SYSCALLS . get ( ) ,
return low } , getZero : function ( ) { SYSCALLS . get ( ) } } ; function _ _ _syscall140 ( which , varargs ) { SYSCALLS . varargs = varargs ; try { var stream = SYSCALLS . getStreamFromFD ( ) , offset _high = SYSCALLS . get ( ) , offset _low = SYSCALLS . get ( ) , result = SYSCALLS . get ( ) , whence = SYSCALLS . get ( ) ; var offset = offset _low ; FS . llseek ( stream , offset , whence ) ; HEAP32 [ result >> 2 ] = stream . position ; if ( stream . getdents && offset === 0 && whence === 0 ) stream . getdents = null ; return 0 } catch ( e ) { if ( typeof FS === "undefined" || ! ( e instanceof FS . ErrnoError ) ) abort ( e ) ; return - e . errno } }
iovcnt = SYSCALLS . get ( ) ; return SYSCALLS . doReadv ( stream , iov , iovcnt ) } catch ( e ) { if ( typeof FS === "undefined" || ! ( e instanceof FS . ErrnoError ) ) abort ( e ) ; return - e . errno } } function _ _ _syscall146 ( which , varargs ) { SYSCALLS . varargs = varargs ; try { var stream = SYSCALLS . get ( ) , iov = SYSCALLS . get ( ) , iovcnt = SYSCALLS . get ( ) ; var ret = 0 ; for ( var i = 0 ; i < iovcnt ; i ++ ) { var ptr = HEAP32 [ iov + i * 8 >> 2 ] ; var len = HEAP32 [ iov + ( i * 8 + 4 ) >> 2 ] ; for ( var j = 0 ; j < len ; j ++ ) SYSCALLS . printChar ( stream , HEAPU8 [ ptr + j ] ) ; ret += len } return ret } catch ( e ) { if ( typeof FS === "undefined" ||
function _ _ _syscall145 ( which , varargs ) { SYSCALLS . varargs = varargs ; try { var stream = SYSCALLS . getStreamFromFD ( ) , iov = SYSCALLS . get ( ) , iovcnt = SYSCALLS . get ( ) ; return SYSCALLS . doReadv ( stream , iov , iovcnt ) } catch ( e ) { if ( typeof FS === "undefined" || ! ( e instanceof FS . ErrnoError ) ) abort ( e ) ; return - e . errno } } function _ _ _syscall146 ( which , varargs ) { SYSCALLS . varargs = varargs ; try { var stream = SYSCALLS . get ( ) , iov = SYSCALLS . get ( ) , iovcnt = SYSCALLS . get ( ) ; var ret = 0 ; for ( var i = 0 ; i < iovcnt ; i ++ ) { var ptr = HEAP32 [ iov + i * 8 >> 2 ] ; var len = HEAP32 [ iov + ( i * 8 +
! ( e instanceof FS . ErrnoError ) ) abort ( e ) ; return - e . errno } } function _ _ _setErrNo ( value ) { if ( Module [ "___errno_location" ] ) HEAP32 [ Module [ "___errno_location" ] ( ) >> 2 ] = value ; return value } function _ _ _syscall221 ( which , varargs ) { SYSCALLS . varargs = varargs ; try { return 0 } catch ( e ) { if ( typeof FS === "undefined" || ! ( e instanceof FS . ErrnoError ) ) abort ( e ) ; return - e . errno } } function _ _ _syscall5 ( which , varargs ) { SYSCALLS . varargs = varargs ; try { var pathname = SYSCALLS . getStr ( ) , flags = SYSCALLS . get ( ) , mode = SYSCALLS . get ( ) ; var stream = FS . open ( pathname ,
4 ) >> 2 ] ; for ( var j = 0 ; j < len ; j ++ ) SYSCALLS . printChar ( stream , HEAPU8 [ ptr + j ] ) ; ret += len } return ret } catch ( e ) { if ( typeof FS === "undefined" || ! ( e instanceof FS . ErrnoError ) ) abort ( e ) ; return - e . errno } } function _ _ _setErrNo ( value ) { if ( Module [ "___errno_location" ] ) HEAP32 [ Module [ "___errno_location" ] ( ) >> 2 ] = value ; return value } function _ _ _syscall221 ( which , varargs ) { SYSCALLS . varargs = varargs ; try { return 0 } catch ( e ) { if ( typeof FS === "undefined" || ! ( e instanceof FS . ErrnoError ) ) abort ( e ) ; return - e . errno } } function _ _ _syscall5 ( which , varargs ) { SYSCALLS . varargs =
flags , mode ) ; return stream . fd } catch ( e ) { if ( typeof FS === "undefined" || ! ( e instanceof FS . ErrnoError ) ) abort ( e ) ; return - e . errno } } function _ _ _syscall54 ( which , varargs ) { SYSCALLS . varargs = varargs ; try { return 0 } catch ( e ) { if ( typeof FS === "undefined" || ! ( e instanceof FS . ErrnoError ) ) abort ( e ) ; return - e . errno } } function _ _ _syscall6 ( which , varargs ) { SYSCALLS . varargs = varargs ; try { var stream = SYSCALLS . getStreamFromFD ( ) ; FS . close ( stream ) ; return 0 } catch ( e ) { if ( typeof FS === "undefined" || ! ( e instanceof FS . ErrnoError ) ) abort ( e ) ; return - e . errno } }
varargs ; try { var pathname = SYSCALLS . getStr ( ) , flags = SYSCALLS . get ( ) , mode = SYSCALLS . get ( ) ; var stream = FS . open ( pathname , flags , mode ) ; return stream . fd } catch ( e ) { if ( typeof FS === "undefined" || ! ( e instanceof FS . ErrnoError ) ) abort ( e ) ; return - e . errno } } function _ _ _syscall54 ( which , varargs ) { SYSCALLS . varargs = varargs ; try { return 0 } catch ( e ) { if ( typeof FS === "undefined" || ! ( e instanceof FS . ErrnoError ) ) abort ( e ) ; return - e . errno } } function _ _ _syscall6 ( which , varargs ) { SYSCALLS . varargs = varargs ; try { var stream = SYSCALLS . getStreamFromFD ( ) ;
function _ _ _unlock ( ) { } function _emscripten _get _heap _size ( ) { return TOTAL _MEMORY } function _longjmp ( env , value ) { _setThrew ( env , value || 1 ) ; throw "longjmp" ; } function _emscripten _longjmp ( env , value ) { _longjmp ( env , value ) } function abortOnCannotGrowMemory ( requestedSize ) { abort ( "OOM" ) } function emscripten _realloc _buffer ( size ) { var PAGE _MULTIPLE = 65536 ; size = alignUp ( size , PAGE _MULTIPLE ) ; var old = Module [ "buffer" ] ; var oldSize = old . byteLength ; try { var result = wasmMemory . grow ( ( size - oldSize ) / 65536 ) ; if ( result !== ( - 1 | 0 ) ) return Module [ "buffer" ] =
FS . close ( stream ) ; return 0 } catch ( e ) { if ( typeof FS === "undefined" || ! ( e instanceof FS . ErrnoError ) ) abort ( e ) ; return - e . errno } } function _ _ _unlock ( ) { } function _emscripten _get _heap _size ( ) { return TOTAL _MEMORY } function _longjmp ( env , value ) { _setThrew ( env , value || 1 ) ; throw "longjmp" ; } function _emscripten _longjmp ( env , value ) { _longjmp ( env , value ) } function abortOnCannotGrowMemory ( requestedSize ) { abort ( "OOM" ) } function emscripten _realloc _buffer ( size ) { var PAGE _MULTIPLE = 65536 ; size = alignUp ( size , PAGE _MULTIPLE ) ; var old = Module [ "buffer" ] ;
wasmMemory . buffer ; else return null } catch ( e ) { return null } } function _emscripten _resize _heap ( requestedSize ) { var oldSize = _emscripten _get _heap _size ( ) ; var PAGE _MULTIPLE = 65536 ; var LIMIT = 2147483648 - PAGE _MULTIPLE ; if ( requestedSize > LIMIT ) return false ; var MIN _TOTAL _MEMORY = 16777216 ; var newSize = Math . max ( oldSize , MIN _TOTAL _MEMORY ) ; while ( newSize < requestedSize ) if ( newSize <= 536870912 ) newSize = alignUp ( 2 * newSize , PAGE _MULTIPLE ) ; else newSize = Math . min ( alignUp ( ( 3 * newSize + 2147483648 ) / 4 , PAGE _MULTIPLE ) , LIMIT ) ; var replacement =
var oldSize = old . byteLength ; try { var result = wasmMemory . grow ( ( size - oldSize ) / 65536 ) ; if ( result !== ( - 1 | 0 ) ) return Module [ "buffer" ] = wasmMemory . buffer ; else return null } catch ( e ) { return null } } function _emscripten _resize _heap ( requestedSize ) { var oldSize = _emscripten _get _heap _size ( ) ; var PAGE _MULTIPLE = 65536 ; var LIMIT = 2147483648 - PAGE _MULTIPLE ; if ( requestedSize > LIMIT ) return false ; var MIN _TOTAL _MEMORY = 16777216 ; var newSize = Math . max ( oldSize , MIN _TOTAL _MEMORY ) ; while ( newSize < requestedSize ) if ( newSize <= 536870912 ) newSize = alignUp ( 2 *
emscripten _realloc _buffer ( newSize ) ; if ( ! replacement || replacement . byteLength != newSize ) return false ; updateGlobalBuffer ( replacement ) ; updateGlobalBufferViews ( ) ; TOTAL _MEMORY = newSize ; return true } function _getenv ( name ) { if ( name === 0 ) return 0 ; name = UTF8ToString ( name ) ; if ( ! ENV . hasOwnProperty ( name ) ) return 0 ; if ( _getenv . ret ) _free ( _getenv . ret ) ; _getenv . ret = allocateUTF8 ( ENV [ name ] ) ; return _getenv . ret } function _emscripten _memcpy _big ( dest , src , num ) { HEAPU8 . set ( HEAPU8 . subarray ( src , src + num ) , dest ) } function invoke _iii ( index ,
newSize , PAGE _MULTIPLE ) ; else newSize = Math . min ( alignUp ( ( 3 * newSize + 2147483648 ) / 4 , PAGE _MULTIPLE ) , LIMIT ) ; var replacement = emscripten _realloc _buffer ( newSize ) ; if ( ! replacement || replacement . byteLength != newSize ) return false ; updateGlobalBuffer ( replacement ) ; updateGlobalBufferViews ( ) ; TOTAL _MEMORY = newSize ; return true } function _getenv ( name ) { if ( name === 0 ) return 0 ; name = UTF8ToString ( name ) ; if ( ! ENV . hasOwnProperty ( name ) ) return 0 ; if ( _getenv . ret ) _free ( _getenv . ret ) ; _getenv . ret = allocateUTF8 ( ENV [ name ] ) ; return _getenv . ret } function _emscripten _memcpy _big ( dest ,
a1 , a2 ) { var sp = stackSave ( ) ; try { return dynCall _iii ( index , a1 , a2 ) } catch ( e ) { stackRestore ( sp ) ; if ( e !== e + 0 && e !== "longjmp" ) throw e ; _setThrew ( 1 , 0 ) } } function invoke _iiii ( index , a1 , a2 , a3 ) { var sp = stackSave ( ) ; try { return dynCall _iiii ( index , a1 , a2 , a3 ) } catch ( e ) { stackRestore ( sp ) ; if ( e !== e + 0 && e !== "longjmp" ) throw e ; _setThrew ( 1 , 0 ) } } function invoke _iiiii ( index , a1 , a2 , a3 , a4 ) { var sp = stackSave ( ) ; try { return dynCall _iiiii ( index , a1 , a2 , a3 , a4 ) } catch ( e ) { stackRestore ( sp ) ; if ( e !== e + 0 && e !== "longjmp" ) throw e ; _setThrew ( 1 , 0 ) } } function invoke _vii ( index ,
src , num ) { HEAPU8 . set ( HEAPU8 . subarray ( src , src + num ) , dest ) } function invoke _iii ( index , a1 , a2 ) { var sp = stackSave ( ) ; try { return dynCall _iii ( index , a1 , a2 ) } catch ( e ) { stackRestore ( sp ) ; if ( e !== e + 0 && e !== "longjmp" ) throw e ; _setThrew ( 1 , 0 ) } } function invoke _iiii ( index , a1 , a2 , a3 ) { var sp = stackSave ( ) ; try { return dynCall _iiii ( index , a1 , a2 , a3 ) } catch ( e ) { stackRestore ( sp ) ; if ( e !== e + 0 && e !== "longjmp" ) throw e ; _setThrew ( 1 , 0 ) } } function invoke _iiiii ( index , a1 , a2 , a3 , a4 ) { var sp = stackSave ( ) ; try { return dynCall _iiiii ( index , a1 , a2 , a3 , a4 ) } catch ( e ) { stackRestore ( sp ) ;
a1 , a2 ) { var sp = stackSave ( ) ; try { dynCall _vii ( index , a1 , a2 ) } catch ( e ) { stackRestore ( sp ) ; if ( e !== e + 0 && e !== "longjmp" ) throw e ; _setThrew ( 1 , 0 ) } } function invoke _viiii ( index , a1 , a2 , a3 , a4 ) { var sp = stackSave ( ) ; try { dynCall _viiii ( index , a1 , a2 , a3 , a4 ) } catch ( e ) { stackRestore ( sp ) ; if ( e !== e + 0 && e !== "longjmp" ) throw e ; _setThrew ( 1 , 0 ) } } var asmGlobalArg = { } ; var asmLibraryArg = { "b" : abort , "e" : setTempRet0 , "d" : getTempRet0 , "r" : invoke _iii , "q" : invoke _iiii , "p" : invoke _iiiii , "o" : invoke _vii , "n" : invoke _viiii , "m" : _ _ _buildEnvironment , "l" : _ _ _lock ,
if ( e !== e + 0 && e !== "longjmp" ) throw e ; _setThrew ( 1 , 0 ) } } function invoke _vii ( index , a1 , a2 ) { var sp = stackSave ( ) ; try { dynCall _vii ( index , a1 , a2 ) } catch ( e ) { stackRestore ( sp ) ; if ( e !== e + 0 && e !== "longjmp" ) throw e ; _setThrew ( 1 , 0 ) } } function invoke _viiii ( index , a1 , a2 , a3 , a4 ) { var sp = stackSave ( ) ; try { dynCall _viiii ( index , a1 , a2 , a3 , a4 ) } catch ( e ) { stackRestore ( sp ) ; if ( e !== e + 0 && e !== "longjmp" ) throw e ; _setThrew ( 1 , 0 ) } } var asmGlobalArg = { } ; var asmLibraryArg = { "b" : abort , "e" : setTempRet0 , "d" : getTempRet0 , "r" : invoke _iii , "q" : invoke _iiii , "p" : invoke _iiiii ,
"k" : _ _ _setErrNo , "A" : _ _ _syscall140 , "z" : _ _ _syscall145 , "j" : _ _ _syscall146 , "f" : _ _ _syscall221 , "y" : _ _ _syscall5 , "i" : _ _ _syscall54 , "h" : _ _ _syscall6 , "g" : _ _ _unlock , "x" : _emscripten _get _heap _size , "w" : _emscripten _longjmp , "v" : _emscripten _memcpy _big , "u" : _emscripten _resize _heap , "t" : _getenv , "c" : _longjmp , "s" : abortOnCannotGrowMemory , "a" : DYNAMICTOP _PTR } ; var asm = Module [ "asm" ] ( asmGlobalArg , asmLibraryArg , buffer ) ; Module [ "asm" ] = asm ; var _ASC _FT _Free = Module [ "_ASC_FT_Free" ] = function ( ) { return Module [ "asm" ] [ "B" ] . apply ( null , arguments ) } ;
"o" : invoke _vii , "n" : invoke _viiii , "m" : _ _ _buildEnvironment , "l" : _ _ _lock , "k" : _ _ _setErrNo , "A" : _ _ _syscall140 , "z" : _ _ _syscall145 , "j" : _ _ _syscall146 , "f" : _ _ _syscall221 , "y" : _ _ _syscall5 , "i" : _ _ _syscall54 , "h" : _ _ _syscall6 , "g" : _ _ _unlock , "x" : _emscripten _get _heap _size , "w" : _emscripten _longjmp , "v" : _emscripten _memcpy _big , "u" : _emscripten _resize _heap , "t" : _getenv , "c" : _longjmp , "s" : abortOnCannotGrowMemory , "a" : DYNAMICTOP _PTR } ; var asm = Module [ "asm" ] ( asmGlobalArg , asmLibraryArg , buffer ) ; Module [ "asm" ] = asm ; var _ASC _FT _Free = Module [ "_ASC_FT_Free" ] =
var _ASC _FT _GetFaceInfo = Module [ "_ASC_FT_GetFaceInfo" ] = function ( ) { return Module [ "asm" ] [ "C" ] . apply ( null , arguments ) } ; var _ASC _FT _GetFaceMaxAdvanceX = Module [ "_ASC_FT_GetFaceMaxAdvanceX" ] = function ( ) { return Module [ "asm" ] [ "D" ] . apply ( null , arguments ) } ; var _ASC _FT _GetKerningX = Module [ "_ASC_FT_GetKerningX" ] = function ( ) { return Module [ "asm" ] [ "E" ] . apply ( null , arguments ) } ; var _ASC _FT _Get _Glyph _Measure _Params = Module [ "_ASC_FT_Get_Glyph_Measure_Params" ] = function ( ) { return Module [ "asm" ] [ "F" ] . apply ( null , arguments ) } ; var _ASC _FT _Get _Glyph _Render _Buffer =
function ( ) { return Module [ "asm" ] [ "B" ] . apply ( null , arguments ) } ; var _ASC _FT _GetFaceInfo = Module [ "_ASC_FT_GetFaceInfo" ] = function ( ) { return Module [ "asm" ] [ "C" ] . apply ( null , arguments ) } ; var _ASC _FT _GetFaceMaxAdvanceX = Module [ "_ASC_FT_GetFaceMaxAdvanceX" ] = function ( ) { return Module [ "asm" ] [ "D" ] . apply ( null , arguments ) } ; var _ASC _FT _GetKerningX = Module [ "_ASC_FT_GetKerningX" ] = function ( ) { return Module [ "asm" ] [ "E" ] . apply ( null , arguments ) } ; var _ASC _FT _Get _Glyph _Measure _Params = Module [ "_ASC_FT_Get_Glyph_Measure_Params" ] = function ( ) { return Module [ "asm" ] [ "F" ] . apply ( null ,
Module [ "_ASC_FT_Get_Glyph_Render_Buffer" ] = function ( ) { return Module [ "asm" ] [ "G" ] . apply ( null , arguments ) } ; var _ASC _FT _Get _Glyph _Render _Params = Module [ "_ASC_FT_Get_Glyph_Render_Params" ] = function ( ) { return Module [ "asm" ] [ "H" ] . apply ( null , arguments ) } ; var _ASC _FT _Glyph _Get _CBox = Module [ "_ASC_FT_Glyph_Get_CBox" ] = function ( ) { return Module [ "asm" ] [ "I" ] . apply ( null , arguments ) } ; var _ASC _FT _Init = Module [ "_ASC_FT_Init" ] = function ( ) { return Module [ "asm" ] [ "J" ] . apply ( null , arguments ) } ; var _ASC _FT _Malloc = Module [ "_ASC_FT_Malloc" ] =
arguments ) } ; var _ASC _FT _Get _Glyph _Render _Buffer = Module [ "_ASC_FT_Get_Glyph_Render_Buffer" ] = function ( ) { return Module [ "asm" ] [ "G" ] . apply ( null , arguments ) } ; var _ASC _FT _Get _Glyph _Render _Params = Module [ "_ASC_FT_Get_Glyph_Render_Params" ] = function ( ) { return Module [ "asm" ] [ "H" ] . apply ( null , arguments ) } ; var _ASC _FT _Glyph _Get _CBox = Module [ "_ASC_FT_Glyph_Get_CBox" ] = function ( ) { return Module [ "asm" ] [ "I" ] . apply ( null , arguments ) } ; var _ASC _FT _Init = Module [ "_ASC_FT_Init" ] = function ( ) { return Module [ "asm" ] [ "J" ] . apply ( null , arguments ) } ;
function ( ) { return Module [ "asm" ] [ "K" ] . apply ( null , arguments ) } ; var _ASC _FT _Open _Face = Module [ "_ASC_FT_Open_Face" ] = function ( ) { return Module [ "asm" ] [ "L" ] . apply ( null , arguments ) } ; var _ASC _FT _SetCMapForCharCode = Module [ "_ASC_FT_SetCMapForCharCode" ] = function ( ) { return Module [ "asm" ] [ "M" ] . apply ( null , arguments ) } ; var _ASC _FT _Set _Transform = Module [ "_ASC_FT_Set_Transform" ] = function ( ) { return Module [ "asm" ] [ "N" ] . apply ( null , arguments ) } ; var _ASC _FT _Set _TrueType _HintProp = Module [ "_ASC_FT_Set_TrueType_HintProp" ] = function ( ) { return Module [ "asm" ] [ "O" ] . apply ( null ,
var _ASC _FT _Malloc = Module [ "_ASC_FT_Malloc" ] = function ( ) { return Module [ "asm" ] [ "K" ] . apply ( null , arguments ) } ; var _ASC _FT _Open _Face = Module [ "_ASC_FT_Open_Face" ] = function ( ) { return Module [ "asm" ] [ "L" ] . apply ( null , arguments ) } ; var _ASC _FT _SetCMapForCharCode = Module [ "_ASC_FT_SetCMapForCharCode" ] = function ( ) { return Module [ "asm" ] [ "M" ] . apply ( null , arguments ) } ; var _ASC _FT _Set _Transform = Module [ "_ASC_FT_Set_Transform" ] = function ( ) { return Module [ "asm" ] [ "N" ] . apply ( null , arguments ) } ; var _ASC _FT _Set _TrueType _HintProp = Module [ "_ASC_FT_Set_TrueType_HintProp" ] =
arguments ) } ; var _FT _Done _Face = Module [ "_FT_Done_Face" ] = function ( ) { return Module [ "asm" ] [ "P" ] . apply ( null , arguments ) } ; var _FT _Done _FreeType = Module [ "_FT_Done_FreeType" ] = function ( ) { return Module [ "asm" ] [ "Q" ] . apply ( null , arguments ) } ; var _FT _Get _Glyph = Module [ "_FT_Get_Glyph" ] = function ( ) { return Module [ "asm" ] [ "R" ] . apply ( null , arguments ) } ; var _FT _Load _Glyph = Module [ "_FT_Load_Glyph" ] = function ( ) { return Module [ "asm" ] [ "S" ] . apply ( null , arguments ) } ; var _FT _Set _Char _Size = Module [ "_FT_Set_Char_Size" ] = function ( ) { return Module [ "asm" ] [ "T" ] . apply ( null ,
function ( ) { return Module [ "asm" ] [ "O" ] . apply ( null , arguments ) } ; var _FT _Done _Face = Module [ "_FT_Done_Face" ] = function ( ) { return Module [ "asm" ] [ "P" ] . apply ( null , arguments ) } ; var _FT _Done _FreeType = Module [ "_FT_Done_FreeType" ] = function ( ) { return Module [ "asm" ] [ "Q" ] . apply ( null , arguments ) } ; var _FT _Get _Glyph = Module [ "_FT_Get_Glyph" ] = function ( ) { return Module [ "asm" ] [ "R" ] . apply ( null , arguments ) } ; var _FT _Load _Glyph = Module [ "_FT_Load_Glyph" ] = function ( ) { return Module [ "asm" ] [ "S" ] . apply ( null , arguments ) } ; var _FT _Set _Char _Size = Module [ "_FT_Set_Char_Size" ] =
arguments ) } ; var _FT _Set _Transform = Module [ "_FT_Set_Transform" ] = function ( ) { return Module [ "asm" ] [ "U" ] . apply ( null , arguments ) } ; var _ _ _emscripten _environ _constructor = Module [ "___emscripten_environ_constructor" ] = function ( ) { return Module [ "asm" ] [ "V" ] . apply ( null , arguments ) } ; var _free = Module [ "_free" ] = function ( ) { return Module [ "asm" ] [ "W" ] . apply ( null , arguments ) } ; var _malloc = Module [ "_malloc" ] = function ( ) { return Module [ "asm" ] [ "X" ] . apply ( null , arguments ) } ; var _setThrew = Module [ "_setThrew" ] = function ( ) { return Module [ "asm" ] [ "Y" ] . apply ( null ,
function ( ) { return Module [ "asm" ] [ "T" ] . apply ( null , arguments ) } ; var _FT _Set _Transform = Module [ "_FT_Set_Transform" ] = function ( ) { return Module [ "asm" ] [ "U" ] . apply ( null , arguments ) } ; var _ _ _emscripten _environ _constructor = Module [ "___emscripten_environ_constructor" ] = function ( ) { return Module [ "asm" ] [ "V" ] . apply ( null , arguments ) } ; var _free = Module [ "_free" ] = function ( ) { return Module [ "asm" ] [ "W" ] . apply ( null , arguments ) } ; var _malloc = Module [ "_malloc" ] = function ( ) { return Module [ "asm" ] [ "X" ] . apply ( null , arguments ) } ; var _setThrew =
arguments ) } ; var stackRestore = Module [ "stackRestore" ] = function ( ) { return Module [ "asm" ] [ "da" ] . apply ( null , arguments ) } ; var stackSave = Module [ "stackSave" ] = function ( ) { return Module [ "asm" ] [ "ea" ] . apply ( null , arguments ) } ; var dynCall _iii = Module [ "dynCall_iii" ] = function ( ) { return Module [ "asm" ] [ "Z" ] . apply ( null , arguments ) } ; var dynCall _iiii = Module [ "dynCall_iiii" ] = function ( ) { return Module [ "asm" ] [ "_" ] . apply ( null , arguments ) } ; var dynCall _iiiii = Module [ "dynCall_iiiii" ] = function ( ) { return Module [ "asm" ] [ "$" ] . apply ( null , arguments ) } ;
Module [ "_setThrew" ] = function ( ) { return Module [ "asm" ] [ "Y" ] . apply ( null , arguments ) } ; var stackRestore = Module [ "stackRestore" ] = function ( ) { return Module [ "asm" ] [ "da" ] . apply ( null , arguments ) } ; var stackSave = Module [ "stackSave" ] = function ( ) { return Module [ "asm" ] [ "ea" ] . apply ( null , arguments ) } ; var dynCall _iii = Module [ "dynCall_iii" ] = function ( ) { return Module [ "asm" ] [ "Z" ] . apply ( null , arguments ) } ; var dynCall _iiii = Module [ "dynCall_iiii" ] = function ( ) { return Module [ "asm" ] [ "_" ] . apply ( null , arguments ) } ; var dynCall _iiiii = Module [ "dynCall_iiiii" ] =
var dynCall _vi = Module [ "dynCall_vi" ] = function ( ) { return Module [ "asm" ] [ "aa" ] . apply ( null , arguments ) } ; var dynCall _vii = Module [ "dynCall_vii" ] = function ( ) { return Module [ "asm" ] [ "ba" ] . apply ( null , arguments ) } ; var dynCall _viiii = Module [ "dynCall_viiii" ] = function ( ) { return Module [ "asm" ] [ "ca" ] . apply ( null , arguments ) } ; Module [ "asm" ] = asm ; function ExitStatus ( status ) { this . name = "ExitStatus" ; this . message = "Program terminated with exit(" + status + ")" ; this . status = status } ExitStatus . prototype = new Error ; ExitStatus . prototype . constructor =
function ( ) { return Module [ "asm" ] [ "$" ] . apply ( null , arguments ) } ; var dynCall _vi = Module [ "dynCall_vi" ] = function ( ) { return Module [ "asm" ] [ "aa" ] . apply ( null , arguments ) } ; var dynCall _vii = Module [ "dynCall_vii" ] = function ( ) { return Module [ "asm" ] [ "ba" ] . apply ( null , arguments ) } ; var dynCall _viiii = Module [ "dynCall_viiii" ] = function ( ) { return Module [ "asm" ] [ "ca" ] . apply ( null , arguments ) } ; Module [ "asm" ] = asm ; function ExitStatus ( status ) { this . name = "ExitStatus" ; this . message = "Program terminated with exit(" + status + ")" ; this . status = status }
ExitStatus ; dependenciesFulfilled = function runCaller ( ) { if ( ! Module [ "calledRun" ] ) run ( ) ; if ( ! Module [ "calledRun" ] ) dependenciesFulfilled = runCaller } ; function run ( args ) { args = args || Module [ "arguments" ] ; if ( runDependencies > 0 ) return ; preRun ( ) ; if ( runDependencies > 0 ) return ; if ( Module [ "calledRun" ] ) return ; function doRun ( ) { if ( Module [ "calledRun" ] ) return ; Module [ "calledRun" ] = true ; if ( ABORT ) return ; ensureInitRuntime ( ) ; preMain ( ) ; if ( Module [ "onRuntimeInitialized" ] ) Module [ "onRuntimeInitialized" ] ( ) ; postRun ( ) } if ( Module [ "setStatus" ] ) { Module [ "setStatus" ] ( "Running..." ) ;
ExitStatus . prototype = new Error ; ExitStatus . prototype . constructor = ExitStatus ; dependenciesFulfilled = function runCaller ( ) { if ( ! Module [ "calledRun" ] ) run ( ) ; if ( ! Module [ "calledRun" ] ) dependenciesFulfilled = runCaller } ; function run ( args ) { args = args || Module [ "arguments" ] ; if ( runDependencies > 0 ) return ; preRun ( ) ; if ( runDependencies > 0 ) return ; if ( Module [ "calledRun" ] ) return ; function doRun ( ) { if ( Module [ "calledRun" ] ) return ; Module [ "calledRun" ] = true ; if ( ABORT ) return ; ensureInitRuntime ( ) ; preMain ( ) ; if ( Module [ "onRuntimeInitialized" ] ) Module [ "onRuntimeInitialized" ] ( ) ;
setTimeout ( function ( ) { setTimeout ( function ( ) { Module [ "setStatus" ] ( "" ) } , 1 ) ; doRun ( ) } , 1 ) } else doRun ( ) } Module [ "run" ] = run ; function abort ( what ) { if ( Module [ "onAbort" ] ) Module [ "onAbort" ] ( what ) ; if ( what !== undefined ) { out ( what ) ; err ( what ) ; what = JSON . stringify ( what ) } else what = "" ; ABORT = true ; EXITSTATUS = 1 ; throw "abort(" + what + "). Build with -s ASSERTIONS=1 for more info." ; } Module [ "abort" ] = abort ; if ( Module [ "preInit" ] ) { if ( typeof Module [ "preInit" ] == "function" ) Module [ "preInit" ] = [ Module [ "preInit" ] ] ; while ( Module [ "preInit" ] . length >
postRun ( ) } if ( Module [ "setStatus" ] ) { Module [ "setStatus" ] ( "Running..." ) ; setTimeout ( function ( ) { setTimeout ( function ( ) { Module [ "setStatus" ] ( "" ) } , 1 ) ; doRun ( ) } , 1 ) } else doRun ( ) } Module [ "run" ] = run ; function abort ( what ) { if ( Module [ "onAbort" ] ) Module [ "onAbort" ] ( what ) ; if ( what !== undefined ) { out ( what ) ; err ( what ) ; what = JSON . stringify ( what ) } else what = "" ; ABORT = true ; EXITSTATUS = 1 ; throw "abort(" + what + "). Build with -s ASSERTIONS=1 for more info." ; } Module [ "abort" ] = abort ; if ( Module [ "preInit" ] ) { if ( typeof Module [ "preInit" ] == "function" ) Module [ "preInit" ] =
0 ) Module [ "preInit" ] . pop ( ) ( ) } Module [ "noExitRuntime" ] = true ; run ( ) ; window [ "AscFonts" ] = window [ "AscFonts" ] || { } ; var AscFonts = window [ "AscFonts" ] ; AscFonts . CreateLibrary = function ( ) { return Module [ "_ASC_FT_Init" ] ( ) } ; AscFonts . TT _INTERPRETER _VERSION _35 = 35 ; AscFonts . TT _INTERPRETER _VERSION _38 = 38 ; AscFonts . TT _INTERPRETER _VERSION _40 = 40 ; AscFonts . FT _Set _TrueType _HintProp = function ( library , tt _interpreter ) { return Module [ "_ASC_FT_Set_TrueType_HintProp" ] ( library , tt _interpreter ) } ; AscFonts . CreateNativeStream = function ( _typed _array ) { var _fontStreamPointer =
[ Module [ "preInit" ] ] ; while ( Module [ "preInit" ] . length > 0 ) Module [ "preInit" ] . pop ( ) ( ) } Module [ "noExitRuntime" ] = true ; run ( ) ; window [ "AscFonts" ] = window [ "AscFonts" ] || { } ; var AscFonts = window [ "AscFonts" ] ; AscFonts . CreateLibrary = function ( ) { return Module [ "_ASC_FT_Init" ] ( ) } ; AscFonts . TT _INTERPRETER _VERSION _35 = 35 ; AscFonts . TT _INTERPRETER _VERSION _38 = 38 ; AscFonts . TT _INTERPRETER _VERSION _40 = 40 ; AscFonts . FT _Set _TrueType _HintProp = function ( library , tt _interpreter ) { return Module [ "_ASC_FT_Set_TrueType_HintProp" ] ( library , tt _interpreter ) } ;
Module [ "_ASC_FT_Malloc" ] ( _typed _array . size ) ; Module [ "HEAP8" ] . set ( _typed _array . data , _fontStreamPointer ) ; return { asc _marker : true , data : _fontStreamPointer , len : _typed _array . size } } ; AscFonts . CreateNativeStreamByIndex = function ( stream _index ) { var _stream _pos = AscFonts . g _fonts _streams [ stream _index ] ; if ( _stream _pos && true !== _stream _pos . asc _marker ) { var _native _stream = AscFonts . CreateNativeStream ( AscFonts . g _fonts _streams [ stream _index ] ) ; AscFonts . g _fonts _streams [ stream _index ] = null ; AscFonts . g _fonts _streams [ stream _index ] =
AscFonts . CreateNativeStream = function ( _typed _array ) { var _fontStreamPointer = Module [ "_ASC_FT_Malloc" ] ( _typed _array . size ) ; Module [ "HEAP8" ] . set ( _typed _array . data , _fontStreamPointer ) ; return { asc _marker : true , data : _fontStreamPointer , len : _typed _array . size } } ; AscFonts . CreateNativeStreamByIndex = function ( stream _index ) { var _stream _pos = AscFonts . g _fonts _streams [ stream _index ] ; if ( _stream _pos && true !== _stream _pos . asc _marker ) { var _native _stream = AscFonts . CreateNativeStream ( AscFonts . g _fonts _streams [ stream _index ] ) ; AscFonts . g _fonts _streams [ stream _index ] =
_native _stream } } ; function CFaceInfo ( ) { this . units _per _EM = 0 ; this . ascender = 0 ; this . descender = 0 ; this . height = 0 ; this . face _flags = 0 ; this . num _faces = 0 ; this . num _glyphs = 0 ; this . num _charmaps = 0 ; this . style _flags = 0 ; this . face _index = 0 ; this . family _name = "" ; this . style _name = "" ; this . os2 _version = 0 ; this . os2 _usWeightClass = 0 ; this . os2 _fsSelection = 0 ; this . os2 _usWinAscent = 0 ; this . os2 _usWinDescent = 0 ; this . os2 _usDefaultChar = 0 ; this . os2 _sTypoAscender = 0 ; this . os2 _sTypoDescender = 0 ; this . os2 _sTypoLineGap = 0 ; this . os2 _ulUnicodeRange1 = 0 ; this . os2 _ulUnicodeRange2 =
null ; AscFonts . g _fonts _streams [ stream _index ] = _native _stream } } ; function CFaceInfo ( ) { this . units _per _EM = 0 ; this . ascender = 0 ; this . descender = 0 ; this . height = 0 ; this . face _flags = 0 ; this . num _faces = 0 ; this . num _glyphs = 0 ; this . num _charmaps = 0 ; this . style _flags = 0 ; this . face _index = 0 ; this . family _name = "" ; this . style _name = "" ; this . os2 _version = 0 ; this . os2 _usWeightClass = 0 ; this . os2 _fsSelection = 0 ; this . os2 _usWinAscent = 0 ; this . os2 _usWinDescent = 0 ; this . os2 _usDefaultChar = 0 ; this . os2 _sTypoAscender = 0 ; this . os2 _sTypoDescender = 0 ; this . os2 _sTypoLineGap =
0 ; this . os2 _ulUnicodeRange3 = 0 ; this . os2 _ulUnicodeRange4 = 0 ; this . os2 _ulCodePageRange1 = 0 ; this . os2 _ulCodePageRange2 = 0 ; this . os2 _nSymbolic = 0 ; this . header _yMin = 0 ; this . header _yMax = 0 ; this . monochromeSizes = [ ] } CFaceInfo . prototype . load = function ( face ) { var _bufferPtr = Module [ "_ASC_FT_GetFaceInfo" ] ( face ) ; if ( ! _bufferPtr ) return ; var _len _buffer = Math . min ( Module [ "HEAP8" ] . length - _bufferPtr >> 2 , 250 ) ; var _buffer = new Int32Array ( Module [ "HEAP8" ] . buffer , _bufferPtr , _len _buffer ) ; var _index = 0 ; this . units _per _EM = Math . abs ( _buffer [ _index ++ ] ) ;
0 ; this . os2 _ulUnicodeRange1 = 0 ; this . os2 _ulUnicodeRange2 = 0 ; this . os2 _ulUnicodeRange3 = 0 ; this . os2 _ulUnicodeRange4 = 0 ; this . os2 _ulCodePageRange1 = 0 ; this . os2 _ulCodePageRange2 = 0 ; this . os2 _nSymbolic = 0 ; this . header _yMin = 0 ; this . header _yMax = 0 ; this . monochromeSizes = [ ] } CFaceInfo . prototype . load = function ( face ) { var _bufferPtr = Module [ "_ASC_FT_GetFaceInfo" ] ( face ) ; if ( ! _bufferPtr ) return ; var _len _buffer = Math . min ( Module [ "HEAP8" ] . length - _bufferPtr >> 2 , 250 ) ; var _buffer = new Int32Array ( Module [ "HEAP8" ] . buffer , _bufferPtr , _len _buffer ) ;
this . ascender = _buffer [ _index ++ ] ; this . descender = _buffer [ _index ++ ] ; this . height = _buffer [ _index ++ ] ; this . face _flags = _buffer [ _index ++ ] ; this . num _faces = _buffer [ _index ++ ] ; this . num _glyphs = _buffer [ _index ++ ] ; this . num _charmaps = _buffer [ _index ++ ] ; this . style _flags = _buffer [ _index ++ ] ; this . face _index = _buffer [ _index ++ ] ; var c = _buffer [ _index ++ ] ; while ( c ) { this . family _name += String . fromCharCode ( c ) ; c = _buffer [ _index ++ ] } c = _buffer [ _index ++ ] ; while ( c ) { this . style _name += String . fromCharCode ( c ) ; c = _buffer [ _index ++ ] } this . os2 _version =
var _index = 0 ; this . units _per _EM = Math . abs ( _buffer [ _index ++ ] ) ; this . ascender = _buffer [ _index ++ ] ; this . descender = _buffer [ _index ++ ] ; this . height = _buffer [ _index ++ ] ; this . face _flags = _buffer [ _index ++ ] ; this . num _faces = _buffer [ _index ++ ] ; this . num _glyphs = _buffer [ _index ++ ] ; this . num _charmaps = _buffer [ _index ++ ] ; this . style _flags = _buffer [ _index ++ ] ; this . face _index = _buffer [ _index ++ ] ; var c = _buffer [ _index ++ ] ; while ( c ) { this . family _name += String . fromCharCode ( c ) ; c = _buffer [ _index ++ ] } c = _buffer [ _index ++ ] ; while ( c ) { this . style _name += String . fromCharCode ( c ) ;
_buffer [ _index ++ ] ; this . os2 _usWeightClass = _buffer [ _index ++ ] ; this . os2 _fsSelection = _buffer [ _index ++ ] ; this . os2 _usWinAscent = _buffer [ _index ++ ] ; this . os2 _usWinDescent = _buffer [ _index ++ ] ; this . os2 _usDefaultChar = _buffer [ _index ++ ] ; this . os2 _sTypoAscender = _buffer [ _index ++ ] ; this . os2 _sTypoDescender = _buffer [ _index ++ ] ; this . os2 _sTypoLineGap = _buffer [ _index ++ ] ; this . os2 _ulUnicodeRange1 = AscFonts . FT _Common . IntToUInt ( _buffer [ _index ++ ] ) ; this . os2 _ulUnicodeRange2 = AscFonts . FT _Common . IntToUInt ( _buffer [ _index ++ ] ) ; this . os2 _ulUnicodeRange3 =
c = _buffer [ _index ++ ] } this . os2 _version = _buffer [ _index ++ ] ; this . os2 _usWeightClass = _buffer [ _index ++ ] ; this . os2 _fsSelection = _buffer [ _index ++ ] ; this . os2 _usWinAscent = _buffer [ _index ++ ] ; this . os2 _usWinDescent = _buffer [ _index ++ ] ; this . os2 _usDefaultChar = _buffer [ _index ++ ] ; this . os2 _sTypoAscender = _buffer [ _index ++ ] ; this . os2 _sTypoDescender = _buffer [ _index ++ ] ; this . os2 _sTypoLineGap = _buffer [ _index ++ ] ; this . os2 _ulUnicodeRange1 = AscFonts . FT _Common . IntToUInt ( _buffer [ _index ++ ] ) ; this . os2 _ulUnicodeRange2 = AscFonts . FT _Common . IntToUInt ( _buffer [ _index ++ ] ) ;
AscFonts . FT _Common . IntToUInt ( _buffer [ _index ++ ] ) ; this . os2 _ulUnicodeRange4 = AscFonts . FT _Common . IntToUInt ( _buffer [ _index ++ ] ) ; this . os2 _ulCodePageRange1 = AscFonts . FT _Common . IntToUInt ( _buffer [ _index ++ ] ) ; this . os2 _ulCodePageRange2 = AscFonts . FT _Common . IntToUInt ( _buffer [ _index ++ ] ) ; this . os2 _nSymbolic = _buffer [ _index ++ ] ; this . header _yMin = _buffer [ _index ++ ] ; this . header _yMax = _buffer [ _index ++ ] ; var fixedSizesCount = _buffer [ _index ++ ] ; for ( var i = 0 ; i < fixedSizesCount ; i ++ ) this . monochromeSizes . push ( _buffer [ _index ++ ] ) ; Module [ "_ASC_FT_Free" ] ( _bufferPtr ) } ;
this . os2 _ulUnicodeRange3 = AscFonts . FT _Common . IntToUInt ( _buffer [ _index ++ ] ) ; this . os2 _ulUnicodeRange4 = AscFonts . FT _Common . IntToUInt ( _buffer [ _index ++ ] ) ; this . os2 _ulCodePageRange1 = AscFonts . FT _Common . IntToUInt ( _buffer [ _index ++ ] ) ; this . os2 _ulCodePageRange2 = AscFonts . FT _Common . IntToUInt ( _buffer [ _index ++ ] ) ; this . os2 _nSymbolic = _buffer [ _index ++ ] ; this . header _yMin = _buffer [ _index ++ ] ; this . header _yMax = _buffer [ _index ++ ] ; var fixedSizesCount = _buffer [ _index ++ ] ; for ( var i = 0 ; i < fixedSizesCount ; i ++ ) this . monochromeSizes . push ( _buffer [ _index ++ ] ) ;
function CGlyphMetrics ( ) { this . bbox _xMin = 0 ; this . bbox _yMin = 0 ; this . bbox _xMax = 0 ; this . bbox _yMax = 0 ; this . width = 0 ; this . height = 0 ; this . horiAdvance = 0 ; this . horiBearingX = 0 ; this . horiBearingY = 0 ; this . vertAdvance = 0 ; this . vertBearingX = 0 ; this . vertBearingY = 0 ; this . linearHoriAdvance = 0 ; this . linearVertAdvance = 0 } function CGlyphBitmapImage ( ) { this . left = 0 ; this . top = 0 ; this . width = 0 ; this . rows = 0 ; this . pitch = 0 ; this . mode = 0 } AscFonts . CFaceInfo = CFaceInfo ; AscFonts . CGlyphMetrics = CGlyphMetrics ; AscFonts . CGlyphBitmapImage = CGlyphBitmapImage ;
Module [ "_ASC_FT_Free" ] ( _bufferPtr ) } ; function CGlyphMetrics ( ) { this . bbox _xMin = 0 ; this . bbox _yMin = 0 ; this . bbox _xMax = 0 ; this . bbox _yMax = 0 ; this . width = 0 ; this . height = 0 ; this . horiAdvance = 0 ; this . horiBearingX = 0 ; this . horiBearingY = 0 ; this . vertAdvance = 0 ; this . vertBearingX = 0 ; this . vertBearingY = 0 ; this . linearHoriAdvance = 0 ; this . linearVertAdvance = 0 } function CGlyphBitmapImage ( ) { this . left = 0 ; this . top = 0 ; this . width = 0 ; this . rows = 0 ; this . pitch = 0 ; this . mode = 0 } AscFonts . CFaceInfo = CFaceInfo ; AscFonts . CGlyphMetrics = CGlyphMetrics ; AscFonts . CGlyphBitmapImage =
AscFonts . FT _Open _Face = function ( library , stream , face _index ) { return Module [ "_ASC_FT_Open_Face" ] ( library , stream . data , stream . len , face _index ) } ; AscFonts . FT _Glyph _Get _Measure = function ( face , vector _worker , painter ) { var _bufferPtr = Module [ "_ASC_FT_Get_Glyph_Measure_Params" ] ( face , vector _worker ? 1 : 0 ) ; if ( ! _bufferPtr ) return null ; var _len = 15 ; if ( vector _worker ) _len = Module [ "HEAP32" ] [ _bufferPtr >> 2 ] ; var _buffer = new Int32Array ( Module [ "HEAP8" ] . buffer , _bufferPtr , 4 * _len ) ; var _info = new CGlyphMetrics ; _info . bbox _xMin = _buffer [ 1 ] ;
CGlyphBitmapImage ; AscFonts . FT _Open _Face = function ( library , stream , face _index ) { return Module [ "_ASC_FT_Open_Face" ] ( library , stream . data , stream . len , face _index ) } ; AscFonts . FT _Glyph _Get _Measure = function ( face , vector _worker , painter ) { var _bufferPtr = Module [ "_ASC_FT_Get_Glyph_Measure_Params" ] ( face , vector _worker ? 1 : 0 ) ; if ( ! _bufferPtr ) return null ; var _len = 15 ; if ( vector _worker ) _len = Module [ "HEAP32" ] [ _bufferPtr >> 2 ] ; var _buffer = new Int32Array ( Module [ "HEAP8" ] . buffer , _bufferPtr , 4 * _len ) ; var _info = new CGlyphMetrics ; _info . bbox _xMin =
_info . bbox _yMin = _buffer [ 2 ] ; _info . bbox _xMax = _buffer [ 3 ] ; _info . bbox _yMax = _buffer [ 4 ] ; _info . width = _buffer [ 5 ] ; _info . height = _buffer [ 6 ] ; _info . horiAdvance = _buffer [ 7 ] ; _info . horiBearingX = _buffer [ 8 ] ; _info . horiBearingY = _buffer [ 9 ] ; _info . vertAdvance = _buffer [ 10 ] ; _info . vertBearingX = _buffer [ 11 ] ; _info . vertBearingY = _buffer [ 12 ] ; _info . linearHoriAdvance = _buffer [ 13 ] ; _info . linearVertAdvance = _buffer [ 14 ] ; if ( vector _worker ) { painter . start ( vector _worker ) ; var _pos = 15 ; while ( _pos < _len ) switch ( _buffer [ _pos ++ ] ) { case 0 : { painter . _move _to ( _buffer [ _pos ++ ] ,
_buffer [ 1 ] ; _info . bbox _yMin = _buffer [ 2 ] ; _info . bbox _xMax = _buffer [ 3 ] ; _info . bbox _yMax = _buffer [ 4 ] ; _info . width = _buffer [ 5 ] ; _info . height = _buffer [ 6 ] ; _info . horiAdvance = _buffer [ 7 ] ; _info . horiBearingX = _buffer [ 8 ] ; _info . horiBearingY = _buffer [ 9 ] ; _info . vertAdvance = _buffer [ 10 ] ; _info . vertBearingX = _buffer [ 11 ] ; _info . vertBearingY = _buffer [ 12 ] ; _info . linearHoriAdvance = _buffer [ 13 ] ; _info . linearVertAdvance = _buffer [ 14 ] ; if ( vector _worker ) { painter . start ( vector _worker ) ; var _pos = 15 ; while ( _pos < _len ) switch ( _buffer [ _pos ++ ] ) { case 0 : { painter . _move _to ( _buffer [ _pos ++ ] ,
_buffer [ _pos ++ ] , vector _worker ) ; break } case 1 : { painter . _line _to ( _buffer [ _pos ++ ] , _buffer [ _pos ++ ] , vector _worker ) ; break } case 2 : { painter . _conic _to ( _buffer [ _pos ++ ] , _buffer [ _pos ++ ] , _buffer [ _pos ++ ] , _buffer [ _pos ++ ] , vector _worker ) ; break } case 3 : { painter . _cubic _to ( _buffer [ _pos ++ ] , _buffer [ _pos ++ ] , _buffer [ _pos ++ ] , _buffer [ _pos ++ ] , _buffer [ _pos ++ ] , _buffer [ _pos ++ ] , vector _worker ) ; break } default : break } painter . end ( vector _worker ) } Module [ "_ASC_FT_Free" ] ( _bufferPtr ) ; _buffer = null ; return _info } ; AscFonts . FT _Glyph _Get _Raster =
_buffer [ _pos ++ ] , vector _worker ) ; break } case 1 : { painter . _line _to ( _buffer [ _pos ++ ] , _buffer [ _pos ++ ] , vector _worker ) ; break } case 2 : { painter . _conic _to ( _buffer [ _pos ++ ] , _buffer [ _pos ++ ] , _buffer [ _pos ++ ] , _buffer [ _pos ++ ] , vector _worker ) ; break } case 3 : { painter . _cubic _to ( _buffer [ _pos ++ ] , _buffer [ _pos ++ ] , _buffer [ _pos ++ ] , _buffer [ _pos ++ ] , _buffer [ _pos ++ ] , _buffer [ _pos ++ ] , vector _worker ) ; break } default : break } painter . end ( vector _worker ) } Module [ "_ASC_FT_Free" ] ( _bufferPtr ) ; _buffer = null ; return _info } ; AscFonts . FT _Glyph _Get _Raster =
function ( face , render _mode ) { var _bufferPtr = Module [ "_ASC_FT_Get_Glyph_Render_Params" ] ( face , render _mode ) ; if ( ! _bufferPtr ) return null ; var _buffer = new Int32Array ( Module [ "HEAP8" ] . buffer , _bufferPtr , 24 ) ; var _info = new CGlyphBitmapImage ; _info . left = _buffer [ 0 ] ; _info . top = _buffer [ 1 ] ; _info . width = _buffer [ 2 ] ; _info . rows = _buffer [ 3 ] ; _info . pitch = _buffer [ 4 ] ; _info . mode = _buffer [ 5 ] ; Module [ "_ASC_FT_Free" ] ( _bufferPtr ) ; return _info } ; AscFonts . FT _Load _Glyph = Module [ "_FT_Load_Glyph" ] ; AscFonts . FT _Set _Transform = Module [ "_ASC_FT_Set_Transform" ] ;
function ( face , render _mode ) { var _bufferPtr = Module [ "_ASC_FT_Get_Glyph_Render_Params" ] ( face , render _mode ) ; if ( ! _bufferPtr ) return null ; var _buffer = new Int32Array ( Module [ "HEAP8" ] . buffer , _bufferPtr , 24 ) ; var _info = new CGlyphBitmapImage ; _info . left = _buffer [ 0 ] ; _info . top = _buffer [ 1 ] ; _info . width = _buffer [ 2 ] ; _info . rows = _buffer [ 3 ] ; _info . pitch = _buffer [ 4 ] ; _info . mode = _buffer [ 5 ] ; Module [ "_ASC_FT_Free" ] ( _bufferPtr ) ; return _info } ; AscFonts . FT _Load _Glyph = Module [ "_FT_Load_Glyph" ] ; AscFonts . FT _Set _Transform = Module [ "_ASC_FT_Set_Transform" ] ;
AscFonts . FT _Set _Char _Size = Module [ "_FT_Set_Char_Size" ] ; AscFonts . FT _SetCMapForCharCode = Module [ "_ASC_FT_SetCMapForCharCode" ] ; AscFonts . FT _GetKerningX = Module [ "_ASC_FT_GetKerningX" ] ; AscFonts . FT _GetFaceMaxAdvanceX = Module [ "_ASC_FT_GetFaceMaxAdvanceX" ] ; AscFonts . FT _Get _Glyph _Render _Buffer = function ( face , rasterInfo , isCopyToRasterMemory ) { var _bufferPtr = Module [ "_ASC_FT_Get_Glyph_Render_Buffer" ] ( face ) ; var tmp = new Uint8Array ( Module [ "HEAP8" ] . buffer , _bufferPtr , rasterInfo . pitch * rasterInfo . rows ) ; if ( ! isCopyToRasterMemory ) return tmp ;
AscFonts . FT _Set _Char _Size = Module [ "_FT_Set_Char_Size" ] ; AscFonts . FT _SetCMapForCharCode = Module [ "_ASC_FT_SetCMapForCharCode" ] ; AscFonts . FT _GetKerningX = Module [ "_ASC_FT_GetKerningX" ] ; AscFonts . FT _GetFaceMaxAdvanceX = Module [ "_ASC_FT_GetFaceMaxAdvanceX" ] ; AscFonts . FT _Get _Glyph _Render _Buffer = function ( face , rasterInfo , isCopyToRasterMemory ) { var _bufferPtr = Module [ "_ASC_FT_Get_Glyph_Render_Buffer" ] ( face ) ; var tmp = new Uint8Array ( Module [ "HEAP8" ] . buffer , _bufferPtr , rasterInfo . pitch * rasterInfo . rows ) ; if ( ! isCopyToRasterMemory ) return tmp ;